GKE指标比较



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

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

此查询返回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]

相关内容

  • 没有找到相关文章

最新更新