关于 huawei-cloud-cce-alarm-correlation-engine
Huawei Cloud CCE Alarm Correlation Engine 面向 CCE 运维人员,用于调查 AOM 告警及管理告警和通知规则。它关联当前与历史告警,并要求配置变更先预览、再经明确确认。
主要功能
- 01查询当前及历史告警
- 02关联重复、严重性、突发及长期告警
- 03检查 CCE 告警健康状况
- 04管理 AOM 告警与通知规则
- 05变更采用预览与确认流程
适用场景
- 01调查当前及历史事件中的告警风暴
- 02检查 CCE 集群的告警健康状况
- 03配置 CCE 推荐告警规则
- 04审查并停用嘈杂的告警规则
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ huaweicloud/ huaweicloud-skills --skill huawei-cloud-cce-alarm-correlation-engine安装后在 Claude Code 中输入/huawei-cloud-cce-alarm-correlation-engine确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
skill-profile.yamlreferences/acceptance-criteria.mdcce-event-list.mdcce-prometheus-metric-alarms.mdcli-installation-guide.mdiam-policies.mdoperation-guide.mdoutput-schema.mdrisk-rules.mdverification-method.mdworkflow.mdscripts/huawei-cloud.pyscripts/huawei_cloud/__init__.pyaom.pycommon.pydispatcher.py详细介绍
华为云 CCE 告警关联引擎
概述
关联华为云 AOM 中的活动告警和历史告警,为 CCE 运维提供优先级调查线索。此技能还可通过严格的预览与确认工作流管理 AOM 告警规则和通知动作规则。
架构:python3 scripts/huawei-cloud.py 分发器 -> 本地 hcloud(KooCLI)-> AOM/CCE/IAM 云服务操作 -> 告警查询、告警关联、告警规则管理、通知规则管理和 CCE 告警健康检查。
执行方式:所有华为云操作都必须通过随附的 Python 分发器执行。分发器会调用本地
hcloudCLI。禁止直接导入 SDK、手动编写 API 签名、使用 curl 执行 IAM 流程、使用 openstack 命令,或通过带外途径访问云服务。
相关技能:
huawei-cloud-cce-metric-analyzer- CCE、AOM 和云资源指标检查huawei-cloud-cce-kubernetes-event-analyzer- Kubernetes 警告事件分析huawei-cloud-cce-pod-failure-diagnoser- Pod 故障诊断huawei-cloud-cce-node-failure-diagnoser- 节点故障诊断huawei-cloud-cce-auto-remediation-runner- 修复预览与执行
功能:
- 查询 AOM 活动告警、AOM 历史告警,以及活动告警与历史告警的合并视图
- 分析告警去重、严重级别分组、突发告警、关注告警和长期告警
- 检查 CCE 告警健康状况,并生成待后续诊断的风险项
- 查询 AOM 告警规则,可选择按
cluster_id筛选 - 解析绑定到 CCE 集群的 AOM Prometheus 实例
- 创建指标告警规则和事件告警规则
- 根据用户提供的 SMN 主题创建通知动作规则
- 根据云端 CCE 告警模板批量配置 CCE 推荐告警规则
- 清理符合云端 CCE 告警模板的 CCE 告警规则
- 更新、删除、启用和停用 AOM 告警规则
- 查询 AOM 动作规则和静默规则
典型使用场景:
- “列出此 CCE 集群的 AOM 告警”
- “分析活动告警和历史告警,检查是否存在告警风暴”
- “显示集群
<cluster_id>当前的告警规则” - “使用此通知规则创建 CCE 推荐告警规则”
- “清理此集群符合 CCE 模板的告警规则”
- “使用此 SMN 主题创建通知动作规则”
- “确认后停用此噪声告警规则”
前提条件
1. 运行时依赖
- 用于分发器和结果处理的 Python 3.8+
PATH中的 hcloud(KooCLI)7.2.2+- 已使用
hcloud configure配置的本地 hcloud 配置文件 - 如果技能包中提供运行环境检查,请在首次使用前执行
2. 凭据配置
- 通过显式工具参数、本地 hcloud 配置文件或环境变量回退机制提供有效的华为云凭据
- hcloud 调用的凭据优先级为:显式工具参数 > 本地 hcloud 配置文件 > 环境变量
- 需要
project_id的工具会在可能时在内部解析该值:优先使用显式的project_id参数,然后查询目标区域的活动 hcloud 配置文件/IAM 项目,最后使用环境变量回退值
安全规则:
- 切勿在代码、命令、日志或响应中泄露 AK/SK、令牌或由凭据推导出的机密信息
- 切勿运行
echo $HUAWEI_AK或echo $HUAWEI_SK - 切勿将凭据写入文件
- 常规使用时优先采用 hcloud 配置文件
- 使用遵循最小权限原则的 IAM 用户
可选环境变量回退:
export HUAWEI_AK=<your-ak>
export HUAWEI_SK=<your-sk>
export HUAWEI_REGION=cn-north-4
export HUAWEI_PROJECT_ID=<project-id>
export HUAWEI_SECURITY_TOKEN=<security-token>
3. IAM 权限要求
| 权限 | 用途 |
|---|---|
aom:event:list | 查询活动和历史 AOM 告警 |
aom:alarmRule:list | 查询 AOM 告警规则 |
aom:alarmRule:create | 创建 AOM 告警规则 |
aom:alarmRule:update | 更新、启用或禁用 AOM 告警规则 |
aom:alarmRule:delete | 删除 AOM 告警规则 |
aom:actionRule:list | 查询 AOM 操作/通知规则 |
aom:actionRule:create | 创建 AOM 通知操作规则 |
aom:actionRule:delete | 删除 AOM 通知操作规则 |
aom:muteRule:list | 查询 AOM 静默规则 |
cce:cluster:get | 解析 CCE 集群和 AOM Prometheus 绑定关系 |
权限失败处理:
- 显示失败的操作和所需权限。
- 请用户授予缺失的 IAM 权限。
- 暂停变更操作,直到用户确认权限已就绪。
核心命令
所有命令均使用 Python 分发脚本:
python3 scripts/huawei-cloud.py <action> <key=value>...
KooCLI命令格式标准
此技能不会要求用户直接运行原始 hcloud 命令。所有云操作都必须使用分发器命令格式:
python3 scripts/huawei-cloud.py <tool-name> key=value key=value
分发器会将工具参数转换为标准 KooCLI 调用:
hcloud <service> <operation> --cli-region=<region> --cli-output=json [--cli-jsonInput=<file>]
每条命令都必须遵循以下规则:
- 使用
key=value参数;值中包含空格、>、<、|、JSON 或 PromQL 时,请将其括起来。 - 不要打印或持久化 AK/SK、安全令牌或生成的 JSON 输入文件。
- 对 R2/R1/R0 工具,先使用分发器预览输出;仅在用户明确确认后添加
confirm=true。 - 优先使用 hcloud 配置文件凭据;显式工具参数会覆盖配置文件和环境回退值。
- 设置和验证请参阅 CLI 安装指南。
1. 告警查询与关联分析
# Query active + historical alarms in a region
python3 scripts/huawei-cloud.py huawei_list_aom_alarms \
region=cn-north-4
# Query active + historical alarms for a cluster
python3 scripts/huawei-cloud.py huawei_list_aom_alarms \
region=cn-north-4 cluster_id=<cluster-id>
# Query current active alarms only
python3 scripts/huawei-cloud.py huawei_list_aom_current_alarms \
region=cn-north-4 cluster_id=<cluster-id>
# Analyze deduplicated, burst, attention, and chronic alarm groups
python3 scripts/huawei-cloud.py huawei_analyze_aom_alarms \
region=cn-north-4 cluster_id=<cluster-id>
仅凭没有活动告警,不要得出“没有问题”的结论。诊断近期发生或已恢复的问题时,始终要考虑历史告警。
2. 告警规则查询
# Query all alarm rules in a region
python3 scripts/huawei-cloud.py huawei_list_aom_alarm_rules \
region=cn-north-4
# Query alarm rules related to one CCE cluster
python3 scripts/huawei-cloud.py huawei_list_aom_alarm_rules \
region=cn-north-4 cluster_id=<cluster-id>
# Resolve the cluster AOM Prometheus instance
python3 scripts/huawei-cloud.py huawei_resolve_cce_aom_prom_instance \
region=cn-north-4 cluster_id=<cluster-id>
huawei_list_aom_alarm_rules 仅支持通过 cluster_id 筛选集群。不要使用 cluster_name 作为筛选条件。
3. 通知规则
# List existing action/notification rules
python3 scripts/huawei-cloud.py huawei_list_aom_action_rules \
region=cn-north-4
# Preview creating a notification action rule from an SMN topic
python3 scripts/huawei-cloud.py huawei_create_aom_notification_action_rule \
region=cn-north-4 rule_name=auto-cluster-xxx \
notification_topic_name=<smn-topic-name> \
notification_topic_urn=<smn-topic-urn>
# Confirm creation
python3 scripts/huawei-cloud.py huawei_create_aom_notification_action_rule \
region=cn-north-4 rule_name=auto-cluster-xxx \
notification_topic_name=<smn-topic-name> \
notification_topic_urn=<smn-topic-urn> \
confirm=true
切勿自动选择通知规则。如果批量创建告警时缺少 bind_notification_rule_id,请列出可用的操作规则并等待用户明确选择,或者请用户提供 SMN 主题并先创建通知规则。
4. 告警规则创建
# Preview creating a CCE template metric alarm rule
python3 scripts/huawei-cloud.py huawei_create_aom_alarm_rule \
region=cn-north-4 cluster_id=<cluster-id> \
alarm_item=NodeCPUUsageHigherThanEightyPercent
# Confirm creating a CCE template metric alarm rule
python3 scripts/huawei-cloud.py huawei_create_aom_alarm_rule \
region=cn-north-4 cluster_id=<cluster-id> \
alarm_item=NodeCPUUsageHigherThanEightyPercent \
bind_notification_rule_id=<action-rule-id> \
confirm=true
# Preview creating an event alarm rule
python3 scripts/huawei-cloud.py huawei_create_aom_event_alarm_rule \
region=cn-north-4 cluster_id=<cluster-id> \
event_name="<event-name>"
# Confirm creating an event alarm rule
python3 scripts/huawei-cloud.py huawei_create_aom_event_alarm_rule \
region=cn-north-4 cluster_id=<cluster-id> \
event_name="<event-name>" \
bind_notification_rule_id=<action-rule-id> \
confirm=true
带有 cluster_id + alarm_item 的指标规则和事件规则都使用与批量创建相同的 CCE 模板载荷路径和默认命名。仅当用户明确要求使用自定义名称时,才传入 rule_name。单条规则创建与批量 CCE 告警规则配置一样,需要在确认执行时显式提供 bind_notification_rule_id。事件告警规则的 event_name 应参考 references/cce-event-list.md;指标 alarm_item 应使用 CCE 模板别名或规则名称。
5. CCE 模板告警规则
# Preview batch creating CCE recommended alarm rules
python3 scripts/huawei-cloud.py huawei_configure_cce_aom_alarm_rules \
region=cn-north-4 cluster_id=<cluster-id> \
bind_notification_rule_id=<action-rule-id>
# Confirm batch creation
python3 scripts/huawei-cloud.py huawei_configure_cce_aom_alarm_rules \
region=cn-north-4 cluster_id=<cluster-id> \
bind_notification_rule_id=<action-rule-id> confirm=true
# Preview cleanup of CCE template alarm rules for a cluster
python3 scripts/huawei-cloud.py huawei_cleanup_cce_aom_alarm_rules \
region=cn-north-4 cluster_id=<cluster-id>
# Confirm cleanup
python3 scripts/huawei-cloud.py huawei_cleanup_cce_aom_alarm_rules \
region=cn-north-4 cluster_id=<cluster-id> \
delete_auto_notification_rule=true confirm=true
huawei_configure_cce_aom_alarm_rules 需要显式提供 bind_notification_rule_id。如果未提供,不要从此工具返回或选择 available_notification_rules;应单独调用 huawei_list_aom_action_rules,并向用户展示可选项。
6. 告警规则变更
# Preview update
python3 scripts/huawei-cloud.py huawei_update_aom_alarm_rule \
region=cn-north-4 rule_name=my-rule threshold=80
# Confirm update
python3 scripts/huawei-cloud.py huawei_update_aom_alarm_rule \
region=cn-north-4 rule_name=my-rule threshold=80 confirm=true
# Preview delete
python3 scripts/huawei-cloud.py huawei_delete_aom_alarm_rule \
region=cn-north-4 rule_name=my-rule
# Confirm delete
python3 scripts/huawei-cloud.py huawei_delete_aom_alarm_rule \
region=cn-north-4 rule_name=my-rule confirm=true
# Preview disable or enable
python3 scripts/huawei-cloud.py huawei_disable_aom_alarm_rule \
region=cn-north-4 rule_id=<rule-id>
python3 scripts/huawei-cloud.py huawei_enable_aom_alarm_rule \
region=cn-north-4 rule_id=<rule-id>
7. 操作规则和静默规则的可见性
# Query mute rules
python3 scripts/huawei-cloud.py huawei_list_aom_mute_rules \
region=cn-north-4
# Preview deleting an action rule
python3 scripts/huawei-cloud.py huawei_delete_aom_action_rule \
region=cn-north-4 rule_name=<rule-name>
8. 集群告警检查
python3 scripts/huawei-cloud.py huawei_aom_alarm_inspection \
region=cn-north-4 cluster_id=<cluster-id>
风险级别
此技能包含只读查询工具和变更工具。使用 confirm=true 前,必须先预览变更工具,并等待用户明确确认。
| 级别 | 含义 | 执行指南 |
|---|---|---|
| R3 | 无风险的只读查询或本地分析 | 可自动运行 |
| R2 | 低风险监控配置变更,例如创建告警或通知配置,但不删除资源或增加服务容量/成本 | 先预览;仅在用户明确确认后执行 |
| R1 | 有风险的监控变更,例如更新或禁用可能降低可观测性的规则 | 先预览;需要用户明确确认并设置 confirm=true |
| R0 | 关键监控保护移除,例如删除告警规则、行动规则或进行大范围清理 | 设置 confirm=true 前,需要明确确认、影响评估和回滚计划 |
| 工具 | 操作类型 | 风险级别 | 描述 |
|---|---|---|---|
huawei_list_aom_alarms | 查询 | R3 | 查询当前及历史告警,并合并去重 |
huawei_list_aom_current_alarms | 查询 | R3 | 仅查询当前活动告警 |
huawei_analyze_aom_alarms | 查询 + 本地分析 | R3 | 分析告警组、告警突发、需关注的告警和长期存在的告警 |
huawei_aom_alarm_inspection | 查询 + 本地分析 | R3 | 检查集群告警运行状况 |
huawei_list_aom_alarm_rules | 查询 | R3 | 查询 AOM 告警规则;支持可选参数 cluster_id |
huawei_resolve_cce_aom_prom_instance | 查询 | R3 | 解析集群 AOM Prometheus 实例 |
huawei_list_aom_action_rules | 查询 | R3 | 查询行动/通知规则 |
huawei_list_aom_mute_rules | 查询 | R3 | 查询静默规则 |
huawei_create_aom_alarm_rule | 创建 | R2 | 创建 AOM 指标告警规则 |
huawei_create_aom_event_alarm_rule | 创建 | R2 | 创建 AOM 事件告警规则 |
huawei_create_aom_notification_action_rule | 创建 | R2 | 根据用户提供的 SMN 主题创建通知行动规则 |
huawei_configure_cce_aom_alarm_rules | 批量创建 | R2 | 使用明确指定的现有通知行动规则创建 CCE 推荐告警规则 |
huawei_enable_aom_alarm_rule | 启用 | R2 | 启用 AOM 告警规则 |
huawei_update_aom_alarm_rule | 更新 | R1 | 更新 AOM 告警规则 |
huawei_disable_aom_alarm_rule | 禁用 | R1 | 禁用 AOM 告警规则 |
huawei_delete_aom_alarm_rule | 删除 | R0 | 删除 AOM 告警规则 |
huawei_cleanup_cce_aom_alarm_rules | 批量删除 | R0 | 删除目标集群的 CCE 模板告警规则 |
huawei_delete_aom_action_rule | 删除 | R0 | 删除通知行动规则 |
参数参考
通用参数
| 参数 | 必填/可选 | 描述 | 默认值 |
|---|---|---|---|
region | 必填 | 华为云区域 | HUAWEI_REGION |
cluster_id | 工具特定 | CCE 集群 ID;集群范围操作必填 | 不适用 |
ak | 可选 | 显式指定的 AK;在 hcloud 调用中优先级最高 | 回退到配置文件/环境变量 |
sk | 可选 | 显式指定的 SK;在 hcloud 调用中优先级最高 | 回退到配置文件/环境变量 |
project_id | 可选 | 显式指定的 Project ID | 回退到 hcloud/IAM/环境变量 |
confirm | 仅变更操作 | 设为 true 时执行已预览的变更 | false |
告警查询参数
| 工具 | 必填 | 可选 |
|---|---|---|
huawei_list_aom_alarms | region | cluster_id、时间范围/筛选参数 |
huawei_list_aom_current_alarms | region | cluster_id、筛选参数 |
huawei_analyze_aom_alarms | region | cluster_id、时间范围/筛选参数 |
huawei_aom_alarm_inspection | region、cluster_id | 筛选参数 |
告警规则参数
| 工具 | 必填 | 说明 |
|---|---|---|
huawei_list_aom_alarm_rules | region | 可选 cluster_id;不支持按 cluster_name 筛选 |
huawei_create_aom_alarm_rule | region | 模板模式:cluster_id、alarm_item;手动模式:指标字段。执行前确认需要提供 bind_notification_rule_id |
huawei_create_aom_event_alarm_rule | region、cluster_id、event_name | R2;执行前确认需要提供 bind_notification_rule_id;可选 rule_name 用于覆盖模板命名 |
huawei_create_aom_notification_action_rule | region、rule_name、notification_topic_urn、notification_topic_name | R2;主题必须由用户提供 |
huawei_configure_cce_aom_alarm_rules | region、cluster_id、bind_notification_rule_id | R2;用户必须明确选择通知规则 |
huawei_cleanup_cce_aom_alarm_rules | region、cluster_id | R0;可选 delete_auto_notification_rule=true |
huawei_update_aom_alarm_rule | region、rule_name | R1;更新字段因工具而异 |
huawei_delete_aom_alarm_rule | region、rule_name | R0 |
huawei_disable_aom_alarm_rule | region、rule_id | R1 |
huawei_enable_aom_alarm_rule | region、rule_id | R2 |
输出格式
完整的 JSON 响应结构请参见输出架构。
主要输出字段:
success:命令执行成功状态error:success=false时的失败原因preview:未提供confirm=true时的变更预览requires_confirmation:是否需要用户确认report:告警关联摘要issues:检查发现的风险项alarms、rules、action_rules、mute_rules:查询到的资源
工作流
详细的告警关联流程请参见工作流。
建议的工作流:
- 从用户处获取告警名称、资源、时间范围和严重级别。
- 除非用户指定其他事件时间范围,否则默认使用最近 1 小时。
- 使用
huawei_list_aom_alarms查询活动告警和历史告警。 - 使用
huawei_analyze_aom_alarms分析告警组。 - 怀疑存在通知缺失或告警抑制时,查询告警规则、操作规则和静默规则。
- 按资源、命名空间、节点、工作负载和告警类型对发现结果分组。
- 将问题交接给 Pod、Node、Network、Storage 或 Workload 诊断技能,进行根因分析。
验证
先运行只读检查:
python3 scripts/huawei-cloud.py huawei_list_aom_alarms region=cn-north-4
python3 scripts/huawei-cloud.py huawei_list_aom_alarm_rules region=cn-north-4
python3 scripts/huawei-cloud.py huawei_list_aom_action_rules region=cn-north-4
对于集群范围的检查:
python3 scripts/huawei-cloud.py huawei_aom_alarm_inspection \
region=cn-north-4 cluster_id=<cluster-id>
变更验证:
- 不带
confirm=true运行命令。 - 检查
preview、受影响资源和预期影响。 - 等待用户明确确认。
- 带
confirm=true重新运行。 - 使用对应的列表/查询命令进行验证。
最佳实践
- 使用活动告警和历史告警进行诊断 - 仅查看活动告警可能会遗漏近期已恢复的问题。
- 按
cluster_id筛选 - 对于集群范围的告警规则和告警分析任务,使用准确的集群 ID。 - 预览每项变更 - 切勿跳过 R2/R1/R0 工具的预览步骤。
- 不要自动选择通知规则 - 始终等待用户选择
bind_notification_rule_id。 - 明确配置通知 - 仅使用用户提供的 SMN 主题创建通知操作规则。
- 将分析与修复分开 - 提出修复建议后,再交接给修复技能。
- 保护可观测性 - 除非已了解影响并获得确认,否则避免停用或删除规则。
注意事项
- 告警诊断必须同时考虑活跃告警和历史告警;不能仅因为没有活跃告警就断定集群健康。
- R2/R1/R0 工具必须先预览执行方案,并在应用变更前等待用户明确确认。
- 不要替用户自动选择通知规则、SMN 主题、集群或模板。
- 不要通过此技能提供的工具以外的方式修改告警资源。
- 集群范围筛选必须使用
cluster_id;huawei_list_aom_alarm_rules不接受集群名称。
故障排查
| 症状 | 可能原因 | 操作 |
|---|---|---|
| hcloud 命令失败 | 缺少配置文件、区域或 IAM 权限 | 检查 hcloud configure list 和 IAM 策略 |
| 没有活跃告警 | 问题可能已恢复,或仅存在于历史记录中 | 查询活跃告警和历史告警 |
| 缺少通知规则导致批量配置失败 | 缺少 bind_notification_rule_id | 列出操作规则,或通过 SMN 主题创建一个规则,然后重试 |
| 集群告警规则查询返回过多规则 | 缺少 cluster_id 筛选条件 | 使用准确的 cluster_id 重新运行 |
| 项目 ID 错误 | 配置文件/项目解析失败 | 明确提供 project_id,或修正 hcloud 配置文件 |
限制
- 此技能不会修改 CCE、ECS、ELB、EIP、VPC、安全组、节点、工作负载或 Kubernetes 资源。
- 此技能不得创建、更新或删除屏蔽规则。
- 此技能不得使用云端带外命令修改告警资源。
- 此技能无法安全地为用户推断通知规则。
huawei_list_aom_alarm_rules按cluster_id而非集群名称筛选。
参考资料
| 文档 | 用途 |
|---|---|
| 操作指南 | 详细参数、输出预期、验证、诊断交接和注意事项 |
| 工作流 | 告警关联工作流 |
| 输出架构 | 输出 JSON 架构 |
| 风险规则 | 风险边界和确认规则 |
| CLI 安装指南 | hcloud/KooCLI 安装和配置文件检查 |
| IAM 策略 | 所需的 AOM、CCE 和 IAM 权限 |
| 验证方法 | 功能和变更验证清单 |
| 验收标准 | 技能验收标准和测试用例 |
| CCE 事件列表 | 事件告警规则的 CCE 事件名称 |
| Prometheus 指标告警 | Prometheus 指标告警参考资料 |