check_postgres
check_postgres copied to clipboard
Aggregate pgbouncer statistics values by database
PGBouncer checks does not take into account possibility when multiple different database users are connected into same database (pool).
Here's our SHOW pools example:
http://pastebin.com/raw/4ybsQCRE
Meanwhile, check_postgres output is like this:
POSTGRES_PGB_POOL_MAXWAIT OK: DB "pgbouncer" (port=6434) ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * ourdb=0 * pgbouncer=0
I've fixed it by implementing sum and max (for maxwait) aggregation.
After fix output is like this:
POSTGRES_PGB_POOL_MAXWAIT OK: DB "pgbouncer" (port=6433) pgbouncer=0 * ourdb=0