google-cloud-platform - GCP MQL 查询:获取指标/分钟
问题描述
这个查询给了我指标/秒:
fetch https_lb_rule::loadbalancing.googleapis.com/https/request_count
| within 5m
| align rate(1m)
| every 1m
| group_by
[ metric.cache_result,metric.proxy_continent,metric.response_code_class,metric.response_code,metric.protocol,resource.backend_name,resource.backend_type,resource.backend_scope,resource.backend_scope_type,resource.backend_target_type,resource.backend_target_name,resource.forwarding_rule_name,resource.matched_url_path_rule,resource.target_proxy_name,resource.url_map_name,resource.region,resource.project_id ],
[value_request_count_aggregate: aggregate(value.request_count)]
如何获得指标/分钟?
解决方案
指标的单位是"1"
(就像大多数计数器指标一样)。速率校准器的结果始终是每秒。所以对齐器的输出有单位"1/s"
。MQL 有一个scale
[ 可用于缩放值的函数。在这种情况下,| value scale(val(), "1/min")
在对齐步骤之后添加可用于将其缩放为具有单位“1/min”。(一种快捷的说法是| scale "1/min"
)
对此的一种变体是将 替换为"1"
正在计数的事物的注释:“{requests}/min”。单位是根据UCUM 单位标准给出的
那么查询是
fetch https_lb_rule::loadbalancing.googleapis.com/https/request_count
| align rate(1m)
| scale "{requests}/min"
| every 1m
| group_by
[metric.cache_result,metric.proxy_continent,
metric.response_code_class,metric.response_code,
metric.protocol,resource.backend_name,
resource.backend_type,resource.backend_scope,
resource.backend_scope_type, resource.backend_target_type,
resource.backend_target_name, resource.forwarding_rule_name,
resource.matched_url_path_rule,
resource.target_proxy_name, resource.url_map_name,
resource.region,resource.project_id ],
[value_request_count_aggregate:
aggregate(val(0))]
| div 60
| within 5m
最终样式注释: within
给出查询输出的范围(即使最后没有给出)。把它放在最后是个好主意。
推荐阅读
- ssis - 在 SSIS 目录中配置环境特定参数
- reactjs - 可选字段图像和 'childImageSharp' 为 null | 盖茨比、GraphQL 和 YAML
- python - Python Count function not increasing in tutorial video
- python - 为什么我的 csv 输出行与 csv.writer 分开?
- assembly - (组装)如何在控制台上打印十六进制数字?
- python - Gensim 训练 word2vec 和 Fasttext
- scala - 使用超类型过滤 HList
- java - Java字符串分隔数列
- java - teiid importer.schemaPattern 属性不起作用
- html - data-val-regex-pattern 无法否定某些特定字符