Elasticsearch 日志能否把全部请求打印出来? 天天看热讯
1、实战问题请问一下球主,es怎么配置可以把请求日志都打印出来。就是不管是调用借口,还是kibana查询数据,es能打印dsl的请求日志吗??求指
请问一下球主,es怎么配置可以把请求日志都打印出来。就是不管是调用借口,还是kibana查询数据,es能打印dsl的请求日志吗??求指导。怎么配置?
(资料图)
——问题来源:https://t.zsxq.com/09vv8rqZj
2、Elasticsearch 日志必知必会2.1 Elasticsearch 日志用途集群状态监测和故障诊断。2.2 Elasticsearch 日志缺省路径$ES_HOME/logs。如果命令行启动 ES,则日志输出信息也是命令行。2.3 Elasticsearch 日志基于组件Log4j 2https://logging.apache.org/log4j/2.x/2.4 Elasticsearch 日志配置文件log4j2.properties 。和 elasticsearch.yml 文件路径相同。2.5 Elasticsearch 日志配置内容命名规范日志随日期滚动策略(日志大小等条件设置)等。2.6 Elasticsearch 日志级别由低到高分别为:TRACE -> DEBUG -> INFO -> WARN -> ERROR -> FATAL,如下图所示。
这些大家并不陌生,日志级别越低(前提系统设置的话),打印输出的越多;日志级别越高,比如:FATAL,只是特定致命场景才会打印输出,一般遇不到。
2.7 Elasticsearch 默认日志类型调整方式前提:支持动态更新。
方式一:支持动态更新,无需重启。PUT/_cluster/settings{"persistent":{"logger.org.elasticsearch.discovery":"DEBUG"}}方式二:elasticsearch.yml 配置(静态配置方式,重启后生效)。
logger.org.elasticsearch.discovery:DEBUG方式三:log4j2.properties 配置(静态配置方式,重启后生效)
logger.discovery.name=org.elasticsearch.discoverylogger.discovery.level=debug3、日志调到最低级别,看能否输出检索DSL?
问题来了?改成最低TRACE级别,日志能输出咱们的日期请求吗?试试看。
那怎么办?如何输出请求日志?此路已然不同,我们只能另寻他路。除了基础日志,我们还有slowlog日志。
4、Elasticsearch slowlog日志必知必会4.1 Elasticsearc slowlog 用途见名释义,本质是:慢日志,又可以分为:慢检索日志和慢写入日志。
slowlog 用于显示:query 阶段 和 fetch 阶段的日志。
Elasticsearch 查询请求如下图所示。
图片来自 Elastic 官方博客
query阶段的核心步骤:
客户端发送请求到协调节点;协调阶段转发请求到索引的每个主或副本分片;分片本地查询完成后,将结果添加到本地的优先队列;每个分片将本地结果返回给协调节点,协调节点合并完成后,形成全局排序列表。fetch阶段的核心步骤:
协调节点接收到客户端请求后,将 GET 请求(来自query 阶段形成的全局排序列表结果数据)-转发给相关节点。接收到请求后的节点向协调节点返回结果数据。待全部结果数据都返回后,协调节点将结果返回给客户端。4.2 Elasticsearc slowlog 设置内容含义如下所示,拿 query 阶段举例(以实测为准):
query 请求耗时超过 500ms,打印 trace 日志。query 请求耗时超过 2s,打印 debug 日志。query 请求耗时超过 5s,打印 info 日志。query 请求耗时超过 10s,打印 warn 日志。index.search.slowlog.threshold.query.warn:10sindex.search.slowlog.threshold.query.info:5sindex.search.slowlog.threshold.query.debug:2sindex.search.slowlog.threshold.query.trace:500ms
fetch 阶段设置如下,原理同上。
index.search.slowlog.threshold.fetch.warn:1sindex.search.slowlog.threshold.fetch.info:800msindex.search.slowlog.threshold.fetch.debug:500msindex.search.slowlog.threshold.fetch.trace:200ms
index 写入日志设置如下,原理同上。
index.indexing.slowlog.threshold.index.warn:10sindex.indexing.slowlog.threshold.index.info:5sindex.indexing.slowlog.threshold.index.debug:2sindex.indexing.slowlog.threshold.index.trace:500msindex.indexing.slowlog.source:10004.3 slowlog 中 source:1000 含义是?
"index.indexing.slowlog.source":"1000"
如下这个问题至少被问到三次,问题大致如下:
默认:记录slowlog中_source的前1000个字符。设置为 true 含义:记录整个源请求。设置为 false 或 0 含义:不记录源请求。特别说明:原始_source被重新格式化,以确保它适合于单个日志行。4.3 Elasticsearch slowlog 如何设置?slowlog 日志显示不全、被截取了怎么办?
直接更新 setting 就可以,动态参数,支持动态更新。
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"}4.3 基于slowlog 打印请求日志
slowlog 既然可以基于阈值打印输出请求日志,阈值势必可以设置很低,最低设置为0,必然能打印出全部日志了。
试试看?
如下是基于 packets-2022-12-14 进行的 index、fetch、query 的 debug 设置。
PUTpackets-2022-12-14/_settings{"index.indexing.slowlog.threshold.index.debug":"0s","index.search.slowlog.threshold.fetch.debug":"0s","index.search.slowlog.threshold.query.debug":"0s"}
设置完成后,在 kibana 控制台随意加个 query 请求。
日志存储在:elasticsearch_index_search_slowlog.json 文件下,如下图所示。
如下图标红所示,任意的请求 DSL 被打印出来。
开篇问题得以求解完成!
5、小结Elasticearch 日志协助排查集群故障,慢日志协助排查写入、查询层面的慢写入、慢查询问题。集群规模大,可以独立采集到 Kibana 可视化展示,更为方便和快捷!
你有没有使用 Elasticsearch 日志?欢迎留言讨论。如何使用的?
参考[1]https://www.elastic.co/guide/en/elasticsearch/reference/current/logging.html
[2]https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-slowlog.html
推荐阅读全网首发!从 0 到 1 Elasticsearch 8.X 通关视频
重磅 | 死磕 Elasticsearch 8.X 方法论认知清单(2022年国庆更新版)
如何系统的学习 Elasticsearch ?
更短时间更快习得更多干货!
和全球1800+Elastic 爱好者一起精进!
比同事抢先一步学习进阶干货!1、实战问题请问一下球主,es怎么配置可以把请求日志都打印出来。就是不管是调用借口,还是kibana查询数据,es能打印dsl的请求日志吗??求指
蓬江区2023年春季学期义务教育阶段转学指引2023年春季学期蓬江区义务教育阶段转学工作将于1月3日-15日开展。为减少疫情期间人员流动和聚集,现
当地时间12月30日,俄罗斯国防部发布战况信息称,俄军29日对乌克兰军事工业相关的军用设施和能源系统进行了大规模的打击,大规模打击暂时阻止
12月28日,一辆辆货车载着沉甸甸的“爱心橙”驶入杨浦区中心医院、市东医院、控江医院等五家医疗机构,为奋斗在一线发热门诊的医务人员送去满
2023年元旦小长假,为满足广大女性朋友的就医需求,丹凤朝阳妇产医院元旦期间正常接诊。元旦假日期间,为保证客户能同样获得及时,贴心,专业
2023寒山寺听钟声跨年直播观看入口直播平台本次活动也将通过苏州广电《苏州新闻》、看苏州APP、新华社现场云、凤凰网江苏频道、“君到苏州”文
2022年12月29日广立微融资净偿还53 21万元,融资余额7026 76万元
钱已转至骗子账户,湖北房县民警争分夺秒“抢”回2万多元---12月29日,湖北省十堰市房县城关镇周女士在民警帮助下,成功将转给电信诈骗分子的2
五月天跨年演唱会2023直播直播时间:2022年12月31日22:30直播平台及入口:抖音(独家首播)观看方式:打开抖音搜索“五月天”预约观看观看入口
根据北京市新的防疫要求,自12月5日首班车起,公交、地铁运营企业在核验健康信息时,不得拒绝无48小时核酸检测阴性证明的乘
12月29日起,长沙县将继续在各基层医疗卫生机构(乡镇卫生院和社区卫生服务中心)免费发放“防疫健康包”3批次,共3万余份。每份“防疫健康包
美克家居(600337)12月29日公开信息显示,股东美克投资集团有限公司向哈密银行乌鲁木齐分行合计质押6200 0万股,占总股本4 14%。质押详情见下表:截
智通财经APP讯,金力永磁公布关于持股5%以上股东减持股份比例达到1%的提示性公告。公司于2022年12月27日收到金风投控发来的《关于股份减持股份
欣赏荷花优美句子精选81句1 荷花羞答答地露出了绯红的小脸。2 荷塘面上,弥望的是油绿的叶子,叶子浮在水面上,像舞女的衣裙。3 池塘一夜风雨
每经AI快讯,有投资者在投资者互动平台提问:请问贵公司是目前或将来是否有研发氟离子电池的计划?德赛电池(000049 SZ)12月28日在投资者互动平
孚能科技12月28日披露投资者关系活动记录表显示,公司客户奔驰在海外的供应链受到一定影响,导致奔驰对公司产品的提货节奏放缓,公司已与客户
IT之家12月28日消息,据人社部网站,人力资源社会保障部办公厅近日印发《关于进一步做好职称评审工作的通知》(以下简称《通知》),持续深化职
沈阳怪坡风景区在哪里?怎么走?具体地址:沈阳市沈北新区清水台镇拥屯村交通指南:1 驾车走沈哈高速,清水台高速口出站,北行5公里抵达怪坡风景
1、不能。2、工伤一般是在其医疗终结或医疗期满之后,由县以上劳动鉴定委员会对其进行的评定伤残等级。3、法律依据:《工伤保险条例》第十七条
疫情管控刚一放开,我就一直在想,如何降低羊的概率和影响。由于家里老人身体不太好,孩子年龄又太小,加上只有我一个人整天在外面跑,感染
冬捕队协作捕捞大鱼 总台记者陈春晓:通过航拍画面可以看到,另外一支冬捕队伍3号网也在忙活着出网。茫茫冰面多工种协作凝聚力量 现在渔
近日,血氧仪、制氧机等产品热销,许多店铺中均已无现货。这两种产品热销,主要是受当前新冠疫情的影响,大家都希望家中的老人感染时能够掌握
央视网消息:除了上市更多的期货品种,满足市场需求外,各期货交易所还积极创新期货服务模式,为市场提供更完备的保障。大连商品交易所今年专
小财看房|端礼著与铁路线仅相隔50米,噪音、共振怎么破?2022年12月26日09:35中国网财经
东部战区新闻发言人施毅陆军大校表示,12月25日,中国人民解放军东部战区位台岛周边海空域组织诸军兵种联合战备警巡和联合火力打击演练。这是
Copyright 2015-2022 每日酒业网 版权所有 备案号:浙ICP备2022016517号-15 联系邮箱:5 146 761 13 @qq.com