Как я могу отслеживать системный журнал и отправлять уведомления на основе событий?

Я собираюсь отправлять системный журнал с одного моего устройства / сервера на сервер Ubuntu.

На сервере Ubuntu (получающем системный журнал) я хочу, чтобы он запускал скрипт при поступлении определенных сообщений системного журнала.

Это возможно?

1 ответ

Вопрос, похоже, немного изменился и нацелен на скриптинг, а не на отправку уведомлений. Я мог бы удалить этот ответ позже.

Кажется, довольно просто настроить запуск сценариев оболочки в реальном времени на основе сообщений, передаваемых в rsyslog. Если ОП переписывает свой ответ, чтобы лучше представить, к чему он стремится (как уже было написано в комментариях), я готов предоставить здесь качественный ответ.

Не совсем точно, каковы ваши требования, но я могу порекомендовать один конкретный программный продукт logcheck, Это может быть полезно и в вашей ситуации.

Его целью является отправка дайджестов по конкретным согласованным (интересным) строкам. Я предполагаю, что базовая конфигурация почты работает (например, echo bla | mail -s testmail user@domain.tld работает) уже. Он заботится о ротации журналов и знает, где он остался, так что больше не беспокойтесь об этом в сценариях!

Извлечены некоторые важные шаги из этого урока:

  1. Настроить основные вещи в /etc/logcheck/logcheck.conf:

    REPORTLEVEL="server"          # default reportlevel with pre-configured filters
    SENDMAILTO="user@domain.tld"
    
  2. Какие файлы журналов для регистрации /etc/logcheck/logcheck.logfiles:

    /var/log/syslog
    /var/log/auth.log
    /var/log/myapp.log
    
  3. Теперь, чтобы сказать ему, чтобы вызвать на определенной строке, аналогичной

    myapp: Error: Login failed for admin123
    

    для этого журнала myapp это можно реализовать, создав регулярное выражение в /etc/logcheck/ignore.d.server/myapp (нота server соответствующий используемому REPORTLEVEL ранее):

    ^myapp:.*
    

    Ладно, это не самое специфическое регулярное выражение, но это не главное.

  4. Подождите, пока придут письма, например:

    Subject: webserver.domain.tld 2013-01-01 10:17 System Events
    
    Jan 01 09:40:59 webserver myapp: IMAP Error: Login failed for gertvdijk
    
Другие вопросы по тегам