diff --git a/roles/grafana/files/dashboards/backups.json b/roles/grafana/files/dashboards/backups.json index 8aae25e050d5235a7da23c0ea938ec085ce91f4d..6bd9d015cc710d2c765adc18581506570ae81e8a 100644 --- a/roles/grafana/files/dashboards/backups.json +++ b/roles/grafana/files/dashboards/backups.json @@ -55,7 +55,6 @@ } }, "mappings": [], - "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -93,9 +92,9 @@ "targets": [ { "exemplar": true, - "expr": "hetzner_storage_box_size_bytes{instance=\"monitoring.archlinux.org\"}", + "expr": "10000*2^30", "interval": "", - "legendFormat": "Size", + "legendFormat": "Quota", "queryType": "randomWalk", "refId": "A" }, @@ -104,8 +103,24 @@ "expr": "hetzner_storage_box_used_bytes{instance=\"monitoring.archlinux.org\"}", "hide": false, "interval": "", - "legendFormat": "Used", + "legendFormat": "Backups", "refId": "B" + }, + { + "exemplar": true, + "expr": "10000*2^30 - hetzner_storage_box_size_bytes{instance=\"monitoring.archlinux.org\"}", + "hide": false, + "interval": "", + "legendFormat": "Snapshots", + "refId": "C" + }, + { + "exemplar": true, + "expr": "10000*2^30 - hetzner_storage_box_free_bytes{instance=\"monitoring.archlinux.org\"}", + "hide": false, + "interval": "", + "legendFormat": "Total Used", + "refId": "D" } ], "title": "Disk Usage (Hetzner)", @@ -119,26 +134,26 @@ "mode": "thresholds" }, "mappings": [], - "max": 1, + "max": 10737418240000, "min": 0, "thresholds": { "mode": "percentage", "steps": [ { - "color": "green", + "color": "red", "value": null }, { - "color": "#EAB839", - "value": 85 + "color": "yellow", + "value": 5 }, { - "color": "red", - "value": 95 + "color": "green", + "value": 15 } ] }, - "unit": "percentunit" + "unit": "bytes" }, "overrides": [] }, @@ -165,14 +180,14 @@ "targets": [ { "exemplar": true, - "expr": "hetzner_storage_box_used_bytes{instance=\"monitoring.archlinux.org\"} / hetzner_storage_box_size_bytes{instance=\"monitoring.archlinux.org\"}", + "expr": "hetzner_storage_box_free_bytes{instance=\"monitoring.archlinux.org\"}", "interval": "", "legendFormat": "", "queryType": "randomWalk", "refId": "A" } ], - "title": "Used Space (Hetzner)", + "title": "Free Space (Hetzner)", "type": "gauge" }, { @@ -363,5 +378,5 @@ "timezone": "", "title": "Borg Backups", "uid": "Rnqpymznz", - "version": 28 + "version": 30 } \ No newline at end of file diff --git a/roles/prometheus_exporters/files/borg-textcollector.sh b/roles/prometheus_exporters/files/borg-textcollector.sh index af88fe38ef50059628ad9b736bfcfb0adb30762b..5f723a891e7585d88c43884b6befe41b5f37baf0 100755 --- a/roles/prometheus_exporters/files/borg-textcollector.sh +++ b/roles/prometheus_exporters/files/borg-textcollector.sh @@ -38,14 +38,19 @@ if [[ -f /usr/local/bin/borg ]]; then STORAGE_BOX_DF=$(sftp -P23 u236610.your-storagebox.de <<<df 2>/dev/null | tail -1) STORAGE_BOX_SIZE=$(( 1024 * $(awk '{print $1}' <<<$STORAGE_BOX_DF) )) # KiB -> bytes STORAGE_BOX_USED=$(( 1024 * $(awk '{print $2}' <<<$STORAGE_BOX_DF) )) # KiB -> bytes + STORAGE_BOX_FREE=$(( 1024 * $(awk '{print $3}' <<<$STORAGE_BOX_DF) )) # KiB -> bytes - echo "# HELP hetzner_storage_box_size_bytes storage box total size in bytes" >> $TMP_FILE + echo "# HELP hetzner_storage_box_size_bytes storage box size in bytes (excl. snapshots)" >> $TMP_FILE echo "# TYPE hetzner_storage_box_size_bytes gauge" >> $TMP_FILE echo "hetzner_storage_box_size_bytes $STORAGE_BOX_SIZE" >> $TMP_FILE - echo "# HELP hetzner_storage_box_used_bytes storage box space used in bytes" >> $TMP_FILE + echo "# HELP hetzner_storage_box_used_bytes storage box used space in bytes" >> $TMP_FILE echo "# TYPE hetzner_storage_box_used_bytes gauge" >> $TMP_FILE echo "hetzner_storage_box_used_bytes $STORAGE_BOX_USED" >> $TMP_FILE + + echo "# HELP hetzner_storage_box_free_bytes storage box free space in bytes" >> $TMP_FILE + echo "# TYPE hetzner_storage_box_free_bytes gauge" >> $TMP_FILE + echo "hetzner_storage_box_free_bytes $STORAGE_BOX_FREE" >> $TMP_FILE fi # rsync.net borg