mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-23 15:33:13 +00:00
Merge pull request #98746 from mayflower/postfix-exporter-group
prometheus postfix exporter: misc
This commit is contained in:
commit
e736a990c1
@ -229,6 +229,8 @@ in
|
||||
})] ++ [(mkIf config.services.nginx.enable {
|
||||
systemd.services.prometheus-nginx-exporter.after = [ "nginx.service" ];
|
||||
systemd.services.prometheus-nginx-exporter.requires = [ "nginx.service" ];
|
||||
})] ++ [(mkIf config.services.postfix.enable {
|
||||
services.prometheus.exporters.postfix.group = mkDefault config.services.postfix.setgidGroup;
|
||||
})] ++ (mapAttrsToList (name: conf:
|
||||
mkExporterConf {
|
||||
inherit name;
|
||||
|
@ -8,6 +8,15 @@ in
|
||||
{
|
||||
port = 9154;
|
||||
extraOpts = {
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
Group under which the postfix exporter shall be run.
|
||||
It should match the group that is allowed to access the
|
||||
<literal>showq</literal> socket in the <literal>queue/public/</literal> directory.
|
||||
Defaults to <literal>services.postfix.setgidGroup</literal> when postfix is enabled.
|
||||
'';
|
||||
};
|
||||
telemetryPath = mkOption {
|
||||
type = types.str;
|
||||
default = "/metrics";
|
||||
@ -26,16 +35,20 @@ in
|
||||
};
|
||||
showqPath = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/spool/postfix/public/showq";
|
||||
example = "/var/lib/postfix/queue/public/showq";
|
||||
default = "/var/lib/postfix/queue/public/showq";
|
||||
example = "/var/spool/postfix/public/showq";
|
||||
description = ''
|
||||
Path where Postfix places it's showq socket.
|
||||
Path where Postfix places its showq socket.
|
||||
'';
|
||||
};
|
||||
systemd = {
|
||||
enable = mkEnableOption ''
|
||||
reading metrics from the systemd-journal instead of from a logfile
|
||||
'';
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable reading metrics from the systemd journal instead of from a logfile
|
||||
'';
|
||||
};
|
||||
unit = mkOption {
|
||||
type = types.str;
|
||||
default = "postfix.service";
|
||||
|
@ -466,10 +466,12 @@ let
|
||||
};
|
||||
exporterTest = ''
|
||||
wait_for_unit("prometheus-postfix-exporter.service")
|
||||
wait_for_file("/var/lib/postfix/queue/public/showq")
|
||||
wait_for_open_port(9154)
|
||||
succeed(
|
||||
"curl -sSf http://localhost:9154/metrics | grep -q 'postfix_smtpd_connects_total 0'"
|
||||
)
|
||||
succeed("curl -sSf http://localhost:9154/metrics | grep -q 'postfix_up{.*} 1'")
|
||||
'';
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user