$strPanelColor = 'warning'; } // display number of deadlocks $intDeadlocks = getDeadlocks($key); if ($intDeadlocks != '0') { $strPanelColor = 'warning'; } // try to ping the server if (testPing($value['DBIP'])) { $strPing = 'check'; } else { $strPing = 'exclamation'; $strPanelColor = 'danger'; } // check the listed port to see if it responds if (testPort($value['DBIP'], $value['DBPort'])) { $strPort = 'check'; } else { $strPort = 'exclamation'; $strPanelColor = 'danger'; } echo '<div class="col-xs-6 col-md-3 text-center">' . "\n"; echo ' <div class="panel panel-default panel-' . $strPanelColor . '" style="">' . "\n"; echo ' <div class="row">' . "\n"; echo ' <div class="col-xs-12 text-center"><strong>' . $key . '</strong></div>' . "\n"; echo ' </div>' . "\n"; echo ' <div class="row">' . "\n"; echo ' <div class="col-xs-7 text-right">Ping:</div>' . "\n"; echo ' <div class="col-xs-5 text-left"><i class="fa fa-' . $strPing . '"></i></div>' . "\n"; echo ' </div>' . "\n"; echo ' <div class="row">' . "\n";
function getConnections($strDB) { global $arrDBConns; if (testPort($arrDBConns[$strDB]['DBIP'], $arrDBConns[$strDB]['DBPort'], 0.5)) { $objConn = pg_connect('host=' . $arrDBConns[$strDB]['DBIP'] . ' port=' . $arrDBConns[$strDB]['DBPort'] . ' dbname=' . $arrDBConns[$strDB]['DBName'] . ' user='******'DBUser'] . ' password='******'DBPass']); if (!$objConn) { return 'unknown'; } $strSQL = 'SELECT datname AS dbname FROM pg_database WHERE datistemplate = FALSE'; $objResults = pg_exec($objConn, $strSQL); if (!$objResults) { echo '<div class="alert alert-error">error getting database list from <strong>' . $strDB . '</strong>!</div>'; pg_close($objConn); return; } pg_close($objConn); $intRows = pg_numrows($objResults); // Loop databases in the result set. $intCount = 0; for ($r = 0; $r < $intRows; $r++) { $row = pg_fetch_array($objResults, $r); // for each database create a second connection $objDBConn = pg_connect('host=' . $arrDBConns[$strDB]['DBIP'] . ' port=' . $arrDBConns[$strDB]['DBPort'] . ' dbname=' . $row['dbname'] . ' user='******'DBUser'] . ' password='******'DBPass']); if (!$objDBConn) { $intCount = 0; } else { $strSQL = 'SELECT COUNT(*) AS intCount FROM pg_stat_activity'; $objDBResults = pg_exec($objDBConn, $strSQL); if (!$objDBResults) { echo '<div class="alert alert-error">error will robinson!</div>'; } $intRows = pg_numrows($objDBResults); for ($ri = 0; $ri < $intRows; $ri++) { $dbrow = pg_fetch_array($objDBResults, $ri); $intCount = $intCount + $dbrow['intcount']; } // pg_close($objDBResults); } } return $intCount; } else { return 'unknown'; } }