在公司搭建的分布式实时统一日志平台,是通过FELK的方式组建的,大致流程是

Filebeat是和应用部署在一个Pod中的(K8s部署)。目前的量为70-80个应用,数据一天50G.

 

事故回放:

有同学通知在Kibana中查日志,发现当天的某个时间段后都没有日志了,查之前的日志都是ok的。

 

找问题经过:

1)Kibana查询其他项目的日志,发现都是在这个时间段后没有日志;

2)进容器排查,发现应用日志在这个时间段后都有日志输出,基本可以判定问题在Logstash及后续流程中,应该是没有把日志放入到ES。

3)查看ES情况,发现ES集群状态正常,3个节点状态都 ok

4)  当时怀疑是否是网络问题,进入容器,telnet logstash 端口都是通的,查看Filebeat的日志,日志也没报错。

5)  怀疑是logstash问题,应为出问题前一天,一下子在logstash中接入了20个应用,会不会是数据太大把logstash冲垮了。

于是在这台机器上发布了另外一个logstash实例,并且做了测试,发现新的logstash实例是可以接受数据,并且传入到ES.

--------------------------------------------------------------------------------------------------------------------

至此,基本可以判定问题在Logstash上了,各种查资料,性能参数优化,都没有效果。

偶尔通过ps -ef|grep logstash查看进程发现,logstash启动参数内存只有1G,默认就是1G。

于是在config\jvm.option中修改logstash启动参数,把内存改为4G。

重新启动,发现问题解决。

 

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐