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

Структура компонентов Monq

Документ описывает состав модулей Monq, назначение каждого из модулей и взаимосвязь модулей между собой.

Состав модулей

Программное обеспечение Monq состоит из следующих частей:

Изображение

Модуль приёма и предварительной обработки данных

Модуль предназначен для приема данных из информационных систем и инструментов мониторинга и логирования с целью их дальнейшего хранения и обработки. Позволяет получать данные как в структурированном виде (JSON, XML), так и в неструктурированном – в виде текста. Модуль также позволяет выполнить обработку полученных данных с помощью препроцессора для формирования структурированного сообщения.

Модуль функционального тестирования Autotests

Модуль Autotests содержит API приёмника отчетов о выполнении сборок функционального тестирования, парсер для преобразования отчетов в модель Monq, API для управления проектами ФТ и хранения метаинформации. В денормализованном виде, сборки хранятся в БД ClickHouse. Интеграция в части событийной информации осуществляется при помощи сценариев автоматизации.

Модуль РСМ & CMDB

Модуль предназначен для хранения информации об ИТ-окружении пользователя, об ИТ-сервисах и их взаимосвязях. Является управляющим модулем для остальных. Обеспечивает возможность построения связей между элементами модели и поддерживает функции управления и конфигурации.

Модуль автоматизации

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

Модуль реагирования

Модуль реагирования состоит из подмодулей Правила и действия и Cкрипты.

Правила и действия позволяет пользователям задавать правила обработки событий изменения статуса Сигналов, а также конфигурировать действия а качестве реакции на выполненные правила. В качестве действий можно назначить операции оповещения пользователей по электронной почты и других настроенных методов оповещения, регистрации инцидентов в системах ServiceDesk и выполнения скриптов, поддерживающих запуск cURL, SMTP, SNMP, SSH и других команд языка Lua.

Инфраструктура

Инфраструктурная часть Monq состоит из системного программного обеспечения и непосредственно ОС, на базе которой работает система.

Публичный API

Публичный API – позволяет взаимодействовать с ПО без веб-интерфейса, используя программный интерфейс HTTP REST API.

Платформа

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

А также компоненты для управления Рабочими группами, Пользователями и методами оповещения.

Сервис обеспечения безопасности при обмене данными между компонентами или пользователями построен с использованием протоколов OAuth2.0, LDAP, OpenID.

Пользовательский интерфейс

Веб-интерфейс для взаимодействия пользователя со всеми компонентами системы.

Взаимодействие модулей

В целом, набор модулей и принцип их взаимодействия можно разделить на 2 типа:

  • Модули, которые занимаются обработкой потоков данных, где данные, обработанные в одном модуле, передаются на обработку следующему – к таким модулям относятся Модуль приема и предварительной обработки данных из систем мониторинга, Модуль автоматизации, Модуль реагирования, Модуль функционального тестирования Autotests.
  • Модули, которые предоставляют поддержку в виде хранения настроек, связей служебных данных и служебных сервисов – к таким модулям относятся Модуль РСМ & CMDB, Инфраструктура, Платформа.

Источником данных Monq служат системы и инструменты мониторинга или логирования, отслеживающие необходимые метрики и генерирующие первичные события. Такими метриками могут быть в том числе и ошибки выполнения сценариев функционального тестирования модуля функционального тестирования Autotests.

Модуль приёма и предобработки данных получает данные из источников в формате JSON и преобразует их в структуру данных Monq – первичные события. Затем обработанные события помещаются в хранилище на базе СУБД ClickHouse.

Далее данные поступают на обработку в модуль Автоматизации. Среди сценариев автоматизации могут быть два типа сценариев:

  • сценарии CMDBAutoDiscovery - события обрабатываемые данным типом сценариев являются событиями, которые содержат информацию о топологии внешней системы и основывают топологию РСМ Monq* сценарии Signals Processor - события из систем мониторинга, попадая в данный тип сценариев обрабатываются и формируются интегральные события Monq - Сигналы.

В зависимости от изменения статусов сигналов и на основе связанных с ними конфигурационных единиц - происходит расчет статусов и здоровья КЕ.

Каждое новое интегральное событие проверяется Модулем реагирования на соответствие условиям (Правилам), заданным пользователями. Если событие подходит под необходимые условия, происходит запуск привязанного к Правилу Действия – набора операций, нацеленного на устранение инцидента, оповещение заинтересованных или ответственных лиц, запуск скрипта самолечения и т.п.

Как только из внешней системы мониторинга поступает сообщение о завершении события – событие завершается и в Monq, если такой подход реализован в сценарии обработки событий из внешних систем, что также может быть обработано модулем реагирования.

Для некоторых типов интеграций (Zabbix, SCOM, vCenter) разработаны специальные Задания по получению событий из API или напрямую из БД и отправку полученных событий в модуль приёма и предварительной обработки событий.

Настройка связей объектов между собой, таких как КЕ и их атрибуты, а также сигналы и источники данных, проекты функционального тестирования, - производится пользователями в интерфейсе управления ресурсно-сервисной моделью Monq, или в сценариях автоматизации, используя специальные блоки функций для работы с соответствующим компонентом системы.

Доступ пользователей к ПО контролируется сервисом обеспечения безопасности (OAuth2.0, OpenId или LDAP), а доступ к объектам и разделам ПО – модулем Платформы, хранящей информацию о принадлежности пользователя к той или иной Рабочей группе, учитывая соответствующие настроенные права доступа - роли пользователя. Платформа также хранит историю действий пользователя.