我目前正在使用具有 3 个目标 VM 的非托管 TCP 负载均衡器,并且为了提供快速响应,只要健康数量不是 3 个 VM 中的 3 个,我就需要一个警报系统
有没有办法通过 GCP 中的电子邮件、slack 或 pagerduty 获取有关此问题的警报?
我目前正在使用具有 3 个目标 VM 的非托管 TCP 负载均衡器,并且为了提供快速响应,只要健康数量不是 3 个 VM 中的 3 个,我就需要一个警报系统
有没有办法通过 GCP 中的电子邮件、slack 或 pagerduty 获取有关此问题的警报?
可以创建这样的警报,当您的组中的一个实例停止正常工作时会提醒您。
转到您的非托管实例组详细信息页面并将选项卡切换到“监控”:
单击创建警报策略,您将看到另一个面板:
在此屏幕的底部,将Condition更改为is below并将Threshold更改为3,如下所示。
单击下一步并选择所需的通知渠道,如果您没有看到任何可用的单击管理通知渠道并创建您想要的,它可以是电子邮件、短信、Slack 和许多其他渠道。
首先,您需要创建健康检查(并启用日志记录)。然后你去你的负载均衡器设置并编辑你的后端服务,在那里你选择你创建的健康检查。
然后转到日志资源管理器并选择您的实例组作为日志资源。您将在查询编辑器中看到如下内容:
resource.type="gce_instance_group" resource.labels.instance_group_id="3863333883516335882" resource.labels.instance_group_name="hc-group-1"
然后在底部添加这一行:jsonPayload.healthCheckProbeResult.healthState="UNHEALTHY"
然后单击“运行查询”,这将产生一些包含可用于触发警报的日志的日志。
现在,当您看到日志时,单击操作并选择“创建日志警报”:
您将看到允许您命名警报并选择适当的通道来发送通知的窗口。我刚刚以电子邮件的形式对其进行了测试(一组 2 个 VM,在关闭其中任何一个触发警报后):
最后 - 根据您正在运行的服务,您可以监控许多不同的服务(在我的情况下,它是端口 80 上的 HTTP 回复)。