我被 prometheus 的直方图(和摘要)时间序列所吸引,但我一直未能在 promdash 或 grafana 中显示直方图。我期望能够展示:
- 某个时间点的直方图,例如 X 轴上的存储桶和 Y 轴上存储桶的计数以及每个存储桶的列
- 桶的堆叠图,使得每个桶都有阴影,并且栈的总数等于 inf 桶
一个示例指标是 HTTP 服务器的响应时间。
我被 prometheus 的直方图(和摘要)时间序列所吸引,但我一直未能在 promdash 或 grafana 中显示直方图。我期望能够展示:
一个示例指标是 HTTP 服务器的响应时间。
Grafana v5+ 直接支持将 Prometheus 直方图表示为热图。 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 }}
,并将面板设置中的可视化设置为“热图”。
上面@brian-brazil 的答案几乎可以工作,还有一些额外的、未提及的事情要做。
您可以对直方图的速率进行标准非堆叠图,并且由于 Prometheus 直方图是累积的,您将得到您正在寻找的结果。
之后你会得到一个漂亮的直方图。唯一磨我的齿轮是grafana的x轴排序顺序是自然字符串排序。所以 x 轴从 +Inf 开始,然后是 0.1,0.2, .. 1, 1.5,10,2 ,...
PS:在grafana 5.1中,将有使用 prometheus 数据源开箱即用的工作热图。对热图可视化的本机支持存在问题,这也适合(如果您想查看趋势/历史)随着时间的推移可视化直方图。
Grafana 的最新版本具有内置的 Heatmap 可视化类型,但要谨慎使用它,因为它的计算成本可能很高。
可以通过选择一个Graph
可视化然后Axes
选择Histogram
>来获得直方图X-Axis
。Mode
这是 Grafana 7.03 的示例。ceph_exporter
由into 收集的数据Prometheus
。指标是ceph_osd_utilization
。该查询使用模板化变量,但这与该问题正交。
我不相信 Grafana 支持直方图的条形图。
您可以对直方图的速率进行标准非堆叠图,并且由于 Prometheus 直方图是累积的,您将得到您正在寻找的结果。