check_pgactivity 2.2

Posted on 2017-06-06 by Dalibo

check_pgactivity 2.2 released

The OPMDG has finally released the version 2.2 of check_pgactivity. Most of the changes were already committed since a long time, but this release finally brings official support for PostgreSQL 9.6 in check_pgactivity.

This release brings some new features :

  • support for PostgreSQL 9.6
  • add service sequences_exhausted to prevent a sequence running out of ids
  • add service stat_snapshot_age to detect a stuck stats collector process
  • add service pgdata_permission to monitor rights and ownership of PGDATA directory
  • add support for "pending restart" parameters in service settings (9.5+)
  • add timeline of in the perfdata output in service wal_files
  • add warn/critical thresholds to streaming_delta perfdata
  • make thresholds optional in service streaming_delta

Some fixes and changes were also done :

  • fix backends_status for PostgreSQL 9.6
  • improve and rename "ready_archives" to "archiver"
  • fix archive_folder to handle compressed archived WAL properly
  • fix a race condition to handle concurrent executions correctly
  • fix bug in "human" output format
  • fix documentation about default db connection
  • now use parameter server_version_num to detect PostgreSQL version

What is check_pgactivity

check_pgactivity is a Nagios-compatible checker to monitor every key features of a PostgreSQL cluster :

  • number of sessions, longuest queries, locked sessions, etc
  • database size, bloated tables and bloated indexes
  • WAL files, archiver state, database dumps
  • streaming replication, replication slots
  • and many more

check_pgactivity supports several output formats :

  • Nagios, strict or not
  • Human-readable
  • binary (Perl-compatible)

Why check_pgactivity ?

The OPMDG was initially formed by Dalibo to support the development of our OPM monitoring suite. The OPMDG is an informal group of people contributing to OPM and related tools, and is independant from the company in order to encourage other contributors to submit patches.

We initially thought about using check_postgres for the OPM monitoring suite, but it lacked some crucial performance datas and the base code was difficult to maintain. We decided to write our own Nagios checker from scratch, in a more maintainable manner and with a focus on a rich perfdata set.

Thus, it's now very easy to extend check_pactivity to support new services or simply support a new PostgreSQL release - PostgreSQL 10 support is already in the work. The output format is automatically treated by check_pgactivity, a service just has to return a some variables.


All releases can by downloaded from github :

The project page :