gpt4 book ai didi

prometheus - 当值不存在时,默认求和运算符为 0

转载 作者:行者123 更新时间:2023-12-03 22:53:34 28 4
gpt4 key购买 nike

我正在使用以下查询来计算我们 GKE 集群中节点的成本(为可读性添加了新行)

sum(
kube_node_status_capacity_cpu_cores * on(node) group_left(label_cloud_google_com_gke_nodepool)
kube_node_labels{
label_cloud_google_com_gke_preemptible = "true"
}
) * 5.10 +
sum(
kube_node_status_capacity_cpu_cores * on(node) group_left(label_cloud_google_com_gke_nodepool)
kube_node_labels{
label_cloud_google_com_gke_preemptible = ""
}
) * 16.95

如果集群具有可抢占节点,则它有效,因为至少有一个节点具有 label_cloud_google_com_gke_preemptible = "true"因此第一个求和运算符返回一个值。

当集群没有可抢占的节点时它失败,因为没有带有 label_cloud_google_com_gke_preemptible = "true" 的节点因此第一个和不返回任何值

是否可以修改查询,以便第一个总和返回 0 值?

最佳答案

您可以使用 or如果不存在则插入一个值:

  (
sum(
kube_node_status_capacity_cpu_cores
* on(node) group_left(label_cloud_google_com_gke_nodepool)
kube_node_labels{label_cloud_google_com_gke_preemptible = "true"}
) * 5.10
or
vector(0)
)
+
sum(
kube_node_status_capacity_cpu_cores
* on(node) group_left(label_cloud_google_com_gke_nodepool)
kube_node_labels{label_cloud_google_com_gke_preemptible = ""}
) * 16.95

关于prometheus - 当值不存在时,默认求和运算符为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50420467/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com