跳转到内容
搜索文档

配置隧道健康警报

最后更新 查看 MarkdownAgent 设置

您可以配置隧道健康状况警报(Tunnel Health Alerts,前称 Magic Tunnel 健康警报),以便在 IPsec/GRE 隧道的成功健康检查(health checks)百分比低于所选的服务水平目标 (SLO)时,接收电子邮件、Webhook 和 PagerDuty 通知。

隧道健康状况警报会监控警报中所包含的每个 IPsec/GRE 隧道的健康检查成功率,这些隧道在过去六小时内需要有处于活跃状态的客户流量传输(不包括健康检查流量)。您可以为每个 IPsec/GRE 隧道必须成功的健康检查百分比定义一个 SLO 阈值。如果警报中包含的 IPsec/GRE 隧道的成功健康检查次数低于 SLO 阈值,则会触发警报。

警报数据

当触发隧道健康状况警报时,您会在电子邮件、Webhook 和 PagerDuty 通知中收到以下数据:

  • Cloudflare 账户名称
  • Cloudflare 账户 ID
  • 警报类型
  • 隧道名称
  • 隧道 ID
  • 隧道状态
  • 警报 SLO
  • 时间戳

SLO 阈值

目前,您可以通过 Cloudflare 仪表板配置七个 SLO 阈值。要进行更细粒度的配置,请使用 API

隧道健康状况警报的 SLO 阈值是警报中每个 IPsec/GRE 隧道的成功健康检查百分比:

警报敏感度级别 SLO 阈值
最低 (Minimum) 95.0
极低 (Very low) 96.0
低 (Low) 97.0
中 (Medium) 98.0
高 (High) 99.0
极高 (Very high) 99.5
最高 (Maximum) 99.9

收到警报所需的时间取决于您为 SLO 阈值配置的敏感度级别。较高的敏感度级别在隧道运行状况恶化时会更快地通知您,但它们也可能针对短暂或轻微的中断触发警报。较低的敏感度级别可以减少误报的几率,但对于不那么严重的问题,可能会延迟通知。

虽然底层的检测时间在不同的敏感度级别中保持一致,但通知的速度取决于隧道运行状况下降的严重程度以及您选择的敏感度。Cloudflare 建议您测试 SLO 阈值以确定哪一个更适合您的用例。

有关详细信息,请参阅 Cloudflare 如何计算隧道健康状况警报

设置隧道健康状况警报

  1. 转到 Notifications(通知) 页面。

    Go to Notifications ↗
  2. 选择 Add(添加)

  3. Product 下拉菜单中,选择 Magic Transit

  4. 选择 Tunnel Health Check Alert(隧道运行状况检查警报) > Select(选择) 以添加通知。您可以按隧道或按数据中心 (Beta) 添加警报。

按隧道警报 (Alert by tunnel)

  1. 选择 Alert by tunnel(按隧道发出警报)
  2. 输入通知的名称和描述。
  3. 添加 Webhook 或用于接收通知的人员的电子邮件地址,然后选择 Next(下一步)
  4. 从下拉菜单中选择 Alert Sensitivity Level(警报灵敏度级别) 阈值。该阈值默认为 Medium (98.0)。您可以选择从 Minimum (95.0)Maximum (99.9) 之间的选项。有关详细信息,请参阅 Cloudflare 如何计算隧道健康状况警报
  5. Alert interval 下拉菜单中,设置 Cloudflare 向您发送重复警报之前必须经过的最短时间。选项范围为 5 分钟到 7 天。
  6. 如果您希望您选择的警报敏感度级别自动应用于您创建的所有新隧道,请启用 Set as default alert for any new tunnels created in the future
  7. 选择 Next(下一步)
  8. 选择您要接收警报的隧道。您可以搜索特定的隧道名称,或按类型(通用路由封装 (GRE)、网际协议安全 (IPsec) 和 CNI (Cloudflare Network Interconnect))对其进行筛选。选择 Next(下一步)
  9. 查看您警报的详细信息。如果这些详细信息正确,选择 Create alert(创建警报)

按数据中心警报 (Alert by data center) (Beta)

  1. 选择 Alert by data center(按数据中心发出警报)
  2. 输入通知的名称和描述。
  3. 添加 Webhook 或用于接收通知的人员的电子邮件地址,然后选择 Next(下一步)
  4. 从下拉菜单中选择 Alert Sensitivity Level(警报灵敏度级别) 阈值。该阈值默认为 Medium (98.0)。您可以选择从 Minimum (95.0)Maximum (99.9) 之间的选项。有关详细信息,请参阅 Cloudflare 如何计算隧道健康状况警报
  5. Alert interval 下拉菜单中,设置 Cloudflare 向您发送重复警报之前必须经过的最短时间。选项范围为 5 分钟到 7 天。
  6. 选择您要接收警报的数据中心,然后选择 Next(下一步)
  7. 选择您要接收警报的隧道。您可以搜索特定的隧道名称,或按类型(GRE、IPsec 和 CNI (Cloudflare Network Interconnect))对其进行筛选。选择 Next(下一步)
  8. 查看您警报的详细信息。如果这些详细信息正确,选择 Create alert(创建警报)

发送 POST 请求以创建隧道健康状况警报。您可以设置任何 099.99 之间 SLO 值的隧道健康状况警报。

Required API token permissions

At least one of the following token permissions is required:
  • Notifications Write
  • Account Settings Write
Create a Notification policybash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/alerting/v3/policies" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"alert_type": "magic_tunnel_health_check_event",
		"description": "<DESCRIBE_POLICY>",
		"enabled": true,
		"filters": {
				"slo": [
						"99.9"
				]
		},
		"mechanisms": {
				"email": [
						{
								"id": "EMAIL_ADDRESS"
						}
				]
		},
		"name": "<DESCRIBE_ALERT>"
	}'

	{
		"result": [
			{
				"id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
				"name": "<POLICY_NAME>",
				"description": "<POLICY_DESCRIPTION>",
				"enabled": true,
				"alert_type": "magic_tunnel_health_check_event",
				"mechanisms": {
					"email": [
						{
							"id": "<YOUR_EMAIL>"
						}
					]
				},
				"created": "2024-09-11T14:13:29.585658Z",
				"modified": "2024-09-11T14:13:29.585658Z",
				"conditions": {
					"and": [
						{
							"or": [
								{
									"<=": [
										{
											"var": "slo"
										},
										"99.9"
									]
								}
							]
						}
					]
				},
				"filters": {
					"slo": ["99.9"]
				}
			}
		],
		"success": true,
		"errors": [],
		"messages": []
	}

测试 SLO

要测试特定的警报敏感度级别是否适合您的用例:

  1. 为过去六小时内有活跃流量的隧道创建具有特定敏感度级别的警报。如果您不确定要选择哪些隧道,请参阅 Network Analytics 以获取有关您网络的实时和历史数据。
  2. 禁用您正在测试的隧道,使其出现 100% 的健康检查失败
  3. Cloudflare 向您发送警报所需的时间取决于您为警报选择的敏感度。

这篇文档对您有帮助吗?