Google Cloud Uptime Check单区域配置受限,求可行解决方案
Google Cloud 官方的Uptime Checks确实强制要求至少选择3个区域,无法直接绕过这个限制。不过有几个实用方案可以满足你只在单个区域检测、同时实现告警和正常运行时间统计的需求:
自定义监控脚本+Cloud Monitoring
编写简单的检测脚本(比如用curl或wget),在你指定的单个区域的GCE实例或Cloud Functions中定期运行,检测目标服务的可达性。将检测结果(成功/失败状态)上报到Cloud Monitoring的自定义指标中,这样既能设置告警规则(检测失败时触发通知),也能通过Cloud Monitoring的报表功能查看特定时间段的平均正常运行时间。Cloud Scheduler+Pub/Sub+Cloud Functions 组合方案
用Cloud Scheduler在指定区域定时触发任务,通过Pub/Sub传递任务消息给Cloud Functions,由Functions执行具体的服务可达性检测,再将结果上报到Cloud Monitoring。这种组合能精准控制检测任务的运行区域,适配你的项目需求。忽略其他区域的检测结果(折中方案)
如果你暂时不想搭建自定义脚本,可以保留Uptime Checks的3个区域配置,但在告警策略中添加过滤条件,只关注你需要的那个区域的检测状态。比如在告警规则的过滤器中,只匹配来自目标区域的Uptime Check结果,这样其他区域的失败不会触发告警。不过这种方式下Uptime Check仍会在3个区域运行,统计正常运行时间时需要手动排除其他区域的数据,精准度不如自定义方案。
内容的提问来源于stack exchange,提问作者dan1st

