是否有办法检查elasticsearch集群是否存在?



我正在研究一个elasticsearch (es)集群监控仪表板,我想在其中装载所有es集群。我正在从头开始开发仪表板。因此,我想在仪表板上添加一个按钮,通过单击该按钮,用户将能够输入es集群地址/IP的名称(第一次登录集群),然后点击提交按钮。如果集群存在,那么用户应该能够监控集群,如果不存在,它应该向用户显示一些错误消息(在仪表板上),说"对不起,您输入了错误的集群地址/ip"。那么,如何确定es集群是否存在呢?

对ES集群地址和端口的简单curl调用应该足以验证ES集群是否存在。

例如,如果我们想要验证在http://localhost:9200上是否存在ES集群,我们将像下面这样触发curl调用:-

curl -XGET "http://localhost:9200/"

如果ES集群存在/有访问权限,它将返回如下JSON:

{
"name" : "es01",
"cluster_name" : "elasticsearch7",
"cluster_uuid" : "xu49eNE6SuC1Z857kG2Q5g",
"version" : {
"number" : "7.16.3",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "4e6e4eab2297e949ec994e688dad46290d018022",
"build_date" : "2022-01-06T23:43:02.825887787Z",
"build_snapshot" : false,
"lucene_version" : "8.10.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}

否则,将返回如下错误:-

curl: (7) Failed to connect to localhost port 9200: Connection refused

请注意,您需要根据编程语言使用适当的curl语法。对于这个例子,我考虑了一个bash脚本。

最新更新