• Stars
    star
    229
  • Rank 170,617 (Top 4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Prometheus exporter for Postfix.

Prometheus Postfix exporter

Prometheus metrics exporter for the Postfix mail server. This exporter provides histogram metrics for the size and age of messages stored in the mail queue. It extracts these metrics from Postfix by connecting to a UNIX socket under /var/spool. It also counts events by parsing Postfix's log entries, using regular expression matching. The log entries are retrieved from the systemd journal, the Docker logs, or from a log file.

Options

These options can be used when starting the postfix_exporter

Flag Description Default
--web.listen-address Address to listen on for web interface and telemetry 9154
--web.telemetry-path Path under which to expose metrics /metrics
--postfix.showq_path Path at which Postfix places its showq socket /var/spool/postfix/public/showq
--postfix.logfile_path Path where Postfix writes log entries /var/log/mail.log
--log.unsupported Log all unsupported lines false
--docker.enable Read from the Docker logs instead of a file false
--docker.container.id The container to read Docker logs from postfix
--systemd.enable Read from the systemd journal instead of file false
--systemd.unit Name of the Postfix systemd unit postfix.service
--systemd.slice Name of the Postfix systemd slice. ""
--systemd.journal_path Path to the systemd journal ""

Events from Docker

Postfix servers running in a Docker container can be monitored using the --docker.enable flag. The default container ID is postfix, but can be customized with the --docker.container.id flag.

The default is to connect to the local Docker, but this can be customized using the DOCKER_HOST and similar environment variables.

Events from log file

The log file is tailed when processed. Rotating the log files while the exporter is running is OK. The path to the log file is specified with the --postfix.logfile_path flag.

Events from systemd

Retrieval from the systemd journal is enabled with the --systemd.enable flag. This overrides the log file setting. It is possible to specify the unit (with --systemd.unit) or slice (with --systemd.slice). Additionally, it is possible to read the journal from a directory with the --systemd.journal_path flag.

Build options

Default the exporter is build with systemd journal functionality (but it is disabled at default). Because the systemd headers are required for building with systemd, there is an option to build the exporter without systemd. Use the build tag nosystemd.

go build -tags nosystemd

More Repositories

1

openvpn_exporter

A Prometheus exporter for OpenVPN.
Go
211
star
2

libvirt_exporter

Prometheus metrics exporter for libvirt.
Go
129
star
3

dovecot_exporter

Prometheus metrics exporter for Dovecot.
Go
51
star
4

nagios-plugins-kumina

A collection of Nagios plugins that we package.
Perl
43
star
5

promacct

Network accounting daemon for Prometheus
C++
34
star
6

fakemac

C
29
star
7

python_container_demo_app

A very simple example of a Python-based web application running in a container.
Python
23
star
8

wsproxy

A websockets proxy, written in C
C
18
star
9

birdwatcher

Birdwatcher: A Prometheus metrics exporter for Calico/BIRD
Python
17
star
10

buckler

A proxy to add support for authentication and authorization to Kibana 4
Python
16
star
11

shutdown-kvm-guests

A script for easily shutting down KVM guests.
Shell
16
star
12

logstash-patterns

A collection of logstash grok patterns we use.
11
star
13

fact-pci_devices

Facts for devices in lspci
Ruby
10
star
14

munin-puppetmaster

Trend a puppetmaster with munin.
Ruby
8
star
15

kubi_ecs_logger

Logging library according to Elastic Common Schema.
Python
5
star
16

k8s-redirectory

Redirectory is a system for redirecting requests that would usually end in a 404 response to a new destination based on rules specified by the user with the help of a UI.
Python
4
star
17

traefik-routing-plugin

Proof of concept. Is it possible to bait Traefik so that we can have a custom solution for figuring out which request needs to go to which k8s service?
Go
4
star
18

kuminami

Our scripts to handle Amazon EC2 instances, the Kumina way.
Shell
4
star
19

checkpuppet

A script that allows us to restart puppet from puppet. It also makes sure puppet runs.
Shell
3
star
20

awssyncer

Automatic syncer of local directories into Amazon AWS S3
C++
3
star
21

redirectory

A simple app to easily create redirects.
Python
2
star
22

ndproxy

A script to push NDs from one interface to another
Shell
2
star
23

django-powerdns-manager

This is an import of the django-powerdns-admin mercurial repository, with changes
Python
1
star
24

vagrant-buckler

A Vagrant environment for testing Buckler
Ruby
1
star