Часто возникает необходимость мониторинга лог-файлов. А именно, при возникновении ошибочной ситуации было бы полезно отсылать письмо или SMS. В версии 1.4 Zabbix нет встроенных средств, которые бы позволяли такое сделать. Мне пришлось для этого написать небольшой скрипт на bash, который потом подключить как пользовательский параметр в Zabbix. Скрипт можно скачать здесь diglog.sh
Для подключения скрипта в Zabbix нужно выполнить следующее:
1. Прописать в zabbix-agentd.conf строку для определения нового пользовательского параметра:
UserParameter=diglog[*],/etc/zabbix/alert.d/diglog.sh $1 $2
После чего перезапустить zabbix-agent
2. Через веб-интерфейс Zabbix добавить новый Item. Ключ (key) у него должен быть, например, таким
diglog[/home/application/application.log,/tmp/application.log.diglog]
Первый параметр - это путь к лог-файлу, который нужно мониторить. Второй параметр - путь к файлу состояния, в котором будет хранится текущее положение в лог-файле. Файл состояния должен быть свой для каждого лог-файла.Тип у Item'а должен быть Character по крайней мере для Zabbix 1.4.
После добавления Zabbix сразу же начнет выбирать по одной строчки из лог-файла.
3. Добавить триггер для обработку ошибок в лог-файле, например, с таким выражением:
{ZABBIX Server:diglog[/home/application/application.log,/tmp/application.logdiglog].str(ERROR)}=1
4. Подключить к триггеру действия для отсылки уведомления об ошибке.
1 comment:
Post a Comment