任务接入¶
任务接入用于把工作空间内的事件、故障等信息,或外部系统消息交给 Agent 处理。信息进入后,Agent 会按接入规则聚合输入、生成处理会话,并根据配置完成分析、处置建议、自动处理或结果通知。
任务接入适合事件驱动的自动化场景,例如:
- 告警策略触发后,让值班 Agent 汇总异常指标、关联服务、可能影响范围和下一步排查建议;如果 Agent 具备相关代码仓库权限,还可以结合代码逻辑、近期变更或配置内容,给出更贴近实际系统的判断和修复建议;
- 多条可能相关的 SLO、日志、链路或基础设施告警进入同一聚合窗口时,让 Agent 获取更完整的上下文并做关联分析;
- 工单、故障、变更或第三方告警进入团队流程前,由 Agent 先整理背景、风险和需要人工确认的事项;
- Agent 处理完成后,把分析结论、处置结果或待确认动作投递到指定 Channel 会话。
与自动化任务不同,自动化任务通常按固定时间执行;任务接入则由工作空间内事件、故障等信息或外部消息触发。
接入类型¶
任务接入分为两类:
| 类型 | 入口 | 适合场景 | 主要配置 |
|---|---|---|---|
| 内置接入 | 在告警策略等工作空间流程中选择 Agent。相关事件或故障信息产生后,Agent 会收到通知并自动处理。 | 观测云告警分诊、故障初判、事件聚合分析、处理结果通知。 | 聚合周期、指令、Channel 投递。 |
| 外部接入(自定义) | 为当前 Agent 创建 Webhook,外部系统通过 Webhook 投送任务。 | 第三方告警、工单、故障、变更、发布检查或其他平台事件。 | 任务名称、聚合周期、权限模式、消息模板、Channel 投递、启用状态。 |
处理流程¶
两类入口都会把任务交给同一个 Agent,区别只在于消息从哪里进入:
flowchart LR
A[内置接入:告警策略选择 Agent] --> C[Agent 处理任务]
B[外部接入:Webhook 投送任务] --> C
C --> D{开启 Channel 投递}
D -->|是| E[发送结果到消息渠道]
D -->|否| F[保留在处理记录和会话中]
配置内置接入¶
内置接入用于把工作空间内产生的事件、故障等信息交给 Agent。用户可以在告警策略等流程中选择要处理该信息的 Agent;当相关信息产生后,会进入 Agent 的任务接入流程。
进入 Agent 工作台的任务接入页面,可以查看并编辑内置接入:
| 配置项 | 说明 |
|---|---|
| 聚合周期 | 控制事件是立即交给 Agent,还是先在 1、2、5、10、15 分钟等窗口内聚合。告警风暴或连续抖动建议使用聚合周期,单次关键告警可以立即处理。 |
| 指令 | 描述希望 Agent 做什么。默认目标是分析事件;也可以要求 Agent 在分析后给出处置步骤、在权限允许时尝试解决,或把结论整理成适合通知人的摘要。 |
| Channel 投递 | 可选。开启后,Agent 处理完成时会把结果投递到指定 Channel 会话,适合通知值班群、故障协作群或服务负责人。 |
内置接入适合先覆盖核心告警:例如高优先级 SLO 告警、核心服务错误率突增、关键数据库连接异常、链路延迟异常等。建议先让 Agent 输出分析和建议,确认效果稳定后,再逐步增加自动处理要求。
配置外部接入(自定义)¶
外部接入用于把其他系统的事件通过 Webhook 投送给 Agent。进入 Agent 工作台的任务接入页面,点击新建自定义接入,填写以下内容:
| 配置项 | 说明 |
|---|---|
| 任务名称 | 用来识别这个入口的用途,例如“PagerDuty 告警分诊”“Jira 故障初判”“发布失败分析”。 |
| 聚合周期 | 控制外部消息是立即处理,还是先在 1、2、5、10、15 分钟等窗口内聚合后再交给 Agent。 |
| 权限模式 | 控制该入口触发的任务会话如何使用 Agent 能力。建议优先使用默认模式;只有当来源可信、任务范围明确时,再使用完全访问。 |
| 消息模板 | 定义外部消息进入 Agent 会话后的表达方式,也是给 Agent 的处理指令。该项必填,建议写清楚事件来源、对象、现象、期望输出和需要注意的风险。 |
| Channel 投递 | 可选。开启后需要选择已有 Channel 会话,Agent 处理完成后会把结果投递到这些消息渠道。 |
| 启用状态 | 启用后外部系统可以继续投送任务;停用后该入口不再触发 Agent。 |
保存后,系统会生成一个 Webhook 地址。该地址包含访问 token,请按敏感信息保存,并复制到外部系统的 Webhook 配置中。
如需停止旧地址继续使用,可以在接入详情中更换 Secret。更换后旧 Webhook 地址会失效,需要把新地址同步到外部系统。
编写指令和消息模板¶
指令和消息模板决定 Agent 收到任务时看到什么、应该做什么。它们不需要写得很长,但要让 Agent 能快速判断“发生了什么、影响什么、需要输出什么”。
一个告警类模板可以包含:
- 告警名称、级别和触发时间;
- 受影响的服务、主机、集群或业务对象;
- 外部系统提供的告警摘要或详情;
- 希望 Agent 输出的内容,例如影响范围、可能原因、需要人工确认的风险和下一步动作。
如果外部系统发送的是结构化 JSON,可以在模板中引用稳定字段,例如 [{{status}}] {{detail.message}}。字段命名以外部系统实际发送的内容为准。
查看处理记录¶
每次接入触发后,系统都会生成处理记录。进入接入详情后,可以查看:
- 最近触发时间、接收消息数量和当前状态;
- 处理中、已完成、失败等不同状态的记录;
- 每次处理对应的 Agent 会话。
打开处理会话后,可以查看外部消息写入会话的内容、Agent 的分析过程和最终结果。如果某次处理失败,可以根据失败信息调整指令、消息模板、聚合周期、Agent 能力配置或外部系统的投递内容。
管理接入¶
在任务接入列表或详情页中,可以进行以下操作:
- 启用 / 停用:临时停止该入口继续触发 Agent。
- 编辑:内置接入可调整聚合周期、指令和结果投递;自定义接入还可以调整名称、权限模式和消息模板。
- 更换 Secret:仅适用于自定义接入。旧 Webhook 地址会失效,需要复制新地址并更新外部系统。
- 删除:仅适用于自定义接入。删除后,外部系统将无法继续通过该地址投递消息。
使用建议¶
- 告警策略优先使用内置接入,第三方系统或团队自有流程再使用外部接入。
- 为不同来源或不同处理目标创建独立接入,避免一个入口混入过多无关事件。
- 告警密集的场景优先使用聚合周期,让 Agent 基于一组相关事件统一判断。
- 指令要明确输出目标,例如“判断影响范围并给出三步排查建议”,不要只写“帮我看看”。
- Channel 投递适合需要通知值班群或协作群的场景;如果只需要留档,可以只查看处理记录。
- Webhook 地址包含访问 token,更新外部系统时注意权限控制和流转范围;怀疑泄露时及时更换 Secret。