Перейти к содержимому

Nginx

Веб-сервер и обратный прокси: активные и ожидающие соединения, скорости accept/handled/request, и здоровье upstream, когда доступен коммерческий API NGINX Plus.

DumbMonit читает встроенный модуль stub_status Nginx — несколько простых текстовых счётчиков, без API и без учётной записи на правильно отфильтрованной сети. Когда установлен коммерческий NGINX Plus, DumbMonit может также читать его JSON API для здоровья upstream и счётчиков по зонам.

Все метрики с префиксом dumbmonit_nginx_. Метрики _total — это счётчики: графики и правила превращают их в скорости.

МетрикаЧтоМетки
connections_activeсоединения, открытые сейчас
connections_reading, connections_writing, connections_waitingсоединения по тому, что они делают
accepts_total, handled_totalпринятые соединения, и фактически обработанные
requests_totalзапросы, обслуженные с момента запуска Nginx
version_infoналичие; заголовок ответа Server, когда Nginx его отправляетserver
plus_upstream_server_up1, когда NGINX Plus отмечает сервер как рабочийupstream, server
plus_upstream_server_active, plus_upstream_server_requests_total, plus_upstream_server_fails_total, plus_upstream_server_5xx_totalсчётчики NGINX Plus на серверupstream, server
plus_zone_requests_total, plus_zone_5xx_total, plus_zone_received_bytes_total, plus_zone_sent_bytes_totalсчётчики NGINX Plus на зонуzone

Разрыв между accepts_total и handled_total означает соединения, которые Nginx отбросил до того, как смог их обслужить (обычно достигнут worker_connections). Метрики plus_* появляются только когда отмечено «Read the NGINX Plus API» и NGINX Plus отвечает; в open-source сборке нет понятия «upstream», о котором можно было бы сообщить только через stub_status.

Панель над графиками читает то, что сохранила проверка; открытие страницы никогда не запрашивает Nginx. Она показывает активные, читающие, пишущие и ожидающие соединения, скорости accept/handled/request за 24 часа, и, с NGINX Plus, здоровье upstream и трафик по зонам.

  1. В Nginx stub_status встроен по умолчанию: нужен только location, который его включает. Добавьте это в блок server, который Nginx уже обслуживает (или в собственный блок server на отдельном порту), затем перезагрузите Nginx.

    location /basic_status {
    stub_status;
    }
  2. Ограничьте этот location хостом DumbMonit, чтобы никто другой не мог его прочитать; скорректируйте адрес под свой случай.

    location /basic_status {
    stub_status;
    allow 10.0.0.5;
    deny all;
    }
    nginx -s reload
  3. Проверьте, что он отвечает, прежде чем настраивать DumbMonit.

    curl -s http://nginx.lan/basic_status
  4. В DumbMonit введите хост Nginx, например «nginx.lan», и путь, если он отличается от «/basic_status». Если установлен NGINX Plus, отметьте «Read the NGINX Plus API», чтобы добавить здоровье upstream и счётчики по зонам.

Пример выше ограничивает location по IP — самая простая настройка для домашней лаборатории; блок basic_auth работает не хуже, если страница статуса не может сидеть за собственным правилом файрвола. Сам stub_status нельзя защитить паролем средствами самого Nginx напрямую — пароль, если он нужен, принадлежит окружающему блоку location.

Учётные данныеПоля
Без пароляНичего: страница статуса фильтруется так, что до неё доходит только DumbMonit.
Basic authПользователь и пароль блока, защищающего страницу статуса, если он есть.

Адрес: имя хоста или IP, с портом, если он отличается от 80. Опции: протокол (по умолчанию HTTP), порт, путь статуса (по умолчанию /basic_status), проверка сертификата, таймаут запроса (10 с), и переключатель с версией для API NGINX Plus.