将Apache的日志发送到syslog服务器花开的地方 » 车东's shared items in Google Reader

一直想要统一收集管理Apache的日志,一来可以较实时的分析系统的负载情况、分析系统问题,另一个,也可以把收集日志的工作分散到平时,分散带宽使用,并且解决日志合并问题。

想到的解决方法主要有两个:

第一,使用haproxy。

haproxy本身刚好就支持将日志以udp的方式发送给syslog服务器。看上去完美、感觉上官方。

第二,使用/bin/logger。

这个,是我晚上发梦的时候想到的。试图将CustomLog 管道给/bin/logger,再由本地的syslog forward到远程统一的syslog服务器上。实验了一下,居然成功了。就是绕了那么一道弯子,感觉不太完美。

PS:

发布之后,自己搜了一下,发现了下文:http://www.lslnet.com/linux/dosc1/32/linux-247167.htm

解决方法倒也差不多,不过多了些详细的描述,很实用。

并且要注意:至少默认的syslog配置会将短时候内重复的日志记录给于提示,并不记录:

May  3 14:31:51 localhost last message repeated 99 times

另外,将nginx的日志发送到syslog:

mkfifo  /srv/logs/access_log.fifo

将 nginx 的日志写到这个 管道文件上

然后:logger -f /srv/logs/access_log.fifo 即可。


^==Back Home: www.chedong.com

^==Back Digest Home: www.chedong.com/digest/

<== 2009-05-01
  五月 2009  
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
==> 2009-05-03