Тракт обработки данных в Monq
С основным трактом обработки данных в Monq можно ознакомится по следующей схеме:
Тракт обработки состоит из следующих основных блоков:
- Сбор данных из источников
- Автообнаружение для формирования CMDB
- Непосредственный сбор показателей мониторинга
- Получение отчетов синтетического тестирования
- Предобработка и хранение первичных данных
- Преобразование данных мониторинга в пороги и сигналы
- Расчет здоровья и статусов конфигурационных единиц
- Автоматизация бизнес процессов
Модуль приёма и предобработки данных получает события и метрики, преобразует их в структуру данных Monq – первичные события или пороги. Затем обработанные события помещаются в соответствующие хранилища на основе БД.
Далее данные поступают на обработку в модуль Автоматизации.
Среди сценариев автоматизации могут быть несколько типов сценариев:
- Сценарий корреляции порогов - в сценариях данного типа производится обработка, фильтрация и обогащение событий о сработавших порогах, из сценариев данного типа события отправляются в сценарии сигналов.
- Сценарий автопостроения CMDB - данный тип сценариев предполагает реализацию алгоритма автоматического заведения конфигурационных единиц, обогащение их различными атрибутами и установкой взаимосвязей влияния и подчинения.
- Сценарий обработки отчетов тестирования - в сценариях обработки отчетов тестирования происходит парсинг сборок синтетического (функционального) тестирования. В результате работы данного сценария из отчета извлекается событийная информация, которая поступает в сценарии сигналов для дальнейшей обработки и принятия решений. А также из отчетов извлекаются метрические данные, такие как, например, время прохождения каждого шага тест-кейса в миллисекундах.
- Сценарий корреляции сигналов - в данном типе сценария закладывается вся логика обработки различных событий (первичные события, пороги, события автотестирования), данные события в сценариях данного типа обогащаются, фильтруются, схлопываются, и наконец, формируются собственно сами сигналы.
В зависимости от изменения статусов сигналов и на основе связанных с ними конфигурационных единиц - происходит расчет здоровья КЕ и соответственно статуса КЕ.
Каждое новое интегральное событие или сигнал проверяется Модулем реагирования и бизнес процессов на соответствие условиям, заданным пользователями в своих бизнес процессах. Если событие подходит под необходимые условия, происходит запуск бизнес процесса – набора операций, нацеленного на регистрацию инцидента, оповещение заинтересованных или ответственных лиц, запуск скрипта самолечения и т.п.
Как только из внешней системы мониторинга поступает сообщение о завершении события – событие завершается и в Monq, если такой подход реализован в сценарии обработки событий из внешних систем, что также может быть обработано модулем реагирования и бизнес процессов.
Для некоторых типов интеграций (Zabbix, SCOM, vCenter, Kubernetes) разработаны специальные контент-паки, состоящие из подготовленных потоков данных с заданиями по получению событий через API или напрямую из БД. Некоторые из них, также могут содержать готовые сценарии автоматизации для автопостроения CMDB из источника, сценарии обработки порогов и сигналов, которые устанавливаются в несколько кликов.
Схема прохождения событий и логов
Схема описывает методику получения, обработки и сохранения событий и логов из внешних источников.
Данная архитектура предполагает возможность получать текстовые данные в любом формате, с последующим преобразованием данных в формат JSON, а также автоматически определять схемы БД и записывать в таблицы БД данные полученных событий.
В частности процесс обработки событий предполагает наличие следующих звеньев:
-
Приемник логов – точка прослушивания HTTP запросов. Данный сервис обертывает полученные данные в модель Monq и отправляет сообщение в сценарий препроцессора на обработку. Сервис также проводит валидацию API-ключа потока данных и входной модели в зависимости от типа входных данных.
-
Препроцессор - запускает обработчик входного сообщения, если он есть. Обработчик может:
- Выполнить парсинг и превращение текста в JSON
- Выполнить обработку пакетных событий – извлечь из этих событий единичные элементы
- Выполнить преобразование входной модели, например, добавить вычисляемое поле или изменить тип поля в модели
- Добавить системные метки для событий
-
Валидатор схемы БД - данный сервис формирует модель для базы данных согласно схеме. Создает эту схему исходя из модели JSON, добавляя нужные поля при необходимости.
-
Буфер потоковых событий - выполняет запись всех первичных событий в БД, в соответствии со схемой потока, из которого они получены.
Параллельно с записью в БД, принятые события отправляются на обработку в сценарии автоматизации.
Схема прохождения метрик
Схема описывает методику получения, сохранения и обработки показателей мониторинга в виде метрик из внешних источников.
Данная архитектура предполагает возможность получать метрические данны из внешних систем мониторинга, таких как Zabbix и Prometheus. А также собирать метрики с конечных устройств и сервисов при помощи плагинов к Monq Agent.
Процесс обработки метрик предполагает наличие всего 2-х звеньев:
-
Приемник метрик – точка прослушивания HTTP. Сервис принимает, обогащает дополнительными метками метрики и записывает в хранилище.
-
Процессор порогов - данный сервис выполняет проверку записанных в хранилище метрических рядов по преднастроенным в интерфейсе Monq Правилам порогов. В результате работы генерирует активные пороги, которые проходят дальнейшую обработку как обычные события.