创建和管理延迟提醒

本文档介绍了如何创建和管理稍后提醒。稍后提醒可在特定时间段内阻止 Cloud Monitoring 创建突发事件和发出通知。每个稍后提醒都会指定其作用范围的资源。

如需查看概念性概览,请参阅稍后提醒通知和突发事件

如需创建和管理稍后提醒,您可以使用 Google Cloud 控制台或 Cloud Monitoring API。

此功能仅适用于 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。

准备工作

在存储提醒政策的 Google Cloud 项目中完成以下操作:

  1. 请确保您拥有必要的权限:

    如需详细了解 Cloud Monitoring 角色,请参阅使用 Identity and Access Management 控制访问权限

  2. 如果您想使用本文档中的 Cloud Monitoring API 示例,请执行以下操作:

    1. 创建环境变量 PROJECT_ID 来存放Google Cloud 项目的 ID。

      PROJECT_ID=PROJECT_ID
    2. 向 Google Cloud CLI 进行身份验证:

      gcloud auth login
    3. 设置默认 Google Cloud 项目:

      gcloud config set project ${PROJECT_ID}
    4. 创建授权令牌:

      ACCESS_TOKEN=`gcloud auth print-access-token`

      您必须定期刷新访问令牌。如果原本正常运行的命令突然提示您未通过身份验证,请重新发出此命令。

创建稍后提醒

如要阻止提醒政策创建突发事件和发送通知,请创建稍后提醒。

您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud Monitoring API 创建稍后提醒。

控制台

在 Google Cloud 控制台中,您可以从未结突发事件或提醒页面创建稍后提醒。您只能通过突发事件详情页面创建带过滤条件的稍后提醒。

如需针对未结突发事件创建稍后提醒,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往  提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
  3. 在“提醒”页面的突发事件窗格中,找到您的突发事件,然后点击突发事件摘要
  4. 突发事件详情页面上,点击稍后提醒,然后选择稍后提醒时长。
  5. 可选:如需为稍后提醒添加基于标签的过滤条件,请前往标签部分,然后选择一个或多个标签。标签可以是资源标签、指标标签或元数据标签。

    通常,稍后提醒功能会应用于由提醒政策创建的所有突发事件。借助过滤条件,您可以将稍后提醒应用于标签与过滤条件匹配的突发事件。

  6. 点击稍后提醒。稍后提醒现在适用于创建突发事件的提醒政策。

如需在提醒页面中创建稍后提醒,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往  提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
  3. 提醒页面中,点击创建稍后提醒
  4. 为稍后提醒输入描述性名称。此名称会显示在提醒页面上。
  5. 选择开始时间。您可以输入特定时间,也可以在创建稍后提醒时立即启动。
  6. 输入时长。此字段的值决定了稍后提醒的持续时间。
  7. 完成稍后提醒条件部分。您可以使用提醒政策菜单选择要应用稍后提醒的提醒政策。

    您最多可以向一个稍后提醒添加 16 个提醒政策。

    创建稍后提醒后,无法再修改其条件。

    填写完稍后提醒条件部分后,创建稍后提醒窗格会列出符合条件的历史突发事件。

  8. 点击创建

Cloud Monitoring API

如需创建稍后提醒,请通过向 Snooze 端点发出 POST 请求来调用 snoozes.create 方法。您必须提供 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

在上一个表达式中,PROJECT_ID 是一个环境变量,用于存储您的项目 ID。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。

该方法会返回一个 snooze 对象。返回的对象与 my-snooze.json 的内容的唯一区别在于 "name" 字段,其中包含由 Monitoring 生成的稍后提醒 ID:

{
  "name": "projects/my-project/snoozes/778899",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/001122"
    ]
  },
  "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 --project=PROJECT_ID

在运行上述命令之前,请替换以下内容:

  • LIST_OF_POLICIES:稍后提醒适用的政策。如果您指定了多个项目,请用英文逗号分隔项目。
  • PROJECT_ID:项目的标识符。 对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
  • DISPLAY_NAME:要在 Google Cloud 控制台中显示的名称。
  • START_TIME:开始时间。
  • END_TIME:结束时间。该值必须比开始时间晚至少 1 分钟。

    对于开始时间和结束时间,您必须遵循 ISO 8601 格式规则。不过,您可以指定绝对时间或相对时间。以下示例指定了绝对时间。如需设置一个从当前时间起持续 30 分钟的稍后提醒,请使用 --start-time="+PTM30M"

例如,以下命令会为 ID 为“12345”的提醒政策创建稍后提醒。该稍后提醒的时间范围为 2025 年 3 月 1 日至 2025 年 3 月 7 日。

gcloud monitoring snoozes create --display-name="Maintenance Week" \
    --criteria-policies="projects/my-project/alertPolicies/12345" \
    --start-time="2025-03-01T03:00:00.0-0500" \
    --end-time="2025-03-07T23:59:59.5-0500" \
    --project=PROJECT_ID

上一个示例在 my-project 中创建了以下稍后提醒:

{
  "name": "projects/my-project/snoozes/778899",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/12345"
    ]
  },
  "interval": {
    "startTime": "2025-03-01T03:00:00.0-0500",
    "endTime": "2025-03-07T23:59:59.5-0500"
  },
  "displayName": "Maintenance Week"
}

如果成功,此命令的响应类似于以下内容:

Created snooze [projects/my-project/snoozes/778899]

Google Cloud 控制台中不会显示提醒政策的名称。如需确定提醒政策的名称,请执行以下任一操作:

  • 运行 gcloud alpha monitoring policies list 命令。此命令的响应数据包含提醒政策的名称。
  • 查看提醒政策的 JSON 表示法。您可以在政策详情页面上使用相应选项,将 JSON 表示法下载到本地系统。

创建周期性稍后提醒

如需创建按固定时间间隔重复触发的稍后提醒,您可以编写脚本为提醒政策创建稍后提醒。然后,使用 cronCloud Scheduler 等作业调度器,按所需时间表运行脚本。

列出稍后提醒

当您创建稍后提醒时,系统会将其添加到项目的稍后提醒历史记录中。此记录会显示已过期、处于活动状态和即将到期的稍后提醒。您无法从此记录中移除条目,也就是说,您无法删除稍后提醒。不过,在此视图中,您可以查看稍后提醒的详细信息,并执行修改或复制等操作。

控制台

如需查看稍后提醒列表,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往  提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
  3. 点击查看所有稍后提醒窗格中的查看所有稍后提醒

    稍后提醒页面会显示稍后提醒列表,以及一个以图形方式呈现您过去、即将到来和当前稍后提醒的时间轴。

    • 如需修改、复制、取消或结束稍后提醒,请使用稍后提醒的 更多选项菜单。稍后提醒状态决定了可用的选项。
    • 如需列出所有稍后提醒,请启用显示过去的稍后提醒。默认情况下,仅显示当前有效和即将生效的稍后提醒。
    • 如需更改时间轴表格的显示周期,请使用时间范围菜单。默认情况下,该表格会显示下一小时的数据;不过,您可以修改此字段以指定过去或未来的时间范围。已过期的稍后提醒会保留 13 个月。
    • 如需查看特定稍后提醒的详细信息,请点击查看详细信息
    • 如需查看活跃的稍后提醒摘要,请将指针置于时间轴表格中活跃行上的阴影区域。提示中会显示摘要信息。
    • 如需查看活跃稍后提醒的图形表示法,请展开时间表表格中的活跃行。

Cloud Monitoring API

如需列出属于 Google Cloud 项目的所有稍后提醒,请调用 snoozes.list 方法:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes

在上一个表达式中,PROJECT_ID 是一个环境变量,用于存储您的项目 ID。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。

该方法会返回一个 snooze 对象列表。例如,当项目中有一个稍后提醒时,对 snoozes.list 命令的响应如下所示:

{
  "name": "projects/my-project/snoozes/778899",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/12345"
    ]
  },
  "interval": {
    "startTime": "2025-03-01T03:00:00.0-0500",
    "endTime": "2025-03-07T23:59:59.5-0500"
  },
  "displayName": "Snooze2"
}

如需获取特定稍后提醒的信息,请调用 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/778899",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/12345"
    ]
  },
  "interval": {
    "startTime": "2025-03-01T03:00:00.0-0500",
    "endTime": "2025-03-07T23:59:59.5-0500"
  },
  "displayName": "Snooze2"
}

gcloud CLI

如需列出当前项目中的稍后提醒,请运行 gcloud monitoring snoozes list 命令:

gcloud monitoring snoozes list OPTIONAL_FLAGS --project=PROJECT_ID

在运行上述命令之前,请替换以下内容:

  • PROJECT_ID:项目的标识符。 对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
  • 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/778899

如需列出特定稍后提醒的详细信息,请运行 gcloud monitoring snoozes describe 命令:

gcloud monitoring snoozes describe NAME --project=PROJECT_ID

例如,如需显示名为 projects/my-project/snoozes/778899 的稍后提醒的详细信息,请运行以下命令:

gcloud monitoring snoozes describe projects/my-project/snoozes/778899 --project=PROJECT_ID

如果您为 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.

修改稍后提醒

您可以修改即将到来的稍后提醒的名称和时间段,也可以修改正在进行中的稍后提醒的名称和结束时间。例如,重新安排维护窗口时,您可能需要修改稍后提醒。

您无法修改过去的稍后提醒或任何稍后提醒的条件。不过,如果您想将过去的稍后提醒重新安排到未来的时间段,请先复制该稍后提醒,接着对复制的稍后提醒进行更改,然后再选择创建

控制台

如需修改稍后提醒,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往  提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
  3. 点击查看所有稍后提醒窗格中的查看所有稍后提醒
  4. 在稍后提醒列表中,找到要修改的稍后提醒,然后在 更多选项菜单中选择修改稍后提醒
  5. 完成更改后,点击保存

Cloud Monitoring API

如需修改现有稍后提醒,请通过向 Snooze 端点发出 PATCH 请求来调用 snoozes.patch 方法。您必须提供经过修改的 snooze 对象,并添加查询参数以指明要修改的字段。使用 curl 时,查询参数必须进行网址编码。

对于即将到来的稍后提醒,您可以修改名称和时段。对于处于有效状态的稍后提醒,您可以修改名称和结束时间。您无法修改过去的稍后提醒。

如需更新稍后提醒的 displayName,请创建一个名为 my-updated-snooze.json 的 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

在上述表达式中:

  • PROJECT_ID 是一个环境变量,用于存储项目的 ID。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。

  • SNOOZE_ID 是一个环境变量,用于存储稍后提醒的 ID。

该方法会返回一个与文件 my-updated-snooze.json 的内容相同的 snooze 对象:

{
  "name": "projects/my-project/snoozes/778899",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/12345"
    ]
  },
  "interval": {
    "startTime": "2025-03-01T03:00:00.0-0500",
    "endTime": "2025-03-07T23:59:59.5-0500"
  },
  "displayName": "Snooze2"
}

gcloud CLI

如需修改稍后提醒,请运行 gcloud monitoring snoozes update 命令。您可以更新显示名称、开始时间和结束时间:

gcloud monitoring snoozes update NAME OPTIONAL_FLAGS --project=PROJECT_ID

在运行上述命令之前,请替换以下内容:

  • NAME:稍后提醒的名称。
  • PROJECT_ID:项目的标识符。 对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
  • OPTIONAL_FLAGS:如需了解可选标志,请参阅 gcloud monitoring snoozes update 参考页面。

例如,如需将稍后提醒的显示名称更改为 projects/my-project/snoozes/778899,请运行以下命令:

gcloud monitoring snoozes update projects/my-project/snoozes/778899 --display-name="Maintenance Week" --project=PROJECT_ID

结束或取消稍后提醒

如果您想收到符合活跃稍后提醒中指定条件的资源的通知,请结束稍后提醒。例如,如果计划的维护工作完成时间比预期更快,您可能需要结束稍后提醒。

如果您不想再使用即将到来的稍后提醒,请取消该稍后提醒。取消操作会将时长设置为零,并导致稍后提醒转换为已过状态。

控制台

如需结束正在进行的稍后提醒或取消即将到来的延后提醒,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往  提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
  3. 点击查看所有稍后提醒窗格中的查看所有稍后提醒
  4. 在稍后提醒列表中,找到要结束或取消的稍后提醒,然后执行以下操作之一:

    • 如需结束正在进行的稍后提醒,请在 更多选项菜单中选择立即结束
    • 如需取消即将到来的稍后提醒,请在 更多选项菜单中选择取消稍后提醒

Cloud Monitoring API

如需结束正在进行的稍后提醒,请修改稍后提醒任务并将结束时间设置为当前时间。如需了解详情,请参阅修改稍后提醒

如需取消即将到来的稍后提醒,请修改稍后提醒并将结束时间设置为稍后提醒的开始时间。开始时间必须是未来的时间。如需了解详情,请参阅修改稍后提醒

gcloud CLI

如需结束正在进行的稍后提醒或取消即将到来的稍后提醒,请运行 gcloud monitoring snoozes cancel 命令:

gcloud monitoring snoozes cancel NAME --project=PROJECT_ID

在运行上述命令之前,请替换以下内容:

  • NAME:稍后提醒的名称。
  • PROJECT_ID:项目的标识符。 对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。

例如,如需取消名为 projects/my-project/snoozes/778899 的稍后提醒,请运行以下命令:

gcloud monitoring snoozes cancel projects/my-project/snoozes/778899 --project=PROJECT_ID

复制稍后提醒

如果您想将现有稍后提醒用作另一个稍后提醒的模板,请复制该稍后提醒。当您复制稍后提醒时,稍后提醒编辑器会打开,除开始时间外的所有字段都会使用原始稍后提醒中的值进行预填充。您可以在点击创建之前修改所有字段。

如需使用控制台复制稍后提醒,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往  提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 在 Google Cloud 控制台的工具栏中,选择您的 Google Cloud 项目。对于 App Hub 配置,请选择 App Hub 宿主项目或已启用应用的文件夹的管理项目。
  3. 点击查看所有稍后提醒窗格中的查看所有稍后提醒
  4. 在稍后提醒列表中,找到要修改的稍后提醒,然后在 更多选项菜单中选择复制稍后提醒
  5. 将修改内容应用于副本,然后点击创建

后续步骤