首页 > 数据库 >【elasticsearch】elasticSearch数据库配置慢查询日志

【elasticsearch】elasticSearch数据库配置慢查询日志

时间:2022-08-25 11:03:52浏览次数:59  
标签:index search trace slowlog elasticsearch threshold elasticSearch 日志

给elasticSearch引擎配置慢查询日志,可以实时监控搜索过慢的日志。虽然ElasticSearch以快速搜索而出名,但随着数据量的进一步增大或是服务器的一些性能问题,会有可能出现慢查询的情况。慢查询日志可以帮助你快速定位到是什么 Index 和 语句 过慢。甚至还可以用 Opster Search Log Analyzer 分析你的慢查询日志,Opster Search Log Analyzer 还会针对你的慢查询日志提供专门的优化建议。

默认情况下,慢查询日志打印功能是关闭的。你可以通过设置查询的threshold 值来设置,通过如下的命令查看当前设置的值。下面以mytask索引为例:

curl -XGET "http://<your elastic host>:9200/mytask/_settings?pretty"

上面查询了mytask当前设置的值,如果你想输出所有索引的设置信息,那么只需要将 mytask 改为 _al l就可以了 /_all/_settings 。

 

如果输出的信息中,如果没有threadhold值那么就还没有进行设置。需要分别设置 搜索部分 和 索引部分 两部分。

1、搜索部分:

curl -XPUT "http://<your elastic host>:9200/mytask/_settings" -H 'Content-Type: application/json' -d'
{  
"index.search.slowlog.threshold.query.warn": "10s",  
"index.search.slowlog.threshold.query.info": "5s",  
"index.search.slowlog.threshold.query.debug": "2s",  
"index.search.slowlog.threshold.query.trace": "500ms",  
"index.search.slowlog.threshold.fetch.warn": "1s",  
"index.search.slowlog.threshold.fetch.info": "800ms",  
"index.search.slowlog.threshold.fetch.debug": "500ms",  
"index.search.slowlog.threshold.fetch.trace": "200ms",  
"index.search.slowlog.level": "info"
}'

上面给Elastic Search搜索(Search)设置了慢查询日志输出分界线为info级。上面有设置 query 和 fetch 两部分,query表示获取文档(Documents)的时间,fetch表示获取实际数据源(Source)的时间。

2、索引部分

curl -XPUT "http://<your elastic host>:9200/mytask/_settings" -H 'Content-Type: application/json' -d'
{  
"index.indexing.slowlog.threshold.index.warn": "10s",  
"index.indexing.slowlog.threshold.index.info": "5s",  
"index.indexing.slowlog.threshold.index.debug": "2s",  
"index.indexing.slowlog.threshold.index.trace": "500ms",  
"index.indexing.slowlog.level": "info",
"index.indexing.slowlog.source": "1000"
}'

 

上面给Elastic Search索引(Indexing)设置了慢查询日志输出的分界线为info级,并且每条数据最多输出源数据(Source)的前1000个字符。

然后你可以再通过命令 mytask/_settings来检查设置是否生效。如果设置没有问题了,那么你接下来就可以在日志目录中观察到你的慢日志文件了。

获取日志输出目录

curl -XGET "http://<your elatic host>:9200/_nodes/settings?pretty=true"

在settings.path.logs下找到打印日志的目录。默认情况,慢日志文件名格式为:

<cluster_name>_index_search_slowlog.log 
<cluster_name>_index_indexing_slowlog.log

由于ElasticSearch的处理速度非常的快,所以很有可能没有慢查询的日志。你可以通过如下的操作,将所有的查询和索引都记录到日志中。

curl -XPUT "http://<your elatic host>:9200/task/_settings" -H 'Content-Type: application/json' -d'
{  
"index.search.slowlog.threshold.query.trace": "0ms",  
"index.search.slowlog.threshold.fetch.trace": "0ms",  
"index.search.slowlog.level": "trace",  
"index.indexing.slowlog.threshold.index.trace": "0ms",  
"index.indexing.slowlog.level": "trace"
}'

上面将打印日志的级别设置为trace, 并且将trace的相应的时间设置为0ms,这样就会打印所有的操作记录了。注意:这样的设置仅用于测试!

标签:index,search,trace,slowlog,elasticsearch,threshold,elasticSearch,日志
From: https://www.cnblogs.com/oscarking/p/16623527.html

相关文章

  • 在线安全清空慢查询日志slow.log
    setglobalslow_query_log=0;showvariableslike'%slow_query%';setglobalslow_query.log_file='/app/data01/mysql/db/slow.log';setglo......
  • 实战!日志打印的15个好建议
    前言大家好,我是捡田螺的小男孩。日志是快速定位问题的好帮手,是撕逼和甩锅的利器!打印好日志非常重要。今天我们来聊聊日志打印的15个好建议~公众号:捡田螺的小男孩我的gi......
  • 1.Elasticsearch介绍
    内容拷贝:https://blog.csdn.net/jiayoubaobei2/article/details/1258829861.Elasticsearch概述1.1开篇1.1.1结构化数据老师说扩展结构不方便,我也没明白哪里不方便,很方......
  • SpringBoot项目requestId生成/日志打印
    原因SpringBoot项目中的默认日志框架SLF4J,在打印日志时,每行数据都有一个请求ID,这样会方便追踪日志。也可以使用一些链路追踪框架来实现这种目的。实现SLF4J里有一个MDC......
  • Elasticsearch进阶
    1.核心概念索引Index一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个......
  • 自动化测试如何解决日志问题
    前言前几天在知识星球会员群里,有同学问了一个自动化测试实践中遇到的问题:持续集成的自动化用例很多,测试环境日志level为debug,日志量大概40G/每天,定位问题时日志查询很慢......
  • Elasticsearch篇:Elasticsearch增、删、改、查
    目录一、Elasticsearch的文档增删查改(CURD)二、Elasticsearch之查询的两种方式三、term与match查询四、Elasticsearch之排序查询五、Elasticsearch之分页查询六、Elastics......
  • web项目开发写接口时,为什么需要在关键位置打印日志-2022新项目
    一、业务场景最近在开发新功能,新功能主要就是写app的首页查询接口,接口比较多有十几个,首页会有各种查询,新增操作比较少。由于用户量比较大,据说并发量不小,所以首页的很......
  • 使用zap接收gin框架默认的日志并配置日志归档
    使用zap接收gin框架默认的日志并配置日志归档gin默认的中间件 本文介绍了在基于gin框架开发的项目中如何配置并使用zap来接收并记录gin框架默认的日志和如何配置......
  • 日志切面类
    packagecn.yto.stl.freight.web.api.common.aspect;importcn.yto.base.exception.IException;importcn.yto.stl.freight.web.api.common.domain.DataResult;importlomb......