0

我目前正在使用具有 3 个目标 VM 的非托管 TCP 负载均衡器,并且为了提供快速响应,只要健康数量不是 3 个 VM 中的 3 个,我就需要一个警报系统

有没有办法通过 GCP 中的电子邮件、slack 或 pagerduty 获取有关此问题的警报?

4

1 回答 1

4

可以创建这样的警报,当您的组中的一个实例停止正常工作时会提醒您。

转到您的非托管实例组详细信息页面并将选项卡切换到“监控”:

在此处输入图像描述

单击创建警报策略,您将看到另一个面板:

在此处输入图像描述

在此屏幕的底部,将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 回复)。

于 2021-08-12T12:43:40.047 回答