Philip Wiki

Персональный wiki-сайт

Инструменты пользователя

Инструменты сайта


docs:zabbix:templates:nginx

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

docs:zabbix:templates:nginx [19.10.2020 10:43] (текущий)
philip создано
Строка 1: Строка 1:
 +====== Template Nginx Logs by Zabbix agent ======
 +
 +Настраиваем наблюдение за журналом access.log веб-сервера Nginx, а точнее за количеством конкретных HTML-кодов в нём
 +
 +===== Требования =====
 +
 +  * Zabbix 5 и выше
 +  * ОС Debian или Ubuntu
 +
 +===== Особенности =====
 +
 +  * Наблюдение только за журналом access.log
 +  * При обработке журнала фильтруются все данные кроме HTML-кодов
 +  * Вычисляемые элементы данных подсчитывают количество конкретных HTML-кодов за определенный промежуток времени (в шаблоне это указано макросом ''{$NGINX.STATUS_CODE_CHECK.PERIOD}'' и по умолчанию равно 10 минутам)
 +  * Триггеры отсутствуют
 +
 +===== Реализация =====
 +
 +Чтобы наш Zabbix-агент смог читать журналы, нужно предоставить ему соответствующие права. Смотрим, кто уме имеет доступ:
 +<code bash>
 +ls -lh /var/log/nginx/
 +</code>
 +
 +Обычно это одни из следующих групп: ''www-data'', ''nginx'', ''adm''. Добавим пользователя Zabbix в группу ''adm'':
 +<code bash>
 +sudo usermod -a -G adm zabbix
 +</code>
 +
 +<adm tip>
 +Проверить членство в группах пользователя zabbix и то, что он может читать журналы, можно следующими командами:
 +<code bash>
 +# отобразить членство в группах
 +groups zabbix
 +# читаем журнал от имени конкретного пользователя
 +sudo -H -u zabbix bash -c 'tail -f /var/log/nginx/access.log'
 +</code>
 +</adm>
 +
 +Скачиваем и импортируем xml-шаблон наблюдения: {{ :docs:zabbix:templates:template_nginx_logs_by_zabbix_agent.zip |}}
 +
 +===== Бонус =====
 +
 +Собственно сама реализация подсмотрена в схеме telegraf + influxdb + grafana, просто решил её адаптировать под Zabbix. Ну а так как к Zabbix у меня тоже есть своя Grafana, то:
 +
 +{{:docs:zabbix:templates:pasted:20201019-104040.png}}
 +
 +Видимо придётся мне каждый счетчик делать отдельно, т.к. в данной реализации вроде бы нельзя игнорировать только 200 код (и не красить его в красный, когда он превышает порог...).
 +
 +{{tag>zabbix nginx web log grafana}}
 +[<>]
  
docs/zabbix/templates/nginx.txt · Последнее изменение: 19.10.2020 10:43 — philip