在新版的grafana8.x里,和柱状图表现形式相关的图形类型包括:Time Series、Bar chart、Bar Gauge、以及Histogram(直方图),使用的时候不知道选哪个是好,笔者结合例子给大家总结一下吧~~
1. Time Series
- 适用场景:时间序列数据的柱状图,将会取代之前版本里的Graph类型
- 绘制内容:zookeeper集群的收发速率统计(关于zookeeper集群在clickhouse中的作用见前文)
- 数据来源:clickhouse自身提供的metrics + prometheus
- 注意:grafana8.x建议用TimeSeries取代Graph,但是旧版Graph中一个很重要的功能
series overide
在新版本中没有了(很多人在issue里吐槽。。),导致没有办法实现正负轴显示两个指标了。想要相同的效果,只能是在数据序列上做文章,但是这样子的话tooltip和legend显示的值都是负值,这与我们的期望也不一样。因此,如果想要实现这种效果,不建议使用TimeSeries,还是老老实实用旧的Graph类型吧,除非出新版本支持了。 - 效果图
grafana8.x
grafana7.x
2. Bar chart
- 适用场景:非时间序列数据,按组分类绘制柱状图
- 绘制内容:集群各分片数据量大小(用于判断各个分片上的数据量是否均衡)
- 数据来源:clickhouse metrics + prometheus
ClickHouseAsyncMetrics_TotalBytesOfMergeTreeTables
- 注意:通过transform操作把__name__选项disable掉 ,否则横坐标显示会有问题
- 效果图
3. Bar Gauge
- 适用场景:每个柱状指标都是可度量的(即有取值区间范围的),比如各种使用率、占比、速度等
- 绘制内容:单个CH节点各个CPU核的利用率
- 数据来源:clickhouse metrics + prometheus
ClickHouseAsyncMetrics_OSIdleTimeCPU10
- 制作要点:
- Value Options通过选择Calculation取最新的值*last
- Display Mode决定呈现方式,我选择的是Retro LCD类型
- 设置单位%、最大值100、最小值0、decimal(小数点位数)为2
- 效果图
4. Histogram
- 适用场景:Histogram就是直方图,一般情况下我们用来表现数据的分布情况,如果你的数据是一系列数值,那么直方图就可以自动根据这些数值划分区间(当然也可以手动划分),并统计出现次数。
- 绘制内容:CH集群查询时延的统计分布
- 数据来源:clickhouse metrics + prometheus 平均查询总时长/平均查询次数
rate(ClickHouseProfileEvents_SelectQueryTimeMicroseconds[$__rate_interval]) / rate(ClickHouseProfileEvents_SelectQuery[$__rate_interval])
- 制作要点:
- 可通过combine选项将所有的序列合并
- 设置单位为us
- 效果图
从这个图可以看出该集群当前的查询时延大部分都在30ms以下。