lots of stuff

This commit is contained in:
bee
2026-08-16 14:48:04 +02:00
parent c63db540e8
commit 49fa352476
45 changed files with 32520 additions and 93 deletions
@@ -0,0 +1,149 @@
{
"id": null,
"uid": "beepi-uptimerobot",
"title": "External Checks",
"tags": ["beepi", "uptimerobot"],
"timezone": "browser",
"schemaVersion": 39,
"version": 1,
"refresh": "5m",
"time": {"from": "now-24h", "to": "now"},
"panels": [
{
"type": "stat",
"title": "Monitors down",
"id": 1,
"gridPos": {"h": 5, "w": 6, "x": 0, "y": 0},
"datasource": {"type": "yesoreyeram-infinity-datasource", "uid": "{{ grafana_uptimerobot_uid }}"},
"targets": [
{
"refId": "A",
"datasource": {"type": "yesoreyeram-infinity-datasource", "uid": "{{ grafana_uptimerobot_uid }}"},
"type": "json",
"source": "url",
"parser": "backend",
"format": "table",
"url": "https://api.uptimerobot.com/v2/getMonitors?format=json&custom_uptime_ratios=1-7-30",
"url_options": {"method": "POST", "data": ""},
"root_selector": "monitors",
"columns": [
{"selector": "friendly_name", "text": "Monitor", "type": "string"},
{"selector": "status", "text": "Status", "type": "number"}
],
"filterExpression": "status == 8 || status == 9"
}
],
"transformations": [{"id": "reduce", "options": {"reducers": ["count"]}}],
"fieldConfig": {
"defaults": {
"thresholds": {"mode": "absolute", "steps": [{"color": "green", "value": null}, {"color": "red", "value": 1}]},
"unit": "short"
},
"overrides": []
},
"options": {
"colorMode": "background",
"graphMode": "none",
"textMode": "value",
"reduceOptions": {"calcs": ["lastNotNull"], "fields": "/^Status$/", "values": false}
}
},
{
"type": "table",
"title": "UptimeRobot monitors",
"id": 2,
"gridPos": {"h": 12, "w": 18, "x": 6, "y": 0},
"datasource": {"type": "yesoreyeram-infinity-datasource", "uid": "{{ grafana_uptimerobot_uid }}"},
"targets": [
{
"refId": "A",
"datasource": {"type": "yesoreyeram-infinity-datasource", "uid": "{{ grafana_uptimerobot_uid }}"},
"type": "json",
"source": "url",
"parser": "backend",
"format": "table",
"url": "https://api.uptimerobot.com/v2/getMonitors?format=json&custom_uptime_ratios=1-7-30",
"url_options": {"method": "POST", "data": ""},
"root_selector": "monitors",
"columns": [
{"selector": "friendly_name", "text": "Monitor", "type": "string"},
{"selector": "status", "text": "Status", "type": "number"},
{"selector": "custom_uptime_ratio", "text": "Uptime 1d-7d-30d", "type": "string"},
{"selector": "interval", "text": "Interval", "type": "number"},
{"selector": "url", "text": "URL", "type": "string"}
]
}
],
"fieldConfig": {
"defaults": {"custom": {"align": "auto", "cellOptions": {"type": "auto"}}},
"overrides": [
{
"matcher": {"id": "byName", "options": "Status"},
"properties": [
{"id": "custom.cellOptions", "value": {"type": "color-background"}},
{"id": "mappings", "value": [{"type": "value", "options": {
"0": {"text": "paused", "color": "text", "index": 0},
"1": {"text": "not checked", "color": "blue", "index": 1},
"2": {"text": "UP", "color": "green", "index": 2},
"8": {"text": "SEEMS DOWN", "color": "orange", "index": 3},
"9": {"text": "DOWN", "color": "red", "index": 4}
}}]},
{"id": "custom.width", "value": 130}
]
},
{
"matcher": {"id": "byName", "options": "Interval"},
"properties": [{"id": "unit", "value": "s"}, {"id": "custom.width", "value": 100}]
},
{
"matcher": {"id": "byName", "options": "Uptime 1d-7d-30d"},
"properties": [{"id": "custom.width", "value": 190}]
}
]
},
"options": {"showHeader": true, "sortBy": [{"displayName": "Status", "desc": true}]}
},
{
"type": "stat",
"title": "Monitors configured",
"id": 3,
"gridPos": {"h": 5, "w": 6, "x": 0, "y": 5},
"datasource": {"type": "yesoreyeram-infinity-datasource", "uid": "{{ grafana_uptimerobot_uid }}"},
"targets": [
{
"refId": "A",
"datasource": {"type": "yesoreyeram-infinity-datasource", "uid": "{{ grafana_uptimerobot_uid }}"},
"type": "json",
"source": "url",
"parser": "backend",
"format": "table",
"url": "https://api.uptimerobot.com/v2/getMonitors?format=json",
"url_options": {"method": "POST", "data": ""},
"root_selector": "monitors",
"columns": [{"selector": "status", "text": "Status", "type": "number"}]
}
],
"transformations": [{"id": "reduce", "options": {"reducers": ["count"]}}],
"fieldConfig": {
"defaults": {"color": {"mode": "fixed", "fixedColor": "blue"}, "unit": "short"},
"overrides": []
},
"options": {
"colorMode": "value",
"graphMode": "none",
"textMode": "value",
"reduceOptions": {"calcs": ["lastNotNull"], "fields": "/^Status$/", "values": false}
}
},
{
"type": "text",
"title": "About",
"id": 4,
"gridPos": {"h": 4, "w": 24, "x": 0, "y": 12},
"options": {
"mode": "markdown",
"content": "External reachability is checked by UptimeRobot from outside the network, which is the one thing this stack cannot do for itself: everything else runs on beepi, so it cannot report that beepi is down.\n\nThe free plan allows 10 API requests per minute. This dashboard refreshes every 5 minutes."
}
}
]
}