关于kibana:探析ElasticSearch-Kibana在测试工作中的实践应用-京东物流技术团队
一. 为什么应用ES Kibana离线数据测试中最重要的就是数据验证,一部分须要测试es存储数据的正确性,另一部分就须要验证接口从es取值逻辑的正确性。而为了验证es取值逻辑的正确性,就须要用到Kibana, 它能帮忙测试同学更加疾速高效的执行es数据的查问,大大提高测试效率。 二. 什么是ES和Kibana咱们平时所说的ELK指的就是Elasticsearch、Logstash和Kibana,这三个技术的组合是大数据畛域中一个很奇妙的设计,是一种很典型的MVC思维,模型长久层,视图层和管制层。 Logstash负责管制层的角色,负责收集和过滤数据。 Elasticsearch负责数据长久层的角色,负责贮存数据,是一个实时的分布式存储、搜寻、剖析的引擎,实用于所有类型的数据,包含文本、数字、天文空间、结构化和非结构化数据,相较于Mysql来说更长于百万数据量的检索。 而咱们这次讲的Kibana负责视图层角色,它是一个为Logstash和ElasticSearch提供的日志剖析的Web接口。可应用它对日志进行高效的搜寻、可视化、剖析等各种操作,是一个开源的数据分析与可视化平台,与Elasticsearch搜索引擎一起应用。您能够用Kibana搜寻、查看、交互寄存在Elasticsearch索引中的数据,也能够应用Kibana以图表、表格、地图等形式展现数据,从而达到高级的数据分析与可视化的目标。 本次将介绍Kibana中的Dev Tools中sql查问 , Visualize(可视化数据) 两个性能的应用。 三. Dev Tools 中的sql查问ES和MYSQL的区别: MysqlElasticSearchDatabaseindexTableTypeRowDocumentColumnFieldSchemaMappingIndexEverything is indexedSQLQuery DSLSELECT * FROM ...GET http://...UPDATE table SET...PUT http://...在数据库中的增insert、删delete、改update、查select操作等价于ES中的增PUT/POST、删Delete、改_update、查GET。对于这些简单的查问,es应用Query DSL都能够实现。 POST /index111/_search{ "query": { "bool": { "must": [ {"term":{"user": "张三"}}, {"term":{"timeStamp": "2022-08-04 00:00:00"}} ] } }}然而相比拟来说,咱们更加相熟sql语句,所以es也提供了sql语句的开发,让咱们通过sql语句即可实现ES的查问。在es版本6.3之前都不反对sql语句的开发,如果须要应用sql语句来开发es的数据查问,那么咱们须要手动的本人装置插件。 然而在6.3版本之后,es自带就装置了sql的插件,集成在_xpack上面,咱们能够间接通过sql语句的形式实现es当中的数据查问 以下为应用sql语句查问的步骤: 进入Dev Tools - Console(控制台)POST /_xpack/sql{ "query": "select * from index111 "}输出以上语句,默认返回格局为json 2.能够自定义返回的格局,如想返回文本格式, /_xpack/sql 后加上?format=txt 较为简单的分类聚合计算的sql语句,也是反对的。 应用该性能,可能帮忙测试同学较为方便快捷的查问es的数据,进步测试效率。 四. Visualize(可视化数据) 应用应用下面的sql语句,可能较快的查问到数据,但该sql语句无奈保留,等下次验证回归该内容,查问同样数据时,还需再次输出sql语句,就可能呈现须要从新理解查问逻辑,缩短回归工夫的问题。而应用Visualize(可视化数据)能够将es索引内容通过聚合,通过图表等多种形式保留并显示进去,可能更加间接浏览es的数据,同时产品业务也可用于进行数据分析,创立数据看板。 ...