跳转到内容
搜索文档

健康监视器通知

最后更新 查看 MarkdownAgent 设置

Cloudflare 正在将负载均衡健康监视器 使用的通知迁移到 Cloudflare 集中式 Notifications Service

有什么变化,为什么?

Cloudflare 账户级 Notifications Service 现在是大多数 Cloudflare 服务的集中位置。此变更促进一致性和简化管理,还为您提供更多通知交付选项,如配置 webhook 或将多个池与同一通知关联。这些新通知也将在账户级别而非 zone 级别管理。

我们强烈建议所有客户将现有 Health Monitor 通知迁移到 Cloudflare 集中式 Notifications Service,以避免告警中断。

迁移指南

您应使用本指南迁移所有现有健康监视器通知。

步骤 1 - 查找现有通知

首先确定哪些池正在使用通知。使用 Cloudflare API 列出所有池并查找 notification_email 参数通常更容易。

使用代码

使用 Cloudflare API 列出所有池,然后查看每个池的 notification_email 参数是否有值。

Requestbash
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/load_balancers/pools" \
--header "Authorization: Bearer <API_TOKEN>" \
| jq '[.result[] | select(.notification_email != "") | {name, notification_email}]'
Responsejson
[
    {
        "name": "pool-1",
        "notification_email": "[email protected]"
    },
    {
        "name": "pool-2",
        "notification_email": "[email protected]"
    },
    {
        "name": "pool-3",
        "notification_email": "[email protected]"
    },
    {
        "name": "pool-4",
        "notification_email": "[email protected]"
    }
]

无代码

要在仪表板中查找具有现有通知的池:

  1. 登录 Cloudflare 仪表板 并选择账户和域。
  2. 前往 Load Balancing(负载均衡)
  3. 选择 Pools(池) 选项卡。
  4. 在池上,选择 Edit(编辑)
  5. 对于 Health Check Notifications(健康检查通知),检查值是否切换为 On(开),且 Notification email address(通知电子邮件地址) 字段中存在电子邮件地址。

步骤 2 - 创建新通知

在此步骤中,您应创建新通知以替换所有现有旧版通知。

使用代码

如果使用 Cloudflare API,重新创建所有现有通知并指定以下参数:

"alert_type": "load_balancing_health_alert",
"filters": {
    "pool_id": <<ARRAY_OF_INCLUDED_POOL_IDS>>,
    "new_health": <<ARRAY_OF_STATUS_TRIGGERS>> ["Unhealthy", "Healthy"],
    "event_source": <<ARRAY_OF_OBJECTS_WATCHED>> ["pool", "origin"]
}

无代码

步骤 1中定位的池上,查找 Pool Notifications(池通知)。点击 Create a Health Alert(创建健康告警) 开始创建通知

步骤 3 - 移除已弃用通知

作为迁移过程的最后一步,您需要从旧版通知中移除所有电子邮件,以确保今后不再收到弃用电子邮件。

虽然您可以在仪表板中执行这些步骤,Cloudflare 建议您使用新的 API 端点以方便操作。

使用代码

如果使用 Cloudflare API,我们最近添加了 PATCH 端点,以便您可以轻松同时从多个池移除电子邮件通知。

Required API token permissions

At least one of the following token permissions is required:
  • Load Balancing: Monitors and Pools Write
Patch Poolsbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/load_balancers/pools" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"notification_email": ""
	}'

此 API 调用支持标准分页查询参数 limit/offsetper_page/page,因此默认仅更新列出的前 25 个池。要确保更新所有池,您可能需要调整 API 调用以循环各页或每次请求包含更多池。

如果需要,您可以使用仪表板移除旧版通知。

无代码

步骤 2中创建新通知后,您将返回之前编辑的池。要禁用已弃用通知,必须从字段中移除所有通知电子邮件地址。

如果您未完成此步骤(从所有池移除所有通知电子邮件),您的迁移将不被视为完成,您将继续收到有关此弃用的其他电子邮件。

这篇文档对您有帮助吗?