Структура компонентов Monq
Документ описывает состав модулей Monq, назначение каждого из модулей и взаимосвязь модулей между собой.
Состав модулей
Программное обеспечение Monq состоит из следующих частей:

| Наименование модуля | Краткое обозначение | Назначение |
|---|---|---|
| Платформа | pl | Модуль «Платформа» содержит все необходимые компоненты и сервисы для функционирования и взаимодействия остальных модулей между собой. |
| Коллектор | cl | Модуль «Коллектор» предназначен для управления сбором, первичной обработки и хранения данных. В модуль не входят сервисы обработки и хранения временных рядов. |
| Модуль интеллектуальной поддержки процессов (Intelligent Ops) | sm | Модуль интеллектуальной поддержки процессов предназначен для интеллектуальной корреляции данных, формирования инцидентов, сигналов, автоматического построения CMDB и ресурсно-сервисных моделей, расчета статуса и здоровья объектов мониторинга |
| Модуль автоматизированного тестирования | fm | Модуль автоматизированного тестирования содержит в себе сервисы, используемые для автоматического тестирования программных продуктов с целью их функционального мониторинга. |
| Модуль метрик | mcs | Модуль используется для первичной обработки, хранения временных рядов, а также формирования порогов на основе временных рядов |
| Встроенные плагины | plugins | Различные дополнительные программные плагины, расширяющие функционал Monq. |
Список микросервисов Monq
| Модуль | Микросервис | Описание | Масштабируемость | ArangoDb | ClickHouseHttp | PostgreSQL | RabbitMQ | Redis | VictoriaMetrics |
|---|---|---|---|---|---|---|---|---|---|
| pl | pl-business-calendar-api-service | API сервис рабочих календарей. | + | + | + | ||||
| pl | pl-frontend-service | Веб-интерфейс модуля платформы (Angular). | + | ||||||
| pl | pl-agents-service | API сервис агентов. Предоставляет API для управления агентами, координаторами агентов, заданиями и рабочими конфигурациями агентов. | + | + | + | + | + | ||
| pl | pl-agents-service-scheduler | Планировщик агентских заданий. Периодически рассылает задания на агенты согласно указанным расписаниям. Предоставляет API для ручного запуска или отмены заданий. | - | + | + | + | |||
| pl | pl-agents-service-buffer | Сервис буферизации логов запуска заданий. | + | + | + | ||||
| pl | pl-bp-service | Сервис управления бизнес-процессами. | + | + | + | + | |||
| pl | pl-bp-service-manager | Сервис запуска бизнес-процессов. | - | + | + | + | |||
| pl | pl-userspace-admins-service | Сервис управления пространством пользователя. Сервис предоставляет REST и gRPC API для настроек пространства пользователя. | + | + | + | + | |||
| pl | pl-userspaces-api-service | Управление пространствами системы. | + | + | + | + | |||
| pl | pl-monq-agent | Системный агент Monq. | + | ||||||
| pl | pl-content-installer-service | API сервис управления контент-паками. | - | + | + | ||||
| pl | pl-frontend-b-service | Веб-интерфейс модуля платформы. | + | + | + | ||||
| pl | pl-tags-api-service | Сервис централизованного хранения и управления тегами. | + | + | + | ||||
| pl | pl-automaton-v2-processor-service-coordinator | Координатор обработчиков автоматизации. | - | + | |||||
| pl | pl-automaton-v2-processor-service-runner | Обработчик событий автоматизации. | + | + | + | + | |||
| pl | pl-automaton-v2-processor-service-compiler | Сервис компиляции исходного кода и сценариев. | + | + | + | ||||
| pl | pl-automaton-v2-service | API сервис автоматизации. Предоставляет REST API и gRPC методы для работы с сценариями автоматизации (PosgreSQL) и историей их запусков (ClickHouse). | + | + | + | + | + | ||
| pl | pl-automaton-v2-service-housekeeper | Сервис очистки неактуальных хранимых данных. Производит очистку данных по запускам сценариев из ClickHouse с периодичностью, указанной в секции HousekeeperOptions (Consul). | - | + | + | ||||
| pl | pl-automaton-v2-service-scheduler | Сервис запуска сценариев по расписанию. Отправляет сообщения по RMQ для запуска сценариев, согласно расписаниям. | - | + | + | + | |||
| pl | pl-router-service | Сервис обслуживания WebSocket соединений с пользователями. Сервис использует библиотеку SignalR для управления жизненным циклом WebSocket соединений пользовательских интерфейсов. | - | + | + | ||||
| pl | pl-user-grants-api-service | Сервис управления ролями пользователей в рабочих группах. Сервис предоставляет REST и gRPC API для управления ролями пользователей в рабочих группах. | + | + | + | + | |||
| pl | pl-identity-service | Сервис аутентификации OAuth2.0/OpenId. Сервис предоставляет возможность выполнения аутентификации пользователей и микросервисов с помощью OAuth2.0/OpenId протоколов. | + | + | + | + | |||
| pl | pl-user-groups-service | Сервис управления группами пользователей и интеграции с Active Directory. Сервис предоставляет REST и gRPC API для управления группами пользователей. | + | + | + | + | |||
| pl | pl-system-notify-service | API сервис системных оповещений. Сервис слушает очередь шины данных и выполняет отправку системных оповещений для пользователей, с использованием SMTP протокола. | + | + | + | + | |||
| pl | pl-identity-management-service | API сервис управления пользователями. Предоставляет набор REST и gRPC API для управления списками пользователей, а также профилем пользователя. | + | + | + | + | |||
| pl | pl-i18n-service | API сервис локализации веб интерфейса системы. | + | + | + | ||||
| pl | pl-user-shared-filters-api-service | Хранилище фильтров пользователя в интерфейсе. | + | + | + | ||||
| pl | pl-events-history-api-service | API сервис логирования действий над объектами системы. Предоставляет REST API и gRPC методы для получения исторических данных по изменению объектов системы из СУБД ClickHouse. | + | + | + | ||||
| pl | pl-events-history-api-service-tags | Сервис для работы с тегами и историей действий над объектами системы. | + | + | + | + | |||
| pl | pl-events-history-api-service-buffer | Сервис буферизации событий логирования действий над объектами системы. Сервис накапливает события из шины данных и сохраняет в ClickHouse. | + | + | + | + | |||
| pl | pl-statistics-service | API сервис сбора внутренней статистики системы. Сервис собирает статистику использования системы для управлением механизмом защиты от штормов по логам. | + | + | + | + | |||
| pl | pl-gateway-api-service | Gateway API сервис модуля платформы. Предоставляет входную точку для REST и gRPC API запросов от пользователей. | + | + | + | ||||
| pl | pl-work-groups-api-service | Сервис управления рабочими группами. Сервис предоставляет набор gRPC API для управления рабочими группами пользователей и составом рабочих групп. | + | + | + | ||||
| fm | fm-builds-buffer-service | Сервис буфера сборок автотестирования. Выполняет формирование и сохранение информации по сборкам в СУБД ClickHouse, а также отправку событий в автоматон через RMQ. | + | + | + | ||||
| fm | fm-builds-aggregator-api-service | API приема сборок автотестирования. Предоставляет REST API по приему сборок автотестирования. | + | + | + | ||||
| fm | fm-frontend-a-service | Веб-интерфейс модуля автотестирования (Angular). | + | ||||||
| fm | fm-projects-api-service | Сервис для управления проектами автотестирования, а также для получения информации по сборкам. | - | + | + | + | + | ||
| fm | fm-gateway-api-service | Gateway API сервис модуля автотестирования. | + | + | + | ||||
| sm | sm-rsm-coverage-service | API сервис расчёта покрытия КЕ мониторингом. Предоставляет gRPC API для получения информации о покрытии КЕ. | + | + | + | + | |||
| sm | sm-rsm-coverage-service-generator | Расчётчик покрытия КЕ мониторингом. Читает события по КЕ и порогам метрик, рассчитывает покрытие по актуальным данным и записывает результат в ClickHouse. | + | + | + | ||||
| sm | sm-reports-service | API сервис отчётов. Предоставляет единый gRPC API для всех сервисов-плагинов отчётов (например, отчётов доступности). | + | + | + | ||||
| sm | sm-signals-service | API сервис по работе с сигналами. Предоставляет REST API и gRPC методы по работе с активными/архивными сигналами. | + | + | + | + | + | ||
| sm | sm-signals-service-housekeeper | Сервис по архивированию устаревших сигналов. В соответствии с настройками пространства осуществляет перенос активных сигналов (PostgreSQL) в архивные (ClickHouse). | - | + | + | ||||
| sm | sm-signals-service-sync | Сервис синхронизации кэша карт сигналов. Осуществляет актуализацию данных по инфографике для карт сигналов. | + | + | + | + | |||
| sm | sm-gateway-api-service | Gateway API сервис IOPs. Предоставляет входную точку для REST и gRPC API запросов от пользователей. | + | + | + | ||||
| sm | sm-rsm-attributes-service | API сервис атрибутов КЕ. Предоставляет gRPC API для управления атрибутами КЕ и типов КЕ. Управляет кэшем ключевых атрибутов в Redis. | + | + | + | + | |||
| sm | sm-frontend-a-service | Веб-интерфейс модуля IOPs (Angular). | + | ||||||
| sm | sm-rsm-service | API сервис РСМ и CMDB. Предоставляет REST API и gRPC методы для управления типами КЕ, КЕ и связями между ними. | + | + | + | ||||
| sm | sm-rsm-service-sync | Сервис синхронизации данных РСМ и CMDB. Синхронизирует информацию в ArangoDB: атрибуты КЕ, здоровье КЕ, покрытие КЕ мониторингом, статусы КЕ. | + | + | + | + | |||
| sm | sm-frontend-b-service | Веб-интерфейс модуля IOPs. | + | + | + | ||||
| sm | sm-rsm-mode-api-service | API сервис статусов КЕ. Предоставляет REST API для получения информации о статусах и сервисных режимах КЕ и gRPC методы для управления правилами расчёта статусов на типах КЕ. | + | + | + | ||||
| sm | sm-rsm-mode-api-service-generator | Расчётчик статусов КЕ. | + | + | + | ||||
| sm | sm-rsm-attached-files-service | API сервис файлов КЕ. Предоставляет REST API для управления прикреплёнными к КЕ файлами. | + | + | + | ||||
| sm | sm-rsm-maps-service | API сервис карт РСМ. Предоставляет REST API и gRPC методы для управления картами РСМ. | + | + | + | + | |||
| sm | sm-rsm-health-service | API сервис расчёта здоровья КЕ. Предоставляет REST API для получения информации о здоровье КЕ. | + | + | + | + | |||
| sm | sm-rsm-health-service-generator | Расчётчик здоровья КЕ. Читает события по КЕ и сигналам из очереди, рассчитывает здоровье по актуальным данным и записывает результат в ClickHouse. | + | + | + | ||||
| cl | cl-data-miners-service | API сервис сборщиков данных. Предоставляет gRPC методы для управления сборщиками данных. | + | + | + | + | |||
| cl | cl-frontend-b-service | Веб-интерфейс модуля коллектора логов. | + | ||||||
| cl | cl-streams-service | API сервис потоков данных. Предоставляет gRPC методы для управления потоками данных и чтения журнала ошибок потоков. | + | + | + | + | + | ||
| cl | cl-streams-service-watchdog | Сервис self-мониторинга потоков. Периодически проверяет поступление данных в поток за указанный пользователем период и формирует соответствующие ошибки. | + | + | + | ||||
| cl | cl-streams-service-buffer | Сервис буферизации ошибок потоков данных. | + | + | + | ||||
| cl | cl-gateway-service | Gateway API сервис модуля коллектора логов. Предоставляет входную точку для REST и gRPC API запросов от пользователей. | + | + | + | ||||
| cl | cl-stream-data-service | API сервис по работе с логами и событиями. Предоставляет gRPC методы для работы с логами, индексами и картами логов. | + | + | + | + | + | ||
| cl | cl-stream-data-service-collector | API сервис по приему логов. Предоставляет REST API по приему логов и отправку их в обработчики. | + | + | + | + | |||
| cl | cl-stream-data-service-automaton | Сервис по обработке поступивших логов. | + | + | + | + | |||
| mcs | mcs-frontend-service | Веб-интерфейс модуля метрик (Angular). | + | ||||||
| mcs | mcs-metrics-bridge-service | Сервис преобразования логов во временные ряды. Сервис предоставляет набор gRPC методов для управления метрик-бриджами. | + | + | + | ||||
| mcs | mcs-metrics-bridge-service-runner | Обработчик сервиса преобразования логов во временные ряды. Обработчик периодически запускает исполнение сценариев преобразования логов в метрики. | + | + | + | + | + | ||
| mcs | mcs-metrics-collector-service | API сервис по сбору и хранению метрик. Предоставляет REST API для приема метрик и их записи в систему. | + | + | + | + | |||
| mcs | mcs-gateway-service | Gateway API сервис модуля метрик. Предоставляет входную точку для REST и gRPC API запросов от пользователей. | + | + | + | ||||
| mcs | mcs-frontend-b-service | Веб-интерфейс модуля метрик. | + | ||||||
| mcs | mcs-thresholds-service | API сервис управления порогами. Предоставляет REST API и gRPC методы для работы с порогами и метриками. | + | + | + | + | + | ||
| mcs | mcs-thresholds-service-runner | Сервис расчета порогов по метрикам. | - | + | + | + | |||
| mcs | mcs-thresholds-service-forecast | Сервис расчета прогнозов по метрикам. | - | + | + | + | |||
| plugins | plugins-availability-reports-service | Веб-интерфейс отчётов доступности. | - | + | + | + |