Для чего используются дашборды в системах мониторинга типа Grafana и Zabbix?
Что проверяют
Понимаете ли вы, откуда в дашборде берутся цифры и что на нём должно быть для Java-сервиса. Следом обычно спрашивают, какие метрики вы вывели бы для своего приложения и чем дашборд отличается от алерта.
Как отвечать
Дашборд это состояние системы на одном экране. Он нужен, чтобы во время инцидента за минуту понять, что сломалось и когда, и чтобы видеть тренды для планирования мощностей. Замечать проблему должны алерты, а дашборд отвечает на вопрос «что происходит».
Стоит развести два инструмента:
- Grafana: только визуализация и алертинг поверх чужих данных. Источники: Prometheus, Loki для логов, Tempo для трейсов, ClickHouse, тот же Zabbix через плагин;
- Zabbix: полноценная система мониторинга со своими агентами, хранилищем, триггерами и дашбордами. Сильна в инфраструктуре: хосты, диски, сеть. JVM снимает по JMX через Zabbix Java gateway.
Типичная цепочка для Spring Boot: Micrometer собирает метрики, Actuator отдаёт их на /actuator/prometheus, Prometheus их забирает, Grafana рисует. На дашборд сервиса выносят:
- HTTP по методу RED: частота запросов, доля ошибок и задержки из
http.server.requestsв перцентилях p95 и p99; - JVM: занятость heap по областям, паузы GC из
jvm.gc.pause, число потоков; - пул соединений: активные и ожидающие соединения HikariCP, частая причина таймаутов;
- бизнес-метрики: заказы, платежи, длина очередей.
Полезная деталь: аннотации с моментами деплоя на графиках сразу показывают, после какого релиза выросла латентность.
Где спотыкаются
Смотрят на среднее время ответа. Среднее прячет хвост, от которого страдают пользователи, а перцентили разных инстансов нельзя усреднять между собой: нужны гистограммы и агрегация по бакетам.
Добавляют в метрики теги с высокой кардинальностью, например userId или URL с идентификатором внутри. Prometheus начинает хранить миллионы рядов и тормозит.
Строят дашборд на сотню панелей и считают его системой оповещения. В три часа ночи на него никто не смотрит, реагировать должен алерт с понятным порогом.