Введение
В условиях перехода критически важных информационных систем на отечественные программные решения все более актуальным становится анализ и оптимизация систем мониторинга, обеспечивающих стабильную работу инфраструктуры. Существующие зарубежные платформы столкнулись с рядом ограничений. В частности, 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 |
Архитектура и ядро |
Открытый стек (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 |
Поддержка РФ |
Да |
Нет |
Нет |
Да |
Лицензирование |
Модульное |
Объемное |
Бесплатное |
Бесплатное |
Масштабируемость |
Высокая |
Высокая |
Средняя |
Низкая |
Интеграция с 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 показала свою состоятельность как в технологическом, так и в научно-практическом плане. Она обеспечивает непрерывный самоконтроль кластера, повышая его устойчивость к сбоям и эффективность масштабирования.
Список литературы
- CNews (2019) – Степанов Д. «Россияне нашли замену бежавшему из России знаменитому разработчику ПО для анализа данных». CNews, 13.11.2019. Доступно: (Россияне нашли замену бежавшему из России знаменитому разработчику ПО для анализа данных - CNews)
- Anti-Malware.ru (2019) – Иванов О. «Новая версия платформы Smart Monitor перешла со Splunk на Elastic Stack». Anti-Malware.ru, 14.11.2019. Доступно: (Новая версия платформы Smart Monitor перешла со Splunk на Elastic Stack)
- VolgaBlob – Smart Monitor – Официальный сайт продукта Smart Monitor. Описание архитектуры и модулей платформы. 2019. Доступно: (Smart Monitor – VolgaBlob)
- 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)
- OpenSearch Documentation (2023) – “Index State Management”. Official OpenSearch 2.x Documentation, 2023. Доступно: (Index State Management – OpenSearch Docs)
- SolarWinds Blog (2017) – “Exponential Smoothing for Time Series Forecasting”. Orange Matter blog, SolarWinds, 22.06.2017. Доступно: (Exponential Smoothing for Time Series Forecasting – SolarWinds)
- 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)
- MetricFire Blog (n.d.) – “Grafana vs. Zabbix”. MetricFire Blog. Доступно: (Grafana vs. Zabbix – MetricFire.com)
- VolgaBlob (2023) – «VolgaBlob провела нагрузочное тестирование Smart Monitor в Cloud.ru». Статья на Cloud.ru, 2023. Доступно: (Нагрузочное тестирование Smart Monitor – Cloud.ru)