跳到主要内容
版本:v1.6.65

WebHook

本文介绍 WebHook 插件的配置方法,用于向指定地址发送系统事件推送通知,与第三方服务对接。

WebHook 插件让 AMMDS 能向指定的 WebHook 地址发推送通知,让你实时收到系统事件的通知。通过 WebHook,你可以把 AMMDS 的各种事件(比如任务完成、系统告警、状态变化等)实时推送到外部系统,和第三方服务对接。

插件配置

插件配置

插件配置项

  • 启用状态:控制是否启用 WebHook 插件。关掉后,所有 WebHook 服务都会停止发通知。
  • 重试次数:设置通知发送失败后重试几次。如果 WebHook 请求失败,系统会按这个次数自动重试。
  • 重试间隔:设置每次重试之间隔多久(单位:秒)。合理设置间隔可以避免把目标服务器搞崩。

WebHook 服务配置

WebHook 服务配置

插件支持同时配多个 WebHook 服务,每个服务可以独立设置地址和通知内容格式。你可以根据不同的通知场景创建多个 WebHook 服务,比如:

  • 系统告警通知
  • 任务状态变更通知
  • 重要事件通知
  • 数据同步通知

新增 WebHook 服务

点「新增」按钮,打开新增 WebHook 服务的配置对话框。

新增 WebHook 服务 WebHook 服务配置项

WebHook 服务配置项

基础配置

  • 服务名称:给 WebHook 服务起个名字,方便管理和识别。建议用有描述性的名字,比如"系统告警通知"、"任务完成通知"等。
  • URL:填接收推送通知的 WebHook 地址。确保这个地址能正常访问,并且能处理 POST 请求。
  • 描述:给 WebHook 服务加个说明,描述这个服务的用途。详细的描述方便以后维护。
  • 启用状态:控制这个 WebHook 服务是否启用。禁用后,服务会停止发通知,但配置会保留。

请求头配置

  • 请求头:给 WebHook 请求设置自定义请求头,格式是键: 值,一行一个。常见的请求头有:
    • Content-Type: application/json:指定请求体格式是 JSON
    • Authorization: Bearer <token>:加个认证令牌,保证 API 调用的安全
    • X-Custom-Header: <value>:加自定义的业务头信息
  • 点「添加」按钮可以加多个自定义请求头

请求体配置

  • 内容格式:请求体必须是 JSON 格式。插件会自动把通知内容转成 JSON 字符串发出去。你可以根据接收端的需求自定义 JSON 结构,比如:
    {
    "event": "{{type}}",
    "title": "{{title}}",
    "message": "{{message}}",
    "timestamp": "{{time}}",
    "data": {
    "logo": "{{logo}}",
    "image": "{{image}}",
    "sign": "{{sign}}"
    }
    }

推送检查

  • 检查类型:设置 WebHook 响应的验证方式,确保通知发送成功
    • 状态码:验证响应状态码是不是 200。适合标准 REST API 接口。
    • 内容:验证响应内容是否包含指定字符串。适合自定义接口或需要特定响应内容的场景。

变量说明

变量说明

变量描述
{{sign}}签名,用来验证通知的真假
{{title}}通知标题,简单描述事件内容
{{subTitle}}通知副标题,提供额外的事件信息
{{logo}}Logo URL,事件相关的图标或标识
{{image}}图片 URL,事件相关的图片资源
{{message}}消息正文,详细描述事件内容
{{time}}推送时间,事件发生的时间
{{type}}事件类型,标识事件属于哪一类

可以在请求体和请求头里用这些变量,插件会自动替换成实际的值

使用场景

WebHook 插件适合以下场景:

  1. 系统监控集成:把 AMMDS 的告警信息推送到监控系统,比如 Prometheus、Grafana 等。
  2. 工作流自动化:AMMDS 任务完成时,触发外部系统的后续操作,比如自动部署、数据同步等。
  3. 通知提醒:把重要事件推送到企业内部通讯工具,比如企业微信、钉钉、Slack 等。
  4. 数据备份:定期把 AMMDS 的关键数据通过 WebHook 推送到备份系统。

最佳实践

  1. 安全性:WebHook URL 用 HTTPS 协议,别明文传输。需要认证的接口,在请求头里加上认证信息。
  2. 可靠性:合理设置重试次数和间隔,确保通知能可靠送达。
  3. 性能:不要在 WebHook 处理逻辑里做耗时操作,保持响应快。
  4. 监控:监控 WebHook 的发送状态,及时发现和解决问题。
  5. 版本管理:修改 WebHook 配置时,注意向后兼容,别影响现有的集成。