• Русский
  • Архитектура модуля логирования

    Общее описание архитектуры

    Система логирования состоит из следующих основных функциональных модулей:

    1. Сбор логов

      • Реализован на базе open-source компонента filebeat
      • Сбор логов: поддерживается сбор логов стандартного вывода, файловых логов, событий Kubernetes и аудитов.
    2. Хранение логов

      • Предоставляются два различных решения для хранения логов на базе open-source компонентов ClickHouse и Elasticsearch.
      • Хранение логов: поддерживается долговременное хранение лог-файлов.
      • Управление временем хранения логов: поддерживается управление сроком хранения логов на уровне проекта.
    3. Визуализация логов

      • Обеспечивает удобный и надежный поиск логов, экспорт логов и возможности анализа логов.

    Сбор логов

    Метод установки компонента

    nevermore устанавливается как daemonset в namespace cpaas-system каждого кластера. Этот компонент состоит из 4 контейнеров:

    НазваниеФункция
    auditСбор данных аудита
    eventСбор данных событий
    logСбор логов (включая логи стандартного вывода и файловые логи)
    node-problem-detectorСбор информации об аномалиях на узлах

    Процесс сбора данных

    После того как nevermore собирает информацию аудита/событий/логов, он отправляет данные в кластер хранения логов, проходя аутентификацию через Razor, после чего данные окончательно сохраняются в Elasticsearch или ClickHouse.

    Потребление и хранение логов

    Razor

    Razor отвечает за аутентификацию, прием и пересылку сообщений логов.

    • После получения запросов, отправленных nevermore из различных кластеров рабочих нагрузок, Razor сначала аутентифицирует их с помощью Token из запроса. Если аутентификация не проходит, запрос отклоняется.
    • Если установлен компонент хранения логов Elasticsearch, соответствующие логи записываются в Kafka-кластер.
    • Если установлен компонент хранения логов ClickHouse, соответствующие логи передаются в Vector, который в конечном итоге записывает их в ClickHouse.

    Lanaya

    Lanaya отвечает за потребление и пересылку данных логов в цепочке хранения логов Elasticsearch.

    • Lanaya подписывается на темы в Kafka. После получения сообщений по подписке она распаковывает сообщения.
    • После распаковки происходит предварительная обработка сообщений: добавление необходимых полей, преобразование полей и разделение данных.
    • В конце сообщения сохраняются в соответствующем индексе Elasticsearch в зависимости от времени и типа сообщения.

    Vector

    Vector отвечает за обработку и пересылку данных логов в цепочке хранения логов ClickHouse, в конечном итоге сохраняя логи в соответствующей таблице ClickHouse.

    Визуализация логов

    1. Пользователи могут выполнять запросы аудита/событий/логов через URL-адреса из UI-интерфейса продукта для отображения:
    • Запрос логов /platform/logging.alauda.io/v1
    • Запрос событий /platform/events.alauda.io/v1
    • Запрос аудита /platform/audits.alauda.io/v1
    1. Запросы обрабатываются компонентом advanced API Courier, который выполняет запросы к кластерам хранения логов Elasticsearch или ClickHouse и возвращает данные на страницу.