Установка Fluent Bit с плагином для CL в Marketplace k8s и через Helm
Fluent Bit — это многоплатформенный инструмент с открытым исходным кодом для сбора и обработки логов. Fluent Bit собирает, парсит и фильтрует сообщения из различных источников ввода и сохраняет их в хранилище. После успешного сохранения сообщения поступают из хранилища в маршрутизатор, который определяет, в какой выход их отправить. Для работы с различными источниками ввода и выходами используются плагины.
Для работы плагина потребуются настроенные ресурсы:
- Настроенный SA. Вот пример настройки: https://teletype.in/@cameda/w93lPMPQWS4
- Созданная лог группа: https://teletype.in/@cameda/c9KxDqigvib
- Если планируется использовать ещё бакет для хранения логов, то нужен ещё и бакет.
Все ключи доступа для SA должны быть в формате .json.
- Имя приложения;
- namespace;
- Идентификатор лог группы, в которую будет происходить запись;
- Ключ SA. Всё содержимое файла key.json;
- Имя бакета, если включена опция хранения в бакете логов;
- Статический ключ доступа к бакету. Всё содержимое файла stat-key-to-s3.json
После перехода приложения в соcтояние RUNNING отправка логов начинается.
Установка Fluent Bit через Helm.
# Если ранее не ставили и не удаляли export HELM_EXPERIMENTAL_OCI=1 && \ export logging_groupID=<LOG_GROUP_ID> && \ export k8s_clusterID=<CLUSTER_ID> && \ cat key.json | helm registry login cr.yandex --username 'json_key' --password-stdin && \ helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/fluent-bit/fluent-bit-cloud-logging --version 1.0-7 && \ helm install --namespace default --set loggingGroupId=$logging_groupID --set loggingFilter=$k8s_clusterID --set-file auth.json=key.json \ fluentbit ./fluent-bit-cloud-logging/
# Если ранее ставили export HELM_EXPERIMENTAL_OCI=1 && \ export logging_groupID=<LOG_GROUP_ID> && \ export k8s_clusterID=<CLUSTER_ID> && \ cat key.json | helm registry login cr.yandex --username 'json_key' --password-stdin && \ helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/fluent-bit/fluent-bit-cloud-logging --version 1.0-7 && --untar \ helm install --namespace default --set loggingGroupId=$logging_groupID --set loggingFilter=$k8s_clusterID --set-file auth.json=key.json \ fluentbit ./fluent-bit-cloud-logging/
helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION fluentbit default 1 2023-04-20 13:23:42.184569 +0300 MSK deployed fluent-bit-cloud-logging-1.0-7 2.0.3
Удаление Fluent Bit через Helm.
helm uninstall fluentbit
Полезные ссылки.
Подробно про установку:
https://cloud.yandex.ru/docs/managed-kubernetes/operations/applications/fluentbit
Ссылка на github проекта: https://github.com/yandex-cloud/fluent-bit-plugin-yandex
Helm версия проекта: https://cloud.yandex.ru/marketplace/products/yc/fluent-bit#docker-images