因此,我有一个CentOS Docker镜像,其中包含Filebeat和其他一些我要使用Supervisor进行管理的服务。作为Supervisor配置的一部分,我想启动Filebeat服务。这是我在supervisor.conf中尝试的操作

[program:filebeat]
command=/etc/init.d/filebeat start
directory=/etc/init.d/
autostart=true
autorestart=true

上面的代码段给了我一个错误,指出“无法建立D-Bus连接:不允许操作”。

关于启动Filebeat的正确方法有何想法?

最佳答案

我建议在自己的container中运行Filebeat。但是,如果您要使用supervisor,那么您就不想守护进程。您将要使用与Filebeat用于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告诉进程将其日志写入stderr,以便您可以使用supervisorctl管理日志记录。

关于docker - 使用Supervisor启动Filebeat,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42637471/

10-16 04:57