supervisord的安装和使用(四)

这篇讲supervisord的program配置和日志输出。

上一篇里我们配置了一个ping的program,这一篇,我们把program的日志输出加上。打开配置文件:

/usr/local/etc/supervisord.ini

调整里面ping的program配置如下:

[program:pingping]
command=/sbin/ping www.baidu.com
redirect_stderr=true
stdout_logfile=/tmp/pingping.log

注意这回加上了两行配置,分别是redirect_stderrstdout_logfile。其中stdout_logfile指定程序stdout标准输出的内容保存位置。这里我们指定保存在/tmp/pingping.log文件里面。

其次,redirect_stderr这个设置为true,就是让program把stderr也就是错误输出也转向stdout,这样程序的正常输出和错误输出就都保存在/tmp/pingping.log里面了(关于stdoutstderr,参考这篇文章:Understanding Shell Script’s idiom: 2>&1)。

上面的配置完成后,把supervisord重新启动:

$ supervisord -c /usr/local/etc/supervisord.ini

此时查看supervisor的web管理端:

可以看到配置的pingping这个服务已经运行了,此时点击这个program右侧的Tail -f来查看日志输出:

此时可以看到持续输出的日志了:

上面的日志输出,其实就是实际显示我们配置的stdout_logfile 里面的内容,所以直接在终端里面使用tail命令来查看是一样的效果:

可以看到supervisor把ping的输出内容不断更新保存在我们配置的/tmp/pingping.log里面了。

以上就是supervisord对日志的配置方法。它本身针对program还有大量的配置方法,具体可以查看它的官方配置文档:

以上就是supervisord的配置说明。