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_up | 1, когда 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 и трафик по зонам.
Включение модуля stub_status в Nginx
Заголовок раздела «Включение модуля stub_status в Nginx»-
В Nginx stub_status встроен по умолчанию: нужен только location, который его включает. Добавьте это в блок server, который Nginx уже обслуживает (или в собственный блок server на отдельном порту), затем перезагрузите Nginx.
location /basic_status {stub_status;} -
Ограничьте этот location хостом DumbMonit, чтобы никто другой не мог его прочитать; скорректируйте адрес под свой случай.
location /basic_status {stub_status;allow 10.0.0.5;deny all;}nginx -s reload -
Проверьте, что он отвечает, прежде чем настраивать DumbMonit.
curl -s http://nginx.lan/basic_status -
В 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.