示例#1
0
 $servers = $_SESSION['db']->getAllProbes();
 foreach ($servers as $server) {
     // only show active probes
     if ($server['check'] == true) {
         // users may only see their own probes
         if ($_SESSION['user']->isUser()) {
             if ($_SESSION['user']->ownsProbe($server['id'])) {
                 print "<tr>";
                 $sTest->setTitle($server['name']);
                 $sTest->setServer($server['url']);
                 $sTest->setFindstring($server['findstring']);
                 $sTest->setVersion($version);
                 $sTest->setHostname($hostname);
                 try {
                     $sTest->test();
                     if ($sTest->getStatus() == true) {
                         $message = "<img src=\"img/good.png\" alt=\"ok\"/></td><td>" . $sTest->getBenchmark()->timeElapsed();
                     } else {
                         $message = "<img src=\"img/bad.png\" alt=\"failed\"/></td><td>" . $sTest->getBenchmark()->timeElapsed() . "</td><td>" . htmlspecialchars(substr($sTest->getResult(), 0, $maxreplychars));
                     }
                     print "<td><strong>" . $sTest->getTitle() . "</strong></td><td>" . $message . "</td>\n";
                 } catch (Exception $ex) {
                     print "<td><strong><span class=\"badnews\">" . $sTest->getTitle() . ": " . $ex->getMessage() . "</span></strong></td>";
                 }
                 print "</tr>";
             }
         } else {
             print "<tr>";
             $sTest->setTitle($server['name']);
             $sTest->setServer($server['url']);
             $sTest->setFindstring($server['findstring']);
示例#2
0
 $db = new database($dbuser, $dbpass, $dbhost, $dbname);
 $servers = $db->getAllProbesToCheck();
 foreach ($servers as $server) {
     if ($currentminute % $server['checkinterval'] == 0) {
         print "Probing " . $server['name'];
         $mystatus = false;
         $sTest->setTitle($server['name']);
         $sTest->setServer($server['url']);
         $sTest->setHost($server['host']);
         $sTest->setFindstring($server['findstring']);
         $sTest->setVersion($version);
         $sTest->setHostname($hostname);
         try {
             $sTest->test();
             // test again to make sure we really have a problem and avoid accidental mails
             if ($sTest->getStatus() == false) {
                 $random = rand(1, 15);
                 print " ... trying again in " . $random . " seconds to ensure we really have a problem\n";
                 sleep($random);
                 $sTest->test();
             }
         } catch (Exception $ex) {
             print "Exception occured for probe '" . $sTest->getTitle() . "': " . $ex->getMessage() . "\n";
         }
         if ($sTest->getStatus() == false) {
             print " ... failed\n";
             // send mail only if status in DB was true -> mail will only be sent once
             $status = $db->getProbeStatus($server['id']);
             if ($status == true) {
                 // insert entry into events table
                 $db->addProbeEvent('error', $sTest->getResult(), $server['id']);