起因:翌日线上es频繁报警,说某一时间段请求数量与前几日相比有上升,遂去服务器上查看请求,发现并没有什么特别大的量,然后对比入口网关的请求日志,一个reques id 出现了3次,如此有趣的事情必探查一番。
发现一台机器上的filebeat启动了3个进程。。。导致一条日志上传了3次。filebeat是通过supervisor来进行管理,理论上不会有问题。
错误配置:
filebeat.ini [program:filebeatstart] command=sh /etc/supervisord.d/startfilebeat.sh process_name=filebeatstart redirect_stderr=true stdout_logfile=/tmp/filebeatstart.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=3 autorestart=true startsecs=3 startretries=3 startfilebeat.sh #!/bin/bash /opt/soft/filebeat-7.5.1-linux-x86_64/filebeat -c /opt/soft/filebeat-7.5.1-linux-x86_64/filebeat.yml
上述配置在supervisorctl 更新配置后,并且重启后,是不会杀掉之前的进程的,所以导致进程不断增加。
正确配置:
filebeat.ini [program:filebeatstart] command=/opt/soft/filebeat-7.5.1-linux-x86_64/filebeat -c /opt/soft/filebeat-7.5.1-linux-x86_64/filebeat.yml #command=sh /etc/supervisord.d/startfilebeat.sh process_name=filebeatstart redirect_stderr=true stdout_logfile=/tmp/filebeatstart.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=3 autorestart=true startsecs=3 startretries=3
纠错操作:
#先停supervisor,要不然干掉还会启动 ansible web_server -m shell -a "supervisorctl stop filebeatstart" #干掉所有多余的filebeat进程 ansible web_server -m shell -a "ps -ef|grep filebeat|grep -v grep|awk '{print \$2}'|xargs -i kill -9 {}" #更新配置 ansible web_server -m shell -a "supervisorctl update" #启动 ansible web_server -m shell -a "supervisorctl start filebeatstart"
属实没想到。
标签:filebeat,错误,stdout,配置,sh,filebeatstart,7.5,logfile From: https://www.cnblogs.com/bill2014/p/17148847.html