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

概览

架构
发版日志

安装

概览

安装准备

前提条件
下载
节点预处理
安装
Global Cluster 灾难恢复

升级

概览
升级前准备
升级 global 集群
升级业务集群

用户界面

Web 控制台

概览
访问 Web 控制台
Customizing the Web Console
自定义左侧导航

CLI 工具

ACP CLI (ac)

使用 ACP CLI 入门
配置 ACP CLI
ac 和 kubectl 命令的使用
管理 CLI 配置文件
使用插件扩展 ACP CLI
AC CLI 开发者命令参考
AC CLI 管理员命令参考
violet CLI

配置

功能开关

集群

概览
不可变基础设施

节点管理

概览
向本地集群添加节点
管理节点
节点监控

托管集群

概述

导入集群

概览
导入标准 Kubernetes 集群
导入 OpenShift 集群
导入 Amazon EKS 集群
导入 GKE 集群
导入华为云 CCE 集群(公有云)
导入 Azure AKS 集群
导入阿里云 ACK 集群
导入腾讯云 TKE 集群
注册集群

公有云集群初始化

网络初始化

AWS EKS 集群网络初始化配置
AWS EKS 补充信息
华为云 CCE 集群网络初始化配置
Azure AKS 集群网络初始化配置
Google GKE 集群网络初始化配置

存储初始化

概览
AWS EKS 集群存储初始化配置
华为云 CCE 集群存储初始化配置
Azure AKS 集群存储初始化配置
Google GKE 集群存储初始化配置

如何操作

导入集群的网络配置
获取导入集群信息
信任不安全的镜像仓库
从自定义命名的网卡采集网络数据
创建本地集群
托管控制平面
集群节点规划
etcd 加密

如何操作

为内置镜像仓库添加外部访问地址
选择容器运行时
使用 Manager 策略优化 Pod 性能
更新公共仓库凭证

备份与恢复

概览
安装
备份仓库

备份管理

ETCD 备份
创建应用备份计划
钩子

恢复管理

运行应用恢复任务
镜像仓库替换

网络

操作指南

配置域名
创建证书
配置服务
配置 Ingresses
配置子网
配置 MetalLB
配置 GatewayAPI Gateway
配置 GatewayAPI 路由
配置 ALB
配置 NodeLocal DNSCache
配置 CoreDNS

实用指南

Ingress-Nginx 任务
Envoy Gateway 任务
软数据中心 LB 方案(Alpha)

Kube OVN

了解 Kube-OVN CNI
准备 Kube-OVN Underlay 物理网络
Underlay 和 Overlay 子网的自动互联
集群互联(Alpha)
配置 Egress Gateway
配置 IPPool
配置 Kube-OVN 网络以支持 Pod 多网卡(Alpha)
配置 Endpoint Health Checker

alb

Tasks for ALB

故障排除

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

存储

介绍

核心概念

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

操作指南

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

实用指南

通用临时卷
使用 emptyDir
使用本地卷配置持久存储
使用 NFS 配置持久存储
第三方存储能力注解指南

故障排除

从 PVC 扩容失败中恢复

对象存储

介绍
核心概念
安装

操作指南

为 Ceph RGW 创建 BucketClass
为 MinIO 创建 BucketClass
创建 Bucket Request

实用指南

使用 CephObjectStoreUser(Ceph 驱动)控制 COSI 桶的访问权限和配额
机器配置

可扩展性与性能

评估业务集群资源
磁盘配置
评估 Global Cluster 的资源
提升大规模 Kubernetes 集群的稳定性

存储

Ceph 分布式存储

介绍

安装

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

核心概念

核心概念

操作指南

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

实用指南

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

灾难恢复

文件存储灾备
块存储灾难恢复
对象存储灾备
更新优化参数
创建 Ceph 对象存储用户
设置存储池配额

MinIO 对象存储

介绍
安装
架构

核心概念

核心概念

操作指南

添加存储池
Monitoring & Alerts

实用指南

数据灾难恢复

TopoLVM 本地存储

介绍
安装

操作指南

设备管理
监控与告警

实用指南

使用 Velero 备份和恢复 TopoLVM 文件系统 PVC
配置条带逻辑卷

网络

概览

网络操作器

MetalLB Operator
Ingress Nginx Operator
Envoy Gateway Operator

ALB Operator

了解 ALB
Auth
为 ALB 部署高可用 VIP
在 ALB 中绑定网卡
ALB 性能选择的决策依据
ALB 中的负载均衡会话亲和策略
L4/L7 超时
HTTP 重定向
CORS
Header Modification
URL 重写
ModSecurity
OTel
TCP/HTTP Keepalive
ALB 与 Ingress-NGINX 注解兼容性
ALB 监控

网络安全

理解网络策略 API
管理员网络策略
网络策略

Ingress 和负载均衡

使用 Envoy Gateway 实现 Ingress 和负载均衡
网络可观测性

安全

Alauda Container Security

安全与合规

合规性

介绍
安装 Alauda Container Platform Compliance with Kyverno

使用指南

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

API Refiner

介绍
安装 Alauda Container Platform API Refiner
关于 Alauda Container Platform Compliance Service

用户与角色

用户

介绍

操作指南

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

组

介绍

操作指南

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

角色

介绍

操作指南

创建 Kubernetes 角色
RBAC 重构后的角色管理

IDP

介绍

操作指南

LDAP 管理
OIDC 管理

故障排除

删除用户

用户策略

介绍

多租户(项目)

介绍

操作指南

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

审计

介绍

遥测

安装

证书

自动化 Kubernetes 证书轮换
cert-manager
OLM 证书
证书监控
轮换平台访问地址的 TLS 证书

虚拟化

虚拟化

概览

介绍
安装

镜像

介绍

操作指南

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

实用指南

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

虚拟机

介绍

操作指南

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

实用指南

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

故障排除

Pod 迁移及虚拟机节点异常关闭恢复
热迁移错误信息及解决方案

网络

介绍

操作指南

配置网络

实用指南

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

存储

介绍

操作指南

管理虚拟磁盘

备份与恢复

介绍

操作指南

使用快照
使用 Velero

开发人员

快速开始

Creating a simple application via image

构建应用

Build application architecture

核心概念

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

命名空间

创建命名空间
导入 Namespace
资源配额
Limit Range
Pod Security Policies
UID/GID 分配
超售比
管理 Namespace 成员
更新命名空间
删除/移除命名空间

创建应用

Creating applications from Image
Creating applications from Chart
通过 YAML 创建应用
Creating applications from Code
Creating applications from Operator Backed
Creating applications by using CLI

应用的操作与维护

Application Rollout

安装 Alauda Container Platform Argo Rollouts
Application Blue Green Deployment
Application Canary Deployment
状态描述

KEDA(Kubernetes Event-driven Autoscaling)

KEDA 概览
Installing KEDA

实用指南

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

计算组件

Deployments
DaemonSets
StatefulSets
CronJobs
Jobs
Pods
Containers
使用 Helm Chart

配置

Configuring ConfigMap
Configuring Secrets

应用可观测

监控面板
Logs
Events

实用指南

设置定时任务触发规则
添加ImagePullSecrets到ServiceAccount

镜像

镜像概述

实用指南

Creating images
Managing images

镜像仓库

介绍

安装

通过 YAML 安装
通过 Web UI 安装

实用指南

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

Source to Image

概览

介绍
架构
发版日志
生命周期策略

安装

Installing Alauda Container Platform Builds

升级

升级 Alauda Container Platform Builds

操作指南

Managing applications created from Code

实用指南

Creating an application from Code

节点隔离策略

介绍
架构

核心概念

Core Concepts

操作指南

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

Alauda Container Platform GitOps

关于 Alauda Container Platform GitOps

扩展

概览
Operator
集群插件
图表仓库
上架软件包

可观测性

概览

监控

介绍
安装

架构

Monitoring Module Architecture
Monitoring Component Selection Guide
监控组件容量规划
核心概念

操作指南

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

实用指南

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

分布式追踪

介绍
安装
架构
核心概念

操作指南

Query Tracing
查询 Trace 日志

实用指南

Java 应用中追踪的非侵入式集成
业务日志与 TraceID 关联

故障排除

无法查询到所需的Tracing
不完整的追踪数据

日志

关于 Logging Service

事件

介绍
Events

检查

介绍
架构

操作指南

Inspection
Component Health Status

硬件加速器

关于 Alauda Build of Hami
关于 Alauda Build 的 NVIDIA GPU 设备插件

Alauda 服务网格

Service Mesh 1.x
Service Mesh 2.x

Alauda AI

关于 Alauda AI

Alauda DevOps

关于 Alauda DevOps

Alauda 成本管理

关于 Alauda 成本管理

Alauda 原生应用服务

概览

介绍
架构
安装
升级

Alauda Database Service for MySQL

About Alauda Database Service for MySQL-MGR
About Alauda Database Service for MySQL-PXC

Alauda Cache Service for Redis OSS

About Alauda Cache Service for Redis OSS

Alauda Streaming Service for Kafka

About Alauda Streaming Service for Kafka

Alauda Streaming Service for RabbitMQ

About Alauda Streaming Service for RabbitMQ

Alauda support for PostgreSQL

About Alauda support for PostgreSQL

运维管理

介绍

参数模板管理

介绍

操作指南

参数模板管理

备份管理

介绍

操作指南

外部 S3 存储
备份管理

检查管理

介绍

操作指南

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

实用指南

如何设置巡检调度?

检查优化建议

MySQL

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

Redis

Redis BigKey
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

GitOps APIs

Core
Application
ApplicationSet

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]

AutoScaling APIs

HorizontalPodAutoscaler [autoscaling/v2]

Configuration APIs

ConfigMap [v1]
Secret [v1]

Inspection APIs

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

MachineConfiguration APIs

MachineConfig [machineconfiguration.alauda.io/v1alpha1]
MachineConfigPool [machineconfiguration.alauda.io/v1alpha1]
MachineConfiguration [machineconfiguration.alauda.io/v1alpha1]

ModulePlugin APIs

ModuleConfig [moduleconfigs.cluster.alauda.io/v1alpha1]
ModuleInfo [moduleinfoes.cluster.alauda.io/v1alpha1]
ModulePlugin [moduleplugins.cluster.alauda.io/v1alpha1]

Namespace APIs

LimitRange [v1]
Namespace [v1]
ResourceQuota [v1]

Networking APIs

HTTPRoute [httproutes.gateway.networking.k8s.io/v1]
Service [v1]
VpcEgressGateway [vpc-egress-gateways.kubeovn.io/v1]
Vpc [vpcs.kubeovn.io/v1]

Notification APIs

Notification [notifications.ait.alauda.io/v1beta1]
NotificationGroup [notificationgroups.ait.alauda.io/v1beta1]
NotificationTemplate [notificationtemplates.ait.alauda.io/v1beta1]

Operator APIs

Operator [operators.operators.coreos.com/v1]

Workload APIs

Cronjob [batch/v1]
DameonSet [apps/v1]
Deployment [apps/v1]
Job [batch/v1]
Pod [v1]
Replicaset [apps/v1]
ReplicationController [v1]
Statefulset [apps/v1]
📝 在 GitHub 上编辑此页
上一页通知管理
下一页探针管理

以 PDF 格式查看完整文档

#监控面板管理

#目录

#功能概述

平台提供强大的面板管理功能,旨在替代传统的 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 查询时间序列外,平台还提供一些常用变量和函数。参考 常用函数和变量。
正则表达式通过正则表达式过滤变量查询返回内容中的期望值,使变量的每个选项名称更符合预期。可在 变量值预览 中查看过滤结果是否符合预期。
选择设置- 多选:在面板首页顶部过滤器中选择时,允许同时选择多个选项。需在图表查询表达式中引用该变量,才能查看对应变量值的数据。
- 全部:勾选后,过滤选项中会启用包含 全部 的选项,用于选择所有变量数据。

常量变量

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

参数说明
常量值常量变量的具体值。

自定义变量

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

参数说明
自定义设置输入以逗号分隔的选项值,格式为 display_name : value(例如 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":""}' # 描述字段
        cpaas.io/operator: admin
      labels:
        cpaas.io/dashboard.folder: demo-v2-folder1 # 文件夹
        cpaas.io/dashboard.is.home.dashboard: 'False' # 是否主面板?
      name: demo-v2-dashboard1 # 名称
      namespace: cpaas-system # 命名空间(所有管理视图创建均在此 ns)
    spec:
      body: # 所有信息字段
        titleZh: 更新显示名称 # 内置中文显示名字段(该字段在中文语言下创建)
        title: english_display_name # 内置英文显示名字段(该字段在英文语言下创建)内置面板可设置双语翻译。
        templating: # 自定义变量
          list:
            - hide: 0 # 0 表示不隐藏;1 表示仅隐藏标签;2 表示标签和值均隐藏
              label: 集群 # 内置变量显示名(标签根据语言设置对应名称,如英文为 cluster)
              name: cluster # 内置变量名(唯一)
              options: # 定义下拉选项;若查询获取数据则使用请求数据,否则使用 options。可设置默认值(一般仅用于设置默认值)
                - selected: false # 是否默认选中
                  text: global
                  value: global
              type: custom # 自定义变量类型;目前仅支持内置(custom)和查询(query)(导入 Grafana 会支持常量自定义区间(导入后会变为自定义变量,不支持自动))
    
            - allValue: '' # 选择全部,传递格式为 xxx|xxx|xxx 的选项;可设置 allValue 进行转换(Grafana 获取当前变量所有数据为 xxx|xxx|xxx,调整后保持一致)
              current: null # 当前变量值;未设置时默认列表第一个
              definition: query_result(kube_namespace_labels) # 查询表达式
              hide: 0 # 0 表示不隐藏;1 表示仅隐藏标签;2 表示标签和值均隐藏
              includeAll: true # 是否包含全部
              label: ns # 内置变量显示名
              multi: true # 是否支持多选
              name: ns # 变量名(唯一)
              options: []
              query: ''
              regex: /.*namespace=\"(.*?)\".*/ # 提取变量值的正则表达式
              sort: 2 # 排序:1 - 升序字母;2 - 降序字母(暂仅支持这两种);3 - 升序数字;4 - 降序数字
              type: query # 自定义变量类型
        time: # 面板时间
          from: now-30m # 起始时间
          to: now # 结束时间
        repeat: '' # 行重复配置;选择自定义变量
        collapsed: 'false' # 行折叠或展开配置
        description: '123' # 描述(标题后的提示)
        targets: # 数据源
          - indicator: cluster.node.ready # 指标
            expr: sum (cpaas_pod_number{cluster=\"\"}>0) # PromQL 表达式
            instant: false # 查询模式 true 表示查询某一时刻数据
            legendFormat: '' # 图例
            range: true # 查询数据时默认查询区间
            refId: 指标1 # 数据源显示名唯一标识
        gridPos: # 面板位置信息布局
          h: 8 # 高度
          w: 12 # 宽度(宽度对应 24 个网格单位)
          x: 0 # 横向位置
          y: 0 # 纵向位置
        panels: # 图表数据
          title: 图表标题tab # 图表名称
          type: table # 图表类型;目前支持 timeseries、barchart、stat、gauge、table、bargauge、row、text、pie(阶梯图、散点图、柱状图通过 drawStyle 属性配置)
          id: a2239830-492f-4d27-98f3-cb7ecb77c56f # 唯一标识
          links: # 链接
            - targetBlank: true # 新标签页打开
              title: '1' # 名称
              url: '1' # URL 地址
          transformations: # 数据转换
            - id: 'organize' # 类型 organize;用于排序、调整顺序、显示字段、是否显示
              options:
                excludeByName: # 隐藏字段
                  cluster_cpu_utilization: true
                indexByName: # 排序
                  cluster_cpu_utilization: 0,
                  Time: 1
                renameByName: # 重命名
                  Time: ''
                  cluster_cpu_utilization: '222'
            - id: 'merge' # 合并数据
              options:
          fieldConfig: # 定义图表属性和外观
            defaults: # 默认配置
              custom: # 自定义图形属性
                align: 'left' # 表格对齐方式:left、center、right
                cellOptions: # 表格阈值配置
                  type: color-text # 仅支持文本阈值颜色设置
                spanNulls: false # true 表示连接 null 值;false 不连接;数字 == 0 表示根据 0 连接 null 值
                drawStyle: line # 图表类型:line,柱状图为 bars,点图为 points
                fillOpacity: 20 # 当 drawStyle 为 area 时存在(当前不支持配置,area 默认为 20)
                thresholdsStyle: # 配置阈值显示方式(当前仅支持线条)
                  mode: line # 阈值显示格式(area 目前不支持)
                lineInterpolation: 'stepBefore' # 阶梯图配置,默认仅支持 stepBefore(后续支持 stepAfter)
              decimals: 3 # 小数点位数
              min: 0 # 最小值(当前页面配置不支持,仅支持已适配导入)
              max: 1 # 最大值(页面配置仅 stat gauge barGauge pie 支持)
              unit: '%' # 单位
              mappings: # 数值映射配置(当前仅支持值和范围类型;特殊类型支持数据)
                - options: # 值映射规则
                    '1': # 对应值
                      index: 0
                      text: 'Running' # 值为 1 时显示 Running
                  type: value # 值映射类型
                - options: # 范围映射规则
                    from: 2 # 范围起始值
                    to: 3 # 范围结束值
                    result: # 映射结果
                      index: 1
                      text: 'Error' # 2 到 3 之间的值显示 Error
                  type: range # 范围映射类型
                - type: special # 特殊映射类型
                  options:
                    match: null # nan null null+nan empty true false
                    result:
                      text: xxx
                      index: 2
              thresholds: # 阈值配置
                mode: absolute # 阈值配置模式,绝对值模式(当前仅支持绝对值和百分比模式,百分比模式暂不支持)
                steps: # 阈值步骤
                  - color: '#a7772f' # 阈值颜色
                    value: '2' # 阈值值
                  - color: '#007AF5' # 默认值无值为基准
            overrides: # 覆盖配置
              - matcher:
                  id: byName # 按字段名匹配
                  options: node # 对应名称
                properties: # 覆盖配置;id 目前仅支持 displayName unit
                  - id: displayName # 显示名覆盖
                    value: '1' # 覆盖显示名
                  - id: unit # 单位覆盖
                    value: GB/s # 单位值
                  - id: noValue # 无值显示
                    value: 无值显示
          options:
            orientation: horizontal # 控制图表布局方向;适用于仪表盘和仪表条(stat 后续支持)
            legend: # 图例配置
              calcs: # 计算方法(仅图例位置为右侧时显示)
                - latest # 目前仅支持最新值
              placement: right # 图例位置(right 或 bottom,默认 bottom)
              placementRightTop: '' # 右上角配置
              showLegend: true # 是否显示图例
            tooltip: # 提示信息
              mode: multi # 模式双选(仅支持多模式)鼠标悬停时显示所有数据
              sort: asc # 排序:asc 或 desc
            reduceOptions: # 数值计算方式(用于聚合数据)
              calcs: # 计算方法(latest、minimum、maximum、average、sum)
                - latest
              limit: 3 # 饼图限制切片数量
            textMode: 'value' # 统计图配置;定义指标值显示样式;选项有 auto、value、value_and_name、name、none(当前页面配置不支持,导入支持)
            colorMode: 'value' # 统计图配置;定义指标值颜色模式;选项有 none、value、background(默认 value;配置不支持,导入适配)
            displayLabels: ['name', 'value', 'percent'] # 饼图标签显示字段
            pieType: 'pie' # 饼图类型;选项 pie 和 donut
            mode: 'html' # 文本图类型模式;选项 html 和 richText
            content: '<div>xxx</div>' # 文本图内容
            footer:
              enablePagination: true # 表格启用分页

#常用函数和变量

#常用函数

定义查询设置时,除使用 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,并提取命名空间。

    • 查询设置: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=\"(.*?)\".*/。
    • 在 变量值预览 区域,预览示例包含多个命名空间,如 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