我个人用docker搭建了一套日志分析平台:ELK+Filebeat
在正常跑了半个多月之后,Kibana刷新日志时突然发现日志不在更新了,停在某个时刻,就再也没有新log.
首先我查看了elk,log都是正常的,没有什么问题。然后我到filebeat上,看到了如下的log:
也就是说filebeat无法连接往logstash端口发送数据了。
以下整理了我排查的过程,自己作为一个总结,同时也希望能给初学者一些参考。
一、telnet查看网络通不通
# telnet ip 5044
是相通的.
二、检查filebeat 和logstash 的配置文件
1) filebeat 文件 path 路径, output的配置是否正确
2)logstash input & output 是否正确
检查下来,也是没有问题的。
三、考虑这个应该还是网络上的问题,可是telnet都是相通的,这到底是什么问题?
我把filebeat的容器重启了一下,filebeat在重启后,会在stdout打印它的log,其中我发现第一行有一个warning:
"WARNING IPv4 forwarding is disabled. Networking will not work "
然后我在网上搜索了这个warning,有一个解决方案,我尝试了一下:
>>>>
# vi /etc/sysctl.conf
或者
# vi /usr/lib/sysctl.d/00-system.conf
添加如下代码:
net.ipv4.ip_forward=1
重启network服务
# /etc/init.d/network restart
查看是否修改成功
# sysctl net.ipv4.ip_forward
如果返回为“net.ipv4.ip_forward = 1”则表示成功了
改完之后,我重启了filebeat的容器,结果竟ok了。
四、为什么好好的,ipv4被disable了?
至于原因,未搞清楚,不知道是不是公司运维做了什么操作限制。
有大神知道的可能原因,欢迎留言指教。