Средства мониторинга#
Для отслеживания работы AIC используется ПО Astra Monitoring входящее в бКОР.
Astra Monitoring — это программное обеспечение, предназначенное для мониторинга продуктов «Группы Астра», а также физической, виртуальной инфраструктуры, сервисов, приложений.
ПО предназначено для сбора метрик, получения и анализа файлов журналов (логов), формирования событий по предустановленным порогам, уведомления о событиях через соответствующие информационные каналы (список событий «Event List», электронная почта SMTP/POP или операционные чаты «ChatOps»).
Astra Monitoring состоит из следующих компонентов:
клиентская часть;
серверная часть;
интерфейс пользователя.
Компонентная схема Astra Monitoring:

Интерфейс пользователя позволяет визуализировать собранные данные, отобразить метрики в виде индикаторов и графиков, предоставить информацию об обнаруженных на объектах мониторинга проблемах, добавлять объекты мониторинга в систему или удалять их и т.д.
Компоненты интерфейса:
модуль визуализации метрик и логов построен на базе программного продукта Grafana, представляет из себя набор представлений данных и интерфейс анализа логов;
интерфейс управления — Admin UI. Предназначен для добавления объектов мониторинга, а также для просмотра информации о событиях по объектам мониторинга;
Keycloak. Обеспечивает аутентификацию пользователей, поддерживает интеграцию с внешними системами аутентификации и каталогами пользователей (LDAP).
Клиентская часть состоит из хостов — объектов мониторинга, на которые установлен набор различных экспортеров, в зависимости от роли, которую выполняют эти хосты.
Например, на сервер контроллера домена могут быть установлены node-exporter
, systemd-exporter
, freeipa-exporter
и агент vector
для сбора логов, а на узел виртуализации Брест — node-exporter
, systemd-exporter
, агент vector
и libvirt-exporter
. Установленные экспортеры собирают доступные им метрики, в зависимости от назначения экспортера, и публикуют их, используя специфичный для конкретного экспортера порт, например, <host_address>:9100/metrics
для freeipa-exporter
.
Компоненты клиентской части:
набор «Экспортеров». Обеспечивают сборку метрик и статистик наблюдаемой системы (загрузка CPU, ОЗУ, загрузку сетевых интерфейсов и т.д.);
программный продукт «Vector». Обеспечивает обработку и отправку логов в систему Astra Monitoring.
Серверная часть состоит из указанных выше компонентов и предназначена для сбора, хранения и обработки данных от объектов мониторинга.
Например, компонент «Prometheus» собирает метрики путем обращения к опубликованным на объектах мониторинга экспортерам и передает их далее на хранение в базу «Victoria Metrics». Собранные в базе «Victoria Metrics» данные регулярно анализируются компонентом «vmalert» в соответствии с заданными правилами триггеров. При обнаружении соответствия данных какому-либо правилу, «vmalert» отправляет сообщение в «alertmanager» с заданной в правиле информацией о хосте, имени правила, его кратком и полном описании, критичности и о прочих сопутствующих тегах. В «alertmanager» события группируются, обрабатываются и далее отправляются по заданным каналам оповещениями командам поддержки, а также в базу данных платформы через «am-injector» и далее в интерфейс управления.
Сбор и обработка логов производится в несколько ином порядке - установленный на объекте мониторинга агент «vector» собирает логи в соответствии с конфигурацией и отправляет их в серверную часть компонента «vector». Серверный обработчик логов «vector» производит дополнительную обработку поступающих логов, выделение и добавление ключевых полей, а также анализ поступающих данных на соответствие заданным правилам, например, ищет записи об ошибках выполнения каких-либо операций. При обнаружении подобных ошибок может быть отправлено сообщение в «alertmanager» и далее по указанной выше схеме. Собранные и обработанные логи отправляются на хранение в базу данных «Clickhouse».
Компоненты серверной части:
Prometheus — обеспечивает сбор метрик со всех совместимых систем и сервисов;
Vector.dev — принимает и обрабатывает лог-файлы с помощью компонентов Vector агента и сервера, который осуществляет запись полученных данных в базу данных на основе Clickhouse. Архитектура передачи данных «Vector - Vector» позволяет масштабировать систему доставки логов на сложные конфигурации дочерних подразделений;
Victoria Metrics — обеспечивает прием метрик с объектов наблюдения, которые сохраняются в базу данных Victoria Metrics;
Clickhouse — обеспечивает хранение данных в СУБД и за счет сжатия они занимают меньше места, чем сырые данные. Логи категоризируются по уровню критичности события и все записи с низким уровнем критичности (info, debug, trace) помещаются в базу данных Info Logs, а записи с высоким уровнем критичности (warning, critical, error) помещаются в базу данных Critical Logs;
PostgreSQL — система управления базой данных, которая отвечает за хранение объектов наблюдения, информации о событиях объектов мониторинга;
AlertManager — сохраняет информацию о событиях в БД PostgreSQL через AM-Injector. Реализует отправку уведомлений о событиях в соответствующие информационные каналы (Email, Telegram, Mattermost).
Управление ПО Astra Monitoring производится из веб-интерфейса, или интерфейса командной строки.
Веб-интерфейс Astra Automation:
