check_postgres icon indicating copy to clipboard operation
check_postgres copied to clipboard

Aggregate pgbouncer statistics values by database

Open Talkless opened this issue 9 years ago • 0 comments

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 

Talkless avatar Feb 22 '16 10:02 Talkless