diff --git a/src/Checks/Custom/ElasticSearchConnection.php b/src/Checks/Custom/ElasticSearchConnection.php new file mode 100644 index 0000000..a916d05 --- /dev/null +++ b/src/Checks/Custom/ElasticSearchConnection.php @@ -0,0 +1,62 @@ +host = $host; + $this->port = $port; + } + + /** + * @return string + */ + public function name() + { + return "Проверка доступности соединения с ElasticSearch..."; + } + + /** + * @return boolean + */ + public function run() + { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, "http://{$this->host}:{$this->port}"); + curl_setopt($ch, CURLOPT_TIMEOUT_MS, 10000); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + + $result = curl_exec($ch); + if (!$result) { + $this->logError('Отсутствует соединение с ElasticSearch (' . curl_error($ch) . ')'); + curl_close($ch); + return false; + } + curl_close($ch); + + return true; + } +}