【问题标题】:GCP MQL query: getting metrics/minuteGCP MQL 查询:获取指标/分钟
【发布时间】:2021-10-23 20:19:30
【问题描述】:

此查询为我提供指标/秒:

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)]

如何获取指标/分钟?

【问题讨论】:

标签: google-cloud-platform google-cloud-monitoring monitoring-query-language


【解决方案1】:

指标的单位是"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 给出了查询的输出范围(即使它没有在末尾给出)。把它放在最后是个好主意。

【讨论】:

  • 请注意,scale 要求输入具有单位(在本例中为“1/s”),并且输入的单位具有与所需单位相同的维度(在本例中为时间的倒数)案子)。可以使用cast_units 任意更改单位,如果您使用未给出单位的指标,这将非常有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 2022-08-03
  • 2020-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多