Export Postfix stats from logs to Prometheus.
To run it:
make
./postfix_exporter [flags]
Metric | Meaning | Labels |
---|---|---|
postfix_errors_total | Total number of log records parsing resulted in an error. | |
postfix_foreign_total | Total number of foreign log records. | |
postfix_unsupported_total | Total number of unsupported log records. | |
postfix_postscreen_actions_total | Total number of times postscreen events were collected. | action |
postfix_connects_total | Total number of times connect events were collected. | subprogram |
postfix_disconnects_total | Total number of times disconnect events were collected. | subprogram |
postfix_lost_connections_total | Total number of times lost connection events were collected. | subprogram |
postfix_not_resolved_hostnames_total | Total number of times not resolved hostname events were collected. | subprogram |
postfix_statuses_total | Total number of times server message status change events were collected. | subprogram, status |
postfix_delay_seconds | Delay in seconds for a server to process a message. | subprogram, status |
postfix_status_replies_total | Total number of times server message status change event replies were collected. Requires configuration to be present. | subprogram, status, code, enhanced_code, text |
postfix_smtp_replies_total | Total number of times SMTP server replies were collected. Requires configuration to be present. | code, enhanced_code, text |
postfix_milter_actions_total | Total number of times milter events were collected. | subprogram, action |
postfix_login_failures_total | Total number of times login failure events were collected. | subprogram, method |
postfix_qmgr_statuses_total | Total number of times Postfix queue manager message status change events were collected. | status |
postfix_logs_total | Total number of log records processed. | subprogram, severity |
postfix_noqueue_reject_replies_total | Total number of times NOQUEUE: reject event replies were collected. Requires configuration to be present. | subprogram, command, code, enhanced_code, text |
./postfix_exporter --help
config.file
: Postfix exporter configuration file.config.check
: If true validate the config file and then exit.collector
: Collector type to scrape metrics with.file
orjournald
.postfix.instance
: Postfix instance name.postfix
by default.file.log
: Path to a file containing Postfix logs. Example:/var/log/mail.log
.journald.path
: Path where a systemd journal residing in. A local journal is being used by default.journald.unit
: Postfix systemd service name.postfix@-.service
by default.web.listen-address
: Address to listen on for web interface and telemetry.web.telemetry-path
: Path under which to expose metrics.log.level
: Logging level.info
by default.log.format
: Set the log target and format. Example:logger:syslog?appname=bob&local=7
orlogger:stdout?json=true
.
The postfix_exporter supports TLS and basic authentication.
To use TLS and/or basic authentication, you need to pass a configuration file
using the --web.config.file
parameter. The format of the file is described
in the exporter-toolkit repository.