Elasticsearch 8查看集群、节点状态

发布时间:2024年01月08日

一、查看集群状态

在 Elasticsearch 8.x 中,可以使用以下2种方法来检查集群的状态:

1、通过 REST API查看:

使用 Elasticsearch 提供的 REST API,可以通过向任意节点发送 HTTP 请求来检查集群的状态。常见的 API 端点是 _cluster/health。

Elasticsearch 提供了丰富的REST API,用于与集群进行交互。以下是一些常用的Elasticsearch REST API端点:

  • 集群健康信息:

获取集群的健康状况:GET /_cluster/health

获取集群的详细信息:GET /_cluster/state

  • 节点信息:

获取节点信息:GET /_cat/nodes

  • X-Pack 安全性操作(如果启用了X-Pack):

用户认证:GET /_xpack/security/_authenticate

角色和权限:GET /_xpack/security/role/

用户管理:GET /_xpack/security/user/

  • 索引操作:

创建索引:PUT /index_name

删除索引:DELETE /index_name

  • 文档操作:

索引文档:POST /index_name/_doc

获取文档:GET /index_name/_doc/document_id

更新文档:POST /index_name/_update/document_id

删除文档:DELETE /index_name/_doc/document_id

  • 搜索:

搜索文档:POST /index_name/_search

使用DSL进行搜索:POST /index_name/_search(提供查询DSL)

  • Mappings和Settings:

获取索引的映射:GET /index_name/_mapping

获取索引的设置:GET /index_name/_settings

例如,可以使用 curl 命令发送 HTTP GET 请求来查询集群健康状态:

curl -X GET "http://localhost:9200/_cluster/health"

注意:请将localhost:9200替换为你的Elasticsearch集群的实际主机和端口

上述命令将返回有关集群健康状况的信息,包括集群的健康状态、节点数、活动的分片数等。

注意,如果Elasticsearch集群启用了X-Pack安全性功能,需要确保上述的curl命令包括正确的身份验证信息,例如用户名和密码。

例如,我的Elasticsearch集群启用了X-Pack安全性功能,执行上述命令时会报错:curl: (52) Empty reply from server,见下图:

这时候,命令里面需要加上用户名、密码、和http证书的路径:

curl --cacert config/certs/http_ca.crt -u user:passwd -XGET 'https://localhost:9200/_cat/health?v&pretty'

注意:请将上述命令中的user和passwd替换为你的用户名和密码,localhost:9200替换为你的Elasticsearch集群的实际主机和端口,并保证证书路径无误

此时,执行命令就会输出集群的状态信息,如下:

其中,集群状态为green,表示集群正常。

2、通过 Kibana 控制台查看:

如果安装了 Kibana,可以使用 Kibana 控制台来查看集群的状态。在 Kibana 的控制台中,执行以下请求:

GET /_cluster/health

二、查看节点状态

查询节点状态同理, 将API端口替换为_cat/nodes即可。

1、通过 REST API查看:

结果说明:

ip:节点的 IP 地址。

heapPercent:堆内存的使用百分比。

ramPercent:系统 RAM 的使用百分比。

cpu:CPU 使用百分比。

load1、load5、load15:系统负载的1分钟、5分钟和15分钟的平均值。

nodeRole:节点的角色,例如 d 表示数据节点,m 表示主节点。

master:如果是主节点,显示 *,表示当前的主节点。

?2、通过 Kibana 控制台查看:

文章来源:https://blog.csdn.net/weixin_42264524/article/details/135381498
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。