我只是发布此问题并回答,因为在任何地方都找不到任何帮助。我不得不对自己进行故障排除并找到了解决方案,这就是为什么我想在这里分享我的发现,这可能会帮助其他陷入类似问题的人。
问题:
使用docker容器运行ELK (Elasticserch, Logstash, Kibana) stack
时遇到奇怪的问题。该ELK堆栈与一个或两个日志发送代理正常工作。但是,当我将负载放在ELK堆栈上并指向将近1700万个日志发送到服务器的近10-12个日志代理时,尽管我已经在其中映射了logstash
的卷,但我发现根磁盘已被100%占用。 docker-compose文件如下。
volumes:
- /example/app-elk/logstash/config:/etc/logstash/conf.d:ro
- /example/app-elk/logstash/logstash.yml:/etc/logstash/logstash.yml:rw
- /example/app-elk/logstash/pipeline:/usr/share/logstash/pipeline
由于此Logstash处于未响应状态,我在日志发送代理TCP Connection Timeout
中遇到错误
我使用filebeat
作为日志发送代理。
答案 0 :(得分:0)
在调查中,我发现logstash
容器/usr/share/logstash/core
中有一个文件夹,该文件夹的大小最大并导致磁盘填充。
我在logstash
的卷映射中也映射了该卷。配置看起来像下面的代码片段。
volumes:
- /example/app-elk/logstash/config:/etc/logstash/conf.d:ro
- /example/app-elk/logstash/logstash.yml:/etc/logstash/logstash.yml:rw
- /example/app-elk/logstash/pipeline:/usr/share/logstash/pipeline
- /example/app-elk/logstash/core:/usr/share/logstash/core
应用此更改后,我的根磁盘仅使用了17-20%。