diff options
author | Greg Sabino Mullane | 2008-09-29 01:59:38 +0000 |
---|---|---|
committer | Greg Sabino Mullane | 2008-09-29 01:59:38 +0000 |
commit | 56009efacd1678404c389da36147842c22a01206 (patch) | |
tree | 40d6b667fe4953f708e15511cc7c9dc9a40e8a08 /check_postgres.pl | |
parent | 5cb3da6d4479bc88a9ae983905d20942df5738ad (diff) |
Tweak FSM formula a bit based on mailing list posts.
Diffstat (limited to 'check_postgres.pl')
-rwxr-xr-x | check_postgres.pl | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/check_postgres.pl b/check_postgres.pl index 8c0531ff7..987b7f9db 100755 --- a/check_postgres.pl +++ b/check_postgres.pl @@ -2116,12 +2116,13 @@ sub check_fsm_pages { (my $w = $warning) =~ s/\D//; (my $c = $critical) =~ s/\D//; my $SQL = qq{SELECT pages, maxx, ROUND(100*(pages/maxx)) AS percent\n}. - qq{FROM (SELECT\n}. - qq{ (SUM(GREATEST(interestingpages,storedpages))+COUNT(DISTINCT(relfilenode)))*8 AS pages,\n}. - qq{ (SELECT setting::NUMERIC FROM pg_settings WHERE name = 'max_fsm_pages') AS maxx\n}. - qq{ FROM $schema.pg_freespacemap_relations) x}; + qq{FROM (SELECT (sumrequests+numrels)*chunkpages AS pages\n}. + qq{ FROM (SELECT SUM(CASE WHEN avgrequest IS NULL THEN interestingpages/32 }. + qq{ ELSE interestingpages/16 END) AS sumrequests,\n}. + qq{ COUNT(relfilenode) AS numrels, 16 AS chunkpages FROM pg_freespacemap_relations) AS foo) AS foo2,\n}. + qq{ (SELECT setting::NUMERIC AS maxx FROM pg_settings WHERE name = 'max_fsm_pages') AS foo3}; - my $info = run_command($SQL, {regex => qr[\w+] } ); + my $info = run_command($SQL, {regex => qr[\d+] } ); for $db (@{$info->{db}}) { SLURP: while ($db->{slurp} =~ /\s*(\d+) \|\s+(\d+) \|\s+(\d+)$/gsm) { @@ -4587,11 +4588,12 @@ Items not specifically attributed are by Greg Sabino Mullane. =over 4 -=item B<Version 2.2.1> +=item B<Version 2.2.1> (September 28, 2008) Add MRTG output to fsm_pages and fsm_relations. Force error messages to one-line for proper Nagios output. Check for invalid prereqs on failed command. From conversations with Euler Taveira de Oliveira. + Tweak the fsm_pages formula a little. =item B<Version 2.2.0> (September 25, 2008) |