Skip to content

jesperpedersen/pgexporter

 
 

pgexporter

pgexporter is a Prometheus exporter for PostgreSQL.

pgexporter will connect to one or more PostgreSQL instances and let you monitor their operation.

See Metrics for a list of currently available metrics.

Features

  • Prometheus exporter
  • Remote management
  • Transport Layer Security (TLS) v1.2+ support
  • Daemon mode
  • User vault

See Getting Started on how to get started with pgexporter.

See Configuration on how to configure pgexporter.

See YAML on how to configure pgexporter with custom queries.

Overview

pgexporter makes use of

  • Process model
  • Shared memory model across processes
  • libev for fast network interactions
  • Atomic operations are used to keep track of state
  • The PostgreSQL native protocol v3 for its communication

See Architecture for the architecture of pgexporter.

Tested platforms

Compiling the source

pgexporter requires

dnf install git gcc cmake make libev libev-devel openssl openssl-devel systemd systemd-devel python3-docutils libyaml libyaml-devel

Alternative clang 8+ can be used.

Release build

The following commands will install pgexporter in the /usr/local hierarchy.

git clone https://github.com/pgexporter/pgexporter.git
cd pgexporter
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install

See RPM for how to build a RPM of pgexporter.

Debug build

The following commands will create a DEBUG version of pgexporter.

git clone https://github.com/pgexporter/pgexporter.git
cd pgexporter
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make

Remember to set the log_level configuration option to debug5.

Contributing

Contributions to pgexporter are managed on GitHub.com

Contributions are most welcome !

Please, consult our Code of Conduct policies for interacting in our community.

Consider giving the project a star on GitHub if you find it useful.

License

BSD-3-Clause

About

Prometheus exporter for PostgreSQL

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.1%
  • CMake 2.6%
  • Shell 0.3%