有没有办法日志检查对某事有反应?
例如,假设我注意到一些日志有某种模式,我想我可以轻松地编写某种解析器来识别,然后执行某些操作,例如向 iptables 添加规则。我可以用 logcheck 来做到这一点吗?
答案1
我不太确定日志检查,但如果你设置了 Nagios 监控,你也可以设置事件处理程序,在特定条件下运行脚本。编写一个脚本来检查 Nagios 的日志、对特定文本发出警报,然后 Nagios 会运行事件处理程序脚本,这相当容易。虽然这有点复杂,但我认为您可能会发现 Nagios 有很多用途。以下是Nagios 事件处理程序的文档。
另一个选择可能是设置 procmail 并让其根据电子邮件警报运行脚本。这在procmail 常见问题在“如何对所有或选定的来信运行任意 Perl 或 shell 脚本?”
对于 logcheck 本身,似乎有一个 -o 选项:
“-o STDOUT 模式,不发送邮件。”
因此,您可以使用它将输出传输到脚本,如果找到文本,该脚本将执行您想要的操作,否则它只会像往常一样发送电子邮件。但我自己从未尝试过。
答案2
嘿,我是老 logcheck 维护者。没有内置方法可以做到这一点,不过你可以像 Kyle 建议的那样使用管道/grep 来破解它。