tenshi是一个日志监测方案,设计看线匹配用户定义的正则表达式及匹配的报告日志文件。正则表达式分配给队列警报的时间间隔和邮件收件人列表。一旦有日志产生可以设置队列发送通知尽快分配给他们,或发送定期报告。此外,日志中的线(如PID编号)不太重要的领域,可以利用分组运算符()屏蔽与标准的正则表达式。这使得报告更清洁和更易读。所有报告都分隔主机名,如果可能,所有的消息都冻结。
tenshi这个版本增加了计数低于指定值的阈值功能为丢弃日志。修复破碎的队列退出的问题。延迟daemonization启动错误问题。并确保终端的颜色总是可以复位。改进了清理退出。
示例:
可以考虑设置tenshi.conf:
set hidepid onset queue mail tenshi@localhost sysadmin@localhost [0 */12 * * *]set queue misc tenshi@localhost sysadmin@localhost [0 */24 * * *]set queue critical tenshi@localhost sysadmin@localhost [now]group ^ipop3d:mail ^ipop3d: Login
user=(.+)mail ^ipop3d: Logout user=(.+)mail ^ipop3d: pop3s SSL service init from (.+)mail ^ipop3d: pop3 service init from (.+)mail ^ipop3d: Command stream end of file, while reading.+mail ^ipop3d: Command stream end of file while reading.+critical ^ipop3d: Login failed.+trash ^ipop3d:.+group_endcritical ^sudo: (.+) : TTY=(.+) ; PWD=(.+) ; USER=root ; COMMAND=(.+)misc .*
这是一个邮件队列中的样本(每12小时发送)报告:
host1: 79: ipop3d: Login user=___ 74: ipop3d: Logout user=___host2: 30: ipop3d: Login user=___ 30: ipop3d: Logout user=___ 19: ipop3d: pop3 service init from ___ 12: ipop3d: pop3s SSL service init from ___ 1: ipop3d: Command stream end of file while reading line user=??? host=bogus.domain.net [192.168.0.1] 1: ipop3d: Command stream end of file, while reading authentication host=bogus1.domain.net [10.1.7.1]
这是关键队列(发送一条消息,每一次匹配的regexp)的样品报告:
host1: 1: /usr/bin/sudo: ___ : TTY=___ ; PWD=___ ; USER=root ; COMMAND=/bin/dmesghost1: 1: /usr/bin/sudo: ___ : TTY=___ ; PWD=___ ; USER=root ; COMMAND=/bin/bashhost2: 1: ipop3d: Login failed user=admin auth=admin host=bogus1.domain.net [10.1.7.1]host2: 1: ipop3d: Autologout user=??? host=bogus.domain.net [192.168.0.1]
下载地址:http://dev.inversepath.com/tenshi/tenshi-latest.tar.gz