对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

与Ops Manager中的 Webhook 集成

您可以配置Ops Manager ,以将警报通知作为HTTP POST 请求发送到 Webhook 端点,以进行编程处理。 Webhook 允许您将Ops Manager警报与自定义监控系统、事件管理平台或自动化工作流程集成。

要将Ops Manager与 Webhook 集成,您必须拥有项目的Project Monitoring Admin访问权限。

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示该页,请从导航栏的 Projects(项目)菜单中选择所需的项目。

  3. 单击左侧导航面板中 Settings 标题下的 Integrations。

2
3

在 Webhook URL字段中,输入Ops Manager应向其发送警报通知的端点URL 。

4

在 Webhook Secret字段中,输入密钥。 Ops Manager使用此密钥生成 X-MMS-Signature 标头以进行请求验证。

5

要将警报发送到 Webhook,请配置警报通知。要学习;了解更多信息,请参阅在Ops Manager中配置警报设置。

Ops Manager在每个 Webhook请求中包含以下HTTP 头部:

Ops Manager 添加了一个名为X-MMS-Event的请求标头,以区分各种警报状态。此标头的可能值是:

alert.open

警报刚刚打开。

alert.close

警报已解决。

alert.update

先前打开的警报仍处于打开状态。

alert.acknowledge

警报已得到确认。

alert.cancel

警报无效并被取消。

alert.inform

表示信息警报,即时间点事件,例如“主节点当选”。

如果您在 Webhook Secret字段中指定键, MongoDB Ops Manager会添加 X-MMS-Signature请求标头。此标头包含请求正文的 base64-encoded HMAC -SHA-1 签名。 MongoDB Ops Manager使用提供的密钥创建签名。

请求正文包含一个JSON 文档,其格式与Ops Manager API警报资源相同。有效负载包括以下关键字段:

  • id: 警报的唯一标识符。

  • eventTypeName: 触发警报的事件类型。

  • created: 创建警报的时间戳。

  • status:警报的当前状态(示例、OPEN、CLOSED)。

  • humanReadable:人类可读的警报描述。

有关字段的完整列表,请参阅“获取一个警报”端点文档。

以下示例显示了指标阈值警报的示例Webhook 有效负载:

{
"id": "5d1b6f8e8c2e4e2d3c4a5b6c",
"groupId": "5d1b6f8e8c2e4e2d3c4a5b6d",
"eventTypeName": "OUTSIDE_METRIC_THRESHOLD",
"status": "OPEN",
"created": "2024-01-15T10:30:00Z",
"updated": "2024-01-15T10:30:00Z",
"lastNotified": "2024-01-15T10:30:00Z",
"humanReadable": "Disk space used on data partition is
95.2%.",
"metricName": "DISK_PARTITION_SPACE_USED_DATA",
"currentValue": {
"number": 95.2,
"units": "RAW"
}
}

您可以使用 FreeMarker 模板自定义请求标头和正文内容。有关 Webhook 模板的详细信息,包括可用的模板变量、正则表达式助手和示例,请参阅配置 Webhook 模板。

Webhook Secret字段存储一个密钥, Ops Manager仅使用该密钥生成用于验证请求的X-MMS-Signature 标头。 Ops Manager不会直接将密钥作为身份验证标头或不记名令牌发送。

如果您的 Webhook 终结点需要身份验证,则必须使用以下方法之一独立处理:

  • 查询参数:在 Webhook URL 中包含身份验证凭证作为查询参数。示例:https://example.com/webhook?token=your-auth-token

  • IP访问列表:配置 Webhook 端点以仅接受来自Ops Manager实例IP地址的请求。

  • 反向代理或API网关:使用反向代理或API网关在将请求转发到 Webhook 端点之前处理身份验证。

要验证 Webhook请求是否源自Ops Manager,请验证 X-MMS-Signature 标头:

1
2
3

如果它们匹配,则请求是真实的。

使用 Webhook 集成时,请考虑以下限制:

Webhook 有效负载不包括您在Ops Manager中配置的警报严重性级别。要检索配置的严重性,请使用 Webhook 有效负载中的 alertConfigId 对“获取一个警报配置”端点进行额外调用。

Ops Manager不提供手动触发测试警报的方法。要测试您的 Webhook 端点,您可以使用易于触发的条件临时设立警报,例如:

  • 测试部署的磁盘空间阈值较低。

  • 可以通过打开多个连接来 trigger 的连接计数阈值。

  • 测试副本集上的复制延迟阈值。

确认网络钩正确接收警报后,您可以删除测试警报配置。

由于Ops Manager是自托管的,因此请确保您的网络允许从Ops Manager服务器到 Webhook 端点的出站HTTP请求。如果您的 Webhook 端点位于防火墙后面,请将Ops Manager服务器的IP解决添加到端点的IP访问列表中。

如果您的 Webhook 未收到警报:

1
2
3

Ops Manager将其他状态代码视为故障。

4
5
给本页内容打分