Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Marketplace
    • Начало работы
    • Управление доступом
    • Начало работы
      • Все руководства
        • Интеграция с Crossplane
        • Настройка Fluent Bit для работы с Cloud Logging
        • Настройка Gateway API
        • Настройка L7-балансировщика Application Load Balancer с помощью Ingress-контроллера
        • Настройка логирования для L7-балансировщика Application Load Balancer с помощью Ingress-контроллера
        • Создание L7-балансировщика с профилем безопасности Smart Web Security через Ingress-контроллер Application Load Balancer
        • Проверка состояния приложений в кластере Managed Service for Kubernetes с помощью L7-балансировщика Application Load Balancer
        • Настройка Kyverno & Kyverno Policies
        • Использование Metrics Provider для трансляции метрик
    • Управление доступом
    • Аудитные логи Audit Trails

В этой статье:

  • Необходимые платные ресурсы
  • Перед началом работы
  • Установите и настройте Fluent Bit
  • Установка Fluent Bit для сбора логов подов и сервисов
  • Установка Fluent Bit для сбора логов подов, сервисов и системных логов узлов
  • Проверьте результат
  • Удалите созданные ресурсы
  1. Пользователям
  2. Практические руководства
  3. Использование продуктов Cloud Marketplace в Managed Service for Kubernetes
  4. Настройка Fluent Bit для работы с Cloud Logging

Настройка Fluent Bit для работы с Yandex Cloud Logging

Статья создана
Yandex Cloud
Обновлена 28 марта 2025 г.
  • Необходимые платные ресурсы
  • Перед началом работы
  • Установите и настройте Fluent Bit
    • Установка Fluent Bit для сбора логов подов и сервисов
    • Установка Fluent Bit для сбора логов подов, сервисов и системных логов узлов
  • Проверьте результат
  • Удалите созданные ресурсы

Важно

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

Примечание

Включить отправку логов мастера Managed Service for Kubernetes в Cloud Logging можно с помощью настройки master logging при создании или изменении кластера. Настройка доступна только через API, CLI и Terraform. Подробнее см. в руководстве Передача логов кластера Managed Service for Kubernetes в Cloud Logging.

Обработчик логов Fluent Bit позволяет транслировать логи подов, сервисов и системных логов узлов Managed Service for Kubernetes в Cloud Logging. Для передачи логов используется модуль Fluent Bit plugin for Yandex Cloud Logging.

Чтобы настроить передачу логов подов, сервисов и системных логов узлов Yandex Managed Service for Kubernetes в Yandex Cloud Logging:

  1. Установите и настройте Fluent Bit.
  2. Проверьте результат.

Если созданные ресурсы вам больше не нужны, удалите их.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки описываемого решения входят:

  • Плата за кластер Managed Service for Kubernetes: использование мастера и исходящий трафик (см. тарифы Managed Service for Kubernetes).
  • Плата за узлы кластера (ВМ): использование вычислительных ресурсов, операционной системы и хранилища (см. тарифы Compute Cloud).
  • Плата за публичный IP-адрес, если он назначен узлам кластера (см. тарифы Virtual Private Cloud).
  • Плата за сервис Cloud Logging: запись и хранение данных (см. тарифы Cloud Logging).

Перед началом работыПеред началом работы

Подготовьте инфраструктуру:

Вручную
Terraform
  1. Если у вас еще нет сети, создайте ее.

  2. Если у вас еще нет подсетей, создайте их в зонах доступности, где будут созданы кластер Managed Service for Kubernetes и группа узлов.

  3. Создайте сервисные аккаунты для Managed Service for Kubernetes:

    • Сервисный аккаунт для ресурсов Managed Service for Kubernetes с ролями k8s.clusters.agent и vpc.publicAdmin на каталог, в котором создается кластер Managed Service for Kubernetes.
    • Сервисный аккаунт для узлов Managed Service for Kubernetes с ролью container-registry.images.puller на каталог с реестром Docker-образов. От его имени узлы Managed Service for Kubernetes будут скачивать из реестра необходимые Docker-образы.

    Совет

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

  4. Создайте сервисный аккаунт для Cloud Logging с ролями logging.writer и monitoring.editor. Он будет использоваться для работы Fluent Bit.

  5. Создайте авторизованный ключ для сервисного аккаунта Cloud Logging и сохраните его в файл key.json.

  6. Создайте группы безопасности для кластера Managed Service for Kubernetes и входящих в него групп узлов.

    Важно

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

  7. Создайте кластер Managed Service for Kubernetes и группу узлов. При создании кластера Managed Service for Kubernetes укажите ранее созданные сервисные аккаунты для ресурсов и узлов и группы безопасности.

  8. Создайте лог-группу.

  1. Если у вас еще нет Terraform, установите его.

  2. Скачайте файл с настройками провайдера. Поместите его в отдельную рабочую директорию и укажите значения параметров.

  3. Скачайте в ту же рабочую директорию файл конфигурации кластера Managed Service for Kubernetes k8s-cluster-with-log-group.tf.

    В этом файле описаны:

    • Сеть.

    • Подсеть.

    • Лог-группа Cloud Logging.

    • Кластер Managed Service for Kubernetes.

    • Группа узлов Managed Service for Kubernetes.

    • Сервисный аккаунт для ресурсов и узлов Managed Service for Kubernetes.

    • Сервисный аккаунт для Cloud Logging.

    • Группы безопасности, которые содержат необходимые правила для кластера Managed Service for Kubernetes и входящих в него групп узлов.

      Важно

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

  4. Укажите в файле конфигурации:

    • Идентификатор каталога.
    • Версию Kubernetes для кластера Managed Service for Kubernetes и групп узлов.
    • Имя сервисного аккаунта для ресурсов и узлов Managed Service for Kubernetes.
    • Имя сервисного аккаунта для Cloud Logging.
    • Имя лог-группы Cloud Logging.
  5. Выполните команду terraform init в директории с конфигурационными файлами. Эта команда инициализирует провайдер, указанный в конфигурационных файлах, и позволяет работать с ресурсами и источниками данных провайдера.

  6. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  7. Создайте необходимую инфраструктуру:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

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

Установите и настройте Fluent BitУстановите и настройте Fluent Bit

Выберите вариант установки Fluent Bit в зависимости от того, какие логи вы хотите собирать и передавать в Cloud Logging:

  • Собирать только логи подов и сервисов Managed Service for Kubernetes.
  • Собирать логи подов, сервисов и системные логи узлов Managed Service for Kubernetes.

Установка Fluent Bit для сбора логов подов и сервисовУстановка Fluent Bit для сбора логов подов и сервисов

Вручную
  1. Установите kubectl и настройте его на работу с созданным кластером.

  2. Создайте объекты, необходимые для работы Fluent Bit:

    kubectl create namespace logging && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-service-account.yaml && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-role-1.22.yaml && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-role-binding-1.22.yaml
    
  3. Создайте секрет, который содержит ключ сервисного аккаунта для Cloud Logging, созданного ранее:

    kubectl create secret generic secret-key-json \
      --from-file=key.json \
      --namespace logging
    
  4. Скачайте конфигурационный файл config.yaml:

    wget https://raw.githubusercontent.com/knpsh/yc-logging-fluent-bit-example/main/config.yaml
    
  5. Укажите идентификатор созданной ранее лог-группы, опционально идентификатор кластера и параметр endpoint в секции [OUTPUT] файла config.yaml:

    ...
    output-elasticsearch.conf: |
      [OUTPUT]
        Name            yc-logging
        Match           *
        group_id        <идентификатор_лог-группы>
        resource_id     <опционально_идентификатор_кластера>
        message_key     log
        endpoint        api.yandexcloud.kz:443
        authorization   iam-key-file:/etc/secret/key.json
    ...
    

    Идентификатор лог-группы можно получить со списком лог-групп в каталоге, идентификатор кластера — со списком кластеров в каталоге.

    При необходимости укажите дополнительные настройки Fluent Bit.

  6. Создайте объекты Fluent Bit:

    kubectl apply -f config.yaml
    

    Результат:

    configmap/fluent-bit-config created
    daemonset.apps/fluent-bit created
    
  7. Убедитесь, что под Fluent Bit перешел в состояние Running:

    kubectl get pods -n logging
    

Установка Fluent Bit для сбора логов подов, сервисов и системных логов узловУстановка Fluent Bit для сбора логов подов, сервисов и системных логов узлов

Вручную
  1. Установите kubectl и настройте его на работу с созданным кластером.

  2. Создайте объекты, необходимые для работы Fluent Bit:

    kubectl create namespace logging && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-service-account.yaml && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-role-1.22.yaml && \
    kubectl create -f https://raw.githubusercontent.com/fluent/fluent-bit-kubernetes-logging/master/fluent-bit-role-binding-1.22.yaml
    
  3. Создайте секрет, который содержит ключ сервисного аккаунта для Cloud Logging, созданного ранее:

    kubectl create secret generic secret-key-json \
      --from-file=key.json \
      --namespace logging
    
  4. Скачайте файл конфигурации Fluent Bit config.yaml.

  5. Укажите идентификатор созданной ранее лог-группы и параметр endpoint в секциях [OUTPUT] файла config.yaml:

    ...
    output-elasticsearch.conf: |
      [OUTPUT]
        Name            yc-logging
        Match           kube.*
        group_id        <идентификатор_лог-группы>
        resource_type   {kubernetes/namespace_name}
        resource_id     {kubernetes/pod_name}
        stream_name     {kubernetes/host}
        message_key     log
        endpoint        api.yandexcloud.kz:443
        level_key       severity
        default_level   INFO
        authorization   iam-key-file:/etc/secret/key.json
    
      [OUTPUT]
        Name            yc-logging
        Match           host.*
        group_id        <идентификатор_лог-группы>
        resource_type   systemd
        resource_id     {_SYSTEMD_UNIT}
        stream_name     {_HOSTNAME}
        message_key     MESSAGE
        endpoint        api.yandexcloud.kz:443
        level_key       SEVERITY
        default_level   INFO
        authorization   iam-key-file:/etc/secret/key.json
    ...
    

    Идентификатор лог-группы можно получить со списком лог-групп в каталоге.

    При необходимости укажите дополнительные настройки Fluent Bit.

  6. Создайте объекты Fluent Bit:

    kubectl apply -f config.yaml
    

    Результат:

    configmap/fluent-bit-config created
    daemonset.apps/fluent-bit created
    
  7. Убедитесь, что под Fluent Bit перешел в состояние Running:

    kubectl get pods -n logging
    

Проверьте результатПроверьте результат

Проверьте передачу логов подов и сервисов Managed Service for Kubernetes в лог-группу Cloud Logging.

Удалите созданные ресурсыУдалите созданные ресурсы

Некоторые ресурсы платные. Чтобы за них не списывалась плата, удалите ресурсы, которые вы больше не будете использовать:

Вручную
Terraform
  1. Удалите кластер Managed Service for Kubernetes.
  2. Если вы зарезервировали для кластера Managed Service for Kubernetes статический публичный IP-адрес, освободите и удалите его.
  3. Удалите созданные подсети и сети.
  4. Удалите созданные сервисные аккаунты.
  5. Удалите лог-группу.
  1. В командной строке перейдите в директорию, в которой расположен актуальный конфигурационный файл Terraform с планом инфраструктуры.

  2. Удалите конфигурационный файл k8s-cluster-with-log-group.tf.

  3. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Все ресурсы, которые были описаны в конфигурационном файле k8s-cluster-with-log-group.tf, будут удалены.

Была ли статья полезна?

Предыдущая
Интеграция с Crossplane
Следующая
Настройка Gateway API
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»