Rsyslog 动态变量

Rsyslog 动态变量

我有一个用于过滤日志的应用程序的 rsyslog 配置文件,如下所示:

if $msg contains 'sid:31147' then ~
if $programname == 'myprog' then /var/log/myprog.log
&~

这个想法是,如果消息包含 sid:31147,则丢弃该消息,否则将消息转发到指定的日志目录并丢弃。
我的问题是 31147 是一个进程的 sid,每次重新启动时都会更改。有没有办法动态设置 sid 的值?

我正在寻找类似这样的内容:

getsid=$(ps xao sid,comm | grep ossec-logcollec | cut -d' ' -f 1)
if $msg contains 'sid:$getsid' then ~

相关内容