GKE 指标比较

GKE metrics comparsion

有谁知道如何将我的查询结果与某个值进行比较? 例如,我有这样的查询:

fetch k8s_container
| { metric 'kubernetes.io/container/cpu/core_usage_time'
| filter
    (metadata.user_labels.project =~ '.*')
| align rate(1m)
| every 1m
| group_by [resource.container_name],[value_core_usage_time_aggregate: aggregate(value.core_usage_time)];
metric 'kubernetes.io/container/cpu/limit_cores'
| filter
    (metadata.user_labels.project =~ '.*')
| group_by 1m, [value_limit_cores_mean: mean(value.limit_cores)]
| every 1m }
| outer_join 0
| div

我只想得到那些大于 0.5 的结果。我该怎么做?

使用 PromQL 很简单,喜欢

some_metric/other_metric > 0.5

甚至布尔结果

some_metric/other_metric > 0.5

这个查询 returns 0 或 1。

但是使用 GKE 指标一点也不容易

您可能正在寻找类似于 gt 函数的东西。

它应该像使用 gt(val()) 一样简单。

最后,我通过下一个查询解决了问题

fetch k8s_node
| { 
    t_0:
    metric 'kubernetes.io/node/ephemeral_storage/used_bytes'
    | group_by 1m, [value_used_bytes_mean: mean(value.used_bytes)]
    | every 1m
    ; t_1:
    metric 'kubernetes.io/node/ephemeral_storage/total_bytes'
    | group_by 1m, [value_total_bytes_mean: mean(value.total_bytes)]
    | every 1m
}
| outer_join 0
| value val(0)/val(1)
| map rename[node : resource.node_name]