Перейти к основному содержимому
Версия: 8.0

Тракт обработки данных в 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 Правилам порогов. В результате работы генерирует активные пороги, которые проходят дальнейшую обработку как обычные события.