Мониторинг должен отвечать минимум на три разных вопроса: доступен ли сервис пользователю, исправны ли его технические компоненты и почему состояние изменилось. Один ping не видит ошибку приложения, агент на сервере не доказывает доступность из филиала, а журнал события не показывает длительность деградации.

Поэтому выбор инструментов начинается с архитектуры наблюдения. Сначала описываются критичные сервисы и точки проверки, затем способы сбора и только потом конкретные продукты. Сравнение популярных систем вынесено в отдельный обзор Zabbix и аналогов; здесь разбирается, как собрать из инструментов рабочий контур.

Слои наблюдения

СлойКакой вопрос задаемПримеры сигналов
Пользовательский результатМожно ли выполнить нужное действиеОткрыть сайт, войти в 1С, получить файл, отправить письмо, установить VPN
ПриложениеОбрабатывает ли сервис запросы правильно и вовремяОшибки, очередь, время ответа, успешность транзакции, фоновые задания
ПлатформаРаботают ли СУБД, веб-сервер, виртуализация и системные службыСостояние процесса, соединения, репликация, блокировки, сертификаты
ОС и ресурсыЕсть ли запас и признаки деградацииCPU, память, disk latency, место, ошибки файловой системы, перезагрузки
СетьДоступны ли путь, интерфейсы и каналыПотери, задержка, ошибки портов, загрузка, BGP/VPN, Wi-Fi контроллер
Аппаратная средаИсправны ли физические компонентыДиски, RAID, питание, температура, вентиляторы, ИБП
ВосстановлениеМожно ли вернуть сервис после отказаСтатус backup, возраст копии, тест восстановления, репликация
Безопасность и измененияНе появился ли опасный или неожиданный сдвигНовые администраторы, отказ MFA, изменение конфигурации, истечение сертификата

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

Способы сбора данных

МетодГде полезенОграничение
Агент на узлеОС, службы, процессы, журналы, локальные метрики и пользовательские проверкиНужно развертывать, обновлять и защищать агент; он видит систему изнутри
SNMPКоммутаторы, маршрутизаторы, ИБП, принтеры, хранилища и другое оборудованиеКачество данных зависит от MIB и реализации; SNMPv1/v2c использует community без современной защиты
APIОблачные сервисы, гипервизоры, backup, приложения и контроллерыНужны ограниченные учетные данные, контроль лимитов и изменений схемы
WMI/WinRM и удаленные системные интерфейсыWindows-среды, где агент не используетсяСложнее с firewall, полномочиями, нагрузкой и распределенными площадками
ЭкспортерПриложение или устройство отдает метрики в формате системы сбораЭкспортер становится отдельным компонентом, который тоже нужно контролировать
Blackbox-проверкаHTTP, TCP, DNS, ICMP и пользовательский путь с внешней точкиПоказывает симптом, но не внутреннюю причину
ЛогиОшибки, события, аудит и контекст инцидентаБольшой объем, разный формат и риск собрать чувствительные данные без цели
ТрассировкаПуть запроса между компонентами распределенного приложенияТребует поддержки приложением и дисциплины контекста
Flow-телеметрияКто с кем и сколько общается в сетиНе заменяет пакетный анализ и требует емкости для хранения

Агент: активные и пассивные проверки

В Zabbix пассивная проверка означает, что сервер или proxy запрашивает значение у агента. При активной проверке агент получает список элементов, сам собирает данные и отправляет их серверу или proxy. Для узлов за firewall и NAT активная модель часто упрощает сеть, поскольку не требует входящего соединения к агенту.

Это не универсальное правило. Пассивные проверки удобны для непосредственного теста доступности агента из конкретной точки. Активные лучше работают в распределенных и временно нестабильных сетях. В любом варианте нужно определить доверенные адреса, шифрование, идентичность узла и поведение при потере связи.

Распределенная топология

КомпонентРольЧто проверить при отказе
Центральный серверКонфигурация, обработка, история, события и интерфейсКто контролирует сам сервер и как восстановить данные с конфигурацией
Proxy или probe в филиалеЛокальный сбор, буферизация и проверки из нужной сетиСколько данных удерживается при разрыве канала и как заметить отказ proxy
Внешняя точкаПроверка публичного сервиса или VPN независимо от внутренней сетиКак отличить отказ сервиса от проблемы самой точки или интернета
Агенты и экспортерыГлубокие метрики узлов и приложенийВерсии, сертификаты, нагрузка, зависание и пропуск данных
Канал уведомленийДоставка события инженеру и эскалацияЕсть ли резервный канал и контроль доставки критичного сигнала

Для филиала недостаточно проверять VPN только из Москвы. Локальная точка видит серверы и оборудование внутри филиала, центральная - связность между площадками, внешняя - доступность публичного пути. Совмещение трех перспектив помогает понять, где произошел разрыв.

Какие роли выполняют популярные инструменты

Класс или примерОсновная роль в стекеЧего не стоит от него ожидать автоматически
ZabbixЕдиная платформа для агентов, SNMP, API, шаблонов, триггеров и распределенных proxyГотовой карты бизнес-сервисов и нешумных порогов без настройки
PrometheusСбор временных рядов, особенно для приложений и cloud-native сред; экосистема exportersПолноценного инвентарного управления офисными устройствами из коробки
GrafanaПанели и работа с несколькими источниками данныхСамостоятельного сбора всех метрик только за счет установки Grafana
PRTGИнтегрированная sensor/probe-модель для сети и смешанной инфраструктурыНеограниченного масштаба без расчета сенсоров, интервалов и лицензирования
OpenTelemetryСтандартизация сбора и передачи метрик, логов и трассировок приложенийГотового интерфейса эксплуатации и хранения без backend-систем
Нативный мониторинг облакаГлубокие сигналы конкретного провайдера и управляемых сервисовЕдиной картины локальной сети, другого облака и офисной инфраструктуры
Лог-платформаПоиск событий, корреляция и расследованиеЗамену числовых метрик и регулярных blackbox-проверок

Метрики, логи и трассировки не конкурируют

OpenTelemetry разделяет основные сигналы на metrics, logs и traces. Метрика показывает динамику и позволяет быстро обнаружить отклонение. Лог дает подробность конкретного события. Трассировка связывает путь одного запроса между компонентами. Для обычного файлового сервера трассировка может быть не нужна, а для распределенного веб-приложения без нее трудно найти медленный участок.

Собирать все логи «на всякий случай» дорого и небезопасно. Для каждого источника нужны цель, поля, срок хранения, доступ и сценарий использования. Пароли, токены, персональные и бизнес-данные не должны случайно попадать в телеметрию.

Как проектировать события

  1. Назвать симптом. Что именно стало хуже: доступность, задержка, емкость, ошибка или нарушение зависимости.
  2. Связать с услугой. Какие пользователи и процессы затронуты.
  3. Определить порог и длительность. Короткий пик и устойчивое нарушение требуют разной реакции.
  4. Учесть зависимости. Если недоступен маршрутизатор филиала, не отправлять отдельную аварию по каждому компьютеру.
  5. Назначить владельца. Уведомление идет тому, кто может выполнить действие или эскалировать.
  6. Добавить контекст. Последние значения, связанный узел, известная инструкция и окно обслуживания.
  7. Определить восстановление. Событие закрывается после нормализации и контрольной проверки сервиса.

Как выбрать стек под среду

СредаБазовый контурЧто добавлять по мере необходимости
Офис с Windows/Linux, сетью и VPNИнтегрированная платформа с агентами, SNMP, blackbox и proxyЦентрализацию журналов и внешнюю проверку критичных сервисов
Несколько филиаловЛокальные proxy/probe, центральная панель и независимый контроль каналовСинтетические пользовательские проверки и анализ потоков
Собственное веб-приложениеМетрики приложения, хоста, базы и blackboxЛоги, трассировки и реальные показатели пользовательского опыта
Облачная инфраструктураНативные сигналы провайдера плюс единая эскалацияOpenTelemetry, внешние проверки и кросс-облачную агрегацию
Сеть и большое число устройствSNMP, интерфейсы, ошибки, топология, конфигурационные событияFlow, syslog и проверку сервисов поверх сети

Пилот до полного внедрения

  1. Выбрать три-пять критичных сервисов и по одному типовому объекту каждого класса.
  2. Для каждого сервиса задать пользовательскую проверку и внутренние причины.
  3. Развернуть сбор в одной площадке и проверить нагрузку, firewall, доступы и хранение.
  4. Имитировать допустимые отказы: остановка тестовой службы, потеря proxy, заполнение тестового тома, истечение тестового сертификата.
  5. Проверить доставку, эскалацию, подавление зависимых событий и закрытие после восстановления.
  6. Измерить объем данных и труд сопровождения за несколько недель.
  7. Только после этого переносить шаблон на остальные узлы и филиалы.

Критерии приемки

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

Официальные материалы

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