{ "uid": "homelab-availability", "title": "Homelab / Availability", "tags": ["homelab", "blackbox", "uptime"], "timezone": "browser", "schemaVersion": 39, "version": 1, "refresh": "30s", "time": { "from": "now-6h", "to": "now" }, "templating": { "list": [ { "name": "target", "label": "Target", "type": "query", "datasource": "Prometheus", "query": "label_values(probe_success{job=\"blackbox-http\"}, instance)", "refresh": 1, "includeAll": true, "multi": true, "allValue": ".+", "current": { "selected": true, "text": "All", "value": "$__all" } } ] }, "panels": [ { "id": 1, "type": "stat", "title": "Endpoints up", "datasource": "Prometheus", "gridPos": {"h": 5, "w": 6, "x": 0, "y": 0}, "targets": [ { "refId": "A", "expr": "sum(probe_success{job=\"blackbox-http\", instance=~\"${target:regex}\"})" } ], "fieldConfig": { "defaults": { "unit": "short", "thresholds": { "mode": "absolute", "steps": [ {"color": "red", "value": null}, {"color": "green", "value": 1} ] } }, "overrides": [] }, "options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}} }, { "id": 2, "type": "stat", "title": "Endpoints down", "datasource": "Prometheus", "gridPos": {"h": 5, "w": 6, "x": 6, "y": 0}, "targets": [ { "refId": "A", "expr": "count(probe_success{job=\"blackbox-http\", instance=~\"${target:regex}\"}) - sum(probe_success{job=\"blackbox-http\", instance=~\"${target:regex}\"})" } ], "fieldConfig": { "defaults": { "unit": "short", "thresholds": { "mode": "absolute", "steps": [ {"color": "green", "value": null}, {"color": "red", "value": 1} ] } }, "overrides": [] }, "options": {"reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}} }, { "id": 3, "type": "timeseries", "title": "Probe duration", "datasource": "Prometheus", "gridPos": {"h": 8, "w": 12, "x": 12, "y": 0}, "targets": [ { "refId": "A", "expr": "probe_duration_seconds{job=\"blackbox-http\", instance=~\"${target:regex}\"}", "legendFormat": "{{instance}}" } ], "fieldConfig": {"defaults": {"unit": "s"}, "overrides": []}, "options": {"legend": {"displayMode": "list", "placement": "bottom"}} }, { "id": 4, "type": "timeseries", "title": "Availability", "datasource": "Prometheus", "gridPos": {"h": 8, "w": 12, "x": 0, "y": 5}, "targets": [ { "refId": "A", "expr": "probe_success{job=\"blackbox-http\", instance=~\"${target:regex}\"}", "legendFormat": "{{instance}}" } ], "fieldConfig": {"defaults": {"unit": "bool"}, "overrides": []}, "options": {"legend": {"displayMode": "list", "placement": "bottom"}} }, { "id": 5, "type": "table", "title": "HTTP status", "datasource": "Prometheus", "gridPos": {"h": 9, "w": 24, "x": 0, "y": 13}, "targets": [ { "refId": "A", "expr": "probe_http_status_code{job=\"blackbox-http\", instance=~\"${target:regex}\"}", "format": "table", "instant": true } ], "transformations": [ { "id": "organize", "options": { "excludeByName": {"Time": true, "__name__": true, "job": true}, "renameByName": {"Value": "status_code", "instance": "target"} } } ] } ] }