diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2026-03-21 23:10:47 +0100 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2026-03-21 23:10:47 +0100 |
| commit | f4291b152510eb13b31b59c97c3a49ec83adf528 (patch) | |
| tree | ee2d370623163a3306f0c36c44d30b0d89d065d2 /hosts/vidhar/prometheus/default.nix | |
| parent | d1cf2303f41e69fb32b043597ff10603befe1eb3 (diff) | |
| download | nixos-f4291b152510eb13b31b59c97c3a49ec83adf528.tar nixos-f4291b152510eb13b31b59c97c3a49ec83adf528.tar.gz nixos-f4291b152510eb13b31b59c97c3a49ec83adf528.tar.bz2 nixos-f4291b152510eb13b31b59c97c3a49ec83adf528.tar.xz nixos-f4291b152510eb13b31b59c97c3a49ec83adf528.zip | |
vidhar: knot-resolverflakes
Diffstat (limited to 'hosts/vidhar/prometheus/default.nix')
| -rw-r--r-- | hosts/vidhar/prometheus/default.nix | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/hosts/vidhar/prometheus/default.nix b/hosts/vidhar/prometheus/default.nix index 4a5fa3c8..35942c53 100644 --- a/hosts/vidhar/prometheus/default.nix +++ b/hosts/vidhar/prometheus/default.nix | |||
| @@ -39,11 +39,6 @@ in { | |||
| 39 | enable = true; | 39 | enable = true; |
| 40 | configurationPath = pkgs.copyPathToStore "${pkgs.prometheus-snmp-exporter.src}/snmp.yml"; | 40 | configurationPath = pkgs.copyPathToStore "${pkgs.prometheus-snmp-exporter.src}/snmp.yml"; |
| 41 | }; | 41 | }; |
| 42 | unbound = { | ||
| 43 | enable = true; | ||
| 44 | unbound.host = "unix:///run/unbound/unbound.ctl"; | ||
| 45 | group = config.services.unbound.group; | ||
| 46 | }; | ||
| 47 | wireguard = { | 42 | wireguard = { |
| 48 | enable = true; | 43 | enable = true; |
| 49 | wireguardConfig = | 44 | wireguardConfig = |
| @@ -164,10 +159,11 @@ in { | |||
| 164 | ]; | 159 | ]; |
| 165 | scrape_interval = "10s"; | 160 | scrape_interval = "10s"; |
| 166 | } | 161 | } |
| 167 | { job_name = "unbound"; | 162 | { job_name = "knot-resolver"; |
| 168 | static_configs = [ | 163 | static_configs = [ |
| 169 | { targets = ["localhost:${toString config.services.prometheus.exporters.unbound.port}"]; } | 164 | { targets = ["localhost:9167"]; } |
| 170 | ]; | 165 | ]; |
| 166 | metrics_path = "/metrics/prometheus"; | ||
| 171 | relabel_configs = relabelHosts; | 167 | relabel_configs = relabelHosts; |
| 172 | scrape_interval = "1s"; | 168 | scrape_interval = "1s"; |
| 173 | } | 169 | } |
| @@ -241,7 +237,7 @@ in { | |||
| 241 | [ { source_labels = ["__param_target"]; | 237 | [ { source_labels = ["__param_target"]; |
| 242 | target_label = "job"; | 238 | target_label = "job"; |
| 243 | regex = "127\.0\.0\.1:53"; | 239 | regex = "127\.0\.0\.1:53"; |
| 244 | replacement = "unbound.dns_soa"; | 240 | replacement = "knot-resolver.dns_soa"; |
| 245 | } | 241 | } |
| 246 | { replacement = "localhost:${toString config.services.prometheus.exporters.blackbox.port}"; | 242 | { replacement = "localhost:${toString config.services.prometheus.exporters.blackbox.port}"; |
| 247 | target_label = "__address__"; | 243 | target_label = "__address__"; |
| @@ -332,20 +328,6 @@ in { | |||
| 332 | }; | 328 | }; |
| 333 | }; | 329 | }; |
| 334 | 330 | ||
| 335 | users.users.${config.services.prometheus.exporters.unbound.user} = { | ||
| 336 | description = "Prometheus unbound exporter service user"; | ||
| 337 | isSystemUser = true; | ||
| 338 | group = config.services.unbound.group; | ||
| 339 | }; | ||
| 340 | systemd.services."prometheus-unbound-exporter" = { | ||
| 341 | wantedBy = [ "unbound.service" ]; | ||
| 342 | serviceConfig = { | ||
| 343 | DynamicUser = false; | ||
| 344 | Restart = lib.mkForce "always"; | ||
| 345 | RestartSec = "5"; | ||
| 346 | }; | ||
| 347 | }; | ||
| 348 | |||
| 349 | systemd.services."prometheus-nftables-exporter" = { | 331 | systemd.services."prometheus-nftables-exporter" = { |
| 350 | wantedBy = [ "multi-user.target" ]; | 332 | wantedBy = [ "multi-user.target" ]; |
| 351 | after = [ "network.target" ]; | 333 | after = [ "network.target" ]; |
| @@ -501,6 +483,20 @@ in { | |||
| 501 | sopsFile = ./zte_dsl01.mgmt.yggdrasil; | 483 | sopsFile = ./zte_dsl01.mgmt.yggdrasil; |
| 502 | }; | 484 | }; |
| 503 | 485 | ||
| 486 | systemd.sockets."prometheus-knot-resolver-exporter" = { | ||
| 487 | unitConfig.WantedBy = [ "sockets.target" ]; | ||
| 488 | socketConfig.ListenStream = "[::1]:9167"; | ||
| 489 | }; | ||
| 490 | systemd.services."prometheus-knot-resolver-exporter" = { | ||
| 491 | unitConfig = { | ||
| 492 | BindsTo = [ "knot-resolver.service" ]; | ||
| 493 | }; | ||
| 494 | serviceConfig = { | ||
| 495 | Type = "notify"; | ||
| 496 | ExecStart = "${config.systemd.package}/lib/systemd/systemd-socket-proxyd /run/knot-resolver/kres-api.sock"; | ||
| 497 | }; | ||
| 498 | }; | ||
| 499 | |||
| 504 | services.corerad = { | 500 | services.corerad = { |
| 505 | enable = true; | 501 | enable = true; |
| 506 | settings = { | 502 | settings = { |
