【问题标题】:How do you set up Filebeat on docker?你如何在 docker 上设置 Filebeat?
【发布时间】:2020-03-25 03:07:00
【问题描述】:

我正在尝试在 Docker 上设置 Filebeat。堆栈的其余部分(Elastic、Logstash、Kibana)已经设置好。

我想使用 Filebeat 将 syslog 文件从 /var/log/ 转发到 Logstash。我在/etc/filebeat/下的主机系统上创建了一个新的filebeat.yml文件(我创建了这个filebeat目录,不确定是否正确?):

output:
  logstash:
    enabled: true
    hosts: ["localhost:5044"]

filebeat:
  inputs:
    -
      paths:
        - /var/log/syslog
        - /var/log/auth.log
      document_type: syslog 

然后我运行 Filebeat 容器:sudo docker run -v /etc/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml docker.elastic.co/beats/filebeat:7.4.2 它能够运行,但实际上没有文件被转发到logstash。我认为问题出在 filebeat.yml 配置...

有什么想法吗?

【问题讨论】:

  • 即使配置文件位于主机系统上,容器内的进程也会将这些配置路径解释为在容器空间中:您正在从 容器的 转发日志/var/log,不是主人的。

标签: docker logstash elastic-stack filebeat elk


【解决方案1】:

正如 David Maze 所暗示的,filebeat 不转发任何日志的原因是它只能访问容器内的日志。您可以使用另一个绑定挂载共享这些日志。使用 docker + filebeat 时,我的首选选项是让 filebeat 在 TCP/IP 端口上侦听,并让日志源将日志转发到该端口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 2021-03-09
    • 2017-06-23
    • 2019-12-29
    相关资源
    最近更新 更多