diff options
author | Robin Gloster <mail@glob.in> | 2016-09-15 20:37:04 +0200 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2016-09-15 20:59:17 +0200 |
commit | 55b8430f6f0ab4a8d37c94bdd64097d5761e4eaa (patch) | |
tree | 98b66bdda2011cabe6e629edf3009c155ae3aa2e /nixos/modules | |
parent | e43a15720d62f6640d21ed49c12a3b76a563e99e (diff) | |
parent | 0ded9a63a30eb9d42ad76fd28d7de836c2f82bdc (diff) | |
download | nixlib-55b8430f6f0ab4a8d37c94bdd64097d5761e4eaa.tar nixlib-55b8430f6f0ab4a8d37c94bdd64097d5761e4eaa.tar.gz nixlib-55b8430f6f0ab4a8d37c94bdd64097d5761e4eaa.tar.bz2 nixlib-55b8430f6f0ab4a8d37c94bdd64097d5761e4eaa.tar.lz nixlib-55b8430f6f0ab4a8d37c94bdd64097d5761e4eaa.tar.xz nixlib-55b8430f6f0ab4a8d37c94bdd64097d5761e4eaa.tar.zst nixlib-55b8430f6f0ab4a8d37c94bdd64097d5761e4eaa.zip |
Merge branch 'prometheus-node-exporter' of https://github.com/teh/nixpkgs into prometheus-nixos-exporter
Diffstat (limited to 'nixos/modules')
-rw-r--r-- | nixos/modules/services/monitoring/prometheus/node-exporter.nix | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/nixos/modules/services/monitoring/prometheus/node-exporter.nix b/nixos/modules/services/monitoring/prometheus/node-exporter.nix index 6750d4c75070..02aedb53564d 100644 --- a/nixos/modules/services/monitoring/prometheus/node-exporter.nix +++ b/nixos/modules/services/monitoring/prometheus/node-exporter.nix @@ -4,6 +4,9 @@ with lib; let cfg = config.services.prometheus.nodeExporter; + cmdlineArgs = cfg.extraFlags ++ [ + "-web.listen-address=${cfg.listenAddress}" + ]; in { options = { services.prometheus.nodeExporter = { @@ -33,6 +36,14 @@ in { Collectors to enable, additionally to the defaults. ''; }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching the node exporter. + ''; + }; }; }; @@ -40,19 +51,23 @@ in { networking.firewall.allowedTCPPorts = [ cfg.port ]; systemd.services.prometheus-node-exporter = { + description = "Prometheus exporter for machine metrics"; + unitConfig.Documentation = "https://github.com/prometheus/node_exporter"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; script = '' - ${pkgs.prometheus-node-exporter.bin}/bin/node_exporter \ + exec ${pkgs.prometheus-node-exporter}/bin/node_exporter \ ${optionalString (cfg.enabledCollectors != []) ''-collectors.enabled ${concatStringsSep "," cfg.enabledCollectors}''} \ - -web.listen-address ${cfg.listenAddress}:${toString cfg.port} + -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + ${concatStringsSep " \\\n " cfg.extraFlags} ''; serviceConfig = { User = "nobody"; Restart = "always"; PrivateTmp = true; WorkingDirectory = /tmp; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; }; }; |