索引状态统计。默认情况下,该API会返回所有类型的统计信息,Indices Stats返回如下类型的统计信息。
文档总数量(包含已删除的文档),调用文档删除API后并不会立即将文档物理删除,会保留一段时间,受refreshing the index的影响。其返回示例如下:
- 1"docs" : {
- 2 "count" : 1286,
- 3 "deleted" : 0
- 4 }
复制
索引存储的总大小,其返回示例如下:
- 1"store" : {
- 2 "size_in_bytes" : 459254
- 3}
复制
其返回字段说明如下:
新增、更新、删除索引操作的统计信息,其返回示例如下:
- 1"indexing" : {
- 2 "index_total" : 0,
- 3 "index_time_in_millis" : 0,
- 4 "index_current" : 0,
- 5 "index_failed" : 0,
- 6 "delete_total" : 0,
- 7 "delete_time_in_millis" : 0,
- 8 "delete_current" : 0,
- 9 "noop_update_total" : 0,
- 10 "is_throttled" : false,
- 11 "throttle_time_in_millis" : 0
- 12 }
复制
其返回字段说明如下:
get api 统计信息,其返回示例如下:
- 1"get" : {
- 2 "total" : 0,
- 3 "time_in_millis" : 0,
- 4 "exists_total" : 0,
- 5 "exists_time_in_millis" : 0,
- 6 "missing_total" : 0,
- 7 "missing_time_in_millis" : 0,
- 8 "current" : 0
- 9}
复制
其返回字段说明如下:
查询API的统计信息,其返回示例如下:
- 1 "search" : {
- 2 "open_contexts" : 0,
- 3 "query_total" : 0,
- 4 "query_time_in_millis" : 0,
- 5 "query_current" : 0,
- 6 "fetch_total" : 0,
- 7 "fetch_time_in_millis" : 0,
- 8 "fetch_current" : 0,
- 9 "scroll_total" : 0,
- 10 "scroll_time_in_millis" : 0,
- 11 "scroll_current" : 0,
- 12 "suggest_total" : 0,
- 13 "suggest_time_in_millis" : 0,
- 14 "suggest_current" : 0
- 15 },
复制
其返回字段说明如下:
合并相关的统计信息,其输出示例如下:
- 1 "merges" : {
- 2 "current" : 0,
- 3 "current_docs" : 0,
- 4 "current_size_in_bytes" : 0,
- 5 "total" : 0,
- 6 "total_time_in_millis" : 0,
- 7 "total_docs" : 0,
- 8 "total_size_in_bytes" : 0,
- 9 "total_stopped_time_in_millis" : 0,
- 10 "total_throttled_time_in_millis" : 0,
- 11 "total_auto_throttle_in_bytes" : 104857600
- 12 }
复制
其返回字段说明如下:
刷新索引相关的统计。
- 1 "refresh" : {
- 2 "total" : 15,
- 3 "total_time_in_millis" : 0,
- 4 "listeners" : 0
- 5 }
复制
其返回字段说明如下:
刷盘的统计信息。
- 1"flush" : {
- 2 "total" : 5,
- 3 "periodic" : 0,
- 4 "total_time_in_millis" : 0
- 5 }
复制
其返回字段说明如下:
索引分片(shard)预热统计信息,分片预热是指为索引创建一个分片节点时,是否对该索引预热(为索引创建一bitSet位图)。其统计示例如下:
- 1"warmer" : {
- 2 "current" : 0,
- 3 "total" : 5,
- 4 "total_time_in_millis" : 0
- 5 }
复制
其返回字段说明如下:
查询缓存统计信息,其示例如下:
- 1"query_cache" : {
- 2 "memory_size_in_bytes" : 0,
- 3 "total_count" : 0,
- 4 "hit_count" : 0,
- 5 "miss_count" : 0,
- 6 "cache_size" : 0,
- 7 "cache_count" : 0,
- 8 "evictions" : 0
- 9 }
复制
其返回字段说明如下:
fielddata统计信息,fielddata主要用加快text字段排序与聚合的性能,存储词根与文档的映射关系存储在在内存,在内存中进行排序与聚合。
- 1"fielddata" : {
- 2 "memory_size_in_bytes" : 0,
- 3 "evictions" : 0
- 4 }
复制
其返回字段说明如下:
completion(自动填充)相关统计,其输出示例为:
- 1"completion" : {
- 2 "size_in_bytes" : 0
- 3 },
复制
其返回字段说明如下:
检索打开段的内存使用情况。可选地,设置include_segment_file_size=true(默认为false),将输出每个Lucene索引文件的聚合磁盘使用情况,其返回示例如下:
- 1"segments" : {
- 2 "count" : 32,
- 3 "memory_in_bytes" : 38078,
- 4 "terms_memory_in_bytes" : 23838,
- 5 "stored_fields_memory_in_bytes" : 9984,
- 6 "term_vectors_memory_in_bytes" : 0,
- 7 "norms_memory_in_bytes" : 2048,
- 8 "points_memory_in_bytes" : 32,
- 9 "doc_values_memory_in_bytes" : 2176,
- 10 "index_writer_memory_in_bytes" : 0,
- 11 "version_map_memory_in_bytes" : 0,
- 12 "fixed_bit_set_memory_in_bytes" : 0,
- 13 "max_unsafe_auto_id_timestamp" : -1,
- 14 "file_sizes" : { }
- 15 },
复制
其返回字段说明如下:
translog统计信息(有点类似于Innodb的redo日志),其输出示例如下:
- 1"translog" : {
- 2 "operations" : 0,
- 3 "size_in_bytes" : 1100,
- 4 "uncommitted_operations" : 0,
- 5 "uncommitted_size_in_bytes" : 1100,
- 6 "earliest_last_modified_age" : 0
- 7 }
复制
其返回字段说明如下:
请求缓存的统计信息,其输出示例如下:
- 1"request_cache" : {
- 2 "memory_size_in_bytes" : 0,
- 3 "evictions" : 0,
- 4 "hit_count" : 0,
- 5 "miss_count" : 0
- 6},
复制
其返回字段说明如下:
recovery(恢复)相关的统计信息,其输出示例:
- 1"recovery" : {
- 2 "current_as_source" : 0,
- 3 "current_as_target" : 0,
- 4 "throttle_time_in_millis" : 0
- 5}
复制
其返回字段说明如下:
Indices Stats返回的结果是在索引级别的聚合,包含三个维度:primaries(所有主节点进行聚合)、total(所有主节点、副本节点进行聚合)、indices(索引级别)。
下面给出在JAVA中使用Index Stats示例来结束本篇的讲解。
ElasticSearch Index Stats JAVA示例如下:(当前elasticsearch6.4.0 High Rest Client未提供对应API的封装)
- 1public static final void test_Indices_StatsIndex() {
- 2 TransportClient client = EsClient.getTransportClient();
- 3 try {
- 4 IndicesStatsRequest request = new IndicesStatsRequest();
- 5// request.indices("aggregations_index02");
- 6// request.indices("logs_write");
- 7// request.includeSegmentFileSizes(true);
- 8 ActionFuture<IndicesStatsResponse> responseFuture = client.admin().indices().stats(request);
- 9 IndicesStatsResponse response = responseFuture.get();
- 10 System.out.println(response);
- 11// System.out.println(result);
- 12 } catch (Throwable e) {
- 13 e.printStackTrace();
- 14 } finally {
- 15 EsClient.close(client);
- 16 }
- 17 }
复制
其返回的结果:
- 1{
- 2 "_shards" : {
- 3 "total" : 172,
- 4 "successful" : 86,
- 5 "failed" : 0
- 6 },
- 7 "_all" : {
- 8 "primaries" : {
- 9 "docs" : {
- 10 "count" : 4166,
- 11 "deleted" : 0
- 12 },
- 13 "store" : {
- 14 "size_in_bytes" : 929840
- 15 },
- 16 // ... 省略部分选项
- 17 },
- 18 "total" : {
- 19 "docs" : {
- 20 "count" : 4166,
- 21 "deleted" : 0
- 22 },
- 23 "store" : {
- 24 "size_in_bytes" : 929840
- 25 },
- 26 // ... 省略部分选项
- 27 }
- 28 },
- 29 "indices" : {
- 30 "aggregations_index04" : {
- 31 "uuid" : "2_6WutahTHa6iK52E7CwZQ",
- 32 "primaries" : {
- 33 // ... 省略部分选项
- 34 },
- 35 "total" : {
- 36 // ... 省略部分选项
- 37 }
- 38 },
- 39 "alias_demo" : {
- 40 "uuid" : "EltFD6Y6TA-lpfntx00naw",
- 41 "primaries" : {
- 42
- 43 },
- 44 "total" : {
- 45
- 46 }
- 47
- 48 } // 省略其他索引
- 49 }
- 50}
复制
本文详细介绍了Index Stats API的使用,特别在结合源码的基础上给出该API响应结果中各个字段含义的解读,包含docs、store、indexing、get、search、merges、refresh、flush、warmer、query_cache、fielddata、completion、segments、translog、request_cache、recovery。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除
评论
登录后参与评论
推荐
Filebeat是Beat成员之一,基于Go语言,无任何依赖,并且比logstash更加轻量,非常适合安装在生产机器上,不会带来过高的资源占用,轻量意味着简单。
张戈
2017-09-29
22.5K3
部署 Kubernetes 集群日志插件 Fluentd、Elasticsearch、Kibana
目录 Kubernetes 日志架构介绍 环境、软件准备 启动 Fluentd 启动 Elasticsearch 启动 Kibana 浏览器添加证书 RBAC 认证模式介绍 1、Kubernetes 日志架构介绍 对于任何基础架构或者服务系统,日志重要性不言而喻,当然 Kubernetes 也少不了对 Logging 的支持,集群中各个资源以及服务日志如何很好的集中查看并分析,官方给出了 Cluster-level Logging 的架构,其中就提供使用 EFK 框架作为集群日志解决方案。当然 EF
哎_小羊
2018-01-02
6.7K0
Apache Zeppelin 中 Elasticsearch 解释器
概述 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速,实时地存储,搜索和分析大量数据。它通常用作为具有复杂的搜索功能和要求的应用程序提供的底层引擎/技术。 配置 属性 默认 描述 elasticsearch.cluster.name elasticsearch 群集名称 elasticsearch.host localhost 集群中节点的主机 elasticsearch.port 9300 连接端口(重要提
片刻
2018-01-05
1.1K0
通过rest api添加检索数据,阅读官方文档可以发现,elasticsearch支持动态映射,但是其中有不少问题,且听慢慢详解。 本文主要讲述三点内容: 1 Elasticsearch常用的rest api 2 Elasticsearch使用bulk命令添加索引数据 ES REST API elasticsearch支持通过http请求响应服务,因此通过curl命令,可以发送http请求,并得到json返回内容。 常用的rest请求包括: 检查ES集群状态: curl localh
用户1154259
2018-01-17
8630
Elasticsearch+Logstash+Kibana教程
参考资料 累了就听会歌吧! Elasticsearch中文参考文档 Elasticsearch官方文档 Elasticsearch 其他——那些年遇到的坑 Elasticsearch 管理文档 Elasticsearch集群配置以及REST API使用 Elasticsearch集群管理 Elasticsearch 数据搜索篇·【入门级干货】 Elasticsearch使用REST API实现全文检索 Windows下elasticsearch插入数据报错! Kibana中doc与search策略的区别 E
用户1154259
2018-01-17
2.2K0
在如何开发自己的搜索帝国之Elasticsearch中已经介绍安装好了ES,下面就Kibana对ES的查询监控作介绍,就是常提到的大数据日志处理组件ELK里的K。 什么是Kibana?现引用园友的一段对此的介绍,个人觉得比较全。 Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。 Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以
欢醉
2018-01-22
1.2K0
1、简介 ElasticSearch(简称ES)是一个分布式、Restful的搜索及分析服务器,设计用于分布式计算;能够达到实时搜索,稳定,可靠,快速。和Apache Solr一样,它也是基于Lucence的索引服务器,而ElasticSearch对比Solr的优点在于: 轻量级:安装启动方便,下载文件之后一条命令就可以启动。 Schema free:可以向服务器提交任意结构的JSON对象,Solr中使用schema.xml指定了索引结构。 多索引文件支持:使用不同的index参
用户1263954
2018-01-30
1.5K0
开源搜索和分析引擎Elasticsearche在Bay的性能优化实践,单集群日搜索请求超4亿
摘要:Elasticsearch是基于Apache Lucene的开源搜索和分析引擎,允许用户以近乎实时的方式存储,搜索和分析数据。虽然Elasticsearch专为快速查询而设计,但其性能在很大程度上取决于用于应用程序的场景,索引的数据量以及应用程序和用户查询数据的速率。这篇文章概述了挑战和调优过程,以及Pronto团队以战略方式构建应对挑战的工具。它还以各种图形配置展示了进行基准测试的一些结果。以下是正文。 Elasticsearch是基于Apache Lucene的开源搜索和分析引擎,允许用户以近乎实
CSDN技术头条
2018-02-06
1.2K0
ELK 集群 Kibana 使用 X-Pack 权限控制,监控集群状态,实时的生成,警报,监视,cpu,内存,磁盘空间,等等一系列,报告和的可视化图形
简述 ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana 这三个工具组合形成了一套实用、易用的监控架构,很多公司利用它来搭建可视化的海量日志分析平台。 X-Pack X-Pack Elastic Stack X-Pack是一个Elastic Stack的扩展,将安全,警报,监视,报告和图形功能包含在一个易于安装的软件包中 搭建集群 1.X-Pack 安装 https://www.elastic.co/guide/en/x-pack/current/index.h
搜云库
2018-02-09
2K0
崔华,网名 dbsnake Oracle ACE Director,ACOUG 核心专家 编辑手记:感谢崔华授权我们独家转载其精品文章,也欢迎大家向“Oracle”社区投稿。 这里我们稍微讨论一下CBO对于Cost值相同的索引的选择,可能会有朋友认为在同样Cost的情况下,Oracle会按照索引名的字母顺序来选择索引,实际上并不完全是这样,CBO对于Cost值相同的索引的选择和Oracle的版本有关。 原理说明 MOS上文章“Handling of equally ranked (RBO) or cos
数据和云
2018-03-05
8930
黄玮(Fuyuncat),资深 Oracle DBA,从事 Oracle 数据库管理、维护与开发工作十余年,有丰富的大型数据库设计、开发与维护方面的经验,博客www.HelloDBA.com, 一个系统,经过长期的运行、维护和版本更新后,可能会产生大量的索引,甚至索引所占空间远远大于数据所占的空间。很多索引,在初期设计时,对于系统来说是有用的。但是,经过系统的升级、数据表结构的调整、应用的改变,很多索引逐渐不被使用,成为了垃圾索引。这些索引占据了大量数据空间,增加了系统的维护量,甚至会降低系统性能。因此
数据和云
2018-03-06
5420
简单分析percona-zabbix-templates(r10笔记第6天)
当Zabbix和Percona两者相遇,会擦出不少的开源火花来,众人拾柴火焰高,最终受益的还是大部分运维人员。 我很早就用过Percona提供的MySQL监控模板,但是却没有刨根问底,只是简单使用而已,自从定制了Orabbix之后,我还是信心满满,MySQL的数据字典相对要少很多,监控起来可能想必Oracle要少很多,不过关于Percona的这个插件,我还是带着好奇之心,内部是否有很多独门秘籍,我想好好学学那些监控项对应的SQL,好好弥补我对于MySQL监控的一些空缺,所以简单分析这个模板就
jeanron100
2018-03-19
6240
继续前几天的一个案例一个SQL性能问题的优化探索(一)(r11笔记第33天) 如下的SQL语句存在索引字段CARD_NO,但是执行的时候却走了全表扫描,因为这是一个核心表,数据量很大,导致数据库负载很高。 SQL_FULLTEXT ---------------------------------------------------------------------------------------------------- SELECT ID,CN,CARD_NO,TO_CHAR(CHARGE_DAT
jeanron100
2018-03-21
6250
干货 |《从Lucene到Elasticsearch全文检索实战》拆解实践
1、题记 2018年3月初,萌生了一个想法:对Elasticsearch相关的技术书籍做拆解阅读,该想法源自非计算机领域红火已久的【樊登读书会】、得到的每天听本书、XX拆书帮等。 目前市面上Elasticsearch的中文书籍就那么基本,针对ES5.X以上的三本左右;国外翻译有几本,都是针对ES1.X,2.X版本,其中《深入理解Elasticsearch》还算比较经典。 拆书的目的: 1)梳理已有的Elasticsearch知识体系; 2)拾遗拉在角落的Elasticsearch知识点; 3)通过手敲动代码
铭毅天下
2018-04-24
3.1K0
DevOps 漫谈:基于OpenCensus构建分布式跟踪系统
随着互联网技术的高速发展,以往单应用的服务架构已经很难处理如山洪般增长的信息数据,随着云计算技术的大规模应用,以微服务、RESTful 为代表的各种软件架构广泛应用,跨团队、跨编程语言的大规模分布式系统也越来越多。相对而言,现在要理解系统行为,追踪诊断性能问题会复杂得多。
RiboseYim
2018-04-28
1.8K0
这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异。 所以有时候我们应该先搞清楚需求到底是什么,SQL本身是否合理,这些思考很可能会使优化工作事半功倍。而本文是假设SQL本身合理,从Oracle提供给我们的一些技术手段来简单介绍下Oracle数据库,该如何使用一些现有的技术来优化一个SQL执行的性能。 确定需要优化的SQL文本及当前SQL执行计划 确定SQL涉及的所有表及其索引的相
Alfred Zhao
2018-05-11
7860
配置和安装 EFK 官方文件目录:cluster/addons/fluentd-elasticsearch $ ls *.yaml es-controller.yaml es-service.yaml fluentd-es-ds.yaml kibana-controller.yaml kibana-service.yaml efk-rbac.yaml 同样EFK服务也需要一个efk-rbac.yaml文件,配置serviceaccount为efk。 已经修改好的 yaml 文件见:EFK 配置 es
8420
什么是搜索? 如果使用数据库做搜索会怎样? 什么是全文检索和Lucene 什么是ElasticSearch1. 什么是搜索? 百度、google上查询任何需要的内容信息。这种是通用的搜索。但是百度只是一个通用的搜索引擎,并不等于搜索。 垂直搜索(站内搜索): 在指定领域或内容区域搜索内容, 互联网的搜索: 比如淘宝,拉钩,今日头条等。 IT系统的搜索: OA软件,办公自动化软件,会议管理,日程管理,项目管理等。 搜索:就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你想要的关键字,然后就
5340
死磕 Elasticsearch 方法论:普通程序员高效精进的 10 大狠招!
人工智能、大数据快速发展的今天,对于 TB 甚至 PB 级大数据的快速检索已然成为刚需。Elasticsearch 作为开源领域的后起之秀,从2010年至今得到飞跃式的发展。 Elasticsearch 以其开源、分布式、RESTFul API 三大优势,已经成为当下风口中“会飞的猪”。
1.4K0
Elasticsearch是一个开源的分布式文档存储和搜索引擎,可以近乎实时地存储和检索数据结构,它很大程度上依赖于Apache Lucence--一个用Java编写的全文搜索引擎。