Доступно в редакциях:  CE, BE, SE, SE+, EE

Модуль Observability расширяет функциональность модулей Prometheus и Deckhouse Веб Интерфейс, предоставляя дополнительные возможности для гибкого управления визуализацией метрик и разграничения доступа к ним.

Возможности

Механизм самостоятельного управления дашбордами

Модуль добавляет новые типы дашбордов, включая ресурсы, ограниченные пространством имён. Это позволяет пользователям создавать и управлять собственными дашбордами без необходимости в правах на объекты кластерного уровня.

Ранее дашборды можно было создавать только с помощью ресурса GrafanaDashboardDefinition, который требовал прав на объекты кластерного уровня. Новый механизм вводит ресурсы, работающие в пределах конкретного пространства имён.

Поддерживаются следующие типы ресурсов:

  • ObservabilityDashboard — дашборды в рамках пространства имен. Доступны в Веб-интерфейсе Deckhouse в разделе «Мониторинг → Проекты».
  • ClusterObservabilityDashboard — дашборды для отображения компонентов кластера. Доступны в Веб-интерфейсе Deckhouse в разделе «Мониторинг → Система».
  • ClusterObservabilityPropagatedDashboard — позволяет расширять список дашбордов из двух предыдущих категорий. Такие дашборды автоматически добавляются в Веб-интерфейсе Deckhouse и отображаются в разделах «Мониторинг → Система» и «Мониторинг → Проекты». Они становятся доступны пользователям, обладающим правами на соответствующее пространство имён или на системный раздел.

Конвертация существующих дашбордов из ресурса 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, доступных пользователю.