我们正在运行一个与 Azure 相关的进程,该进程不断将以下内容写入我们的日志:
Aug 18 06:54:28 log-ids-vm rsyslogd-3000: omazuremds error at connect(). errno=No such file or directory
我们如何阻止某个进程写入消息日志?或者,如果我们使用 Ossec 之类的东西来检索日志,我们如何将其过滤掉?
答案1
我们如何才能阻止某个进程写入消息日志?
通过配置该进程的日志记录选项,即使其记录到文件而不是 STDOUT 或 syslog,或者将日志级别配置为不太详细/静默。
或者,由于您似乎正在使用 rsyslog:
Rsyslogd 支持过滤条件其中之一就是~
默默地丢弃与特定模式匹配的消息:
如果您想进行一些通用处理但排除某些特定事件,使用否定会很有用。您可以结合使用丢弃操作。示例如下:
*.* /var/log/allmsgs-including-informational.log :msg, contains, "informational" ~ *.* /var/log/allmsgs-but-informational.log
不要忽略~第 2 行中的波浪号!在此示例中,所有消息都写入文件
allmsgs-including-informational.log
。
然后,所有包含字符串“信息性的” 将被丢弃。这意味着配置文件中“丢弃行”(示例中为第 2 行)下面的行将不会应用于此消息。然后,所有剩余行也将写入文件allmsgs-but-informational.log
。