一、概述

自定义图表功能为用户提供了强大而灵活的数据可视化解决方案,使您能够超越标准图表模板的限制,创建完全符合特定业务需求和分析场景的个性化可视化图表。

二、可自定义的图表位置

图表生成的页面位置,可以在下面几个位置展示你的自定义图表

1. 总览

2. 项目详情

3. 容器详情

三、图表应用类型

系统提供了三种不同作用范围的自定义图表(自定义全局通用集群通用),以满足不同层级的监控需求。您可以根据监控目标和数据范围,选择合适的图表类型进行配置和管理。这三种类型在配置语法上完全一致,仅在作用范围和生效级别上有所区别。

1. 自定义图表

基本特性

  • 作用范围:仅在创建时所在的当前Kubernetes集群内生效
  • 可见性:通常对创建者可见
  • 管理权限:可由创建者编辑、删除,或由集群管理员管理

典型应用场景

  1. 个人监控视图:开发人员为自己负责的服务创建的专用监控图表
  2. 临时分析需求:为解决特定问题临时创建的诊断性图表
  3. 项目级监控:针对特定项目或应用的监控配置,不涉及跨集群需求
  4. 实验性配置:测试新的监控指标或可视化方式的试验性图表

配置示例

[
    {
        "group": "我的服务监控",
        "chart": "line",
        "title": "订单服务QPS - 集群A",
        "query_range": "cc_pod_cpu_used{namespace='manager-test'}",
        "unit": "次/秒",
        "config": {
            "description": "监控集群A中订单服务的每秒查询率,仅在此集群有效。",
            "tooltip": {
                "formatter": "命名空间: ${namespace}, Pod: ${pod}"
            }
        }
    }
]

管理建议

  • 命名规范:建议在标题或描述中注明集群名称,如"订单服务QPS - 集群A"
  • 权限控制:合理设置图表访问权限,保护敏感监控数据
  • 定期清理:及时清理不再需要的临时图表,保持监控面板整洁

2. 集群通用图表

基本特性

  • 作用范围:在当前Kubernetes集群内全局生效
  • 可见性:对该集群内的所有授权用户可见
  • 管理权限:通常由集群管理员或指定管理员管理

典型应用场景

  1. 集群核心指标:集群级别的CPU、内存、存储等基础资源监控
  2. 标准化监控:为集群内所有团队提供的标准化服务监控模板
  3. 平台级SLA监控:监控集群服务级别协议的关键指标
  4. 共享监控视图:需要被集群内多个团队共同使用的监控图表

配置示例

[
    {
        "group": "集群核心指标",
        "chart": "line",
        "title": "集群节点CPU使用率",
        "query_range": "sum(rate(node_cpu_seconds_total{mode!='idle'}[5m])) by (instance) * 100",
        "unit": "%",
        "config": {
            "description": "监控集群所有节点的CPU使用率,集群内全局可见。"
        }
    }
]

管理建议

  • 标准化设计:采用统一的配色、标签格式和阈值标准
  • 文档完善:为通用图表提供详细的指标解释和使用说明
  • 版本管理:对通用图表的修改应谨慎,建议有变更评审流程

3. 全局通用图表

基本特性

  • 作用范围:在所有Kubernetes集群中全局生效
  • 可见性:对所有集群的授权用户可见
  • 管理权限:由系统管理员或全局管理员统一管理

典型应用场景

  1. 跨集群聚合视图:汇总所有集群的同类型指标进行对比分析
  2. 企业级标准监控:公司层面统一要求的标准化监控指标
  3. 多地域对比:比较不同地域或可用区的集群性能表现
  4. 平台健康大盘:展示整个容器平台的整体健康状况

配置示例

[
    {
        "group": "全局监控大盘",
        "chart": "bar",
        "title": "节点当前Pod数量",
        "width": 6,
        "query": "(sum by(node, phase)((kube_pod_status_phase>0)*on(namespace, pod)group_left(node)kube_pod_info{node=~'${node}'}))or(label_replace(max by(node)(kube_node_status_allocatable{node=~'${node}',resource='pods'})-sum by(node)((kube_pod_status_phase{phase=~'Pending|Running'}>0)*on(namespace,pod)group_left(node)kube_pod_info{node=~'${node}'}),'phase','idle','',''))",
        "config": {
            "theme": "bar.stack",
            "colorMap": {
                "Running": "${primary}",
                "Succeeded": "${success}",
                "Pending": "${warning}",
                "Failed": "${danger}",
                "idle": "${primary-bg-subtle}"
            },
            "seriesSort": {
                "phase": [
                    "Pending",
                    "Running",
                    "Succeeded",
                    "Failed",
                    "idle"
                ]
            },
            "xAxis": "node",
            "yAxis": "value",
            "series": "phase",
            "asc": "${node}-${phase}"
        }
    }
]

图表权限管理

类型 作用范围 生效级别 适用场景 管理权限要求
自定义图表 当前集群 集群级别,当前用户 针对特定集群的个性化监控需求 集群管理员或具有相应权限的用户
集群通用图表 当前集群 集群级别,所有用户 在当前集群内需要被多个团队或项目复用的标准化图表 集群管理员
全局通用图表 所有K8s集群 全局级别,所有用户 跨所有集群的统一监控视图和标准化指标展示 系统管理员或全局管理员
用户角色 自定义图表 集群通用图表 全局通用图表
普通用户 创建、编辑、删除自己的图表 仅查看 仅查看
集群管理员 创建、编辑、删除自己的图表 创建、编辑、删除 仅查看
系统管理员 创建、编辑、删除自己的图表 创建、编辑、删除 创建、编辑、删除

权限申请流程

  1. 自定义图表:用户可直接创建,无需审批
  2. 集群通用图表:需向集群管理员申请,说明图表用途和必要性
  3. 全局通用图表:需向系统管理员申请,附详细的需求分析和影响评估

四、自定义图表方式

系统主要通过两种互补的方式实现自定义图表的创建:一是通过直接编辑图表JSON配置文件的专业模式,二是借助AI智能辅助的自动化生成模式,两种方式相辅相成,适应从快速原型到精细定制的全链路需求。

1. 编辑图表JSON配置

1. 直接配置模式

通过手动编辑JSON配置文件,您可以完全控制图表的每个细节:

  • 完全控制权:直接访问和修改图表的所有配置参数
  • 精细调整:精确设置视觉样式、数据映射、交互行为等
  • 专业级定制:实现高度专业化的可视化需求
  • 配置复用:保存和重用成功的配置方案

2. 主要配置维度

  • 数据绑定:定义数据源与图表元素的映射关系
  • 视觉样式:调整颜色、尺寸、标签、图例等外观属性
  • 交互行为:配置提示框、缩放、筛选等交互功能
  • 布局结构:控制图表容器、坐标轴、系列元素的排列方式

2. AI辅助自动生成

1. 智能生成模式

利用AI技术简化图表创建过程:

  • 自然语言描述:用简单语言描述您的图表需求
  • 智能解析:AI自动理解数据结构和可视化意图
  • 一键生成:根据描述自动生成合适的图表配置
  • 迭代优化:基于反馈持续调整和优化图表效果

2. AI辅助能力

  • 需求理解:解析您的业务场景和展示目标
  • 配置推荐:推荐最适合的图表类型和配置方案
  • 问题诊断:识别配置问题并提供解决方案
  • 最佳实践:应用数据可视化的行业最佳实践

3. 使用场景建议

1. 选择JSON编辑

  • 您有明确的配置方案和特定的样式需求
  • 需要对现有图表进行精细调整
  • 需要实现复杂的交互或动画效果
  • 您具备一定的技术背景或配置经验

2. 选择AI辅助

  • 不确定哪种图表类型最合适
  • 希望快速实现基本的可视化效果
  • 需要专业的设计建议和最佳实践
  • 想要探索不同的可视化方案

通过这两种方式的结合使用,您可以在易用性和灵活性之间找到最佳平衡,高效创建出既美观又实用的数据可视化图表。

作者:叶奕珺  创建时间:2025-12-17 16:58
最后编辑:叶奕珺  更新时间:2025-12-19 10:11