0

我试图在 Google api 配额使用量超过一定百分比时收到通知。下面是我写的 mql,以 1 天为基础计算,并以服务为基础进行汇总。计算使用/分配的配额数量,并在高于 0.5 时尝试获取通知。

fetch consumer_quota
| { metric 'serviceruntime.googleapis.com/quota/rate/net_usage'
| filter (resource.service == 'androidpublisher.googleapis.com')
| group_by 1d, [value_net_usage_aggregate: aggregate(value.net_usage)]
| every 1d
| group_by [resource.service],
[value_net_usage_aggregate_aggregate:
aggregate(value_net_usage_aggregate)] }
| div( 200000 )
| mul(100)
| condition val() > .5

问题是这些测量值与配额页面上查看的数字不匹配

在此处输入图像描述

问题似乎是计算时间的标准不同。

  • 监控时间标准:UTC+9
  • 配额页面时间标准:UTC - 8(每日配额在太平洋时间午夜重置)

如何将 mql 更改为日间标准?

4

1 回答 1

1

要在 MQL 中使用自定义时区计算每日配额,您需要的是timestamp_to_string时区列表

基于 MQL 的警报可能类似于:

fetch consumer_quota
| metric 'serviceruntime.googleapis.com/quota/rate/net_usage' 
| filter (resource.service == 'androidpublisher.googleapis.com')
| map add [yyyymmdd: end().timestamp_to_string("%Y%m%d", "America/Los_Angeles").string_to_int64] 
| group_by [yyyymmdd], sliding(24h), [s: sum(val(0))]
| every 30s
| align mean_aligner(30s)
| value val() / 200000
| condition val() > 0.5

请注意,我们按yyyymmdd此处分组,因此它将为不同的日期创建不同的警报。

于 2022-01-24T15:38:02.240 回答