summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2019-01-15 15:01:23 +0100
committerMaximilian Bosch <maximilian@mbosch.me>2019-01-23 23:51:48 +0100
commitca72dbd125701b348e819da027aaad35f611f725 (patch)
tree581b7e832db37b92990fa5616ce3d8d31c0c5914 /nixos
parent15d8f837c6c9d759912ff61001c9cf77e9cfa187 (diff)
downloadnixpkgs-ca72dbd125701b348e819da027aaad35f611f725.tar
nixpkgs-ca72dbd125701b348e819da027aaad35f611f725.tar.gz
nixpkgs-ca72dbd125701b348e819da027aaad35f611f725.tar.bz2
nixpkgs-ca72dbd125701b348e819da027aaad35f611f725.tar.lz
nixpkgs-ca72dbd125701b348e819da027aaad35f611f725.tar.xz
nixpkgs-ca72dbd125701b348e819da027aaad35f611f725.tar.zst
nixpkgs-ca72dbd125701b348e819da027aaad35f611f725.zip
nixos/prometheus-dovecot-exporter: enhance `socketPath` documentation
In Dovecot 2.3[1] the stats module changed and now the UNIX socket
provided by Dovecot by default isn't compatible anymore with the
exporter[2]. By enabling the `old-stats` plugin in Dovecot this issue
can be solved which should be documented in this module.

[1] https://wiki2.dovecot.org/Upgrading/2.3
[2] https://github.com/kumina/dovecot_exporter/issues/8
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix24
1 files changed, 23 insertions, 1 deletions
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
index 4ca6d4e5f8b..c47e87a3dc3 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix
@@ -18,12 +18,34 @@ in
     socketPath = mkOption {
       type = types.path;
       default = "/var/run/dovecot/stats";
-      example = "/var/run/dovecot2/stats";
+      example = "/var/run/dovecot2/old-stats";
       description = ''
         Path under which the stats socket is placed.
         The user/group under which the exporter runs,
         should be able to access the socket in order
         to scrape the metrics successfully.
+
+        Please keep in mind that the stats module has changed in
+        <link xlink:href="https://wiki2.dovecot.org/Upgrading/2.3">Dovecot 2.3+</link> which
+        is not <link xlink:href="https://github.com/kumina/dovecot_exporter/issues/8">compatible with this exporter</link>.
+
+        The following extra config has to be passed to Dovecot to ensure that recent versions
+        work with this exporter:
+        <programlisting>
+        {
+          <xref linkend="opt-services.prometheus.exporters.dovecot.enable" /> = true;
+          <xref linkend="opt-services.prometheus.exporters.dovecot.socketPath" /> = "/var/run/dovecot2/old-stats";
+          <xref linkend="opt-services.dovecot2.extraConfig" /> = '''
+            mail_plugins = $mail_plugins old_stats
+            service old-stats {
+              unix_listener old-stats {
+                user = nobody
+                group = nobody
+              }
+            }
+          ''';
+        }
+        </programlisting>
       '';
     };
     scopes = mkOption {