monitoring: align ups and climate cards to postgres two-stat pattern

This commit is contained in:
Brad Stein 2026-04-13 06:22:41 -03:00
parent 56cca6df83
commit 28756ceda8
3 changed files with 196 additions and 966 deletions

View File

@ -1157,96 +1157,6 @@ def canvas_metric_grid_panel(
return panel
def overview_two_value_panel(
panel_id,
title,
grid,
*,
left_target,
right_target,
field_overrides=None,
links=None,
description=None,
thresholds=None,
):
"""Return a dedicated two-value overview canvas panel."""
top = 10
size = 30
width = 146
height = 42
left_x = 12
right_x = 168
targets = [
{"refId": "A", "expr": left_target["expr"], "legendFormat": left_target["legend"], "instant": True},
{"refId": "B", "expr": right_target["expr"], "legendFormat": right_target["legend"], "instant": True},
]
def metric_element(name, field, color_field, left):
return {
"type": "metric-value",
"name": name,
"constraint": {"horizontal": "left", "vertical": "top"},
"placement": {"left": left, "top": top, "width": width, "height": height},
"background": {"color": {"fixed": "transparent"}},
"border": {"color": {"fixed": "transparent"}},
"config": {
"align": "center",
"valign": "middle",
"size": size,
"color": {"field": color_field, "fixed": "text"},
"text": {"mode": "field", "field": field, "fixed": ""},
},
"links": [],
}
panel = {
"id": panel_id,
"type": "canvas",
"title": title,
"datasource": PROM_DS,
"gridPos": grid,
"targets": targets,
"fieldConfig": {
"defaults": {
"mappings": [],
"thresholds": thresholds
or {
"mode": "absolute",
"steps": [
{"color": "rgba(115, 115, 115, 1)", "value": None},
{"color": "green", "value": 1},
],
},
"color": {"mode": "thresholds"},
},
"overrides": field_overrides or [],
},
"options": {
"inlineEditing": False,
"showAdvancedTypes": True,
"panZoom": False,
"infinitePan": False,
"root": {
"type": "frame",
"name": f"{title} frame",
"elements": [
metric_element("Left value", left_target["legend"], left_target["legend"], left_x),
metric_element("Right value", right_target["legend"], right_target["legend"], right_x),
],
"background": {"color": {"fixed": "transparent"}},
"border": {"color": {"fixed": "transparent"}},
},
},
}
if links:
panel["links"] = links
if description:
panel["description"] = description
return panel
def table_panel(
panel_id,
title,
@ -1833,12 +1743,20 @@ def build_overview():
],
}
panels.append(
overview_two_value_panel(
stat_panel(
40,
f"{ANANKE_UPS_DB_NAME} UPS Current",
(
'label_replace('
+ ANANKE_UPS_DRAW_WATTS_DB
+ ', "metric", "Draw", "__name__", ".*") or label_replace('
+ ANANKE_UPS_RUNTIME_DB
+ ', "metric", "Runtime", "__name__", ".*")'
),
{"h": 3, "w": 6, "x": 0, "y": 7},
left_target={"expr": ANANKE_UPS_DRAW_WATTS_DB, "legend": "Draw"},
right_target={"expr": ANANKE_UPS_RUNTIME_DB, "legend": "Runtime"},
text_mode="name_and_value",
legend="{{metric}}",
instant=True,
field_overrides=[
{"matcher": {"id": "byName", "options": "Draw"}, "properties": [{"id": "unit", "value": "watt"}]},
{"matcher": {"id": "byName", "options": "Runtime"}, "properties": [{"id": "unit", "value": "s"}]},
@ -1847,12 +1765,20 @@ def build_overview():
)
)
panels.append(
overview_two_value_panel(
stat_panel(
144,
f"{ANANKE_UPS_TETHYS_NAME} UPS Current",
(
'label_replace('
+ ANANKE_UPS_DRAW_WATTS_TETHYS
+ ', "metric", "Draw", "__name__", ".*") or label_replace('
+ ANANKE_UPS_RUNTIME_TETHYS
+ ', "metric", "Runtime", "__name__", ".*")'
),
{"h": 3, "w": 6, "x": 0, "y": 10},
left_target={"expr": ANANKE_UPS_DRAW_WATTS_TETHYS, "legend": "Draw"},
right_target={"expr": ANANKE_UPS_RUNTIME_TETHYS, "legend": "Runtime"},
text_mode="name_and_value",
legend="{{metric}}",
instant=True,
field_overrides=[
{"matcher": {"id": "byName", "options": "Draw"}, "properties": [{"id": "unit", "value": "watt"}]},
{"matcher": {"id": "byName", "options": "Runtime"}, "properties": [{"id": "unit", "value": "s"}]},
@ -1878,12 +1804,20 @@ def build_overview():
)
)
panels.append(
overview_two_value_panel(
stat_panel(
42,
"Current Enclosure Temperature",
(
'label_replace('
+ CLIMATE_TEMP_MAX
+ ', "metric", "°C", "__name__", ".*") or label_replace('
+ CLIMATE_TEMP_FAHRENHEIT_MAX
+ ', "metric", "°F", "__name__", ".*")'
),
{"h": 3, "w": 6, "x": 0, "y": 13},
left_target={"expr": CLIMATE_TEMP_MAX, "legend": "°C"},
right_target={"expr": CLIMATE_TEMP_FAHRENHEIT_MAX, "legend": "°F"},
text_mode="name_and_value",
legend="{{metric}}",
instant=True,
field_overrides=[
{"matcher": {"id": "byName", "options": "°C"}, "properties": [{"id": "unit", "value": "celsius"}]},
{"matcher": {"id": "byName", "options": "°F"}, "properties": [{"id": "unit", "value": "fahrenheit"}]},
@ -1892,12 +1826,20 @@ def build_overview():
)
)
panels.append(
overview_two_value_panel(
stat_panel(
143,
"Current Enclosure Climate",
(
'label_replace('
+ CLIMATE_HUMIDITY_MAX
+ ', "metric", "%RH", "__name__", ".*") or label_replace('
+ CLIMATE_PRESSURE_CURRENT
+ ', "metric", "kPa", "__name__", ".*")'
),
{"h": 3, "w": 6, "x": 0, "y": 16},
left_target={"expr": CLIMATE_HUMIDITY_MAX, "legend": "%RH"},
right_target={"expr": CLIMATE_PRESSURE_CURRENT, "legend": "kPa"},
text_mode="name_and_value",
legend="{{metric}}",
instant=True,
field_overrides=[
{"matcher": {"id": "byName", "options": "%RH"}, "properties": [{"id": "unit", "value": "suffix:%RH"}]},
{"matcher": {"id": "byName", "options": "kPa"}, "properties": [{"id": "unit", "value": "suffix:kPa"}]},

View File

@ -1072,7 +1072,7 @@
},
{
"id": 40,
"type": "canvas",
"type": "stat",
"title": "Pyrphoros UPS Current",
"datasource": {
"type": "prometheus",
@ -1086,20 +1086,17 @@
},
"targets": [
{
"expr": "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), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0), \"metric\", \"Runtime\", \"__name__\", \".*\")",
"refId": "A",
"expr": "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)",
"legendFormat": "Draw",
"instant": true
},
{
"refId": "B",
"expr": "max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)",
"legendFormat": "Runtime",
"legendFormat": "{{metric}}",
"instant": true
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
@ -1114,8 +1111,9 @@
}
]
},
"color": {
"mode": "thresholds"
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": [
@ -1146,104 +1144,17 @@
]
},
"options": {
"inlineEditing": false,
"showAdvancedTypes": true,
"panZoom": false,
"infinitePan": false,
"root": {
"type": "frame",
"name": "Pyrphoros UPS Current frame",
"elements": [
{
"type": "metric-value",
"name": "Left value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 12,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "Draw",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "Draw",
"fixed": ""
}
},
"links": []
},
{
"type": "metric-value",
"name": "Right value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 168,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "Runtime",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "Runtime",
"fixed": ""
}
},
"links": []
}
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
}
}
"fields": "",
"values": false
},
"textMode": "name_and_value"
},
"links": [
{
@ -1255,7 +1166,7 @@
},
{
"id": 144,
"type": "canvas",
"type": "stat",
"title": "Statera UPS Current",
"datasource": {
"type": "prometheus",
@ -1269,20 +1180,17 @@
},
"targets": [
{
"expr": "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), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0), \"metric\", \"Runtime\", \"__name__\", \".*\")",
"refId": "A",
"expr": "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)",
"legendFormat": "Draw",
"instant": true
},
{
"refId": "B",
"expr": "max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)",
"legendFormat": "Runtime",
"legendFormat": "{{metric}}",
"instant": true
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
@ -1297,8 +1205,9 @@
}
]
},
"color": {
"mode": "thresholds"
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": [
@ -1329,104 +1238,17 @@
]
},
"options": {
"inlineEditing": false,
"showAdvancedTypes": true,
"panZoom": false,
"infinitePan": false,
"root": {
"type": "frame",
"name": "Statera UPS Current frame",
"elements": [
{
"type": "metric-value",
"name": "Left value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 12,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "Draw",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "Draw",
"fixed": ""
}
},
"links": []
},
{
"type": "metric-value",
"name": "Right value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 168,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "Runtime",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "Runtime",
"fixed": ""
}
},
"links": []
}
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
}
}
"fields": "",
"values": false
},
"textMode": "name_and_value"
},
"links": [
{
@ -1492,7 +1314,7 @@
},
{
"id": 42,
"type": "canvas",
"type": "stat",
"title": "Current Enclosure Temperature",
"datasource": {
"type": "prometheus",
@ -1506,20 +1328,17 @@
},
"targets": [
{
"expr": "label_replace(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius != 0)) or on() vector(0), \"metric\", \"\u00b0C\", \"__name__\", \".*\") or label_replace(max((max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius != 0)) * 9 / 5 + 32) or on() vector(0), \"metric\", \"\u00b0F\", \"__name__\", \".*\")",
"refId": "A",
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius != 0)) or on() vector(0)",
"legendFormat": "\u00b0C",
"instant": true
},
{
"refId": "B",
"expr": "max((max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius != 0)) * 9 / 5 + 32) or on() vector(0)",
"legendFormat": "\u00b0F",
"legendFormat": "{{metric}}",
"instant": true
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
@ -1534,8 +1353,9 @@
}
]
},
"color": {
"mode": "thresholds"
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": [
@ -1566,104 +1386,17 @@
]
},
"options": {
"inlineEditing": false,
"showAdvancedTypes": true,
"panZoom": false,
"infinitePan": false,
"root": {
"type": "frame",
"name": "Current Enclosure Temperature frame",
"elements": [
{
"type": "metric-value",
"name": "Left value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 12,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "\u00b0C",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "\u00b0C",
"fixed": ""
}
},
"links": []
},
{
"type": "metric-value",
"name": "Right value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 168,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "\u00b0F",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "\u00b0F",
"fixed": ""
}
},
"links": []
}
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
}
}
"fields": "",
"values": false
},
"textMode": "name_and_value"
},
"links": [
{
@ -1675,7 +1408,7 @@
},
{
"id": 143,
"type": "canvas",
"type": "stat",
"title": "Current Enclosure Climate",
"datasource": {
"type": "prometheus",
@ -1689,20 +1422,17 @@
},
"targets": [
{
"expr": "label_replace(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent != 0)) or on() vector(0), \"metric\", \"%RH\", \"__name__\", \".*\") or label_replace(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa != 0)) or on() vector(0), \"metric\", \"kPa\", \"__name__\", \".*\")",
"refId": "A",
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent != 0)) or on() vector(0)",
"legendFormat": "%RH",
"instant": true
},
{
"refId": "B",
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa != 0)) or on() vector(0)",
"legendFormat": "kPa",
"legendFormat": "{{metric}}",
"instant": true
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
@ -1717,8 +1447,9 @@
}
]
},
"color": {
"mode": "thresholds"
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": [
@ -1749,104 +1480,17 @@
]
},
"options": {
"inlineEditing": false,
"showAdvancedTypes": true,
"panZoom": false,
"infinitePan": false,
"root": {
"type": "frame",
"name": "Current Enclosure Climate frame",
"elements": [
{
"type": "metric-value",
"name": "Left value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 12,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "%RH",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "%RH",
"fixed": ""
}
},
"links": []
},
{
"type": "metric-value",
"name": "Right value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 168,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "kPa",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "kPa",
"fixed": ""
}
},
"links": []
}
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
}
}
"fields": "",
"values": false
},
"textMode": "name_and_value"
},
"links": [
{

View File

@ -1081,7 +1081,7 @@ data:
},
{
"id": 40,
"type": "canvas",
"type": "stat",
"title": "Pyrphoros UPS Current",
"datasource": {
"type": "prometheus",
@ -1095,20 +1095,17 @@ data:
},
"targets": [
{
"expr": "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), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0), \"metric\", \"Runtime\", \"__name__\", \".*\")",
"refId": "A",
"expr": "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)",
"legendFormat": "Draw",
"instant": true
},
{
"refId": "B",
"expr": "max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Pyrphoros\"}) or on() vector(0)",
"legendFormat": "Runtime",
"legendFormat": "{{metric}}",
"instant": true
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
@ -1123,8 +1120,9 @@ data:
}
]
},
"color": {
"mode": "thresholds"
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": [
@ -1155,104 +1153,17 @@ data:
]
},
"options": {
"inlineEditing": false,
"showAdvancedTypes": true,
"panZoom": false,
"infinitePan": false,
"root": {
"type": "frame",
"name": "Pyrphoros UPS Current frame",
"elements": [
{
"type": "metric-value",
"name": "Left value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 12,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "Draw",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "Draw",
"fixed": ""
}
},
"links": []
},
{
"type": "metric-value",
"name": "Right value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 168,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "Runtime",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "Runtime",
"fixed": ""
}
},
"links": []
}
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
}
}
"fields": "",
"values": false
},
"textMode": "name_and_value"
},
"links": [
{
@ -1264,7 +1175,7 @@ data:
},
{
"id": 144,
"type": "canvas",
"type": "stat",
"title": "Statera UPS Current",
"datasource": {
"type": "prometheus",
@ -1278,20 +1189,17 @@ data:
},
"targets": [
{
"expr": "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), \"metric\", \"Draw\", \"__name__\", \".*\") or label_replace(max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0), \"metric\", \"Runtime\", \"__name__\", \".*\")",
"refId": "A",
"expr": "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)",
"legendFormat": "Draw",
"instant": true
},
{
"refId": "B",
"expr": "max(ananke_ups_runtime_seconds{job=\"ananke-power\",source=\"Statera\"}) or on() vector(0)",
"legendFormat": "Runtime",
"legendFormat": "{{metric}}",
"instant": true
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
@ -1306,8 +1214,9 @@ data:
}
]
},
"color": {
"mode": "thresholds"
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": [
@ -1338,104 +1247,17 @@ data:
]
},
"options": {
"inlineEditing": false,
"showAdvancedTypes": true,
"panZoom": false,
"infinitePan": false,
"root": {
"type": "frame",
"name": "Statera UPS Current frame",
"elements": [
{
"type": "metric-value",
"name": "Left value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 12,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "Draw",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "Draw",
"fixed": ""
}
},
"links": []
},
{
"type": "metric-value",
"name": "Right value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 168,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "Runtime",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "Runtime",
"fixed": ""
}
},
"links": []
}
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
}
}
"fields": "",
"values": false
},
"textMode": "name_and_value"
},
"links": [
{
@ -1501,7 +1323,7 @@ data:
},
{
"id": 42,
"type": "canvas",
"type": "stat",
"title": "Current Enclosure Temperature",
"datasource": {
"type": "prometheus",
@ -1515,20 +1337,17 @@ data:
},
"targets": [
{
"expr": "label_replace(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius != 0)) or on() vector(0), \"metric\", \"\u00b0C\", \"__name__\", \".*\") or label_replace(max((max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius != 0)) * 9 / 5 + 32) or on() vector(0), \"metric\", \"\u00b0F\", \"__name__\", \".*\")",
"refId": "A",
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius != 0)) or on() vector(0)",
"legendFormat": "\u00b0C",
"instant": true
},
{
"refId": "B",
"expr": "max((max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius != 0)) * 9 / 5 + 32) or on() vector(0)",
"legendFormat": "\u00b0F",
"legendFormat": "{{metric}}",
"instant": true
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
@ -1543,8 +1362,9 @@ data:
}
]
},
"color": {
"mode": "thresholds"
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": [
@ -1575,104 +1395,17 @@ data:
]
},
"options": {
"inlineEditing": false,
"showAdvancedTypes": true,
"panZoom": false,
"infinitePan": false,
"root": {
"type": "frame",
"name": "Current Enclosure Temperature frame",
"elements": [
{
"type": "metric-value",
"name": "Left value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 12,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "\u00b0C",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "\u00b0C",
"fixed": ""
}
},
"links": []
},
{
"type": "metric-value",
"name": "Right value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 168,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "\u00b0F",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "\u00b0F",
"fixed": ""
}
},
"links": []
}
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
}
}
"fields": "",
"values": false
},
"textMode": "name_and_value"
},
"links": [
{
@ -1684,7 +1417,7 @@ data:
},
{
"id": 143,
"type": "canvas",
"type": "stat",
"title": "Current Enclosure Climate",
"datasource": {
"type": "prometheus",
@ -1698,20 +1431,17 @@ data:
},
"targets": [
{
"expr": "label_replace(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent != 0)) or on() vector(0), \"metric\", \"%RH\", \"__name__\", \".*\") or label_replace(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa != 0)) or on() vector(0), \"metric\", \"kPa\", \"__name__\", \".*\")",
"refId": "A",
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent != 0)) or on() vector(0)",
"legendFormat": "%RH",
"instant": true
},
{
"refId": "B",
"expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa != 0)) or on() vector(0)",
"legendFormat": "kPa",
"legendFormat": "{{metric}}",
"instant": true
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
@ -1726,8 +1456,9 @@ data:
}
]
},
"color": {
"mode": "thresholds"
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": [
@ -1758,104 +1489,17 @@ data:
]
},
"options": {
"inlineEditing": false,
"showAdvancedTypes": true,
"panZoom": false,
"infinitePan": false,
"root": {
"type": "frame",
"name": "Current Enclosure Climate frame",
"elements": [
{
"type": "metric-value",
"name": "Left value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 12,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "%RH",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "%RH",
"fixed": ""
}
},
"links": []
},
{
"type": "metric-value",
"name": "Right value",
"constraint": {
"horizontal": "left",
"vertical": "top"
},
"placement": {
"left": 168,
"top": 10,
"width": 146,
"height": 42
},
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
},
"config": {
"align": "center",
"valign": "middle",
"size": 30,
"color": {
"field": "kPa",
"fixed": "text"
},
"text": {
"mode": "field",
"field": "kPa",
"fixed": ""
}
},
"links": []
}
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"background": {
"color": {
"fixed": "transparent"
}
},
"border": {
"color": {
"fixed": "transparent"
}
}
}
"fields": "",
"values": false
},
"textMode": "name_and_value"
},
"links": [
{