Ещё один способ организовать мониторинг Nginx - использовать prometheus-nginxlog-exporter. Принцип его действия следующий. В режиме реального времени анализируется лог Nginx. Распознанные метрики из него передаются в Prometheus.
Основная сложность этого способа - настроить соответствие лога nginx и шаблона экспортера. Я сказал "сложность" условно. Просто это единственное, что нужно учесть при настройке, остальное делается на автомате по инструкции. Реально никакой проблемы нет. Формат шаблона у nginxlog-exporter очень простой. Подогнать его под свой лог не проблема. Это не настройка grok фильтра, как у Logstash. Там придётся повозиться, прежде чем получится рабочий вариант.
В целом, использовать Nginxlog-exporter очень просто. Запустить можно сразу в Docker или установить из deb или rpm пакета. В качестве параметров запуска достаточно указать путь к конфигу службы и к логу Nginx. В репозитории есть все примеры.
Дальше всё как обычно. Метрики уходят в Prometheus, далее визуализация с помощью Grafana. В публичном доступе есть один актуальный дашборд, написанный конкретно под prometheus-nginxlog-exporter.
Исходники - github.com/martin-…exporter
#nginx #webserver