ES监控的最主要作用是用于保障基于ES的服务正常运行以及在出现问题时为工程师提供解决问题的依据,进而快速定位及解决问题
集群监控
集群监控主要包括2个方面的内容,分别是:集群健康状态 和 集群统计信息
① 集群健康状态信息-API获取:
1 | curl -XGET http://ip:9200/_cluster/health?pretty |
1 | { |
指标 | 说明 |
---|---|
status | 集群状态:green、yellow和red |
number_of_nodes / number_of_data_nodes | 集群节点数 / 数据节点数 |
active_primary_shards | 集群中所有活跃的主分片数 |
active_shards | 集群中所有活跃的分片数 |
relocating_shards | 当前节点迁往其他节点的分片数量,通常为0. 当有节点加入或退出时该值会增加 |
initializing_shards | 正在初始化的分片 |
unassigned_shards | 未分配的分片数,通常为0;当有某个节点的副本分片丢失该值就会增加 |
number_of_pending_tasks | 指主节点创建索引并分配shards等任务,如果该指标数值一直未减小代表集群存在不稳定因素 |
active_shards_percent_as_number | 集群分片健康度; 活跃分片数占总分片数的比例 |
status | 说明 |
---|---|
green | 所有的分片和副本均已分配,集群100%可用 |
yellow | 所有的主分片正常,但至少有一个副本缺失,此时搜索结果依然是完整的,数据不会丢失。但高可用集群在某种程度上被弱化。 |
red | 至少一个主分片(以及它的全部副本)都已经缺失,这意味着集群存在数据缺失,搜索只能返回部分数据,而分配到这个分片上的写入请求会返回异常 |
② 集群统计信息-API获取
集群统计信息包含:文档数、分片数、资源使用情况等
1 | curl -XGET http://ip:9200/_cluster/stats?pretty |
指标 | 说明 |
---|---|
indices.count | 索引总数 |
indices.shards.total | 分片总数 |
ubduces.shards.primaries | 主分片数量 |
docs.count | 文档总数 |
store.size_in_bytes | 数据总存储容量 |
segments.count | 段总数 |
nodes.count.total | 总节点数 |
nodes.count.data | 数据节点数 |
nodes.process.cpu.percent | 节点CPU使用率 |
fs.total_in_bytes | 文件系统使用总容量 |
fs.free_in_bytes | 文件系统剩余总容量 |
在运行 Elasticsearch 时,内存是您要密切监控的关键资源之一。 Elasticsearch 和 Lucene 以两种方式利用节点上的所有可用 RAM:JVM heap 和文件系统缓存。 Elasticsearch 运行在Java虚拟机(JVM)中,这意味着JVM垃圾回收的持续时间和频率将成为其他重要的监控领域。 所以,仍需关注内存/CPU使用,指标值为:
① nodes.mem.used_percent
② nodes.process.cpu.percent
③ nodes.jvm.mem.heap_used
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2019/04/18/ES集群监控-总结/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!