创建一个全局警报配置
创建一个全局警报配置。
所需角色
您可以使用以下任何分配的角色成功调用此端点:
请求
基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
POST /globalAlertConfigs
请求路径参数
此端点不使用 HTTP 请求正文参数。
请求查询参数
名称 | 类型 | 必要性 | 说明 | 默认 | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | 布尔 | Optional | 指示响应正文是否应采用 Prettyprint 的标志 格式。 | false | ||||||
envelope | 布尔 | Optional | 指示是否将响应包装在信封中的标志。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true。 对于返回一个结果的端点,响应体包括:
| false |
请求正文参数
正文参数 | 类型 | 必要性 | 说明 |
---|---|---|---|
enabled | 布尔 | Optional | 用于指定是否启用警报配置的开关。 |
eventTypeName | 字符串 | 必需 | |
forAllGroups | 布尔 | 必需 | 用于指定全局警报配置是否应用于所有组的开关。 还会影响是否可以使用 如果为 如果为 |
groupIds | 字符串数组 | Optional | 此警报配置适用的群组的 ID。 此字段仅在 forAllGroups 设置为false 时适用。 |
matchers | 对象数组 | 可选的 | 将对象与此全局警报配置进行匹配时要应用的规则。 MongoDB Ops Manager仅检查符合所有这些警报条件规则的实体。 仅当 |
matchers .fieldName | 字符串 | 可选的 | 目标对象中要匹配的字段的名称。
所有其他类型的警报不支持匹配器。 |
matchers .operator | 字符串 | 可选的 | 用于测试字段值的操作符。 接受的值为:
|
matchers .value | 字符串 | 可选的 | 要使用指定操作符进行测试的值。 如果将
|
metricThreshold | 对象 | 可选的 | 导致此警报配置trigger警报的阈值。 仅当 eventTypeName 设置为OUTSIDE_METRIC_THRESHOLD 时才需要。 |
metricThreshold .metricName | 字符串 | 可选的 | |
metricThreshold .mode | 字符串 | 可选的 | 此项设置为 AVERAGE ,并将当前指标值计算为平均值。 |
metricThreshold .operator | 字符串 | 可选的 | 根据
|
metricThreshold .threshold | 数字 | 可选的 | 阈值,超出此警报配置Atlas Triggers警报。 |
metricThreshold .units | 字符串 | 可选的 |
接受的值为:
示例,测量内存消耗的指标可以使用 |
notifications | 对象数组 | 必需 | MongoDB Ops Manager在检测到此警报配置描述的警报时发送的通知。 |
notifications .apiToken | 字符串 | 可选的 | Slack API 令牌或 Bot 令牌。 仅接受 SLACK 通知。 如果令牌后来变得无效, MongoDB Ops Manager会向项目所有者发送电子邮件并删除令牌。 |
notifications .channelName | 字符串 | 可选的 | Slack 通道名称。 仅接受 SLACK 通知。 |
notifications .delayMin | 数字 | 可选的 | 检测到警报条件后MongoDB Ops Manager发出第一个通知之前的等待分钟数。 |
notifications .emailAddress | 可选的 | Optional | 向其发送通知的电子邮件地址。 仅接受 EMAIL 通知。 |
notifications .emailEnabled | 布尔 | 可选的 | 指定MongoDB Ops Manager是否发送电子邮件通知。 仅接受 GROUP 和USER 通知。 |
notifications .intervalMin | 数字 | 可选的 | 此警报配置Atlas Triggers的未确认、未解决的警报的连续通知之间的等待分钟数。 |
notifications .webhookSecret | 字符串 | 可选的 | 用于向接受和转发通知的 Webhook 进行身份验证的值。 您只能在同时具备以下条件的请求中显式声明密钥:
您只能使用管理控制台将 要显式声明 |
notifications .webhookUrl | 字符串 | Optional | |
notifications .microsoftTeamsWebhookUrl | 字符串 | 可选的 | Microsoft Teams 通道传入的 Webhook URL。 仅接受 MICROSOFT_TEAMS 通知。 |
notifications .notificationToken | 字符串 | 可选的 | HipChat API 令牌。 仅接受 HIP_CHAT 通知。 如果令牌后来变得无效, MongoDB Ops Manager会向项目所有者发送电子邮件并删除令牌。 |
notifications .roomName | 字符串 | 可选的 | HipChat 房间名称。 仅接受 HIP_CHAT 通知。 |
notifications .serviceKey | 字符串 | 可选的 | PagerDuty 集成密钥。 仅接受 PagerDuty Decommissioned 他们在 110 月的 REST API v2018 密钥。如果您有 av1 密钥,则可以继续在MongoDB Ops Manager中使用该密钥。 所有新的 PagerDuty 密钥均使用其REST API v2 ,但MongoDB Ops Manager 不支持其 v2 密钥。如果您没有 REST API v1 密钥,请使用 PagerDuty Events API v1 相反。 |
notifications .smsEnabled | 布尔 | 可选的 | 指定MongoDB Ops Manager是否发送短信通知。 仅接受 GROUP 和USER 通知。 |
notifications .snmpAddress | 字符串 | 可选的 | 要向其发送 SNMP 陷阱的主机名和端口。 此时, MongoDB Ops Manager只能向标准 SNMP 端口 (162) 发送 SNMP 陷阱。 仅接受 重要MongoDB Ops Manager 6.0.0 弃用SNMP警报。 MongoDB Ops Manager 7.0.0 将不包含SNMP警报。 要学习;了解有关其他警报选项的更多信息,请参阅第三方服务集成。 注意MongoDB Ops Manager使用 SNMP v2c。 |
notifications .typeName | 字符串 | 必需 | |
notifications .username | 字符串 | 可选的 | 要向其发送通知的MongoDB Ops Manager用户的名称。 仅针对 USER 通知出现。 |
threshold | 对象 | 可选的 | 导致此警报配置trigger警报的阈值。 仅当
|
threshold .operator | 字符串 | 可选的 | 根据
|
threshold .threshold | 数字 | 可选的 | 阈值,超出此警报配置Atlas Triggers警报。 |
tags | 字符串数组 | Optional | 与此警报配置关联的标签。 |
typeName | 字符串 | Optional | 此字段已弃用,将被忽略。 |
响应
名称 | 类型 | 说明 |
---|---|---|
created | 字符串 | ISO8601 格式的时间戳 创建警报配置时的日期和时间格式( UTC 格式)。 |
enabled | 布尔 | 用于指定是否启用警报配置的开关。 |
eventTypeName | 字符串 | |
forAllGroups | 布尔 | 用于指定全局警报配置是否应用于所有组的开关。 还会影响是否可以使用 如果为 如果为 |
groupIds | 字符串数组 | 此警报配置适用的群组的 ID。 此字段仅在 forAllGroups 设置为false 时适用。 |
id | 字符串 | 警报配置的唯一标识符。 |
matchers | 对象数组 | 将对象与此全局警报配置进行匹配时要应用的规则。 MongoDB Ops Manager仅检查符合所有这些警报条件规则的实体。 仅当 |
matchers.fieldName | 字符串 | 目标对象中要匹配的字段的名称。
所有其他类型的警报不支持匹配器。 |
matchers.operator | 字符串 | 用于测试字段值的操作符。 可能的值为:
|
matchers.value | 字符串 | 要使用指定操作符进行测试的值。 如果将
|
metricThreshold | 对象 | 导致此警报配置trigger警报的阈值。 仅当 eventTypeName 设置为OUTSIDE_METRIC_THRESHOLD 时才出现。 |
metricThreshold.metricName | 字符串 | |
metricThreshold.mode | 字符串 | 此项设置为 AVERAGE ,并将当前指标值计算为平均值。 |
metricThreshold.operator | 字符串 | 根据
|
metricThreshold.threshold | 数字 | 阈值,超出此警报配置Atlas Triggers警报。 |
metricThreshold.units | 字符串 |
接受的值为:
示例,测量内存消耗的指标可以使用 |
notifications | 对象数组 | MongoDB Ops Manager在检测到此警报配置描述的警报时发送的通知。 |
notifications.apiToken | 字符串 | Slack API 令牌或 Bot 令牌。 仅针对 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
notifications.channelName | 字符串 | Slack 通道名称。 仅针对 SLACK 通知出现。 |
notifications.delayMin | 数字 | 检测到警报条件后MongoDB Ops Manager发出第一个通知之前的等待分钟数。 |
notifications.emailAddress | 字符串 | 向其发送通知的电子邮件地址。 仅针对 EMAIL 通知出现。 |
notifications.emailEnabled | 布尔 | 指定MongoDB Ops Manager是否发送电子邮件通知。 仅针对 GROUP 和USER 通知出现。 |
notifications.intervalMin | 数字 | 此警报配置Atlas Triggers的未确认、未解决的警报的连续通知之间的等待分钟数。 |
notifications.[n] .webhookSecret | 字符串 | 用于向接受和转发通知的 Webhook 进行身份验证的值。 如果您将
创建 Webhook 通知后,当您查看或编辑警报时, URL将被部分编辑,并且密钥将被完全编辑。 |
notifications.[n] .webhookUrl | 字符串 | Atlas Triggers此通知的 Webhook 的URL 。 如果您将
创建 Webhook 通知后,当您查看或编辑警报时, URL将被部分编辑,并且密钥将被完全编辑。 |
notifications.microsoftTeamsWebhookUrl | 字符串 | Microsoft Teams 通道传入的 Webhook URL。 仅针对 当您查看或编辑 Webhook 通知的警报时,URL 会显示为部分遮蔽,而密钥显示为完全遮蔽。 |
notifications.notificationToken | 字符串 | HipChat API 令牌。 仅针对 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
notifications.roomName | 字符串 | HipChat 房间名称。 仅针对 HIP_CHAT 通知出现。 |
notifications.serviceKey | 字符串 | PagerDuty 集成密钥。 仅针对 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
notifications.smsEnabled | 布尔 | 指定MongoDB Ops Manager是否发送短信通知。 仅针对 GROUP 和USER 通知出现。 |
notifications.snmpAddress | 字符串 | 要向其发送 SNMP 陷阱的主机名和端口。 此时, MongoDB Ops Manager只能向标准 SNMP 端口 (162) 发送 SNMP 陷阱。 仅针对 重要MongoDB Ops Manager 6.0.0 弃用SNMP警报。 MongoDB Ops Manager 7.0.0 将不包含SNMP警报。 要学习;了解有关其他警报选项的更多信息,请参阅第三方服务集成。 注意MongoDB Ops Manager使用 SNMP v2c。 |
notifications.typeName | 字符串 | |
notifications.username | 字符串 | 要向其发送通知的MongoDB Ops Manager用户的名称。 仅针对 USER 通知出现。 |
threshold | 对象 | 导致此警报配置trigger警报的阈值。 仅当
|
threshold.operator | 字符串 | 根据
|
threshold.threshold | 数字 | 阈值,超出此警报配置Atlas Triggers警报。 |
tags | 字符串数组 | 与此警报配置关联的标签。 |
typeName | 字符串 | 此字段已弃用,将被忽略。 |
updated | 字符串 | ISO8601 格式的时间戳 上次更新此警报配置时的日期和时间格式( UTC 格式)。 |
请求示例
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --include \ 5 --request POST "https://<OpsManagerHost>:<Port>/api/public/v1.0/globalAlertConfigs \ 6 --data '{ 7 "enabled": true, 8 "eventTypeName": "BACKUP_AGENT_DOWN", 9 "forAllGroups": true, 10 "groupIds": [], 11 "matchers": [], 12 "notifications": [ 13 { 14 "delayMin": 0, 15 "intervalMin": 60, 16 "typeName": "ADMIN" 17 } 18 ], 19 "tags": [], 20 "typeName": "AGENT" 21 }
响应示例
响应标头
401 Unauthorized Content-Type: application/json;charset=ISO-8859-1 Date: {dateInUnixFormat} WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false Content-Length: {requestLengthInBytes} Connection: keep-alive
201 Created Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
响应体
1 { 2 "created": "2019-10-02T12:34:04Z", 3 "enabled": true, 4 "eventTypeName": "BACKUP_AGENT_DOWN", 5 "forAllGroups": true, 6 "groupIds": [], 7 "id": "{GLOBAL-ALERT-CONFIG-ID}", 8 "links": [ 9 ], 10 "matchers": [], 11 "notifications": [ 12 { 13 "delayMin": 0, 14 "intervalMin": 60, 15 "typeName": "ADMIN" 16 } 17 ], 18 "tags": [], 19 "typeName": "AGENT", 20 "updated": "2019-10-02T12:34:04Z" 21 }