Перейти к содержанию

Одна панель — один вопрос


Первое правило хорошего дашборда: каждая панель должна отвечать на один конкретный вопрос. Не на три вопроса. Не на "обо всём понемногу". На один.


Принцип единой ответственности

Вопросы могут быть такими:

  • "Каков 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]))

Лучше три отдельных панели:

  1. RPSrate(http_server_requests_total[5m])
  2. Error Raterate(http_server_requests_total{status=~"5.."}[5m]) / rate(http_server_requests_total[5m])
  3. p99 Latencyhistogram_quantile(0.99, rate(http_server_request_duration_seconds_bucket[5m]))

Три панели, три единицы, три вопроса. Мозгу пользователя не нужно переключать контекст.


Не дайте панели превратиться в "кашу"

Самый частый грех — накидать 15 временных рядов в одну панель Time Series. Не делайте так. Четыре-пять рядов — максимум для комфортного восприятия. Больше — используйте Legend с табличным представлением (отключите показ рядов на графике или уменьшите прозрачность).


А если на самом деле нужно показать и RPS и ошибки?

Тогда выберите одну панельную группировку. Например, разнесите по панелям, но расположите рядом, визуально сгруппировав их. В строке (Row) поместите только эти две панели. Пользователь видит: "А, RPS и Errors — это соседи". И понимает контекст.

Итог: один вопрос — одна панель. Всегда.



Далее: Консолидация панелей