АНАЛИЗ СИСТЕМЫ SELFMONITORING ДЛЯ МОНИТОРИНГА РЕСУРСОВ КЛАСТЕРА SMART MONITOR С ЦЕЛЬЮ ПОВЫШЕНИЯ МАСШТАБИРУЕМОСТИ И ОТКАЗОУСТОЙЧИВОСТИ

АНАЛИЗ СИСТЕМЫ SELFMONITORING ДЛЯ МОНИТОРИНГА РЕСУРСОВ КЛАСТЕРА SMART MONITOR С ЦЕЛЬЮ ПОВЫШЕНИЯ МАСШТАБИРУЕМОСТИ И ОТКАЗОУСТОЙЧИВОСТИ

Авторы публикации

Рубрика

Информационные технологии

Просмотры

103

Журнал

Журнал «Научный лидер» выпуск # 20 (221), Май ‘25

Поделиться

В статье рассматривается разработка и внедрение системы SelfMonitoring для мониторинга ресурсов кластера платформы Smart Monitor. Основное внимание уделяется выявлению и устранению проблем, связанных с масштабируемостью и отказоустойчивостью, в условиях перехода на отечественные программные решения. Исследование охватывает описание архитектуры системы, разработанные математические модели управления жизненным циклом индексов и обеспечения отказоустойчивости, а также автоматизацию процессов конфигурации мониторинга. Приведены основные инновационные решения, включая адаптивное управление данными и алгоритмы фильтрации метрик. Результаты демонстрируют эффективность интеграции Smart Monitor для обеспечения стабильности и надежности инфраструктуры.

Введение

В условиях перехода критически важных информационных систем на отечественные программные решения все более актуальным становится анализ и оптимизация систем мониторинга, обеспечивающих стабильную работу инфраструктуры. Существующие зарубежные платформы столкнулись с рядом ограничений. В частности, Splunk – популярная система сбора и анализа логов – имеет проблемы с производительностью на больших объемах данных и высокую стоимость масштабирования. Кроме того, после внезапного ухода компании Splunk с российского рынка в 2019 году платформа осталась без полноценной технической поддержки. Это создает риски для надежности эксплуатации и стимулирует поиск альтернативных решений, способных обеспечить эффективный сбор и анализ телеметрии в масштабируемом и отказоустойчивом режиме.

В данной работе исследуется система SelfMonitoring для кластера платформы Smart Monitor, разработанной компанией Volgablob. Smart Monitor представляет собой отечественную универсальную платформу сбора и анализа машинных данных, ориентированную на задачи кибербезопасности и мониторинга ИТ-инфраструктуры. Научная новизна исследования состоит в разработке и применении новых подходов к самоконтролю кластера – в частности, адаптивного управления данными (жизненным циклом хранилищ) и вероятностного анализа отказов – с целью повышения масштабируемости и отказоустойчивости системы. Такая комбинация прикладных решений и научного подхода позволяет обеспечить адаптивность мониторинга и способность системы к самооптимизации в реальном времени.

Обзор литературы и анализ существующих решений

Проблемы мониторинга ресурсов кластера на примере Splunk

Ранее для отслеживания состояния кластера использовалась система мониторинга на базе Splunk, однако опыт эксплуатации выявил ряд существенных проблем. Во-первых, производительность: при больших объёмах данных поисковые запросы и построение дашбордов в Splunk могут выполняться медленно, что затрудняет оперативное обнаружение инцидентов. Известно, что по мере роста объёма данных требования к оптимизации поиска в Splunk возрастают и при недостаточной оптимизации запросы и панели мониторинга тормозят, особенно на больших наборах данных. Во-вторых, поддержка и лицензирование. После ухода разработчика Splunk из России в 2019 году система осталась без официальной поддержки, что означает отсутствие обновлений безопасности и невозможность легально расширить или продлить лицензии. Более того, модель лицензирования Splunk основана на объёме индексируемых данных – при превышении определённого суточного объёма стоимость резко возрастает. На практике это приводило к необходимости искусственно ограничивать объём собираемых логов и метрик, чтобы не превышать квоты, а также вызывало ошибки репликации данных из-за лицензионных ограничений, снижая полноту мониторинга. В-третьих, общая стоимость владения такой системой возрастает непропорционально нагрузке. Масштабирование кластера под рост данных влечёт экспоненциальный рост расходов на лицензии Splunk. Все перечисленные проблемы делают традиционные решения типа Splunk менее приемлемыми в условиях растущих требований к мониторингу отечественных инфраструктур, что мотивирует поиск альтернатив.

Обоснование выбора Smart Monitor в качестве альтернативы

В качестве замены Splunk было выбрано отечественное решение Smart Monitor от компании Volgablob. Данная платформа обеспечивает централизованный сбор, хранение и анализ событий с различных источников (серверы, сети, приложения и пр.) и изначально разрабатывалась как аналог Splunk, способный работать на открытых технологиях. Выбор Smart Monitor обоснован рядом преимуществ:

  • Локальная поддержка и соответствие требованиям безопасности. Smart Monitor является российской разработкой и включён в реестр отечественного ПО, что гарантирует наличие локальной технической поддержки и соблюдение нормативных требований. После ухода Splunk компания Volgablob (ранее единственный партнёр Splunk в РФ) сосредоточилась на создании собственного продукта с учётом потребностей российских клиентов.
  • Отсутствие жёстких лицензионных ограничений. В Smart Monitor отсутствует лицензирование по объёму данных. Вместо этого применяется лицензирование по модулям функциональности, не привязанное к количеству собираемой информации. Это устраняет проблему резкого роста затрат при масштабировании: организации могут накапливать большие массивы логов и метрик без риска выйти за пределы лицензии. В переходе с Splunk на Elastic Stack важным преимуществом стало избавление от тарификации по объёму данных.
  • Открытая архитектура на базе Elastic Stack. Smart Monitor базируется на открытом стеке Elasticsearch/OpenSearch (Elastic Stack). Использование компонентов с открытым кодом – Elasticsearch/OpenSearch, Kibana, Beats, Logstash и др. – обеспечивает гибкость и масштабируемость системы. Переход с проприетарной платформы Splunk на Elastic Stack позволил сохранить богатые возможности поиска и аналитики, характерные для Splunk, но без привязки к закрытой экосистеме. За счёт открытости платформа может интегрироваться с различными хранилищами данных; так, в Smart Monitor реализована технология сквозного поиска Search Anywhere™, позволяющая выполнять единый поиск одновременно по разным хранилищам данных без повторной индексации.
  • Масштабируемость и производительность. Практика показала, что Smart Monitor готов к масштабированию как горизонтально, так и вертикально под увеличивающуюся нагрузку. По функциональности платформа не уступает зарубежным аналогам: обеспечивается сбор и анализ разнородных данных в реальном времени, есть возможность динамически распределять нагрузку по узлам кластера. Реализована интеграция с высокопроизводительными хранилищами (помимо Elasticsearch/OpenSearch поддерживаются ClickHouse, Hadoop и др.), что позволяет обрабатывать неограниченные объёмы данных. Также в Smart Monitor предусмотрена гибкая система уведомлений о нештатных ситуациях (email, SMS, мессенджеры и пр.) для быстрого реагирования на инциденты.

Таким образом, Smart Monitor был выбран как перспективная платформа благодаря сочетанию локальной поддержки, открытой масштабируемой архитектуры и отсутствию ограничений, присущих Splunk. На базе Smart Monitor был реализован модуль SelfMonitoring – система самоконтроля, предназначенная для мониторинга ресурсов самого кластера Smart Monitor.

Другие решения: Grafana и Zabbix

Помимо Splunk, широко используются и открытые инструменты мониторинга, такие как Grafana и Zabbix, однако их функциональные возможности и области применения отличаются. Grafana представляет собой преимущественно систему визуализации данных и дашбордов; она не имеет собственных средств сбора и индексации логов, полагаясь на внешние источники (Prometheus, Elastic и т.д.). Иными словами, Grafana не является полноценной заменой Splunk сама по себе, а служит для удобного представления метрик и логов, интегрируясь с другими системами хранения данных. Zabbix, в свою очередь, – это классическая система инфраструктурного мониторинга, ориентированная на сбор метрик с серверов, сетевого оборудования и приложений. Zabbix хорошо справляется с отслеживанием показателей в режиме реального времени и оповещением по триггерам, однако менее приспособлен для гибкого поиска по большим объёмам логов и событий. По масштабируемости Zabbix может охватывать тысячи узлов, хотя для очень крупных инсталляций требуется тщательная оптимизация и мощная СУБД. Главное преимущество Zabbix – открытость и бесплатность: система распространяется как open-source и не требует плат за лицензии, что делает её экономически выгодной для многих организаций. Однако ограниченные возможности визуализации и анализа исторических данных заставляют зачастую дополнять Zabbix другими инструментами (например, Grafana для графиков). В контексте задачи мониторинга кластера Smart Monitor, Grafana и Zabbix могли бы использоваться в составе решения (Grafana – для построения кастомных дашбордов, Zabbix – для мониторинга базовых метрик инфраструктуры). Тем не менее, только связка, основанная на Elastic Stack (как реализовано в Smart Monitor), обеспечивает одновременно масштабируемый сбор и поиск по логам, метрикам и событиям, сопоставимый с возможностями Splunk.

Сравнительный анализ систем мониторинга

Для наглядного сравнения ключевых характеристик решений Smart Monitor и вышеупомянутых систем мониторинга сведём основные параметры в таблицу:

Таблица 1.

Сравнение систем мониторинга: Smart Monitor, Splunk, Grafana, Zabbix

Критерий

Smart Monitor

(VolgaBlob)

Splunk

(USA)

Grafana

(open source)

Zabbix
(open source)

Архитектура и ядро

Открытый стек (Elasticsearch/OpenSearch, Kibana, Beats, и др.); модульная архитектура, поддержка кластеризации.

Проприетарная платформа; масштабируемый кластер индексирующих и поисковых узлов.

Платформа визуализации; зависит от внешних БД (Prometheus, Elastic и т.д.) для хранения данных.

Монолитное серверное приложение (C/SQL + веб-интерфейс на PHP); может масштабироваться через прокси-агенты.

Данные и фокус

Машинные данные (логи, метрики, события безопасности); полнотекстовый поиск + аналитика.

Машинные данные (логи, метрики, события безопасности); полнотекстовый поиск b аналитика.

Метрики и логи (через плагины/источники); основное назначение – визуализация и панели мониторинга.

Инфраструктурные метрики (CPU, память, сеть и пр.), состояния сервисов; мониторинг доступности и производительности.

Лицензирование

Коммерческое ПО, лицензии по функциональным модулям (отсутствуют ограничения по объёму данных).

Коммерческое ПО, высокая стоимость; лицензия по объёму индексируемых данных (рост данных сильно увеличивает затраты)​.

Open-source (AGPL); бесплатна, есть коммерческая поддержка (Grafana Enterprise); затраты главным образом на инфраструктуру БД.

Open-source (GPL); бесплатна, платная поддержка опционально; требуется собственная БД и сервер, затраты – на инфраструктуру.

Производительность

Высокая: горизонтальное масштабирование за счёт кластерного Elastic-хранилища; удерживает большие объёмы данных, адаптивное управление индексами.

Высокая, но требует мощной инфраструктуры; масштабируется горизонтально (кластер Search Head, Indexer); на больших данных возможны задержки без оптимизации​

Зависит от производительности источника данных (сама Grafana не хранит много данных); масштабируется путём масштабирования внешних хранилищ (Prometheus кластер и пр.).

Высокая для метрик в пределах tens тысяч узлов; узким местом может стать СУБД при очень больших масштабах; требуются тюнинг и разбиение на дочерние серверы при росте.

Визуализация и UI

Встроенный веб-интерфейс (на базе Kibana) с дашбордами; возможно создание кастомных панелей.

Встроенный UI: интерактивные дашборды, поиск через SPL, множество приложений и интеграций.

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

Веб-интерфейс для конфигурации и графиков метрик; визуализация менее гибкая, чем в Grafana (при необходимости Grafana подключается поверх).

Оповещения (alerting)

Гибкая система оповещений о нештатных ситуациях (email, SMS, мессенджеры и т.д.) встроена в платформу​

Есть система alerting (SignalFX/Splunk Infrastructure Monitoring) и интеграции; в Splunk Enterprise Security – развитый alerting для инцидентов.

Имеется базовый alerting по метрикам и правилам (Grafana Alerting); для сложного анализа требует сторонние инструменты.

Сильная встроенная система триггеров и оповещений по правилам; давно отработанная схема оповещения для метрик.

Поддержка и сообщество

Официальная техподдержка в РФ от разработчика (Volgablob); пользовательское сообщество развивается.

Широкое мировое сообщество, документация; в РФ официальной поддержки нет (с 2019 г.).

Очень большое сообщество open-source, тысячи плагинов; поддержка через сообщество или покупка Enterprise.

Сообщество open-source, форумы; коммерческая поддержка через партнеров или компанию Zabbix.

Лицензия ФСТЭК

Да

Нет

Нет

Нет

 

Таблица 2.

Выводы по сравнению систем мониторинга

Критерий

Smart Monitor

(VolgaBlob)

Splunk

(USA)

Grafana

(open source)

Zabbix
(open source)

Поддержка РФ

Да

Нет

Нет

Да

Лицензирование

Модульное

Объемное

Бесплатное

Бесплатное

Масштабируемость

Высокая

Высокая

Средняя

Низкая

Интеграция с Elastic

Да

Нет

Частично

Нет

Лицензия ФСТЭК

Да

Нет

Нет

Нет

 

Из таблицы 1 видно, что Smart Monitor стремится объединить достоинства нескольких решений. По возможностям сбора и анализа данных он сопоставим со Splunk, но базируется на открытом коде (Elastic Stack). При этом Smart Monitor ориентирован на комплексный подход: как и Splunk, он способен обрабатывать большие объёмы разнородных данных, но без лицензий, зависящих от объёма, и с возможностью локальной поддержки. Grafana и Zabbix, будучи бесплатными, закрывают часть задач (визуализация и базовый мониторинг соответственно), однако в одиночку не обеспечивают всего спектра требований к самомониторингу кластера. Поэтому для задачи внутреннего мониторинга кластера (SelfMonitoring) выбор был сделан в пользу развития возможностей Smart Monitor.

Архитектура системы Smart Monitor и модуля SelfMonitoring

Smart Monitor имеет многоуровневую архитектуру, включающую ядро на базе Elastic Stack (кластер хранения и поиска данных), а также периферийные компоненты для сбора и обработки данных. Модуль SelfMonitoring встроен в эту архитектуру и использует стандартные механизмы платформы для сбора метрик о работе самого кластера.

Агенты сбора метрик

На каждом узле кластера Smart Monitor запускается агент Smart Beat – специализированная версия Beats, разработанная Volgablob. Smart Beat собирает телеметрию узла: загрузку CPU, использование памяти, показатели IO (операции ввода-вывода), состояние дисков, а также метрики работы сервисов платформы (например, производительность Logstash, длина очередей сообщений и пр.). Перечень собираемых метрик и частота их опроса настраиваются в YML-конфигурациях агента, что позволяет гибко адаптировать мониторинг под размер и роль узла. Агент может отправлять данные либо напрямую в кластер OpenSearch Smart Monitor, либо через промежуточный буфер (например, Logstash) в зависимости от настроек.

Хранилище и обработка данных

Собранные метрики поступают в кластер OpenSearch (в составе Smart Monitor Core) и сохраняются в специальных индексах мониторинга. Для каждой категории данных (системные метрики, логи Smart Monitor, и пр.) настроены отдельные индексы с шаблонами mapping, что оптимизирует хранение. С помощью механизмов Index Lifecycle/State Management (ISM) в OpenSearch настроены политики ротации этих индексов. Параллельно, в потоке данных применяются конвейеры обработки (ingest pipelines) для парсинга и обогащения метрик: например, автоматическое добавление меток узла, времени сбора и т.п. Применение конвейеров позволяет унифицировать формат данных от разных агентов и отфильтровывать лишнюю информацию на лету.

Дашборды и визуализация

Для анализа состояния кластера в реальном времени используются дашборды в веб-интерфейсе Kibana, входящем в состав Smart Monitor. Были разработаны панели SelfMonitoring, отображающие ключевые показатели каждого узла: текущую загрузку процессора, объём использованной и свободной памяти, использование дискового пространства, сетевую активность, а также показатели работы служб Smart Monitor (например, скорость обработки логов). Администраторы могут в едином окне видеть «узкие места» системы – узлы с повышенной нагрузкой, растущий объём хранимых данных, задержки в обработке сообщений и т.д. Благодаря интеграции с Kibana все графики интерактивны, позволяя проваливаться в детали (drill-down) вплоть до отдельных метрик и временных интервалов.

Оповещения

Неотъемлемой частью SelfMonitoring является система предупреждений о неполадках. Для каждой метрики определены пороговые значения (статически или на основе исторических данных). При превышении порога генерируется событие-оповещение. Smart Monitor поддерживает гибкую отправку таких оповещений: на email, SMS, в мессенджеры или систему Service Desk. Например, при падении узла или перегрузке CPU администраторы мгновенно получают уведомление. Это позволяет оперативно реагировать на проблемы до того, как они приведут к сбою кластера.Таким образом, модуль SelfMonitoring образует замкнутый контур самоконтроля: агенты непрерывно собирают информацию о состоянии системы, данные хранятся и анализируются в реальном времени, а при отклонениях от нормы автоматически инициируются оповещения и корректирующие действия.

Методика исследования (настройка и автоматизация мониторинга)

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

1. Автоматизированная настройка агентов Smart Beat. Был разработан Python-скрипт для массового развёртывания Smart Beat на узлах кластера. Скрипт подключается по SSH к каждому узлу, устанавливает необходимое ПО (если ещё не установлено) и генерирует конфигурационные файлы Beats на основе шаблона. При этом учитываются параметры конкретного узла (роль, имя хоста и пр.). Скрипт также централизованно обновляет конфигурации: например, при добавлении нового узла в кластер он автоматически регистрируется в системе мониторинга, а при изменении списка отслеживаемых метрик скрипт вносит соответствующие правки в конфигурации всех агентов. Такой подход исключил необходимость ручной настройки каждого узла и существенно ускорил развертывание SelfMonitoring на кластере.

2. Автогенерация политик ISM для индексов. Для эффективного управления жизненным циклом данных мониторинга реализован механизм автоматического создания и обновления ISM-политик (Index State Management) в OpenSearch. Администратору больше не нужно вручную задавать правила ротации и удаления старых индексов – скрипт анализирует типы и объём поступающих данных и генерирует JSON-политику согласно заданным критериям. Например, политика может гласить: при достижении индексом объёма 50 ГБ или возраста 30 дней – перевести его в теплое хранилище; хранить данные не более 90 дней, после чего удалять. Эти параметры заданы в конфигурационном файле и могут корректироваться. Скрипт раз в сутки проверяет актуальность политик: если появился новый тип данных (новый индекс) – он добавляется в соответствующую политику; если изменились требования по сроку хранения – политика автоматически обновляется. В результате актуальность правил хранения данных поддерживается без ручного вмешательства, что предотвращает переполнение хранилища и упрощает сопровождение мониторинга.

3. Шаблоны конвейеров обработки данных. В ходе работы были подготовлены шаблоны ingest-пайплайнов OpenSearch/Logstash для типовых источников данных. Например, для логов Smart Monitor – пайплайн парсинга полей лога, для системных метрик – пайплайн добавления унифицированных полей (имя узла, метка времени и пр.). Шаблоны описываются в виде конфигураций и также автоматически разворачиваются скриптом при инициализации системы. Это позволило быстро интегрировать различные типы данных. При подключении нового компонента достаточно добавить соответствующий шаблон, и скрипт внедрит его в систему. Все данные приводятся к единому формату, что облегчает их дальнейший анализ.

4. Управление сертификатами безопасности. Для защиты передаваемой телеметрии был включён режим шифрования TLS между всеми компонентами (Smart Beat → Logstash/OpenSearch). Настройка TLS обычно требует генерации сертификатов, размещения их на узлах и настройки доверия. В рамках проекта эти шаги также автоматизированы. Создан скрипт, который генерирует самоподписанный сертификат центра (или запрашивает у внутреннего удостоверяющего центра), затем распределяет нужные сертификаты и ключи на все узлы (агентам и в кластер OpenSearch) и выполняет проверку соединения каждого агента по HTTPS. Отчет о результатах проверки выводится автоматически. Это позволило включить шифрование без ошибок конфигурации и с минимальными трудозатратами.

В совокупности, перечисленные меры по автоматизации привели к тому, что развертывание системы SelfMonitoring и её дальнейшая поддержка требуют минимального участия человека. При масштабировании кластера или появлении новых требований конфигурация мониторинга адаптируется скриптами автоматически. Платформа Smart Monitor изначально ориентирована на модульность и автоматизацию (имеет API для управления, поддержку Ansible-плейбуков и пр.), что позволило встроить разработанные решения без серьёзных доработок ядра системы. Автоматизация стала ключевым фактором надежности: даже при быстром росте кластера (добавлении десятков узлов) система самоконтроля масштабируется и перенастраивается в режиме реального времени.

Научная новизна

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

  • Предложена адаптивная модель управления данными мониторинга на основе динамических политик ISM. В отличие от статичных правил ротации логов, модель автоматически подстраивает время хранения данных под текущую загрузку системы и доступные ресурсы хранилища. Это позволило достичь баланса между максимальным сохранением исторических данных и предотвращением переполнения дисков.
  • Разработана вероятностная модель повышения отказоустойчивости при сборе метрик. Введён механизм повторных попыток с экспоненциальным увеличением интервала (exponential backoff) при сбоях отправки данных. Теоретически обосновано, что несколько повторов значительно увеличивают вероятность успешной доставки метрики по сравнению с одной попыткой, тем самым система стала более надёжной к временным сбоям связи.
  • Реализован метод динамической коррекции параметров мониторинга в реальном времени. На основании анализа текущих метрик нагрузки (CPU, память, заполненность дисков) система SelfMonitoring автоматически корректирует параметры своих алгоритмов – например, пороги генерации алертов или временные интервалы для ротации индексов. Это придало системе свойства самоадаптации под изменяющиеся условия работы кластера.
  • Внедрён алгоритм фильтрации шумов метрик на основе экспоненциального сглаживания временных рядов. Тем самым, реагирование на аномальные разовые всплески было снижено, что повысило стабильность работы системы оповещений и управления.

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

Математическая модель компонентов SelfMonitoring

Для строгого описания разработанных подходов представим их в виде формальных моделей и формул.

1. Модель управления жизненным циклом индексов (Index State Management, ISM). Данные мониторинга в Smart Monitor хранятся в индексах OpenSearch, которые регулярно ротируются. Стандартный подход – удалять индексы старше фиксированного срока (например, 90 дней). В предлагаемой модели срок хранения данных адаптируется. Пусть V(t) – суммарный объём данных мониторинга на диске в момент времени t. Введём порог доступного объёма Vmax (емкость хранилища) и желаемую долю свободного места δ. Тогда правило удаления старых данных можно описать так: найти минимальное t*, при котором выполнено V(t*) ≥ (1−δ)Vmax, и удалить данные старше t*. Таким образом, время жизни индексов определяется текущими темпами поступления данных. Формально задача оптимизации можно выразить как поиск такого t*, чтобы минимизировать потерю актуальных данных при условии V(t*) ≤ (1−δ)Vmax. В реализации это достигается через политики ISM: при превышении порога заполненности хранилища старые индексы удаляются ускоренно, а в периоды низкой нагрузки – хранятся дольше. В результате кластер автономно балансирует между глубиной истории и использованием ресурсов.

2. Вероятностная модель отказоустойчивости. При передаче метрик от агентов в кластер вероятность успешной отправки с первой попытки равна p (например, p=0.8 при нестабильной сети). Введём стратегию повторов: при неудаче выполнять повторную попытку, вплоть до nn раз. Вероятность успешной доставки хотя бы с одной из nn попыток определяется по формуле схемы Бернулли:

Psucc(n)=1−(1−p)n

При независимых попытках даже при относительно небольшом p можно добиться близкого к единице шанса успеха. Так, если p=0.8, то уже n=3 даёт Psucc≈0.992 (99,2%). В нашей системе выбран алгоритм с экспоненциальным ростом интервала между повторами (например, 1 с, 2 с, 4 с, ...). Это снижает нагрузку на сеть и кластер, избегая ситуации, когда множество агентов одновременно штурмуют восстановившийся узел. Данный подход существенно увеличил надёжность доставки метрик: вероятность потери данных мониторинга стала пренебрежимо малой.

3. Метод динамической коррекции параметров ISM. Обозначим через T0 базовое время жизни индекса (например, 90 дней). Введём две переменные: нагрузка CPU L (в долях от 1) и заполненность диска D (доля от максимально допустимого). Зададим пороговые значения Lthr (например, 0.8 или 80%) и Dthr  (например, 0.9 или 90%). В моменты высокой загрузки системы нежелательно выполнять ресурсоёмкие операции над индексами (сжатие сегментов, удаление), чтобы не усугублять нагрузку. Напротив, при переполнении диска необходимо ускорить очистку. В качестве модели предлагаем следующую коррекцию времени жизни индекса T:

T=T0(1 + μ I(L > Lthr) – ν I(D > Dthr)),

где I() – индикатор (равен 1, если условие выполняется, и 0 иначе), μ– коэффициент увеличения T при высокой нагрузке (откладывание операций, например μ=0.2 для +20%), ν – коэффициент уменьшения T при заполненном диске (например ν=0.3 для -30%). Таким образом, если CPU перегружен (L>Lthr), время жизни индекса увеличивается до 1+μ от базового, т.е. удаление откладывается. Если диск близок к заполнению (D>Dthr), время жизни сокращается до 1−ν от базового, ускоряя удаление старых данных. При нормальных условиях (L и D в пределах) T=T0. Данный метод позволяет адаптивно менять политику хранения: избегать лишней нагрузки на системе в напряженные моменты и, наоборот, освобождать место при риске дефицита ресурсов. В результате обеспечивается баланс между производительностью и полнотой хранимых данных.

4. Алгоритм фильтрации данных на основе экспоненциального сглаживания. Сырые временные ряды метрик могут содержать случайные всплески, не связанные с деградацией системы (например, разовый скачок CPU из-за фоновой задачи). Чтобы система оповещения не реагировала на такие шумовые выбросы, используется алгоритм экспоненциально взвешенного скользящего среднего (EWMA). Формула рекурсивного сглаживания для метрики xt имеет вид:

St=α xt + (1 − α) St−1,

где St – сглаженное значение метрики в текущий момент, xt – текущее сырое значение, St−1 – сглаженное значение на предыдущем шаге, α – коэффициент сглаживания (0 < α < 1). При меньшем α сглаживание сильнее (больше учитывается прошлое), при α ближе к 1 – реагирование более чуткое. В SelfMonitoring коэффициент α подбирается для каждой метрики экспериментально: например, для CPU выбрано α ≈ 0.3, для памяти – α ≈ 0.1, так как резкие скачки памяти менее критичны, их можно сглаживать сильнее. На основе сглаженных рядов принимаются решения об алертах и коррекции параметров (из п.3): вместо мгновенных значений анализируются тренды за последние минуты. Это позволило значительно снизить число ложных срабатываний оповещений и сделать управление более устойчивым.

Использование комбинации приведённых математических моделей придало системе SelfMonitoring свойства саморегуляции. Адаптивное управление временем жизни данных предотвращает как переполнение хранилища, так и избыточное удаление ценной информации. Вероятностный подход с повторами гарантирует доставку телеметрии даже в условиях сбоев. Сглаживание метрик фильтрует помехи, фокусируя внимание на действительно значимых изменениях. Тем самым, достигнута устойчивость и баланс между глубиной мониторинга и нагрузкой на систему в любой момент времени.

Заключение

Переход от закрытой платформы Splunk к отечественной платформе Smart Monitor с модулем SelfMonitoring позволил существенно повысить эффективность и надёжность мониторинга кластера. В ходе работы были выявлены и устранены узкие места прежнего решения, низкая скорость аналитики на больших данных, внешние риски поддержки и жёсткие лицензионные рамки. Новая система SelfMonitoring продемонстрировала следующие достижения. Во-первых, обеспечена высокая отказоустойчивость сбора и хранения метрик за счёт внедрения вероятностных механизмов повторного выполнения операций – успешность доставки данных стремится к 99,9% даже при наличии временных сбоев. Во-вторых, масштабируемость системы значительно возросла: адаптивные политики управления данными (ISM) и автоматизированная конфигурация позволяют наращивать объём мониторинга без деградации производительности кластера. В-третьих, достигнута автономность и адаптивность мониторинга: кластер сам контролирует своё состояние и в реальном времени подстраивает параметры, фильтруя шум и избегая перегрузок. Это снизило нагрузку на администраторов и минимизировало человеческий фактор при сопровождении системы.

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

Таким образом, система SelfMonitoring на базе Smart Monitor показала свою состоятельность как в технологическом, так и в научно-практическом плане. Она обеспечивает непрерывный самоконтроль кластера, повышая его устойчивость к сбоям и эффективность масштабирования.

Список литературы

  1. CNews (2019) – Степанов Д. «Россияне нашли замену бежавшему из России знаменитому разработчику ПО для анализа данных». CNews, 13.11.2019. Доступно: (Россияне нашли замену бежавшему из России знаменитому разработчику ПО для анализа данных - CNews)
  2. Anti-Malware.ru (2019) – Иванов О. «Новая версия платформы Smart Monitor перешла со Splunk на Elastic Stack». Anti-Malware.ru, 14.11.2019. Доступно: (Новая версия платформы Smart Monitor перешла со Splunk на Elastic Stack)
  3. VolgaBlob – Smart Monitor – Официальный сайт продукта Smart Monitor. Описание архитектуры и модулей платформы. 2019. Доступно: (Smart Monitor – VolgaBlob)
  4. DevOps.com (2025) – Nethala S. “Optimizing Splunk Cloud Performance for Large-Scale Deployments”. DevOps.com, 28.01.2025. Доступно: (Optimizing Splunk Cloud Performance for Large-Scale Deployments – DevOps.com)
  5. OpenSearch Documentation (2023) – “Index State Management”. Official OpenSearch 2.x Documentation, 2023. Доступно: (Index State Management – OpenSearch Docs)
  6. SolarWinds Blog (2017) – “Exponential Smoothing for Time Series Forecasting”. Orange Matter blog, SolarWinds, 22.06.2017. Доступно: (Exponential Smoothing for Time Series Forecasting – SolarWinds)
  7. Last9 Blog (2025) – “7 Splunk Alternatives Worth Checking Out in 2025”. Last9 (Telemetry Data Platform) Blog, 16.02.2025. Доступно: (7 Splunk Alternatives Worth Checking Out in 2025 – Last9.io)
  8. MetricFire Blog (n.d.) – “Grafana vs. Zabbix”. MetricFire Blog. Доступно: (Grafana vs. Zabbix – MetricFire.com)
  9. VolgaBlob (2023) – «VolgaBlob провела нагрузочное тестирование Smart Monitor в Cloud.ru». Статья на Cloud.ru, 2023. Доступно: (Нагрузочное тестирование Smart Monitor – Cloud.ru)
Справка о публикации и препринт статьи
предоставляется сразу после оплаты
Прием материалов
c по
Осталось 7 дней до окончания
Размещение электронной версии
Загрузка материалов в elibrary
Публикация за 24 часа
Узнать подробнее
Акция
Cкидка 20% на размещение статьи, начиная со второй
Бонусная программа
Узнать подробнее