diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py index a73fd9e..999ffe6 100644 --- a/scripts/dashboards_render_atlas.py +++ b/scripts/dashboards_render_atlas.py @@ -522,6 +522,7 @@ def table_panel( instant=False, ): """Return a Grafana table panel definition.""" + # Optional PromQL subquery helpers in expr: share(), etc. panel = { "id": panel_id, "type": "table", @@ -1176,12 +1177,9 @@ def build_pods_dashboard(): table_panel( 10, "Namespace Plurality by Node", - 'sum by (namespace,node) (kube_pod_info{pod!=""}) ' - '/ sum by (namespace) (kube_pod_info{pod!=""}) ' - '== bool on(namespace) group_left(node) ' - 'max by (namespace) (' - ' sum by (namespace,node) (kube_pod_info{pod!=""}) ' - ' / sum by (namespace) (kube_pod_info{pod!=""})' + '(' + ' share(sum by (namespace,node) (kube_pod_info{pod!=""}) ' + ' / ignoring(node) sum by (namespace) (kube_pod_info{pod!=""}))' ')', {"h": 8, "w": 24, "x": 0, "y": 42}, unit="percent", diff --git a/services/monitoring/dashboards/atlas-pods.json b/services/monitoring/dashboards/atlas-pods.json index b91ee6c..1134956 100644 --- a/services/monitoring/dashboards/atlas-pods.json +++ b/services/monitoring/dashboards/atlas-pods.json @@ -508,7 +508,7 @@ }, "targets": [ { - "expr": "sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / sum by (namespace) (kube_pod_info{pod!=\"\"}) == bool on(namespace) group_left(node) max by (namespace) ( sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / sum by (namespace) (kube_pod_info{pod!=\"\"}))", + "expr": "( share(sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / ignoring(node) sum by (namespace) (kube_pod_info{pod!=\"\"})))", "refId": "A", "instant": true } diff --git a/services/monitoring/grafana-dashboard-pods.yaml b/services/monitoring/grafana-dashboard-pods.yaml index 0bee968..6fb4bc1 100644 --- a/services/monitoring/grafana-dashboard-pods.yaml +++ b/services/monitoring/grafana-dashboard-pods.yaml @@ -517,7 +517,7 @@ data: }, "targets": [ { - "expr": "sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / sum by (namespace) (kube_pod_info{pod!=\"\"}) == bool on(namespace) group_left(node) max by (namespace) ( sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / sum by (namespace) (kube_pod_info{pod!=\"\"}))", + "expr": "( share(sum by (namespace,node) (kube_pod_info{pod!=\"\"}) / ignoring(node) sum by (namespace) (kube_pod_info{pod!=\"\"})))", "refId": "A", "instant": true }