У меня есть файл конфигурации 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 ~