在 Supervisor 下运行 td-agent (fluentd) init.d 脚本出现(spawn 错误)

在 Supervisor 下运行 td-agent (fluentd) init.d 脚本出现(spawn 错误)

我已经安装了 td-agent,他们提供了一个可以运行它的 init.d 脚本,我已经配置了 td-agent 并通过 init.d 脚本运行它,它运行顺利,但我想将 td-agent 移到 Supervisor 下运行,我已经重新阅读并更新了 Supervisor,我的 fluentd 的配置如下所示。

[program:fluentd]
command=/etc/init.d/td-agent start
stopasgroup=true
stopsignal=QUIT

但是当我运行该程序时sudo supervisortctl start fluentd 出现这个错误。

$ sudo supervisorctl restart fluentd
fluentd: ERROR (spawn error)

和主管程序日志

/tmp/fluentd-stdout---supervisor-Sdy05R.log <==
Starting td-agent:  * td-agent
Starting td-agent:  * td-agent
Starting td-agent:  * td-agent
$ sudo supervisorctl status fluentd
fluentd                          FATAL     Exited too quickly (process log may have details)

但当我搜索是否有任何使用 td-agent 运行的进程时,我发现了这个

$ sudo ps aux | grep td-agent
td-agent 16594  0.0  0.0 127080 20860 ?        Sl   09:49   0:00 /opt/td-agent/embedded/bin/ruby /usr/sbin/td-agent --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid
td-agent 16599  1.0  0.0 139560 29508 ?        Sl   09:49   0:01 /opt/td-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /usr/sbin/td-agent --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid --under-supervisor

所以,我的理解是,Supervisor 运行该程序fluentd,但是 init.d 脚本产生了他自己的进程,并且它没有用新进程通知 Supervisor,所以在 Supervisor 眼中,这个 init.d 脚本已经终止了?

有什么解决办法吗?

相关内容