本文档介绍了如何创建和管理闹钟提醒。延后会导致 Cloud Monitoring 创建突发事件并发出通知 特定时间段内的数据每个延迟时间都指定了其适用的资源。
如需查看概念性概览,请参阅推迟通知和突发事件。
如需创建和管理暂停时间,您可以使用 Google Cloud 控制台或 Cloud Monitoring API。
准备工作
确保您拥有所需的权限:
-
如需获取使用 Google Cloud 控制台查看和修改暂停所需的权限, 请让管理员授予您 项目的 Monitoring Editor (
roles/monitoring.editor
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
-
如需获得使用 Cloud Monitoring API 查看和修改暂停时间所需的权限,请让您的管理员向您授予项目的 Monitoring Snooze Editor (
roles/monitoring.snoozeEditor
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需详细了解 Cloud Monitoring 角色,请参阅使用 Identity and Access Management 控制访问权限。
-
如果您要使用本文档中的 Cloud Monitoring API 示例, 执行以下操作:
创建一个环境变量
PROJECT_ID
来存储 Google Cloud 项目的 ID:PROJECT_ID=PROJECT_ID
向 Google Cloud CLI 进行身份验证:
gcloud auth login
设置默认 Google Cloud 项目:
gcloud config set project ${PROJECT_ID}
创建授权令牌:
ACCESS_TOKEN=`gcloud auth print-access-token`
您必须定期刷新访问令牌。如果原来正常工作的命令突然报告您未通过身份验证,请重新发布该命令。
创建延后
如需阻止提醒政策创建突发事件并发送通知,请创建延迟时间。
您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud Monitoring API 创建延迟通知。
控制台
-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 如需根据未解决的突发事件创建提醒,请执行以下操作:
- 在“提醒”页面的突发事件窗格中,找到您的突发事件 然后点击突发事件摘要。
- 在突发事件详情页面上,点击延后,然后选择 延后持续时间。您无法配置任何其他字段。
否则,请执行以下操作:
- 在提醒页面上,点击创建延后。
- 为延后输入描述性名称。此名称会显示在 提醒页面。
- 选择开始时间。您可以输入具体时间,也可以在创建闹钟时立即开始闹钟。
- 输入时长。此字段的值决定了闹钟的闹钟暂停时长。
填写延后条件部分。您可以使用 提醒政策菜单,选择要将哪个提醒政策 延后生效。
您最多可以向一项延迟提醒添加 16 项提醒政策。
填写延后条件部分后,创建延后窗格会列出符合条件的过往突发事件。
点击创建。
Cloud Monitoring API
如需创建延后,请调用 snoozes.create
方法是向 Snooze
端点发出 POST
请求。
您必须提供 snooze
对象:
curl -d @my-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \ -H 'Content-Type: application/json' \ -X POST https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes
该方法会返回 snooze
对象。返回的对象与 my-snooze.json
内容之间的唯一区别在于 "name"
字段,其中包含由“监控”功能生成的暂停 ID:
{
"name": "projects/my-project/snoozes/2986666341878464512",
"criteria": {
"policies": [
"projects/my-project/alertPolicies/787884840895011889"
]
},
"interval": {
"startTime": "2022-11-12T19:00:20Z",
"endTime": "2022-11-12T19:05:20Z"
},
"displayName": "Snooze2"
}
gcloud CLI
如需创建延迟提醒,请运行 gcloud monitoring snoozes create
命令:
gcloud monitoring snoozes create --criteria-policies=LIST_OF_POLICIES --display-name=DISPLAY_NAME --start-time=START_TIME --end-time=END_TIME
在上一个命令中,end-time
必须比 start-time
晚至少一分钟。您必须遵循 ISO 8601 格式规则;不过,
您可以指定绝对时间或相对时间。以下示例指定了
绝对时间。如需从当前时间开始推迟 30 分钟,请使用 --start-time="+PTM30M"
。
如果您指定多个项目,请用英文逗号分隔这些项目。
例如,以下命令会创建一个显示名称为“Maintenance Week”(维护周)的延迟提醒。延后会应用于两项提醒政策, 从 3 月 1 日至 3 月 7 日的时间间隔:
gcloud monitoring snoozes create --display-name="Maintenance Week" \ --criteria-policies="projects/my-project/alertPolicies/12345,projects/my-project/alertPolicies/23451" \ --start-time="2023-03-01T03:00:00.0-0500" \ --end-time="2023-03-07T23:59:59.5-0500"
上例会在 my-project
中创建以下闹钟:
{ "name": "projects/my-project/snoozes/98765", "displayName": "Maintenance Week", "interval": { "startTime": "2023-03-01T08:00:00Z", "endTime": "2023-03-08T04:59:59Z" }, "criteria": { "policies": [ "projects/my-project/alertPolicies/12345", "projects/my-project/alertPolicies/23451", ] } }
如果成功,则此命令的响应类似于以下内容:
Created snooze [projects/my-project/snoozes/98765]
提醒政策的名称不会显示在 Google Cloud 控制台中。如需确定提醒政策的名称,请执行以下操作之一:
- 运行
gcloud alpha monitoring policies list
命令。此命令的响应数据包含提醒政策的名称。 - 查看提醒政策的 JSON 表示法。您可以下载 使用 政策详情页面。
创建周期性延后
如需创建按重复间隔发生的暂停时间,您可以编写一个脚本,用于为提醒政策创建暂停时间。然后使用如下作业调度器:
cron
或 Cloud Scheduler,以在您的必需资源上运行脚本
时间表。
列出暂停
创建延后后,系统会将相应延后添加到延后的历史记录中 此记录会显示已过期、有效和即将到期的闹钟提醒。您无法从此记录中移除条目,也就是说,您无法删除此记录 暂停。不过,你可以在此视图中显示延后的详细信息 还可以执行修改或复制延后等操作
控制台
如需查看已暂停的闹钟列表,请执行以下操作:
-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
点击延后窗格中的查看所有延后。
延后页面会显示延后列表和时间轴, 以图形方式显示过去、即将到来和正在进行的延后。
- 如需修改、复制、取消或结束延迟提醒,请使用相应延迟提醒的 more_vert更多选项菜单。延后状态决定可用的选项。
- 如需列出所有延后,请启用显示过去的延后。默认情况下,系统只会列出当前有效的和即将到期的延迟提醒。
- 如需更改时间轴表的显示时间段,请使用时间范围菜单。默认情况下,该表格会显示下一个小时的数据; 不过,您可以修改此字段,指定过去或未来的时间范围。 已过期的暂停时间会保留 13 个月。
- 如要查看特定延后的详细信息,请点击查看详细信息。
- 要查看有效延后的摘要,请将指针放在 时间轴表格中有效行的阴影区域。提示会显示摘要信息。
- 如需查看活跃延后的图示,请执行以下操作: 展开时间轴表格中的有效行。
Cloud Monitoring API
如需列出属于 Google Cloud 项目的所有延迟通知,请调用 snoozes.list
方法:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes
该方法会返回 snooze
对象的列表。例如:
当项目有一个延后,对 snoozes.list
命令的响应
与以下代码类似:
{
"snoozes": [
{
"name": "projects/my-project/snoozes/2986663705844383744",
"criteria": {
"policies": [
"projects/my-project/alertPolicies/787884840895011889"
]
},
"interval": {
"startTime": "2022-11-08T19:00:20Z",
"endTime": "2022-11-08T19:05:20Z"
},
"displayName": "Snooze1"
}
]
}
要获取有关特定延后的信息,请调用
snoozes.get
方法
并指定项目 ID 和延后 ID。在上一个响应中,提醒 ID 为 2986663705844383744
:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}
该方法会返回单个 snooze
对象:
{
"name": "projects/my-project/snoozes/2986663705844383744",
"criteria": {
"policies": [
"projects/my-project/alertPolicies/787884840895011889"
]
},
"interval": {
"startTime": "2022-11-08T19:00:20Z",
"endTime": "2022-11-08T19:05:20Z"
},
"displayName": "Snooze1"
}
gcloud CLI
如需列出当前项目中的延后,请运行以下命令:
gcloud monitoring snoozes list
命令:
gcloud monitoring snoozes list OPTIONAL_FLAGS
如需了解可选标志,请参阅
gcloud monitoring snoozes list
参考页面。
此命令的响应是一个列表,其中包含项目中延后的名称,
格式为 YAML例如,对于 ID 为 my-project
的 Google Cloud 项目,此命令的响应是一条条目:
criteria: policies: - projects/my-project/alertPolicies/12345 - projects/my-project/alertPolicies/23451 displayName: Maintenance Week interval: endTime: '2023-03-08T04:59:59Z' startTime: '2023-03-01T08:00:00Z' name: projects/my-project/snoozes/98765
要列出特定延后的详细信息,请运行
gcloud monitoring snoozes describe
命令:
gcloud monitoring snoozes describe NAME
例如,要显示有关名称的延后的详细信息
projects/my-project/snoozes/98765
,请运行以下命令:
gcloud monitoring snoozes describe projects/my-project/snoozes/98765
如果您为 describe
命令提供的 NAME 无效,则
响应包含错误代码 500
和以下消息:
Internal error encountered. Please retry after a few seconds. If internal errors persist, contact support at https://cloud.google.com/support/docs.
修改延后时间
您可以修改即将进行的延后的名称和时间段,也可以修改 有效延后的名称和结束时间。例如,重新安排维护窗口时,您可能需要修改推迟时间。
您无法修改过去的延后或任何延后的条件。不过,如果您想将过去的延迟时间重新安排到未来某个时间段,请先复制该延迟时间,然后对副本进行更改,最后再选择创建。
控制台
如需修改闹钟的暂停时间,请执行以下操作:
-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 点击延后窗格中的查看所有延后。
- 在“推迟”列表中,找到要修改的推迟,然后在 more_vert 更多选项菜单中选择修改推迟。
- 完成更改后,点击保存。
Cloud Monitoring API
如需修改现有暂停时间,请向 Snooze
端点发出 PATCH
请求,以调用 snoozes.patch
方法。您必须提供修改后的 snooze
对象,并包含
查询参数,用于标识要修改的字段。使用 curl 时
查询参数必须经过网址编码。
对于即将推迟的提醒,您可以修改名称和时长。运动 您可以修改其名称和结束时间。您无法修改 过去的延后。
如需更新推迟的 displayName
,请创建一个 JSON 文件 my-updated-snooze.json
,用于描述推迟对象并更新显示名称。然后运行以下命令:
curl -d @my-updated-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \ -H 'Content-Type: application/json' \ -X PATCH https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}?updateMask=displayName
该方法会返回一个 snooze
对象,该对象与文件 my-updated-snooze.json
的内容相同:
{
"name": "projects/my-project/snoozes/2986665388391530496",
"criteria": {
"policies": [
"projects/my-project/alertPolicies/7164333552684403347"
]
},
"interval": {
"startTime": "2022-11-08T22:26:05Z",
"endTime": "2022-11-08T22:31:05Z"
},
"displayName": "Updated snooze name"
}
gcloud CLI
如需修改暂停时间,请运行 gcloud monitoring snoozes update
命令。您可以更新显示名称、开始时间和结束时间:
gcloud monitoring snoozes update NAME OPTIONAL_FLAGS
如需查看 update
命令的选项列表,请参阅
gcloud monitoring snoozes update
参考页面。
例如,更改名称为
projects/my-project/snoozes/98765
,请运行以下命令:
gcloud monitoring snoozes update projects/my-project/snoozes/98765 --display-name="March Maintenance"
结束或取消延后
如果您想接收有关符合条件的资源的通知 然后结束此延后。例如,当计划的维护工作比预期更快完成时,您可能需要结束延迟。
如果您不想再使用即将到期的延迟提醒,请取消延迟提醒。 取消操作会将时长设置为零,并导致闹钟延迟转换为过去状态。
控制台
如需结束正在进行的暂停或取消即将暂停的闹钟,请执行以下操作:
-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 点击延后窗格中的查看所有延后。
在“延迟提醒”列表中,找到要结束或取消的延迟提醒,然后执行以下操作之一:
- 如需结束正在进行的延迟提醒,请在 more_vert 更多选项菜单中选择立即结束。
- 要取消即将开始的延后,请选择取消延后 more_vert 更多选项菜单。
Cloud Monitoring API
如需结束正在使用的暂停模式,请修改暂停模式,并将结束时间设为当前时间。如需了解详情,请参阅修改暂停时间。
要取消即将开始的延后,请修改延后提醒,并将结束时间设置为 延后开始时间。开始时间必须是将来的时间。 如需了解详情,请参阅修改延后。
gcloud CLI
要结束正在进行的延后或取消即将进行的延后,请运行
gcloud monitoring snoozes cancel
命令:
gcloud monitoring snoozes cancel NAME
例如,要取消名称为
projects/my-project/snoozes/98765
,请运行以下命令:
gcloud monitoring snoozes cancel projects/my-project/snoozes/98765
复制延后
如果您想将现有延后用作 请制作副本。复制延后时, 延后编辑器打开,其中包含除开始时间以外的所有字段 设置为原始延后中的值。 您可以在点击创建之前修改所有字段。
如需使用控制台复制延后,请执行以下操作:
-
在 Google Cloud 控制台中,转到 notifications 提醒页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 点击延后窗格中的查看所有延后。
- 在延后列表中,找到要修改的延后,然后 在 more_vert 更多选项菜单中选择复制延后。
- 将修改内容应用于副本,然后点击创建。
后续步骤
如需大致了解提醒,请参阅提醒概览。
有关通知延迟时间以及如何选择 提醒政策的参数会影响发送通知的时间, 请参阅基于指标的提醒政策的行为。
如需了解突发事件,请参阅以下文档: