基于Hermes与飞书构建CCE生产环境智能运维Agent
本文以Hermes接入飞书为例,构建一个CCE生产环境ChatOps值班Agent。该Agent可以定时扫描现网告警,自动归并和分析告警,生成恢复方案,并在用户通过飞书手机端确认后执行恢复动作。文中的CPU高告警只是一个用于验证闭环的小案例,您可以基于同样的思路扩展出Pod重启诊断、节点异常处理、调度失败恢复、容量巡检、发布变更关联、日报生成等自定义能力。
应用场景
在生产环境中,CCE集群可能持续产生大量告警,覆盖工作负载、Pod、节点、网络、存储、弹性伸缩、资源容量和可用性风险等多个维度。现网规模越大,告警数量、告警来源和处理路径越复杂,值班人员需要在飞书告警、AOM指标、Kubernetes事件、Pod日志、工作负载配置、HPA状态、节点容量和工单系统之间反复切换,容易出现告警疲劳、响应慢、证据不完整、恢复动作缺少审核和复盘材料难沉淀等问题。
通过构建CCE生产环境智能运维Agent,您可以将“告警发现、告警归并、上下文采集、根因分析、恢复预览、用户确认、执行恢复、效果验证、结果归档”沉淀为一套可复用的ChatOps值班能力。Agent可以使用Hermes,也可以使用您已有的ChatOps、AIOps、工单助手或自研值班机器人;华为云云原生Skill负责提供CCE、AOM、LTS、节点池、工作负载等资源的标准化查询、分析和受控恢复能力。
方案架构
本方案采用“Agent Runtime + 云原生Skill + 飞书确认”的组合架构。Agent Runtime负责任务调度、告警分发、上下文编排和飞书交互;云原生Skill提供告警、指标、日志、事件、根因分析和恢复动作能力;飞书承载告警通知、用户审核和闭环结果。

建议按能力边界拆分Agent权限。
| 能力域 | 典型动作 | 推荐控制方式 |
|---|---|---|
| 告警治理 | 查询、归并、分级、路由AOM活跃告警和历史告警 | 只读权限,允许定时自动执行 |
| 诊断分析 | 汇聚指标、事件、日志、工作负载、节点状态 | 只读权限,允许Agent自动编排 |
| 恢复预览 | 生成扩容、回滚、HPA、节点池等恢复方案 | 只生成预览,不修改资源 |
| 恢复执行 | 执行变更动作 | 必须经过飞书确认 |
| 审计归档 | 保存告警、分析、确认、执行和验证记录 | 建议进入工单、OBS或内部知识库 |

约束与限制
- 告警规则和指标口径应使用云服务推荐配置,并结合实时指标做交叉验证。
- 恢复类动作必须保留预览和确认机制,尤其是扩缩容、回滚、节点池变更等生产操作。
- 飞书消息应面向值班人员可读,优先输出结论、证据、影响对象、可选方案和确认入口。
- 对复杂恢复链路,建议将告警指纹、方案编号、目标资源和执行记录持久化,便于确认和审计。
- 禁止在提示词、飞书消息、截图或文档中暴露AK/SK、Token、证书、Project ID等敏感信息。
- 在试点阶段,建议从只读巡检和人工确认式恢复开始,再逐步扩展到更自动化的恢复策略。
前提条件
执行本实践前,建议先准备好Agent运行环境和CCE观测对象,后续再逐步扩展自动化范围:
- 已准备用于巡检和诊断的CCE集群、命名空间或业务范围。
- 已接入AOM告警、云原生监控指标或已有巡检对象。
- 已准备Hermes或自有Agent Runtime,并接入飞书或工单系统。
- 已将CCE相关华为云云原生Skill导入Agent,用于查询告警、指标、事件、工作负载、Pod、节点和执行受控恢复。
- 已准备好访问凭证,且通过安全方式配置,确保不在提示词或文档中暴露敏感信息。
可编排能力
您可按需组合以下Skill,构建面向海量告警的智能运维流程。
| 能力 | 代表Skill | 作用 |
|---|---|---|
| 告警发现与归并 | alarm-correlation-engine | 查询活跃/历史告警,归并重复告警,识别需要处理的告警。 |
| 可观测上下文 | observability-context-builder | 汇聚指标、日志、事件和资源状态。 |
| 指标分析 | metric-analyzer | 分析CPU、内存、网络、磁盘等趋势。 |
| Pod 诊断 | pod-failure-diagnoser | 分析Pod状态、重启、日志和Events。 |
| 工作负载诊断 | workload-failure-diagnoser | 分析Deployment、ReplicaSet、HPA、Service和Endpoint。 |
| 节点诊断 | node-failure-diagnoser | 分析节点状态、资源水位和调度能力。 |
| 变更关联 | change-impact-analyzer | 关联告警前后的发布、配置和资源变更。 |
| 根因分析 | root-cause-analyzer | 汇总证据,输出根因、置信度和建议。 |
| 受控恢复 | auto-remediation-runner | 生成恢复预览,确认后执行恢复动作。 |
面向现网告警治理时,可将Agent能力分为以下层次。
| 层次 | 目标 | 示例 |
|---|---|---|
| 告警入口 | 接收和发现不同来源的告警 | AOM告警、巡检任务、飞书消息、工单事件 |
| 告警治理 | 降低告警噪声并确定处理优先级 | 去重、归并、分级、路由、静默、摘要 |
| 智能诊断 | 从多源数据中定位候选原因 | 告警、指标、日志、事件、变更、资源状态 |
| 受控恢复 | 将建议动作转为可审核的恢复方案 | 扩缩容、HPA 调整、节点池扩容、回滚 |
| 闭环运营 | 将处理结果沉淀为可复用经验 | 飞书通知、工单归档、日报、复盘材料 |
操作流程
本实践基于集群demo-recovery中default/chat-app工作负载的CPU使用率过高告警展开,旨在验证CCE生产环境智能运维Agent的端到端能力。CPU高告警只是现网告警中的一种类型,流程重点是展示从巡检正常态、告警发现、自动分析、用户确认、受控恢复到闭环验证的完整链路。
步骤一:启动巡检机器人
初始化Agent后,加载CCE相关Skill,并配置巡检周期和飞书通知目标。
巡检机器人应能够在“无告警”和“有告警”两种状态下都输出清晰结果,避免值班人员无法判断巡检链路是否正常。

正常会输出“集群demo-recovery当前无异常,环境正常”。上图展示了巡检机器人在未发现活跃告警时,通过飞书输出集群健康摘要。客户可以将该能力扩展为每日巡检、班前巡检或重点业务巡检。
步骤二:接收CPU高告警
当AOM产生CPU高告警后,巡检机器人在飞书中输出告警摘要,并将该告警纳入自动分析流程。生产环境中,同一入口也可以接收Pod重启、节点异常、调度失败、Service无后端、HPA不生效等其他类型告警。
收到告警后,Agent应同时关注AOM告警状态和实时指标,避免只依据单一信号做判断。
步骤三:自动分析告警并生成恢复预览
巡检机器人发现CPU高告警后,自动收集告警、Pod指标、节点水位、工作负载状态和影响对象,形成诊断报告。报告中应突出可观测事实、证据链和可选恢复方案。

上图展示了巡检机器人在未发现活跃告警时,通过飞书输出集群健康摘要。客户可以将该能力扩展为每日巡检、班前巡检或重点业务巡检。
恢复预览建议包含以下项目。
| 项目 | 内容 |
|---|---|
| 告警摘要 | 告警名称、级别、状态、触发时间 |
| 影响对象 | 集群、命名空间、工作负载、Pod、节点 |
| 关键证据 | CPU水位、节点水位、Pod状态、相关告警 |
| 候选方案 | 扩容副本、调整资源、节点池扩容、人工处理等 |
| 变更影响 | 资源占用、调度条件、成本变化、回滚方式 |
| 用户确认 | 明确给出确认语句或按钮 |
步骤四:在飞书确认恢复方案
这是生产变更链路中的关键审核环节。Agent在此阶段仅等待用户确认,不会执行扩缩容、回滚、重启、节点池变更等任何改变现网状态的操作。只有当用户在飞书中明确回复“确认执行”或“确认执行方案A/B”等确认语句后,Agent才会按已确认的方案执行恢复操作。
确认语句应与恢复预览中的方案编号保持一致,例如“确认执行方案A”对应扩容副本,“确认执行方案B”对应资源升配或容量扩展。您也可以将确认动作替换为飞书卡片按钮、工单审批或企业审批流,但核心要求保持不变,即未经人工确认,Agent仅做分析和预览,不进行现网变更。

步骤五:执行恢复并持续复核
本案例首先选择扩容工作负载,将chat-app从2个副本扩容到4个副本。扩容后,Agent继续复核Pod状态和节点容量,发现其中一个新增Pod因节点CPU资源不足而Pending。

这个分支体现了生产恢复中很重要的一点,即恢复动作需要持续验证。扩容请求成功并不代表所有Pod已调度成功,也不代表告警已经收敛。Agent应将复核结果继续反馈给用户,并给出下一步方案。
步骤六:追加容量动作并完成闭环
当扩容受节点容量限制时,Agent可以生成新的容量恢复方案,例如节点池扩容、调整工作负载request、优化HPA上限或接入CCI弹性能力。本案例选择追加节点池扩容,等待新节点上线后由Kubernetes自动调度Pending Pod。

执行恢复动作后,Agent再次巡检告警、Pod、节点和CPU指标,并将闭环结果发送到飞书。

Hermes任务提示词参考
以下提示词可作为Hermes ChatOps值班Agent的任务模板。它弱化了具体命令和环境变量,只保留角色、流程、输出结构和安全边界。
您是CCE生产环境智能运维Agent,负责对目标CCE环境执行告警巡检、告警归并、自动分析、恢复预览、用户确认后恢复、恢复验证和飞书闭环通知。 前置约定: - CCE相关云原生Skill已提前导入当前Agent。 - 目标集群、巡检范围、通知通道和访问凭证已由运行环境提供。 - 所有通知都发送到飞书或客户指定的值班通道。 目标: 1. 定时扫描目标CCE环境的活跃告警和近期历史告警。 2. 对告警进行去重、归并、分级、路由和影响范围摘要。 3. 巡检正常时,输出简洁的健康摘要,不静默退出。 4. 发现需要处理的告警时,自动汇聚上下文,包括AOM告警、实时指标、Kubernetes Events、Pod/Workload/Node 状态、日志摘要和近期变更。 5. 输出面向值班人员的诊断报告,包含告警摘要、影响对象、关键证据、候选原因、建议方案和需要确认的动作。 6. 对涉及资源变更的动作,只生成恢复预览,不直接执行任何现网动作。 7. 只有用户在飞书中明确回复“确认执行”或确认具体方案后,才执行恢复动作。 8. 执行后必须验证告警状态、Pod状态、工作负载副本、节点容量和关键指标,并将闭环结果发送到飞书。 巡检报告建议结构: - 巡检摘要:集群、时间窗、活跃告警数量、关键资源状态。 - 告警发现:告警名称、级别、状态、影响对象、当前观测值。 - 系统分析:告警状态、实时指标、Pod/Workload/Node 状态、相关事件和近期变更。 - 恢复方案:给出2到3个可选方案,说明适用场景、影响范围、回滚方式和验证方式。 - 用户确认:明确提示用户回复“确认执行”或选择具体方案。 安全边界: - 告警扫描、证据采集和根因分析阶段只允许只读操作。 - 不允许仅凭单条告警直接执行恢复。 - 所有写操作必须先输出恢复预览、影响范围、回滚方式和验证方式。 - 同一条告警中的方案编号和方案含义保持一致,用户确认后按已确认方案执行。 - 在用户确认前,禁止执行扩缩容、回滚、重启、节点池变更等任何会改变现网状态的动作。 - 不在输出中暴露AK/SK、Token、证书、Project ID等敏感信息。 - 如果证据不足,列出可能原因和需要人工复核的信息,不替用户做没有证据支撑的判断。 飞书输出要求: - 巡检正常时,输出简洁的健康摘要。 - 发现告警时,先输出告警摘要和影响对象,再输出关键证据和候选方案。 - 需要恢复时,明确提示用户回复“确认执行”或选择具体方案;在收到人工确认前,只等待确认,不执行变更。 - 恢复完成后,输出执行动作、验证结果、剩余风险和后续建议。
诊断结果
这个案例的重点不在于CPU高一定要扩容,而在于展示一条可迁移的方法:Agent发现问题→ Skill汇聚证据→ 人工确认恢复→ 系统执行并验证。客户可以将其中任何一段替换成自己的工具、审批和业务规则。
| 阶段 | 结果 |
|---|---|
| 告警发现 | 检测到CCE容器CPU使用率大于80% |
| 自动分析 | 汇聚AOM告警、Pod指标、节点水位和工作负载状态 |
| 恢复预览 | 给出扩容副本等可选方案,并等待飞书确认 |
| 首次恢复 | 将工作负载从2副本扩容到4副本 |
| 过程复核 | 发现一个新增Pod因节点资源不足Pending |
| 追加动作 | 追加节点池扩容,补充调度容量 |
| 闭环验证 | 活跃告警清零,Pod和节点巡检正常,飞书输出结果 |
扩展应用场景
您可以根据自身需求和现有工具,从多个维度扩展本实践,以适应不同的运维场景和业务需求。以下是从不同维度扩展本实践的具体建议和示例。
| 扩展方向 | 示例 |
|---|---|
| 更换Agent | 使用Hermes、OpenClaw、AI CLI、企业ChatOps机器人或自研Agent。不同的Agent可以提供不同的功能和集成能力,您可以根据自己的技术栈和需求选择合适的 Agent。 |
| 更换入口 | 从AOM告警、飞书消息、工单、定时任务、发布事件或人工问询触发。不同的入口可以适应不同的告警来源和触发方式,提高告警处理的灵活性和响应速度。 |
| 更换Skill组合 | 针对Pod、Node、Network、Storage、HPA、Cost等场景编排不同Skill。通过组合不同的Skill,您可以针对特定的运维场景提供更精准的诊断和恢复能力。 |
| 更换审批方式 | 使用飞书回复、飞书卡片按钮、工单审批、变更审批流。不同的审批方式可以适应不同的企业审批流程和安全要求,确保恢复动作的合规性和安全性。 |
| 更换恢复动作 | 扩缩容、HPA 调整、节点池扩容、回滚、隔离节点、停止异常任务。不同的恢复动作可以应对不同的故障类型和恢复需求,提高恢复的灵活性和有效性。 |
| 更换归档方式 | 输出到飞书、工单、OBS、日报、知识库或审计系统。不同的归档方式可以满足不同的记录和审计需求,确保告警处理过程的可追溯性和可复盘性。 |
典型扩展场景如下表所示。
| 场景 | 编排思路 |
|---|---|
| Pod频繁重启 | 汇聚重启次数、previous日志、OOM、探针配置和Events,生成回滚或资源调整预览。通过分析Pod的重启次数、日志、OOM事件、探针配置和相关事件,生成回滚或资源调整的恢复方案,帮助客户快速定位和解决 Pod 频繁重启的问题。 |
| Pod Pending | 分析节点容量、污点容忍、亲和性、PVC、镜像拉取和配额,生成调度恢复建议。通过分析节点的资源水位、污点容忍、亲和性、PVC状态、镜像拉取和配额限制,生成调度恢复建议,帮助客户解决Pod无法调度的问题。 |
| 节点异常 | 关联节点状态、资源水位、组件状态和事件,生成隔离、迁移或节点池扩容预览。通过分析节点的状态、资源水位、组件状态和相关事件,生成隔离、迁移或节点池扩容的恢复方案,帮助客户快速处理节点异常问题。 |
| Service无后端 | 分析Deployment、Endpoint、Service Selector和发布状态,定位发布或选择器问题。通过分析Deployment、Endpoint、Service Selector和发布状态,帮助用户定位Service无后端的原因,生成相应的恢复建议。 |
| HPA不生效 | 分析指标采集、request配置、HPA上下限和扩缩容事件。通过分析指标采集、request配置、HPA上下限和扩缩容事件,帮助客户诊断HPA不生效的原因,生成相应的恢复建议。 |
| 定期巡检 | 定时输出告警、资源水位、异常Pod、节点风险和成本优化建议。通过定时巡检,输出告警、资源水位、异常Pod、节点风险和成本优化建议,帮助客户及时发现和处理潜在问题,优化资源使用。 |
预期结果
完成本实践后,用户可以获得以下效果:
- CCE告警进入飞书后,Agent自动启动诊断链路。
- 运维人员无需在多个系统间反复切换,即可看到告警摘要、证据和候选方案。
- 恢复动作在执行前经过飞书确认,降低误操作风险。
- 恢复执行后自动验证告警收敛、Pod状态、节点容量和指标趋势。
- 告警处理过程可归档、可审计、可复盘。
- 同一套Agent + Skill编排思路可扩展到更多CCE运维场景。