Elasticsearch 监控指标解析
  ohUzWZB6ZDgi 2023年11月02日 101 0

使用prometheus监控elasticsearch从而获取的指标。


1.集群监控

集群监控主要包括两个方面的内容,分别是集群健康情况和集群的运行状态

集群健康状态可以通过以下api获取:

http://ip:9200/_cluster/health?pretty

关键指标说明:

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:
#集群分片健康度,活跃分片数占总分片数比例。

number_of_pending_tasks:
#pending task只能由主节点来进行处理,这些任务包括创建索引并将shards分配给节点。

集群状态信息主要包含整个集群的一些统计信息,例如文档数、分片数、资源使用情况等。

集群状态信息可以由以下api获取:

http://ip:9200/_cluster/stats?pretty

关键指标说明:

indices.count:
#索引总数。

indices.shards.total:
#分片总数。

indices.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:
#文件系统剩余总容量。

2.节点监控

节点监控主要针对各个节点,有很多指标对于保证ES集群的稳定运行非常重要。

可以通过以下api获取:

http://ip:9200/_nodes/stats?pretty

关键指标说明:

name:
#节点名。

roles:
#节点角色。

indices.docs.count:
#索引文档数。

segments.count:
#段总数。

jvm.heap_used_percent:
#内存使用百分比。

thread_pool.{bulk, index, get, search}.{active, queue, rejected}
#线程池的一些信息,包括bulk、index、get和search线程池,主要指标有active(激活)线程数,线程queue(队列)数和rejected(拒绝)线程数量。

以下一些指标是一个累加值,当节点重启之后会清零。

indices.indexing.index_total:
#索引文档数。

indices.indexing.index_time_in_millis:
#索引总耗时。

indices.get.total:
#get请求数。

indices.get.time_in_millis:
#get请求总耗时。

indices.search.query_total:
#search总请求数。

indices.search.query_time_in_millis:
#search请求总耗时。indices.search.fetch_total:fetch操作总数量。

indices.search.fetch_time_in_millis:
#fetch请求总耗时。

jvm.gc.collectors.young.collection_count:
#年轻代垃圾回收次数。

jvm.gc.collectors.young.collection_time_in_millis:
#年轻代垃圾回收总耗时。

jvm.gc.collectors.old.collection_count:
#老年代垃圾回收次数。

jvm.gc.collectors.old.collection_time_in_millis:
#老年代垃圾回收总耗时。

一些需要计算的指标: 节点监控的计算指标主要分为两类,分别为请求速率指标和请求处理延迟指标,下面作具体介绍。

index_per_min:
#每分钟索引请求数量。计算公式如下:
#索引请求率=(index_total两次采集差值)/(系统时间差值(ms))×60000 (公式1)

indexAverge_per_min:
#索引请求处理延迟。计算公式如下:
#索引延迟=(index_time_in_millis两次采集差值)/(index_total两次采集差值) (公式2)

get_per_min:
#每分钟get请求数量,计算公式如(公式1),更改相应参数。

getAverage_per_min:
#get请求处理延迟,计算公式如(公式2) ,更改相应参数。

merge_per_min:
#每分钟merge请求数量,计算公式如(公式1),更改相应参数。

mergeAverage_per_min:
#merge请求处理延迟,计算公式如(公式2) ,更改相应参数。

searchQuery_per_min:
#每分钟query请求数量,计算公式如(公式1),更改相应参数。

searchQueryAverage_per_min:
#query请求延迟,计算公式如(公式2) ,更改相应参数。

searchFetch_per_min:
#每分钟fetch请求数量,计算公式如(公式1),更改相应参数。

searchFetchAverage_per_min:
#fetch请求延迟,计算公式如(公式2) ,更改相应参数。

youngGc_per_min:
#每分钟young gc数量,计算公式如(公式1),更改相应参数。

youngGcAverage_per_min:
#young gc请求延迟,计算公式如(公式2) ,更改相应参数。

oldGc_per_min:
#每分钟old gc数量,计算公式如(公式1),更改相应参数。

oldGcAverage_per_min:
#old gc请求延迟,计算公式如(公式2) ,更改相应参数。

3.索引监控

索引监控指标主要针对单个索引,不过也可以通过“_all”对集群中所有索引进行监控。

索引监控指标可以通过以下api获取:

http://ip:9200/_stats?pretty

关键指标说明:

http://ip:9200/_stats?pretty。 
#关键指标说明:

indexname.primaries.docs.count:
#索引文档数量。

以下一些指标是一个累加值,当节点重启之后会清零。

indexname.primaries.indexing.index_total:
#索引文档数。

indexname.primaries.indexing.index_time_in_millis:
#索引总耗时。

indexname.primaries.get.total:
#get请求数。

indexname.primaries.get.time_in_millis:
#get请求总耗时。

indexname.primaries.search.query_total:
#search总请求数。

indexname.primaries.search.query_time_in_millis:
#search请求总耗时。indices.search.fetch_total:fetch操作总数量。

indexname.primaries.search.fetch_time_in_millis:
#fetch请求总耗时。

indexname.primaries.refresh.total:
#refresh请求总量。

indexname.primaries.refresh.total_time_in_millis:
#refresh请求总耗时。

indexname.primaries.flush.total:
#flush请求总量。

indexname.primaries.flush.total_time_in_millis:
#flush请求总耗时。

理解了上面的指标

就可以使用Prometheus和Grafana进行监控展示

下面是我们测试环境的Grafana上展示的Elasticsearch集群的状态

可以看到prometheus采集到的的指标信息还是比较全面的

Elasticsearch 监控指标解析_垃圾回收Elasticsearch 监控指标解析_get请求_02Elasticsearch 监控指标解析_get请求_03Elasticsearch 监控指标解析_垃圾回收_04Elasticsearch 监控指标解析_垃圾回收_05Elasticsearch 监控指标解析_垃圾回收_06

 

 

作者:HaydenGuo

每一个前十年都想不到后十年我会演变成何等模样,可知人生无常,没有什么规律,没有什么必然。

只要我还对新鲜的知识、品格的改进、情感的扩张、有胃口,这日子就是值得度过的。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
ohUzWZB6ZDgi