Merge pull request #195760 from jmbaur/prometheus-kea-exporter

Changed files
+18 -7
nixos
modules
services
monitoring
prometheus
exporters
tests
+1 -1
nixos/modules/services/monitoring/prometheus/exporters/kea.nix
···
${pkgs.prometheus-kea-exporter}/bin/kea-exporter \
--address ${cfg.listenAddress} \
--port ${toString cfg.port} \
-
${concatStringsSep " \\n" cfg.controlSocketPaths}
+
${concatStringsSep " " cfg.controlSocketPaths}
'';
SupplementaryGroups = [ "kea" ];
RestrictAddressFamilies = [
+17 -6
nixos/tests/prometheus-exporters.nix
···
};
kea = let
-
controlSocketPath = "/run/kea/dhcp6.sock";
+
controlSocketPathV4 = "/run/kea/dhcp4.sock";
+
controlSocketPathV6 = "/run/kea/dhcp6.sock";
in
{
exporterConfig = {
enable = true;
controlSocketPaths = [
-
controlSocketPath
+
controlSocketPathV4
+
controlSocketPathV6
];
};
metricProvider = {
-
systemd.services.prometheus-kea-exporter.after = [ "kea-dhcp6-server.service" ];
-
services.kea = {
+
dhcp4 = {
+
enable = true;
+
settings = {
+
control-socket = {
+
socket-type = "unix";
+
socket-name = controlSocketPathV4;
+
};
+
};
+
};
dhcp6 = {
enable = true;
settings = {
control-socket = {
socket-type = "unix";
-
socket-name = controlSocketPath;
+
socket-name = controlSocketPathV6;
};
};
};
···
};
exporterTest = ''
+
wait_for_unit("kea-dhcp4-server.service")
wait_for_unit("kea-dhcp6-server.service")
-
wait_for_file("${controlSocketPath}")
+
wait_for_file("${controlSocketPathV4}")
+
wait_for_file("${controlSocketPathV6}")
wait_for_unit("prometheus-kea-exporter.service")
wait_for_open_port(9547)
succeed(