supercheetah Asked: 2009-08-03 09:11:05 +0800 CST2009-08-03 09:11:05 +0800 CST 2009-08-03 09:11:05 +0800 CST 让 logcheck 对某些事情做出反应,而不仅仅是给我发电子邮件 772 有没有办法让logcheck对某事做出反应? 例如,假设我注意到某些日志的某种模式,我想我可以轻松地编写某种解析器来识别,然后做一些事情,例如向 iptables 添加规则。有没有办法用 logcheck 做到这一点? linux logging log-files 2 个回答 Voted Best Answer Kyle Brandt 2009-08-03T09:37:52+08:002009-08-03T09:37:52+08:00 我不确定日志检查,但如果您设置 Nagios 监控,您还可以设置Event Handlers,它在特定条件下运行脚本。编写一个脚本来检查 Nagios 的日志、某些文本的警报,然后 Nagios 将运行事件处理程序脚本将非常容易。虽然这有点复杂,但我认为您可能会发现 Nagios 有很多用途。这是Nagios 事件处理程序的文档。 另一种选择可能是设置 procmail 并让它根据电子邮件警报运行脚本。这在“如何在所有或选定的传入邮件上运行任意 Perl 或 shell 脚本?”下的procmail 常见问题解答中进行了描述。 对于 logcheck 本身,看起来有 -o 选项: “-o STDOUT 模式,不发送邮件。” 因此,如果找到文本,您可以使用它将输出通过管道传输到执行您想要的操作的脚本,否则它只是正常发送电子邮件。但我自己从未对此进行过实验。 user13456 2009-08-03T13:17:17+08:002009-08-03T13:17:17+08:00 嘿——这里是旧的 logcheck 维护者。没有内置的方法可以做到这一点,尽管您可以像 Kyle 建议的那样使用管道/grep 破解它。
我不确定日志检查,但如果您设置 Nagios 监控,您还可以设置Event Handlers,它在特定条件下运行脚本。编写一个脚本来检查 Nagios 的日志、某些文本的警报,然后 Nagios 将运行事件处理程序脚本将非常容易。虽然这有点复杂,但我认为您可能会发现 Nagios 有很多用途。这是Nagios 事件处理程序的文档。
另一种选择可能是设置 procmail 并让它根据电子邮件警报运行脚本。这在“如何在所有或选定的传入邮件上运行任意 Perl 或 shell 脚本?”下的procmail 常见问题解答中进行了描述。
对于 logcheck 本身,看起来有 -o 选项:
“-o STDOUT 模式,不发送邮件。”
因此,如果找到文本,您可以使用它将输出通过管道传输到执行您想要的操作的脚本,否则它只是正常发送电子邮件。但我自己从未对此进行过实验。
嘿——这里是旧的 logcheck 维护者。没有内置的方法可以做到这一点,尽管您可以像 Kyle 建议的那样使用管道/grep 破解它。