Одна панель — один вопрос¶
Первое правило хорошего дашборда: каждая панель должна отвечать на один конкретный вопрос. Не на три вопроса. Не на "обо всём понемногу". На один.
Принцип единой ответственности¶
Вопросы могут быть такими:
- "Каков RPS на сервис?" → сам по себе RPS — один вопрос.
- "Каков процент ошибок на сервис?" → отдельная панель.
- "Какова задержка запросов к базе данных?" → снова одна панель.
Плохой пример: в одну панель свалены и RPS, и процент ошибок, и задержка. Три вопроса в одном графике — три причины запутаться. Латенси измеряется в миллисекундах, ошибки — в процентах, RPS — в штуках в секунду. Три разных шкалы. И вот вы смотрите на график и не понимаете: поднялась линия — это хорошо (RPS вырос) или плохо (Latency вырос)?
Хорошая аналогия — приборная панель самолёта. Скорость, высота, курс, крен — каждый прибор показывает ровно одну величину. Пилот не задумывается, "что это за шкала", он мгновенно считывает показания.
Практический пример¶
Вместо одной панели с запросом:
rate(http_server_requests_total[5m])
rate(http_server_requests_total{status=~"5.."}[5m])
histogram_quantile(0.99, rate(http_server_request_duration_seconds_bucket[5m]))
Лучше три отдельных панели:
- RPS —
rate(http_server_requests_total[5m]) - Error Rate —
rate(http_server_requests_total{status=~"5.."}[5m]) / rate(http_server_requests_total[5m]) - p99 Latency —
histogram_quantile(0.99, rate(http_server_request_duration_seconds_bucket[5m]))
Три панели, три единицы, три вопроса. Мозгу пользователя не нужно переключать контекст.
Не дайте панели превратиться в "кашу"¶
Самый частый грех — накидать 15 временных рядов в одну панель Time Series. Не делайте так. Четыре-пять рядов — максимум для комфортного восприятия. Больше — используйте Legend с табличным представлением (отключите показ рядов на графике или уменьшите прозрачность).
А если на самом деле нужно показать и RPS и ошибки?¶
Тогда выберите одну панельную группировку. Например, разнесите по панелям, но расположите рядом, визуально сгруппировав их. В строке (Row) поместите только эти две панели. Пользователь видит: "А, RPS и Errors — это соседи". И понимает контекст.
Итог: один вопрос — одна панель. Всегда.
Далее: Консолидация панелей