Nginx Plus позволяет получить текущий статус в виде файла в формате JSON.
Информация, выдаваемая этим json-файлом, делится на два типа:
- касающаяся сервера в целом
- касающаяся upstreams
Если о состоянии сервера в целом вопросов не возникает, то с апстримами несколько сложнее.
Поскольку количество апстримов и их пиров заранее неизвестно, имеет смысл определять их динамически с помощью низкоуровневых запросов заббикса (LLD).
Для разбора json из Nginx используется скрипт nginx-stats.py Для того, чтобы выяснить, сколько апстримов и пиров есть у сервера, используется скрипт автообнаружения nginx-discovery.py
Чтобы мониторинг заработал, нужно сделать следующее:
- разместить скрипты в /etc/zabbix/scripts/
- добавить UserParameter в zabbix-agent
echo 'UserParameter=nginx.stat.[*],/etc/zabbix/scripts/nginx-stats.py $1 $2 $3 $4 $5 $6' > /etc/zabbix/zabbix_agentd.d/userparameter_nginx_plus.conf
echo 'UserParameter=nginx.discovery,/etc/zabbix/scripts/nginx-discovery.py' >> /etc/zabbix/zabbix_agentd.d/userparameter_nginx_plus.conf
- перезапустить zabbix-agent
- импортировать шаблон Zabbix
- присоединить шаблон Template App Nginx Plus к узлу сети
- проверить наличие свежих данных
На этом настройка мониторинга для Nginx Plus завершена.