如何将系统日志严重性 保存到不同的文件?

如何将系统日志严重性  保存到不同的文件?

我们有一个旧设备,它将严重性为 <132> 的系统日志发送到其管理服务器。

为了捕获上述事件,之前的团队创建了一个 tcpdump 脚本并通过 crontab 运行它来捕获事件。

我正在尝试弄清楚如何通过 syslog 将这些事件写入不同的文件。

syslog 配置当前是默认配置,我启用了 UDP 捕获模块,但无法将其写入不同的文件。

*.* /var/log/syslog_capture_all
:msg, contains, "[ApplianceModel]" /var/tmp/events_syslog

第一个文件现在包含来自系统的所有日志,而第二个文件仍然是空的。

从 tcpdump 保存的文件中可以看到设备发送的日志如下:

<132>[ApplianceModel] [Parameter=Parameter value] ......

我只想将“<132>[ApplianceModel] [Parameter=Parameter value] ......”保存到 /var/tmp/events_syslog 文件并摆脱该 tcpdump

答案1

由于输入不是标准 syslog 格式,尝试通过 syslog 解析它时可能未将字符串ApplianceModel放入属性中msg,因此您将无法匹配它。如果您使用的是 rsyslog,则可以尝试使用该rawmsg-after-pri属性。或者,您可以匹配优先级 132,如:pri, isequal, "132"

相关内容