diff --git a/morph/grid/production/grid.nix b/morph/grid/production/grid.nix index 3570dfef41013cdeba26cde308dcbd660da6c1db..4f68b5e80b1e79a879e923e177ea901285c6b521 100644 --- a/morph/grid/production/grid.nix +++ b/morph/grid/production/grid.nix @@ -101,7 +101,7 @@ let # Enable statistics gathering for MegaRAID cards. # TODO would be nice to enable only on machines that have such a device. - services.private-storage.monitoring.megacli2prom.enable = true; + services.private-storage.monitoring.exporters.megacli2prom.enable = true; }; }; diff --git a/morph/lib/storage.nix b/morph/lib/storage.nix index 71e3c22371ad042c4ddbc5d8cd87db5cb05923af..9424784dcd33b8e12b9da9cc309a657be07f66b3 100644 --- a/morph/lib/storage.nix +++ b/morph/lib/storage.nix @@ -67,7 +67,7 @@ in { }; }; - services.private-storage.monitoring.tahoe.enable = true; + services.private-storage.monitoring.exporters.tahoe.enable = true; # Turn on the Private Storage (Tahoe-LAFS) service. services.private-storage = { diff --git a/nixos/modules/monitoring/exporters/megacli2prom.nix b/nixos/modules/monitoring/exporters/megacli2prom.nix index c1f10aef7821343e2f0a572d006782858dcf7ef4..c27219ef814d3ea4a811959caec036976672256d 100644 --- a/nixos/modules/monitoring/exporters/megacli2prom.nix +++ b/nixos/modules/monitoring/exporters/megacli2prom.nix @@ -12,10 +12,10 @@ { config, options, lib, ourpkgs, pkgs, ... }: let - cfg = config.services.private-storage.monitoring.megacli2prom; + cfg = config.services.private-storage.monitoring.exporters.megacli2prom; in { - options.services.private-storage.monitoring.megacli2prom = { + options.services.private-storage.monitoring.exporters.megacli2prom = { enable = lib.mkEnableOption "MegaCli2Prom metrics gathering service"; outFile = lib.mkOption { type = lib.types.str; diff --git a/nixos/modules/monitoring/exporters/node.nix b/nixos/modules/monitoring/exporters/node.nix index aa319397da04578ca91900e35b69b4db9fd38611..6a84a31ce58859969e2fb08cff79abb957c6099e 100644 --- a/nixos/modules/monitoring/exporters/node.nix +++ b/nixos/modules/monitoring/exporters/node.nix @@ -6,20 +6,23 @@ # monitoring system # See https://nixos.org/manual/nixos/stable/#module-services-prometheus-exporters -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, options, ... }: with lib; let + cfg = config.services.private-storage.monitoring.exporters.node; mountsFileSystemType = fsType: {} != filterAttrs (n: v: v.fsType == fsType) config.fileSystems; in { - config.services.prometheus.exporters.node = { + options.services.private-storage.monitoring.exporters.node = { textfiles-directory = lib.mkOption { type = lib.types.str; description = "Directory used by the textfiles collector."; default = "/run/prometheus-node-exporter"; }; + }; + config.services.prometheus.exporters.node = { enable = true; openFirewall = true; firewallFilter = "-i monitoringvpn -p tcp -m tcp --dport 9100"; diff --git a/nixos/modules/monitoring/exporters/tahoe.nix b/nixos/modules/monitoring/exporters/tahoe.nix index 7d4c5deaaa7d37475ca867e071a698d66abdad04..087e6532e372b11bb2db826456957fa14dfa3c3d 100644 --- a/nixos/modules/monitoring/exporters/tahoe.nix +++ b/nixos/modules/monitoring/exporters/tahoe.nix @@ -10,11 +10,11 @@ { config, options, lib, pkgs, ... }: let - cfg = config.services.private-storage.monitoring.tahoe; - inherit (config.services.private-storage.monitoring.node) textfiles-directory; + cfg = config.services.private-storage.monitoring.exporters.tahoe; + inherit (config.services.private-storage.monitoring.exporters.node) textfiles-directory; in { - options.services.private-storage.monitoring.tahoe = { + options.services.private-storage.monitoring.exporters.tahoe = { enable = lib.mkEnableOption "Tahoe OpenMetrics collecting service"; scrapeEndpoint = lib.mkOption { type = lib.types.str;