跳到主要内容
版本:最新

WebHook

WebHook插件为AMMDS平台提供了向指定WebHook URL发送推送通知的能力,使用户能够实时接收系统事件通知。通过WebHook,用户可以将AMMDS平台的各类事件(如任务完成、系统告警、状态变更等)实时推送到外部系统,实现与第三方服务的集成。

插件配置

插件配置

插件配置项

  • 启用状态:控制是否启用WebHook插件。禁用后,所有WebHook服务将停止发送通知。
  • 重试次数:设置通知发送失败后的重试次数。当WebHook请求失败时,系统将按照设置的次数自动重试。
  • 重试间隔:设置每次重试之间的时间间隔(单位:秒)。合理设置重试间隔可以避免对目标服务器造成过大压力。

WebHook 服务配置

WebHook 服务配置

插件支持同时配置多个WebHook服务,每个服务可独立设置URL和通知内容格式。用户可以根据不同的通知场景创建多个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配置时,注意向后兼容,避免影响现有集成。