mcpField
H
huawei-cloud-cce-alarm-correlation-engine

huawei-cloud-cce-alarm-correlation-engine

github.com/huaweicloud云与 DevOps59161 次安装2 天前更新
代码仓库

关于 huawei-cloud-cce-alarm-correlation-engine

Huawei Cloud CCE Alarm Correlation Engine 面向 CCE 运维人员,用于调查 AOM 告警及管理告警和通知规则。它关联当前与历史告警,并要求配置变更先预览、再经明确确认。

主要功能

  1. 01查询当前及历史告警
  2. 02关联重复、严重性、突发及长期告警
  3. 03检查 CCE 告警健康状况
  4. 04管理 AOM 告警与通知规则
  5. 05变更采用预览与确认流程

适用场景

  1. 01调查当前及历史事件中的告警风暴
  2. 02检查 CCE 集群的告警健康状况
  3. 03配置 CCE 推荐告警规则
  4. 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.yaml
references/
acceptance-criteria.md
cce-event-list.md
cce-prometheus-metric-alarms.md
cli-installation-guide.md
iam-policies.md
operation-guide.md
output-schema.md
risk-rules.md
verification-method.md
workflow.md
scripts/
huawei-cloud.py
scripts/huawei_cloud/
__init__.py
aom.py
common.py
dispatcher.py

详细介绍

华为云 CCE 告警关联引擎

概述

关联华为云 AOM 中的活动告警和历史告警,为 CCE 运维提供优先级调查线索。此技能还可通过严格的预览与确认工作流管理 AOM 告警规则和通知动作规则。

架构:python3 scripts/huawei-cloud.py 分发器 -> 本地 hcloud(KooCLI)-> AOM/CCE/IAM 云服务操作 -> 告警查询、告警关联、告警规则管理、通知规则管理和 CCE 告警健康检查。

执行方式:所有华为云操作都必须通过随附的 Python 分发器执行。分发器会调用本地 hcloud CLI。禁止直接导入 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 绑定关系

权限失败处理:

  1. 显示失败的操作和所需权限。
  2. 请用户授予缺失的 IAM 权限。
  3. 暂停变更操作,直到用户确认权限已就绪。

核心命令

所有命令均使用 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_alarmsregioncluster_id、时间范围/筛选参数
huawei_list_aom_current_alarmsregioncluster_id、筛选参数
huawei_analyze_aom_alarmsregioncluster_id、时间范围/筛选参数
huawei_aom_alarm_inspectionregion、cluster_id筛选参数
告警规则参数
工具必填说明
huawei_list_aom_alarm_rulesregion可选 cluster_id;不支持按 cluster_name 筛选
huawei_create_aom_alarm_ruleregion模板模式:cluster_id、alarm_item;手动模式:指标字段。执行前确认需要提供 bind_notification_rule_id
huawei_create_aom_event_alarm_ruleregion、cluster_id、event_nameR2;执行前确认需要提供 bind_notification_rule_id;可选 rule_name 用于覆盖模板命名
huawei_create_aom_notification_action_ruleregion、rule_name、notification_topic_urn、notification_topic_nameR2;主题必须由用户提供
huawei_configure_cce_aom_alarm_rulesregion、cluster_id、bind_notification_rule_idR2;用户必须明确选择通知规则
huawei_cleanup_cce_aom_alarm_rulesregion、cluster_idR0;可选 delete_auto_notification_rule=true
huawei_update_aom_alarm_ruleregion、rule_nameR1;更新字段因工具而异
huawei_delete_aom_alarm_ruleregion、rule_nameR0
huawei_disable_aom_alarm_ruleregion、rule_idR1
huawei_enable_aom_alarm_ruleregion、rule_idR2

输出格式

完整的 JSON 响应结构请参见输出架构。

主要输出字段:

  • success:命令执行成功状态
  • error:success=false 时的失败原因
  • preview:未提供 confirm=true 时的变更预览
  • requires_confirmation:是否需要用户确认
  • report:告警关联摘要
  • issues:检查发现的风险项
  • alarms、rules、action_rules、mute_rules:查询到的资源

工作流

详细的告警关联流程请参见工作流。

建议的工作流:

  1. 从用户处获取告警名称、资源、时间范围和严重级别。
  2. 除非用户指定其他事件时间范围,否则默认使用最近 1 小时。
  3. 使用 huawei_list_aom_alarms 查询活动告警和历史告警。
  4. 使用 huawei_analyze_aom_alarms 分析告警组。
  5. 怀疑存在通知缺失或告警抑制时,查询告警规则、操作规则和静默规则。
  6. 按资源、命名空间、节点、工作负载和告警类型对发现结果分组。
  7. 将问题交接给 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>

变更验证:

  1. 不带 confirm=true 运行命令。
  2. 检查 preview、受影响资源和预期影响。
  3. 等待用户明确确认。
  4. 带 confirm=true 重新运行。
  5. 使用对应的列表/查询命令进行验证。

最佳实践

  1. 使用活动告警和历史告警进行诊断 - 仅查看活动告警可能会遗漏近期已恢复的问题。
  2. 按 cluster_id 筛选 - 对于集群范围的告警规则和告警分析任务,使用准确的集群 ID。
  3. 预览每项变更 - 切勿跳过 R2/R1/R0 工具的预览步骤。
  4. 不要自动选择通知规则 - 始终等待用户选择 bind_notification_rule_id。
  5. 明确配置通知 - 仅使用用户提供的 SMN 主题创建通知操作规则。
  6. 将分析与修复分开 - 提出修复建议后,再交接给修复技能。
  7. 保护可观测性 - 除非已了解影响并获得确认,否则避免停用或删除规则。

注意事项

  • 告警诊断必须同时考虑活跃告警和历史告警;不能仅因为没有活跃告警就断定集群健康。
  • 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 指标告警参考资料

评论

支持 Markdown