99 lines
1.9 KiB
Nix
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 ];
|
|
}
|