Skip to content
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.

lesovsky/pgscv

Repository files navigation

pgSCV - PostgreSQL ecosystem metrics collector.

pgSCV

IMPORTANT NOTES

  1. pgSCV is archived and is not maintained. Check out the another fork CHERTS/pgscv.
  2. pgSCV moved from 'weaponry' to 'lesovsky' GitHub account. From version 0.8.0 all features required for Weaponry will be removed:
  • auto-discovery (all Postgres, Pgbouncer services have to be defined explicitly, by configuration file or environment variables)
  • bootstrap, uninstall and auto-update
  • push metrics to remote service
  • Patroni support (because it has this feature built-in)

Features

  • Supported services: support collecting metrics of PostgreSQL and Pgbouncer.
  • OS metrics: support collecting metrics of operating system.
  • TLS and authentication. /metrics endpoint could be protected with basic authentication and TLS.
  • Collecting metrics from multiple services. pgSCV can collect metrics from many databases instances.
  • User-defined metrics. pgSCV could be configured in a way to collect metrics defined by user.
  • Collectors management. Collectors could be disabled if necessary.
  • Collectors filters. Collectors could be adjusted to skip collecting metrics based on labels values, like block devices, network interfaces, filesystems, users, databases, etc.

Requirements

  • can run on Linux only; can connect to remote services running on other OS/PaaS.
  • requisites for connecting to the services, such as login and password.
  • database user should have privileges for executing stats functions and reading views. For more details see security considerations.

Quick start

Download the archive from releases. Unpack the archive. Start pgSCV under postgres user.

wget https://github.com/lesovsky/pgscv/releases/download/v0.7.5/pgscv_0.7.5_linux_amd64.tar.gz
tar xvzf pgscv_0.7.5_linux_amd64.tar.gz
sudo -u postgres ./pgscv 

or using Docker, use DATABASE_DSN for setting up a connection to Postgres:

docker pull lesovsky/pgscv:latest
docker run -ti -e PGSCV_LISTEN_ADDRESS=0.0.0.0:9890 -e PGSCV_DISABLE_COLLECTORS="system" -e DATABASE_DSN="postgresql://postgres@dbhost/postgres" -p 9890:9890 lesovsky/pgscv:latest

When pgSCV has been started it is ready to accept HTTP requests at http://127.0.0.1:9890/metrics.

Complete setup

Checkout complete setup guide.

Documentation

For further documentation see wiki.

Support and feedback

If you need help using pgSCV feel free to open discussion or create an issue

Development and contribution

To help development you are encouraged to:

Authors

License

BSD-3. See LICENSE for more details.