8 my $dbhost = $ENV{'dbhost'} || '';
9 my $dbport = $ENV{'dbport'} || '';
10 my $dbname = $ENV{'dbname'} || 'template1';
11 my $dbuser = $ENV{'dbuser'} || 'postgres';
13 my $Con = "DBI:Pg:dbname=$dbname";
14 $Con .= ";host=$dbhost" if $dbhost;
15 $Con .= ";port=$dbport" if $dbport;
16 my $Dbh = DBI->connect ($Con, $dbuser,'',{RaiseError =>1}) ||
17 die "Unable to access Database $dbname on host $dbhost as user $dbuser.\nError returned was: ". $DBI::errstr;
19 if ($ARGV[0] && $ARGV[0] eq 'config') {
20 my $sql_max = "SHOW max_connections;";
21 my $sth_max = $Dbh->prepare($sql_max);
23 my ($max_conn) = $sth_max->fetchrow();
24 my $warning = int ($max_conn * 0.7);
25 my $critical = int ($max_conn * 0.8);
27 graph_title Postgres active connections
28 graph_args -l 0 --base 1000
29 graph_vlabel Active connections
30 graph_category Postgresql
31 graph_info Shows active Postgresql connections
32 connections.label Active connections
33 connections.info Active connections
34 connections.type GAUGE
35 connections.warning $warning
36 connections.critical $critical
39 my $sql_curr = "SELECT COUNT (*) FROM pg_stat_activity;";
40 my $sth_curr = $Dbh->prepare($sql_curr);
42 my ($curr_conn) = $sth_curr->fetchrow();
43 print "connections.value $curr_conn\n";