nixfleet/modules/prometheus-exporters/default.nix
Andrea Ciceri 2e20dabf06
All checks were successful
EVAL x86_64-linux.picard
BUILD x86_64-linux.picard
UPLOAD x86_64-linux.picard
DOWNLOAD x86_64-linux.picard
CACHIX x86_64-linux.picard
ATTIC x86_64-linux.picard
/ test (push) Successful in 48s
Add (disabled) restic Prometheus exporter
2025-04-29 20:56:07 +02:00

99 lines
1.9 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
hostname = config.networking.hostName;
mkFor = hosts: lib.mkIf (builtins.elem hostname hosts);
in
{
services.prometheus.exporters = {
node =
mkFor
[
"sisko"
"picard"
"kirk"
"pike"
]
{
enable = true;
enabledCollectors = [
"cpu"
"conntrack"
"diskstats"
"entropy"
"filefd"
"filesystem"
"loadavg"
"mdadm"
"meminfo"
"netdev"
"netstat"
"stat"
"time"
"vmstat"
"systemd"
"logind"
"interrupts"
"ksmd"
"textfile"
"pressure"
];
extraFlags = [
"--collector.ethtool"
"--collector.softirqs"
"--collector.tcpstat"
"--collector.wifi"
];
};
wireguard =
mkFor
[
"sisko"
"picard"
"kirk"
"pike"
]
{
enable = true;
};
zfs =
mkFor
[
"picard"
"kirk"
"pike"
]
{
enable = true;
};
restic = mkFor [ "sisko" ] {
# https://github.com/ngosang/restic-exporter/issues/31
enable = false;
repository = config.services.restic.backups.sisko.repository;
passwordFile = config.age.secrets.SISKO_RESTIC_PASSWORD.path;
};
postgres = mkFor [ "sisko" ] {
enable = true;
};
nginx = mkFor [ "sisko" ] {
enable = true;
};
smartctl =
mkFor
[
"sisko"
"picard"
"kirk"
"pike"
]
{
enable = true;
};
};
systemd.services.prometheus-restic-exporter.path = [ pkgs.openssh ];
}