Grafana
Grafana — это платформа с открытым исходным кодом для визуализации и анализа данных, которая позволяет создавать динамические и интерактивные дашборды. Она поддерживает интеграцию с различными источниками данных, такими как базы данных, системы мониторинга и облачные сервисы. Grafana позволяет пользователям строить графики, диаграммы и настраивать предупреждения в реальном времени, что делает её популярным инструментом для мониторинга и анализа системных метрик, бизнес-аналитики и других видов данных.
1. Основные особенности Grafana
-
Интерактивные дашборды: Возможность создавать настраиваемые панели управления с широким спектром визуальных элементов.
-
Поддержка множества источников данных: Платформа может подключаться к различным источникам данных, включая Prometheus, Graphite, InfluxDB, Elasticsearch и многим другим.
-
Оповещения и уведомления: Настройка триггеров для отправки уведомлений при достижении определённых условий.
-
Гибкость и расширяемость: Поддержка плагинов, которые расширяют функциональность Grafana, добавляя новые типы визуализаций и поддержки дополнительных источников данных.
-
Совместная работа: Возможность совместного использования дашбордов с коллегами или в больших командах.
2. Основные сведения
Grafana устанавливается в виде ресурса Deployment в Namespace nova-monitoring. Для доступа к Grafana из внешней сети установлен ресурс Ingress.
В Grafana предустановлен источник Prometheus и дашборды. Данные из этих дашбордов отображаются на странице в веб-консоли Nova Container Platform. Данные с других дашбордов не будут выведены.
Рекомендуется добавлять новые дашборды и источники данных через ConfigMap. Grafana автоматически начнёт с ними работать.
3. Добавление нового плагина
В настоящее время установка плагинов на постоянной основе невозможна. После перезапуска pod’а настройки возвращаются к исходному состоянию.
Данный функционал будет реализован в одной из будущих версий платформы.
4. Добавление нового источника данных (Datasource)
Для добавления нового источника данных создайте ресурс ConfigMap в Namespace nova-monitoring с именем nova-grafana-datasources-<имя_источника> и меткой nova-platform.io/cluster-dashboard-datasource: 'true', например:
kind: ConfigMap
apiVersion: v1
metadata:
name: nova-grafana-datasources-test (1)
namespace: nova-monitoring (2)
labels:
nova-platform.io/cluster-dashboard-datasource: 'true' (3)
data: (4)
datasources_prometheus_new.yaml: |-
apiVersion: 1
datasources:
- name: nova-prometheus-new
type: prometheus
url: http://prometheus-operated.nova-monitoring.svc:9090
isDefault: false
-
Имя ресурса: должно быть
nova-grafana-datasources-<имя_источника>. -
Имя Namespace: не должно быть изменено.
-
Метка, по которой ресурс автоматически добавляется в Grafana.
-
Пример файла конфигурации. Имя файла должно быть уникально.
5. Добавление нового дашборда
Для добавления нового дашборда создайте ресурс ConfigMap в Namespace nova-monitoring с именем nova-grafana-dashboard-<имя_источника> и меткой grafana_dashboard: '1', например:
kind: ConfigMap
apiVersion: v1
metadata:
name: nova-grafana-dashboard-alertmanager-overview (1)
namespace: nova-monitoring (2)
labels:
grafana_dashboard: '1' (3)
data: (4)
alertmanager-overview.json: |-
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
...
]
}
-
Имя ресурса: должно быть
nova-grafana-dashboard-<имя_дашборда>. -
Имя Namespace: не должно быть изменено.
-
Метка, по которой ресурс автоматически добавляется в Grafana.
-
Пример файла конфигурации. Имя файла должно быть уникально. Можно заранее настроить дашборд в Grafana и взять его конфигурацию из
JSON Model.