Практикум Grafana — источники данных и дашборды
Практикум, шаг 4 из 9. Назад — PromQL. Стек уже поднят на шаге 2. Дальше — экспортёры.
Роль Grafana
Grafana — платформа визуализации и исследования данных. Prometheus хранит и опрашивает метрики; Grafana строит дашборды, Explore и Unified Alerting поверх Prometheus, Loki, Tempo и десятков других источников.

Полный маршрут практикума — Практикум Prometheus и Grafana — о разделе.
Официальные материалы:
Grafana уже запущена, datasource Prometheus создан файлом provisioning. Полный маршрут «Explore → дашборд → импорт» — в Как пользоваться. Здесь — проверка связи и углубление (переменные, импорт по ID).
Вход и проверка datasource
- Откройте
http://localhost:<PORT_GRAFANA>(порт задавали на шаге 2). - Войдите:
admin/admin(Grafana может предложить сменить пароль — для учебного стенда можно пропустить). - Connections → Data sources — в списке Prometheus, пометка Default.
- Откройте datasource → Save & test.
Ожидаемый результат: Successfully queried the Prometheus API.
Если ошибка — сверьте шаг 2: URL должен быть http://prometheus:9090, оба контейнера Up, health Prometheus 200.
Первая панель — метрика up
Dashboards → New → New dashboard → Add visualization
| Поле | Значение |
|---|---|
| Data source | Prometheus |
| Query | up |
| Legend | {{job}} / {{instance}} |
| Visualization | Time series или Stat |
Save dashboard — имя, например Lab / Overview.
Ожидание на свежем стенде: одна серия up{job="prometheus"} = 1. Если No data — вернитесь в Prometheus UI (<PORT_PROM>) → Targets и убедитесь, что scrape работает.
Тот же запрос можно отработать в Explore (иконка компаса) — удобно перед добавлением сложного PromQL на дашборд.
Связка Prometheus UI и Grafana
| Проверка | Где | Ожидание |
|---|---|---|
| Target жив | Prometheus → Status → Targets | prometheus UP |
| PromQL | Prometheus → Graph → up | значение 1 |
| Datasource | Grafana → Save & test | Successfully queried |
| Панель | Grafana → дашборд up | график без разрывов |
Запросы из шага 3 (rate, histogram_quantile) копируйте в Grafana Explore и на панели — синтаксис тот же.
Provisioning (напоминание)
Datasource уже описан в YAML (шаг 2):
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
url: http://prometheus:9090
isDefault: true
editable: false
| Поле | Смысл |
|---|---|
access: proxy | Браузер не ходит в Prometheus напрямую — только Grafana |
url | Имя сервиса Compose, порт внутри сети |
editable: false | Случайно не сменить URL в UI |
Дашборды можно подключать provisioning'ом (grafana/provisioning/dashboards/) — JSON в Git, автозагрузка при старте Grafana. Для Windows-стенда типичен дашборд 14694 в папке Windows (шаг 2).
Provisioning дашборда (файлом)
grafana/provisioning/dashboards/default.yml— провайдер сfolder: Windowsиpathк JSON.- В
datasource.yml—uid: prometheus(совпадает с ссылками в JSON). - Скачайте JSON с Grafana.com, замените
${DS_PROMETHEUS}на{"type": "prometheus", "uid": "prometheus"}, удалите__inputs/__requires. - Сохраните
windows-exporter.jsonв UTF-8 без BOM.
Если в UI папка есть, а дашбордов нет — docker compose logs grafana | Select-String "failed to load". Частая причина: BOM в JSON (invalid character 'ï'). Исправление — Как пользоваться.
Переменные дашборда
Dashboard settings → Variables → Add variable
| Variable | Type | Query |
|---|---|---|
job | Query | label_values(up, job) |
instance | Query | label_values(up{job="$job"}, instance) |
В панели:
up{job="$job", instance=~"$instance"}
После добавления node_exporter (шаг 5) переменные покажут несколько job и instance.
Explore и Split view
Explore — ad-hoc PromQL без сохранения дашборда. На шаге 7 включите Split — Prometheus и Loki рядом для расследования инцидента.
Импорт готовых дашбордов
Dashboards → New → Import
| ID | Название | Когда |
|---|---|---|
| 3662 | Prometheus 2.0 Overview | Сразу после шага 2 |
| 14694 | Windows Exporter Dashboard | После windows_exporter |
| 1860 | Node Exporter Full | После node_exporter на Linux (шаг 5) |
| 7587 | Alertmanager | После шага 6 |
При импорте выберите datasource Prometheus.
Минимальный дашборд «три золотых сигнала»
Для HTTP-сервиса (после instrumentation на шаге 5):
| Панель | PromQL |
|---|---|
| Traffic | sum(rate(http_requests_total[5m])) |
| Errors | sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) |
| Duration p99 | histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le)) |

Эксплуатация Grafana на стенде
Команды из шага 2 — те же:
docker compose logs -f grafana
docker compose restart grafana
Дашборды и настройки лежат в volume grafana_data — переживают docker compose down без -v.
Чек-лист
- Вход в Grafana на
<PORT_GRAFANA> - Datasource Prometheus — Save & test OK
- Дашборд с панелью
up - (Опционально) дашборд 14694 или provisioning Windows
- (Опционально) переменные
job/instance - Импорт dashboard 3662
Дальше — экспортёры и /metrics.
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Два инструмента, русский UI Grafana 12, windows_exporter, UI-шпаргалки, targets, Explore, дашборд Windows и типичные сбои. Pull-модель, компоненты Prometheus, временные ряды, метки, exporters и Pushgateway — основа перед установкой. Docker Compose на Windows и Linux, Grafana 12 и ru-RU, windows_exporter, provisioning, health check и типичные сбои первого запуска. Counter, Gauge, Histogram, Summary, функции rate и increase, агрегации и типовые запросы для дашбордов. node_exporter, windows_exporter на Windows, blackbox, Pushgateway, client libraries и /metrics. Alerting rules, Alertmanager, маршрутизация, inhibition, Grafana Unified Alerting и туториал по алертам. PLG-расширение — логи в Loki, трейсы в Tempo, долгосрочные метрики в Mimir, LogQL и корреляция в Grafana. Grafana Alloy как единый агент, eBPF-метрики Beyla, RUM Faro и профилирование Pyroscope. OpenTelemetry Collector, инструментирование сервиса, нагрузочный тест k6 с метриками и полный docker-compose observability lab.Как пользоваться
Практикум Prometheus — архитектура и модель данных
Практикум Prometheus — установка и первые метрики
Практикум Prometheus — типы метрик и PromQL
Практикум Prometheus — экспортёры и инструментирование
Практикум Prometheus — Alertmanager и Grafana Alerting
Практикум — Loki, Tempo и Mimir
Практикум — Alloy, Beyla, Faro и Pyroscope
Практикум — OpenTelemetry, k6 и итоговый стенд