diff --git a/grafana/grafana_dashboard.json b/grafana/grafana_dashboard.json index 1977ae7..1a244cb 100644 --- a/grafana/grafana_dashboard.json +++ b/grafana/grafana_dashboard.json @@ -132,7 +132,7 @@ }, "gridPos": { "h": 3, - "w": 24, + "w": 18, "x": 0, "y": 0 }, @@ -169,6 +169,74 @@ "title": "Repository Check", "type": "stat" }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 2 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 18, + "y": 0 + }, + "id": 42, + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "9.3.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "restic_locks_total", + "interval": "", + "legendFormat": "", + "range": true, + "refId": "A" + } + ], + "title": "Repository Locks", + "type": "stat" + }, { "datasource": { "type": "prometheus", @@ -254,7 +322,7 @@ }, "gridPos": { "h": 9, - "w": 15, + "w": 18, "x": 0, "y": 3 }, @@ -328,7 +396,7 @@ "client_id": true, "client_os_version": true, "client_username": true, - "client_version": true, + "client_version": false, "instance": true, "job": true, "snapshot_hash": true, @@ -378,8 +446,8 @@ }, "gridPos": { "h": 9, - "w": 9, - "x": 15, + "w": 6, + "x": 18, "y": 3 }, "id": 32, @@ -405,6 +473,11 @@ "pluginVersion": "9.3.0", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", "exemplar": true, "expr": "restic_backup_snapshots_total", "format": "table", @@ -412,11 +485,7 @@ "interval": "", "intervalFactor": 1, "legendFormat": "{{client_hostname}}", - "refId": "A", - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - } + "refId": "A" } ], "title": "Total snapshot count", @@ -494,7 +563,7 @@ }, "gridPos": { "h": 9, - "w": 9, + "w": 18, "x": 0, "y": 12 }, @@ -521,6 +590,10 @@ "pluginVersion": "9.3.0", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "exemplar": true, "expr": "restic_backup_size_total", "format": "table", @@ -528,36 +601,71 @@ "interval": "", "intervalFactor": 1, "legendFormat": "{{client_hostname}}", - "refId": "A", + "refId": "A" + }, + { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" - } + }, + "editorMode": "code", + "exemplar": true, + "expr": "restic_backup_files_total", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{client_hostname}}", + "refId": "B" } ], - "title": "Total backup size", + "title": "Total backup size & files", "transformations": [ + { + "id": "joinByField", + "options": { + "byField": "client_hostname", + "mode": "outer" + } + }, { "id": "organize", "options": { "excludeByName": { "Time": true, + "Time 1": true, + "Time 2": true, "__name__": true, + "__name__ 1": true, "backup_id": true, "backup_type": true, "client_hostname": false, "client_id": true, "client_os_version": true, "client_username": true, + "client_username 1": true, + "client_username 2": true, "client_version": true, + "client_version 1": true, + "client_version 2": true, "instance": true, + "instance 1": true, + "instance 2": true, "job": true, + "job 1": true, + "job 2": true, "snapshot_hash": true, + "snapshot_hash 1": true, + "snapshot_hash 2": true, "snapshot_id": true }, "indexByName": {}, "renameByName": { - "Value": "total_backup_size" + "Time 2": "", + "Value": "total_backup_size", + "Value #A": "total_backup_size", + "Value #B": "total_backup_files" } } } @@ -590,7 +698,7 @@ "gridPos": { "h": 9, "w": 6, - "x": 9, + "x": 18, "y": 12 }, "id": 35, @@ -661,109 +769,6 @@ ], "type": "piechart" }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "displayMode": "auto", - "filterable": false, - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 9, - "w": 9, - "x": 15, - "y": 12 - }, - "id": 33, - "links": [], - "maxDataPoints": 100, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "frameIndex": 1, - "showHeader": true, - "sortBy": [ - { - "desc": false, - "displayName": "client_hostname" - } - ] - }, - "pluginVersion": "9.3.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": true, - "expr": "restic_backup_files_total", - "format": "table", - "instant": true, - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{client_hostname}}", - "refId": "A" - } - ], - "title": "Total backup files", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "Time": true, - "__name__": true, - "backup_id": true, - "backup_type": true, - "client_hostname": false, - "client_id": true, - "client_os_version": true, - "client_username": true, - "client_version": true, - "instance": true, - "job": true, - "snapshot_hash": true, - "snapshot_id": true - }, - "indexByName": {}, - "renameByName": { - "Value": "total_backup_files" - } - } - } - ], - "type": "table" - }, { "datasource": { "type": "prometheus", @@ -1103,6 +1108,6 @@ "timezone": "", "title": "Restic Exporter", "uid": "2JzZl3B7k", - "version": 23, + "version": 25, "weekStart": "" } \ No newline at end of file diff --git a/grafana/grafana_dashboard.png b/grafana/grafana_dashboard.png index b5edc66..96ccaf8 100644 Binary files a/grafana/grafana_dashboard.png and b/grafana/grafana_dashboard.png differ