面板
面板是由一个或多个图表组成的集合,这些图表被组织和排列成一行或多行,可提供相关信息的一目了然的视图。这些图表可以查询数据源中的原始数据并将其转换成平台支持的一系列可视化效果。
界面总览
| 序号 | 说明 | 参考文档 |
|---|---|---|
| 0 | 切换查看不同集群所管理的监控面板 | - |
| 1 | 当前面板所在的文件路径及名称,显示格式为:文件夹名称/面板名称。同一文件夹下可以包含多个面板。 | - |
| 2 | 切换展示其他面板, | 切换面板 |
| 3 | 创建新的自定义监控面板。 | 创建面板 |
| 4 | 导入 grafana 面板为自定义监控面板。 | 导入面板 |
| 5 | 变量区域,可通过变量切换查看图表内的不同数据。 | - |
| 6 | 显示数据的时间范围。 | - |
| 7 | 添加图表按钮,在自定义的面板中可添加多个数据图表,定制属于您的监控面板。 | 添加图表 , 添加分组 |
| 8 | 面板操作区域,支持对自定义面板进行编辑、复制、设置或删除操作。 | 其他操作 |
| 9 | 侧边快速配置按钮,由上至下分别为刷新图表数据按钮、配置自动刷新数据时间按钮、全屏按钮和快速查看图标数据按钮。 | - |
| 10 | 监控面板内容区域。 | - |
面板相关操作
创建面板
-
单击 创建面板,参考以下说明,配置相关参数。
参数 说明 文件夹 面板所在文件夹,可输入或选择已有文件夹。 标签 监控面板标签,在切换面板时可以通过顶部标签过滤的方式快速找到已创建的面板。 设置主面板 若开启,将在创建完成时将本面板配置为主面板;再次进入监控面板功能时,将默认展示主面板数据。 变量 在创建面板时添加变量,以便在添加的图表中,作为指标参数引用,在面板主页中也可以作为筛选项进行过滤。 -
添加完成后,单击 创建,即可完成面板的创建工作,接下来您需要 添加变量、添加图表、添加分组 以完成整个页面的布局设计。
导入面板
平台支持直接导入 Grafana Json,以转换为平台的监控面板并进行展示。
-
目前仅支持导入 V8+ 版本的 Grafana Json,较低版本的 Grafana Json 将被禁止导入。
-
面板导入后若其中图表不在平台支持的范围内,可能会被展示为 不支持的图表类型 但您可以通过修改图表的设置以达到正常展示的目的。
-
面板导入后您可以正常进行任意管理动作,与平台创建的面板并无差异。
添加变量
-
在变量表单区域,单击 添加。
参数 说明 类型 当前仅支持 Query 类型的变量,它允许您根据时间序列的特征维度对数据进行过滤。并通过指定查询表达式来动态计算和生成查询结果。 展示筛选项 用于展示面板主页上的下拉筛选项的默认值,支持显示名称和值、值,或不展示,不展示时将隐藏筛选框。 查询设置 使用 Query 类型的变量可以让您根据时间序列的特征维度对数据进行过滤。在定义查询设置时,除了使用 PromQL 查询时间序列进行查询设置外,Grafana 还提供了一些常用的变量和函数,参考 常用函数以及变量 。 正则表达式 使用正则表达式,您可以从变量查询返回的内容中过滤出需要的值。使变量中包含的每个选项的名称更符合预期,您可以在 变量值预览 中实时查看过滤后的值是否符合预期。 选择设置 - 多选:在面板主页的顶部筛选项中被选择时,允许同时选择多个选项。您需要在图表的查询表达式中引用该变量,才可以在图表中查看变量值对应的数据。
- 全部:勾选后将在筛选项中启用一个包含 全部 的选项,用于全选变量数据。 -
单击 确定,可添加一个或多个变量。
添加图表
为当前创建的监控面板添加多个图表,用于展示不同资源的数据信息。
提示:鼠标单击图表右下角可自定义拖动图表大小;单击图表任意位置拖动可自定义图表排列顺序。
-
单击 添加图表,参考参考以下说明,配置相关参数。
区域 说明 图表预览 在图表预览区域将实时展示已添加的指标对应的数据信息。 添加指标 在该区域配置图表标题和监控指标等参数。 - 添加方式:支持使用内置指标或使用原生自定义指标,两种添加方式将取并集,同时生效。
- 内置指标:选择平台内置的常用指标以及图例参数,用于展示当前图表下的数据信息。
注意:在图表中添加的所有指标的指标单位必须统一,无法在一个图表中添加多个单位的指标。 - 原生:自定义指标单位、指标表达式和图例参数,指标表达式遵循 PromQL 语法,详情请参考 官方文档 。
- 图例参数:控制图表中曲线对应的名称,可以使用文本或者模板的形式;
规则:输入值必须为{{.xxxx }}格式,例如{{.hostname}}将替换为表达式返回值的主机名标签对应的值。
提示:当输入了错误格式的图例参数时,图表中曲线对应名称将按照原始格式展示。
- Instant开关:当 Instant 开关开启时,将通过 Prometheus 的 Query 接口查询瞬时值并排序,如统计图、测量图;若关闭,则使用 query_range 方式计算,即查询某个时间段内的一系列数据。
图表设置 支持选择不同的图表类型以可视化展示指标的数据信息,请参阅图表选项 -
单击 保存,完成添加图表。
-
您可以在面板内添加一个或多个图表。
-
添加图表完成后,您可以使用这两项操作以确保图表的展示和大小能满足您的预期。
-
单击图表右下角自定义拖动图表大小。
-
单击图表任意位置拖动可自定义图表排列顺序。
-
5.调整完成后,点击面板页面的 保存 按钮以保存您本次的修改。
添加分组
分组是仪表盘中的逻辑分隔线,可将图表组合在一起。
-
单击 添加图表 的下拉菜单 > 添加分组,参考以下说明,配置相关参数。
区域 说明 分组 分组的名称。 重复 支持禁用重复或选择当前图表的变量:
- 禁用重复:不选择变量,使用默认创建的分组。
- 参数变量:选择当前图表中创建的变量,监控面板会根据变量的值,为每个分组生成一行相同的子分组,每个子分组都将使用变量值进行展示。子分组不支持修改、删除、移动面板。 -
添加完成分组后,您可以对分组进行以下操作,以达到管理面板内图表展示的目的。
-
分组可以收起或展开,以便隐藏仪表盘的部分内容。被收起分组内的面板不会发出查询。
-
移动图表位置到分组下,即可使得该图表受该分组的管理。分组会管理它到下一个分组间的所有图表。
-
分组折叠时,可以连带分组管理的所有面板一起移动位置。
-
分组的折叠与收起也是对面板的一次调整,若您希望下次打开此面版时分组需要保持这个状态,请单击 保存 按钮。
-
切换面板
将已创建的自定义监控面板设置为主面板,再次进入监控面板功能时,将默认展示主面板数据。
-
在左侧导航栏中,单击 运维中心 > 监控 > 监控面板。
-
默认进入监控主面板,单击 切换面板。
-
可通过标签筛选或名称搜索方式查找面板,通过 主面板 开关切换主面板。
其他操作
您可以在面板页面单击右侧的
,按需对面板进行操作。
| 操作 | 说明 |
|---|---|
| YMAL | 打开面板实际存储在 Kubernetes 集群中的 CR 资源代码,可以通过修改 YAML 中的参数直接修改面板内的所有内容。 |
| 导出表达式 | 可以以 CSV 形式导出当前面板所使用的指标和对应的查询表达式 |
| 复制 | 复制当前面板,按需编辑图表后可保存为新面板。 |
| 设置 | 修改当前面板的基础信息,如修改标签,添加更多的变量等。 |
| 删除 | 删除当前监控面板。 |
常用函数以及变量
常用函数
在定义查询设置时,除了使用 PromQL 查询时间序列进行查询设置外,平台还提供了一些常用的函数,您可以参考如下函数自定义查询设置。
| 函数 | 作用 |
|---|---|
| label_names() | 返回 Prometheus 中所有的 labels,例如:label_names() |
| label_values(label) | 返回 Promthues 所有监控指标中,标签名为 label 的所有可选值,例如:label_values(job) |
| label_values(metric, label) | 返回 Promthues 所有监控指标 metric 中,标签名为 label 的所有可选值,例如:label_values(up{}, job) |
| metrics(metric) | 返回所有指标名称满足 metric 定义正则表达式的指标名称,例如:metrics(cpaas_active) |
| query_result(query) | 返回 Prometheus 查询语句的查询结果,例如:query_result(up{}) |
常用变量
在定义查询设置时,您可以将常见的函数组合为变量,快速自定义变量,以下为您提供一些常用的变量定义:
| 变量名称 | 查询函数 | 正则表达式 |
|---|---|---|
| cluster | - | - |
| node | label_values(node_load1, instance) |
/(.*?):.*/ |
| namespace | query_result(kube_namespace_labels) |
/.*namespace=\"(.*?)\".*/ |
| deployment | label_values(kube_deployment_spec_replicas{namespace="$namespace"}, deployment) |
- |
| daemonset | label_values(kube_daemonset_status_number_ready{namespace="$namespace"}, daemonset) |
- |
| statefulset | label_values(kube_statefulset_replicas{namespace="$namespace"}, statefulset) |
- |
| pod | label_values(kube_pod_info{namespace=~"$namespace"}, pod) |
- |
| vmcluster | label_values(up, vmcluster) |
- |
| daemonset | label_values(kube_daemonset_status_number_ready{namespace="$namespace"}, daemonset) |
- |
变量使用实践一
使用 query_result(query) 函数查询值:node_load5,并提取 ip 。
-
在 查询设置 中填写
query_result(node_load5)。 -
变量值预览 区域,预览示例
node_load5{container="node-exporter",endpoint="metrics",host_ip="192.168.178.182",instance="192.168.178.182:9100"}。 -
在 正则表达式 中填写
/.*instance="(.*?):.*/以过滤值。 -
变量值预览 区域,预览示例
192.168.176.163。
变量使用实践二
-
添加第一个变量:namespace,使用 query_result(query) 函数查询值:
kube_namespace_labels,并提取 namespace 。-
查询设置:
query_result(kube_namespace_labels)。 -
变量值预览
kube_namespace_labels{container="exporter-kube-state", endpoint="kube-state-metrics", instance="12.3.188.121:8080", job="kube-state", label_cpaas_io_project="cpaas-system", namespace="cert-manager", pod="kube-prometheus-exporter-kube-state-55bb6bc67f-lpgtx", project="cpaas-system", service="kube-prometheus-exporter-kube-state"}。 -
正则表达式:
/.*namespace=\"(.*?)\".*/。 -
变量值预览 区域,预览示例包含
argocdcpaas-system等多个命名空间。
-
-
添加第二个变量:deployment,并引用刚刚创建的变量:
-
查询设置:
kube_deployment_spec_replicas{namespace=~"$namespace"} -
正则表达式:
/.*deployment="(.*?)",.*/。
-
-
在该面板下添加一个图表,并引用之前添加的变量。例如:
-
指标名称为:计算组件下容器组的内存使用率。
-
键值对:
kind:Deployment,name:$deployment,namespace:$namespace。
-
-
添加图表并保存后,即可在面板主页中查看对应图表信息。
使用内置指标时的注意事项
注意:以下指标所使用的自定义变量:namespace,name 和 kind,不支持 多选 或选择 全部。
namespace 仅支持选择特定的命名空间;name 仅支持三种类型的计算组件:deployment、daemonset、statefulset;kind 仅支持填写 Deployment、DaemonSet、StatefulSet 三种类型中的一个。
-
workload.cpu.utilization -
workload.memory.utilization -
workload.network.receive.bytes.rate -
workload.network.transmit.bytes.rate -
workload.gpu.utilization -
workload.gpu.memory.utilization -
workload.vgpu.utilization -
workload.vgpu.memory.utilization