[check_postgres] [commit] Tweak the backend action per report by Guillaume Lelarge. Made a notice

check_postgres at bucardo.org check_postgres at bucardo.org
Wed Feb 18 18:01:12 UTC 2009


Committed by Greg Sabino Mullane <greg at endpoint.com>

Tweak the backend action per report by Guillaume Lelarge. Made a notice
in the docs about inclusions.

---
 check_postgres.pl |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/check_postgres.pl b/check_postgres.pl
index b62f969..8f4c9d3 100755
--- a/check_postgres.pl
+++ b/check_postgres.pl
@@ -77,6 +77,7 @@ our %msg = (
 	'backends-mrtg'      => q{DB=$1 Max connections=$2},
 	'backends-msg'       => q{$1 of $2 connections ($3%)},
 	'backends-nomax'     => q{Could not determine max_connections},
+	'backends-oknone'    => q{No connections},
 	'backends-users'     => q{$1 for number of users must be a number or percentage},
 	'bloat-index'        => q{index $1 rows:$2 pages:$3 shouldbe:$4 ($5X) wasted bytes:$6 ($7)},
 	'bloat-nomin'        => q{no relations meet the minimum bloat criteria},
@@ -251,6 +252,7 @@ our %msg = (
 'backends-mrtg'      => q{DB=$1 Max connections=$2},
 'backends-msg'       => q{$1 of $2 connections ($3%)},
 'backends-nomax'     => q{Could not determine max_connections},
+'backends-oknone'    => q{No connections},
 'backends-users'     => q{$1 for number of users must be a number or percentage},
 	'bloat-index'        => q{index $1 lignes:$2 pages:$3 devrait être:$4 ($5X) octets perdus:$6 ($7)},
 	'bloat-nomin'        => q{aucune relation n'atteint le critère minimum de fragmentation},
@@ -2112,8 +2114,10 @@ sub check_backends {
 	}
 
 	for $db (@{$info->{db}}) {
-		my ($limit,$total) = 0;
+		my ($limit,$total,$grandtotal) = (0,0,0);
+		warn $db->{slurp};
 	  SLURP: while ($db->{slurp} =~ /(\d+) \| (\d+)\s+\|\s+(\w+)\s*/gsm) {
+			$grandtotal++;
 			$limit ||= $2;
 			my ($current,$dbname) = ($1,$3);
 			next SLURP if skip_item($dbname);
@@ -2126,7 +2130,14 @@ sub check_backends {
 			next;
 		}
 		if (!$total) {
-			add_unknown msg('no-match-db');
+			if ($grandtotal) {
+				## We assume that exclude/include rules are correct, and we simply had no entries 
+				## at all in the specific databases we wanted
+				add_ok msg('backends-oknone');
+			}
+			else {
+				add_unknown msg('no-match-db');
+			}
 			next;
 		}
 		my $percent = (int $total / $limit*100) || 1;
@@ -5495,6 +5506,10 @@ as a regular expression.
 To match a schema, end the search term with a single period. Leading tildes can 
 be used for schemas as well.
 
+Be careful when using filtering: an inclusion rule on the backends, for example, 
+may report no problems not only because the matching database had no backends, 
+but because you misspelled the name of the database!
+
 Examples:
 
 Only checks items named pg_class:
@@ -5647,6 +5662,9 @@ Items not specifically attributed are by Greg Sabino Mullane.
 
   Add the 'disabled_triggers' check.
   Added internationalization support.
+  French translations (Guillaume Lelarge)
+  Make the backends search return ok if no matches due to inclusion rules,
+    per report by Guillaume Lelarge
 
 =item B<Version 2.7.3> (February 10, 2009)
 
-- 
1.6.0.5



More information about the Check_postgres mailing list