Стадия жизненного цикла модуля: Preview
Доступно в редакциях: CE, BE, SE, SE+, EE
Модуль Observability расширяет функциональность модулей Prometheus и Deckhouse Веб Интерфейс, предоставляя дополнительные возможности для гибкого управления визуализацией метрик и разграничения доступа к ним.
Возможности
Механизм самостоятельного управления дашбордами
Модуль добавляет новые типы дашбордов, включая ресурсы, ограниченные пространством имён. Это позволяет пользователям создавать и управлять собственными дашбордами без необходимости в правах на объекты кластерного уровня.
Ранее дашборды можно было создавать только с помощью ресурса GrafanaDashboardDefinition, который требовал прав на объекты кластерного уровня. Новый механизм вводит ресурсы, работающие в пределах конкретного пространства имён.
Поддерживаются следующие типы ресурсов:
ObservabilityDashboard— дашборды в рамках пространства имен. Доступны в Веб-интерфейсе Deckhouse в разделе «Мониторинг → Проекты».ClusterObservabilityDashboard— дашборды для отображения компонентов кластера. Доступны в Веб-интерфейсе Deckhouse в разделе «Мониторинг → Система».ClusterObservabilityPropagatedDashboard— позволяет расширять список дашбордов из двух предыдущих категорий. Такие дашборды автоматически добавляются в Веб-интерфейсе Deckhouse и отображаются в разделах «Мониторинг → Система» и «Мониторинг → Проекты». Они становятся доступны пользователям, обладающим правами на соответствующее пространство имён или на системный раздел.ObservabilityNotificationChannel- каналы уведомлений об алертах. Позволяют настроить каналы, поддерживаются следующие типы: Email, Slack, Telegram, Webhook.ObservabilityNotificationPolicy- правила уведомлений об алертах. Позволяют настроить правила уведомления: канал уведомления и его параметры, а так же селекторы алертов, используя метки алертов или выражения.
Конвертация существующих дашбордов из ресурса GrafanaDashboardDefinition в новые типы выполняется вручную.
Разграничение доступа к дашбордам
Права на доступ к дашбордам настраиваются с помощью RBAC:
- Для чтения достаточно разрешения
getна соответствующий ресурс. - Для создания и редактирования требуются разрешения
create,update,patch,delete. - Права назначаются отдельно на:
observabilitydashboards.observability.deckhouse.io— дашборды в пространстве имён.clusterobservabilitydashboards.observability.deckhouse.io— системные дашборды.clusterobservabilitypropagateddashboards.observability.deckhouse.io— дашборды, распространяемые на всех пользователей.
Разграничение доступа к метрикам
Права на доступ к дашбордам настраиваются с помощью RBAC. В зависимости от прав пользователя, фильтрация метрик осуществляется автоматически:
- Пользователи пространств имён получают доступ только к метрикам в рамках своего пространства имён. Проверяется RBAC-доступ к ресурсу
metrics.observability.deckhouse.io. - Администраторы платформы получают доступ ко всем системным метрикам (
d8-*,kube-*, метрикам без лейблаnamespace). Используется RBAC-доступ к ресурсуclustermetrics.observability.deckhouse.io.
Метрики из пользовательских пространств имён также становятся доступны, если выданы соответствующие права черезmetrics.observability.deckhouse.io.
Поддержка пользовательских источников данных
Источники данных (datasources), ранее созданные через ресурс GrafanaAdditionalDatasource, продолжают работать и становятся доступны в Веб-интерфейсе Deckhouse — в разделах «Обзор данных» и «Дашборды».
Интерфейсы
При включении модуля в Веб-интерфейсе Deckhouse становятся доступны следующие интерфейсы:
-
Мониторинг → Система:
- Дашборды — просмотр и управление системными дашбордами;
- Обзор данных — выполнение запросов PromQL ко всем метрикам;
- Состояние системы мониторинга — отображение состояния конфигурации и таргетов Prometheus.
-
Мониторинг → Проекты:
- Дашборды — просмотр и управление дашбордами в пределах пространства имён;
- Обзор данных — выполнение запросов PromQL к метрикам в рамках пространства имён;
- Состояние системы мониторинга — отображение состояния таргетов Prometheus, доступных пользователю.