通过监控一天内 API 请求计数/使用的总和来设置 GCP 警报?

Posted

技术标签:

【中文标题】通过监控一天内 API 请求计数/使用的总和来设置 GCP 警报?【英文标题】:Set GCP alert by monitoring sum of API request count/usage within one day? 【发布时间】:2020-09-23 08:11:38 【问题描述】:

在 GCP 监控和警报中,我试图在一天内添加 API 请求总数的警报策略。 (maps-backend.googleapis.com)

My metrics setting images

如上图所示,我可以在指标上看到正确的值和图表。在任何时候,我的值都高于 500,但阈值 300 的触发根本不会触发。 但是当我将阈值设置为 100 时,我收到了一封警报电子邮件,告诉我该值大约是 100,这意味着我的通知渠道工作正常。

这是我的指标和警报条件的设置:

Resource type: Consumed API
Metric: Request count

Filter
credential_id: XXXXXX
credential_id: XXXXXX
service: maps-backend.googleapis.com

Aggregator: sum

In Advanced Aggregation
Aligner: sum
Alignment Period: 1 day

Configuration
Condition triggers if: Any time series violates
Condition: is above
Threshold: 300
For: most recent value

如何在一天内正确监控和提醒 API 请求计数/使用总和?

【问题讨论】:

策略触发警报后,会出现未解决的事件。它永远不会得到解决,因为图表上显示的 API 请求的总数永远不会低于阈值。此事件可防止策略触发后续事件并发送有关同一事件的后续警报。一旦您手动解决它,警报策略就会恢复到“待命状态”,并准备好触发下一个事件和通知。 感谢您的回答!但是,首先我将阈值设置为 100,然后我收到了警报邮件。然后我将阈值设置回 300,我收到一封电子邮件,告诉我问题已解决。我还尝试了阈值为 300 的新警报策略,但它也不会触发。我认为问题在于,即使我可以看到我的值远高于 300,但实际上监控值始终低于 300。(我认为始终在 100-200 左右) 每次更改警报配置时,它都会根据新条件触发一次,但触发后它会保持静默,直到您解决关联的事件。关于值和阈值,我想这与对齐带来的影响有关,如下所述:Monitoring > Doc > Selecting metrics > Additional configuration > Alignment。绝对值取决于对齐周期,至少对于“总和”对齐器而言。也许尝试一下对齐设置是有意义的。 非常感谢!但是,我仍然无法解决我在开始时提到的问题。作为替代方案,我通过消费者配额、配额限制、我的服务名称来监控和提醒它,并在 1 天的时间间隔内将计数相加,它就可以工作了! 很高兴听到您设法找到解决方法。如果解决方法已证明可以满足您的需求,那么如果您在此处发布答案并与社区共享详细设置,那就太好了。 【参考方案1】:

作为一种解决方法,可以通过消费者配额、配额限制、服务名称对其进行监控和提醒,然后在每日间隔内进行汇总。这样它就可以完成所需的工作。

【讨论】:

以上是关于通过监控一天内 API 请求计数/使用的总和来设置 GCP 警报?的主要内容,如果未能解决你的问题,请参考以下文章

设置一天内不同时间段的倒计时

获取内部连接表中两行的总和

使用 Featuretools 聚合一天中的每个时间

Pyspark:通过检查值是不是存在来聚合数据(不是计数或总和)

一天的 Git 提交计数

Mongoose/MongoDB 获取一天内查看次数最多的文章