ElasticSearch集群健康值

集群健康值


GET _cluster/health

Request URL: http://localhost:4567/_cluster/health
Request Method: GET
Elasticsearch 里其他 API 一样,cluster-health 会返回一个JSON 响应。这对自动化和告警系统来说,非常便于解析。响应中包含了和你集群有关的一些关键信息:

{
    "cluster_name": "es_cluster",
    "status": "red",
    "timed_out": false,
    "number_of_nodes": 1,
    "number_of_data_nodes": 1,
    "active_primary_shards": 2076,
    "active_shards": 2076,
    "relocating_shards": 0,
    "initializing_shards": 0,
    "unassigned_shards": 2096,
    "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": 49.760306807286675

}

  1. number_of_nodesnumber_of_data_nodes这个命名完全是自描述的。
  2. active_primary_shards指出集群中的主分片数量。这是涵盖了所有索引的汇总值。
  3. active_shards是涵盖了所有索引的所有分片的汇总值,即包括副本分片。
  4. relocating_shards显示当前正在从一个节点迁往其他节点的分片的数量。通常来说应该是 0,不过在Elasticsearch发现集群不太均衡时,该值会上涨。比如说:添加了一个新节点,或者下线了一个节点。
  5. initializing_shards 是刚刚创建的分片的个数。
  6. unassigned_shards是已经在集群状态中存在的分片,但是实际在集群里又找不着
  7. cluster_name 集群名字
  8. status 集群状态(绿,黄,红)

我们只关注返回结果的cluster_namestatusactive_shardsunassigned_shards,来显示集群的健康情况。

集群状态解读

head插件会以不同的颜色显示。
1. 绿色——最健康的状态,代表所有的主分片和副本分片都可用;
2. 黄色——所有的主分片可用,但是部分副本分片不可用;
3. 红色——部分主分片不可用。(此时执行查询部分数据仍然可以查到,遇到这种情况,还是赶快解决比较好。)

如果集群状态为红色,Head插件显示:集群健康值red。则说明:至少一个主分片分配失败。这将导致一些数据以及索引的某些部分不再可用。
尽管如此, ElasticSearch还是允许我们执行查询,至于是通知用户查询结果可能不完整还是挂起查询,则由应用构建者来决定。

参考文献

集群健康

猜你喜欢

转载自blog.csdn.net/bug4pie/article/details/80218071