我已经安装了 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 脚本已经终止了?
有什么解决办法吗?