我正在准备一只日志看狗,但是我的担心是拖尾总是会在某个时候爆炸。 从而,
我关心的是总是监视日志文件,如果发生模式匹配。
在ubuntu机器上发出一些命令。
拖尾似乎总是不合适的解决scheme。 你能推荐一些其他的方式吗?
我能想到的最好的工具是syslog-ng ( 有商业版本和开源版本 )。
有几种方法可以在syslog-ng中处理这个问题,但是我build议的方法是筛选所需的消息特性,然后将消息发送到调用program()的目标,以执行所需的操作。
syslog-ng文档有更多的细节,以及你使用syslog-ng获得的其他function。
你应该看看Logstash 。 它是您的日志文件的pipe道,您可以定义一个input,一个(可选)filter和一个输出。
filter可以是只有当你的模式发生时才匹配,然后输出通道来触发命令。
logstash是一个pipe理事件和日志的工具。 您可以使用它来收集日志,parsing它们,并将它们存储起来以备后用(比如search)。 说到search,logstash带有一个Web界面,用于search和钻取所有日志。
你也应该考虑Fail2Ban。 虽然该程序专注于监控脚本以禁止可能的黑客及其相关事件,但可以轻松监视任何文本日志,并根据所发现的内容采取几乎任何行动。