pgSCV - PostgreSQL ecosystem metrics collector.
pgSCV
- collects a lot of stats about PostgreSQL environment.
- exposes metrics through the HTTP
/metrics
endpoint in Prometheus metrics exposition format.
IMPORTANT NOTES 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:
- provide suggestion/feedback or issue
- pull requests for new features
- star the project
Authors
License
BSD-3. See LICENSE for more details.