前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >构建企业级监控平台系列(二十八):Grafana 仪表盘 DashBoard

构建企业级监控平台系列(二十八):Grafana 仪表盘 DashBoard

作者头像
民工哥
发布2023-11-06 18:30:20
4210
发布2023-11-06 18:30:20
举报

DashBoard 仪表盘,数据展示的窗口。就像汽车仪表盘一样可以展示很多信息,包括车速,水箱温度等。Grafana的 DashBoard 就是以各种图形的方式来展示从 Datasource 拿到的数据。

仪表盘的一般配置

仪表盘的变量设置

使用正则处理获取的值

标准仪表盘可视化

在 Dashboard 页面上点击创建一个新的空面板,在面边编辑器右上方选择 Gauge 类型的面板:

然后添加如下所示的查询语句,获取内存使用率:

接下来在右侧属性区域设置单位、最小值为 0、最大值为 100:

同样的,如果选择多个节点的时候显示不够友好:

需要在 Legend 地方配置显示的标签 {{instance}},然后添加一个 Rename by regex 的转换器:

条形仪表盘

除了上面标准的仪表盘面板之外,还有条形仪表盘,该面板可以显示一个或多个条形仪表,同样我们可以用来展示 CPU 使用率、内存使用率等。比如这里我们用条形仪表盘来进行展示。

点击添加一个新的空面板,在面板编辑器右侧选择 Bar gauge

然后接着添加 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 节点的根分区 / 的使用率:

代码语言:javascript
复制
(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)。

这样在面板中要查询的最大分区使用率语句如下所示:

代码语言:javascript
复制
(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

最终的效果如下图所示:

代码语言:javascript
复制
sort_desc (max(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}) by(mountpoint) ) 

仪表盘的曲线图

一般配置
指标配置
定义坐标轴

用于坐标轴和网格的显示方式,包括单位,比例,标签等。

图形设置
  • Legend:查询结果美化
  • 勾选show则会显示右边的values
  • 勾选as table则会如图所示按table形式分别展示结果
显示样式
时间范围

参考文章:https://blog.csdn.net/qq_31555951/article /details/115210829 https://blog.csdn.net/qq_34556414/article/ details/123810956

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 仪表盘的一般配置
  • 仪表盘的变量设置
  • 条形仪表盘
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档