diff options
| author | Tim Keller <tjk@tjkeller.xyz> | 2026-11-11 14:34:37 -0600 |
|---|---|---|
| committer | Tim Keller <tjk@tjkeller.xyz> | 2026-11-11 14:34:37 -0600 |
| commit | 4310af903bbb4fcfcaf1efea12e683337cd9846a (patch) | |
| tree | ff4ab19f412e874eea45e53ef61cecd67c1cf00b /hosts/poweredge-pro/metrics.nix | |
| parent | 37f55cb80c2f3f070015263a59829f20ddf52ddf (diff) | |
| download | nixos-4310af903bbb4fcfcaf1efea12e683337cd9846a.tar.xz nixos-4310af903bbb4fcfcaf1efea12e683337cd9846a.zip | |
add metrics container to poweredge-pro
Diffstat (limited to 'hosts/poweredge-pro/metrics.nix')
| -rw-r--r-- | hosts/poweredge-pro/metrics.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/hosts/poweredge-pro/metrics.nix b/hosts/poweredge-pro/metrics.nix new file mode 100644 index 0000000..76ffea9 --- /dev/null +++ b/hosts/poweredge-pro/metrics.nix @@ -0,0 +1,44 @@ +{ config, inputs, ... }: { + imports = [ inputs.telemetry.nixosModules.collectors ]; + + services.telemetry.collectors = { + enable = true; + logs.lokiUrl = "http://metrics:3100"; # The container + }; + + containers.metrics = { + autoStart = true; + privateNetwork = true; + hostBridge = "br-lan0"; + localMacAddress = "02:00:00:00:77:16"; + ephemeral = true; + + # The module reads whatever path you point secretKeyFile at. + bindMounts = { + "/var/lib/prometheus2" = { hostPath = "/nix/persist/metrics/prometheus2"; isReadOnly = false; }; + "/var/lib/loki" = { hostPath = "/nix/persist/metrics/loki"; isReadOnly = false; }; + "/var/lib/grafana" = { hostPath = "/nix/persist/metrics/grafana"; isReadOnly = false; }; + }; + + config = { ... }: { + imports = [ inputs.telemetry.nixosModules.server ]; + + networking.enableIPv6 = false; + networking.interfaces.eth0.useDHCP = true; + networking.hosts."192.168.77.11" = [ "poweredge-pro" ]; + + services.telemetry.server = { + enable = true; + collectorHosts = [ "poweredge-pro" ]; + grafana.generateSecretKey = true; + proxy.enable = true; + }; + + # Pin loki uid+gid + users.users.loki = { uid = 3100; group = "loki"; isSystemUser = true; }; + users.groups.loki.gid = 3100; + + system.stateVersion = "26.05"; + }; + }; +} |
