Claw Permission Firewall
对代理操作进行实时安全评估,防止敏感数据泄露与危险执行。
收集华为云CCE集群的告警、日志、指标和事件,生成诊断用的可观测性上下文包。
openclaw skills install @pintudeyudi/huawei-cloud-cce-observability-context-builder命令、参数、文件名以原文为准
**⚠️ 执行方式(必须阅读):此技能通过本地 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 - 深度日志模式分析功能特性:
huawei_list_aom_alarms、huawei_analyze_aom_alarms)huawei_get_cce_events)huawei_get_cce_pod_metrics_topN、huawei_get_cce_node_metrics_topN)huawei_query_aom_logs、huawei_get_recent_logs)huawei_get_pod_logs)huawei_get_aom_metrics、huawei_list_aom_instances)huawei_generate_monitor_dashboard)典型使用场景:
huaweicloudsdkcce、huaweicloudsdkcore、huaweicloudsdkaom、huaweicloudsdklts 包- 不得在代码、对话或命令中暴露 AK/SK 值
- 不得使用 echo $HUAWEI_AK 或 echo $HUAWEI_SK 检查凭证
- 使用环境变量:HUAWEI_AK、HUAWEI_SK、HUAWEI_REGION
- 优先使用 IAM 用户而非根账号进行云操作
- 敏感操作启用 MFA
配置方法(仅支持环境变量):
export HUAWEI_AK=<your-ak>
export HUAWEI_SK=<your-sk>
export HUAWEI_REGION=cn-north-4重要安全提示:
| 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 事件 |
权限不足处理:
所有操作均通过 scripts/huawei-cloud.py 使用 skill action=exec 分发。
技能:华为云 CCE 可观测性上下文构建器
版本:0.1.0
分块:2/3
| 操作 | 必需参数 | 说明 |
|---|---|---|
huawei_list_aom_alarms | region, cluster_id | 收集集群的当前及历史 AOM 告警 |
huawei_analyze_aom_alarms | region, cluster_id | 告警去重并按严重程度分组 |
| 操作 | 必需参数 | 说明 |
|---|---|---|
huawei_get_cce_events | region, cluster_id | 获取按资源对象和原因分组的 Kubernetes 事件 |
huawei_get_cce_pod_metrics_topN | region, cluster_id, namespace | 用于异常检测的 TopN Pod 指标(CPU/内存) |
huawei_get_cce_node_metrics_topN | region, cluster_id | 用于资源压力检测的 TopN 节点指标 |
huawei_get_aom_metrics | region, cluster_id, namespace | 查询特定资源的 AOM 指标 |
huawei_list_aom_instances | region | 发现可用于指标查询的 AOM Prom 实例 |
| 操作 | 必需参数 | 说明 |
|---|---|---|
huawei_query_aom_logs | region, cluster_id, namespace | 查询 AOM 结构化日志数据 |
huawei_get_recent_logs | region, cluster_id, namespace | 获取最近的日志条目(LTS) |
huawei_get_pod_logs | region, cluster_id, pod_name, namespace | 获取 Pod 容器日志(前一次或当前) |
| 操作 | 必需参数 | 说明 |
|---|---|---|
huawei_generate_monitor_dashboard | region, cluster_id | 根据收集的数据生成监控仪表盘 |
| 参数 | 是否必需 | 说明 | 默认值 |
|---|---|---|---|
region | 是 | 华为云区域 | HUAWEI_REGION |
cluster_id | 是 | CCE 集群 ID | N/A |
namespace | 否 | Kubernetes 命名空间 | N/A |
ak | 可选 | 覆盖 AK | HUAWEI_AK |
sk | 可选 | 覆盖 SK | HUAWEI_SK |
project_id | 可选 | 项目 ID | 从 IAM 自动获取 |
| 参数 | 是否必需 | 说明 | 默认值 |
|---|---|---|---|
alarm_id | 否 | 指定要查询的告警 ID | N/A |
alarm_level | 否 | 告警严重程度过滤 | 所有 |
hours | 否 | 历史回溯时间窗口(小时) | 1 |
| 参数 | 是否必需 | 说明 | 默认值 |
|---|---|---|---|
pod_name | 是* | Pod 名称(仅用于 huawei_get_pod_logs) | N/A |
container | 否 | 容器名称 | 第一个 |
previous | 否 | 获取上次崩溃时的日志 | false |
tail_lines | 否 | 日志尾部行数 | 100 |
*针对特定操作为必需。
| 参数 | 是否必需 | 说明 | 默认值 |
|---|---|---|---|
top_n | 否 | 返回的前 N 个结果数量 | 10 |
hours | 否 | 指标回溯时间窗口(小时) | 1 |
region、cluster_id、namespace、workload、pod、node 和用户提供的 alarm_idhuawei_list_aom_alarms 收集当前及历史告警,再通过 huawei_analyze_aom_alarms 进行去重和严重程度分组huawei_get_cce_events 获取按关联对象和原因分组的 Kubernetes 事件huawei_query_aom_logs,必要时补充 huawei_get_recent_logs 或 huawei_get_pod_logs 的 Pod 侧日志完整证据收集工作流请参见 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 — 基于信号分析推荐的后续诊断技能,用于交接本技能为严格只读可观测性,禁止任何状态变更操作。
confirm=true 的操作 —— 不允许执行任何变更类操作关于完整的风险分类,请参阅 references/risk-rules.md。
python3 scripts/huawei-cloud.py huawei_list_aom_alarms region=cn-north-4 cluster_id=<cluster-id> 以验证告警查询连通性python3 scripts/huawei-cloud.py huawei_get_cce_events region=cn-north-4 cluster_id=<cluster-id> limit=10 以验证事件查询功能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 查询scope、signals、timeline、gaps 和 next_skill 字段huawei_list_aom_alarms 和 huawei_analyze_aom_alarms 检查当前及历史告警 —— 告警提供最直接的故障信号huawei_get_cce_pod_metrics_topN 和 huawei_get_cce_node_metrics_topN 能高效识别资源峰值,无需扫描全部资源huawei_query_aom_logs 提供结构化日志数据;如需容器侧详细日志,使用 huawei_get_pod_logs 或 huawei_get_recent_logsgaps 字段中标识缺失的数据 —— 这将指导下一诊断技能应收集哪些额外证据huawei-cloud-cce-auto-remediation-runnerhuawei-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 响应格式 |
huawei-cloud-cce-auto-remediation-runnerconfirm=true 参数scripts/huawei-cloud.py)是 唯一允许的执行方式 —— 禁止使用 hcloud CLI 或直接调用 APInext_skill 字段使用 huawei-cloud-cce-* 命名规范,用于跨技能转接huawei-cloud-cce-alarm-correlation-engine| 陷阱 | 表现 | 快速解决方法 |
|---|---|---|
缺失 cluster_id | 所有操作立即失败 | 从集群列表中获取 cluster_id 并提供 |
| 未指定时间窗口 | 结果范围过广,噪声过多 | 默认采用最近 1 小时;在输出中标注该假设 |
| 跳过告警收集 | 丢失关键故障信号 | 始终优先执行 huawei_list_aom_alarms |
| 未按时间线合并信号 | 数据点孤立,无法形成因果链 | 按时间顺序合并告警、事件、指标 |
| 建议变更类操作 | 存在安全隐患的建议 | 所有变更操作均应转交至 huawei-cloud-cce-auto-remediation-runner |
| 未标记数据缺口 | 诊断技能缺乏方向指引 | 始终填写 gaps 字段 |
| 查询所有命名空间 | 响应缓慢,返回结果过多 | 使用 namespace 和 workload 进行作用域限定 |
| 未找到 AOM Prom 实例 | 指标查询返回空结果 | 先通过 huawei_list_aom_instances 进行验证 |
已收录 1 个 Skill