分布统计:Heatmap面板
参考:
https://www.prometheus.wang/grafana/use_heatmap_panel.html
Heatmap是是Grafana v4.3版本以后新添加的可视化面板,通过热图可以直观的查看样本的分布情况。在Grafana v5.1版本中Heatmap完善了对Prometheus的支持。这部分,将介绍如何使用Heatmap Panel实现对Prometheus监控指标的可视化。
使用Heatmap可视化Histogram样本分布情况
对于Histogram类型的监控指标来说,更好的选择是采用Heatmap Panel,如下所示,Heatmap Panel可以自动对Histogram类型的监控指标分布情况进行计划,获取到每个区间范围内的样本个数,并且以颜色的深浅来表示当前区间内样本个数的大小。而图形的高度,则反映出当前时间点,样本分布的离散程度。
【Heatmap示例】
在Grafana中使用Heatmap Panel也非常简单,在Dashboard页面右上角菜单中点击“add panel”按钮,并选择Heatmap Panel即可。
如下所示,Heapmap Panel的编辑页面中,主要包含5类配置选项,分别是:General、Metrics、Axes、Display、Time range。
【Heapmap Panel编辑页面】
其中大部分的配置选项与Graph面板基本保持一致,这里就不重复介绍了。
当使用Heatmap可视化Histogram类型的监控指标时,需要设置Format as选项为Heatmap。当使用Heatmap格式化数据后,Grafana会自动根据样本的中的le标签,计算各个Bucket桶内的分布,并且按照Bucket对数据进行重新排序。Legend format模板则将会控制Y轴中的显示内容。如下所示:【Metrics设置】
默认情况下,Heatmap Panel会自行对PromQL查询出的数据进行分布情况统计,而在Prometheus中Histogram类型的监控指标其实是已经自带了分布的Bucket信息的,因此为了直接使用这些Bucket信息,我们需要在Axes选项中定义数据的Date format需要定义为Time series buckets。该选项表示Heatmap Panel不需要自身对数据的分布情况进行计算,直接使用时间序列中返回的Bucket即可。如下所示:【Axes设置】
通过以上设置,即可实现对Histogram类型监控指标的可视化。