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

创建警报配置

在此页面上

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

注意

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

基本 URL: https://cloud.mongodb.com/api/public/v 1.0

POST /groups/{PROJECT-ID}/alertConfigs

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

Parameter
类型
说明

PROJECT-ID

字符串

此项目的唯一标识符。

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

名称
类型
必要性
说明
默认

pretty

布尔

Optional

false

envelope

布尔

Optional

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

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

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

名称
说明

status

HTTP 响应代码

content

预期响应正文

false

注意

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

名称
类型
说明

enabled

布尔

如果省略,则禁用配置。

eventTypeName
Required

字符串

Atlas Triggers警报的事件类型。

值包括:

助手

自动化配置

备份

BI Connector

帐单

集群

已访问数据浏览器

磁盘备份

主机

组织

项目

副本集(Replica Set)

支持案例

团队

user

要查看生成警报的事件的完整列表及其描述,请参阅警报类型。

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" ,则为必填项。 如果令牌后来变得无效,Cloud 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" ,则为必填项。 如果令牌后来变得无效,Cloud Manager 会向项目所有者发送电子邮件,并最终删除令牌。

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

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

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

notifications.role

字符串

接收配置的警报的一个或多个项目角色。 接受的值包括:

API 中的角色价值
角色

GROUP_AUTOMATION_ADMIN

GROUP_BACKUP_ADMIN

GROUP_BILLING_ADMIN

项目计费管理员

GROUP_DATA_ACCESS_ADMIN

GROUP_DATA_ACCESS_READ_ONLY

GROUP_DATA_ACCESS_READ_WRITE

GROUP_MONITORING_ADMIN

GROUP_OWNER

GROUP_READ_ONLY

GROUP_USER_ADMIN

如果包含此字段,则 Cloud Manager 仅向分配有您在数组中指定的角色的用户发送警报。 如果省略此字段,Cloud Manager 会向分配了任何角色的用户发送警报。

可针对GROUP通知类型进行配置。

notifications.roomName

字符串

HipChat 房间名称。 如果"notifications.typeName" : "HIP_CHAT" ,则为必填项。

notifications.serviceKey

字符串

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

notifications.smsEnabled

布尔

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

  • "notifications.typeName" : "GROUP"

  • "notifications.typeName" : "USER"

notifications.teamId

字符串

团队的唯一标识符。

notifications.typeName

字符串

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

  • EMAIL

  • GROUP (项目)

  • HIPCHAT

  • ORG

  • PAGER_DUTY

  • SLACK

  • SMS

  • TEAM

  • USER

  • WEBHOOK

  • MICROSOFT_TEAMS

notifications.username

字符串

向其发送通知的 Cloud 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

字符串

Cloud Manager 在根据阈值检查当前指标值时应用的比较操作符。

metricThreshold
.threshold

数字

metricThreshold.metricName的值,超过该值时会Atlas Triggers警报。

metricThreshold
.units

字符串

定义metricThreshold.threshold范围的容量或时间单位。

通知

对象数组

Cloud Manager 在检测到警报条件时发送通知的一个或多个目标。

notifications.[n]
.apiToken

字符串

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

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

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

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

notifications.[n]
.channelName

字符串

Slack 渠道名称。如果您将notifications.[n].typeName设置为SLACK,Cloud Manager会返回此值。

notifications.[n]
.datadogApiKey

字符串

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

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

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

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

notifications.[n]
.delayMin

数字

检测到警报条件后发送第一个通知之前的等待分钟数。

notifications.[n]
.emailAddress

字符串

向其发送通知的电子邮件地址。 如果您将notifications.[n].typeName设置为EMAIL,Cloud Manager会返回此值。

notifications.[n]
.emailEnabled

布尔

指示必须发送电子邮件通知的标志。 如果将notifications.[n].typeName设置为ORGGROUPUSER ,Cloud Manager 会返回此值。

notifications.[n]
.intervalMin

数字

未解决的未确认警报的连续通知之间等待的分钟数。

notifications.[n]
.microsoftTeamsWebhookUrl

字符串

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

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

notifications.[n]
.mobileNumber

字符串

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

notifications.[n]
.notificationToken

字符串

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

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

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

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

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

notifications.[n]
.opsGenieApiKey

字符串

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

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

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

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

notifications.[n]
.opsGenieRegion

字符串

地区指示要使用的API URL。如果将notifications.[n].typeName设置为OPS_GENIE,Cloud Manager会返回此值。

notifications.[n]
.roles

字符串数组

当前项目或组织中的 Cloud Manager 角色。 如果您将notifications.[n].typeName设置为ORGGROUP,Cloud Manager会返回此值。

notifications.[n]
.roomName

字符串

HipChat 房间名称。 Cloud Manager 在"notifications.typeName" : "HIP_CHAT的情况下返回此值。

notifications.[n]
.serviceKey

字符串

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

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

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

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

notifications.[n]
.smsEnabled

布尔

指示必须发送文本通知的标志。 如果将notifications.[n].typeName设置为ORGGROUPUSER ,Cloud Manager 会返回此值。

notifications.[n]
.teamId

字符串

接收此通知的团队的唯一标识符。

notifications.[n]
.teamName

字符串

接收此通知的团队的标签。

notifications.[n]
.typeName

字符串

您希望 Cloud Manager 向您发送警报通知的方式。

notifications.[n]
.username

字符串

向其发送通知的 Cloud Manager 用户的名称。如果您将notifications.[n].typeName设置为USER,Cloud Manager会返回此值。

notifications.[n]
.victorOpsApiKey

字符串

VictorOps API密钥。

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

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

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

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

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

notifications.[n]
.victorOpsRoutingKey

字符串

VictorOps 路由键。

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

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

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

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

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

notifications.[n]
.webhookSecret

字符串

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

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

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

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

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

notifications.[n]
.webhookUrl

字符串

Atlas Triggers此通知的 Webhook 的URL

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

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

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

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

阈值

对象

Atlas Triggers警报的阈值。如果eventTypeNameOUTSIDE_METRIC_THRESHOLD以外的任何值,Cloud Manager 会返回此值。

threshold
.operator

字符串

Cloud Manager 在根据阈值检查当前指标值时应用的比较操作符。

threshold
.threshold

数字

超过该值时,Cloud Manager 会Atlas Triggers警报。

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 POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/alertConfigs" \
--data '
{
"groupId" : "{PROJECT-ID}",
"eventTypeName" : "RESYNC_REQUIRED",
"enabled" : true,
"notifications" : [ {
"typeName" : "GROUP",
"intervalMin" : 5,
"delayMin" : 0,
"smsEnabled" : false,
"emailEnabled" : true
} ]
}'
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:29:18Z",
"enabled" : true,
"groupId" : "{PROJECT-ID}",
"id" : "{ALERT-CONFIG-ID}",
"links" : [],
"matchers" : [ ],
"notifications" : [ {
"delayMin" : 0,
"emailEnabled" : true,
"intervalMin" : 5,
"smsEnabled" : false,
"typeName" : "GROUP"
} ],
"updated" : "2014-04-23T14:29:18Z"
}

后退

获取项目的全部内容