Средства мониторинга

Средства мониторинга#

Для отслеживания работы AIC используется ПО Astra Monitoring входящее в бКОР.

Astra Monitoring — это программное обеспечение, предназначенное для мониторинга продуктов «Группы Астра», а также физической, виртуальной инфраструктуры, сервисов, приложений.

ПО предназначено для сбора метрик, получения и анализа файлов журналов (логов), формирования событий по предустановленным порогам, уведомления о событиях через соответствующие информационные каналы (список событий «Event List», электронная почта SMTP/POP или операционные чаты «ChatOps»).

Astra Monitoring состоит из следующих компонентов:

  • клиентская часть;

  • серверная часть;

  • интерфейс пользователя.

Компонентная схема Astra Monitoring:

../../_images/scheme_am.png

Интерфейс пользователя позволяет визуализировать собранные данные, отобразить метрики в виде индикаторов и графиков, предоставить информацию об обнаруженных на объектах мониторинга проблемах, добавлять объекты мониторинга в систему или удалять их и т.д.

Компоненты интерфейса:

  • модуль визуализации метрик и логов построен на базе программного продукта 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:

../../_images/web_am.png