В Deckhouse Kubernetes Platform (DKP) предусмотрен сбор и доставка логов из узлов и подов кластера во внутреннюю или внешние системы хранения.
DKP позволяет:
Общий механизм сбора, доставки и фильтрации логов подробно описан в разделе «Архитектура».
Пользователям DKP доступна настройка параметров сбора логов из приложения с помощью ресурса PodLoggingConfig, который описывает источник логов в рамках заданного пространства имён, включая правила сбора, фильтрации и парсинга.
1. Уточните у администратора DKP, настроен ли сбор логов и хранилище в вашем кластере. Также попросите сообщить вам название хранилища, которое вы укажете в параметре clusterDestinationRefs.
2. Создайте ресурс PodLoggingConfig в своём пространстве имён.
В данном примере логи собираются со всех подов указанного пространства имён и отправляются в кратковременное хранилище на базе Grafana Loki:
3. (Опционально) Ограничьте сбор логов по лейблу.
Если вам нужно собирать логи только с определённых подов, например, только от приложений с лейблом app=backend, добавьте параметр labelSelector:
4. (Опционально) Настройте фильтрацию логов.
Используя фильтры labelFilter и logFilter, вы можете установить фильтрацию по метаданным или полям сообщений. Например, в данном случае в хранилище отправятся лишь те логи, в которых нет полей со строкой .*GET /status" 200$:
5. Примените созданный манифест с помощью следующей команды:
Следующий pipeline создает source в пространстве имён test-whispers, читает логи всех подов в нём и отправляет их в Loki:
Пример настройки чтения подов с лейблом app=booking в пространстве имён test-whispers:
Опишите вашу задачу, и мы поможем вам ее решить