[转载]ES 05 - 通过Kibana查看Elasticsearch集群的健康状态、节点和索引个数

在本篇文章之前,需要完成:
① 启动 Elasticsearch 服务,至少启动一个节点,参考博主文章 ES 02 - Elasticsearch 单机服务的部署 (包括常见问题的解决), 部署 Elasticsearch 服务;
② 启动 Kibana, 参考博主文章 ES 04 - 安装 Kibana 插件 (6.6.0 版本), 安装并启动 Kibana;
③ 通过浏览器访问 Kibana;
④ 进入 Dev Tools(开发者工具) 界面.

1 检查集群的健康状况#

ES 提供了一套_cat API, 可以查看 ES 中的各类数据.

# 查询API: 
GET _cat/health?v
# 响应信息如下(一行显示不全, 分作两行):
epoch       timestamp  cluster  status  node.total  node.data  shards  pri  relo
1552979327  07:08:47   heal_es  yellow           1          1      33   33     0

init  unassign  pending_tasks  max_task_wait_time  active_shards_percent
   0         5              0                   -                  86.8%

(1) 如何快速了解集群的健康状况? 通过查看 status 选项的值:

green: 所有 primary shard 和 replica shard 都已成功分配,集群是 100% 可用的;
yellow: 所有 primary shard 都已成功分配,但至少有一个 replica shard 缺失。此时集群所有功能都正常使用,数据不会丢失,搜索结果依然完整,但集群的可用性减弱. —— 需要及时处理的警告.
red: 至少有一个 primary shard (以及它的全部副本分片) 缺失 —— 部分数据不能使用,搜索只能返回部分数据,而分配到这个分配上的写入请求会返回一个异常。此时虽然可以运行部分功能,但为了索引数据的完整性,需要尽快修复集群.

(2) 集群状态为什么是 yellow?

① 当前只有一个 Elasticsearch 节点,而且此时 ES 中只有一个 Kibana 内建的索引数据.
② ES 为每个 index 默认分配 5 个 primary shard 和 5 个 replica shard, 为了保证高可用,它还要求 primary shard 和 replica shard 不能在同一个 node 上.
③ 当前服务中,Kibana 内建的 index 是 1 个 primary shard 和 1 个 replica shard, 由于只有 1 个 node, 所以只有 primary shard 被分配和启动了,而 replica shard 没有被成功分配 (没有其他 node 可用).

2 查看集群中的节点个数#

# 查询API: 
GET _cat/nodes?v
# 响应信息如下(一行显示不全, 分作两行):
ip             heap.percent  ram.percent  cpu  load_1m  load_5m  load_15m  
172.16.22.133            49           98    3     0.56     0.74      1.02

node.role  master  name
mdi        *       1UlY804

3 查看集群中的索引#

# 查询API: 
GET _cat/indices?v
# 响应信息如下(一行显示不全, 分作两行): 
health  status  index      uuid                    pri  rep  
green   open    .kibana_1  4q7ELvdcTVilW3UwtMWqeg    1    0

docs.count  docs.deleted  store.size  pri.store.size
        18             0      78.5kb          78.5kb

作者:马瘦风
来源:博客园
原文链接:www.cnblogs.com/shoufeng/p/9934436...