logo
Alauda Container Platform
English
简体中文
English
简体中文
logo
Alauda Container Platform
导航

产品概览

架构
发版日志

安装

安装概述

安装准备

前提条件
下载
节点预处理
安装
global 集群灾难恢复

升级

Overview
升级前准备
升级 global 集群
升级业务集群

用户界面

灵雀控制台

概览
访问 Web 控制台
Customizing the Web Console
Customizing the Left Navigation
CLI 工具

配置

功能开关配置

集群

概述
创建本地集群
etcd 加密
自动旋转 Kubernetes 证书

实用指南

为内置注册表添加外部地址
选择容器运行时
更新公共仓库凭证

网络

介绍

架构

理解 Kube-OVN
了解 ALB
了解 MetalLB

核心概念

认证
Ingress-nginx 注解兼容性
TCP/HTTP 保持连接
ModSecurity
不同 Ingress 方式的比较
HTTP 重定向
L4/L7 超时
GatewayAPI
OTel

功能指南

创建服务
创建 Ingress
配置网关
创建 Ingress-Nginx
创建域名
创建证书
创建外部 IP 地址池
创建 BGP Peers
配置子网
配置网络策略
创建 Admin 网络策略
配置集群网络策略

如何操作

为 ALB 部署高可用 VIP
软件数据中心负载均衡方案(Alpha)
准备 Kube-OVN Underlay 物理网络
Underlay 和 Overlay 子网的自动互联
在 ALB 中使用 OAuth Proxy
创建 GatewayAPI Gateway
配置负载均衡器
如何合理分配 CPU 和内存资源
将 IPv6 流量转发到集群内的 IPv4 地址
Calico 网络支持 WireGuard 加密
Kube-OVN Overlay 网络支持 IPsec 加密
ALB 监控
Application Load Balancer (ALB) 中的负载均衡会话亲和策略

故障排除

如何解决 ARM 环境中的节点间通信问题?
查找错误原因

机器配置

概览
使用 MachineConfig 管理节点配置
节点中断策略

存储

介绍

概念

访问模式与卷模式
核心概念
Persistent Volume

功能指南

创建 CephFS 文件存储类型存储类
创建 CephRBD 块存储类
创建 TopoLVM 本地存储类
创建 NFS 共享存储类
部署 Volume Snapshot 组件
创建 PV
创建 PVCs
使用卷快照

实用指南

设置 NFS 共享存储类的子目录命名规则
通用临时卷
使用 emptyDir
第三方存储能力注解指南

故障排除

从 PVC 扩容失败中恢复

存储

Ceph 分布式存储

介绍

安装

创建标准类型集群
创建 Stretch 类型集群
架构

核心概念

核心概念

操作指南

访问存储服务
管理存储池
节点特定组件部署
添加设备/设备类
监控与告警

实用指南

配置专用集群用于分布式存储
清理分布式存储

数据容灾

文件存储灾备
块存储灾难恢复
对象存储灾备
更新优化参数
创建 ceph 对象存储用户

MinIO 对象存储

介绍
安装
架构

核心概念

核心概念

操作指南

添加存储池
Monitoring & Alerts

实用指南

数据灾难恢复

TopoLVM 本地存储

介绍
安装

操作指南

设备管理
监控与告警

实用指南

使用 Velero 备份和恢复 TopoLVM 文件系统 PVC

安全

Alauda Container Security

安全性与合规性

合规

介绍
安装

使用指南

私有镜像仓库访问配置
Image Signature Verification Policy
使用 Secrets 的镜像签名验证策略
镜像仓库验证策略
容器逃逸防护策略
Security Context Enforcement Policy
网络安全策略
Volume Security Policy

API Refiner

介绍
安装

用户与角色

用户

介绍

功能指南

管理用户角色
创建用户
用户管理

用户组

介绍

功能指南

管理用户组角色
创建本地用户组
管理本地用户组成员资格

角色

介绍

功能指南

创建角色
管理自定义角色

IDP

介绍

功能指南

LDAP 管理
OIDC 管理

故障排除

删除用户

用户策略

介绍

多租户(项目)

介绍

功能指南

创建项目
管理项目
管理项目集群
管理项目成员

审计

介绍

遥测

安装

虚拟化

虚拟化

概览

介绍
安装

镜像

介绍

操作指南

添加虚拟机镜像
更新/删除虚拟机镜像
更新/删除镜像凭据

实用指南

使用 KubeVirt 基于 ISO 创建 Windows 镜像
使用 KubeVirt 基于 ISO 创建 Linux 镜像
导出虚拟机镜像
权限说明

虚拟机

介绍

操作指南

创建虚拟机/虚拟机组
虚拟机批量操作
使用 VNC 登录虚拟机
管理密钥对
管理虚拟机
监控与告警
虚拟机快速定位

实用指南

配置 USB 主机直通
虚拟机热迁移
虚拟机恢复
在 KubeVirt 上克隆虚拟机
物理 GPU 直通环境准备
配置虚拟机的高可用性
从现有虚拟机创建虚拟机模板

问题处理

虚拟机节点正常关机下的 Pod 迁移及异常宕机恢复问题
热迁移错误信息及解决方案

网络

介绍

操作指南

配置网络

实用指南

通过网络策略实现虚拟机网络请求控制
配置 SR-IOV
配置虚拟机使用网络绑定模式以支持 IPv6

存储

介绍

操作指南

管理虚拟磁盘

备份和恢复

介绍

操作指南

使用快照

开发者

快速开始

Creating a simple application via image

构建应用

核心概念

应用类型
Custom Applications
Workload Types
理解参数
理解环境变量
理解启动命令
资源单位说明

命名空间

创建命名空间
导入 Namespace
Resource Quota
Limit Range
Pod Security Admission
Overcommit Ratio
管理命名空间成员
更新命名空间
删除/移除命名空间

创建应用

Creating applications from Image
Creating applications from Chart
通过 YAML 创建应用
通过代码创建应用
Creating applications from Operator Backed
通过 CLI 工具创建应用

应用的操作与维护

Application Rollout

安装 Alauda Container Platform Argo Rollouts
Application Blue Green Deployment
Application Canary Deployment
状态说明

KEDA(Kubernetes Event-driven Autoscaling)

KEDA Overview
Installing KEDA

实用指南

Integrating ACP Monitoring with Prometheus Plugin
在 KEDA 中暂停自动扩缩容
配置 HPA
启动和停止原生应用
配置 VerticalPodAutoscaler (VPA)
配置 CronHPA
更新原生应用
导出应用
更新和删除 Chart 应用
应用版本管理
删除原生应用
健康检查

计算组件

Deployments
DaemonSets
StatefulSets
CronJobs
任务
Pods
Containers
使用 Helm charts

配置

Configuring ConfigMap
Configuring Secrets

应用可观测

监控面板
Logs
实时事件

实用指南

设置定时任务触发规则

镜像仓库

介绍

安装

通过 YAML 安装
通过 Web UI 安装

使用指南

Common CLI Command Operations
Using Alauda Container Platform Registry in Kubernetes Clusters

S2I

介绍

安装

Installing Alauda Container Platform Builds

升级

升级 Alauda Container Platform Builds
架构

功能指南

Managing applications created from Code

How To

通过代码创建应用

节点隔离策略

引言
架构

概念

核心概念

功能指南

创建节点隔离策略
权限说明
常见问题

GitOps

介绍

安装

Installing Alauda Build of Argo CD
Installing Alauda Container Platform GitOps

升级

Upgrading Alauda Container Platform GitOps
架构

核心概念

GitOps

Argo CD 核心概念

Argo CD Introduction
Application 概念
ApplicationSet 概念
Tool
Helm 概念
Kustomize 概念
Directory 概念
Sync 概念
Health 概念

Alauda Container Platform GitOps 核心概念

介绍
Alauda Container Platform GitOps 的同步及健康检查

功能指南

创建 GitOps 应用

Creating GitOps Application
Creating GitOps ApplicationSet

GitOps 可观测

Argo CD 组件监控
GitOps 应用运维

实用指南

通过 Argo CD Dashboard 集成代码仓库
通过 Argo CD dashboard 创建 Argo CD Application
通过平台创建 Argo CD Application
如何获取 Argo CD 访问信息
故障排查

扩展

Operator
集群插件

可观测性

概览

监控

介绍
安装

架构

监控模块架构
监控组件选型指南
核心概念

操作指南

指标管理
告警管理
通知管理
监控面板管理
探针管理

实用指南

Prometheus 监控数据的备份与恢复
VictoriaMetrics 监控数据备份与恢复
从自定义命名的网络接口采集网络数据

调用链

介绍
安装
架构
核心概念

操作指南

查询追踪
查询追踪日志

实用指南

Java 应用无侵入方式接入调用链
与 TraceID 相关的业务日志

问题处理

查询不到所需的调用链
调用链数据不完整

日志

介绍
安装

架构

日志模块架构
日志组件选型指南
日志组件容量规划
概念

操作指南

日志

实用指南

如何将日志归档至第三方存储
如何对接外部 ES 存储集群

事件

介绍
Events

巡检

介绍
架构

操作指南

巡检
Component Health Status

硬件加速器

概述

介绍
功能概览
安装

应用开发

介绍

功能指南

CUDA 驱动与运行时兼容性
使用 ConfigMap 添加自定义设备

故障排除

解决 vLLM 中 “float16 is only supported on GPUs with compute capability at least xx” 错误
Paddle Autogrow 内存分配在 GPU-Manager 上的崩溃问题

配置管理

介绍

功能指南

在 GPU 节点上配置硬件加速器

资源监控

介绍

功能指南

GPU 资源监控

Alauda 服务网格

关于 Alauda Service Mesh

Alauda AI

关于 Alauda AI

Alauda DevOps

关于灵雀云 DevOps

Alauda 计量计费

关于 Alauda 成本管理

Alauda 应用服务

概览

介绍
架构
安装
升级

Alauda Database Service for MySQL

关于 Alauda Database Service for MySQL-MGR
关于 Alauda Database Service for MySQL-PXC

Alauda Cache Service for Redis OSS

关于 Alauda Cache Service for Redis OSS

Alauda Streaming Service for Kafka

About Alauda Streaming Service for Kafka

Alauda Streaming Service for RabbitMQ

关于 Alauda Streaming Service for RabbitMQ

Alauda support for PostgreSQL

关于 Alauda support for PostgreSQL

运维管理

介绍

参数模板管理

介绍

功能指南

参数模板管理

备份管理

介绍

功能指南

外部 S3 存储
备份管理

检查管理

介绍

操作指南

创建巡检任务
Exec Inspection Task
更新和删除巡检任务

实用指南

如何设置检查调度?

检查优化建议

MySQL

MySQL IO负载优化
MySQL 内存使用优化
MySQL存储空间优化
MySQL 活动线程计数优化
MySQL 行锁优化

Redis

Redis 大键
Redis中的高CPU使用率
Redis中的高内存使用

Kafka

Kafka 中的高 CPU 利用率
Kafka Rebalance 优化
Kafka内存使用优化
Kafka 存储空间优化

RabbitMQ

RabbitMQ Mnesia 数据库异常处理

警报管理

介绍

操作指南

与平台能力的关系

升级管理

介绍

操作指南

示例升级

API 参考

概览

介绍
Kubernetes API 使用指南

Advanced APIs

Alert APIs

AlertHistories [v1]
AlertHistoryMessages [v1]
AlertStatus [v2]
SilenceStatus [v2]

Event APIs

Search

Log APIs

Aggregation
Archive
Context
Search

Monitoring APIs

Indicators [monitoring.alauda.io/v1beta1]
Metrics [monitoring.alauda.io/v1beta1]
Variables [monitoring.alauda.io/v1beta1]

Kubernetes APIs

Alert APIs

AlertTemplate [alerttemplates.aiops.alauda.io/v1beta1]
PrometheusRule [prometheusrules.monitoring.coreos.com/v1]

Inspection APIs

Inspection [inspections.ait.alauda.io/v1alpha1]

Notification APIs

Notification [notifications.ait.alauda.io/v1beta1]
NotificationGroup [notificationgroups.ait.alauda.io/v1beta1]
NotificationTemplate [notificationtemplates.ait.alauda.io/v1beta1]
📝 在 GitHub 上编辑此页
上一页通知管理
下一页探针管理

#监控面板管理

#目录

#功能概述

平台提供强大的面板管理功能,旨在替代传统的 Grafana 工具,为用户带来更全面、更灵活的监控体验。该功能汇聚平台内的各类监控数据,呈现统一的监控视图,大幅提升您的配置效率。

#主要功能

  • 支持为业务视图和平台视图配置自定义监控面板。
  • 支持在业务视图中查看平台视图中配置的公共共享面板,数据根据业务所属的命名空间进行隔离。
  • 支持管理面板内的图表,允许用户添加、删除、修改面板,支持面板的放大缩小及拖拽移动。
  • 允许在面板中设置自定义变量,用于过滤查询数据。
  • 支持在面板中配置分组,用于管理面板。分组可基于自定义变量进行重复展示。
  • 支持的面板类型包括:趋势图、阶梯折线图、柱状图、水平柱状图、柱状仪表图、仪表图、表格、统计图、XY 图、饼图、文本。
  • 支持一键导入 Grafana 面板。

#优势

  • 支持用户自定义监控场景,不受预设模板限制,真正实现个性化监控体验。
  • 提供丰富的可视化选项,包括折线图、柱状图、饼图,以及灵活的布局和样式配置。
  • 与平台角色权限无缝集成,允许业务视图定义自己的监控面板,同时保证数据隔离。
  • 深度集成容器平台各项功能,支持即时访问容器、网络、存储等监控数据,为用户提供全面的性能观察和故障诊断能力。
  • 完全兼容 Grafana 面板 JSON,方便从 Grafana 迁移并继续使用。

#使用场景

  • IT 运维管理:作为 IT 运维团队成员,您可以使用监控面板统一展示和管理容器平台的各类性能指标,如 CPU、内存、网络流量等。通过自定义监控报表和告警规则,及时发现并定位系统问题,提高运维效率。
  • 应用性能分析:对于应用开发和测试人员,监控面板提供多样的可视化选项,直观展示应用运行状态和资源消耗。您可以针对不同应用场景定制专属监控视图,深入分析应用性能瓶颈,为优化提供依据。
  • 多集群管理:对于管理多个容器集群的用户,监控面板可汇聚不同集群的监控数据,帮助您一目了然掌握系统整体运行状况。
  • 故障诊断:当系统出现问题时,监控面板为您提供全面的性能数据和分析工具,快速定位问题根因。您可以根据告警信息迅速查看相关监控指标的波动,进行深入故障分析。

#前置条件

目前监控面板仅支持查看平台内已安装监控组件采集的监控数据,因此在配置监控面板前,请做好以下准备:

  • 确保您要配置监控面板的集群已安装监控组件,具体为 ACP Monitor with Prometheus 或 ACP Monitor with VictoriaMetrics 插件。
  • 确保您希望在面板中展示的数据已被监控组件采集。

#监控面板与监控组件的关系

  • 监控面板资源存储于 Kubernetes 集群中,您可以通过顶部的 Cluster 标签切换不同集群视图。
  • 监控面板依赖集群中的监控组件查询数据源,因此使用前请确保当前集群已成功安装监控组件且运行正常。
  • 监控面板默认请求对应集群的监控数据;若您在集群中以代理模式安装了 VictoriaMetrics 插件,平台将自动请求存储集群为您查询该集群对应的数据,无需额外配置。

#管理面板

面板是由一个或多个图表组成的集合,按一行或多行组织排列,提供清晰的相关信息视图。这些图表可从数据源查询原始数据,并转换为平台支持的一系列可视化效果。

#创建面板

  1. 点击 创建面板,参考以下说明配置相关参数。
参数说明
文件夹面板所在的文件夹,可输入或选择已有文件夹。
标签监控面板的标签,可通过顶部标签筛选快速查找已有面板。
设为主面板启用后,创建成功时将当前面板设置为主面板;再次进入监控面板功能时默认展示主面板数据。
变量创建面板时添加变量,供新增面板中引用作为指标参数,也可作为面板首页的过滤器使用。
  1. 添加完成后,点击 创建 完成面板创建。接下来需 添加变量、添加面板 和 添加分组,完成整体布局设计。

#导入面板

平台支持直接导入 Grafana JSON,将其转换为监控面板进行展示。

  • 目前仅支持 Grafana JSON V8+ 版本,低版本禁止导入。
  • 导入面板中若存在平台不支持的面板类型,可能显示为 不支持的面板类型,但可通过修改面板设置实现正常展示。
  • 导入面板后,可像普通面板一样进行管理操作,与平台内创建的面板无异。

#添加变量

  1. 在变量表单区域,点击 添加。

查询型变量

查询型变量允许基于时间序列的特征维度过滤数据,可指定查询表达式动态计算生成查询结果。

参数说明
查询设置定义查询设置时,除使用 PromQL 查询时间序列外,平台还提供部分常用变量和函数。参考 常用函数和变量。
正则表达式通过正则表达式过滤变量查询返回内容中的期望值,使变量的每个选项名称更符合预期。可在 变量值预览 中预览过滤结果是否符合预期。
选择设置- 多选:在面板首页顶部筛选器中选择时,允许同时选择多个选项。需在面板查询表达式中引用该变量,才能查看对应变量值的数据。
- 全部:勾选后,筛选选项中会启用包含 全部 的选项,用于选择所有变量数据。

常量型变量

常量变量是固定值的静态变量,面板内值不变,常用于存储环境标识、固定阈值或需跨多个面板引用但不作为筛选项展示的配置参数。

参数说明
常量值常量变量的固定值。

自定义变量

自定义变量允许用户定义预设的静态选项列表,作为面板上的下拉筛选器,常用于手动选择特定服务、团队或类别,无需动态数据查询。

参数说明
自定义设置输入以逗号分隔的选项值,格式为显示名 : 值(如 Production : prod,Staging : stage,Development : dev),或直接列出值(当显示名与值相同时)。

文本框变量

文本框变量允许用户直接输入文本,常用于指定不需动态查询的特定值或参数。

参数说明
文本框值文本框变量的默认值。
  1. 点击 确定 添加一个或多个变量。

#添加面板

向当前创建的监控面板添加多个图表,用于展示不同资源的数据。

提示:可点击面板右下角自定义面板大小;点击面板任意位置可调整面板顺序。

  1. 点击 添加面板,参考以下说明配置相关参数。
  • 面板预览:动态展示所添加指标对应的数据内容。

  • 添加指标:配置面板标题及监控指标。

  • 添加方式:支持使用内置指标或使用原生自定义指标,两者取并集同时生效。

    • 内置指标:选择平台内置的常用指标及图例参数,展示当前面板下的数据。
      • 注意:面板中添加的所有指标必须单位统一,不能添加多单位指标。
    • 原生:自定义指标单位、指标表达式及图例参数。指标表达式遵循 PromQL 语法,详情请参考 PromQL 官方文档。
  • 图例参数:控制面板中曲线对应的名称,可使用文本或模板:

    • 规则:输入值必须符合 {{.xxxx}} 格式,如 {{.hostname}} 会替换为表达式返回的 hostname 标签对应的值。
    • 提示:若输入格式错误,面板中曲线名称将按原格式显示。
  • 即时切换:开启时通过 Prometheus 的 Query 接口查询即时值并排序,适用于统计图和仪表图;关闭时使用 query_range 方式计算,查询特定时间段内的一系列数据。

  • 面板设置:支持选择不同面板类型可视化指标数据,详见 管理面板。

  1. 点击 保存 完成面板添加。

  2. 可在面板内添加一个或多个图表。

  3. 添加面板后,可通过以下操作确保面板显示和大小符合预期:

    • 点击面板右下角自定义大小。
    • 点击面板任意位置调整顺序。
    • 点击 编辑 按钮修改面板设置。
    • 点击 删除 按钮删除面板。
    • 点击 复制 按钮复制面板。
  4. 调整完成后,点击面板页面的 保存 按钮保存修改。

#添加分组

分组是面板内的逻辑分隔符,可将面板归类管理。

  1. 点击 添加面板 下拉菜单 > 添加分组,参考以下说明配置相关参数。
  • 分组:分组名称。
  • 重复:支持禁用重复或选择当前面板的变量。
    • 禁用重复:不选择变量,使用默认创建的分组。
    • 参数变量:选择当前面板创建的变量,监控面板将为变量的每个对应值生成一行相同的子分组。子分组不支持修改、删除或移动面板。
  1. 添加分组后,可对分组执行以下操作管理面板显示:
    • 分组可折叠或展开,隐藏部分面板内容。折叠的分组内面板不发送查询。
    • 将面板移动至分组内,使该面板由分组管理。分组管理其与下一个分组之间的所有面板。
    • 分组折叠时,也可整体移动该分组管理的所有面板。
    • 分组的折叠与展开视为面板调整,若希望下次打开面板时保持该状态,请点击 保存。

#切换面板

将已创建的自定义监控面板设置为主面板,再次进入监控面板功能时默认展示主面板数据。

  1. 在左侧导航栏点击 运营中心 > 监控 > 监控面板。

  2. 默认进入主监控面板,点击 切换面板。

  3. 可通过标签筛选或名称搜索查找面板,通过 主面板 开关切换主面板。

#其他操作

可点击面板页面右侧操作按钮,根据需要对面板执行操作。

操作说明
YAML打开存储于 Kubernetes 集群中的面板实际 CR 资源代码,可通过编辑 YAML 参数修改面板所有内容。
导出表达式可导出当前面板使用的指标及对应查询表达式,格式为 CSV。
复制复制当前面板,可根据需要编辑面板并保存为新面板。
设置修改当前面板的基本信息,如更改标签和添加更多变量。
删除删除当前监控面板。

#管理面板

平台提供多种可视化方式,支持不同使用场景。以下章节主要介绍这些面板类型、配置选项及使用方法。

#面板说明

序号面板名称说明建议使用场景
1趋势图通过一条或多条折线展示数据随时间的变化趋势。展示随时间变化的趋势,如 CPU 利用率、内存使用率等指标的变化。
2阶梯折线图在折线图基础上,使用水平和垂直线段连接数据点,形成阶梯状结构。适合展示离散事件的时间戳,如告警次数等。
3柱状图使用垂直矩形柱表示数据大小,柱高代表数值。柱状图直观展示数值差异,有助发现规律和异常,适合关注数值变化的场景,如 Pod 数量、节点数量等。
4水平柱状图类似柱状图,但使用水平矩形柱表示数据。当数据维度较多时,水平柱状图能更好利用空间布局,提高可读性。
5仪表图使用半圆或环形表示指标当前值及其占总量的比例。直观反映关键监控指标当前状态,如系统 CPU 利用率、内存使用率。建议配合告警阈值颜色变化,指示异常状态。
6仪表柱状图使用垂直矩形柱展示指标当前值及其占比。直观反映关键指标当前状态,如目标完成进度、系统负载。存在多个同类指标时更推荐使用,如可用磁盘空间或利用率。
7饼图使用扇形展示部分与整体的比例关系。适合展示整体数据在不同维度的组成,如一段时间内 4XX、3XX、2XX 响应码比例。
8表格以行列形式组织数据,便于查看和比较具体数值。适合展示结构化多维数据,如节点详细信息、Pod 详细信息等。
9统计图展示单个关键指标的当前值,通常需要文本说明。适合展示重要监控指标的实时数值,如 Pod 数量、节点数量、当前告警数等。
10散点图使用笛卡尔坐标系绘制一系列数据点,反映两个变量间的相关性。适合分析两个指标间的关系,通过数据点分布发现线性相关、聚类等规律,帮助挖掘指标间关联。
11文本卡片以卡片形式展示关键信息文本,通常包含标题和简要描述。适合展示文本信息,如面板说明、故障排查说明等。

#面板配置说明

#通用参数

参数说明
基本信息根据所选指标数据选择合适面板类型,添加标题和描述;可添加一个或多个链接,点击标题旁对应链接名可快速访问。
标准设置原生指标数据使用的单位。此外,仪表图和仪表柱状图支持配置 总值 字段,图表中将显示为 当前值/总值 的百分比。
提示信息鼠标悬停面板时实时数据的显示开关,支持选择排序。
阈值参数配置面板阈值开关,启用后面板中以选定颜色显示阈值,支持阈值大小调整。
数值设置数值计算方式,如最新值或最小值。该配置仅适用于统计图和仪表图。
数值映射重新定义指定值、范围、正则或特殊值,如定义 100 为满载。该配置仅适用于统计图、表格和仪表图。

#面板特殊参数

面板类型参数说明
趋势图图形样式可选择折线图或面积图作为展示样式;折线图更侧重反映指标趋势变化,面积图更关注总量及部分比例变化,根据实际需求选择。
仪表图仪表图设置
显示方向:当需在单图查看多个指标时,可设置指标水平或垂直排列。
单位重定义:可为每个指标设置独立单位,未设置时平台显示 标准设置 中单位。
统计图统计图设置
显示方向:当需在单图查看多个指标时,可设置指标水平或垂直排列。
图形模式:可为统计图添加图形,展示指标随时间的趋势。
饼图饼图设置
最大切片数:可设置减少饼图切片数量,降低比例较低但数量较多类别的干扰,超出部分合并显示为 其他。
标签显示字段:可设置饼图标签中显示的字段。
饼图图形样式可选择饼图或环形图作为展示样式。
表格表格设置
隐藏列:可减少表格列数,聚焦部分主要列信息。
列对齐:可修改列内数据对齐方式。
显示名称和单位:可修改列名及单位。
文本卡片图形样式
样式:可选择使用富文本编辑框或 HTML 编辑文本卡片内容。

#通过 CLI 创建监控面板

  1. 新建 YAML 配置文件,命名为 example-dashboard.yaml。

  2. 在 YAML 文件中添加 MonitorDashboard 资源并提交。以下示例创建名为 demo-v2-dashboard1 的监控面板:

    kind: MonitorDashboard
    apiVersion: ait.alauda.io/v1alpha2
    metadata:
      annotations:
        cpaas.io/dashboard.version: '3'
        cpaas.io/description: '{"zh":"描述信息","en":""}' # Description field
        cpaas.io/operator: admin
      labels:
        cpaas.io/dashboard.folder: demo-v2-folder1 # Folder
        cpaas.io/dashboard.is.home.dashboard: 'False' # Is it the main dashboard?
      name: demo-v2-dashboard1 # Name
      namespace: cpaas-system # Namespace (all management view creations will occur in this ns)
    spec:
      body: # All information fields
        titleZh: 更新显示名称 # Built-in field for Chinese display name (this field is created under the Chinese language)
        title: english_display_name # Built-in field for English display name (this field is created under the English language) Built-in dashboards can set bilingual translations.
        templating: # Custom variables
          list:
            - hide: 0 # 0 means not hidden; 1 means only the label is hidden; 2 means both label and value are hidden
              label: 集群 # Built-in variable display name (label is set to the appropriate name based on the language, e.g., cluster in English)
              name: cluster # Built-in variable name (unique)
              options: # Define dropdown options; if a query retrieves data, it will use requested data; otherwise, it will use options. A default value can be set (generally only used for setting default values)
                - selected: false # Whether to default select
                  text: global
                  value: global
              type: custom # Custom variable type; currently, only built-in (custom) and query are supported (Importing Grafana will support constant custom interval (after import, it will be changed to a custom variable and will not support auto))
    
            - allValue: '' # Select all, passing options with the format xxx|xxx|xxx; can set allValue for conversion (Grafana retrieves all data for the current variable as xxx|xxx|xxx, adjustments will ensure consistency)
              current: null # Current value of the variable; if not set, defaults to the first in the list
              definition: query_result(kube_namespace_labels) # Query expression for data retrieval
              hide: 0 # 0 means not hidden; 1 means only the label is hidden; 2 means both label and value are hidden
              includeAll: true # Whether to select all
              label: ns # Built-in variable display name
              multi: true # Whether multiple selections are allowed
              name: ns # Variable name (unique)
              options: []
              query: ''
              regex: /.*namespace=\"(.*?)\".*/ # Regex expression for extracting variable values
              sort: 2 # Sorting: 1 - ascending alphabetical order; 2 - descending alphabetical order (only these two support temporarily); 3 - ascending numerical order; 4 - descending numerical order
              type: query # Custom variable type
        time: # Dashboard time
          from: now-30m # Start time
          to: now # End time
        repeat: '' # Row repeat configuration; chooses custom variable
        collapsed: 'false' # Row collapsed or expanded configuration
        description: '123' # Description (tooltip after title)
        targets: # Data sources
          - indicator: cluster.node.ready # Metric
            expr: sum (cpaas_pod_number{cluster=\"\"}>0) # PromQL expression
            instant: false # Query mode true retrieves data at a specific time
            legendFormat: '' # Legend
            range: true # Default querying range when retrieving data
            refId: 指标1 # Unique identifier for display name of data source
        gridPos: # Information on the dashboard's positional layout
          h: 8 # Height
          w: 12 # Width (width corresponds to 24 grid units)
          x: 0 # Horizontal position
          y: 0 # Vertical position
        panels: # Panel data
          title: 图表标题tab # Panel name
          type: table # Panel type; currently supports timeseries, barchart, stat, gauge, table, bargauge, row, text, pie (step chart, scatter plot, bar chart, configurable through drawStyle attribute)
          id: a2239830-492f-4d27-98f3-cb7ecb77c56f # Unique identifier
          links: # Links
            - targetBlank: true # Open in a new tab
              title: '1' # Name
              url: '1' # URL address
          transformations: # Data transformations
            - id: 'organize' # Type organize; used for sorting, rearranging order, showing fields, whether to display
              options:
                excludeByName: # Hidden fields
                  cluster_cpu_utilization: true
                indexByName: # Sort
                  cluster_cpu_utilization: 0,
                  Time: 1
                renameByName: # Rename
                  Time: ''
                  cluster_cpu_utilization: '222'
            - id: 'merge' # Merging data
              options:
          fieldConfig: # For defining panel properties and appearance
            defaults: # Default configuration
              custom: # Custom graphic attributes
                align: 'left' # Table alignment: left, center, right
                cellOptions: # Table threshold configuration
                  type: color-text # Only supports text for threshold color settings
                spanNulls: false # true connects null values; false does not connect; number == 0 connects null values according to 0
                drawStyle: line # Panel types: line, bars for bar charts, points for point charts
                fillOpacity: 20 # Exists when drawStyle is area (currently does not support configuration, area defaults to 20)
                thresholdsStyle: # Configures how to display thresholds (currently only supports line)
                  mode: line # Threshold display format (area not supported currently)
                lineInterpolation: 'stepBefore' # Step chart configuration; defaults to only supporting stepBefore (stepAfter will be supported later)
              decimals: 3 # Decimal points
              min: 0 # Minimum value (currently not supported for page configuration, only supports imports that have been adapted)
              max: 1 # Maximum value (page configuration only applies to stat gauge barGauge pie)
              unit: '%' # Unit
              mappings: # Value mapping configuration (currently only supports value and range types; special types supported on data)
                - options: # Value mapping rules
                    '1': # Corresponding value
                      index: 0
                      text: 'Running' # Displayed as Running when value is 1
                  type: value # Value mapping type
                - options: # Range mapping rules
                    from: 2 # Range start value
                    to: 3 # Range end value
                    result: # Mapping result
                      index: 1
                      text: 'Error' # Values from 2 to 3 will display as Error
                  type: range # Mapping type for range
                - type: special # Mapping type for special scenarios
                  options:
                    match: null # nan null null+nan empty true false
                    result:
                      text: xxx
                      index: 2
              thresholds: # Threshold configuration
                mode: absolute # Threshold configuration mode, absolute value mode (currently only supports absolute and percentage mode; percentage mode is not supported yet)
                steps: # Threshold steps
                  - color: '#a7772f' # Threshold color
                    value: '2' # Threshold value
                  - color: '#007AF5' # Default value with no value is the Base
            overrides: # Override configuration
              - matcher:
                  id: byName # Match based on field name
                  options: node # Corresponding name
                properties: # Override configuration; id currently only supports displayName unit
                  - id: displayName # Display name override
                    value: '1' # Overridden display name
                  - id: unit # Unit override
                    value: GB/s # Unit value
                  - id: noValue # No value display
                    value: No value display
          options:
            orientation: horizontal # Control the layout direction of panels; applies to gauge and barGauge (stat will be supported later)
            legend: # Legend configuration
              calcs: # Calculating methods (only displays when the legend position is on the right)
                - latest # Currently only supports most recent value
              placement: right # Legend position (right or bottom; defaults to bottom)
              placementRightTop: '' # Configuration for the upper right
              showLegend: true # Whether to display the legend
            tooltip: # Tooltips
              mode: multi # Mode dual selection (only multi-mode supported) All data displayed when the mouse hovers over
              sort: asc # Sorting: asc or desc
            reduceOptions: # Value calculating method (used for aggregating data)
              calcs: # Calculating methods (latest, minimum, maximum, average, sum)
                - latest
              limit: 3 # Pie limits the number of slices
            textMode: 'value' # Stat configuration; defines style for displaying metric value; options are auto, value, value_and_name, name, none (currently not supported in the page configuration, but supported in imports)
            colorMode: 'value' # Stat configuration; defines color mode for displaying metric values; options are none, value, background (defaults to value; not supported in configuration but adapted in import)
            displayLabels: ['name', 'value', 'percent'] # Fields displayed in pie chart labels
            pieType: 'pie' # Pie chart type; options are pie and donut
            mode: 'html' # Text chart type mode; options are html and richText
            content: '<div>xxx</div>' # Content for text chart type
            footer:
              enablePagination: true # Table pagination enabled

#常用函数和变量

#常用函数

定义查询设置时,除使用 PromQL 设置查询外,平台还提供以下常用函数供自定义查询设置时参考。

函数名作用
label_names()返回 Prometheus 中所有标签,如 label_names()。
label_values(label)返回 Prometheus 中所有监控指标中指定标签名的所有可选值,如 label_values(job)。
label_values(metric, label)返回 Prometheus 中指定指标中指定标签名的所有可选值,如 label_values(up, job)。
metrics(metric)返回指标字段中满足定义正则表达式的所有指标名,如 metrics(cpaas_active)。
query_result(query)返回指定 Prometheus 查询的查询结果,如 query_result(up)。

#常用变量

定义查询设置时,可将常用函数组合成变量,快速定义自定义变量。以下为部分常用变量定义供参考:

变量名查询函数正则表达式
clusterlabel_values(cpaas_cluster_info,cluster)-
nodelabel_values(node_load1, instance)/(.*?):.*/
namespacequery_result(kube_namespace_labels)/.*namespace=\"(.*?)\".*/
deploymentlabel_values(kube_deployment_spec_replicas{namespace="$namespace"}, deployment)-
daemonsetlabel_values(kube_daemonset_status_number_ready{namespace="$namespace"}, daemonset)-
statefulsetlabel_values(kube_statefulset_replicas{namespace="$namespace"}, statefulset)-
podlabel_values(kube_pod_info{namespace=~"$namespace"}, pod)-
vmclusterlabel_values(up, vmcluster)-
daemonsetlabel_values(kube_daemonset_status_number_ready{namespace="$namespace"}, daemonset)-

#变量使用示例一

使用 query_result(query) 函数查询 node_load5 的值,并提取 IP。

  1. 在 查询设置 中填写 query_result(node_load5)。

  2. 在 变量值预览 区域,预览示例为 node_load5{container="node-exporter",endpoint="metrics",host_ip="192.168.178.182",instance="192.168.178.182:9100"}。

  3. 在 正则表达式 中填写 /.*instance="(.*?):.*/ 过滤值。

  4. 在 变量值预览 区域,预览示例为 192.168.176.163。

#变量使用示例二

  1. 添加第一个变量: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 等。
  2. 添加第二个变量:deployment,引用前面创建的变量:

    • 查询设置:kube_deployment_spec_replicas{namespace=~"$namespace"}。
    • 正则表达式:/.+deployment="(.*?)",.*/。
  3. 向当前面板添加图表,引用之前添加的变量,例如:

    • 指标名称:计算组件下 Pod 内存使用。
    • 键值对:kind: Deployment,name: $deployment,namespace: $namespace。
  4. 添加面板并保存后,可在面板首页查看对应面板信息。

#使用内置指标时注意事项

WARNING

以下指标使用自定义变量 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