我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

ElasticSearch主打的就是个分布式,所以,它实际上可以部署很多个服务器节点。如果某些节点硬盘空间不足,整个集群的健康值就会发生变化。这就是本文要探讨的问题。

苏南大叔:ElasticSearch分布式搜索,如何查看集群健康值? - elastic查看集群健康值
ElasticSearch分布式搜索,如何查看集群健康值?(图5-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。本文测试环境:win10elasticsearch@8.17.1kibana@8.17.1

前文回顾

本文通过下面的方式,安装elastickibana

两者通过下面这篇文章的方式,进行了数据交互管理:

其中,elastic search建立了多节点分布式集群。通过下面的方式:

健康状态分类

elastic search的健康值,指的是整体集群健康值,而不是单独节点的健康值。分为三种情况:greenyellowred

green

绿色状态表示你的数据是安全且可访问的。所有的主分片和副本分片都已正确分配,集群是完全健康的,所有数据都是可用的。

yellow

黄色状态表示所有的主分片都已正确分配,但是不是所有的副本分片都已分配。
在某些情况下,这是可以接受的,特别是在可以容忍数据丢失的场景下(例如,副本分片设置为0),或者在某些节点暂时不可用的情况下。黄色状态通常表明集群仍然可以正常工作,但某些数据可能不完全冗余。

Red

红色状态表示不是所有的主分片都已正确分配。这意味着某些数据可能无法访问,这通常是一个严重的问题,需要立即解决。
红色状态通常表明集群部分或完全不可用,需要检查节点是否离线、磁盘空间是否不足、网络问题或其他可能导致分片无法分配的问题。

查看健康状态

可以通过节点接口查看整体健康值。参考:

苏南大叔:ElasticSearch分布式搜索,如何查看集群健康值? - 节点健康值
ElasticSearch分布式搜索,如何查看集群健康值?(图5-2)

可以通过下面的方式,查看磁盘分配引起的健康值变化情况。

GET _cluster/allocation/explain

苏南大叔:ElasticSearch分布式搜索,如何查看集群健康值? - 解释磁盘状态
ElasticSearch分布式搜索,如何查看集群健康值?(图5-3)

GET _cluster/settings?flat_settings=true&include_defaults=true&pretty

可以查看一下相关的默认配置:

苏南大叔:ElasticSearch分布式搜索,如何查看集群健康值? - 设置默认值
ElasticSearch分布式搜索,如何查看集群健康值?(图5-4)

在控制台的输出中,也会有节点健康值的变化情况输出。但是,并不会标红。在很多的日志输出中,一眼看到错误输出或者说健康状态变化,是一件比较考验经验的事情。

监控状态的变化

从苏南大叔的经验上来说,这个监控状态的变化,并不是被动的。多数情况下,是主动的。比如:在磁盘可用空间减少的情况下,健康值就会由绿色变成黄色,甚至红色。而理由是:剩余可用磁盘空间不足百分比。

它看到百分比不足后,会主动“不健康”,停用某些功能。而此时,剩余的空间虽然不如预设的百分比,但是依然有很大的空间。根本不像是需要“不健康”的。

临界值可以通过配置值进行调整,限于文章主题,本文不做更多探讨。参考文章:

kibana查看健康值

最后一种方式就是通过kibana来查看监控值。路径是:menu=》managment=>stack monitoring。如下图所示:

苏南大叔:ElasticSearch分布式搜索,如何查看集群健康值? - kibana查看健康值
ElasticSearch分布式搜索,如何查看集群健康值?(图5-5)

kibana官方推荐的是一种叫做Metricbeat的外挂监控方式(待议),这里并不采用这种外挂方式,就使用原生的方式。

结语

更多elastic search的相关经验文章,可以参考:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   elastic