我目前正在尝试提醒可用性区域内堆叠的Kubernetes吊舱。我设法使用了两个不同的指标,以便可以看到一个应用程序在特定的可用区域上运行了多少个Pod。但是,由于缩放,我希望警报基于百分比...因此我们可以在特定百分比的Pod在一个AZ上运行时(即超过70%)发出警报。
我当前的查询:
void passPointers(int* &a){
int p = 5;
a = &p;
} // p dies here
以及一些选定的输出:
sum(count(kube_pod_info{namespace="somenamespace", created_by_kind="StatefulSet"}) by (created_by_name, node) * on (node) group_left(az_info) kube_node_labels) by (created_by_name, az_info)
例如,在上面的输出中,我们可以看到az2上堆叠了4个db-1 Pod,而az1上堆叠了1个pod。在这种情况下,我们要发出警报,因为80%的db-1吊舱都堆叠在单个AZ上。
由于输出包含多个AZ上的多个Pod,因此似乎很难通过单个Prometheus查询来获取百分比,但是想知道是否有更多经验的人可以提供解决方案?
谢谢!
答案 0 :(得分:1)
your_expression
/ ignoring(created_by_name) group_left
sum without(created_by_name)(your_expression)
将为您提供每个对象的整体比例,然后您可以对此进行> .8
。