[[ Мониторинг параметров Nginx в Zabbix ]]

NginxZabbix

Мониторинг параметров Nginx в Zabbix

Веб-сервер Nginx умеет отдавать свои статистические данные и было бы не плохо их мониторить с возможность построения различных наглядных графиков.
Мониторинг осуществляется скриптом nginx_v<VERSION>.py из набора Zabbix Data Mining.
Там же есть готовые шаблоны для Zabbix Server'a.

Настройка

Настройка осуществляется через Ansible.
Необходимо указать модуль nginx в переменой zdm_modules_enabled, в этом случае будет:

  • установлен пакет библиотек python3-requests

Переменные defaults для роли:

  • zdm_cnf_nginx_version - одна из доступных версий скрипта, подходящая к версии приложения.
  • zdm_cnf_nginx_stub_status_url - адрес страницы с информацией stub_status
  • zdm_cnf_nginx_allow_redirects - разрешить переход по редиректам
  • zdm_cnf_nginx_cache_ttl - время хранения результата в кэше.

Скрипт предусматривает кэш, что позволяет сократить количество запросов, а так же снимать элементы данных в одном временном срезе.
Время действия кэша в секундах должно устанавливается чуть меньше чем период опроса элементов.

Необходимо настроить отдачу статистики по определенному адресу:

VirtualHost

server {
 ...

        location = /stub_status {
                stub_status on;
                access_log off;
                allow IP.ZABBIX.SEVER.AGENT;
                deny all;
        }
}

Где IP.ZABBIX.SEVER.AGENT заменяем на IP адрес, с которого будет обращаться Zabbix-Agent (как правило это localhost).

Перезагрузить:

/etc/init.d/nginx reload
# or
systemctl reload nginx

Nginx должен быть скомпилирован с поддержкой модуля статистики stub_status (--with- http_stub_status_module)
В Gentoo Gentoo

make.conf

NGINX_MODULES_HTTP="stub_status  ..."

Проверка:

curl http://you.site.com/stub_status
Вы должны получить статистические данные, если этого не произошло, то конфигурация выполнена не правильно.

Элементы данных

Zabbix Agent UserParameter

UserParameter=nginx.py[*],/opt/zdm3/nginx_v1.10.3.py "$1" "$2" "$3" "$4"

Дополнительную информацию по аргументам скрипта можно получит:

/opt/zdm3/nginx_v1.10.3.py -h

Метрики iostat_v10.1.5.py

Пример данных:

$ zabbix_get -s 127.0.0.1 -k 'nginx.py[active]'
75

Пример графиков:

Если accepts и handled не равны, увеличите значение worker_connections






Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
189 +3 = 
 
howto/zabbix/zabbix_nginx_monitoring.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki