コード例 #1
0
ファイル: index.php プロジェクト: Griesbacher/histou
//Disable warnings
//error_reporting(E_ALL ^ E_WARNING);
//error_reporting(0);
ini_set('default_socket_timeout', DEFAULT_SOCKET_TIMEOUT);
$perfData = array('host' => HOST, 'service' => SERVICE);
if (!\histou\Basic::$disablePerfdataLookup) {
    // database load perfdata
    $database = null;
    if (DATABASE_TYPE == INFLUXDB) {
        $database = new \histou\database\Influxdb(URL);
    } elseif (DATABASE_TYPE == ELASTICSEARCH) {
        $database = new \histou\database\Elasticsearch(URL);
    } else {
        \histou\Basic::returnData(\histou\Debug::errorMarkdownDashboard('# Unsupported database'), 1);
    }
    $request = $database->fetchPerfData();
    if (empty($request)) {
        \histou\Basic::returnData(\histou\Debug::errorMarkdownDashboard('# Database not reachable or empty result'), 1);
        exit(0);
    }
    $perfData = $database->filterPerfdata($request, HOST, SERVICE);
    $perfDataSize = sizeof($perfData);
    if ($perfDataSize < 4) {
        if ($perfDataSize == 1) {
            \histou\Basic::returnData(\histou\Debug::errorMarkdownDashboard('# Database Error: ' . $perfData), 1);
            exit(1);
        } else {
            \histou\Basic::returnData(\histou\Debug::errorMarkdownDashboard('# Host / Service not found in Database'), 1);
            exit(1);
        }
    }