public function testFilterPerfdata() { define('HOST', 'localhost.localdomain'); define('SERVICE', 'load'); $elastic = new \histou\database\Elasticsearch('url'); $perfData = $elastic->filterPerfdata(json_decode($this->elasticResult, true), HOST, SERVICE); $this->assertSame(HOST, $perfData['host']); $this->assertSame(SERVICE, $perfData['service']); $this->assertSame('load', $perfData['command']); $this->assertSame(3, sizeof($perfData['perfLabel'])); $error = $elastic->filterPerfdata(json_decode($this->emptyResult, true), HOST, SERVICE); $this->assertSame("No data found", $error); $error = $elastic->filterPerfdata(json_decode($this->timeout, true), HOST, SERVICE); $this->assertSame("Timedout", $error); }
if (isset($returnCode) && $returnCode != 0) { exit($returnCode); } header("access-control-allow-origin: *"); //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 {