Logstash docker 容器填满了 overley2 文件夹中的根磁盘 space

Logstash docker container filling up the root disk space in overley2 folder

我只是发布这个问题并回答,因为我在任何地方都找不到任何帮助。我不得不自己解决问题并找到解决方案,这就是为什么我想在这里分享我的发现,这可能会帮助其他陷入类似问题的人。

问题: 运行 我的 ELK (Elasticserch, Logstash, Kibana) stack 使用 docker 容器时我遇到了奇怪的问题。这个 ELK 堆栈与一个或两个日志发送代理一起工作良好。但是当我在 ELK 堆栈上加载负载并指向将近 1700 万条日志发送到服务器的近 10-12 个日志代理时,我发现根磁盘已 100% 消耗,尽管我已经映射了 logstash 的卷docker-编写文件如下。

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作为日志发送代理。

在我的调查中,我发现 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%。