Настраиваем наблюдение за журналом access.log веб-сервера Nginx, а точнее за количеством конкретных HTML-кодов в нём
{$NGINX.STATUS_CODE_CHECK.PERIOD}
и по умолчанию равно 10 минутам)Чтобы наш Zabbix-агент смог читать журналы, нужно предоставить ему соответствующие права. Смотрим, кто уме имеет доступ:
ls -lh /var/log/nginx/
Обычно это одни из следующих групп: www-data
, nginx
, adm
. Добавим пользователя Zabbix в группу adm
:
sudo usermod -a -G adm zabbix
Совет
Проверить членство в группах пользователя zabbix и то, что он может читать журналы, можно следующими командами:
# отобразить членство в группах groups zabbix # читаем журнал от имени конкретного пользователя sudo -H -u zabbix bash -c 'tail -f /var/log/nginx/access.log'
Скачиваем и импортируем xml-шаблон наблюдения: template_nginx_logs_by_zabbix_agent.zip
Собственно сама реализация подсмотрена в схеме telegraf + influxdb + grafana, просто решил её адаптировать под Zabbix. Ну а так как к Zabbix у меня тоже есть своя Grafana, то:
Видимо придётся мне каждый счетчик делать отдельно, т.к. в данной реализации вроде бы нельзя игнорировать только 200 код (и не красить его в красный, когда он превышает порог…).