Posted by 曹宇伟 on 五月 3rd, 2009
一直想要统一收集管理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 即可。
Posted by 曹宇伟 on 四月 30th, 2009
syslog-ng,官方网址: http://www.balabit.com/network-security/syslog-ng/。
据说是将要取代syslog的日志服务器,企业级的。
syslog-ng有开源版本:http://www.balabit.com/network-security/syslog-ng/opensource-logging-system/。
syslog-ng开源版本是启动于十年之前的syslog-ng项目的“直系后代”。syslog-ng可运行与“server”和“agent”模式,分别支持UDP、可靠的TCP和加密的TLS协议。syslog可以用来在混合复杂的环境里建立灵活的、可靠的日志服务器。
syslog-ng开源版本的特性还有:
1. 支持SSL/TSL协议
2. 支持将日志写入数据库中
支持的数据库有MySQL, Microsoft SQL (MSSQL), Oracle, PostgreSQL, and SQLite.
3. 支持标准的syslog协议
4. 支持filter、parse以及rewrite
5. 支持更多的平台
6. 更高的负载能力
syslog-ng对性能进行了优化,可以处理巨大的数据量。一般的硬件,在正确的配置下,可以实时地处理75000个消息每秒钟,超过24GB的RAW日志每小时。
参考:
http://www.balabit.com/network-security/syslog-ng/opensource-logging-system/
下一代系统日志工具
http://www.techrss.cn/html/2009/02-08/216680.htm
http://evlog.sourceforge.net/
Recent Comments