Zabbix Log Monitoring

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску


Zabbix Мониторинг логов

Это практически первый мой опыт с заббиксом. Если есть ошибки или сделано неоптимально - просьба сообщить

Задача: есть приложение на PHP. Время от времени в логах - ошибки о которых нужно сообщать разработчикам. В лоб воспроизвести ошибки нельзя - они возникают по неясной мне причине.
Кроме того хочется реализовать следующий workflow для разработчиков

  • При возникновении ошибки (строка в логах) - поднять алерт (триггер)
  • При повторном появлении строки - триггер остается поднятым
  • При отсутствии новых ошибок триггер остается поднятым
  • Ack подразумевает что разработчик посмотрел на ошибку в логах и начал с ней работать. При нажатии Ack триггер тушиться.



Из-коробки в заббиксе нет ручного выключения триггерров. Отсюда несколько странная логика работы


  • На агенте: анализируем строку и шлем через zabbix_sender данные в соответствующий item
  • В триггере проверяем данные из item на соответствие и поднимаем триггер
  • В триггере есть action который имеет условие Ack = True (и соответственно не работает сразу после поднятия триггера)
  • Action содержит команду которая отправит в item данные заведомо не подходящие под условие триггера. Что соответственно вызывает его опускание.


Настройка

Бегло прикинуть какие ошибки бывают:

cat sample1 |  grep --color '\[error\]'  |  sed 's~2016/06/1[0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] \[error\] [0-9]*#0: \*[0-9]*~~' | sed 's~client: [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*,~~' |  sed 's~/adrequest.php?order_line_id.*\ HTTP~/adrequest.php~g' |  sed 's~GET d=.*HTTP~GET d=.~g'  | sed '~adrequest.php?publisher_id.*\HTTP~HTTP~g'| grep 'PHP' | sort | uniq

Ошибки 3 типов (внезапно!):

PHP message: PHP Fatal error
PHP message: PHP Warning
PHP message: PHP Notice


Для каждой из типов ошибок нужно создать свой item


0001 salt.vena.tv - Configuration of items 2016-06-17 13-44-36.png


screen -dmS zbx_nginx_err /usr/local/zabbix_scripts/monitor_nginx_log_error.sh
screen -dmS zbx_nginx_warn /usr/local/zabbix_scripts/monitor_nginx_log_warning.sh
screen -dmS zbx_nginx_notice /usr/local/zabbix_scripts/monitor_nginx_log_notice.sh
screen -x
There are several suitable screens on:
	22143.zbx_nginx_warn	(06/17/2016 12:05:25 PM)	(Detached)
	22080.zbx_nginx_notice	(06/17/2016 12:04:33 PM)	(Detached)
	21435.zbx_nginx_err	(06/17/2016 11:35:06 AM)	(Detached)


000- salt.vena.tv-Configuration of items 2016-06-17 13-43-02.png