ElasticSearch分布式搜索,如何查看集群健康值?
发布于 作者:苏南大叔 来源:程序如此灵动~ElasticSearch
主打的就是个分布式,所以,它实际上可以部署很多个服务器节点。如果某些节点硬盘空间不足,整个集群的健康值就会发生变化。这就是本文要探讨的问题。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。本文测试环境:win10
,elasticsearch@8.17.1
,kibana@8.17.1
。
前文回顾
本文通过下面的方式,安装elastic
和kibana
:
两者通过下面这篇文章的方式,进行了数据交互管理:
其中,elastic search
建立了多节点分布式集群。通过下面的方式:
健康状态分类
elastic search
的健康值,指的是整体集群健康值,而不是单独节点的健康值。分为三种情况:green
、yellow
、red
。
green
绿色状态表示你的数据是安全且可访问的。所有的主分片和副本分片都已正确分配,集群是完全健康的,所有数据都是可用的。
yellow
黄色状态表示所有的主分片都已正确分配,但是不是所有的副本分片都已分配。
在某些情况下,这是可以接受的,特别是在可以容忍数据丢失的场景下(例如,副本分片设置为0),或者在某些节点暂时不可用的情况下。黄色状态通常表明集群仍然可以正常工作,但某些数据可能不完全冗余。
Red
红色状态表示不是所有的主分片都已正确分配。这意味着某些数据可能无法访问,这通常是一个严重的问题,需要立即解决。
红色状态通常表明集群部分或完全不可用,需要检查节点是否离线、磁盘空间是否不足、网络问题或其他可能导致分片无法分配的问题。
查看健康状态
可以通过节点接口查看整体健康值。参考:
可以通过下面的方式,查看磁盘分配引起的健康值变化情况。
GET _cluster/allocation/explain
GET _cluster/settings?flat_settings=true&include_defaults=true&pretty
可以查看一下相关的默认配置:
在控制台的输出中,也会有节点健康值的变化情况输出。但是,并不会标红。在很多的日志输出中,一眼看到错误输出或者说健康状态变化,是一件比较考验经验的事情。
监控状态的变化
从苏南大叔的经验上来说,这个监控状态的变化,并不是被动的。多数情况下,是主动的。比如:在磁盘可用空间减少的情况下,健康值就会由绿色变成黄色,甚至红色。而理由是:剩余可用磁盘空间不足百分比。
它看到百分比不足后,会主动“不健康”,停用某些功能。而此时,剩余的空间虽然不如预设的百分比,但是依然有很大的空间。根本不像是需要“不健康”的。
临界值可以通过配置值进行调整,限于文章主题,本文不做更多探讨。参考文章:
kibana查看健康值
最后一种方式就是通过kibana
来查看监控值。路径是:menu
=》managment
=>stack monitoring
。如下图所示:
kibana
官方推荐的是一种叫做Metricbeat
的外挂监控方式(待议),这里并不采用这种外挂方式,就使用原生的方式。
结语
更多elastic search
的相关经验文章,可以参考:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。