DOZOR — Система независимого контроля качества данных мониторинга

"Надзиратель за надзирателем" или решение проблемы "сапожника без сапог"

Статус: В продуктивной эксплуатации

Технологический стек

Python Redis PostgreSQL Zabbix API Prometheus Grafana Микросервисная архитектура

Ключевой результат

100%
проблем с доступностью метрик выявляются проактивно, до жалоб заказчиков

Контекст и проблема

Исходная ситуация

В компании развернута масштабная система инфраструктурного мониторинга, которая собирает метрики с тысяч серверов, СУБД, брокеров сообщений и приложений. Настроен мониторинг доступности самих агентов (Zabbix agent, экспортеров Prometheus). Но существовала критическая слепая зона: никто не контролировал качество и доступность самих метрик.

Метрики могли переставать поступать по множеству причин:

  • Таймауты при опросе
  • Ошибки прав доступа
  • Некорректная работа скриптов
  • Обновление версий PostgreSQL, Kafka, RabbitMQ, после которого менялось поведение экспортеров
  • Изменение прав на файлы или таблицы в СУБД
  • LLD-правила (Low-Level Discovery) переставали находить объекты

При этом стандартный мониторинг молчал — агент формально был доступен, но данные не собирались.

"Боль" и риски:

Главная проблема обнаруживалась слишком поздно — когда приходили заказчики (потребители мониторинга) и спрашивали: "Почему на графиках дырки?" или "Почему мониторинг не среагировал на инцидент?". Инциденты пропускались, потому что при отсутствии данных система не могла сгенерировать событие. Качество предоставляемых услуг мониторинга страдало, а команда не имела инструмента для проактивного выявления проблем.

Триггер к созданию:

Ситуация "сапожника без сапог" стала нетерпимой. Требовалась система, которая сможет:
1) автоматически выявлять все проблемы с доступностью метрик;
2) давать целостную картину по всей инфраструктуре;
3) помогать администраторам видеть глобальные тренды и массовые сбои.
Так родился проект DOZOR — система независимого контроля качества данных мониторинга.

Решение: DOZOR — Надзиратель за надзирателем

DOZOR — это отдельный сервис, который регулярно анализирует состояние всех метрик в системе инфраструктурного мониторинга и выявляет проблемы с их доступностью.

Что контролируется?

Главный показатель — процент доступности метрик на каждом узле сети. Он рассчитывается как отношение общего количества метрик к количеству недоступных метрик. Если пороговое значение превышено — хост требует внимания.

DOZOR анализирует все метрики, находящиеся в неподдерживаемом состоянии, за исключением метрик, обнаруженных LLD, и метрик с нулевым периодом хранения.

Как это работает технически?

Эволюция подхода: Изначально DOZOR получал данные через API, но для снижения нагрузки перешли на прямое получение данных из базы данных мониторинга.

Архитектура: Полноценный микросервис с проверками по расписанию (по умолчанию — каждый час) и хранением полной истории изменений.

Реагирование: формирование отчетов для администраторов и создание алертов при массовых проблемах.

Интерфейс и визуализация

Главный экран DOZOR'а спроектирован для максимальной информативности и быстрого сканирования проблем. Он разделен на три смысловых блока:

Левый блок

Продукты с количеством недоступных метрик

ОС: Linux — 12 134
СУБД: PostgreSQL — 833
Брокер: Kafka — 214
Веб-сервер: Nginx — 97

Центральный блок

Проблемные Zabbix-ключи с группировкой

system.cpu.util — 45 ошибок
vfs.fs.size — 32 ошибки
net.if.in — 28 ошибок

Правый блок

Типы элементов данных с проблемами

Zabbix agent — 123
SNMP — 30
JMX — 15
HTTP-агент — 8

Такая структура позволяет:

  • Быстро определить, какой продукт страдает больше всего
  • Понять, какие конкретно метрики проблемны
  • Увидеть, какой тип сбора данных дает сбои

Отчетность и аналитика

DOZOR формирует регулярные отчеты для администраторов мониторинга, а также предоставляет графики динамики изменений по каждому продукту, конкретным ключам метрик и типам источников данных. Это позволяет видеть тренды и оценивать эффективность принимаемых мер.

Результаты и ценность для бизнеса

Радикальное повышение качества мониторинга

Количество инцидентов, пропущенных системой мониторинга, сократилось до нуля. Проблемы выявляются проактивно, а не по жалобам заказчиков. "Дыры" в графиках ушли в прошлое.

Ускорение реакции инженеров

Администраторы видят проблемы с метриками в момент их возникновения. Массовые сбои выявляются автоматически. Время диагностики сократилось с часов до минут.

Контроль человеческого фактора

DOZOR стал незаменимым инструментом при внесении изменений. Система подсветит алертом: "На большинстве хостов появилась метрика, перешедшая в неподдерживаемое состояние".

Повышение ответственности владельцев продуктов

DOZOR позволяет четко определить, что проблема не в системе мониторинга, а требуется донастройка продукта для обеспечения корректной работы агентов.

Качество тестирования

Администраторы стали тщательнее проводить тестирование новых метрик, изменений и обновлений шаблонов. Это позволило добиться 100% работоспособного состояния там, где это зависит от команды мониторинга.

Масштабирование и перспективы

DOZOR контролирует ВСЮ инфраструктуру мониторинга без исключения. Система регулярно находит и выявляет проблемы с получением данных, которые раньше оставались незамеченными.

Проект полностью окупил себя за первые месяцы работы и продолжает оставаться ключевым инструментом обеспечения качества услуг инфраструктурного мониторинга.

DOZOR — потому что даже за надзирателем нужен надзор.