Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

4 года назад
Открыть в
​​На неделе посмотрел бесплатный вебинар (Rebrain) на тему мониторинга Nginx под нагрузкой. Он оказался очень интересным и полезным, потому что узнал новый для себя способ мониторинга Nginx. Он оказался простым в настройке и функциональным. Ниже стек софта для реализации. При желании все инструкции находятся через поиск. Главное, знать что искать. Я обычно nginx мониторю традиционно, через анализ /nginx_status и лог файлов. Ниже будет описан другой способ. Дано: балансер на Nginx и какое-то количество бэкендов, на которые nginx проксирует запросы. Надо мониторить этот балансер. Конкретно следующие метрики: - ответы с разбивкой по http кодам; - некоторые тайминги ответов; - информация по запросам в разрезе трафика и их количества (rps). Всё это с разбивкой по бэкендам, чтобы можно было их сравнивать и обнаруживать аномалии на конкретных серверах. Для подобного мониторинга используется бесплатный nginx-module-vts. Необходимо самостоятельно собрать Nginx с этим модулем. В модуле настраиваются метрики, которые он будет выдавать. Этот модуль по дефолту умеет показывать все свои метрики в html странице. Понятное дело, что для полноценного мониторинга всё это надо отправить в какую-то единую систему. VTS модуль умеет экспортировать метрики в формате Prometheus и без проблем подключается через static_config. Далее прикручивается Grafana. У неё есть готовые дашборды для VTS. Подобный мониторинг настраивается буквально за считанные минуты. Самое хлопотное тут - сборка Nginx. Всё остальное по сути представлено в готовом виде: VTS экспортер в prom, докер контейнеры для prometheus и grafana и готовый дашборд. К примеру, в Zabbix всё это так просто не затолкать. Придётся потратить кучу времени, чтобы распарсить вывод модуля и написать шаблон. В настоящий момент я всё это получаю в ELK, но только без разбивки по бэкендам. #nginx #webserver