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

2023-11-06 18:30:20 浏览数 (1)

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

0 人点赞