Ilya Mashchenko 926ab81b6d docs: add deprecation notice to python.d/postgres readme (#13497) 2 years ago
..
Makefile.inc d802f83e4a Fix make dist (#4401) 6 years ago
README.md 926ab81b6d docs: add deprecation notice to python.d/postgres readme (#13497) 2 years ago
postgres.chart.py eebcb8520c Postgres: mat. views considered as tables in table size/count chart (#11816) 3 years ago
postgres.conf acca8c24f2 Fix typos (#11782) 3 years ago

README.md

PostgreSQL monitoring with Netdata

Warning: This module is deprecated and will be deleted in v1.37.0. Use go.d/postgres.

Collects database health and performance metrics.

Requirements

  • python-psycopg2 package. You have to install it manually and make sure that it is available to the netdata user, either using pip, the package manager of your Linux distribution, or any other method you prefer.

  • PostgreSQL v9.4+

Following charts are drawn:

  1. Database size MB

    • size
  2. Current Backend Processes processes

    • active
  3. Current Backend Process Usage percentage

    • used
    • available
  4. Write-Ahead Logging Statistics files/s

    • total
    • ready
    • done
  5. Checkpoints writes/s

    • scheduled
    • requested
  6. Current connections to db count

    • connections
  7. Tuples returned from db tuples/s

    • sequential
    • bitmap
  8. Tuple reads from db reads/s

    • disk
    • cache
  9. Transactions on db transactions/s

    • committed
    • rolled back
  10. Tuples written to db writes/s

    • inserted
    • updated
    • deleted
    • conflicts
  11. Locks on db count per type

    • locks
  12. Standby delta KB

    • sent delta
    • write delta
    • flush delta
    • replay delta
  13. Standby lag seconds

    • write lag
    • flush lag
    • replay lag
  14. Average number of blocking transactions in db processes

    • blocking

Configuration

Edit the python.d/postgres.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata   # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/postgres.conf

When no configuration file is found, the module tries to connect to TCP/IP socket: localhost:5432 with the following collection jobs.

socket:
  name         : 'socket'
  user         : 'postgres'
  database     : 'postgres'

tcp:
  name         : 'tcp'
  user         : 'postgres'
  database     : 'postgres'
  host         : 'localhost'
  port         : 5432

Note: Every job collection must have a unique identifier. In cases that you monitor multiple DBs, every job must have it's own name. Use a mnemonic of your preference (e.g us_east_db, us_east_tcp)

Troubleshooting

To troubleshoot issues with the postgres collector, run the python.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

First, navigate to your plugins directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the setting plugins directory. Once you're in the plugin's directory, switch to the netdata user.

cd /usr/libexec/netdata/plugins.d/
sudo su -s /bin/bash netdata

You can now run the python.d.plugin to debug the collector:

./python.d.plugin postgres debug trace