多个日志条目上的 Rsyslog 通知

多个日志条目上的 Rsyslog 通知

我正在尝试使用 ommail 通过电子邮件发送通知。一切正常,但我喜欢在邮件正文中发送多行。

module(load="ommail")

template (name="mailBody"  type="string" string="%msg%")
template (name="nodeupdateSubject" type="string" string="Slurm Node 
Update on Cluster")
template (name="nodeerrorSubject" type="string" string="Slurm Node Error on Cluster")

if $programname == 'slurmctld' then {

if $msg contains "update_node" then {
action(type="ommail" server="<server>" port="25"
       mailfrom="<email>"
       mailto="<email>"
       body.enable="on"
       subject.template="nodeupdateSubject"
       action.execonlyonceeveryinterval="60")
}
else if $msg contains "error" then {
       action(type="ommail" server="<server>" port="25"
       mailfrom="<email>"
       mailto="<email>"
       body.enable="on"
       subject.template="nodeerrorSubject"
       action.execonlyonceeveryinterval="60")
   } 
}

例如我的 rsyslog 消息如下

slurmctld[28623]: error: Node cs1 Down
slurmctld[28623]: error: Node cs2 Down   

Rsyslog 只向我发送第一条消息,即错误:节点 cs1 关闭但我也想要下一条消息错误:Node cs2 关闭

那么我该如何实现这一点呢?我在 Google 上搜索了很多,但不确定哪一个是正确的。

相关内容