EMZETT.
Войти

Дашборды в Grafana: делаем метрики видимыми

Коротко: Grafana подключается к источникам данных, таким как Prometheus или базы данных, и показывает измерения в виде графиков, индикаторов и оповещений на дашборде.

Подробнее: Одни числа трудно охватить взглядом. Дашборд наглядно представляет важные измерения, чтобы проблемы замечались рано. Grafana — самый известный бесплатный инструмент для этого, работающий со многими источниками данных.

Подробности

Строительные блоки

  • Источники данных: Prometheus, InfluxDB, PostgreSQL, Loki (журналы), Tempo (трассы), CloudWatch и другие.
  • Панели: графики временных рядов, индикаторы, таблицы, тепловые карты, числовые поля.
  • Переменные: списки выбора (сервер, окружение), чтобы один дашборд обслуживал много целей.
  • Оповещения (alerting): правила, предупреждающие по электронной почте, Slack или Telegram при превышении порогов.

Хороший дашборд

Ориентируйтесь на четыре золотых сигнала: задержка, трафик (запросы в секунду), ошибки и насыщение (CPU, память). Самые важные цифры сверху, подробности ниже. Подписывайте единицы, избегайте перегруженных экранов и задавайте цвета порогов (зелёный/жёлтый/красный). Дашборд должен отвечать на вопрос («Работает ли сервис?»), а не быть украшением.

Настройка с Prometheus

Prometheus собирает и хранит метрики, Grafana запрашивает их с помощью PromQL:

rate(http_requests_total{status=~"5.."}[5m])

показывает долю ошибок за последние 5 минут. Дашборды можно экспортировать в JSON и версионировать в Git (дашборды как код).

Разумно проектировать оповещения

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

См. также: Prometheus и метрики, Наблюдаемость (observability), Базы данных временных рядов