"Надзиратель за надзирателем" или решение проблемы "сапожника без сапог"
В компании развернута масштабная система инфраструктурного мониторинга, которая собирает метрики с тысяч серверов, СУБД, брокеров сообщений и приложений. Настроен мониторинг доступности самих агентов (Zabbix agent, экспортеров Prometheus). Но существовала критическая слепая зона: никто не контролировал качество и доступность самих метрик.
При этом стандартный мониторинг молчал — агент формально был доступен, но данные не собирались.
Главная проблема обнаруживалась слишком поздно — когда приходили заказчики (потребители мониторинга) и спрашивали: "Почему на графиках дырки?" или "Почему мониторинг не среагировал на инцидент?". Инциденты пропускались, потому что при отсутствии данных система не могла сгенерировать событие. Качество предоставляемых услуг мониторинга страдало, а команда не имела инструмента для проактивного выявления проблем.
Ситуация "сапожника без сапог" стала
нетерпимой. Требовалась система, которая сможет:
1)
автоматически выявлять все проблемы с доступностью
метрик;
2) давать целостную картину по всей
инфраструктуре;
3) помогать администраторам видеть
глобальные тренды и массовые сбои.
Так родился проект DOZOR — система независимого контроля качества данных мониторинга.
DOZOR — это отдельный сервис, который регулярно анализирует состояние всех метрик в системе инфраструктурного мониторинга и выявляет проблемы с их доступностью.
Главный показатель — процент доступности метрик на каждом узле сети. Он рассчитывается как отношение общего количества метрик к количеству недоступных метрик. Если пороговое значение превышено — хост требует внимания.
DOZOR анализирует все метрики, находящиеся в неподдерживаемом состоянии, за исключением метрик, обнаруженных LLD, и метрик с нулевым периодом хранения.
Эволюция подхода: Изначально DOZOR получал данные через API, но для снижения нагрузки перешли на прямое получение данных из базы данных мониторинга.
Архитектура: Полноценный микросервис с проверками по расписанию (по умолчанию — каждый час) и хранением полной истории изменений.
Главный экран DOZOR'а спроектирован для максимальной информативности и быстрого сканирования проблем. Он разделен на три смысловых блока:
Продукты с количеством недоступных метрик
Проблемные Zabbix-ключи с группировкой
Типы элементов данных с проблемами
DOZOR формирует регулярные отчеты для администраторов мониторинга, а также предоставляет графики динамики изменений по каждому продукту, конкретным ключам метрик и типам источников данных. Это позволяет видеть тренды и оценивать эффективность принимаемых мер.
Количество инцидентов, пропущенных системой мониторинга, сократилось до нуля. Проблемы выявляются проактивно, а не по жалобам заказчиков. "Дыры" в графиках ушли в прошлое.
Администраторы видят проблемы с метриками в момент их возникновения. Массовые сбои выявляются автоматически. Время диагностики сократилось с часов до минут.
DOZOR стал незаменимым инструментом при внесении изменений. Система подсветит алертом: "На большинстве хостов появилась метрика, перешедшая в неподдерживаемое состояние".
DOZOR позволяет четко определить, что проблема не в системе мониторинга, а требуется донастройка продукта для обеспечения корректной работы агентов.
Администраторы стали тщательнее проводить тестирование новых метрик, изменений и обновлений шаблонов. Это позволило добиться 100% работоспособного состояния там, где это зависит от команды мониторинга.
DOZOR контролирует ВСЮ инфраструктуру мониторинга без исключения. Система регулярно находит и выявляет проблемы с получением данных, которые раньше оставались незамеченными.
Проект полностью окупил себя за первые месяцы работы и продолжает оставаться ключевым инструментом обеспечения качества услуг инфраструктурного мониторинга.