Источники данных и первая панель

Урок про подключение Prometheus к Grafana и создание первой панели.

Grafana — инструмент визуализации, который подключается к источникам данных (включая Prometheus) и строит из их запросов графики и дашборды.

Prometheus умеет считать и отдавать данные, но его встроенный интерфейс аскетичен. Grafana превращает PromQL-запросы в красивые, настраиваемые панели, которые удобно держать на мониторе у команды.

Источник данных

Data source — это подключение Grafana к системе с данными. Для нашего курса добавляем источник типа Prometheus, указав его URL. После этого панели смогут отправлять туда PromQL-запросы.

# provisioning: datasources/prometheus.yml
apiVersion: 1
datasources:
  - name: Prometheus
    type: prometheus
    access: proxy
    url: http://prometheus:9090
    isDefault: true

Описав источник файлом provisioning, вы получаете воспроизводимую конфигурацию: Grafana поднимется уже с подключённым Prometheus, без ручных кликов.

Панель и запрос

Панель (panel) — это один визуальный блок: график, число, таблица. В панель вписывают PromQL-запрос, и Grafana периодически его выполняет, рисуя результат.

# запрос для панели "нагрузка по сервисам"
sum by (service) (rate(http_requests_total[5m]))

Типы визуализаций

  • Time series — линейный график во времени, основной тип.
  • Stat — одно крупное число: текущая нагрузка, доля ошибок.
  • Gauge — шкала с порогами, например насыщенность.
  • Table — таблица текущих значений по рядам.

Как работает под капотом

Когда вы открываете дашборд, Grafana для каждой панели отправляет её запрос в источник данных с указанием диапазона времени из верхнего пикера (например, «последние 6 часов»). Prometheus возвращает временные ряды, а Grafana рисует их выбранной визуализацией. При автообновлении цикл повторяется по таймеру. Сами данные Grafana не хранит — она лишь запрашивает их у источника по требованию.

[Дашборд] --PromQL + диапазон--> [Prometheus] --ряды--> [Панель рисует график]

Частые ошибки

  • Неверный URL источника. Внутри Docker-сети это имя сервиса (http://prometheus:9090), а не localhost.
  • Огромный диапазон времени с тяжёлым запросом. «Последний год» по сырым метрикам перегрузит Prometheus.
  • Не сохранить дашборд. Изменения в редакторе панели исчезнут без сохранения.

Итог

  • Источник данных связывает Grafana с Prometheus по URL.
  • Панель хранит PromQL-запрос и тип визуализации.
  • Grafana запрашивает данные у источника на лету и не хранит их сама.
Проверьте себя
1. Что такое data source в Grafana?
AТип графика
BПодключение к системе с данными, например к Prometheus по URL
CФайл дашборда
DПользователь Grafana
2. Хранит ли Grafana сами метрики?
AДа, копирует всю TSDB
BНет, она запрашивает данные у источника на лету
CТолько за последний час
DТолько алерты