diff --git a/README.md b/README.md index e69de29b..163cda10 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,23 @@ +## Visualize using Grafana + +To import the sample Grafana dashboard, follow these steps: + +1. Download the dashboard file `uptime-kuma.json`. +2. Open your Grafana instance in a web browser. +3. Log in to Grafana with your username and password. +4. Click on the "plus" icon in the left sidebar to open the "Create" menu. +5. Select "Import" from the "Create" menu. +6. Click on the "Choose File" button and select the .json file that you downloaded in step 1. +7. Click on the "Load" button to begin the import process. +8. If prompted, select prometheus as the data source that you want to use with the dashboard. +9. Review the dashboard and click on the "Import" button to complete the process. + +You should now see the imported dashboard listed in the "Dashboards" section of the left sidebar. You can click on the +dashboard to view it. + + +### Post Configuration + +Now after the Dashboard was imported successfully we have to tell Grafana wich Datasource and Prometheus Job is the right one to use. To do so, select the right Datasource, Job and Instance one the Dropdown menus at the top left of the dashboard. Right after your selection the dashboard should update automatically and should now display your data. + +Additionally there is a hyperlink on the top right hand side which you can configure to bring you right to your Uptime-Kuma instance. To do so, klick at the Gear-Icon in the top left bar and navigate to Links. Klick on the 'Uptime-Kuma Instance'-Link and paste your own Instance-URL diff --git a/uptime-kuma.json b/uptime-kuma.json index b2b1c759..bcc63753 100644 --- a/uptime-kuma.json +++ b/uptime-kuma.json @@ -1,30 +1,12 @@ { - "__inputs": [], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "8.1.1" - }, - { - "type": "panel", - "id": "stat", - "name": "Stat", - "version": "" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" - } - ], "annotations": { "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -39,14 +21,226 @@ } ] }, + "description": "A simple dashboard showcasing service status updates over time tracked by the Uptime Kuma monitoring tool.", "editable": true, - "gnetId": 14847, + "fiscalYearStartMonth": 0, "graphTooltip": 0, - "id": null, - "links": [], + "id": 9, + "links": [ + { + "asDropdown": false, + "icon": "cloud", + "includeVars": false, + "keepTime": false, + "tags": [], + "targetBlank": true, + "title": "Uptime Kuma Instance", + "tooltip": "Open Dashboard", + "type": "link", + "url": "https://uptime.example.com" + }, + { + "asDropdown": false, + "icon": "external link", + "includeVars": false, + "keepTime": false, + "tags": [], + "targetBlank": true, + "title": "GitHub", + "tooltip": "Open GitHub-Repo", + "type": "link", + "url": "https://github.com/louislam/uptime-kuma" + } + ], + "liveNow": false, "panels": [ { - "datasource": null, + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 10, + "panels": [], + "title": "Overview", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 0, + "mappings": [], + "min": 0, + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 12, + "x": 0, + "y": 1 + }, + "id": 6, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "center", + "orientation": "vertical", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": false + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count by(instance) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type!=\"group\"})", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Total", + "range": false, + "refId": "Total", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count by(instance) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type!=\"group\"} == 1)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Active", + "range": false, + "refId": "Active", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count by(instance) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type!=\"group\"} == 2)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Pending", + "range": false, + "refId": "Pending", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count by(instance) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type!=\"group\"} == 0)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Inactive", + "range": false, + "refId": "Inactive", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count by(instance) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type!=\"group\"} == 3)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Under Maintenance", + "range": false, + "refId": "Maintenance", + "useBackend": false + } + ], + "title": "Services", + "transformations": [ + { + "disabled": true, + "id": "calculateField", + "options": { + "alias": "Pending / Inactive", + "binary": { + "left": "Total", + "operator": "-", + "right": "Active" + }, + "mode": "binary", + "reduce": { + "reducer": "sum" + } + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "This Panel lists Services that are in inactive state", "fieldConfig": { "defaults": { "color": { @@ -56,72 +250,81 @@ { "options": { "0": { - "color": "red", + "color": "dark-red", "index": 0, - "text": "DOWN" - }, - "1": { - "color": "green", - "index": 1, - "text": "UP" + "text": "Down" } }, "type": "value" } ], + "noValue": "Everything UP", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null - }, - { - "color": "red", - "value": 80 } ] - } + }, + "unit": "bool" }, "overrides": [] }, "gridPos": { - "h": 8, - "w": 9, - "x": 0, - "y": 0 + "h": 28, + "w": 4, + "x": 12, + "y": 1 }, - "id": 4, + "id": 9, "options": { - "colorMode": "background", - "graphMode": "area", + "colorMode": "background_solid", + "graphMode": "none", "justifyMode": "center", - "orientation": "auto", + "orientation": "horizontal", "reduceOptions": { "calcs": [ - "lastNotNull" + "last" ], "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "name", + "wideLayout": false }, - "pluginVersion": "8.1.1", + "pluginVersion": "10.4.1", "targets": [ { - "exemplar": true, - "expr": "monitor_status ", - "interval": "", - "legendFormat": "{{ monitor_name }}", - "refId": "A" + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type!=\"group\"} == 0", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "{{monitor_name}}", + "range": false, + "refId": "A", + "useBackend": false } ], - "title": "Site Status", + "title": "Unhealthy Services", "type": "stat" }, { - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "This Panel lists Services that are in pending state", "fieldConfig": { "defaults": { "color": { @@ -130,235 +333,1947 @@ "mappings": [ { "options": { - "0": { - "color": "red", + "2": { + "color": "semi-dark-yellow", "index": 0, - "text": "EXPIRED" - }, - "1": { - "color": "green", - "index": 1, - "text": "VALID" + "text": "Pending" } }, "type": "value" } ], + "noValue": "Everything UP", "thresholds": { "mode": "absolute", "steps": [ { - "color": "red", + "color": "green", "value": null + } + ] + }, + "unit": "bool" + }, + "overrides": [] + }, + "gridPos": { + "h": 28, + "w": 4, + "x": 16, + "y": 1 + }, + "id": 2, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "text": {}, + "textMode": "name", + "wideLayout": true + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type!=\"group\"} == 2", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "{{monitor_name}}", + "range": false, + "refId": "B", + "useBackend": false + } + ], + "title": "Pending Services", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "This Panel lists Services that are currently under Maintenance\n", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "3": { + "color": "dark-orange", + "index": 0, + "text": "Maintenance" + } }, + "type": "value" + } + ], + "noValue": "Everything UP", + "thresholds": { + "mode": "absolute", + "steps": [ { "color": "green", - "value": 1 + "value": null } ] - } + }, + "unit": "bool" }, "overrides": [] }, "gridPos": { - "h": 8, - "w": 9, - "x": 12, - "y": 0 + "h": 28, + "w": 4, + "x": 20, + "y": 1 }, - "id": 5, + "id": 15, "options": { - "colorMode": "background", - "graphMode": "area", - "justifyMode": "center", - "orientation": "auto", + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", "reduceOptions": { "calcs": [ - "lastNotNull" + "last" ], "fields": "", "values": false }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "name", + "wideLayout": true }, - "pluginVersion": "8.1.1", + "pluginVersion": "10.4.1", "targets": [ { - "exemplar": true, - "expr": "monitor_cert_is_valid", - "interval": "", - "legendFormat": "{{ monitor_name }}", - "refId": "A" + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type!=\"group\"} == 3", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "{{monitor_name}}", + "range": false, + "refId": "B", + "useBackend": false } ], - "title": "TLS Certificate Status", + "title": "Services in Maintenance", "type": "stat" }, { - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "This panel shows all http services and the remaining days after the certificate needs to be renewed", "fieldConfig": { "defaults": { "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { - "color": "green", + "color": "dark-red", "value": null }, { - "color": "red", - "value": 80 + "color": "#EAB839", + "value": 15 + }, + { + "color": "light-green", + "value": 30 + }, + { + "color": "dark-green", + "value": 60 } ] }, - "unit": "ms" + "unit": "short" }, "overrides": [] }, "gridPos": { - "h": 8, + "h": 24, "w": 9, "x": 0, - "y": 8 + "y": 5 }, - "id": 2, + "id": 8, "options": { - "legend": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { "calcs": [ - "max", - "min", - "lastNotNull" + "last" ], - "displayMode": "table", - "placement": "bottom" + "fields": "", + "values": false }, - "tooltip": { - "mode": "single" - } + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, + "pluginVersion": "10.4.1", "targets": [ { - "exemplar": true, - "expr": "sum(monitor_response_time{}) by (monitor_name)", - "interval": "", - "legendFormat": "{{ monitor_name }}", - "refId": "A" + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sort(monitor_cert_days_remaining{instance=\"$Instance\", monitor_type=\"http\", job=\"$job\"} < 65)", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "{{monitor_name}}", + "range": false, + "refId": "A", + "useBackend": false } ], - "title": "Response Times", - "type": "timeseries" + "timeFrom": "1d", + "title": "Certificate Validity Days", + "type": "stat" }, { - "datasource": null, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, + "decimals": 0, "mappings": [], + "min": 0, + "noValue": "0", "thresholds": { "mode": "absolute", "steps": [ { - "color": "red", + "color": "green", "value": null }, { - "color": "#EAB839", - "value": 30 - }, - { - "color": "green", - "value": 60 + "color": "red", + "value": 80 } ] - } + }, + "unit": "short" }, "overrides": [] }, "gridPos": { - "h": 8, - "w": 9, - "x": 12, - "y": 8 + "h": 24, + "w": 3, + "x": 9, + "y": 5 }, - "id": 6, + "id": 28, "options": { - "colorMode": "background", - "graphMode": "area", + "colorMode": "none", + "graphMode": "none", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ - "lastNotNull" + "last" ], "fields": "", "values": false }, - "text": {}, - "textMode": "auto" + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true }, - "pluginVersion": "8.1.1", + "pluginVersion": "10.4.1", "targets": [ { - "exemplar": true, - "expr": "monitor_cert_days_remaining", - "interval": "", - "legendFormat": "{{ monitor_name }}", - "refId": "A" + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sort_desc(count by(monitor_type) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type!=\"group\"}))", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "{{monitor_type}}", + "range": false, + "refId": "Maintenance", + "useBackend": false + } + ], + "title": "Monitors by Type", + "transformations": [ + { + "disabled": true, + "id": "calculateField", + "options": { + "alias": "Pending / Inactive", + "binary": { + "left": "Total", + "operator": "-", + "right": "Active" + }, + "mode": "binary", + "reduce": { + "reducer": "sum" + } + } } ], - "title": "TLS Certificate Remaining Days", "type": "stat" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 29 + }, + "id": 27, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "0": { + "color": "dark-red", + "index": 0, + "text": "Child(s) Inactive" + }, + "1": { + "color": "dark-green", + "index": 1, + "text": "All Childs Active" + }, + "2": { + "color": "semi-dark-yellow", + "index": 2, + "text": "Pending Child(s)" + } + }, + "type": "value" + } + ], + "noValue": "No Data / Please select Groups", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 15, + "w": 8, + "x": 0, + "y": 10 + }, + "id": 14, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type=\"group\", monitor_name=~\"$groups\"}", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "{{monitor_name}}", + "range": false, + "refId": "Groups", + "useBackend": false + } + ], + "title": "Group Status", + "transformations": [ + { + "disabled": true, + "id": "calculateField", + "options": { + "alias": "Pending / Inactive", + "binary": { + "left": "Total", + "operator": "-", + "right": "Active" + }, + "mode": "binary", + "reduce": { + "reducer": "sum" + } + } + } + ], + "type": "stat" + } + ], + "title": "Groups", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 30 + }, + "id": 11, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 0, + "mappings": [], + "min": 0, + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 12, + "x": 0, + "y": 11 + }, + "id": 23, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "center", + "orientation": "vertical", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": false + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count by(instance) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type=\"$monitor_types\"})", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Total", + "range": false, + "refId": "Total", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count by(instance) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type=\"$monitor_types\"} == 1)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Active", + "range": false, + "refId": "Active", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count by(instance) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type=\"$monitor_types\"} == 2)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Pending", + "range": false, + "refId": "Pending", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count by(instance) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type=\"$monitor_types\"} == 0)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Inactive", + "range": false, + "refId": "Inactive", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "count by(instance) (monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type=\"$monitor_types\"} == 3)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Under Maintenance", + "range": false, + "refId": "Maintenance", + "useBackend": false + } + ], + "title": "Services", + "transformations": [ + { + "disabled": true, + "id": "calculateField", + "options": { + "alias": "Pending / Inactive", + "binary": { + "left": "Total", + "operator": "-", + "right": "Active" + }, + "mode": "binary", + "reduce": { + "reducer": "sum" + } + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "This Panel lists Services that are in inactive state", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "0": { + "color": "dark-red", + "index": 0, + "text": "Down" + } + }, + "type": "value" + } + ], + "noValue": "Everything UP", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bool" + }, + "overrides": [] + }, + "gridPos": { + "h": 20, + "w": 4, + "x": 12, + "y": 11 + }, + "id": 24, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "center", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "text": {}, + "textMode": "name", + "wideLayout": false + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type=\"$monitor_types\"} == 0", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "{{monitor_name}}", + "range": false, + "refId": "A", + "useBackend": false + } + ], + "title": "Unhealthy Services", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "This Panel lists Services that are in pending state", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "2": { + "color": "semi-dark-yellow", + "index": 0, + "text": "Pending" + } + }, + "type": "value" + } + ], + "noValue": "Everything UP", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bool" + }, + "overrides": [] + }, + "gridPos": { + "h": 20, + "w": 4, + "x": 16, + "y": 11 + }, + "id": 25, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "text": {}, + "textMode": "name", + "wideLayout": true + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type=\"$monitor_types\"} == 2", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "{{monitor_name}}", + "range": false, + "refId": "B", + "useBackend": false + } + ], + "title": "Pending Services", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "This Panel lists Services that are currently under Maintenance\n", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "3": { + "color": "dark-orange", + "index": 0, + "text": "Maintenance" + } + }, + "type": "value" + } + ], + "noValue": "Everything UP", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "bool" + }, + "overrides": [] + }, + "gridPos": { + "h": 20, + "w": 4, + "x": 20, + "y": 11 + }, + "id": 26, + "options": { + "colorMode": "background_solid", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "last" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "text": {}, + "textMode": "name", + "wideLayout": true + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "monitor_status{instance=\"$Instance\", job=\"$job\", monitor_type=\"$monitor_types\"} == 3", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "{{monitor_name}}", + "range": false, + "refId": "B", + "useBackend": false + } + ], + "title": "Services in Maintenance", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "This panel shows the different $monitor_types based services and their response times in the selected interval as well as their mean- and minimum response time.", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds", + "seriesBy": "last" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "series", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 23, + "gradientMode": "hue", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineStyle": { + "fill": "solid" + }, + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": 300000, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "dashed+area" + } + }, + "decimals": 0, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "yellow", + "value": 400 + }, + { + "color": "dark-orange", + "value": 600 + }, + { + "color": "red", + "value": 1000 + }, + { + "color": "dark-red", + "value": 1500 + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 16, + "w": 12, + "x": 0, + "y": 15 + }, + "id": 4, + "options": { + "legend": { + "calcs": [ + "mean", + "min" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "monitor_response_time{monitor_type=\"$monitor_types\", instance=\"$Instance\", job=\"$job\"}", + "fullMetaSearch": false, + "includeNullMetadata": true, + "legendFormat": "{{monitor_name}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Response Times of all $monitor_types - Based Services", + "type": "timeseries" + } + ], + "repeat": "monitor_types", + "repeatDirection": "h", + "title": "Service Details ($monitor_types based)", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 48 + }, + "id": 17, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 12 + }, + "id": 16, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "name", + "wideLayout": true + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_version_info", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "{{version}}", + "range": false, + "refId": "A", + "useBackend": false + } + ], + "title": "NodeJS Version", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-GrYlRd" + }, + "decimals": 1, + "mappings": [], + "max": 0.25, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 2, + "y": 12 + }, + "id": 22, + "options": { + "minVizHeight": 75, + "minVizWidth": 75, + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "sizing": "auto" + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_eventloop_lag_min_seconds{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Min", + "range": false, + "refId": "Min", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_eventloop_lag_mean_seconds{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Mean", + "range": false, + "refId": "Mean", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_eventloop_lag_max_seconds{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Max", + "range": false, + "refId": "Max", + "useBackend": false + } + ], + "title": "Event Loop Delay", + "type": "gauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 7, + "y": 12 + }, + "id": 19, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_active_handles_total{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Active Handles", + "range": false, + "refId": "Active Handles", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_active_handles_total{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Active Handles Total", + "range": false, + "refId": "Active Handles Total", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_active_requests_total{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Active Requets Total", + "range": false, + "refId": "Active Requests Total", + "useBackend": false + } + ], + "title": "Node JS", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 11, + "x": 13, + "y": 12 + }, + "id": 18, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "process_resident_memory_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Resident Memory", + "range": false, + "refId": "Resident Memory", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "process_virtual_memory_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Virtual Memory", + "range": false, + "refId": "Virtual Memory", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_external_memory_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "External Memory", + "range": false, + "refId": "External Memory", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "process_heap_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Heap", + "range": false, + "refId": "Heap", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_heap_size_total_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Heap Total", + "range": false, + "refId": "Heap Total", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_heap_size_used_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Heap Used", + "range": false, + "refId": "Heap Used", + "useBackend": false + } + ], + "title": "Memory", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 6, + "x": 7, + "y": 16 + }, + "id": 20, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "process_open_fds{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Open File Descriptors", + "range": false, + "refId": "Open FDS", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "process_max_fds{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Max Open File Descriptors", + "range": false, + "refId": "Max open FDS", + "useBackend": false + } + ], + "title": "Process FDS", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 11, + "x": 13, + "y": 16 + }, + "id": 21, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "10.4.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "process_resident_memory_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "Resident Memory", + "range": true, + "refId": "Resident Memory", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_external_memory_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "External Memory", + "range": true, + "refId": "External Memory", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "process_heap_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "Heap", + "range": true, + "refId": "Heap", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_heap_size_total_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "Heap Total", + "range": true, + "refId": "Heap Total", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "nodejs_heap_size_used_bytes{job=\"$job\", instance=\"$Instance\"}", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "Heap Used", + "range": true, + "refId": "Heap Used", + "useBackend": false + } + ], + "title": "Memory", + "type": "timeseries" + } + ], + "title": "System", + "type": "row" } ], - "schemaVersion": 30, - "style": "dark", - "tags": [], + "refresh": "auto", + "schemaVersion": 39, + "tags": [ + "uptime-kuma", + "metrics" + ], "templating": { - "list": [] + "list": [ + { + "current": { + "selected": false, + "text": "Prometheus", + "value": "${datasource}" + }, + "hide": 0, + "includeAll": false, + "label": "Datasource", + "multi": false, + "name": "datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": { + "selected": false, + "text": "Uptime-Kuma", + "value": "Uptime-Kuma" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(job)", + "hide": 0, + "includeAll": false, + "label": "Job", + "multi": false, + "name": "job", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(job)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "current": { + "selected": false, + "text": "status_online:3001", + "value": "status_online:3001" + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "query_result(monitor_status)", + "hide": 0, + "includeAll": false, + "multi": false, + "name": "Instance", + "options": [], + "query": { + "qryType": 3, + "query": "query_result(monitor_status)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "/.*instance=\"([^\"]*).*/", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "allValue": "All", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values(monitor_type)", + "hide": 0, + "includeAll": true, + "label": "Monitor Type", + "multi": true, + "name": "monitor_types", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(monitor_type)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "allValue": "", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${datasource}" + }, + "definition": "label_values({monitor_type=\"group\"},monitor_name)", + "hide": 0, + "includeAll": true, + "label": "Groups", + "multi": true, + "name": "groups", + "options": [], + "query": { + "qryType": 1, + "query": "label_values({monitor_type=\"group\"},monitor_name)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + } + ] }, "time": { - "from": "now-15m", + "from": "now-24h", "to": "now" }, - "timepicker": {}, - "timezone": "", - "title": "Uptime Kuma", + "timepicker": { + "refresh_intervals": [ + "1m", + "5m", + "15m", + "30m" + ] + }, + "timezone": "browser", + "title": "Uptime-Kuma Status", "uid": "CN8E-vZ7k", - "version": 1, - "description": "A dashboard to show the data from the excellent Uptime Kuma project!" -} \ No newline at end of file + "version": 2, + "weekStart": "monday" +}