diff options
author | Jean-Philippe Braun <eon@patapon.info> | 2018-12-23 15:03:12 +0100 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2019-01-03 21:14:21 +0100 |
commit | 4f99f8d2cbad9b72b7ce116f13788d8feb4b35d0 (patch) | |
tree | 1c8775e2ee2935002882cd7b326694cd3273a7bc /nixos/modules/services/monitoring/prometheus/exporters | |
parent | c74054f1d17edb686e157d140b115f7551031da3 (diff) | |
download | nixlib-4f99f8d2cbad9b72b7ce116f13788d8feb4b35d0.tar nixlib-4f99f8d2cbad9b72b7ce116f13788d8feb4b35d0.tar.gz nixlib-4f99f8d2cbad9b72b7ce116f13788d8feb4b35d0.tar.bz2 nixlib-4f99f8d2cbad9b72b7ce116f13788d8feb4b35d0.tar.lz nixlib-4f99f8d2cbad9b72b7ce116f13788d8feb4b35d0.tar.xz nixlib-4f99f8d2cbad9b72b7ce116f13788d8feb4b35d0.tar.zst nixlib-4f99f8d2cbad9b72b7ce116f13788d8feb4b35d0.zip |
nixos/prometheus-bind-exporter: add module
Diffstat (limited to 'nixos/modules/services/monitoring/prometheus/exporters')
-rw-r--r-- | nixos/modules/services/monitoring/prometheus/exporters/bind.nix | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bind.nix b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix new file mode 100644 index 000000000000..a9746c4d65d5 --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/bind.nix @@ -0,0 +1,55 @@ +{ config, lib, pkgs }: + +with lib; + +let + cfg = config.services.prometheus.exporters.bind; +in +{ + port = 9119; + extraOpts = { + bindURI = mkOption { + type = types.str; + default = "http://localhost:8053/"; + description = '' + HTTP XML API address of an Bind server. + ''; + }; + bindTimeout = mkOption { + type = types.str; + default = "10s"; + description = '' + Timeout for trying to get stats from Bind. + ''; + }; + bindVersion = mkOption { + type = types.enum [ "xml.v2" "xml.v3" "auto" ]; + default = "auto"; + description = '' + BIND statistics version. Can be detected automatically. + ''; + }; + bindGroups = mkOption { + type = types.listOf (types.enum [ "server" "view" "tasks" ]); + default = [ "server" "view" ]; + description = '' + List of statistics to collect. Available: [server, view, tasks] + ''; + }; + }; + serviceOpts = { + serviceConfig = { + DynamicUser = true; + ExecStart = '' + ${pkgs.prometheus-bind-exporter}/bin/bind_exporter \ + -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + -bind.pid-file /var/run/named/named.pid \ + -bind.timeout ${toString cfg.bindTimeout} \ + -bind.stats-url ${cfg.bindURI} \ + -bind.stats-version ${cfg.bindVersion} \ + -bind.stats-groups ${concatStringsSep "," cfg.bindGroups} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; + }; +} |