Назад | Перейти на главную страницу

Как отправить сообщения, связанные с аутентификацией, в Linux конкретному процессу с помощью rsyslog.conf

В моей системе запущен демон rsyslog. Я попытался настроить syslog.conf для отправки всей аутентификационной почты в конкретный файл, используя строку

auth.*;authpriv.*        /var/log/AuthLogs

это работает. Теперь я хочу отправить эти сообщения процессу. Процесс будет готов к захвату журналов. раньше я использовал демон syslogd. В этом случае я смог отправить журнал, используя строку ниже

auth.*;authpriv.*        |exec /usr/bin/read.exe

Но то же самое не работает с rsyslogd. Кто-нибудь знает, как это сделать?

ОБНОВИТЬ: В частности, эта проблема возникает со сценариями python ex code:

#!/usr/local/bin/python
import sys
import fcntl, os   

message = sys.stdin.readline() # Read what's waiting, in one go
if not message:
    print "nothing in message\n"
fd = open('/tmp/testrsyslogomoutput1.txt', 'a')
fd.write("Receiving log message : \n%s\n" % (message))
fd.close()

Этот код Python, который я хочу вызвать через rsyslog.

Зависит от того, хотите ли вы вызывать внешнюю программу для каждого экземпляра совпадающего сообщения (в этом случае функция `^ command 'должна работать, если вы получаете сообщение журнала в качестве параметра).

Если вы хотите передать все совпадающие сообщения на стандартный ввод длительной программы, я думаю, вам нужна функциональность rsyslog `omprog '. Видеть http://www.rsyslog.com/doc/v8-stable/configuration/modules/omprog.html для получения полной информации. Пример конфигурации (с той страницы) ...

module(load="omprog")
action(type="omprog"
       binary="/pathto/omprog.py --parm1=\"value 1\" --parm2=\"value2\""
       template="RSYSLOG_TraditionalFileFormat")

Я проверил Google и нашел это ответ. Я проверил пример и обнаружил, что в вашем случае вам следует изменить строку на:

auth.*;authpriv.*        ^/usr/bin/read.exe

Обновить: Я создал простой скрипт, содержащий только echo $1 >> /var/log/tt.log. После этого я вижу в файле журнала все сообщения, переданные этому скрипту.