Анализ журналов компонентов

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

Текущий мониторинг состояния компонентов Платформы можно наблюдать на панели мониторинга.

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

В Платформе реализован функционал журналирования (логирования) событий:

  • Журнал безопасности (аудит) - логирование внешних действий (как правило, обращение к API компонентов);

  • Журнал приложений - логирование внутренней работы компонентов Платформы, изменений конфигурации, ошибок и причин их возникновения.

Генерация журналов:

Для собственных компонентов события записываются в файлы на диск в json-формате в виде определенного набора полей.

Для внешних компонентов может использоваться специальная конфигурация логирования (например, log4j-библиотека для logstash; pgAudit для PostgreSQL https://github.com/Vaigard/pgaudit).

Сбор журналов:

Для сбора журналов на всех хостах инсталляции Alertix устанавливается сервис доставки событий в Платформу Elastic Filebeat. Для каждого типа компонента (узел кластера, ресивер, сервис, postgres и т.д.) предусмотрен отдельный шаблон конфигурации, определяющий правила парсинга json-строк из файлов и дополняющий лог полями component.XXX (см. п. Описание журналов событий). В подсистеме хранения к сохраняемым логам применяется ingest-pipeline обогащения события и финального преобразования.

Хранение журналов:

Журналы хранятся в двух соответствующих индексах (security-journal-* и application-journal-*) в core-кластере Opensearch. Это позволяет работать с ними так же, как и с поступающими событиями:

  1. Управлять глубиной хранения логов.

  2. Обращаться к журналам из консоли управления, производить поиск, строить дашборды.

  3. Производить мониторинг ошибок в компонентах.

  4. Создавать правила корреляции.

  5. Выгружать журналы событий в виде дампа для передачи в техподдержку.