使用 Supervisor 启动 Filebeat

Start Filebeat using Supervisor

所以我有一个 CentOS Docker 映像,其中包含 Filebeat 和我尝试使用 Supervisor 管理的其他一些服务。作为 Supervisor 配置的一部分,我想启动 Filebeat 服务。这是我在 supervisord.conf

中尝试的内容
[program:filebeat]
command=/etc/init.d/filebeat start
directory=/etc/init.d/
autostart=true
autorestart=true

上面的代码片段给我一个错误,指出 "Failed to get D-Bus connection: Operation not permitted"。

关于启动 Filebeat 的正确方法有什么想法吗?

我会推荐 运行 Filebeat 本身 container. But if you are going to use supervisord then you don't want to daemonize the process. You will want to use a command that's similar to what Filebeat uses for systemd

command=/usr/share/filebeat/bin/filebeat -e
    -c /etc/filebeat/filebeat.yml 
    -path.home /usr/share/filebeat
    -path.config /etc/filebeat
    -path.data /var/lib/filebeat
    -path.logs /var/log/filebeat

-e 告诉进程将其日志写入标准错误,以便您可以使用 supervisorctl 管理日志记录。