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

Необходимо: мониторить лог ошибок 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!
Исправления и дополнения принимаются.
|
</> |