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

为第三方服务集成创建配置

注意

注意:群组和项目是同义词。您的 {PROJECT-ID} 与您的项目 ID 相同。对于现有群组,群组/项目 ID 保持不变。当引用说明时,此页面将使用“群组”这个更为人熟知的术语。终结点仍如文档中所述。

基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0

POST /groups/{PROJECT-ID}/integrations/{INTEGRATION-TYPE}
Parameter
必要性
说明

{PROJECT-ID}

必需

项目标识符。

{INTEGRATION-TYPE}

必需

第三方服务标识符。 接受的值为:

  • DATADOG

  • HIP_CHAT

  • PAGER_DUTY

  • SLACK

  • NEW_RELIC

  • OPS_GENIE

  • VICTOR_OPS

  • WEBHOOK

名称
类型
必要性
说明
默认

pageNum

数字

Optional

从一开始的整数,用于返回结果的一部分。

1

itemsPerPage

数字

Optional

每页要返回的项目数,最多 500 个。

100

pretty

布尔

Optional

false

envelope

布尔

Optional

指示是否将响应包装在信封中的标志。

某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,在查询中设置 envelope : true。

对于返回结果列表的端点, content对象是一个信封。 Ops Manager 将status字段添加到响应正文。

false

请求正文应为单个集成视图(例如 JSON 配置对象),用于单个第三方服务以添加到项目。始终包含一个 type 属性,其值等于第三方服务 INTEGRATION_TYPE 。

配置 PagerDuty 集成时,必须提供以下字段:

属性
说明

type

PAGER_DUTY

serviceKey

您的集成密钥。

重要提示:更改集成密钥不会更改使用此集成的任何警报。 这些警报仍使用以前的集成密钥。 删除并重新添加每个 PagerDuty 通知以使用新密钥。

所有新的 PagerDuty 密钥均使用其Events API v2。如果您有 Events API v1 密钥,则可以继续将该密钥与MongoDB Ops Manager一起使用。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

重要

Slack 集成现在使用 OAuth2 验证方法,并必须通过 MongoDB Atlas 第三方服务集成页面进行初始配置或从旧版集成更新。旧版令牌即将不再受支持。

重新配置现有 Slack 集成时,必须提供以下字段:

属性
说明

type

SLACK

apiToken

您的 API 令牌。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

teamName

你的团队名称。

channelName

可选。要重新配置的渠道名称。

配置 Datadog 集成时,必须提供以下字段:

属性
说明

type

DATADOG

apiKey

您的 API 密钥。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

配置 HipChat 集成时,必须提供以下字段:

属性
说明

type

HIP_CHAT

notificationToken

HipChat 用户帐户的通知令牌。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

roomName

您的 HipChat 房间名称。

配置 Opsgenie 集成时,必须提供以下字段:

属性
说明

type

OPS_GENIE

apiKey

您的 API 密钥。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

region

指示使用哪个 API URL,可以是US或EU 。 默认情况下,Opsgenie 将使用US 。

要将 region 设置为 EU,必须设置 自定义设置 的 opsgenie.api.url。

配置 VictorOps 集成时,必须提供以下字段:

属性
说明

type

VICTOR_OPS

apiKey

您的 API 密钥。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

routingKey

可选。您的路由密钥。

配置 Webhook 设置时,必须提供以下字段:

属性
说明

type

WEBHOOK

url

您的 Webhook URL。

secret

可选。您的 Webhook 密钥。

创建 Webhook 通知后,当您查看或编辑警报时, URL将被部分编辑,并且密钥将被完全编辑。

oauth2Config

可选。MongoDB Ops Manager 用于获取 webhook 通知持有者访问令牌的 OAuth 2.0 客户端凭证。如果指定此字段,请同时设置 oauth2Config.tokenUrl、oauth2Config.clientId 和 oauth2Config.clientSecret。

oauth2Config.tokenUrl

MongoDB Ops Manager 调用以获取持有者访问令牌的令牌终结点。

oauth2Config.clientId

Ops Manager 在向 OAuth 2.0 令牌终结点进行身份验证时使用的客户端标识符。

oauth2Config.clientSecret

Ops Manager 在向 OAuth 2.0 令牌终结点进行身份验证时,与客户端 ID 一起使用的客户端密码。

配置 Microsoft Teams 集成时,必须提供以下字段:

属性
说明

type

MICROSOFT_TEAMS

microsoftTeamsWebhookUrl

您的 Microsoft 团队 传入 Webhook URL。

当您查看或编辑 Webhook 通知的警报时,URL 会显示为部分遮蔽,而密钥显示为完全遮蔽。

配置 Prometheus 集成时,必须提供以下字段:

属性
说明

type

PROMETHEUS

username

您的 Prometheus 用户名。

password

您的 Prometheus 密码。

listenAddress

Prometheus 实例将连接的 IP 地址和端口。

serviceDiscovery

指示使用哪种服务发现方法,为file或http 。

scheme

为请求配置的 Prometheus 协议模式,可以是http或https 。 如果配置https ,则必须指定tlsPemPath 。

enabled

您的集群是否启用了 Prometheus。

tlsPemPassword

可选。您的 PEM 文件的密码。

tlsPemPath

可选。您的 PEM 文件的绝对路径。

响应包括一个results数组(将项目的所有第三方集成配置列为对象)以及与项目集成的服务的totalCount 。

每个第三方集成配置对象都包含一个等于其自身集成类型的type属性(对于 PagerDuty 服务为"type": "PAGER_DUTY" )。 此外,每个第三方服务配置对象都提供特定于该服务的详细信息。 下面列出了为每个第三方服务配置对象返回的属性:

返回的 PagerDuty 集成配置对象包含以下字段:

属性
说明

type

PAGER_DUTY

serviceKey

您的服务密钥。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

返回的 Slack 集成配置对象包含以下字段:

属性
说明

type

SLACK

apiToken

您的 API 令牌。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

teamName

你的团队名称。 旧版 Slack 集成中可能不存在此字段。

channelName

配置的 Slack 渠道名称。如果未设置该值,则为空字符串。

返回的 Datadog 集成配置对象包含以下字段:

属性
说明

type

DATADOG

apiKey

您的 API 密钥。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

返回的 HipChat 集成配置对象包含以下字段:

属性
说明

type

HIP_CHAT

notificationToken

HipChat 用户帐户的通知令牌。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

roomName

您的 HipChat 房间名称。

返回的 Opsgenie 集成配置对象包含以下字段:

属性
说明

type

OPS_GENIE

apiKey

您的 API 密钥。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

region

指示要使用哪个 `API URL`,US 或 EU。Opsgenie 默认为 US。

要将 region 设置为 EU,必须设置 自定义设置 的 opsgenie.api.url。

返回的 VictorOps 集成配置对象包含以下字段:

属性
说明

type

VICTOR_OPS

apiKey

您的 API 密钥。

创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:

  • 通过用户界面查看或编辑警报。

  • 通过API查询第三方集成设置。

routingKey

有条件。仅在配置了路由密钥的情况下返回。

返回的 Webhook 配置对象包含以下字段:

属性
说明

type

WEBHOOK

url

您的 Webhook URL。

创建 Webhook 通知后,当您查看或编辑警报时, URL将被部分编辑,并且密钥将被完全编辑。

secret

有条件。仅当您的 Webhook 配置了密钥时才返回。

oauth2Config

Ops Manager 用于获取 Webhook 通知持有者访问令牌的 OAuth 2.0 客户端凭证。仅当您的 Webhook 配置了 OAuth 2.0 客户端凭证时才会返回。

oauth2Config.tokenUrl

MongoDB Ops Manager 调用以获取持有者访问令牌的令牌终结点。

oauth2Config.clientId

Ops Manager 在向 OAuth 2.0 令牌终结点进行身份验证时使用的客户端标识符。

oauth2Config.clientSecret

Ops Manager 在向 OAuth 2.0 令牌终结点进行身份验证时,与客户端 ID 一起使用的客户端密码。

返回的 Microsoft 团队 配置对象将包含以下字段:

属性
说明

type

MICROSOFT_TEAMS

microsoftTeamsWebhookUrl

您的 Microsoft 团队 传入 Webhook URL。

当您查看或编辑 Webhook 通知的警报时,URL 会显示为部分遮蔽,而密钥显示为完全遮蔽。

返回的 Prometheus 配置对象将包含以下字段:

属性
说明

type

PROMETHEUS

username

您的 Prometheus 用户名。

listenAddress

Prometheus 实例将连接的 IP 地址和端口。

serviceDiscovery

指示使用哪种服务发现方法,为file或http 。

scheme

为请求配置的 Prometheus 协议模式,可以是http或https 。 如果配置https ,则必须指定tlsPemPath 。

enabled

您的集群是否启用了 Prometheus。

tlsPemPassword

有条件。仅在您的 PEM 文件有密码的情况下返回。

tlsPemPath

有条件。仅在您有 PEM 文件的绝对路径时返回。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request POST "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/integrations/SLACK" \ --data ' { "type": "SLACK", "apiToken": "1234567890", "teamName": "My Team"
{ "links": [ { "href": "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/integrations/SLACK?pageNum=1&itemsPerPage=100", "rel": "self" } ], "results": [ { "serviceKey": "******7890", "type": "PAGER_DUTY" }, { "apiToken": "******7890", "channelName": "My Channel", "teamName": "My Team", "type": "SLACK" } ], "totalCount": 2}