Webhooks & Slack¶
若需要即时的、面向人的通知,Watcher 可以将每一个事件 POST 到一个
WebHook——像 Slack 这样的通讯工具可以直接接收它。邻接关系一旦
中断,或开销一旦发生变化,一条消息就会立即出现在您的频道中。
四步接入 Slack¶
- 创建一个 Slack app。
- 为该 app 启用 Incoming Webhooks。
- 创建一个 Incoming Webhook——Slack 会生成一个 URL。
- 在 Watcher 的
.env中,取消EXPORT_TO_WEBHOOK_URL_BOOL的注释,并将 生成的 URL 设置为WEBHOOK_URL。
就是这样——拓扑事件现在会以 Slack 消息的形式送达。
支持 Fluent Bit
WebHook/HTTP 输出路径在 Logstash 和更轻量的 Fluent Bit profile 下都可用,因此即使在没有 ELK 的最小化部署中,您也可以获得通知。
一条通知包含什么¶
每一个事件都是 Watcher 记录的同一条结构化记录——时间戳、Watcher 名称、
事件类型(host / network / metric)、受影响的对象、状态
(up / down / changed)、检测节点、Topolograph 图名称、区域/级别,
以及 AS 号。完整的逐字段说明请参见
OSPF Watcher 事件日志格式。
因此,一条 Slack 消息就能告诉您,例如:节点 10.10.10.5 检测到主机
10.10.10.4 在区域 0 / AS 1234 中下线——附带足够的上下文,让您可以直接
跳转到 Topolograph 查看影响。
任意 HTTP 端点¶
由于它只是一个普通的 HTTP POST,同样的机制可以发送给任何自定义端点——
内部自动化服务、ChatOps 机器人、事故处理流水线——不仅限于 Slack。
相关内容: ELK / Kibana · Zabbix · 实时监控概览