对外通道
飞书、钉钉、企业微信、Slack、Teams、邮件、webhook 等通道按严重度路由,投递记录与重试,报告排期,工单系统(ServiceNow、Jira)配置。
对外通道管理消息的发送:告警调查结论、运营报告、预算告警、基线失败,按严重度路由到达到阈值的目标。配置由管理员修改,试发对分析员可用。

目标
| 通道 | 形式 | 说明 |
|---|---|---|
| 飞书 | 机器人 webhook 加签名 | 交互卡片 |
| 钉钉 | 机器人 webhook 加 HMAC 签名 | oapi.dingtalk.com |
| 企业微信 | 机器人 webhook | qyapi.weixin.qq.com |
| Slack | Incoming Webhook | Block Kit 卡片:标题、严重度色条、摘要、在 Copilot 打开按钮。hooks.slack.com |
| Microsoft Teams(Beta) | Workflows 或 Incoming Webhook | Adaptive Card 1.4。*.logic.azure.com、*.webhook.office.com,2.0.14 起含 *.environment.api.powerplatform.com |
| 邮件 | 收件人列表 | SMTP 全局配置见下 |
| 通用 webhook | JSON POST | 自定义 SOAR 或 SIEM |
每个目标有严重度阈值,只接收不低于该级别的消息。webhook URL 存入 storage/passwords,列表只显示主机名,编辑时留空表示沿用。测试发送发一条模拟告警,失败时把通道返回的原文显示在行内(如 飞书 code=19001)。
域名白名单固定在通道实现中;自定义 webhook 不限。
SMTP
一处全局配置:主机、端口、加密(starttls、ssl、none)、用户名、密码(存入 storage/passwords)、发件人。邮件目标只填收件人。

投递记录
每次投递一条记录(KV copilot_notify_deliveries):目标、内容类型、状态(sent、retrying、dead)、尝试次数、最后错误。可重试的错误(钉钉 130101 与 45009、Slack 与 Teams 5xx、网络错误)自动退避重试;dead 状态可手动重发。

排期
运营报告的定时生成与推送:每日时刻、时区。报告按所设时区(IANA 名称,默认 Asia/Shanghai)的整点推送。报告周期(日 / 周 / 月)仍从 UTC 0 点起算,所以在比 UTC 快的时区,早于时差的整点(如上海 07:00)要到次日才推。若 Splunk 自带的 Python 没有时区数据库(部分 Windows 安装),时区不校验直接保存,整点按 UTC 计算,并在 Splunk 内部日志里告警。
工单系统
1.9.0 起,工单系统页签配置 ServiceNow 或 Jira,2.0.14 起支持 Jira Data Center。工单功能仍为 Beta。
| 项 | ServiceNow | Jira Cloud | Jira Data Center |
|---|---|---|---|
| 地址 | https://<实例>.service-now.com | https://<站点>.atlassian.net | 本地实例地址,主机须列入 copilot.conf [tickets] allowed_hosts |
| 认证 | Basic(用户加密码)或 OAuth token | 邮箱加 API token(Basic) | 个人访问令牌(PAT) |
| 目标 | incident 表 | 项目 key 加 issue 类型 | 项目 key 加 issue 类型 |
| 映射 | 严重度映射到 urgency 与 impact | 严重度映射到 priority | 严重度映射到 priority |
凭据存入 storage/passwords;测试连接显示对方返回的账号名。创建工单的入口在调查对话框和报告页:正文为事件报告(Jira Cloud 用 ADF,保留粗体和链接;Jira Data Center 中告警数据里的 wiki 标记按纯文本显示,2.0.16 起),返回的工单号与链接回填到分析记录。出网策略在 [tickets]:SaaS 域名默认放行,本地实例需列入 allowed_hosts,私有 CA 用 verify_tls = 0。
