Elasticsearch Index Monitoring(索引监控)之Index Stats API详解(1)

“index_current” : 0,

“index_failed” : 0,

“delete_total” : 0,

“delete_time_in_millis” : 0,

“delete_current” : 0,

“noop_update_total” : 0,

“is_throttled” : false,

“throttle_time_in_millis” : 0

}

其返回字段说明如下:

  • index_total

索引操作总次数。

  • index_time_in_millis

索引操作总耗时。

  • index_current

当前正在执行索引操作的个数。

  • index_failed

失败的索引操作次数。

  • delete_total

执行删除索引操作的次数。

  • delete_time_in_millis

删除索引操作总耗时。

  • delete_current

当前正在执行删除索引操作的个数。

  • noop_update_total

空更新总次数(检测到空更新的次数)。

  • is_throttled

索引是否处在merge throttling control(合并节流控制状态)。

  • throttle_time_in_millis

索引处在merge throttling control(合并节流状态)的时间开销。

4、get

get api 统计信息,其返回示例如下:

“get” : {

“total” : 0,

“time_in_millis” : 0,

“exists_total” : 0,

“exists_time_in_millis” : 0,

“missing_total” : 0,

“missing_time_in_millis” : 0,

“current” : 0

}

其返回字段说明如下:

  • total

get api总调用次数。

  • time_in_millis

get api总耗时。

  • exists_total

命中的次数。

  • exists_time_in_millis

命中的操作总耗时。

  • missing_total

未命中的总次数。

  • missing_time_in_millis

未命中的操作的总耗时。

  • current

当前正在执行的个数。

5、search

查询API的统计信息,其返回示例如下:

“search” : {

“open_contexts” : 0,

“query_total” : 0,

“query_time_in_millis” : 0,

“query_current” : 0,

“fetch_total” : 0,

“fetch_time_in_millis” : 0,

“fetch_current” : 0,

“scroll_total” : 0,

“scroll_time_in_millis” : 0,

“scroll_current” : 0,

“suggest_total” : 0,

“suggest_time_in_millis” : 0,

“suggest_current” : 0

},

其返回字段说明如下:

  • open_contexts

正在打开的查询上下文个数。

  • query_total

查询出来的总数据条数。

  • query_time_in_millis

查询阶段所耗费的时间。

  • query_current

当前正在查询个数。

  • fetch_total

Fetch操作的次数。

  • fetch_time_in_millis

Fetch阶段总耗时时间。

  • fetch_current

正在fetch的次数。

  • scroll_total

通过scroll api查询数据总条数。

  • scroll_time_in_millis

通过scroll api总耗时时间。

  • scroll_current

当前滚动API调用次数。

  • suggest_total

通过suggest api获取的推荐总数量。

  • suggest_time_in_millis

suggest总耗费时间。

  • suggest_current

正在执行suggest api的个数。

6、merges

合并相关的统计信息,其输出示例如下:

“merges” : {

“current” : 0,

“current_docs” : 0,

“current_size_in_bytes” : 0,

“total” : 0,

“total_time_in_millis” : 0,

“total_docs” : 0,

“total_size_in_bytes” : 0,

“total_stopped_time_in_millis” : 0,

“total_throttled_time_in_millis” : 0,

“total_auto_throttle_in_bytes” : 104857600

}

其返回字段说明如下:

  • current

总发生的合并次数。

  • current_docs

当前正在发生合并的文档数。

  • current_size_in_bytes

当前合并参与的文档总大小,单位字节。

  • total

总发生的合并次数。

  • total_time_in_millis

合并的总耗时(单位毫秒)。

  • total_docs

merge(合并)时总处理的文档个数。

  • total_size_in_bytes

merge(合并)时总处理的文档总大小(字节)。

  • total_stopped_time_in_millis

merge(合并)时总停止时间(吞吐率为0)。

  • total_throttled_time_in_millis

超过指定吞吐率而暂停的时间(节流)。

  • total_auto_throttle_in_bytes

自动进行流控的阔值,默认速率20m/s。

7、refresh

刷新索引相关的统计。

“refresh” : {

“total” : 15,

“total_time_in_millis” : 0,

“listeners” : 0

}

其返回字段说明如下:

  • total

执行刷新的总次数。

  • total_time_in_millis

执行刷新总耗时。

  • listeners

等待刷新侦听器的数量。

8、flush

刷盘的统计信息。

“flush” : {

“total” : 5,

“periodic” : 0,

“total_time_in_millis” : 0

}

其返回字段说明如下:

  • total

执行刷盘操作的次数。

  • periodic

当translog超过刷新阈值时周期性触发的刷新次数。

  • total_time_in_millis

刷盘操作总耗时时间。

9、warmer

索引分片(shard)预热统计信息,分片预热是指为索引创建一个分片节点时,是否对该索引预热(为索引创建一bitSet位图)。其统计示例如下:

“warmer” : {

“current” : 0,

“total” : 5,

“total_time_in_millis” : 0

}

其返回字段说明如下:

  • current

当前正在预热的个数。

  • total

总共发生的预热次数。

  • total_time_in_millis

分片预热总耗时。

10、query_cache

查询缓存统计信息,其示例如下:

“query_cache” : {

“memory_size_in_bytes” : 0,

“total_count” : 0,

“hit_count” : 0,

“miss_count” : 0,

“cache_size” : 0,

“cache_count” : 0,

“evictions” : 0

}

其返回字段说明如下:

  • memory_size_in_bytes

查询缓存占用的内存空间,单位为字节。

  • total_count

缓存中查询的总次数,等于hit_count + miss_count。

  • hit_count

查询缓存命中的次数。

  • miss_count

查询缓存未命中的次数。

  • cache_size

当前查询缓存中缓存文档的个数。

  • cache_count

查询缓存总缓存文档个数(包含已经被换出evictions的文档个数)。

  • evictions

查询缓存被逐出的总数。

11、fielddata

fielddata统计信息,fielddata主要用加快text字段排序与聚合的性能,存储词根与文档的映射关系存储在在内存,在内存中进行排序与聚合。

“fielddata” : {

“memory_size_in_bytes” : 0,

“evictions” : 0

}

其返回字段说明如下:

  • memory_size_in_bytes

当前占用内存的大小。

  • evictions

被逐出词根的个数。

12、completion

completion(自动填充)相关统计,其输出示例为:

“completion” : {

“size_in_bytes” : 0

},

其返回字段说明如下:

  • size_in_bytes

自动提示占用字节数。

13、segments

检索打开段的内存使用情况。可选地,设置include_segment_file_size=true(默认为false),将输出每个Lucene索引文件的聚合磁盘使用情况,其返回示例如下:

“segments” : {

“count” : 32,

“memory_in_bytes” : 38078,

“terms_memory_in_bytes” : 23838,

“stored_fields_memory_in_bytes” : 9984,

“term_vectors_memory_in_bytes” : 0,

“norms_memory_in_bytes” : 2048,

“points_memory_in_bytes” : 32,

“doc_values_memory_in_bytes” : 2176,

“index_writer_memory_in_bytes” : 0,

“version_map_memory_in_bytes” : 0,

“fixed_bit_set_memory_in_bytes” : 0,

“max_unsafe_auto_id_timestamp” : -1,

“file_sizes” : { }

},

其返回字段说明如下:

  • count

该索引目前拥有的总段数。

  • memory_in_bytes

该索引缓存在内存中字节数。

  • terms_memory_in_bytes

倒排索引(term)缓存在内中所占字节数。

  • stored_fields_memory_in_bytes

该索引定义为stored_fields字段在内存中缓存的字节数。

  • term_vectors_memory_in_bytes

该索引term_vectors(词向量)在内存中所占字节数量。

  • norms_memory_in_bytes

该索引存储对应norms=true的字段当前在内存中缓存字节数。

  • points_memory_in_bytes

与地理位置相关的缓存数据。

  • doc_values_memory_in_bytes

设置为doc_values缓存在内存中的字节数(doc_values,列式存储)。

  • index_writer_memory_in_bytes

用于优化索引写的缓存(减少写磁盘的频率)。

  • version_map_memory_in_bytes

关于文档的版本映射所占内存大小。

  • fixed_bit_set_memory_in_bytes

fixed_bit_set内存,专门用来做nested查询的。

  • max_unsafe_auto_id_timestamp

es内部当前的自增ID。

  • file_sizes

其中如果设置为true,则file_sizes主要包含如下统计信息:

在这里插入图片描述

14、translog

translog统计信息(有点类似于Innodb的redo日志),其输出示例如下:

“translog” : {

“operations” : 0,

“size_in_bytes” : 1100,

“uncommitted_operations” : 0,

“uncommitted_size_in_bytes” : 1100,

“earliest_last_modified_age” : 0

}

其返回字段说明如下:

  • operations

写translog的次数(索引文档、更新文档、删除文档的总操作数量)。

  • size_in_bytes

translog实例管理的translog文件总大小。(一个索引引擎(InternalEngine)示例包含一个Translog实例)。

  • uncommitted_operations

当前还未提交到lucene中的操作次数(索引文档、更新文档、删除文档的操作数量)。

  • uncommitted_size_in_bytes

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
Translog实例)。

  • uncommitted_operations

当前还未提交到lucene中的操作次数(索引文档、更新文档、删除文档的操作数量)。

  • uncommitted_size_in_bytes

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-GsFXV0gF-1715669957889)]

[外链图片转存中…(img-QmHPffS0-1715669957890)]

[外链图片转存中…(img-yEensTKN-1715669957890)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值