summary refs log tree commit diff
path: root/nixos/modules/services/monitoring/prometheus/exporters/json.nix
diff options
context:
space:
mode:
authorWilliButz <wbutz@cyberfnord.de>2021-01-01 23:59:06 +0100
committerWilliButz <wbutz@cyberfnord.de>2021-01-02 13:10:27 +0100
commit3f94c66ee121a2fdb136741c3685195c6d1db643 (patch)
tree6010a22b6513f3158e0331f81d0525849a10494c /nixos/modules/services/monitoring/prometheus/exporters/json.nix
parentd539517f2b4e20973d2046ca16ed83d9bc5b34ae (diff)
downloadnixpkgs-3f94c66ee121a2fdb136741c3685195c6d1db643.tar
nixpkgs-3f94c66ee121a2fdb136741c3685195c6d1db643.tar.gz
nixpkgs-3f94c66ee121a2fdb136741c3685195c6d1db643.tar.bz2
nixpkgs-3f94c66ee121a2fdb136741c3685195c6d1db643.tar.lz
nixpkgs-3f94c66ee121a2fdb136741c3685195c6d1db643.tar.xz
nixpkgs-3f94c66ee121a2fdb136741c3685195c6d1db643.tar.zst
nixpkgs-3f94c66ee121a2fdb136741c3685195c6d1db643.zip
nixos/prometheus-json-exporter: update modules & tests, add release notes
Diffstat (limited to 'nixos/modules/services/monitoring/prometheus/exporters/json.nix')
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/json.nix30
1 files changed, 20 insertions, 10 deletions
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/json.nix b/nixos/modules/services/monitoring/prometheus/exporters/json.nix
index bd0026b55f7..24364aababd 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/json.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/json.nix
@@ -4,32 +4,42 @@ with lib;
 
 let
   cfg = config.services.prometheus.exporters.json;
+
 in
 {
   port = 7979;
   extraOpts = {
-    url = mkOption {
-      type = types.str;
-      description = ''
-        URL to scrape JSON from.
-      '';
-    };
     configFile = mkOption {
       type = types.path;
       description = ''
         Path to configuration file.
       '';
     };
-    listenAddress = {}; # not used
   };
   serviceOpts = {
     serviceConfig = {
       ExecStart = ''
-        ${pkgs.prometheus-json-exporter}/bin/prometheus-json-exporter \
-          --port ${toString cfg.port} \
-          ${cfg.url} ${escapeShellArg cfg.configFile} \
+        ${pkgs.prometheus-json-exporter}/bin/json_exporter \
+          --config.file ${escapeShellArg cfg.configFile} \
+          --web.listen-address="${cfg.listenAddress}:${toString cfg.port}" \
           ${concatStringsSep " \\\n  " cfg.extraFlags}
       '';
     };
   };
+  imports = [
+    (mkRemovedOptionModule [ "url" ] ''
+      This option was removed. The URL of the endpoint serving JSON
+      must now be provided to the exporter by prometheus via the url
+      parameter <literal>target</literal>.
+
+      In prometheus a scrape URL would look like this:
+      <programlisting>
+      http://some.json-exporter.host:7979/probe?target=https://example.com/some/json/endpoint
+      </programlisting>
+
+      For more information, take a look at the <link xlink:href="https://github.com/prometheus-community/json_exporter">
+      official documentation</link> of the json_exporter.
+    '')
+     ({ options.warnings = options.warnings; options.assertions = options.assertions; })
+  ];
 }