Docs 菜单
Docs 主页
/
MongoDB Ops Manager
/ / / /

更新警报配置

在此页面上

  • Resource
  • 请求路径参数
  • 请求查询参数
  • 请求正文参数
  • 响应
  • 请求示例
  • 响应示例
  • 响应标头
  • 响应体

注意

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

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

PUT /groups/{PROJECT-ID}/alertConfigs/{ALERT-CONFIG-ID}

注意

要仅更新警报配置的启用/禁用状态,请参阅启用/禁用警报配置

所有请求路径参数均为必填项

Parameter
类型
说明
PROJECT-ID
字符串
此项目的唯一标识符。
ALERT-CONFIG-ID
字符串
此警报配置的唯一标识符。

以下查询参数为可选参数:

名称
类型
必要性
说明
默认
pretty
布尔
Optional
指示响应正文是否应采用 Prettyprint 的标志 格式。
false
envelope
布尔
Optional

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

某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true

对于返回一个结果的端点,响应体包括:

名称
说明
状态
HTTP 响应代码
envelope
预期响应正文
false

注意

警报配置各不相同。 警报配置可能仅包含这些元素的子集。

名称
类型
说明
enabled
布尔
如果省略,则禁用配置。
eventTypeName
Required.
字符串

Atlas Triggers警报的事件类型。

值包括:

助手

自动化配置

备份

BI Connector

集群

已访问数据浏览器

主机

组织

项目

副本集(Replica Set)

团队

user

要查看生成警报的事件的完整列表及其描述,请参阅警报类型。 有关 Ops Manager 审核日志中包含的事件的完整列表,请参阅Audit 事件。

matchers.fieldName
字符串

目标对象中要匹配的字段的名称。

  • 主机警报支持这些字段:

    • HOSTNAME

    • PORT

    • HOSTNAME_AND_PORT

    • REPLICA_SET_NAME

    • TYPE_NAME

  • 副本集警报支持这些字段:

    • REPLICA_SET_NAME

    • SHARD_NAME

    • CLUSTER_NAME

  • 分片集群警报支持以下字段:

    • CLUSTER_NAME

    • SHARD_NAME

所有其他类型的警报不支持匹配器。

matchers.operator
字符串

用于测试字段值的操作符。 接受的值为:

  • EQUALS

  • NOT_EQUALS

  • CONTAINS

  • NOT_CONTAINS

  • STARTS_WITH

  • ENDS_WITH

  • REGEX

matchers.value
字符串

要使用指定操作符进行测试的值。

如果将matchers.fieldName设置为TYPE_NAME ,则可以匹配以下值:

  • PRIMARY

  • SECONDARY

  • STANDALONE

  • CONFIG

  • MONGOS

matchers
对象数组

将对象与此警报配置进行匹配时要应用的规则。 只有符合所有这些规则的实体才会被检查是否存在警报条件。

仅当eventTypeName指定主机、副本集或分片集群的事件时,才能使用matchers数组进行筛选。

metricThreshold.metricName
字符串
要检查的指标名称。 支持与alerts资源的metricName字段相同的值。
metricThreshold.mode
字符串
设置为AVERAGE以计算该指标的平均值。
metricThreshold.operator
字符串

根据阈值检查当前指标值时要应用的操作符。 接受的值为:

  • GREATER_THAN

  • LESS_THAN

metricThreshold.threshold
数字
阈值,超出该阈值则会触发警报。
metricThreshold.units
字符串

阈值的单位。 取决于指标类型。

例子

测量内存消耗的指标将采用字节测量值,而测量时间的指标将采用时间单位。

接受的值为:

  • RAW

  • BITS

  • BYTES

  • KILOBITS

  • KILOBYTES

  • MEGABITS

  • MEGABYTES

  • GIGABITS

  • GIGABYTES

  • TERABYTES

  • PETABYTES

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

metricThreshold
对象
导致触发警报的阈值。 如果"eventTypeName" : "OUTSIDE_METRIC_THRESHOLD" ,则为必填项。
notifications.apiToken
字符串

Slack API 令牌或 Bot 令牌。 如果"notifications.typeName" : "SLACK" ,则为必填项。 如果令牌后来变得无效,Ops Manager 会向项目所有者发送电子邮件,并最终删除令牌。

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

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

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

notifications.channelName
字符串
Slack 通道名称。 如果"notifications.typeName" : "SLACK" ,则为必填项。
notifications.datadogApiKey
字符串

DataDog API 密钥。 可在 DataDog 仪表盘中找到。 如果"notifications.typeName" : "DATADOG" ,则为必填项。

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

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

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

notifications.delayMin
数字
检测到警报条件后发送第一个通知之前的等待分钟数。
notifications.emailAddress
字符串
向其发送通知的电子邮件地址。 如果"notifications.typeName" : "EMAIL" ,则为必填项。
notifications.emailEnabled
布尔

确定是否应发送电子邮件通知。 在以下情况下为必填项:

  • "notifications.typeName" : "GROUP"

  • "notifications.typeName" : "USER"

notifications.intervalMin
数字
未解决的未确认警报的连续通知之间等待的分钟数。
notifications.webhookSecret
字符串

用于向接受和转发通知的 Webhook 进行身份验证的值。 您只能在同时具备以下条件的请求中显式声明密钥:

  • notifications.typeNameWEBHOOK

  • 显式声明的 notifications.webhookURL

您只能在“集成”页面上或使用集成 API为默认webhookURL配置webhookSecret

要显式声明webhookURL而不声明webhookSecret ,请忽略此字段。

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

notifications.webhookUrl
字符串

Atlas Triggers此通知的 Webhook 的URL 。如果您没有显式声明webhookUrl ,您的请求将使用“集成”页面上或通过“集成”API设置的默认webhookUrl

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

notifications.microsoftTeamsWebhookUrl
字符串

Microsoft 团队 渠道传入的 Webhook URL。如果"notifications.typeName" : "MICROSOFT_TEAMS" ,则为必填项。

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

notifications.mobileNumber
字符串
要向其发送短信的手机号码。 如果"notifications.typeName" : "SMS" ,则为必填项。
notifications.notificationToken
字符串

HipChat API 令牌。 如果"notifications.typeName" : "HIP_CHAT" ,则为必填项。 如果令牌后来变得无效,Ops Manager 会向项目所有者发送电子邮件,并最终删除令牌。

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

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

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

notifications.role
字符串
当前项目中的 Ops Manager 角色。如果"notifications.typeName" : "GROUP" ,则为必填项。
notifications.roomName
字符串
HipChat 房间名称。 如果"notifications.typeName" : "HIP_CHAT" ,则为必填项。
notifications.serviceKey
字符串

PagerDuty 集成密钥。 如果"notifications.typeName" : "PAGER_DUTY" ,则为必填项。

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

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

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

notifications.smsEnabled
布尔

指示必须发送短信通知的标志。 在以下情况下为必填项:

  • "notifications.typeName" : "GROUP"

  • "notifications.typeName" : "USER"

notifications.teamId
字符串
团队的唯一标识符。
notifications.typeName
字符串

警报通知类型。 接受的值为:

  • DATADOG

  • EMAIL

  • GROUP (项目)

  • HIPCHAT

  • ORG

  • PAGER_DUTY

  • SLACK

  • SMS (必须配置Twilio 集成

  • USER

  • WEBHOOK

notifications.username
字符串
要向其发送通知的 Ops Manager 用户的名称。在项目中指定拥有警报配置的用户。 如果"notifications.typeName" : "USER" ,则为必填项。
notifications
Required
对象数组
检测到警报条件时发送的通知。
threshold.operator
字符串

根据阈值检查当前指标值时要应用的操作符。

  • GREATER_THAN

  • LESS_THAN

阈值.threshold
数字
阈值,超出该阈值则会触发警报。
阈值
对象

导致触发警报的阈值。 在以下情况下为必填项:

  • "eventTypeName" : "TOO_FEW_HEALTHY_MEMBERS"

  • "eventTypeName" : TOO_MANY_UNHEALTHY_MEMBERS

响应包括警报配置详细信息:

注意

警报配置各不相同。 警报配置可能仅包含这些元素的子集。

名称
类型
说明
已创建
字符串
ISO8601 格式的时间戳 创建此警报配置时的日期和时间格式( UTC 格式)。
enabled
布尔
指示此警报配置已启用的标志。
eventTypeName
字符串
触发警报的事件类型。
groupId
字符串
拥有此警报配置的项目的唯一标识符。
id
字符串
警报配置的唯一标识符。
链接
对象数组

指向子资源和/或相关资源的一个或多个链接。 URL 之间的关系类型在 Web 链接规范 中进行了解释

matchers
对象数组
将对象与此警报配置进行匹配时要应用的规则。
matchers
.[n].fieldName
字符串
您希望此配置匹配的目标对象中的字段名称。
matchers
.[n].operator
字符串
根据matcher.[n].value检查当前指标值时要应用的比较操作符。
matchers
.[n].value
字符串
使用matchers.[n].operator时要匹配或超过的值。
metricThreshold
对象
Atlas Triggers警报的值和比较方法。
metricThreshold
.metricName
字符串
要检查的指标名称。 支持与alerts资源的metricName字段相同的值。
metricThreshold
.mode
字符串
此指标的平均值。
metricThreshold
.operator
字符串
Ops Manager 在根据阈值检查当前指标值时应用的比较操作符。
metricThreshold
.threshold
数字
metricThreshold.metricName的值,超过该值时会Atlas Triggers警报。
metricThreshold
.units
字符串
定义metricThreshold.threshold范围的容量或时间单位。
通知
对象数组
Ops Manager 在检测到警报条件时发送通知的一个或多个目标。
notifications.[n]
.apiToken
字符串

Slack API 令牌令牌。 如果您将notifications.[n].typeName设置为SLACK ,Ops Manager 会返回此值。

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

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

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

notifications.[n]
.channelName
字符串
Slack 通道名称。 如果您将notifications.[n].typeName设置为SLACK ,Ops Manager 会返回此值。
notifications.[n]
.datadogApiKey
字符串

DataDog API 密钥。 如果您将notifications.[n].typeName设置为DATADOG ,Ops Manager 会返回此值。

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

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

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

notifications.[n]
.delayMin
数字
检测到警报条件后发送第一个通知之前的等待分钟数。
notifications.[n]
.emailAddress
字符串
向其发送通知的电子邮件地址。 如果您将notifications.[n].typeName设置为EMAIL ,Ops Manager 会返回此值。
notifications.[n]
.emailEnabled
布尔
指示必须发送电子邮件通知的标志。 如果您将notifications.[n].typeName设置为ORGGROUPUSER ,Ops Manager 会返回此值。
notifications.[n]
.intervalMin
数字
未解决的未确认警报的连续通知之间等待的分钟数。
notifications.[n]
.microsoftTeamsWebhookUrl
字符串

Microsoft 团队 渠道传入的 Webhook URL。如果您将notifications.[n].typeName设置为MICROSOFT_TEAMS ,Ops Manager 会返回此值。

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

notifications.[n]
.mobileNumber
字符串
向其发送警报通知的手机号码。 如果您将notifications.[n].typeName设置为SMS,Ops Manager会返回此值。
notifications.[n]
.notificationToken
字符串

HipChat API 令牌。 如果您将notifications.[n].typeName设置为HIP_CHAT ,Ops Manager 会返回此值。

如果令牌后来变得无效,MongoDB Atlas 会向Project Owner发送电子邮件,并最终删除令牌。

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

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

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

notifications.[n]
.opsGenieApiKey
字符串

OpsGenie 警报 API 键。如果将 notifications.[n].typeName 设置为 OPS_GENIE, MongoDB Ops Manager将返回此值。

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

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

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

notifications.[n]
.opsGenieRegion
字符串
地区指示要使用的API URL。如果您将notifications.[n].typeName设置为OPS_GENIE,Ops Manager会返回此值。
notifications.[n]
.roles
字符串数组
当前项目或组织中的 Ops Manager 角色。 如果您将notifications.[n].typeName设置为ORGGROUP ,Ops Manager 会返回此值。
notifications.[n]
.roomName
字符串
HipChat 房间名称。 如果"notifications.typeName" : "HIP_CHAT ,Ops Manager 返回此值。
notifications.[n]
.serviceKey
字符串

PagerDuty 服务密钥。 如果您将notifications.[n].typeName设置为PAGER_DUTY ,Ops Manager 会返回此值。

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

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

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

notifications.[n]
.smsEnabled
布尔
指示必须发送文本通知的标志。 如果您将notifications.[n].typeName设置为ORGGROUPUSER ,Ops Manager 会返回此值。
notifications.[n]
.teamId
字符串
接收此通知的团队的唯一标识符。
notifications.[n]
.teamName
字符串
接收此通知的团队的标签。
notifications.[n]
.typeName
字符串
您希望 Ops Manager 向您发送警报通知的方式。
notifications.[n]
.username
字符串
要向其发送通知的 Ops Manager 用户的名称。如果您将notifications.[n].typeName设置为USER ,Ops Manager 会返回此值。
notifications.[n]
.victorOpsApiKey
字符串

VictorOps API密钥。

如果密钥后来变得无效,MongoDB Atlas 会向Project Owner发送电子邮件并最终删除密钥。

如果您将notifications.[n].typeName设置为VICTOR_OPS,Ops Manager会返回此值。

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

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

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

notifications.[n]
.victorOpsRoutingKey
字符串

VictorOps 路由键。

如果密钥后来变得无效,MongoDB Atlas 会向Project Owner发送电子邮件并最终删除密钥。

如果您将notifications.[n].typeName设置为VICTOR_OPS,Ops Manager会返回此值。

notifications.[n]
.webhookSecret
字符串

用于向接受和转发通知的 Webhook 进行身份验证的值。

如果您将notifications.[n].typeName设置为WEBHOOK并且满足以下任一条件,则 Ops Manager 会返回此值:

  • 您将notification.[n].webhookSecret设置为非空字符串

  • 您可以在“集成”页面上设置默认webhookSecret ,或者使用集成 API

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

notifications.[n]
.webhookUrl
字符串

Atlas Triggers此通知的 Webhook 的URL

如果您将notifications.[n].typeName设置为WEBHOOK并且满足以下任一条件,则 Ops Manager 会返回此值:

  • 您将notification.[n].webhookURL设置为非空字符串

  • 您可以在“集成”页面上设置默认webhookUrl ,或者使用集成 API

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

阈值
对象
Atlas Triggers警报的阈值。如果eventTypeNameOUTSIDE_METRIC_THRESHOLD以外的任何值,则 Ops Manager 返回此值。
threshold
.operator
字符串
Ops Manager 在根据阈值检查当前指标值时应用的比较操作符。
threshold
.threshold
数字
超过该值时,Ops Manager 会触发警报。
threshold
.units
字符串
定义threshold.threshold范围的容量或时间单位。
typeName
字符串
此字段已弃用并被忽略。
Updated
字符串
ISO8601 格式的时间戳 上次更新此警报配置时的日期和时间格式( UTC 格式)。
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--include \
--request PUT "https://<ops-manager-host>/api/public/v1.0/groups/{PROJECT-ID}/alertConfigs/{ALERT-CONFIG-ID}" \
--data '
{
"eventTypeName" : "RESYNC_REQUIRED",
"enabled" : true,
"matchers" : [ {
"fieldName" : "REPLICA_SET_NAME",
"operator" : "EQUALS",
"value" : "rs1"
} ],
"notifications" : [ {
"typeName" : "EMAIL",
"emailAddress" : "sos@example.com",
"intervalMin" : 60,
"delayMin" : 5
}, {
"typeName" : "GROUP",
"intervalMin" : 120,
"delayMin" : 60,
"smsEnabled" : true,
"emailEnabled" : false
} ]
}'
HTTP/1.1 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
HTTP/1.1 200 OK
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}
{
"created" : "2014-04-23T14:52:29Z",
"enabled" : false,
"groupId" : "{PROJECT-ID}",
"id" : "{ALERT-CONFIG-ID}",
"links" : [],
"matchers" : [ {
"fieldName" : "REPLICA_SET_NAME",
"operator" : "EQUALS",
"value" : "rs1"
} ],
"notifications" : [ {
"delayMin" : 5,
"emailAddress" : "sos@example.com",
"intervalMin" : 60,
"typeName" : "EMAIL"
}, {
"delayMin" : 60,
"emailEnabled" : false,
"intervalMin" : 120,
"smsEnabled" : true,
"typeName" : "GROUP"
} ],
"updated" : "2014-04-23T14:56:25Z"
}

后退

获取警报配置