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

Отправлять оповещение по электронной почте о записи файла журнала?

Каков простой способ автоматически просматривать файл журнала и отправлять мне электронное письмо, если появляется определенная строка в Linux? У меня есть приложение, которое регистрирует определенные сбои в файле журнала, но не имеет встроенного способа отправки предупреждений или выполнения сценариев в случае сбоя. Полагаю, я мог бы что-то настроить с помощью tail -f и некоторых сценариев оболочки, но я бы предпочел использовать существующий поддерживаемый инструмент, если он существует.

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

Эти другие системы отлично подходят для работы с существующими системными журналами или с программным обеспечением, вывод которых вы не можете контролировать. Я просто пока не хотел писать кучу кода для отправки уведомлений по электронной почте. Итак, я только что создал такой файл образцов:

watchfor /./
    mail addresses=me\@example.com:other\@example.com,subject=log_alert

А потом запустил с

swatch -c send-me-everything.swatch -t /my/app/urgentevents

Это грубо, но поскольку я контролирую вывод файла журнала, мне пока не нужно ничего более сложного.

Прежде чем мы перешли к тяжелому решению (Зенос) мы использовали проверка журнала который является частью Debian, но может быть легко перенесен и на другие дистрибутивы. Я использовал его на Gentoo. Такие дистрибутивы, как RHEL, поставляются с журнал, который делает нечто подобное.

LoFiMo (Монитор файлов журнала) на Sourceforge должен помочь вам начать или NuHe может работать, но я менее знаком с этим.

Лучше всего использовать программу анализа журналов.

OSSEC, например, является бесплатным / открытым исходным кодом и позволяет вам просматривать столько файлов журналов, сколько вы хотите, и генерировать оповещения по электронной почте (или даже активные ответы) для определенных событий.

Ссылка на сайт: http://www.ossec.net

Я знаю, что взлом сценария оболочки - это весело, но гораздо менее стабильно, чем зрелая программа, разрабатываемая годами. Кроме того, если в будущем вам понадобится расширить свой скрипт или добавить больше триггеров, он станет намного сложнее. OSSEC (и другие инструменты) создали эту структуру за вас.

Я нашел инструмент под названием Tenhi это, кажется, делает именно то, что мне нужно. Он включен в репозитории Debian по умолчанию, что хорошо, но, к сожалению, не в репозиториях RHEL / CentOS (у меня в качестве серверов используются обе ОС).

Я знаю, что ответ уже принят, но rsyslog намного надежнее и имеет встроенную фильтрацию, предупреждения SMTP и возможности просмотра файлов без использования syslog для приложений, которые не используют syslog. Теперь это стандартная реализация системного журнала в Ubuntu 10.x.