【总结】filebeat进程写满磁盘的情况处理

采用filebeat收集日志,日志文件频繁rotate,造成filebeat占用文件不释放,只要filebeat保持着被删除文件Open状态,操作系统就不释放磁盘空间,导致可用磁盘空间逐渐减小。如下监控图,杀掉filebeat进程之后,磁盘占用陡然下降。

【总结】filebeat进程写满磁盘的情况处理

使用lsof命令查看filebeat保持着的文件资源,可以发现许多被filebeat占用空间的失效文件(deleted)文件。

【总结】filebeat进程写满磁盘的情况处理

deleted状态的文件没有释放,始终占据磁盘空间

解决办法:

查看filebeat配置文件位置: /etc/filebeat/filebeat.yml

【总结】filebeat进程写满磁盘的情况处理

在配置文件中添加close_timeout: 5m,保证每隔5分钟file handler被关闭,不管是否遇到EOF符号。

需要注意的是,该close_timeout参数在Filebeat没有处理到文件末尾而文件被删除的情况下,会导致数据丢失。

filebeat.prospectors:
– type: log
   paths:
    – /opt/apps/ecm/service/storm/1.0.1/package/apache-storm-1.0.1/logs/workers-artifacts/xyz*/*/worker.log
   tail_files: false
   force_close_files: true
   close_timeout: 5m
processors:
– add_cloud_metadata: ~
output.logstash:
   hosts: ["10.10.10.10:6667"]
   loadbalance: true
   worker: 1

—————————————————————–

close_rename,close_removed,close_eof,close_inactive等配置型对于(deteled)状态处理均无效(已测试验证)

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/194829.html

(0)
上一篇 2021年11月16日
下一篇 2021年11月16日

相关推荐

发表回复

登录后才能评论