Skip to content

sergeymakinen/postfix_exporter

Repository files navigation

Postfix Exporter

tests Go Reference Go Report Card codecov

Export Postfix stats from logs to Prometheus.

To run it:

make
./postfix_exporter [flags]

Exported metrics

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

Flags

./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 or journald.
  • 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 or logger:stdout?json=true.

TLS and basic authentication

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.