首页/云/可观测性速查/慢查询日志配置
日志平台52 条

慢查询日志配置

慢日志把超过阈值的查询与写入记入日志文件:先看“谁在慢、慢在什么条件”,再谈优化;阈值可按 warn/info/debug 三档设置。

可观测性速查云更新于 2026-10-13

慢日志做什么

Elasticsearch 慢日志把超过阈值的查询与写入请求记入日志文件,用来回答“谁在慢、慢在什么条件”。它不是性能分析器,而是筛出疑似慢请求的入口:从日志里拿到查询语句与耗时后,再用 profile API 或节点统计做进一步分析。阈值可以按 warn、info、debug 三档分别设置。

基本信息

配置层级索引级索引设置,也可通过索引模板统一声明
配置项index.search.slowlog.threshold.* 与 index.indexing.slowlog.threshold.*
档位warn、info、debug 等多档,可按同一操作设不同阈值
日志位置节点 logs 目录下按集群名与用途命名的文件

索引级慢日志设置

索引级慢日志设置
PUT /logs-app/_settings
{
  "index.search.slowlog.threshold.query.warn": "10s",
  "index.search.slowlog.threshold.query.info": "5s",
  "index.search.slowlog.threshold.fetch.warn": "1s",
  "index.indexing.slowlog.threshold.index.warn": "10s"
}

# 日志文件在节点 logs 目录,例如:
# logs/<集群名>_index_search_slowlog.log

参数含义

参数含义说明
search.slowlog.threshold.query查询阶段阈值只包含查询执行,不含取回文档
search.slowlog.threshold.fetch取回阶段阈值GET 阶段耗时,常单独设更小阈值
indexing.slowlog.threshold.index写入阶段阈值批量写入中单条耗时超阈值即记录
warn / info / debug日志级别档位同一操作可设多档,日志标注级别

典型使用场景

  • 定位大查询:按索引找出耗时超长的查询语句再优化
  • 评估批量写入性能,发现单条文档写入异常耗时的来源
  • 上线前压测时观察阈值命中情况,校准索引设计
  • 排查聚类变化:某索引慢日志突然增多往往伴随数据量或查询模式改变
慢日志文件可用采集器汇总到日志平台,按索引与耗时排序更方便;定位完大查询后记得复核阈值,避免长期全量记录。
慢日志会把查询语句写入文件,涉及敏感字段时要控制输出并限制日志文件的访问权限,避免成为数据外泄渠道。

使用注意

  • 先在少数索引上试设阈值,确认日志量与可读性都合适后再用索引模板铺开
  • 按索引区分阈值:日志类索引写入频繁、查询简单,和商品检索不是同一套标准
  • 慢日志只是入口,最终要落到查询重写、索引设计或分片调整上才有收益

易错点

  • 阈值定得过低会淹没日志文件,先用 warn 档定位大查询再细化
  • 慢日志本身也是磁盘写放大来源,排查完成后复核阈值
  • 只开查询慢日志不开取回慢日志,取回阶段的耗时问题长期看不见
  • 慢日志含业务字段却没做访问控制,日志文件成为数据泄露渠道

数据来源与参考

  • Elastic 官方文档 · Slow log
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌