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

Aug 08, 2010 13:51

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

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

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



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
Подробнее о параметрах мониторинга логов.



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



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



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

Мониторинг, zabbix, Разработка, php

Previous post Next post
Up