GCP MQL 查询:正在获取 metrics/minute
GCP MQL query: getting metrics/minute
这个查询给了我 metrics/sec:
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)]
如何获得metrics/minute?
指标的单位是 "1"
(因为它们适用于大多数计数器指标)。速率对齐器结果始终为每秒。所以对齐器的输出有单位"1/s"
。 MQL 有一个 scale
[
可用于缩放值的函数。在这种情况下,在对齐步骤之后添加 | value scale(val(), "1/min")
可用于将其缩放为单位“1/min”。 (shortcut 的说法是 | scale "1/min"
)
对此的一个变体是将 "1"
替换为正在计算的事物的注释:`"{requests}/min"。 units 是根据 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
给出了查询输出的范围(即使最后没有给出)。放在最后是个好主意。
这个查询给了我 metrics/sec:
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)]
如何获得metrics/minute?
指标的单位是 "1"
(因为它们适用于大多数计数器指标)。速率对齐器结果始终为每秒。所以对齐器的输出有单位"1/s"
。 MQL 有一个 scale
[
可用于缩放值的函数。在这种情况下,在对齐步骤之后添加 | value scale(val(), "1/min")
可用于将其缩放为单位“1/min”。 (shortcut 的说法是 | scale "1/min"
)
对此的一个变体是将 "1"
替换为正在计算的事物的注释:`"{requests}/min"。 units 是根据 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
给出了查询输出的范围(即使最后没有给出)。放在最后是个好主意。