Стадия жизненного цикла модуля: Preview
У модуля есть требования для установки
Модуль observability предоставляет механизмы разграничения доступа к логам уровня кластера и проектов.
Для хранения логов и последующего доступа к ним должны быть включены модули loki и log-shipper.
В зависимости от области видимости различаются два типа логов:
| Область видимости | Описание |
|---|---|
| Уровень кластера | Логи, относящиеся к компонентам кластера и системным неймспейсам, имена которых соответствуют шаблону d8-* и kube-*. |
| Уровень проекта | Логи, относящиеся к ресурсам конкретного проекта namespace. Доступ к логам ограничен рамками соответствующего проекта. |
Варианты обзора данных логов:
-
Системный обзор данных — доступен администраторам DKP в веб-интерфейсе Deckhouse в разделе «Система» → «Управление системой» → меню «Мониторинг» → «Обзор данных». Необходимо выбрать источник данных
default-logs. В этом разделе запросы ограниченны логами, относящимися к системным неймспейсам. -
Проектный обзор данных — доступен пользователям проектов DKP в веб-интерфейсе Deckhouse в соответствующем проекте → меню «Мониторинг» → «Обзор данных». Необходимо выбрать источник данных
default-logs. В этом разделе запросы ограничены логами, относящимися к данному проекту (в рамках неймспейса).
Сбор и доставка логов проекта
Ниже приведён вариант базовой конфигурации DKP, при котором логи подов в рамках проекта отправляются в хранилище на базе Loki.
Подробнее о системе сбора и доставки логов в DKP можно почитать в разделе «Сбор и доставка логов».
Для настройки выполните следующие шаги:
-
Включите модули
log-shipperиlokiс помощью следующей команды:d8 system module enable log-shipper d8 system module enable loki -
Создайте ресурс PodLoggingConfig, который задаёт правила сбора логов в проекте.
Этот ресурс позволяет настроить сбор логов подов в указанном неймспейсе и при необходимости определить дополнительные правила обработки логов перед отправкой.
В этом примере указывается, что нужно собирать логи всех подов в проекте и отправлять их в Loki:
apiVersion: deckhouse.io/v1alpha1 kind: PodLoggingConfig metadata: name: namespace-logs namespace: project-namespace spec: clusterDestinationRefs: - d8-loki -
Создайте ресурс ClusterLogDestination, который описывает параметры отправки логов в Loki.
Этот ресурс позволяет задать параметры подключения к хранилищу, настройки буферизации и дополнительные лейблы для отправляемых логов.
В этом примере в качестве принимающего хранилища указан Loki:
apiVersion: deckhouse.io/v1alpha1 kind: ClusterLogDestination metadata: name: loki-storage spec: type: Loki loki: endpoint: http://192.168.1.1:3100