美文网首页
官方文档-慢日志

官方文档-慢日志

作者: caster | 来源:发表于2021-01-04 15:44 被阅读0次

对应7.2官方文档路径:Index modules » Slow Log
官方地址如下:
https://www.elastic.co/guide/en/elasticsearch/reference/7.2/index-modules-slowlog.html

1.查询慢日志

分片级别的慢查询日志允许将缓慢的查询请求(query和fetch阶段)的日志记录到专用的日志文件。
query阶段和fetch阶段都可以设置慢查询日志阈值,示例如下:

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

以上设置均为动态设置,可以通过更新索引设置api进行每个索引级别的设置,示例如下:

PUT /twitter/_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 = 4

logger.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

2.索引慢日志

索引慢日志和查询慢日志功能类似,日志名字以_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

以上设置均为动态设置,可以通过更新索引设置api进行每个索引级别的设置,示例如下:

PUT /twitter/_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"
}

默认es会记录_source的前1000字符在慢日志中,你可以通过index.indexing.slowlog.source进行修改。设置为false或者0将不会记录source,设置为true将会记录全部source并忽略其大小。默认情况下_source会重新格式化以保证在一行日志里面,如果需要保留source原格式可以通过设置index.indexing.slowlog.reformat为false关闭重新格式化,则source按原样输出且会跨越多个日志行。
默认情况使用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 = 4

logger.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

相关文章

  • 官方文档-慢日志

    对应7.2官方文档路径:Index modules » Slow Log官方地址如下:https://www.el...

  • Postgresql慢查询分析

    检查数据库日志 日志相关配置官方文档 在日志中查看哪些可能是慢查询语句。 通过查询分析器(EXPLAIN)分析语句...

  • [Django] 日志踩坑记

    Django官方推荐的日志就是python自带的 logger 模块。 python 官方文档指出: Althou...

  • strapi-docs

    每次看官方文档网速有点慢,在gitee上搬运了官方的文档。https://strapi.gitee.io/docu...

  • logging模块的学习记录

    参考官方文档 日志级别等级 critical > error > warning > info > debug ...

  • MongoDB日志输出解析

    如上的日志怎么解读在调教优化MongoDB的过程显得尤为重要,这里做下文档解释。 MongoDB日志文件官方文档在...

  • MongoDB副本集同步原理

    MongoDB的同步原理,官方文档介绍的比较少,网上资料也不是太多,下面是结合官方文档、网上资料和测试时候的日志,...

  • Python Logging 指南

    Python Logging 指南 文章翻译自官方文档:Logging HOWTO 基础日志教程 日志记录是一种跟...

  • ela+fiebeat+logstash 容器化 kiban

    拉取官方文档镜像到本地 详情请点击官方文档 首先先使得filebeat中的日志被logstash搜集到创建目录下的...

  • Spring Boot 学习笔记(5):日志配置

    官方文档: Spring Boot使用Commons Logging进行所有内部日志记录,但保留底层日志实现。为J...

网友评论

      本文标题:官方文档-慢日志

      本文链接:https://www.haomeiwen.com/subject/pkdvoktx.html