[check_postgres] Bogus alerts from check_postgres_autovac_freeze
Marti Raudsepp
marti at juffo.org
Wed Oct 7 13:14:17 UTC 2009
Hi.
First of all, thanks for developing a comprehensive and very useful
PostgreSQL monitoring tool.
However, I have a problem with the default warning and critical levels
for the autovac_freeze test. Currently the warning level is 90% of the
configured autovacuum_freeze_max_age number.
>From PostgreSQL documentation for autovacuum_freeze_max_age:
Specifies the maximum age (in transactions) that a table's
pg_class.relfrozenxid field can attain before a VACUUM operation
is forced to prevent transaction ID wraparound within the table
In other words, autovacuum doesn't even look at a table until it
exceeds 100% of this limit. And even then, it might take some time
until autovacuum gets around to vacuuming it and finishes. This happens
a lot when you have read-only tables that aren't otherwise vacuumed by
autovacuum.
So, having defaults below 100% will invariably cause false alarms when
PostgreSQL is working as designed. I'd propose changing defaults to
something like warning 105%, critical 120%
Marti
More information about the Check_postgres
mailing list