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

    Содержание

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

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

    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 и возвращает результаты на страницу.