Grafana#
Grafana - это инструмент для визуализации данных и аналитики, который используется для мониторинга кластеров DropApp. Он позволяет собирать, отображать и анализировать метрики и логи в реальном времени, обеспечивая полное представление о состоянии инфраструктуры и приложений.
Основные задачи и возможности
Визуализация метрик и логов:
Позволяет создавать панели для отслеживания состояния узлов, pods, сервисов и других ресурсов кластера.
Интеграция с VictoriaMetrics:
Распространенный источник данных для Kubernetes. VictoriaMetrics собирает метрики с кластера, а Grafana визуализирует их в удобном виде.
Мониторинг в реальном времени:
Предоставляет возможность оперативно выявлять проблемы, такие как перегрузка ресурсов или падение производительности.
Настройка алертов (оповещений):
Можно настраивать уведомления по различным метрикам (например, высокая нагрузка на CPU или недоступность pod).
Корреляция логов и метрик:
Позволяет связывать данные из разных источников (метрики + логи), чтобы быстрее находить причины ошибок.
Гибкие панели и плагины:
Поддерживает множество плагинов и пользовательских шаблонов для расширения функциональности и адаптации под нужды проекта.
Примечание
Grafana устанавливается по умолчанию с компонентом Monitoring и интегрирована с Dex. Пользователь kubeadmin является администратором в Grafana. Также Grafana по умолчанию интегрирована с datasource инструмента Victoria-metrics-k8s-stack, и по умолчанию имеет в себе готовые панели monitoring, logging, security.
Конфигурация values#
Значения можно переопределить через редактирование инструмента с именем grafana и указанием нужных values в spec.values. Общее описание конфигурации values для инструментов описано в разделе «Конфигурации инструментов дополнительных компонентов».
-
serviceAccount - конфигурация сервисного аккаунта Kubernetes
headlessService - создание headless сервиса для развертывания
automountServiceAccountToken - автоматическое монтирование токена сервисного аккаунта
autoscaling - настройки автоматического масштабирования pods
extraConfigmapMounts - дополнительные монтирования ConfigMap
topologySpreadConstraints - ограничения распределения топологии
envRenderSecret - чувствительные переменные окружения как секрет
envFromConfigMaps - список ConfigMap для переменных окружения
enableServiceLinks - внедрение сервисов Kubernetes как переменных окружения
dashboardsConfigMaps - ссылки на внешние ConfigMap с панелями
namespaceOverride - переопределение namespece для развертывания
revisionHistoryLimit - количество старых ReplicaSet для сохранения
enableKubeBackwardCompatibility - обратная совместимость с Kubernetes версий ниже 1.13
useStatefulSet - использование StatefulSet вместо Deployment
extraObjects - создание динамических манифестов через values
assertNoLeakedSecrets - проверка утечки секретных значений в ConfigMap
rbac - настройки управления доступом на основе ролей (RBAC)#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создать RBAC-ресурсы |
|
|
Включить Pod Security Policy (PSP) |
|
|
Использовать |
|
|
Ограничить RBAC namespace |
|
|
Дополнительные правила для |
|
|
Дополнительные правила для |
|
serviceAccount - конфигурация сервисного аккаунта Kubernetes#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создать сервисный аккаунт |
|
|
Имя сервисного аккаунта |
|
|
Имя тестового сервисного аккаунта |
|
|
Метки для сервисного аккаунта |
|
|
Автоматическое монтирование токена сервисного аккаунта |
|
replicas - количество реплик Grafana#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество реплик Grafana |
|
headlessService - создание headless сервиса для развертывания#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создать сервис |
|
automountServiceAccountToken - автоматическое монтирование токена сервисного аккаунта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Автоматически монтировать токен сервисного аккаунта в pods |
|
autoscaling - настройки автоматического масштабирования pods#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить автоматическое горизонтальное масштабирование pods |
|
|
Минимальное количество реплик для автоматического масштабирования |
|
|
Максимальное количество реплик для автоматического масштабирования |
|
|
Целевое использование CPU для автоматического масштабирования (%) |
|
|
Целевое использование памяти для автоматического масштабирования (%) |
|
|
Настройки поведения автоматического масштабирования |
|
deploymentStrategy - стратегия развертывания#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Тип стратегии развертывания ( |
|
readinessProbe - настройки проверки готовности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
HTTP-путь для проверки готовности |
|
|
HTTP-порт для проверки готовности |
|
livenessProbe - настройки проверки жизнеспособности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
HTTP-путь для проверки жизнеспособности |
|
|
HTTP-порт для проверки жизнеспособности |
|
|
Начальная задержка перед проверкой (секунды) |
|
|
Время ожидания проверки (секунды) |
|
|
Количество неудачных попыток перед перезапуском |
|
image - настройки Docker образа Grafana#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Реестр Docker для образа Grafana |
|
|
Репозиторий Docker-образа Grafana |
|
|
Тег Docker-образа Grafana |
|
|
SHA-хеш образа для проверки целостности |
|
|
Политика загрузки образа ( |
|
|
Секреты для загрузки образа из приватного репозитория |
|
dnsPolicy - политика DNS для pods#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Политика DNS для pods ( |
|
dnsConfig - конфигурация DNS для pods#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Пользовательская DNS-конфигурация для pods |
|
securityContext - контекст безопасности pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Запуск от имени не-root пользователя |
|
|
ID пользователя для запуска контейнера |
|
|
ID группы для запуска контейнера |
|
|
ID группы для файловой системы |
|
containerSecurityContext - контекст безопасности контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Разрешить повышение привилегий |
|
|
Корневая файловая система только для чтения |
|
|
Отбрасываемые |
|
|
Тип профиля |
|
|
ID пользователя для запуска контейнера |
|
|
ID группы для запуска контейнера |
|
createConfigmap - создание ConfigMap для Grafana#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создать |
|
extraConfigmapMounts - дополнительные монтирования ConfigMap#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные |
|
extraEmptyDirMounts - дополнительные монтирования EmptyDir#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные тома |
|
extraLabels - дополнительные метки для ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные метки для применения к общим меткам |
|
downloadDashboardsImage - образ для загрузки панелей#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Реестр Docker для образа загрузки панелей |
|
|
Репозиторий образа для загрузки панелей |
|
|
Тег образа для загрузки панелей |
|
|
SHA-хеш образа |
|
|
Политика загрузки образа |
|
downloadDashboards - настройки загрузки панелей#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переменные окружения для загрузки панелей |
|
|
Переменные окружения из секрета |
|
|
Разрешить повышение привилегий |
|
|
Корневая файловая система только для чтения |
|
|
ID пользователя для запуска |
|
|
ID группы для запуска |
|
|
Отбрасываемые |
|
|
Тип профиля |
|
|
Лимит использования CPU |
|
|
Лимит использования памяти |
|
|
Запрашиваемое количество CPU |
|
|
Запрашиваемое количество памяти |
|
|
Переменные окружения из источников |
|
podPortName - имя порта Grafana в pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя порта Grafana в определении pod |
|
gossipPortName - имя порта для gossip протокола#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя порта для протокола |
|
service - настройки Kubernetes Service#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить создание |
|
|
Тип |
|
|
IP-адрес для |
|
|
Класс |
|
|
Диапазоны IP для доступа к |
|
|
Порт |
|
|
Целевой порт контейнера |
|
|
Аннотации для |
|
|
Метки для |
|
|
Имя порта в |
|
|
Протокол приложения для работы с Istio |
|
serviceMonitor - настройки ServiceMonitor для Prometheus#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создать |
|
|
Путь для сбора метрик |
|
|
Метки для |
|
|
Интервал сбора метрик |
|
|
Схема подключения ( |
|
|
Настройки TLS |
|
|
Время ожидания сбора метрик |
|
|
Правила |
|
|
Правила метрик |
|
|
Целевые метки |
|
extraExposePorts - дополнительные порты для экспонирования#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные порты для экспонирования в Service |
|
hostAliases - пользовательские записи хостов для pods#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Пользовательские записи хостов для добавления в |
|
ingress - настройки Kubernetes Ingress#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить создание |
|
|
Класс |
|
|
Аннотации для |
|
|
Метки для |
|
|
Базовый путь для маршрутизации |
|
|
Тип пути в |
|
|
Список хостов для |
|
|
Дополнительные пути для каждого хоста |
|
|
Настройки TLS для |
|
resources - ресурсы CPU и памяти#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Лимит использования CPU |
|
|
Лимит использования памяти |
|
|
Запрашиваемое количество CPU |
|
r |
Запрашиваемое количество памяти |
|
nodeSelector - селектор узлов для размещения pods#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Селектор узлов для размещения pods |
|
tolerations - tolerations для размещения на узлах с taint#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
|
|
affinity - правила аффинности для размещения pods#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Правила аффинности для размещения pods |
|
topologySpreadConstraints - ограничения распределения топологии#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Ограничения распределения pods по топологии |
|
extraInitContainers - дополнительные init контейнеры#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные |
|
extraContainers - дополнительные контейнеры#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные контейнеры в pod (например, для аутентификации) |
|
extraContainerVolumes - дополнительные тома для контейнеров#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Тома для использования в |
|
persistence - настройки постоянного хранилища#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Тип постоянного хранилища |
|
|
Включить постоянное хранилище с использованием PVC |
|
|
Режимы доступа к хранилищу |
|
|
Размер хранилища |
|
|
Финализаторы для PVC |
|
|
Дополнительные метки для PVC |
|
inMemory - настройки хранения в памяти#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить хранение в памяти для улучшения производительности |
|
adminUser - имя администратора по умолчанию#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя администратора по умолчанию |
|
admin - настройки администратора#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Использовать существующий секрет для учетных данных администратора |
|
|
Ключ для имени пользователя в секрете |
|
|
Ключ для пароля в секрете |
|
env - переменные окружения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Секрет клиента для OAuth аутентификации |
|
|
Корневой URL сервера Grafana |
|
envValueFrom - переменные окружения из источников#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переменные окружения из |
|
envFromSecret - переменные окружения из секретов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Имя секрета для загрузки переменных окружения |
|
envRenderSecret - чувствительные переменные окружения как секрет#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Чувствительные переменные окружения для создания нового секрета |
|
envFromSecrets - список секретов для переменных окружения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список секретов для добавления переменных окружения |
|
envFromConfigMaps - список ConfigMap для переменных окружения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список |
|
enableServiceLinks - внедрение сервисов Kubernetes как переменных окружения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Внедрить сервисы Kubernetes как переменные окружения |
|
extraSecretMounts - дополнительные монтирования секретов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные монтирования секретов в контейнер Grafana |
|
extraVolumeMounts - дополнительные монтирования томов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные монтирования томов в контейнер |
|
extraVolumes - дополнительные тома#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Дополнительные тома для pods |
|
lifecycleHooks - хуки жизненного цикла контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Хуки жизненного цикла контейнера ( |
|
plugins - список плагинов Grafana для установки#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список плагинов Grafana для установки при запуске |
|
datasources - конфигурация источников данных#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Версия API для конфигурации источников данных |
|
|
Список источников данных для автоматической настройки |
|
alerting - конфигурация оповещений#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Конфигурация правил и контактных точек для оповещений |
|
notifiers - конфигурация уведомителей#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Конфигурация каналов уведомлений для оповещений |
|
dashboardProviders - провайдеры панелей#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Версия API для провайдеров панелей |
|
|
Список провайдеров панелей |
|
dashboards - конфигурация панелей#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Файл панели производительности Kubernetes API |
|
|
Файл панели ресурсов кластера |
|
|
Файл панели ресурсов namespace |
|
|
Файл панели ресурсов узлов |
|
|
Файл панели ресурсов pods |
|
|
Файл панели ресурсов рабочих нагрузок |
|
|
Файл панели ресурсов рабочих нагрузок по namespace |
|
|
Файл панели сетевого трафика кластера |
|
|
Файл панели сетевого трафика namespace по pods |
|
|
Файл панели общего сетевого трафика pods |
|
|
Файл панели VictoriaMetrics Agent |
|
|
Файл панели VictoriaMetrics Cluster |
|
|
Файл панели Gatekeeper для безопасности |
|
|
Файл панели Vector для логирования |
|
dashboardsConfigMaps - ссылки на внешние ConfigMap с панелями#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Ссылки на внешние |
|
grafana.ini - основная конфигурация Grafana#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Путь к каталогу данных |
|
|
Путь к каталогу логов |
|
|
Путь к каталогу плагинов |
|
|
Путь к каталогу provisioning |
|
|
Проверка обновлений |
|
|
Режим логирования ( |
|
|
URL |
|
|
Домен сервера Grafana |
|
|
Отключить форму входа |
|
|
Включить |
|
|
Автоматический вход через |
|
|
Название |
|
|
Разрешить регистрацию через |
|
|
ID клиента |
|
|
URL авторизации |
|
|
URL API |
|
|
URL токена |
|
|
Области доступа |
|
|
Пропустить проверку TLS-сертификата |
|
|
TLS-сертификат клиента |
|
|
TLS-ключ клиента |
|
|
Строгая проверка атрибутов ролей |
|
|
Путь к атрибуту роли |
|
smtp - конфигурация SMTP#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Использовать существующий секрет с |
|
|
Ключ пользователя в |
|
|
Ключ пароля в |
|
namespaceOverride - переопределение namespece для развертывания#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределить namespace для развертывания |
|
revisionHistoryLimit - количество старых ReplicaSet для сохранения#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Количество старых |
|
networkPolicy - политики сети для ограничения трафика#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить создание |
|
|
Включить правила входящего трафика |
|
|
Разрешить внешний трафик без селекторов |
|
|
Явный селектор namespace |
|
|
Включить правила исходящего трафика |
|
|
Блокировать DNS-резолюцию |
|
|
Разрешенные порты исходящего трафика |
|
|
Направления исходящего трафика |
|
enableKubeBackwardCompatibility - обратная совместимость с Kubernetes версий ниже 1.13#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Включить обратную совместимость с Kubernetes версий ниже 1.13 (отсутствие |
|
useStatefulSet - использование StatefulSet вместо Deployment#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Использовать |
|
extraObjects - создание динамических манифестов через values#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Создание динамических манифестов через |
|
assertNoLeakedSecrets - проверка утечки секретных значений в ConfigMap#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Проверка отсутствия утечки секретных значений в |
|