操作系统寒武纪 - 会让企业IT高兴吗?
874
2022-11-30
Grafana 仪表盘
仪表盘
如果想展示与最大值和最小值相关的数据,我们可以选择使用仪表盘面板,比如我们用一个仪表盘面板来展示内存使用率。
标准仪表盘可视化
然后添加如下所示的查询语句,获取内存使用率:
接下来在右侧属性区域设置单位、最小值为 0、最大值为 100:
同样的,如果选择多个节点的时候显示不够友好:
需要在 Legend 地方配置显示的标签 {{instance}},然后添加一个 Rename by regex 的转换器:
条形仪表盘
除了上面标准的仪表盘面板之外,还有条形仪表盘,该面板可以显示一个或多个条形仪表,同样我们可以用来展示 CPU 使用率、内存使用率等。比如这里我们用条形仪表盘来进行展示。
然后接着添加 CPU 使用率的查询:
查询语句添加完成后,在右侧属性配置中设置 Bar gauge 的展示方向为水平 Horizontal 方向,显示模式为 Retro LCD,同时设置显示的单位为 Percent (0-100),最小值为 0.1,最大值为 100,这样就将 CPU 使用率用条形仪表盘的形式展示出来了,用同样的方式添加内存使用率的展示:
比如我们还可以添加一个最大分区的使用率,要获取该监控数据,首先我们就要先获取最大的分区目录,这里要使用的指标是 node_filesystem_size_bytes:
首先我们要过滤掉不是 ext3(4) 或者 xfs 类型的文件系统 node_filesystem_size_bytes{fstype=~"ext.?|xfs"}:
然后可以按照挂载点 mountpoint 大小进行排序,获取最大的一个结果 topk(1,sort_desc(max(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}) by (mountpoint)))
获取到了最大的分区后就可以来方便的计算分区的使用率了,比如查询 node1 节点的根分区 / 的使用率:
(node_filesystem_size_bytes{instance=~"node1:9100", fstype=~"ext.?|xfs", mountpoint="/"} - node_filesystem_free_bytes{instance=~"node1:9100", fstype=~"ext.?|xfs", mountpoint="/"}) / node_filesystem_size_bytes{instance=~"node1:9100", fstype=~"ext.?|xfs", mountpoint="/"} * 100
要在 Grafana 的面板中查询最大分区使用率,这里我们需要先将最大分区的获取通过参数进行配置,添加一个名为 maxpoint 的参数,查询语句为 query_result(topk(1,sort_desc (max(node_filesystem_size_bytes{instance=~'node1:9100',fstype=~"ext.?|xfs"}) by (mountpoint)))),然后通过正则表达式来获取定义的参数值:(如果不希望将变量以下拉框的形式显示,那么就Hide)
这样在面板中要查询的最大分区使用率语句如下所示:
(node_filesystem_size_bytes{instance=~"$host", fstype=~"ext.?|xfs", mountpoint="$maxpoint"} - node_filesystem_free_bytes{instance=~"$host", fstype=~"ext.?|xfs", mountpoint="$maxpoint"}) / node_filesystem_size_bytes{instance=~"$host", fstype=~"ext.?|xfs", mountpoint="$maxpoint"} * 100
最终的效果如下图所示:
sort_desc (max(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}) by(mountpoint) )
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~