如何使用 curl 查看 ElasticSearch 集群健康状态
要查看你的 ElasticSearch 集群的集群健康状态,使用
view_es_cluster_health.sh
curl -X GET "http://localhost:9200/_cluster/health?pretty=true"如果你的 ElasticSearch 没有运行在 localhost 上,将 localhost 替换为 ElasticSearch 运行的主机名或 IP 地址。
示例输出:
es_cluster_health.json
{
"cluster_name" : "docker-cluster",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}其中最重要的信息是:
"cluster_name" : "docker-cluster"你分配给集群的名称。你应该验证你正在连接到正确的集群。该集群的所有 ElasticSearch 节点必须具有相同的集群名称,否则它们不会连接!"number_of_nodes" : 1集群中当前的节点数。有时某些节点需要更长时间启动,所以如果缺少一些节点,等待一分钟然后重试"status" : "green"你的集群的状态或集群健康。
集群健康可以取三个值:
green:你的集群一切正常(如我们的示例)yellow:你的集群基本正常,但某些分片无法复制。这通常是仅由一个节点组成的集群的情况(在这种情况下,请注意一个节点上的数据丢失无法恢复)red:集群有问题。通常是某些配置问题,所以一定要检查日志。
另请参见集群健康官方参考
如果你正在寻找有关如何使用 docker 和 docker-compose 设置 ElasticSearch 集群的帮助,你可以使用我们的生成器生成配置文件:ElasticSearch docker-compose.yml 和 systemd 服务生成器。
Check out similar posts by category:
Databases, ElasticSearch
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow