Как я могу визуализировать гистограмму с помощью Promdash или Grafana?

В Prometheus меня привлекают временные ряды гистограммы (и резюме), но мне не удалось отобразить гистограмму ни в промдаше, ни в графане. Я ожидаю, что смогу показать:

  • гистограмма в определенный момент времени, например ковши по оси X и счетчик ковшей по оси Y и столбец для каждого ковша
  • сложенный граф сегментов, каждый сегмент затенен, а общая сумма стека равна inf bucket

Примером показателя может быть время ответа HTTP-сервера.


person TvE    schedule 25.08.2016    source источник
comment
Похоже, Grafana теперь поддерживает гистограмму без Prometheus в качестве источника данных? docs.grafana.org/features/panels/graph/#x-axis, а также ссылку из ответа Панкаджа.   -  person David    schedule 22.02.2019


Ответы (4)


Grafana v5 + обеспечивает прямую поддержку представления гистограмм Прометея в виде тепловой карты. http://docs.grafana.org/features/panels/heatmap/#histograms-and-buckets

Тепловые карты предпочтительнее гистограммы, потому что гистограмма не показывает, как меняется тренд с течением времени. Поэтому, если у вас есть гистограмма временных рядов, используйте панель тепловой карты, чтобы изобразить ее.

Для начала вот пример (для данных Prometheus):

Предположим, у вас есть гистограмма следующего вида:

http_request_duration_seconds_bucket(le=0.2) 1,
http_request_duration_seconds_bucket(le=0.5) 2,
http_request_duration_seconds_bucket(le=1.0) 2,
http_request_duration_seconds_bucket(le=+inf) 5
http_request_duration_seconds_count 5
http_request_duration_seconds_sum 3.07

Вы можете изобразить эти данные гистограммы как тепловую карту, используя запрос: sum(increase(http_request_duration_seconds_bucket[10m])) by (le), установив формат как тепловую карту, формат легенды как {{ le }} и установив визуализацию в настройках панели на тепловую карту.

введите описание изображения здесь

person Pankaj    schedule 26.07.2018
comment
Это должно быть сумма (ставка ()), а не сумма (увеличение ()) - person HackToHell; 17.10.2018
comment
Функции @HackToHell increase и rate действительны, и ни одна из них не более правильна, чем другая. Выбор функции зависит от «тенденции», которую вы хотите визуализировать. - person Pankaj; 18.10.2018
comment
Для меня формат легенды - это только {{le}} добавление `s` привело к проблемам с сортировкой ведра. Для этого следует использовать параметр единицы оси Y на вкладке визуализации. Наконец, установка формата данных на вкладке визуализации для сегментов временных рядов выравнивает ось Y в соответствии с границами сегмента. - person Jendrik; 15.08.2019
comment
Примечание. Отформатируйте так, как это необходимо для тепловой карты на панели запросов. Снимок показывает это, но его легко пропустить (иначе вы получите кумулятивные столбцы тепловой карты, что довольно бесполезно). - person ron; 22.11.2019
comment
Было бы здорово, если бы вы могли поместить фактический запрос в виде текста, чтобы мы могли его скопировать. А во-вторых, стоит упомянуть, как на самом деле показывать гистограмму. - person Pithikos; 05.06.2020
comment
@Pithikos Я отредактировал ответ, чтобы ввести запрос и упомянуть настройки панели, которые также необходимо изменить. - person wickedchicken; 21.07.2020

Ответ от @ brian-brazil выше почти работает, с некоторыми дополнительными, не упомянутыми вещами, которые необходимо сделать.

Вы можете создать стандартный график без накопления для гистограммы скорости, и, поскольку гистограммы Прометея являются кумулятивными, вы получите желаемый результат.

  1. Ось X в Grafana должна быть в серии режимов.
  2. Вам необходимо агрегировать результаты по метке файла, если вы используете дополнительные отдельные метки для серии

После этого вы получите красивую гистограмму. Единственное, что меня раздражает, это то, что порядок сортировки графаны по оси X - это естественная сортировка строк. Итак, ось x начинается с + Inf, затем 0,1,0,2, .. 1, 1,5,10,2, ...

PS: В grafana 5.1 будет рабочая тепловая карта с источником данных prometheus из коробки. Возникла проблема для встроенной поддержки визуализации тепловой карты, которая также подходит (если вы хотите чтобы увидеть тенденцию / историю) для визуализации гистограмм с течением времени.

person Georg    schedule 17.02.2017
comment
Я столкнулся с этим (сортировка по оси x), это абсолютно безумно. Такая маленькая проблема, которая делает графану практически непригодным для анализа гистограмм. - person KJ Tsanaktsidis; 11.03.2017
comment
Вы можете решить проблему с упорядочением, добавив слева небольшие числа с нулями. - person Matthew Jones; 16.01.2018
comment
Вы упомянули агрегирование результатов по метке файла - выполняется ли это в запросе Grafana? Причина, по которой я спрашиваю, заключается в том, что у меня он хорошо складывается, но каждое ведро показывает одно и то же значение по оси Y, так что либо мы хорошо делаем ставки на спред, либо у меня что-то не так - person eggsy84; 08.03.2018
comment
@ eggsy84 Вы можете объяснить, на что похожа ваша реализация? И вы используете Прометей в качестве источника? - person harpratap; 15.10.2018

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

Можно получить гистограмму, выбрав Graph визуализацию, а затем Axes выбрав Histogram для _4 _> _ 5_.

Вот пример с Grafana 7.03. Данные, собранные ceph_exporter в Prometheus. Показатель ceph_osd_utilization. В запросе используется шаблонная переменная, но она ортогональна этому вопросу.

Пример экрана с панелью гистограммы

person anthonyeleven    schedule 17.06.2020
comment
Джереми, как вы переместили изображение в строку? Я хотел сделать это в первую очередь, но не видел, как это сделать. - person anthonyeleven; 19.06.2020

Я не верю, что Grafana поддерживает столбчатую диаграмму для гистограммы.

Вы можете создать стандартный график без накопления для гистограммы скорости, и, поскольку гистограммы Прометея являются кумулятивными, вы получите желаемый результат.

person brian-brazil    schedule 25.08.2016
comment
Вы правы насчет графа без накопления, но я вижу только линии, поэтому он визуально не очень привлекателен, и часто они накладываются друг на друга, что затрудняет определение того, в какое ведро на самом деле попадают. - person TvE; 26.08.2016
comment
Поговаривают о добавлении тепловых карт, но я не думаю, что для этого есть какой-то код. - person brian-brazil; 26.08.2016