From 0b2d8a8b39d35262cdc3abe906e8459a56839931 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <evangelos@foutrelis.com>
Date: Thu, 24 Jun 2021 23:44:23 +0300
Subject: [PATCH] Monitor borg repo sizes

---
 .../prometheus_exporters/files/borg-textcollector.sh | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/roles/prometheus_exporters/files/borg-textcollector.sh b/roles/prometheus_exporters/files/borg-textcollector.sh
index 6ff39378a..5ae7a43bf 100755
--- a/roles/prometheus_exporters/files/borg-textcollector.sh
+++ b/roles/prometheus_exporters/files/borg-textcollector.sh
@@ -28,6 +28,12 @@ if [[ -f /usr/local/bin/borg ]]; then
   echo "# HELP borg_hetzner_last_archive_timestamp timestamp of last backup in UTC" >> $TMP_FILE
   echo "# TYPE borg_hetzner_last_archive_timestamp counter" >> $TMP_FILE
   echo "borg_hetzner_last_archive_timestamp $LAST_ARCHIVE_TIMESTAMP" >> $TMP_FILE;
+
+  ALL_ARCHIVES_SIZE=$(/usr/local/bin/borg info --json | jq '.cache.stats.unique_csize')
+
+  echo "# HELP borg_hetzner_all_archives_size_bytes amount of data stored in the repo in bytes" >> $TMP_FILE
+  echo "# TYPE borg_hetzner_all_archives_size_bytes gauge" >> $TMP_FILE
+  echo "borg_hetzner_all_archives_size_bytes $ALL_ARCHIVES_SIZE" >> $TMP_FILE
 fi
 
 # rsync.net borg
@@ -40,6 +46,12 @@ if [[ -f /usr/local/bin/borg-offsite ]]; then
   echo "# HELP borg_offsite_last_archive_timestamp timestamp of last backup in UTC" >> $TMP_FILE
   echo "# TYPE borg_offsite_last_archive_timestamp counter" >> $TMP_FILE
   echo "borg_offsite_last_archive_timestamp $LAST_ARCHIVE_TIMESTAMP" >> $TMP_FILE;
+
+  ALL_ARCHIVES_SIZE=$(/usr/local/bin/borg-offsite info --json | jq '.cache.stats.unique_csize')
+
+  echo "# HELP borg_offsite_all_archives_size_bytes amount of data stored in the repo in bytes" >> $TMP_FILE
+  echo "# TYPE borg_offsite_all_archives_size_bytes gauge" >> $TMP_FILE
+  echo "borg_offsite_all_archives_size_bytes $ALL_ARCHIVES_SIZE" >> $TMP_FILE
 fi
 
 mv -f $TMP_FILE $PROM_FILE
-- 
GitLab