Search Slow Log

分片级别的慢速搜索日志允许将慢速搜索(查询和提取阶段)记录到专用日志文件中。

可以为执行的查询阶段和获取阶段设置阈值,这里是一个示例:

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: 500msindex.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: 200msindex.search.slowlog.level: info

以上所有设置都是动态的,可以使用 update indices settings API 为每个索引进行设置。例如:

PUT /my-index-000001/_settings
{"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"
}

默认情况下,均未启用(设置为 -1 )。级别( warn, info, debug, trace )允许控制将在哪个级别下记录日志。不需要全部配置(例如,只设置 warn 阈值)。多个级别的好处是能够针对违反的特定阈值快速 “grep”。

日志记录在分片级别范围内完成,这意味着在特定分片内执行搜索请求。它不包含整个搜索请求,可以将其广播到多个分片以便执行。分片级别日志记录的一些好处是,与请求级别相比,特定机器上实际执行的关联。

默认情况下,使用以下配置(在 log4j2.properties 中找到)配置日志文件:

appender.index_search_slowlog_rolling.type = RollingFile
appender.index_search_slowlog_rolling.name = index_search_slowlog_rolling
appender.index_search_slowlog_rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_index_search_slowlog.log
appender.index_search_slowlog_rolling.layout.type = PatternLayout
appender.index_search_slowlog_rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c] [%node_name]%marker %.-10000m%n
appender.index_search_slowlog_rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_index_search_slowlog-%i.log.gz
appender.index_search_slowlog_rolling.policies.type = Policies
appender.index_search_slowlog_rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.index_search_slowlog_rolling.policies.size.size = 1GB
appender.index_search_slowlog_rolling.strategy.type = DefaultRolloverStrategy
appender.index_search_slowlog_rolling.strategy.max = 4logger.index_search_slowlog_rolling.name = index.search.slowlog
logger.index_search_slowlog_rolling.level = trace
logger.index_search_slowlog_rolling.appenderRef.index_search_slowlog_rolling.ref = index_search_slowlog_rolling
logger.index_search_slowlog_rolling.additivity = false

Identifying search slow log origin

识别触发缓慢运行查询的原因通常很有用。如果使用 X-Opaque-ID 标头发起了呼叫,则用户 ID 将作为附加 ID 字段包含在 Search Slow 日志中(向右滚动)。

[2030-08-30T11:59:37,786][WARN ][i.s.s.query              ] [node-0] [index6][0] took[78.4micros], took_millis[0], total_hits[0 hits], stats[], search_type[QUERY_THEN_FETCH], total_shards[1], source[{"query":{"match_all":{"boost":1.0}}}], id[MY_USER_ID],

用户 ID 也包含在 JSON 日志中。

{"type": "index_search_slowlog","timestamp": "2030-08-30T11:59:37,786+02:00","level": "WARN","component": "i.s.s.query","cluster.name": "distribution_run","node.name": "node-0","message": "[index6][0]","took": "78.4micros","took_millis": "0","total_hits": "0 hits","stats": "[]","search_type": "QUERY_THEN_FETCH","total_shards": "1","source": "{\"query\":{\"match_all\":{\"boost\":1.0}}}","id": "MY_USER_ID","cluster.uuid": "Aq-c-PAeQiK3tfBYtig9Bw","node.id": "D7fUYfnfTLa2D7y-xw6tZg"
}

Index Slow log

索引慢日志,功能类似于搜索慢日志。日志文件名以 _index_indexing_slowlog.log 结尾。日志和阈值的配置方式与搜索慢速日志相同。索引慢日志示例:

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

以上所有设置都是动态的,可以使用 update indices settings API 为每个索引进行设置。例如:

PUT /my-index-000001/_settings
{"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"
}

默认情况下,Elasticsearch 将在慢日志中记录 _source 的前 1000 个字符。您可以使用 index.indexing.slowlog.source 进行更改。将其设置为 false0 将完全跳过对源的日志记录,将其设置为 true 将不考虑大小而记录整个源。默认情况下,原始 _source 会重新格式化,以确保它适合单个日志行。如果保留原始文档格式很重要,则可以通过将 index.indexing.slowlog.reformat 设置为 false 来关闭重新格式化,这将导致源按“原样”记录,并可能跨越多个日志行。

默认情况下,在 log4j2.properties 文件中配置索引慢日志文件:

appender.index_indexing_slowlog_rolling.type = RollingFile
appender.index_indexing_slowlog_rolling.name = index_indexing_slowlog_rolling
appender.index_indexing_slowlog_rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_index_indexing_slowlog.log
appender.index_indexing_slowlog_rolling.layout.type = PatternLayout
appender.index_indexing_slowlog_rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c] [%node_name]%marker %.-10000m%n
appender.index_indexing_slowlog_rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_index_indexing_slowlog-%i.log.gz
appender.index_indexing_slowlog_rolling.policies.type = Policies
appender.index_indexing_slowlog_rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.index_indexing_slowlog_rolling.policies.size.size = 1GB
appender.index_indexing_slowlog_rolling.strategy.type = DefaultRolloverStrategy
appender.index_indexing_slowlog_rolling.strategy.max = 4logger.index_indexing_slowlog.name = index.indexing.slowlog.index
logger.index_indexing_slowlog.level = trace
logger.index_indexing_slowlog.appenderRef.index_indexing_slowlog_rolling.ref = index_indexing_slowlog_rolling
logger.index_indexing_slowlog.additivity = false

详情见官网:https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-slowlog.html

Elasticsearch 7.10 之 Slow Log相关推荐

  1. mysql开启日志占cpu不_使用MySQL Slow Log来解决MySQL CPU占用高的问题

    但是怎么找到是哪个SQL语句的执行时间过长呢?可以通过MySQL Slow Log来找,详解如下. 首先找到MySQL的配置文件my.cnf,根据不同版本的mysql开启慢查询的配置也不一样 mysq ...

  2. mysql slow time_mysql使用slow log

    1.运行环境:xampp1.7.3,mysql版本为5.1.41 2.开启slow log: (1)打开d:/xampp/mysql/bin/my.ini,设置 slow_query_log      ...

  3. mysql慢查询日志轮转_MySQL slow log相关参数解释

    slow_query_log=1       #是否启用慢查询日志,1为启用,0为禁用 slow_query_log_file=slow.log       #指定慢查询日志文件的路径和名字,可使用绝 ...

  4. MySQL slowlog 统计_mysql slow log 简单统计

    众所周知,mysql slow log中很多sql语句结构和对象是相同,只是其中变量不一样,对于这样的sql,我们完全可以将其归为一类,统计其执行次数.执行时间平均值等参数,而pt-query-dig ...

  5. MySQL日志(一)—— 慢查询日志slow log

    一.慢查询日志(slow log) 慢查询日志,就是查询超过一定的时间没有返回结果的时候,MySQL会将执行的SQL记录到日志中,这个日志,就称为慢查询日志.通过分析慢查询日志,可以快速找出执行慢的S ...

  6. mysql slow设置_mysql slow log设置

    1.mysql slow query log参数设置 首先简单的介绍一下如何开启mysql的slowlog,主要设置一下几个参数: 1)–slow_query_log = 1,开启slowlog. 2 ...

  7. mysql 开启 slow log,mysql 5.5 开启慢日志slow log的方法(log_slow_queries)

    mysql 5.5 开启慢日志slow log的方法(log_slow_queries) 1.MySQL 5.5命令行里面 复制代码 代码如下: set global log_slow_queries ...

  8. redis slow log采集

    价值意义 1.便于统计分析,以往只能一个节点一个节点看,采集到一起方便分析 2.慢日志持久化,类比MySQL,mysql是有日志文件的,而redis是内存队列FIFO 3.redis是单线程的slow ...

  9. 记录slow log相关的参数

    今天在分析slow log,发现自己明明设置了大于1s的时候才记录到slow log里,为什么<5s的SQL会记录进来呢?于是查询了相关的参数 log_queries_not_using_ind ...

最新文章

  1. 树状数组(Binary Indexed Tree) 总结
  2. Python操作SQLLite(基本操作)
  3. Eclipse 里一个 SAP Hybris Commerce 的开发插件
  4. [渝粤教育] 西南科技大学 经济学概论 在线考试复习资料
  5. go 判断切片是否存在某元素_Golang基础之切片
  6. 一种基于memcache或redis缓存架构的验证码
  7. 2022版全国各地mapinfo格式电子地图及mapinfo二次开发
  8. Google Data Studio:漂亮,免费,易于使用的数据可视化工具
  9. 【精】【爆】MTK手机安装软件游戏大全!新人必看
  10. JavaScript图标移动小案例
  11. 第一章概述-------第一节--1.7 计算机网络体系结构
  12. W10电脑U盘插入电脑不显示盘符但是“安全删除硬件并弹出媒体”中却有该U盘
  13. matlab cond函数
  14. NXP i.MX 8M Mini处理器
  15. 【经验】金蝶KIS专业版更换系统后如何导入财务账套数据
  16. 计网——17差错检测和纠正技术
  17. 不是所有产品都适合做亚马逊CPC广告
  18. 微盟PK有赞,谁更胜一筹?
  19. python爬取58手机号_爬取58上的手机号码信息
  20. 用Python基础创建一个简单的注册登录系统

热门文章

  1. 为什么游戏偏爱D3D
  2. 【Web前端】CSS使用方法
  3. #HHD32F107# SPI通信
  4. Android 入门第二讲03-约束布局ConstraintLayout(可视化介绍,Chains链,MATCH_CONSTRAIN,百分比布局,圆形定位,Guideline,Barrier)
  5. 提高linux经验的15个小技巧
  6. 全志H616香橙派OrangePi Zero2开发板连接USB以太网卡测试
  7. 理解WSDL,IDL
  8. epsxe安卓最新版下载_ePSXe模拟器下载-ePSXe安卓中文版下载-电玩咖
  9. 单片机英文缩写(单片机常用的英文缩写及英文全称)
  10. linux 下skype 无法登录