几天来,我一直在为 UNIX 系统寻找一个好的日志文件处理器而苦苦挣扎。
这是我的情况:
- 我们有一个生成大量日志的 IDM 系统 (20+)
- 我需要在这些日志中找到错误并处理它们(最好是通过nagios发送它们)
- 每个日志文件可能包含相同的错误(相同的错误可能同时出现在多个日志文件中)
- 我不想收到垃圾邮件或通知,这些日志每 30 秒生成一次通知
我试图用 logpp 解决这个问题,但 logpp 没有给我时间窗口和抑制相同消息的选项。所以我去了 SEC,那里有很多强大的选择。
然而,遗憾的是,SEC 似乎一次打开所有文件,并且不区分日志文件。这意味着,如果我在十分钟的窗口内抑制某些正则表达式条件十分钟,则没有其他日志文件可以产生相同的消息。所以 SEC 基本上不在乎错误来自哪里。我愿意 :)
我似乎有两个选择:
- 每次我找到一些东西时,把它写到一个前面有日志名的通用日志文件中,然后写一个调整正则表达式的新条件(意思是:^Logname.*error$)。但这是...... 20 条日志的工作量太大
- 或者:我使用脚本将找到的条目发送到带有时间戳的日志并自己计算窗口,这违背了 SEC 的目的:)
现在我的问题是:有没有人遇到过同样的问题,你是如何通过 SEC 或其他日志文件观察者解决这些问题的?我似乎找不到适合我所有需求的好程序。还是我错了?我错过了什么吗?
谢谢,汤姆