Мониторинг логов с помощью Zabbix

топ 100 блогов lykoz08.08.2010 Дано: Zabbix 1.8.1, n серверов, Zabbix агенты в режиме Active Checks (важно!)
Необходимо: мониторить лог ошибок php на предмет Fatal Error и уведомлять разработчиков текстом ошибки по e-mail и/или jabber.

С минимальными модификациями способ применим к логам любых сервисов.
Zabbix Server и Zabbix Agent уже настроены на мониторинг стандартных параметров серверов и сервисов. Т.е. это инструкция не для настройки с "нуля".

1. В Configuration -> Hosts создаем шаблон Template_Log и определяем его в группу.

Мониторинг логов с помощью Zabbix Zabbix Log Template

2. В этом шаблоне создаем Item.
Host: Template_Log
Description: phpError
Type: Zabbix Agent (active)
Key: log["/var/log/php/php-error.log","PHP Fatal error","UTF-8",100].
Первый параметр указывает местоположение лога, конечно на всех серверах он должен быть одинаковый. Второй параметр - регулярное выражение для шаблона, нам же нужны записи определенного типа, плюс в купе с четвертым параметром (максимальное кол-во строк в секунду для передачи серверу) снижает нагрузку на сеть и сервер мониторинга.
Type of information: log
Подробнее о параметрах мониторинга логов.

Мониторинг логов с помощью Zabbix Zabbix Log Item

3. Создаем Trigger
Name: PHP Fatal Error on {HOSTNAME}
Expression: {Template_Log:log["/var/log/php/php-error.log","PHP Fatal error","UTF-8",100].str(Fatal)}=1&{Template_Log:log["/var/log/php/php-error.log","PHP Fatal error","UTF-8",100].nodata(30)}=0
Триггер срабатывает при наличии строки Fatal в пересылаемых данных и отключается через 30 секунд отсутствия новых данных. Подробнее о выражениях триггера.
Event generation: Normal + Multiple TRUE events

Мониторинг логов с помощью Zabbix Zabbix Log Trigger

Уведомления об ошибках мы уже получаем. Как получить текст ошибки?
4. В Configuration -> Actions создаем новое действие
Name: Log_Error
Event source: Triggers
В Default message дописываем: {ITEM.LASTVALUE}
Action conditions: Host template = "Template_Log"

Мониторинг логов с помощью Zabbix Zabbix Log Action

PROFIT!
Исправления и дополнения принимаются.

Оставить комментарий

Архив записей в блогах:
12 августа 1904 года родился Алексей Николаевич — наследник русского престола и единственный сын Николая II. У молодого русского императора была большая семья. В браке с Александрой Федоровной всего за шесть лет родилось четверо детей. И все девочки. Ситуация становилась несколько ...
Знай, что ты кушаешь! Попробуйте уже сегодня
Ребята, вы чего?.. Что творится?.. Нет, ну надо же какие-то границы иметь, зачем ...
Власть возникает из отношений личной преданности; но откуда берется сама эта личная преданность? Почему в каждый конкретный момент вассал принимает решение повиноваться воле сюзерена, а не предавать его ради своих сиюминутных интересов? Потому, что в его субъективной картине мира ...
За Россиссию можно быть спокойным, есть кому позаботиться о ...