Как отправить ловушку snmp при регистрации журнала syslog?

Мне нужно отправить snmp trap n количество хостов всякий раз, когда какой-либо syslog регистрируется в /var/log/messages . Как я могу это сделать, может ли кто-нибудь дать мне какие-либо идеи?

Если вы используете (или переключаетесь на) rsyslog , вы можете установить модуль omsnmp, который может отправлять сообщения syslog в виде ловушек SNMP.

LogZilla имеет возможность отправлять синхронизированные события из syslog в приемник ловушки. Вы можете скачать демо-версию с http://www.logzilla.net/index.php/download

Чтобы использовать переадресацию ловушек, войдите в систему как администратор и выберите «Меню»> «Администратор»> «Администратор сервера»> «Оповещения» и включите «Отправлять оповещения в диспетчер трассировки SNMP», а также установите значения SNMP Community и SNMP Destination. Как только вы установите их, HUP – syslog-ng daemon и получите удовольствие 🙂

inotify (7) – системный вызов, который может использоваться для оповещения вашего процесса при изменении файловой системы. inotifyd – обертка вокруг inotify() . ( inotifyd находится в busybox, но, возможно, не в других дистрибутивах.)

С помощью inotifyd вы создаете скрипт, который делает то, что вы хотите, например foo.sh

 #!/bin/sh echo "inotifyd passed me event=$1 file=$2" 

Затем сообщите inotifyd о запуске вашего скрипта всякий раз, когда изменяется syslog:

 $ inotifyd ~/foo.sh /var/log/syslog:c inotifyd passed me event=c file=/var/log/syslog inotifyd passed me event=c file=/var/log/syslog ...