Huawei Cloud Cce Observability Context Builder

收集华为云CCE集群的告警、日志、指标和事件,生成诊断用的可观测性上下文包。

已扫描安全提示
适合谁
云平台运维工程师、Kubernetes故障排查人员
不适合谁
无华为云账号或权限的用户、无需处理CCE集群问题的普通用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @pintudeyudi/huawei-cloud-cce-observability-context-builder

Skill 说明

命令、参数、文件名以原文为准

华为云 CCE 可观测性上下文构建器

**⚠️ 执行方式(必须阅读):此技能通过本地 Python 脚本使用 scripts/huawei-cloud.py 分发器执行操作。禁止使用 hcloud、kubectl 或其他 CLI 工具或直接 API 调用。**

  • 所有操作均通过 scripts/huawei-cloud.py--action <action_name>--params <json_params> 的形式分发
  • 所有脚本及环境检查脚本均位于技能包内。**必须使用 skill action=exec 执行;不得在 shell 中直接运行**
  • 操作名称和参数详见下方核心工具部分
  • 禁止尝试使用 hcloud、kubectl、curl IAM 等 CLI/API 方法。此技能不依赖这些工具
  • 所有路径均为相对于技能目录(即本 SKILL.md 所在目录)

概述

该技能将分散的故障信号整合为结构化、可诊断的上下文包。首先收集时间窗口、集群、命名空间、工作负载、Pod、节点及告警范围,然后按类型(告警、事件、指标、日志)收集证据,沿时间线合并信号,识别信息缺口,并推荐下一步诊断技能进行交接。此技能严格只读——从不执行修复操作。

架构python3 scripts/huawei-cloud.py 分发器 → 华为云 Python SDK + AOM/LTS API → 告警、指标、日志、事件聚合

相关技能

  • huawei-cloud-cce-pod-failure-diagnoser - Pod CrashLoopBackOff、ImagePullBackOff、OOMKilled 诊断
  • huawei-cloud-cce-node-failure-diagnoser - 节点健康、资源压力、NPD 事件诊断
  • huawei-cloud-cce-network-failure-diagnoser - 网络连通性、DNS、ELB 诊断
  • huawei-cloud-cce-storage-failure-diagnoser - PVC/PV 挂载、存储创建诊断
  • huawei-cloud-cce-root-cause-analyzer - 跨域根因分析与报告
  • huawei-cloud-cce-auto-remediation-runner - 修复操作(扩容、驱逐、回滚等)
  • huawei-cloud-cce-alarm-correlation-engine - 告警去重与关联
  • huawei-cloud-cce-metric-analyzer - 深度指标趋势分析
  • huawei-cloud-cce-log-analyzer - 深度日志模式分析

功能特性

  • 收集活跃及历史 AOM 告警,去重并按严重程度分组(huawei_list_aom_alarmshuawei_analyze_aom_alarms
  • 获取按对象和原因分组的 Kubernetes 事件(huawei_get_cce_events
  • 查询 Pod 和节点 TopN 指标,识别资源峰值与异常(huawei_get_cce_pod_metrics_topNhuawei_get_cce_node_metrics_topN
  • 查询 AOM 和 LTS 日志以获取深层日志证据(huawei_query_aom_logshuawei_get_recent_logs
  • 获取 Pod 侧容器日志(huawei_get_pod_logs
  • 获取 AOM 指标及实例列表(huawei_get_aom_metricshuawei_list_aom_instances
  • 基于收集数据生成监控仪表盘(huawei_generate_monitor_dashboard
  • 沿时间线合并信号,标记信息缺口,并推荐下一诊断技能

典型使用场景

  • “收集过去一小时内集群 xyz 的全部可观测性数据”
  • “为 Pod 崩溃事件构建上下文包”
  • “在诊断前收集告警、事件和指标”
  • “我看到多个告警,将其合并为诊断上下文”
  • “展示完整的可观测性视图:告警 + 指标 + 日志 + 事件”
  • “过去 30 分钟内命名空间 prod 发生了什么?”

前置条件

1. Python 依赖

  • Python 3.8+,需安装 huaweicloudsdkccehuaweicloudsdkcorehuaweicloudsdkaomhuaweicloudsdklts
  • 首次使用前请运行环境检查(见验证部分)

2. 凭证配置

  • 有效的华为云凭证(AK/SK 模式)
  • 安全规则

- 不得在代码、对话或命令中暴露 AK/SK 值

- 不得使用 echo $HUAWEI_AKecho $HUAWEI_SK 检查凭证

- 使用环境变量:HUAWEI_AKHUAWEI_SKHUAWEI_REGION

- 优先使用 IAM 用户而非根账号进行云操作

- 敏感操作启用 MFA

配置方法(仅支持环境变量):

export HUAWEI_AK=<your-ak>
export HUAWEI_SK=<your-sk>
export HUAWEI_REGION=cn-north-4

重要安全提示

  • 不得将凭证提交至版本控制系统
  • 使用权限最小化的 IAM 用户
  • 定期轮换 AK/SK

3. IAM 权限要求

API 操作权限用途
cce:cluster:get获取集群查看 CCE 集群详情
cce:cluster:createCert创建证书获取 kubeconfig 以访问 kubectl
aom:alarm:list列出告警查询 AOM 活跃/历史告警
aom:alarm:analyze分析告警告警去重与分组
aom:metricsData:get获取指标数据查询 Pod/node CPU/内存指标
aom:instance:list列出 AOM 实例发现 AOM Prom 实例
aom:logData:get获取日志数据查询 AOM/LTS 日志数据
lts:log:list列出 LTS 日志查询 LTS 日志流
cce:event:list列出事件查询 Kubernetes 事件

权限不足处理

  1. 当任一命令因 IAM 权限问题失败时,显示所需权限列表
  2. 引导用户在 IAM 控制台创建自定义策略并授权
  3. 暂停执行,等待用户确认权限已授予

核心工具

所有操作均通过 scripts/huawei-cloud.py 使用 skill action=exec 分发。

告警收集

技能:华为云 CCE 可观测性上下文构建器

版本:0.1.0

分块:2/3

操作必需参数说明
huawei_list_aom_alarmsregion, cluster_id收集集群的当前及历史 AOM 告警
huawei_analyze_aom_alarmsregion, cluster_id告警去重并按严重程度分组

事件与指标采集

操作必需参数说明
huawei_get_cce_eventsregion, cluster_id获取按资源对象和原因分组的 Kubernetes 事件
huawei_get_cce_pod_metrics_topNregion, cluster_id, namespace用于异常检测的 TopN Pod 指标(CPU/内存)
huawei_get_cce_node_metrics_topNregion, cluster_id用于资源压力检测的 TopN 节点指标
huawei_get_aom_metricsregion, cluster_id, namespace查询特定资源的 AOM 指标
huawei_list_aom_instancesregion发现可用于指标查询的 AOM Prom 实例

日志采集

操作必需参数说明
huawei_query_aom_logsregion, cluster_id, namespace查询 AOM 结构化日志数据
huawei_get_recent_logsregion, cluster_id, namespace获取最近的日志条目(LTS)
huawei_get_pod_logsregion, cluster_id, pod_name, namespace获取 Pod 容器日志(前一次或当前)

可视化

操作必需参数说明
huawei_generate_monitor_dashboardregion, cluster_id根据收集的数据生成监控仪表盘

参数参考

通用参数

参数是否必需说明默认值
region华为云区域HUAWEI_REGION
cluster_idCCE 集群 IDN/A
namespaceKubernetes 命名空间N/A
ak可选覆盖 AKHUAWEI_AK
sk可选覆盖 SKHUAWEI_SK
project_id可选项目 ID从 IAM 自动获取

告警采集参数

参数是否必需说明默认值
alarm_id指定要查询的告警 IDN/A
alarm_level告警严重程度过滤所有
hours历史回溯时间窗口(小时)1

日志采集参数

参数是否必需说明默认值
pod_name是*Pod 名称(仅用于 huawei_get_pod_logsN/A
container容器名称第一个
previous获取上次崩溃时的日志false
tail_lines日志尾部行数100

*针对特定操作为必需。

指标采集参数

参数是否必需说明默认值
top_n返回的前 N 个结果数量10
hours指标回溯时间窗口(小时)1

工作流

  1. 记录范围:捕获故障时间、regioncluster_idnamespaceworkloadpodnode 和用户提供的 alarm_id
  2. 设置时间窗口:若时间不明确,缺省使用最近 1 小时,并在输出中注明此假设
  3. 采集告警:调用 huawei_list_aom_alarms 收集当前及历史告警,再通过 huawei_analyze_aom_alarms 进行去重和严重程度分组
  4. 采集事件:调用 huawei_get_cce_events 获取按关联对象和原因分组的 Kubernetes 事件
  5. 采集指标:调用 Pod/Node TopN 指标工具,识别资源峰值、异常节点和异常 Pod
  6. 采集日志:当需要日志证据时,优先使用 huawei_query_aom_logs,必要时补充 huawei_get_recent_logshuawei_get_pod_logs 的 Pod 侧日志
  7. 合并输出:将各类信号按时间线合并,输出异常摘要、缺失信息(缺口),以及推荐的诊断技能用于交接

完整证据收集工作流请参见 references/workflow.md

输出格式

详见 references/output-schema.md 中完整的 JSON 响应结构。

上下文包输出

{
  "summary": "一段上下文摘要",
  "scope": {
    "region": "cn-north-4",
    "cluster_id": "可选",
    "namespace": "可选",
    "workload": "可选",
    "time_window": "可选"
  },
  "signals": {
    "alarms": [],
    "events": [],
    "metrics": [],
    "logs": []
  },
  "timeline": [],
  "gaps": [],
  "next_skill": "huawei-cloud-cce-pod-failure-diagnoser | huawei-cloud-cce-node-failure-diagnoser | huawei-cloud-cce-network-failure-diagnoser | huawei-cloud-cce-root-cause-analyzer"
}

关键输出字段

  • summary — 一段总结性文字,概述所收集的可观测性上下文
  • scope — 区域、集群、命名空间、工作负载和时间窗口
  • signals — 按类型(告警、事件、指标、日志)分组的已收集证据
  • timeline — 合并后的信号时间线,展示事件的时间顺序
  • gaps — 可能影响诊断质量的缺失数据
  • next_skill — 基于信号分析推荐的后续诊断技能,用于交接

风险规则

本技能为严格只读可观测性,禁止任何状态变更操作。

  • 允许自动执行 R1 只读查询:告警、指标、日志、事件、资产清单、只读报告生成
  • 禁止任何需要 confirm=true 的操作 —— 不允许执行任何变更类操作
  • 永不持久化 AK/SK、令牌、证书或 kubeconfig
  • 日志输出必须进行脱敏处理。当检测到疑似敏感信息时,仅描述发现位置,绝不复制原始内容
  • 图表与报告只能基于授权查询结果生成

关于完整的风险分类,请参阅 references/risk-rules.md

验证步骤

  1. 执行 python3 scripts/huawei-cloud.py huawei_list_aom_alarms region=cn-north-4 cluster_id=<cluster-id> 以验证告警查询连通性
  2. 执行 python3 scripts/huawei-cloud.py huawei_get_cce_events region=cn-north-4 cluster_id=<cluster-id> limit=10 以验证事件查询功能
  3. 执行 python3 scripts/huawei-cloud.py huawei_get_cce_pod_metrics_topN region=cn-north-4 cluster_id=<cluster-id> namespace=default top_n=5 以验证指标 TopN 查询
  4. 在健康命名空间上执行完整上下文构建,确认输出包含有效的 scopesignalstimelinegapsnext_skill 字段
  5. 确认输出中未建议任何变更类操作 —— 所有操作应为只读或转交至诊断技能

最佳实践

  1. 始终从告警开始:优先使用 huawei_list_aom_alarmshuawei_analyze_aom_alarms 检查当前及历史告警 —— 告警提供最直接的故障信号
  2. 尽早定义作用域:在收集任何数据前,记录区域、集群 ID、命名空间、工作负载、Pod、节点和时间窗口。若时间窗口不明确,统一默认为最近 1 小时,并在输出中标注该假设
  3. 使用 TopN 快速发现异常huawei_get_cce_pod_metrics_topNhuawei_get_cce_node_metrics_topN 能高效识别资源峰值,无需扫描全部资源
  4. 优先使用 AOM 日志,再补充 Pod 日志huawei_query_aom_logs 提供结构化日志数据;如需容器侧详细日志,使用 huawei_get_pod_logshuawei_get_recent_logs
  5. 沿时间线合并信号:将告警、事件、指标和日志按时间顺序合并,可揭示单一数据类型无法呈现的因果链
  6. 显式标记数据缺口:始终在 gaps 字段中标识缺失的数据 —— 这将指导下一诊断技能应收集哪些额外证据
  7. 绝不建议变更类操作:本技能为只读。对于扩容、删除、重启、驱逐或漏洞状态变更等操作,应转交至 huawei-cloud-cce-auto-remediation-runner
  8. 推荐正确的下一技能:根据信号分析结果,推荐最具体的诊断器 —— Pod 故障 → huawei-cloud-cce-pod-failure-diagnoser,节点问题 → huawei-cloud-cce-node-failure-diagnoser,网络问题 → huawei-cloud-cce-network-failure-diagnoser,跨域问题 → huawei-cloud-cce-root-cause-analyzer

参考文档

文档说明
[工作流程](references/workflow.md)证据收集流程与步骤顺序
[风险规则](references/risk-rules.md)安全约束与风险分类
[输出格式](references/output-schema.md)上下文包的 JSON 响应格式

注意事项

  1. 本技能为 严格只读 —— 永不执行修复操作。如需变更操作,请转交至 huawei-cloud-cce-auto-remediation-runner
  2. 所有操作均为 R1(只读)—— 无需任何 confirm=true 参数
  3. 日志片段已 脱敏处理 —— 检测到的密码、令牌、AK/SK、Authorization 头部等敏感信息将在输出中被清除
  4. AK/SK 不得硬编码 —— 必须通过环境变量传入
  5. Python 分发脚本(scripts/huawei-cloud.py)是 唯一允许的执行方式 —— 禁止使用 hcloud CLI 或直接调用 API
  6. 输出中的 next_skill 字段使用 huawei-cloud-cce-* 命名规范,用于跨技能转接
  7. 若需在构建上下文前进行告警关联分析,可考虑使用 huawei-cloud-cce-alarm-correlation-engine

常见陷阱

陷阱表现快速解决方法
缺失 cluster_id所有操作立即失败从集群列表中获取 cluster_id 并提供
未指定时间窗口结果范围过广,噪声过多默认采用最近 1 小时;在输出中标注该假设
跳过告警收集丢失关键故障信号始终优先执行 huawei_list_aom_alarms
未按时间线合并信号数据点孤立,无法形成因果链按时间顺序合并告警、事件、指标
建议变更类操作存在安全隐患的建议所有变更操作均应转交至 huawei-cloud-cce-auto-remediation-runner
未标记数据缺口诊断技能缺乏方向指引始终填写 gaps 字段
查询所有命名空间响应缓慢,返回结果过多使用 namespaceworkload 进行作用域限定
未找到 AOM Prom 实例指标查询返回空结果先通过 huawei_list_aom_instances 进行验证
P
@pintudeyudi

已收录 1 个 Skill

相关推荐