В отличие от одного сервера, средства мониторинга которого мы разобрали в прошлой статье, кластер состоит из нескольких взаимосвязанных серверов, поэтому его мониторинг не сводится к одновременному просмотру загрузки процессора, памяти и дисков на каждом узле. Необходимо видеть состояние всей системы: сколько узлов доступно, равномерно ли распределена нагрузка, работают ли сетевые связи и планировщик задач, хватает ли вычислительных ресурсов и влияет ли отказ одного сервера на доступность сервисов.
Главная задача кластерного мониторинга – быстро ответить на три вопроса: что именно отказало, насколько это повлияло на кластер и какие действия нужно выполнить. Для этого данные со всех серверов объединяют в общей системе мониторинга или распределённой инфраструктуре сбора, где их можно сопоставлять, хранить, визуализировать и использовать для уведомлений.
Отличия от одного сервера
Мониторинг одного сервера обычно отвечает на простые вопросы: хватает ли процессора и памяти, заполнен ли диск, доступна ли служба, не перегрелось ли оборудование. Данные часто собираются и просматриваются на самом контролируемом сервере.
В кластере этого недостаточно. Необходимо контролировать состав и доступность узлов, состояние управляющих компонентов, баланс нагрузки, сетевые связи между серверами, репликацию данных, общий объём свободных ресурсов и работу планировщика задач. Система мониторинга должна оставаться доступной при отказе одного или нескольких рабочих узлов.
Например, высокая загрузка процессора на одном узле может быть допустима, если планировщик распределяет задачи неравномерно или остальные серверы временно свободны. А вот недоступность двух управляющих узлов, рост задержки межузловой сети или отставание реплик базы данных – события, которые требуют реакции независимо от текущей загрузки CPU.
Что необходимо контролировать в кластере
Базовые показатели отдельных узлов остаются важными: процессор, память, диски, задержки операций ввода-вывода, сеть, температура, состояние служб и успешность резервного копирования. Но в кластере к ним добавляются агрегированные и логические показатели.
Состав кластера: число зарегистрированных, работоспособных и недоступных узлов; состояние управляющих узлов; наличие кворума.
Распределение нагрузки: свободные ресурсы по группе серверов, дисбаланс CPU, памяти, дисков и GPU; очереди задач.
Сеть: задержки между узлами, потери пакетов, ошибки интерфейсов, доступность DNS, балансировщиков, внутренних маршрутов и сетевых хранилищ.
Данные: отставание реплик, статус синхронизации, заполнение распределённых томов, ошибки дисков и задержки сетевого хранилища.
Контейнеры и оркестрация: состояние управляющей плоскости, число незапущенных и перезапускающихся контейнеров, нехватка ресурсов для размещения задач.
Сервисы: доступность API, баз данных, очередей сообщений, кэшей, шлюзов и других точек, от которых зависит приложение.
Этот набор нельзя копировать без изменений между системами. Для кластера виртуализации ключевыми будут состояние гипервизоров, миграции и общее хранилище. Для базы данных – кворум и отставание реплик. Для Kubernetes – узлы, контейнеры, задания и планировщик. Для GPU-кластера – доступность ускорителей и очереди вычислительных задач.
Из чего состоит система мониторинга
Полноценный кластерный мониторинг обычно строится из нескольких уровней.
Инфраструктурный контроль получает данные от ОС, датчиков оборудования, коммутаторов, систем питания и виртуализации. Он отвечает на вопросы: “доступен ли узел”, “исправен ли RAID”, “работает ли сетевой порт”, “какая температура в сервере”.
Хранилище метрик принимает числовые показатели со всех источников и сохраняет их во времени. На этих данных строят графики загрузки, прогнозируют потребность в ресурсах и находят корреляции между событиями.
Журналы событий фиксируют конкретные сообщения ОС, приложений и оборудования. Метрики покажут рост ошибок, а журналы помогут установить, что именно произошло: например, отказ аутентификации, перезапуск службы или ошибка файловой системы.
Трассировка запросов нужна распределённым приложениям. Она отображает путь одного пользовательского запроса через API, очереди, базы данных и микросервисы. Это помогает найти компонент, где возникла задержка или ошибка. OpenTelemetry - открытый стандарт и набор средств инструментирования для генерации, сбора и передачи метрик, журналов и трассировок. Общий контекст позволяет связывать эти виды телеметрии между собой.
Уведомления преобразуют поток данных в действия: группируют связанные события, подавляют вторичные сообщения и направляют критичные аварии нужному человеку или системе.
Инфраструктурные платформы
Zabbix
Zabbix – полноценная платформа для мониторинга кластеров из физических серверов, виртуальных машин, сетевого оборудования и систем хранения. Она объединяет сбор показателей, историю, дашборды, триггеры, уведомления и автоматические действия. Поддерживаются агенты, SNMP, IPMI, JMX, SSH и HTTP-проверки. Через шаблоны и автоматическое обнаружение можно контролировать отдельные узлы, сетевые интерфейсы, файловые системы, виртуальные машины, хранилища и сервисы.
Для распределённой инфраструктуры используют Zabbix Proxy. Он собирает показатели в удалённом сегменте, снижает нагрузку на центральный сервер и буферизует данные при временной потере связи. При этом вычисление триггеров и отправка уведомлений остаются задачей центрального Zabbix Server.
Подходит для: традиционных и смешанных кластеров, в которых есть Linux и Windows-серверы, виртуализация, сетевое оборудование, системы хранения, ИБП и аппаратные датчики.
Плюсы: единая система для серверов, сетей, виртуализации и оборудования. Поддержка SNMP, IPMI и готовых шаблонов. Гибкие уведомления, зависимости событий и распределённый сбор через Zabbix Proxy.
Минусы: требует больше ручной настройки для Kubernetes и контейнеров. При большом потоке метрик нужно отдельно масштабировать сервер и базу данных. Для глубокой GPU-телеметрии удобнее стек Prometheus + Grafana.
Checkmk
Checkmk – зрелая система инфраструктурного мониторинга для серверов, виртуальных машин, сетевых устройств, систем хранения и сервисов. Её сильная сторона – автоматическое обнаружение служб, готовые проверки для распространённого оборудования и централизованная работа с агентами и SNMP.
Для кластера Checkmk полезен распределённый режим: центральный узел объединяет несколько площадок мониторинга, передаёт им конфигурацию и показывает результаты в единой панели.
Подходит для: традиционного кластера из физических серверов и виртуальных машин, нескольких площадок, сетевого оборудования, SAN/NAS и инфраструктуры, где важны готовые проверки.
Плюсы: широкий охват оборудования, автоматическое обнаружение, удобная модель состояния сервисов, развитый контроль SNMP и возможность распределённого развёртывания.
Минусы: часть корпоративных возможностей требует коммерческой редакции. Менее естественен для быстро меняющихся контейнерных сред, чем системы, построенные вокруг меток и временных рядов.
Icinga и Nagios
Nagios – одна из старейших систем мониторинга, основанная на проверках состояния: доступен ли хост, отвечает ли служба, не превышен ли заданный порог. Icinga развивает этот подход, добавляя более современный интерфейс, API и возможности автоматизации.
Их ценность для кластера – огромная экосистема плагинов. Если инфраструктура включает специфичное оборудование, редкое ПО или закрытые сервисы, часто уже существует готовая проверка либо её можно написать как простой сценарий. Однако за гибкость приходится платить ручной настройкой и необходимостью самостоятельно строить удобную визуализацию и хранение детальных метрик.
Подходит для: традиционных кластеров, нестандартных сервисов, legacy-систем и инфраструктуры, где важнее контроль доступности и строгие проверки, чем сложная аналитика временных рядов.
Минусы: трудоёмкая конфигурация, слабее работа с высокочастотными метриками и контейнерами, менее удобная визуализация без дополнительных компонентов.
LibreNMS и NetXMS
LibreNMS ориентирован на автоматическое обнаружение и контроль сетевого оборудования по SNMP: коммутаторов, маршрутизаторов, точек доступа, источников бесперебойного питания и PDU. NetXMS объединяет контроль серверов и сети, поддерживая агенты, SNMP и сетевые протоколы.
Эти решения не заменяют систему наблюдения за приложениями, но особенно полезны, когда основной риск кластера связан с сетью: отказом коммутатора, перегрузкой каналов, потерей резервного пути или проблемами электропитания. Для кластера с несколькими стойками или площадками это важный отдельный уровень контроля.
Подходит для: кластеров с большим количеством сетевого оборудования и систем питания, а также для инфраструктуры, где недоступность часто вызвана не приложением, а сетью или железом.
Плюсы: хорошая поддержка SNMP, автообнаружение устройств, топология сети и контроль интерфейсов.
Минусы: ограниченные возможности контроля прикладных метрик и микросервисов. Обычно используются вместе с другой платформой.
Метрики и масштабирование
Prometheus, Grafana и VictoriaMetrics
Prometheus остаётся распространённым инструментом сбора метрик, а Grafana – средством построения дашбордов. Но в крупном кластере важно заранее продумать не только сбор, но и объём хранения: большое число контейнеров и динамических меток быстро увеличивает количество временных рядов.
VictoriaMetrics – высокопроизводительное хранилище временных рядов, совместимое с Prometheus и Grafana. Его можно использовать вместо Prometheus в части хранения или подключить как удалённое хранилище через remote_write. Экосистема VictoriaMetrics совместима с Prometheus: VictoriaMetrics используется для хранения и запросов, vmagent может выполнять сбор и передачу метрик, а vmalert – вычислять recording- и alerting-правила.
Подходит для: Kubernetes, Docker, AI/GPU-кластеров, большого числа метрик, долгого хранения истории и ситуаций, когда локальное хранилище Prometheus перестаёт справляться с нагрузкой.
Плюсы: совместимость с существующими экспортёрами и дашбордами Prometheus/Grafana, масштабируемая кластерная версия, поддержка высокой кардинальности меток и длительного хранения.
Минусы: это ещё один компонент в архитектуре. Не отменяет потребность в агентах, правилах уведомлений и продуманной схеме меток. Небольшому кластеру может быть достаточно обычного Prometheus без усложнения.
InfluxDB и Graphite
InfluxDB и Graphite – альтернативы для хранения временных рядов. InfluxDB остаётся актуальным хранилищем временных рядов, особенно в инфраструктуре, где он уже используется. При новом внедрении важно учитывать поколение продукта: актуальная линейка InfluxDB 3 ориентирована прежде всего на SQL и InfluxQL, тогда как Flux находится в режиме сопровождения. А Graphite остаётся простым и проверенным вариантом для классических числовых показателей.
Сегодня эти решения реже выбирают с нуля для Kubernetes, поскольку вокруг Prometheus сформировалась более широкая экосистема экспортёров и готовых интеграций. Однако они остаются разумным выбором при наличии существующей установки, специфических требований к загрузке данных или совместимости со старыми системами.
Журналы и трассировка
Elastic Stack и Grafana Loki
Для централизованного сбора журналов часто применяют Elastic Stack: Elasticsearch хранит и индексирует записи, Logstash или Fluent Bit доставляет их, а Kibana используется для поиска и визуализации. Такой стек полезен, когда нужно быстро найти сообщения конкретного контейнера, узла или приложения за период инцидента.
Grafana Loki решает схожую задачу, но ориентирован на более экономное хранение журналов: вместо индексирования полного текста он в основном индексирует метки. Loki особенно удобно использовать вместе с Grafana и метриками Prometheus, но для сложного полнотекстового поиска и аналитики Elastic Stack часто остаётся мощнее.
Подходит для: кластеров с контейнерными приложениями, требующих централизованного расследования ошибок и сопоставления журналов с метриками.
Минусы Elastic Stack: заметные требования к ресурсам и сложность эксплуатации при большом потоке журналов.
Плюсы Loki: естественная интеграция с Grafana, сравнительно экономичное хранение, единый интерфейс с графиками.
Минусы Loki: менее удобен для произвольного полнотекстового поиска по сравнению с Elasticsearch.
OpenTelemetry, Jaeger и Tempo
Метрики показывают, что проблема существует, журналы объясняют конкретные события, а трассировки помогают увидеть путь запроса между компонентами. Это критично для микросервисов: высокая задержка API может быть вызвана базой данных, очередью сообщений, сетевым вызовом или другим сервисом.
OpenTelemetry не является готовой базой данных или панелью мониторинга. Это стандарт и набор средств инструментирования, которые собирают метрики, журналы и трассировки в согласованном формате. Их можно передавать в Jaeger, Grafana Tempo, SigNoz, Elastic или коммерческие платформы.
Подходит для: распределённых приложений, микросервисов, API-шлюзов и сложных цепочек обработки данных.
Плюсы: независимость от конкретного поставщика, единый контекст между метриками, журналами и трассировками.
Минусы: требует доработки приложений или настройки автоматического инструментирования. Хранение полного объёма трассировок может быть дорогим, поэтому необходима выборка данных.
Комплексные платформы
SigNoz
SigNoz – самостоятельно развёртываемая платформа наблюдаемости, построенная вокруг OpenTelemetry. Она объединяет показатели, журналы и трассировки в одном интерфейсе, поэтому уменьшает число отдельных компонентов, которые приходится изучать и поддерживать.
Подходит для: команд, которым нужны метрики, журналы и трассировки, но не хочется самостоятельно объединять Prometheus, Loki, Tempo и Jaeger.
Плюсы: единый интерфейс и хранилище для нескольких видов телеметрии, совместимость с OpenTelemetry, возможность размещения внутри собственной инфраструктуры.
Минусы: менее зрелая экосистема готовых инфраструктурных проверок, чем у Prometheus/Grafana или Zabbix. Всё равно требует ресурсов и навыков эксплуатации.
Datadog, New Relic и Dynatrace
Облачные платформы Datadog, New Relic и Dynatrace предлагают управляемую наблюдаемость: сбор метрик, журналов, трассировок, профилирование и мониторинг приложений уже объединены в сервис. Это позволяет быстрее начать работу и снизить нагрузку на собственную команду эксплуатации.
Их основное ограничение – цена и зависимость от поставщика. При росте количества серверов, контейнеров, журналов и трассировок стоимость может стать заметной частью бюджета, поэтому до внедрения важно оценить объём телеметрии и правила хранения.
Подходит для: облачных кластеров, команд без ресурсов на поддержку собственных платформ наблюдаемости и компаний, готовых платить за скорость внедрения и поддержку.
Минусы: расходы при масштабировании, ограниченный контроль над хранением данных и зависимость от поставщика.
GPU и вычислительные кластеры
В GPU-кластере недостаточно контролировать загрузку серверов. Нужно видеть фактическое использование каждого ускорителя: загрузку вычислительных ядер, видеопамять, температуру, энергопотребление, троттлинг из-за перегрева, ECC-ошибки на поддерживаемых моделях и события драйвера NVIDIA.
Для NVIDIA обычно используют DCGM Exporter: он получает телеметрию через NVIDIA Data Center GPU Manager и делает её доступной в формате, совместимом с Prometheus. Его можно запускать на каждом GPU-узле как контейнер или службу. Для Kubernetes доступны готовые варианты установки.
Вычислительный кластер также требует контроля планировщика. Если применяется Slurm, полезно отслеживать длину очереди, время ожидания, доступные разделы, число занятых и свободных GPU, причины невыполнения заданий и эффективность использования выделенных ресурсов. В Kubernetes аналогичную роль играют показатели размещения контейнеров, ожидающих заданий и распределения GPU между рабочими нагрузками.
Практичная архитектура для GPU-кластера включает:
агенты ОС на каждом узле
DCGM Exporter на серверах с NVIDIA GPU
Prometheus или VictoriaMetrics для временных рядов
Grafana для общей картины и детального анализа
систему журналов для событий драйверов, контейнеров и планировщика
Alertmanager или аналог для уведомлений
отдельные или отказоустойчивые узлы, на которых работает сам мониторинг.
Выбор решения по сценариям
Рекомендуемые средства мониторинга для разных инфраструктурных сценариев и обоснование выбора.
Сценарий
Рекомендуемые средства
Почему
Кластер физических серверов, виртуальных машин и сетевого оборудования
Checkmk или NetXMS; LibreNMS как специализированное дополнение при большом объёме сетевого оборудования.
Checkmk и NetXMS могут самостоятельно контролировать серверы и сеть; LibreNMS особенно полезен, если требуется более специализированный сетевой мониторинг.
Традиционный смешанный кластер
Zabbix
Единая система для Linux, Windows, виртуализации, SNMP, IPMI, уведомлений и зависимостей событий
Нестандартные или устаревшие приложения
Icinga или Nagios
Легко добавить собственную проверку через сценарий или плагин
Kubernetes или Docker
Prometheus + Grafana; при росте объёма данных можно добавить: VictoriaMetrics, Grafana Mimir или Thanos.
Подходит для динамических объектов, собственных метрик и длительного хранения
Микросервисное приложение
OpenTelemetry + Tempo/Jaeger + Loki/Elastic Stack
Связывает метрики, журналы и путь запроса между сервисами
Показывает использование ускорителей, очереди задач и аппаратные ошибки
Кластер с несколькими площадками
Checkmk в распределённом режиме или Zabbix с прокси
Позволяет собирать данные локально и централизованно управлять мониторингом
Облачный кластер без выделенной команды эксплуатации
Datadog, New Relic или Dynatrace
Управляемая платформа с готовыми интеграциями и единым интерфейсом
Нужна единая развёртываемая платформа для метрик, журналов и трассировок
SigNoz + OpenTelemetry
Меньше разрозненных компонентов, единый формат телеметрии
Заключение
Мониторинг кластера отличается от наблюдения за одним сервером тем, что объектом контроля становится не отдельная машина, а взаимосвязанная система. Нужно отслеживать не только ресурсы узлов, но и доступность управляющих компонентов, сеть, хранилище, репликацию, очереди, баланс нагрузки и влияние отказа на сервисы.
Выбор платформы стоит начинать с типа кластера. Checkmk, LibreNMS и NetXMS хорошо закрывают традиционную инфраструктуру и сеть. Icinga и Nagios полезны для нестандартных проверок. Prometheus вместе с VictoriaMetrics подходит для контейнеров и большого объёма показателей. Elastic Stack или Loki дополняют систему журналами. OpenTelemetry и Tempo либо Jaeger помогают анализировать распределённые запросы. Для GPU-кластера необходим отдельный слой телеметрии через DCGM Exporter.
Необязательно внедрять все компоненты сразу. Для начала достаточно закрыть критичные узлы, сеть, хранилище и пользовательские сервисы, а затем добавить журналы, трассировку и специализированные метрики. Главное – чтобы мониторинг был вынесен за пределы рабочих узлов, сохранял историю и уведомлял о первопричине аварии, а не создавал поток повторяющихся сообщений.
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Скидка 1 500 ₽ или бесплатная доставка - уже сейчас 🔥
Мы ценим обратную связь от клиентов. При оформлении заказа вы можете сообщить о своём намерении поделиться впечатлением о работе ServerFlow после получения товара.
* - скидка предоставляется при покупке от 30 000 рублей, в ином случае предусмотрена бесплатная доставка до ПВЗ СДЭК.
Продолжная использовать наш сайт, вы даете согласие на использование файлов Cookie, пользовательских данных (IP-адрес, вид операционной системы, тип браузера, сведения о местоположении, источник, откуда пришел на сайт пользователь, с какого сайта или по какой рекламе, какие страницы
открывает и на какие страницы нажимает пользователь) в целях функционирования сайта, проведения статистических исследований и обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.
При оформлении заказа в ServerFlow вы можете сообщить о намерении оставить отзыв о нашей работе после получения товара.
Нам важно ваше честное мнение. Оно помогает развивать сервис и даёт другим клиентам представление о нашей работе.
Вы можете оставить отзыв на удобной для вас платформе:
Google Maps
2GIS
Яндекс Карты
Как работает акция
Применяя промокод, вы подтверждаете намерение поделиться впечатлением о работе ServerFlow после получения заказа. Мы применяем бонус уже к текущему заказу в знак благодарности за обратную связь.
Условия акции:
скидка 1 500 ₽ при заказе от 30 000 ₽
или бесплатная доставка* при заказе до 30 000 ₽
* Бесплатная доставка заказа осуществляется до ПВЗ СДЭК.