feat: enhance WaaS Grafana dashboard with data links, backup monitoring, and layout improvements

- Add clickable links: Site Status → admin, API Reachable → endpoint, HTTP Status → Wikipedia reference, Last Backup/Records → Akeeba Manage
- Fix backup status doubling with max by() aggregation
- Show version as two-row display (site name + version string) using table format with labelsToFields
- Map 0 values to dash on Extensions, Enabled, Disabled panels
- Set minVizWidth for 3-column wrapping layout
- All links use dynamic Grafana variables, no hardcoded endpoints

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jonathan Miller
2026-05-11 22:41:41 -05:00
parent 0e273dae96
commit 2e57e60335
+145 -27
View File
@@ -36,6 +36,13 @@
"type": "value"
}
],
"links": [
{
"title": "Open Admin",
"url": "${__field.labels.instance}/administrator/",
"targetBlank": true
}
],
"thresholds": {
"steps": [
{
@@ -54,12 +61,14 @@
"x": 0,
"y": 1,
"w": 12,
"h": 4
"h": 6
},
"id": 1,
"options": {
"colorMode": "background",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -120,7 +129,9 @@
"id": 2,
"options": {
"colorMode": "background",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -142,6 +153,13 @@
},
"fieldConfig": {
"defaults": {
"links": [
{
"title": "HTTP Status Code Reference",
"url": "https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#${__value.raw}",
"targetBlank": true
}
],
"thresholds": {
"steps": [
{
@@ -177,7 +195,9 @@
"id": 3,
"options": {
"colorMode": "background",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -228,7 +248,9 @@
"id": 4,
"options": {
"colorMode": "background",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -265,6 +287,13 @@
"type": "value"
}
],
"links": [
{
"title": "Open Site",
"url": "${__field.labels.exported_instance}",
"targetBlank": true
}
],
"noValue": "N/A",
"thresholds": {
"steps": [
@@ -289,7 +318,9 @@
"id": 5,
"options": {
"colorMode": "background",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -332,7 +363,9 @@
"id": 6,
"options": {
"colorMode": "value",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -364,8 +397,16 @@
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"gridPos": {
"x": 0,
"y": 14,
"w": 12,
"h": 4
},
"id": 10,
"fieldConfig": {
"defaults": {
"noValue": "—",
"thresholds": {
"steps": [
{
@@ -376,17 +417,15 @@
}
}
},
"gridPos": {
"x": 0,
"y": 14,
"w": 12,
"h": 4
},
"id": 10,
"options": {
"colorMode": "background",
"graphMode": "none",
"textMode": "name"
"textMode": "value_and_name",
"reduceOptions": {
"values": true,
"calcs": [],
"fields": "/^version$/"
}
},
"targets": [
{
@@ -395,7 +434,28 @@
"uid": "PBFA97CFB590B2093"
},
"expr": "joomla_core_version_info{site=~\"$site\"}",
"legendFormat": "{{site}} {{version}}"
"instant": true,
"format": "table"
}
],
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true,
"Value": true,
"__name__": true,
"client": true,
"exported_instance": true,
"instance": true,
"job": true
},
"indexByName": {
"site": 0,
"version": 1
}
}
}
],
"title": "Joomla Version",
@@ -447,7 +507,9 @@
"id": 11,
"options": {
"colorMode": "background",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -469,7 +531,17 @@
},
"fieldConfig": {
"defaults": {
"noValue": "N/A",
"mappings": [
{
"options": {
"0": {
"text": "—"
}
},
"type": "value"
}
],
"noValue": "—",
"thresholds": {
"steps": [
{
@@ -489,7 +561,9 @@
"id": 12,
"options": {
"colorMode": "value",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -511,7 +585,17 @@
},
"fieldConfig": {
"defaults": {
"noValue": "N/A",
"mappings": [
{
"options": {
"0": {
"text": "—"
}
},
"type": "value"
}
],
"noValue": "—",
"thresholds": {
"steps": [
{
@@ -531,7 +615,9 @@
"id": 13,
"options": {
"colorMode": "value",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -553,7 +639,17 @@
},
"fieldConfig": {
"defaults": {
"noValue": "N/A",
"mappings": [
{
"options": {
"0": {
"text": "—"
}
},
"type": "value"
}
],
"noValue": "—",
"thresholds": {
"steps": [
{
@@ -581,7 +677,9 @@
"id": 14,
"options": {
"colorMode": "value",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -737,6 +835,13 @@
"type": "value"
}
],
"links": [
{
"title": "Manage Backups",
"url": "${__field.labels.exported_instance}/administrator/index.php?option=com_akeebabackup&view=Manage",
"targetBlank": true
}
],
"noValue": "No Data",
"thresholds": {
"steps": [
@@ -761,7 +866,9 @@
"id": 40,
"options": {
"colorMode": "background",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -769,7 +876,7 @@
"type": "prometheus",
"uid": "PBFA97CFB590B2093"
},
"expr": "joomla_backup_status{site=~\"$site\"}",
"expr": "max by (site, exported_instance, client) (joomla_backup_status{site=~\"$site\"})",
"legendFormat": "{{site}}"
}
],
@@ -812,7 +919,9 @@
"id": 41,
"options": {
"colorMode": "value",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{
@@ -834,6 +943,13 @@
},
"fieldConfig": {
"defaults": {
"links": [
{
"title": "Manage Backups",
"url": "${__field.labels.exported_instance}/administrator/index.php?option=com_akeebabackup&view=Manage",
"targetBlank": true
}
],
"noValue": "N/A",
"thresholds": {
"steps": [
@@ -858,7 +974,9 @@
"id": 42,
"options": {
"colorMode": "value",
"graphMode": "none"
"graphMode": "none",
"minVizWidth": 200,
"minVizHeight": 50
},
"targets": [
{