diff options
Diffstat (limited to 'hosts')
-rw-r--r-- | hosts/vidhar/borg/default.nix | 20 | ||||
-rw-r--r-- | hosts/vidhar/prometheus/default.nix | 12 |
2 files changed, 32 insertions, 0 deletions
diff --git a/hosts/vidhar/borg/default.nix b/hosts/vidhar/borg/default.nix index 922cbf02..c97c4216 100644 --- a/hosts/vidhar/borg/default.nix +++ b/hosts/vidhar/borg/default.nix | |||
@@ -48,6 +48,10 @@ let | |||
48 | 48 | ||
49 | baseDir = "/srv/backup/borg"; | 49 | baseDir = "/srv/backup/borg"; |
50 | in { | 50 | in { |
51 | imports = with flakeInputs; [ | ||
52 | prometheus-borg-exporter.nixosModules.default | ||
53 | ]; | ||
54 | |||
51 | config = { | 55 | config = { |
52 | services.borgsnap = { | 56 | services.borgsnap = { |
53 | enable = true; | 57 | enable = true; |
@@ -86,6 +90,22 @@ in { | |||
86 | }; | 90 | }; |
87 | }; | 91 | }; |
88 | 92 | ||
93 | services.prometheus-borg-exporter = { | ||
94 | enable = true; | ||
95 | gateway = "localhost:9091"; | ||
96 | target = "yggdrasil.borgbase:repo"; | ||
97 | inherit sshConfig; | ||
98 | keyfile = config.sops.secrets."yggdrasil.borgkey".path; | ||
99 | |||
100 | config = { | ||
101 | job = "yggdrasil.borgbase"; | ||
102 | groups = [ | ||
103 | { regex = "(?P<prefix>yggdrasil\.(surtr|vidhar|niflheim\.ymir))\.(?P<target>.+)-[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}"; } | ||
104 | ]; | ||
105 | }; | ||
106 | }; | ||
107 | |||
108 | |||
89 | # systemd.services."check-borg@${utils.escapeSystemdPath "${baseDir}/jotnar"}" = checkBorgUnit; | 109 | # systemd.services."check-borg@${utils.escapeSystemdPath "${baseDir}/jotnar"}" = checkBorgUnit; |
90 | # systemd.services."check-borg@${utils.escapeSystemdPath "yggdrasil.borgbase:repo"}" = recursiveUpdate checkBorgUnit { | 110 | # systemd.services."check-borg@${utils.escapeSystemdPath "yggdrasil.borgbase:repo"}" = recursiveUpdate checkBorgUnit { |
91 | # serviceConfig = { | 111 | # serviceConfig = { |
diff --git a/hosts/vidhar/prometheus/default.nix b/hosts/vidhar/prometheus/default.nix index 133ddbbc..d6d29c17 100644 --- a/hosts/vidhar/prometheus/default.nix +++ b/hosts/vidhar/prometheus/default.nix | |||
@@ -241,6 +241,13 @@ in { | |||
241 | ]; | 241 | ]; |
242 | scrape_interval = "5s"; | 242 | scrape_interval = "5s"; |
243 | } | 243 | } |
244 | { job_name = "pushgateway"; | ||
245 | honor_labels = true; | ||
246 | static_configs = [ | ||
247 | { targets = ["localhost:9091"];} | ||
248 | ]; | ||
249 | scrape_interval = "5s"; | ||
250 | } | ||
244 | ]; | 251 | ]; |
245 | 252 | ||
246 | rules = [ | 253 | rules = [ |
@@ -288,7 +295,12 @@ in { | |||
288 | ]; | 295 | ]; |
289 | }) | 296 | }) |
290 | ]; | 297 | ]; |
298 | |||
299 | pushgateway = { | ||
300 | enable = true; | ||
301 | }; | ||
291 | }; | 302 | }; |
303 | |||
292 | users.users.${config.services.prometheus.exporters.unbound.user} = { | 304 | users.users.${config.services.prometheus.exporters.unbound.user} = { |
293 | description = "Prometheus unbound exporter service user"; | 305 | description = "Prometheus unbound exporter service user"; |
294 | isSystemUser = true; | 306 | isSystemUser = true; |