Настраивал мониторинг веб сервера в Zabbix по этой статье, и так же столкнулся с проблемой, описанной автором, когда по команде:
Лечится правкой файла
curl http://localhost/nginx-status
Статистика отдается, а при попытке получить с помощью zabbix агента:
zabbix_agentd -t web.page.get[localhost,nginx-status,80]
Результат выглядит вот так:web.page.get[localhost,nginx-status,80] [t|]
Проблема связана с тем, что, судя по всему, IPv6 имеет более высокий приоритет, чем IPv4.
Проверяется изменением комманды на:
zabbix_agentd -t web.page.get[127.0.0.1,nginx-status,80]
Вывод:Лечится правкой файла
/etc/hosts
, комментируем строку:
#::1 localhost ip6-localhost ip6-loopback
Результат:
# zabbix_agentd -t web.page.get[localhost,nginx-status,80]
web.page.get[localhost,nginx-status,80] [t|HTTP/1.1 200 OK
Server: nginx
Date: Thu, 10 Oct 2019 13:06:37 GMT
Content-Type: text/plain
Content-Length: 114
Connection: close
Active connections: 1
server accepts handled requests
2094614 2094614 170516
Reading: 0 Writing: 1 Waiting: 0 ]
Дальше все по статье.
- Примечание
- На сервере в настройках шаблона для хоста параметр {$NGINX.STUB_STATUS.PATH}
- должен соответствовать тому, который вы настроили для страницы статистики. Для указанной статьи значение должно быть <nginx-status>, по умолчанию стоит - <basic_status>
Долго не мог настроить мониторинг nginx. Спасибо вам огромное за примечание, без него, мучался бы я и дальше.
ОтветитьУдалитьПожалуйста, в подобных нюансах и состоит смысл блога зачем повторять то, что уже много раз описано.
УдалитьА как сделать запрос на 443 порт? Если делаю так zabbix_agentd -t web.page.get[127.0.0.1,nginx-status,443] то вылетает ошибка - 400 The plain HTTP request was sent to HTTPS port. Встроеные шаблоны забикса тоже неработают, если обратится к домену на прямую по ссылке - /nginx_status, то информация есть.
ОтветитьУдалитьЭто порт по которому отдается статистика от Nginx агенту локально, какой смысл ее шифровать?
УдалитьНо если действительно есть такая необходимость можно настроить редирект как Вы настраиванете его для обычного сайта.