监控面板管理
目录
功能概述主要功能优势使用场景前提条件监控面板与监控组件之间的关系管理监控面板创建监控面板导入监控面板添加变量添加图表添加分组切换监控面板其他操作管理图表图表说明图表配置说明常规参数图表特殊参数通过 CLI 创建监控仪表盘常用函数和变量常用函数常用变量变量使用场景一变量使用场景二使用内置指标时的注意事项功能概述
该平台提供强大的面板管理功能,旨在替代传统的 Grafana 工具,为用户提供更全面、更灵活的监控体验。此功能汇总平台内部的各种监控数据,呈现统一的监控视图,显著提升配置效率。
主要功能
- 支持为业务视图和平台视图配置自定义监控面板。
- 支持在业务视图中查看平台视图中配置的公开共享面板,并根据业务所属的命名空间隔离数据。
- 支持管理面板中的图表,允许用户添加、删除、修改图表,放大或缩小图表,以及通过拖放移动图表。
- 支持在面板中设置自定义变量,以过滤查询数据。
- 支持在面板中配置用于管理图表的分组。分组可根据自定义变量重复显示。
- 支持的图表类型包括:趋势图、阶梯折线图、柱状图、水平柱状图、条形仪表图、仪表盘图、表格、统计图、XY 图、饼图、文本。
- 支持一键导入 Grafana 面板。
优势
- 支持用户自定义监控场景,不受预定义模板限制,真正实现个性化监控体验。
- 提供丰富的可视化选项,包括折线图、柱状图、饼图,以及灵活的布局和样式选项。
- 与平台的角色权限无缝集成,允许业务视图定义自己的监控面板,同时确保数据隔离。
- 与容器平台的各种功能深度集成,可即时访问容器、网络、存储等监控数据,为用户提供全面的性能观察和故障诊断能力。
- 完全兼容 Grafana 面板 JSON,便于从 Grafana 迁移并继续使用。
使用场景
- IT 运维管理:作为 IT 运维团队的一员,您可以使用监控面板统一展示和管理容器平台的各种性能指标,例如 CPU、内存、网络流量等。通过自定义监控报告和告警规则,您可以及时发现并定位系统问题,提升运维效率。
- 应用性能分析:对于应用开发者和测试人员,监控面板提供丰富的可视化选项,以直观展示应用运行状态和资源消耗。您可以针对不同的应用场景自定义专属监控视图,深入分析应用性能瓶颈,为优化提供依据。
- 多集群管理:对于管理多个容器集群的用户,监控面板可以汇总不同集群的监控数据,让您一目了然地掌握系统的整体运行状态。
- 故障诊断:当系统出现问题时,监控面板会为您提供全面的性能数据和分析工具,以便快速定位问题根因。您可以根据告警信息快速查看相关监控指标的波动,深入分析故障。
前提条件
目前,监控面板仅支持查看由平台中已安装的监控组件采集的监控数据。因此,在配置监控面板之前,您应做好以下准备:
- 确保要配置监控面板的集群已安装监控组件,具体为 ACP Basic Monitoring(原 ACP Monitoring for Prometheus)或 ACP Advanced Monitoring(原 ACP Monitoring for VictoriaMetrics)插件。
- 确保您希望在面板中显示的数据已由监控组件采集。
监控面板与监控组件之间的关系
- 监控面板资源存储在 Kubernetes 集群中。您可以使用顶部的 Cluster 页签在不同集群之间切换视图。
- 监控面板依赖集群中的监控组件查询数据源。因此,在使用监控面板之前,请确保当前集群已成功安装监控组件,并且监控组件运行正常。
- 监控面板默认会请求对应集群的监控数据。如果您在集群中以代理模式安装了 VictoriaMetrics 插件,我们将为您请求存储集群,以查询此集群对应的数据,无需进行特殊配置。
管理监控面板
监控面板由一个或多个图表组成,这些图表按一个或多个行进行组织和排列,以便清晰地展示相关信息。图表可以从数据源查询原始数据,并将其转换为平台支持的一系列可视化效果。
创建监控面板
- 单击创建监控面板,参考以下说明配置相关参数。
- 添加完成后,单击创建以完成监控面板的创建。接下来,您需要添加变量、添加图表和添加分组,以完成整体布局设计。
导入监控面板
平台支持直接导入 Grafana JSON,将其转换为监控面板进行展示。
- 目前仅支持 V8 及更高版本的 Grafana JSON;低于此版本的 JSON 将无法导入。
- 如果导入的监控面板中存在平台不支持的图表,可能会显示为不支持的图表类型,但您可以修改图表设置,使其正常显示。
- 导入监控面板后,您可以像往常一样执行任何管理操作,其操作方式与在平台中创建的图表没有区别。
添加变量
-
在变量表单区域,单击添加。
-
单击确定以添加一个或多个变量。
添加图表
提示:您可以单击图表右下角自定义其大小;单击图表上的任意位置可调整图表顺序。
- 单击添加图表,参考以下说明配置相关参数。
-
图表预览:该区域会动态显示所添加指标对应的数据信息。
-
添加指标:在此区域配置图表标题和监控指标。
-
添加方式:支持使用内置指标或原生自定义指标。两种方式的数据会合并,并同时生效。
- 内置指标:选择平台内置的常用指标和图例参数,以显示当前图表中的数据信息。
- 注意:添加到图表中的所有指标必须使用统一单位;无法在一个图表中添加多个单位的指标。
- 原生指标:自定义指标单位、指标表达式和图例参数。指标表达式遵循 PromQL 语法;详情请参阅 PromQL 官方文档。
- 内置指标:选择平台内置的常用指标和图例参数,以显示当前图表中的数据信息。
-
图例参数:控制图表中曲线对应的名称。可以使用文本或模板:
- 规则:输入值必须采用
{{.xxxx}}格式;例如,{{.hostname}}会替换为表达式返回的 hostname 标签对应的值。 - 提示:如果输入的图例参数格式不正确,图表中曲线对应的名称将以原始格式显示。
- 规则:输入值必须采用
-
即时查询开关:开启即时查询开关后,将通过 Prometheus 的 Query 接口查询即时值并对其排序,例如统计图和仪表图。关闭后,将使用
query_range方法进行计算,查询指定时间段内的一系列数据。 -
图表设置:支持选择不同的图表类型来可视化指标数据。请参阅管理图表。
-
单击保存以完成图表添加。
-
您可以在监控面板中添加一个或多个图表。
-
添加图表后,您可以通过以下操作调整图表的显示效果和大小。
- 单击图表右下角自定义其大小。
- 单击图表上的任意位置调整图表顺序。
-
调整完成后,单击监控面板页面上的保存按钮以保存修改。
添加分组
分组是监控面板中的逻辑分隔符,可用于将图表归为一组。
- 单击添加图表下拉菜单 > 添加分组,参考以下说明配置相关参数。
- 分组:分组名称。
- 重复:支持禁用重复,或为当前图表选择变量。
- 禁用重复:不选择变量,使用默认创建的分组。
- 参数变量:选择当前图表中创建的变量,监控面板将根据变量的每个对应值生成一行相同的子分组。子分组不支持修改、删除或移动图表。
- 添加分组后,您可以对分组执行以下操作,以管理监控面板中的图表显示。
- 可以折叠或展开分组,以隐藏监控面板中的部分内容。折叠分组中的图表不会发送查询。
- 将图表移入分组,即可由该分组管理此图表。该分组会管理自身与下一个分组之间的所有图表。
- 折叠分组时,您还可以将该分组管理的所有图表一并移动。
- 折叠或展开分组也会对监控面板进行调整。如果希望下次重新打开此监控面板时保留此状态,请单击保存按钮。
切换监控面板
将创建的自定义监控面板设为主监控面板。下次重新进入监控面板功能时,默认显示主监控面板的数据。
-
在左侧导航栏中,单击运营中心 > 监控 > 监控面板。
-
默认进入主监控面板。单击切换监控面板。
-
您可以通过标签筛选或按名称搜索来查找监控面板,并通过主监控面板开关切换主监控面板。
其他操作
您可以根据需要,单击监控面板页面右侧的操作按钮来执行相应操作。
管理图表
平台提供了多种可视化方式,以支持不同的使用场景。本章主要介绍这些图表类型、配置选项和使用方法。
图表说明
图表配置说明
常规参数
图表特殊参数
通过 CLI 创建监控仪表盘
-
创建名为
example-dashboard.yaml的新 YAML 配置文件。 -
将 MonitorDashboard 资源添加到 YAML 文件中并提交。以下示例创建了一个名为 demo-v2-dashboard1 的监控仪表盘:
常用函数和变量
常用函数
定义查询设置时,除了使用 PromQL 设置查询外,平台还提供了以下常用函数,供您自定义查询设置时参考。
常用变量
定义查询设置时,您可以将常用函数组合成变量,以便快速定义自定义变量。以下是一些常用变量定义,供您参考:
变量使用场景一
使用 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=\"(.*?)\".*/。 -
在变量值预览区域,预览示例包含多个 namespace,例如
argocd、cpaas-system等。
-
-
添加第二个变量:deployment,并引用之前创建的变量:
-
查询设置:
kube_deployment_spec_replicas{namespace=~"$namespace"}。 -
正则表达式:
/.+deployment="(.*?)",.*/。
-
-
向当前仪表盘添加图表并引用之前添加的变量,例如:
-
指标名称:计算组件下的 pod 内存使用量。
-
键值对:
kind:Deployment、name:$deployment、namespace:$namespace。
-
-
添加并保存图表后,您可以在仪表盘首页查看相应的图表信息。
使用内置指标时的注意事项
以下指标使用自定义变量 namespace、name 和 kind,不支持多选或选择全部。
namespace仅支持选择特定的 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