/[munin-modules]/postgres_locks
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /postgres_locks

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations)
Tue Jun 12 11:05:50 2007 UTC (16 years, 9 months ago) by dpavlin
File size: 1356 byte(s)
make dbhost optional

1 #!/usr/bin/perl -w
2 use strict;
3 use DBI;
4
5 my $dbhost = $ENV{'dbhost'};
6 my $dbname = $ENV{'dbname'} || 'template1';
7 my $dbuser = $ENV{'dbuser'} || 'postgres';
8 my $dbpass = $ENV{'dbpass'} || '';
9
10 if ($ARGV[0] && $ARGV[0] eq "config") {
11 print <<EOF;
12 graph_title Postgres locks
13 graph_args -l 0 --base 1000
14 graph_vlabel Locks
15 graph_category Postgresql
16 graph_info Shows Postgresql locks
17 locks.label Locks
18 locks.info Locks (more info here, please... :)
19 locks.type GAUGE
20 locks.warning 5
21 locks.critical 10
22 exlocks.label Exclusive locks
23 exlocks.info Exclusive locks (here too, please... :)
24 exlocks.type GAUGE
25 exlocks.warning 5
26 exlocks.critical 10
27 EOF
28 } else {
29 my $Con = "DBI:Pg:dbname=$dbname", $dbhost ? ";host=$dbhost" : "";
30 my $Dbh = DBI->connect ($Con,
31 $dbuser,
32 $dbpass,
33 {RaiseError =>1}) || die "Unable to access Database $dbname on host $dbhost as user $dbuser.\nError returned was: ". $DBI::errstr;
34
35 my $sql="SELECT mode,COUNT(mode) FROM pg_locks GROUP BY mode ORDER BY mode;";
36 my $sth = $Dbh->prepare ($sql);
37 $sth->execute ();
38 my $locks = 0;
39 my $exlocks = 0;
40 while (my ($mode, $count) = $sth->fetchrow ()) {
41 if ($mode =~ /exclusive/i) {
42 $exlocks = $exlocks + $count;
43 }
44 $locks = $locks+$count;
45 }
46 print "locks.value $locks\n";
47 print "exlocks.value $exlocks\n";
48 }

Properties

Name Value
svn:executable

  ViewVC Help
Powered by ViewVC 1.1.26