пятница, 11 октября 2019 г.

Мониторинг Nginx в Zabbix

Настраивал мониторинг веб сервера в 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]
Вывод:
Проверяем zabbix agent с Nginx

Лечится правкой файла /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>
  

4 комментария:

  1. Долго не мог настроить мониторинг nginx. Спасибо вам огромное за примечание, без него, мучался бы я и дальше.

    ОтветитьУдалить
    Ответы
    1. Пожалуйста, в подобных нюансах и состоит смысл блога зачем повторять то, что уже много раз описано.

      Удалить
  2. А как сделать запрос на 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, то информация есть.

    ОтветитьУдалить
    Ответы
    1. Это порт по которому отдается статистика от Nginx агенту локально, какой смысл ее шифровать?
      Но если действительно есть такая необходимость можно настроить редирект как Вы настраиванете его для обычного сайта.

      Удалить