예제 #1
0
 * along with sysMonDash.  If not, see <http://www.gnu.org/licenses/>.
 *
 */
use SMD\Backend\BackendInterface;
use SMD\Core\Init;
use SMD\Core\sysMonDash;
use SMD\Util\Util;
define('APP_ROOT', '.');
require APP_ROOT . DIRECTORY_SEPARATOR . 'Base.php';
Init::start();
$raw = \SMD\Http\Request::analyze('raw', 0);
$allHeaders = \SMD\Http\Request::analyze('allheaders', false, false, true);
echo '<pre>';
if ($raw === 1) {
    $SMD = new sysMonDash();
    foreach ($SMD->getBackends() as $Backend) {
        try {
            /** @var BackendInterface $Backend */
            $Backend->setAllHeaders($allHeaders);
            echo 'Backend: ', $Backend->getBackend()->getAlias(), PHP_EOL;
            echo 'Hosts', PHP_EOL;
            print_r(Util::arraySortByProperty($Backend->getHostsProblems(), 'lastHardStateChange'));
            echo 'Services', PHP_EOL;
            print_r(Util::arraySortByProperty($Backend->getServicesProblems(), 'lastHardStateChange'));
            echo 'Downtimes', PHP_EOL;
            print_r(Util::arraySortByProperty($Backend->getScheduledDowntimes(), 'startTime', false));
        } catch (Exception $e) {
            echo 'ERROR: ' . $Backend->getBackend()->getAlias() . ': ' . $e->getMessage();
        }
    }
}