Дашборды в 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), Базы данных временных рядов