阿小信大人的头像
Talk is cheap. Show me the code. Linus Torvalds

将supervisor产生的日志通过syslog上传到服务端2014-09-02 06:43

Ubuntu rsyslog的配置

服务端:

修改/etc/rsyslog.conf,将UDP或者TCP发送的注释取消。

修改/etc/default/rsyslog,将RSYSLOGD_OPTIONS的值改为-m 0 -r

客户端:

在/etc/rsyslog.d/下新建自己的*.conf文件,参考其他文件自定义日志规则。

定义产生的日志的规则:

*.* 本地日志保存路径或者远程主机IP(全部信息。@为UDP发送,@@为TCP发送)

:msg,contains,"TESTINFO" 本地日志保存路径或者远程主机IP (包含特定内容的日志。逗号之间不能有空格)

if $programname == 'supervisord' then 本地日志保存路径或者远程主机IP(只要指定supervisord进程产生的日志)

修改配置后重启rsyslog:

$ sudo service rsyslog restart

客户端发送到服务端的日志默认在/var/log/syslog中,保存和发送其实都一样,服务端接收到了在过滤出要要的重新保存在本地就行了

rsyslog的配置文件详解:http://blog.sina.com.cn/s/blog_a83ccc6701014zb6.html

supervisor的设置

将program的stdout日志文件保存路径改为syslog,这样supervisor产生的日志会全部输出到/var/log/syslog文件中

[program:test]
command=python /home/ashin/code/test.py
autorestart=true
stdout_logfile=syslog
redirect_stderr=true

重启supervisor:

$ sudo killall supervisord #sudo supervisorctl shutdown
$ sudo supervisord

将supervisor产生的日志发送到服务端,在本机的rsyslog.d下的conf文件配置内容:

if $programname == 'supervisord' then @192.168.2.106

服务端单独保存:

if $programname == 'supervisord' then /var/log/supervisord.log

如果您觉得从我的分享中得到了帮助,并且希望我的博客持续发展下去,请点击支付宝捐赠,谢谢!

若非特别声明,文章均为阿小信的个人笔记,转载请注明出处。文章如有侵权内容,请联系我,我会及时删除。

#Linux/Mac#  
分享到:
阅读[2482] 评论[0]

你可能也感兴趣的文章推荐

本文最近访客

发表评论