diff options
author | Corbin <cds@corbinsimpson.com> | 2016-11-26 19:56:25 -0800 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2017-01-09 15:20:26 +0100 |
commit | 363fa27448aa78d5dee429eaab44dbd50e024ee3 (patch) | |
tree | 931b6d21d30ee7dfdf87beef064d2f4a3271c5fc /nixos/modules/services/monitoring | |
parent | 39e8eaf8b6f985fcae5931bda39679d657fea1ed (diff) | |
download | nixlib-363fa27448aa78d5dee429eaab44dbd50e024ee3.tar nixlib-363fa27448aa78d5dee429eaab44dbd50e024ee3.tar.gz nixlib-363fa27448aa78d5dee429eaab44dbd50e024ee3.tar.bz2 nixlib-363fa27448aa78d5dee429eaab44dbd50e024ee3.tar.lz nixlib-363fa27448aa78d5dee429eaab44dbd50e024ee3.tar.xz nixlib-363fa27448aa78d5dee429eaab44dbd50e024ee3.tar.zst nixlib-363fa27448aa78d5dee429eaab44dbd50e024ee3.zip |
promeutheus.nginxExporter: add improvements
- use ExecStart and ExecReload - add extraFlags
Diffstat (limited to 'nixos/modules/services/monitoring')
-rw-r--r-- | nixos/modules/services/monitoring/prometheus/nginx-exporter.nix | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix b/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix index 923b6db74107..8aa0184e53ad 100644 --- a/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix +++ b/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix @@ -33,6 +33,14 @@ in { Can be enabled with services.nginx.statusPage = true. ''; }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching the nginx exporter. + ''; + }; }; }; @@ -40,18 +48,22 @@ in { networking.firewall.allowedTCPPorts = [ cfg.port ]; systemd.services.prometheus-nginx-exporter = { - wantedBy = [ "multi-user.target" ]; after = [ "network.target" "nginx.service" ]; - script = '' - ${pkgs.prometheus-nginx-exporter.bin}/bin/nginx_exporter \ - -telemetry.address ${cfg.listenAddress}:${toString cfg.port} \ - -nginx.scrape_uri ${cfg.scrapeUri} - ''; + description = "Prometheus exporter for nginx metrics"; + unitConfig.Documentation = "https://github.com/discordianfish/nginx_exporter"; + wantedBy = [ "multi-user.target" ]; serviceConfig = { User = "nobody"; Restart = "always"; PrivateTmp = true; WorkingDirectory = /tmp; + ExecStart = '' + ${pkgs.prometheus-nginx-exporter}/bin/nginx_exporter \ + -nginx.scrape_uri '${cfg.scrapeUri}' \ + -telemetry.address ${cfg.listenAddress}:${toString cfg.port} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; }; }; |