From 66da1b3aab1bc043860d79db30bad944ea76e96c Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Sun, 12 Apr 2026 21:32:48 -0300 Subject: [PATCH] monitoring(overview): shorten ups labels for readable stat rows --- scripts/dashboards_render_atlas.py | 20 +++++++++---------- .../monitoring/dashboards/atlas-overview.json | 6 +++--- .../monitoring/dashboards/atlas-power.json | 6 +++--- .../grafana-dashboard-overview.yaml | 6 +++--- .../monitoring/grafana-dashboard-power.yaml | 6 +++--- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py index 747c8dc8..04b5d2ec 100644 --- a/scripts/dashboards_render_atlas.py +++ b/scripts/dashboards_render_atlas.py @@ -689,12 +689,12 @@ CLIMATE_FAN_CURRENT_ROW_EXPR = " or ".join( ) UPS_CURRENT_ROW_EXPR = " or ".join( [ - with_ups_metric_labels(ANANKE_UPS_DRAW_WATTS_DB, ANANKE_UPS_DB_NAME, "Draw (W)"), - with_ups_metric_labels(ANANKE_UPS_RUNTIME_DB, ANANKE_UPS_DB_NAME, "Discharge"), - with_ups_metric_labels(ANANKE_UPS_ON_BATTERY_DB, ANANKE_UPS_DB_NAME, "Status"), - with_ups_metric_labels(ANANKE_UPS_DRAW_WATTS_TETHYS, ANANKE_UPS_TETHYS_NAME, "Draw (W)"), - with_ups_metric_labels(ANANKE_UPS_RUNTIME_TETHYS, ANANKE_UPS_TETHYS_NAME, "Discharge"), - with_ups_metric_labels(ANANKE_UPS_ON_BATTERY_TETHYS, ANANKE_UPS_TETHYS_NAME, "Status"), + with_ups_metric_labels(ANANKE_UPS_DRAW_WATTS_DB, "Py", "Draw"), + with_ups_metric_labels(ANANKE_UPS_RUNTIME_DB, "Py", "Runtime"), + with_ups_metric_labels(ANANKE_UPS_ON_BATTERY_DB, "Py", "Status"), + with_ups_metric_labels(ANANKE_UPS_DRAW_WATTS_TETHYS, "St", "Draw"), + with_ups_metric_labels(ANANKE_UPS_RUNTIME_TETHYS, "St", "Runtime"), + with_ups_metric_labels(ANANKE_UPS_ON_BATTERY_TETHYS, "St", "Status"), ] ) POSTGRES_CONN_USED = ( @@ -1478,8 +1478,8 @@ def build_overview(): legend="{{ups}} {{metric}}", instant=True, field_overrides=[ - {"matcher": {"id": "byRegexp", "options": ".*Draw \\(W\\)$"}, "properties": [{"id": "unit", "value": "watt"}]}, - {"matcher": {"id": "byRegexp", "options": ".*Discharge$"}, "properties": [{"id": "unit", "value": "s"}]}, + {"matcher": {"id": "byRegexp", "options": ".*Draw$"}, "properties": [{"id": "unit", "value": "watt"}]}, + {"matcher": {"id": "byRegexp", "options": ".*Runtime$"}, "properties": [{"id": "unit", "value": "s"}]}, {"matcher": {"id": "byRegexp", "options": ".*Status$"}, "properties": [{"id": "mappings", "value": status_mapping}]}, ], links=link_to("atlas-power"), @@ -3549,8 +3549,8 @@ def build_power_dashboard(): legend="{{ups}} {{metric}}", instant=True, field_overrides=[ - {"matcher": {"id": "byRegexp", "options": ".*Draw \\(W\\)$"}, "properties": [{"id": "unit", "value": "watt"}]}, - {"matcher": {"id": "byRegexp", "options": ".*Discharge$"}, "properties": [{"id": "unit", "value": "s"}]}, + {"matcher": {"id": "byRegexp", "options": ".*Draw$"}, "properties": [{"id": "unit", "value": "watt"}]}, + {"matcher": {"id": "byRegexp", "options": ".*Runtime$"}, "properties": [{"id": "unit", "value": "s"}]}, {"matcher": {"id": "byRegexp", "options": ".*Status$"}, "properties": [{"id": "mappings", "value": status_mapping}]}, ], orientation="vertical", diff --git a/services/monitoring/dashboards/atlas-overview.json b/services/monitoring/dashboards/atlas-overview.json index d7994b27..f3062195 100644 --- a/services/monitoring/dashboards/atlas-overview.json +++ b/services/monitoring/dashboards/atlas-overview.json @@ -1086,7 +1086,7 @@ }, "targets": [ { - "expr": "label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Draw (W)\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Discharge\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\") or label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Draw (W)\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Discharge\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\")", + "expr": "label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Runtime\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\") or label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Runtime\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\")", "refId": "A", "legendFormat": "{{ups}} {{metric}}", "instant": true @@ -1121,7 +1121,7 @@ { "matcher": { "id": "byRegexp", - "options": ".*Draw \\(W\\)$" + "options": ".*Draw$" }, "properties": [ { @@ -1133,7 +1133,7 @@ { "matcher": { "id": "byRegexp", - "options": ".*Discharge$" + "options": ".*Runtime$" }, "properties": [ { diff --git a/services/monitoring/dashboards/atlas-power.json b/services/monitoring/dashboards/atlas-power.json index bf3a0bc0..bc5d186c 100644 --- a/services/monitoring/dashboards/atlas-power.json +++ b/services/monitoring/dashboards/atlas-power.json @@ -20,7 +20,7 @@ }, "targets": [ { - "expr": "label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Draw (W)\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Discharge\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\") or label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Draw (W)\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Discharge\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\")", + "expr": "label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Runtime\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\") or label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Runtime\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\")", "refId": "A", "legendFormat": "{{ups}} {{metric}}", "instant": true @@ -55,7 +55,7 @@ { "matcher": { "id": "byRegexp", - "options": ".*Draw \\(W\\)$" + "options": ".*Draw$" }, "properties": [ { @@ -67,7 +67,7 @@ { "matcher": { "id": "byRegexp", - "options": ".*Discharge$" + "options": ".*Runtime$" }, "properties": [ { diff --git a/services/monitoring/grafana-dashboard-overview.yaml b/services/monitoring/grafana-dashboard-overview.yaml index d1608b71..38ccbea0 100644 --- a/services/monitoring/grafana-dashboard-overview.yaml +++ b/services/monitoring/grafana-dashboard-overview.yaml @@ -1095,7 +1095,7 @@ data: }, "targets": [ { - "expr": "label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Draw (W)\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Discharge\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\") or label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Draw (W)\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Discharge\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\")", + "expr": "label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Runtime\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\") or label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Runtime\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\")", "refId": "A", "legendFormat": "{{ups}} {{metric}}", "instant": true @@ -1130,7 +1130,7 @@ data: { "matcher": { "id": "byRegexp", - "options": ".*Draw \\(W\\)$" + "options": ".*Draw$" }, "properties": [ { @@ -1142,7 +1142,7 @@ data: { "matcher": { "id": "byRegexp", - "options": ".*Discharge$" + "options": ".*Runtime$" }, "properties": [ { diff --git a/services/monitoring/grafana-dashboard-power.yaml b/services/monitoring/grafana-dashboard-power.yaml index 191b25a8..b6c7010b 100644 --- a/services/monitoring/grafana-dashboard-power.yaml +++ b/services/monitoring/grafana-dashboard-power.yaml @@ -29,7 +29,7 @@ data: }, "targets": [ { - "expr": "label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Draw (W)\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Discharge\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Pyrphoros\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\") or label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Draw (W)\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Discharge\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"Statera\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\")", + "expr": "label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Pyrphoros\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Pyrphoros\"}) / 100) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Runtime\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)), \"ups\", \"Py\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\") or label_replace(label_replace((max((ananke_ups_load_percent{job=\"ananke-power\",source=\"Statera\"} * ananke_ups_power_nominal_watts{job=\"ananke-power\",source=\"Statera\"}) / 100) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Runtime\", \"__name__\", \".*\") or label_replace(label_replace((max(ananke_ups_on_battery{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)), \"ups\", \"St\", \"__name__\", \".*\"), \"metric\", \"Status\", \"__name__\", \".*\")", "refId": "A", "legendFormat": "{{ups}} {{metric}}", "instant": true @@ -64,7 +64,7 @@ data: { "matcher": { "id": "byRegexp", - "options": ".*Draw \\(W\\)$" + "options": ".*Draw$" }, "properties": [ { @@ -76,7 +76,7 @@ data: { "matcher": { "id": "byRegexp", - "options": ".*Discharge$" + "options": ".*Runtime$" }, "properties": [ {