Elasticsearch 日志能否把全部请求打印出来?
请问一下球主,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 爱好者一起精进!
比同事抢先一步学习进阶干货!精彩推送
2021北京国际设计周开幕 北斗卫星导航系统获经典设计奖
中新网北京9月22日电 (记者 陈杭)22日,2021北京国际设计周开幕活动暨北京2022年冬奥会和冬残奥会...
《内蒙古自治区草畜平衡和禁牧休牧条例》10月1日起实施 明确禁牧区划定范围等
中新网呼和浩特9月22日电 (记者 李爱平)内蒙古自治区人大常委会法工委副主任尹国惠22日在此间召开...
新闻快讯
X 关闭
X 关闭
新闻快讯
- Elasticsearch 日志能否把全部请求打印出来?
- 【世界热闻】2022年分居多长时间能够自动解除婚姻关系
- 环球滚动:一组数据,告别2022!
- 天天要闻:知名老戏骨“藏妻”28年,突然高调秀恩爱,妻子首度曝光:难怪他要“拒绝”巩俐!
- 华润三九签署中医药全产业链和新能源发电项目投资合作协议-世界视点
- 维尔利集团连续4年荣登中国环境企业50强榜单
- 本周盘点(12.26-12.30):江中药业周跌0.55%,主力资金合计净流出4628.51万元
- 《依然范志毅》圆满收官,持续传递热爱不止 当前观点
- 临近年关,警惕假冒银行的贷款推销骚扰
- 投入2.5亿元,活动达260多项,郑州市元旦、春节“双节”促消费这样玩
- 回归本源 信托业加快探寻转型之路|环球要闻
- 这双轻盈到“起飞”的千元品质鞋,限时超低价,穿上真是爽爆了
- 拓邦股份:未来公司钠离子电池主要应用于储能市场和两轮车市场
- 赛微电子:12月28日融券卖出金额168.59万元,占当日流出金额的2.6%|环球资讯
- 超越ConvNeXt!Transformer 风格的卷积网络视觉基线模型Conv2Former
- 记一次QQ找回经历
- 【全球报资讯】《了不起的你》建设雄安特辑| 陈发胜:建设雄安的工程“老将”
- 当前简讯:康缘药业董秘回复:敬的公司二级市场股价不仅仅受到公司业绩的影响
- 英媒 京沪居民重返工作岗位 天天观焦点
- 邓超“人设崩塌”?孙俪发文曝光12年婚姻真相:他们怎么了?|环球新要闻
- 喝鲜榨蔬果汁和吃蔬果哪个更好?为什么?|全球信息
- 当前观点:ROG 新一代游戏本国内发布会定档 1 月 4 日 19:30
- 抓准关键环节打好种业翻身仗
- 知网涉嫌垄断被罚8760万,其侵权纠纷案件超2000起-环球实时
- 当前资讯!中国海军护航编队与多国护航海军进行联演 架起友谊桥梁
- 泰康中证智能电动汽车ETF净值下跌1.36% 请保持关注-世界观速讯
- 精彩看点:新鲜的大蒜怎么做酱 新鲜的大蒜如何做酱美味
- 新鲜蔬菜如何清洗保存 洗过的蔬菜怎么保存
- 美股三大指数集体下跌:热门中概股涨少跌多 好未来跌超6%
- 宏德股份: 第二届董事会第十八次会议决议公告
- 世界观察:百洋医药董秘回复:公司是专业的健康品牌商业化平台,主营业务是提供医药产品的品牌运营、批发配送及零售
- 新华视点|多地发放新一轮消费券,重点扶持受疫情影响严重行业
- 北京大学武汉人工智能研究院落户光谷,朱松纯任首席科学家
- 华电国际:11月份,公司所属的湖北华电武昌热电有限公司出现的污染物排放超标情况主要原因是启停机_世界头条
- 【报资讯】韩国市民团体批评称“日本走上军事大国之路”
- ST热电(600719)12月21日主力资金净卖出16.32万元 今日热门
- 财通资管丰和两年定开债A基金经理变动:王亚军不再担任该基金基金经理
- 假培训真坑钱!多部门综合施策治理消防安全假培训|天天通讯
- 热推荐:沁阳市气象台发布大风蓝色预警「VI级/一般」「2022-12-20」
- 旭辉控股集团(00884.HK)拟先旧后新配售股份 净筹9.46亿港元
- 上海实业控股(00363)附属拟出售上海实森的90%股权
- 41岁姚芊羽近照如网红,尖下巴厚滤镜认不出,至今未嫁太潇洒
- 3款创新疗法有望在欧盟获批上市|全球监管动态 全球今热点
- 世界今日报丨为什么后妈裙要叫后妈裙?
- 四川:鼓励零售药店和电商平台开展24小时线上线下服务、即时配送药品
- 信用卡欠款63万判刑多久 天天报资讯
- 专为滑雪打造!OPPO Watch 3 Pro冰川灰首销ing,到手1889元
- 新增邮路163条,中国邮政全力保障寄递畅通
- 自动刹车板块12月15日涨4.48%,德赛西威领涨,主力资金净流入2.13亿元
- 犯罪中止抢劫罪辩护词范文怎么写