about summary refs log tree commit diff
path: root/nixos/modules/services/monitoring
diff options
context:
space:
mode:
authorCorbin <cds@corbinsimpson.com>2016-11-26 19:56:25 -0800
committerRobin Gloster <mail@glob.in>2017-01-09 15:20:26 +0100
commit363fa27448aa78d5dee429eaab44dbd50e024ee3 (patch)
tree931b6d21d30ee7dfdf87beef064d2f4a3271c5fc /nixos/modules/services/monitoring
parent39e8eaf8b6f985fcae5931bda39679d657fea1ed (diff)
downloadnixlib-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.nix24
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";
       };
     };
   };