Документ описывает состав модулей Monq, назначение каждого из модулей и взаимосвязь модулей между собой.
Программное обеспечение Monq состоит из следующих частей:
Модуль предназначен для приема данных из информационных систем и инструментов мониторинга и логирования с целью их дальнейшего хранения и обработки. Позволяет получать данные как в структурированном виде (JSON, XML), так и в неструктурированном – в виде текста. Модуль также позволяет выполнить обработку полученных данных с помощью препроцессора для формирования структурированного сообщения.
Модуль Autotests содержит API приёмника отчетов о выполнении сборок функционального тестирования, парсер для преобразования отчетов в модель Monq, API для управления проектами ФТ и хранения метаинформации. В денормализованном виде, сборки хранятся в БД ClickHouse. Интеграция в части событийной информации осуществляется при помощи сценариев автоматизации.
Модуль предназначен для хранения информации об ИТ-окружении пользователя, об ИТ-сервисах и их взаимосвязях. Является управляющим модулем для остальных. Обеспечивает возможность построения связей между элементами модели и поддерживает функции управления и конфигурации.
Модуль отвечает за обработку получаемых сообщений в сценариях, разрабатываемых в визуальном конструкторе. В данном модуле происходит обработка событий из систем мониторинга с последующим формированием Сигналов. А также данный модуль используется для написания сценариев автоматического построения Ресурсно-сервисной модели Monq.
Модуль реагирования состоит из подмодулей Правила и действия и Cкрипты.
Правила и действия позволяет пользователям задавать правила обработки событий изменения статуса Сигналов, а также конфигурировать действия а качестве реакции на выполненные правила. В качестве действий можно назначить операции оповещения пользователей по электронной почты и других настроенных методов оповещения, регистрации инцидентов в системах ServiceDesk и выполнения скриптов, поддерживающих запуск cURL, SMTP, SNMP, SSH и других команд языка Lua.
Инфраструктурная часть Monq состоит из системного программного обеспечения и непосредственно ОС, на базе которой работает система.
Публичный API – позволяет взаимодействовать с ПО без веб-интерфейса, используя программный интерфейс HTTP REST API.
Платформа содержит все необходимые компоненты для взаимодействия всех модулей между собой.
А также компоненты для управления Рабочими группами, Пользователями и методами оповещения.
Сервис обеспечения безопасности при обмене данными между компонентами или пользователями построен с использованием протоколов OAuth2.0, LDAP, OpenID.
Веб-интерфейс для взаимодействия пользователя со всеми компонентами системы.
В целом, набор модулей и принцип их взаимодействия можно разделить на 2 типа:
Источником данных Monq служат системы и инструменты мониторинга или логирования, отслеживающие необходимые метрики и генерирующие первичные события. Такими метриками могут быть в том числе и ошибки выполнения сценариев функционального тестирования модуля функционального тестирования Autotests.
Модуль приёма и предобработки данных получает данные из источников в формате JSON и преобразует их в структуру данных Monq – первичные события. Затем обработанные события помещаются в хранилище на базе СУБД ClickHouse.
Далее данные поступают на обработку в модуль Автоматизации. Среди сценариев автоматизации могут быть два типа сценариев:
В зависимости от изменения статусов сигналов и на основе связанных с ними конфигурационных единиц - происходит расчет статусов и здоровья КЕ.
Каждое новое интегральное событие проверяется Модулем реагирования на соответствие условиям (Правилам), заданным пользователями. Если событие подходит под необходимые условия, происходит запуск привязанного к Правилу Действия – набора операций, нацеленного на устранение инцидента, оповещение заинтересованных или ответственных лиц, запуск скрипта самолечения и т.п.
Как только из внешней системы мониторинга поступает сообщение о завершении события – событие завершается и в Monq, если такой подход реализован в сценарии обработки событий из внешних систем, что также может быть обработано модулем реагирования.
Для некоторых типов интеграций (Zabbix, SCOM, vCenter) разработаны специальные Задания по получению событий из API или напрямую из БД и отправку полученных событий в модуль приёма и предварительной обработки событий.
Настройка связей объектов между собой, таких как КЕ и их атрибуты, а также сигналы и источники данных, проекты функционального тестирования, - производится пользователями в интерфейсе управления ресурсно-сервисной моделью Monq, или в сценариях автоматизации, используя специальные блоки функций для работы с соответствующим компонентом системы.
Доступ пользователей к ПО контролируется сервисом обеспечения безопасности (OAuth2.0, OpenId или LDAP), а доступ к объектам и разделам ПО – модулем Платформы, хранящей информацию о принадлежности пользователя к той или иной Рабочей группе, учитывая соответствующие настроенные права доступа - роли пользователя. Платформа также хранит историю действий пользователя.