From f4d03b5c9cf2b694792dec88e3ca805cf7b43e3c Mon Sep 17 00:00:00 2001 From: WilliButz Date: Fri, 9 Mar 2018 21:33:09 +0100 Subject: nixos/prometheus-exporters: rewrite and restructure - prometheus exporters are now configured with `services.prometheus.exporters.` - the exporters are now defined by attribute sets from which the options for each exporter are generated - most of the exporter definitions are used unchanged, except for some changes that should't have any impact on the functionality. --- .../monitoring/prometheus/exporters/node.nix | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 nixos/modules/services/monitoring/prometheus/exporters/node.nix (limited to 'nixos/modules/services/monitoring/prometheus/exporters/node.nix') diff --git a/nixos/modules/services/monitoring/prometheus/exporters/node.nix b/nixos/modules/services/monitoring/prometheus/exporters/node.nix new file mode 100644 index 00000000000..c85f5f9cfb2 --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/node.nix @@ -0,0 +1,39 @@ +{ config, lib, pkgs }: + +with lib; + +let + cfg = config.services.prometheus.exporters.node; +in +{ + port = 9100; + extraOpts = { + enabledCollectors = mkOption { + type = types.listOf types.string; + default = []; + example = ''[ "systemd" ]''; + description = '' + Collectors to enable. The collectors listed here are enabled in addition to the default ones. + ''; + }; + disabledCollectors = mkOption { + type = types.listOf types.str; + default = []; + example = ''[ "timex" ]''; + description = '' + Collectors to disable which are enabled by default. + ''; + }; + }; + serviceOpts = { + serviceConfig = { + ExecStart = '' + ${pkgs.prometheus-node-exporter}/bin/node_exporter \ + ${concatMapStringsSep " " (x: "--collector." + x) cfg.enabledCollectors} \ + ${concatMapStringsSep " " (x: "--no-collector." + x) cfg.disabledCollectors} \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; + }; +} -- cgit 1.4.1