linux-labs

Вики / Службы и systemd

Grafana (дашборды)

Сервис Grafana 11 СлужбыМониторинг

Визуализация метрик и логов — источники данных, дашборды, переменные, алерты.

Grafana рисует дашборды по данным из источников (Prometheus, Loki, Postgres и др.). Сама метрики не хранит — только запрашивает и визуализирует. Веб-интерфейс на :3000.

Поток: источник данных (data source) → панель с запросом (PromQL/SQL) → дашборд → (опц.) алерты.

systemctl status grafana-server
ss -tlnp | grep 3000              # слушает ли (см. ss)
# конфиг: /etc/grafana/grafana.ini ; данные/дашборды/плагины: /var/lib/grafana
  1. Add data source → Prometheus → URL http://prometheus:9090Save & Test.
  2. New dashboard → panel → запрос PromQL (rate(http_requests_total[5m])) → выбери визуализацию и единицы (Standard options → Unit).
  3. Переменные дашборда ($instance, $job) — Settings → Variables → Query — для фильтра по хосту/сервису.
  4. Explore (компас слева) — разовые запросы без создания панели.
# плагины и обслуживание через CLI:
sudo grafana-cli plugins list-remote
sudo grafana-cli plugins install grafana-piechart-panel
sudo systemctl restart grafana-server
sudo grafana-cli admin reset-admin-password НОВЫЙ

Источники, дашборды и алерты задаются файлами — воспроизводимо, в git, а не кликами:

/etc/grafana/provisioning/datasources/*.yaml   # data sources
/etc/grafana/provisioning/dashboards/*.yaml    # пути к JSON-дашбордам
/etc/grafana/provisioning/alerting/*.yaml      # алерты

Дашборд экспортируется в JSON (Share → Export) и кладётся в репозиторий.

Panel: «No data»

  • Источник проходит Save & Test?
  • Запрос корректный? Проверь сначала в самом Prometheus (:9090/graph).
  • Временной диапазон (справа вверху) не «в будущем»/слишком узкий.
  • У метрики есть нужные лейблы под $переменную?

Data source: bad gateway / connection refused

Grafana не достучалась до источника. URL/порт верный, сеть есть (ss, firewall). Из контейнера — имя сервиса, не localhost.

Забыл пароль admin

sudo grafana-cli admin reset-admin-password НОВЫЙ (или переменная окружения при старте).

Дашборд пропал после переразвёртывания

Если не provisioning — дашборды в БД (/var/lib/grafana/grafana.db). Бэкапь её или храни дашборды как код (JSON в git + provisioning).

502 за обратным прокси

Если Grafana за nginx/haproxy на под-пути — задай root_url и serve_from_sub_path в grafana.ini, иначе ломаются ссылки/логин.

systemctl status grafana-server ; ss -tlnp | grep 3000
sudo grafana-cli admin reset-admin-password NEW
sudo grafana-cli plugins install <plugin> ; systemctl restart grafana-server
# data source → Prometheus → Save & Test
# «No data» → проверь запрос в :9090/graph и диапазон времени
# как код: /etc/grafana/provisioning/ + JSON-дашборды в git

См. также