VK Cloud logo
Обновлена 17 апреля 2024 г. в 08:28

Fluent Bit для Cloud Logging (logaas-integration)

Подготовительные шаги

Подключите в проект сервис Cloud Logging, если это еще не сделано. Для этого обратитесь в техническую поддержку.

Установка аддона

Для аддона доступно несколько вариантов установки:

  • стандартная установка;
  • быстрая установка.

Вне зависимости от выбранного варианта установки аддон будет установлен в виде DaemonSet на все узлы кластера, включая master-узлы.

Примите во внимание суммарные максимальные системные требования аддонов, которые будут размещены на группах worker-узлов. При необходимости выполните ручное масштабирование групп worker-узлов или настройте автоматическое масштабирование перед установкой.

  1. Установите аддон:

    1. Перейдите в личный кабинет VK Cloud.

    2. Выберите проект, где находится нужный кластер.

    3. Перейдите в раздел Контейнеры → Кластеры Kubernetes.

    4. Нажмите на имя нужного кластера.

    5. Перейдите на вкладку Аддоны.

    6. Если в кластере уже есть установленные аддоны, нажмите на кнопку Добавить аддон.

    7. Нажмите кнопку Установить на карточке аддона logaas-integration.

    8. Выберите нужную версию аддона из выпадающего списка.

    9. При необходимости отредактируйте:

      • выбранную версию;

      • название приложения;

      • название пространства имен, куда будет установлен аддон;

      • код настройки аддона.

    10. Нажмите кнопку Установить аддон.

      Начнется установка аддона в кластер. Этот процесс может занять длительное время.

  2. (Опционально) Просмотрите логи в сервисе Cloud Logging, чтобы убедиться в работоспособности аддона.

Редактирование кода настройки аддона при установке

Редактирование кода аддона применимо для стандартной установки.

Полный код настройки аддона вместе с описанием полей доступен:

  • в личном кабинете;
  • в атрибуте configuration_values из источника данных vkcs_kubernetes_addon, если используется Terraform.

Также на GitHub доступен код настройки Fluent Bit, который служит основой для этого аддона.

Подробнее о пайплайне (pipeline) и настройках конфигурационного файла читайте в официальной документации Fluent Bit.

Тонкая настройка поведения аддона при работе с разными уровнями критичности

Перед отправкой логов в сервис Cloud Logging аддон выполняет следующие действия:

  1. Определяет уровень критичности (severity level) отдельных записей в логах. Это делается с помощью парсеров Fluent Bit (parsers).

  2. Добавляет в логи дополнительные метаданные, что облегчает работу с логами кластеров Cloud Containers (например, поиск нужных логов в Cloud Logging). Для этого применяются специальные фильтры Fluent Bit (filters), написанные на языке Lua. Эти метаданные содержат, в том числе, уровень критичности логируемых событий.

Вы можете выполнить тонкую настройку поведения аддона при работе с уровнями критичности, используя:

Задайте в коде аддона одно или несколько правил для пользовательских фильтров customFilter, чтобы в Cloud Logging попадали только логи с заданным минимальным уровнем критичности. Эти правила можно настроить на уровне определенного пространства имен и на уровне определенных подов в пространстве имен:

customFilter:  - namespace: <имя пространства имен>    rules: # Одно правило для пространства имен      - min_level: <буквенное обозначение минимального уровня критичности>  - namespace: <имя другого пространства имен>    rules: # Несколько правил для подов в пространстве имен      - podprefix: <префикс имени пода>        min_level: <буквенное обозначение минимального уровня критичности>      - podprefix: <префикс имени другого пода>        min_level: <буквенное обозначение минимального уровня критичности>  - namespace: <имя другого пространства имен>    rules: # Комбинация правила для пространства имен и правил для подов      - min_level: <буквенное обозначение минимального уровня критичности>      - podprefix: <префикс имени пода>        min_level: <буквенное обозначение минимального уровня критичности>      - podprefix: <префикс имени пода>        min_level: <буквенное обозначение минимального уровня критичности>

Для подов настраивается именно префикс, чтобы можно было получать логи из нескольких подов-реплик, которые относятся к одной рабочей нагрузке (workload).