Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Elasticsearch:Elasticsearch 中的慢日志

Elasticsearch:Elasticsearch 中的慢日志

作者头像
腾讯云大数据
修改于 2021-01-08 08:11:21
修改于 2021-01-08 08:11:21
5.3K00
代码可运行
举报
运行总次数:0
代码可运行

腾讯云 Elasticsearch Service】高可用,可伸缩,云端全托管。集成X-Pack高级特性,适用日志分析/企业搜索/BI分析等场景


Shard 级慢速搜索日志允许将慢速搜索(查询和获取阶段)记录到专用日志文件中。日志记录是任何应用程序不可缺的一部分。 对于像 Elasticsearch 这样的分布式解决方案,它必须处理大量的请求,因此日志记录不可避免,其重要性至关重要。

顾名思义,慢速日志用于记录慢速请求,无论是搜索请求还是索引请求。 我们可以设置“”阈值,以便仅记录那些高于该阈值的请求。

对于 Elasticsearch,慢速日志很重要,主要是因为:

  • 它们有助于确定应该与 Elasticsearch 通信的应用程序是否正在这样做。
  • 我们可以检查影响 Elasticsearch 的查询并进行验证。
  • 日志记录可以提供有关索引/群集运行状况的重要信息,从而有助于维护群集。

现在,根据您的理论,让我们介绍可用的慢速日志的主要类型及其用例。

慢日志分类

Elasticsearch 中的慢日志主要有两种:搜索慢日志 (search slow logs)和索引慢日志 (index slow logs)。 让我们讨论一下。

Search Slow Logs

搜索慢速日志用于记录慢速搜索。 慢度阈值取决于应用程序及其 Elasticsearch 实现细节。 每个应用程序可以具有不同的阈值。

在 Elasticsearch 中进行搜索分为两个阶段:

  1. 查询阶段-在查询阶段,Elasticsearch 收集相关结果的文档 ID。 完成此阶段后,仅返回与搜索匹配的文档的 ID,并且不会再出现其他信息,例如字段或它们的值等。
  2. 获取阶段-在获取阶段,使用来自查询阶段的文档 ID 来获取实际文档,由此可以说搜索请求是完整的。

搜索慢速日志显示查询和查询的获取阶段的拆分时间。 因此,我们能够完整地了解完成查询和获取阶段所花费的时间,并且能够检查整个查询本身。

Index Slow Logs

索引慢日志用于记录索引过程。 在 Elasticsearch 中对文档建立索引后,慢速索引日志会记录请求的记录,这些记录需要花费较长的时间才能完成。 同样,在这里,时间窗口也可以在索引日志的配置设置中进行调整。

默认情况下,启用后,Elasticsearch 将文档的前1000行记录到日志文件中。 可以将其更改为 null 或记录整个文档,具体取决于我们如何配置设置。

在下一部分中,让我们看看如何配置日志并检查上面讨论的两种慢速日志类型。

索引慢速日志记录设置

首先,创建要为其配置索引慢日志的测试索引。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PUT testindex-slowlogs

现在为索引 “testindex-slowlogs” 配置慢日志,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PUT testindex-slowlogs/_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"}

我们可以通过 _settings 来更新这些配置。默认情况下,均未启用(设置为-1)。 级别(warn,info,debug, trace)允许控制将在哪个日志记录级别下记录日志。并非所有要求都进行配置(例如,只能设置warn阈值)。 几个级别的好处是能够针对违反的特定阈值快速 “grep”。默认情况下,Elasticsearch 将在慢速日志中记录 _source 的前1000个字符。 你可以使用 index.indexing.slowlog.source 进行更改。 将其设置为 false 或 0 将完全跳过对源的日志记录,将其设置为 true 将不考虑大小而记录整个源。 默认情况下,原始 _source 会重新格式化,以确保它适合单个日志行。 如果保留原始文档格式很重要,则可以通过将index.indexing.slowlog.reformat 设置为 false 来关闭重新格式化,这将导致源按“原样”记录,并可能跨越多个日志行。

为了便于测试,我们把上面的阈值都设置为0和默认值,我们使用 _settings 来修个我们的配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PUT testindex-slowlogs/_settings{  "index.indexing.slowlog.threshold.index.warn": "0ms",  "index.indexing.slowlog.threshold.index.info": "0ms",  "index.indexing.slowlog.threshold.index.debug": "0ms",  "index.indexing.slowlog.threshold.index.trace": "0ms",  "index.indexing.slowlog.level": "trace",  "index.indexing.slowlog.source": "1000"}

这样如果其中的任何一个阈值是大于0的话,那么就会产生 index slow log。我们在 Kibana 中输入如下的一个文档:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
POST testindex-slowlogs/_doc{  "price": 9925,  "name": "Nariko"}

我们可以找到在 Elasticsearch logs 目录下的文件 elasticsearch_index_indexing_slowlog.log

我们打开这个 elasticsearch_index_indexing_slowlog.log 的内容,我们可以看到:

在这里我们可以看到所有的索引慢速日志的记录。因为我们所设置的阈值为0,所以任何一个操作都会触发相应的索引慢日志操作。在实际的应用中,可以根据自己的实际要求分别进行阈值的设置。

这些日志提供以下信息:

  • time stamp
  • log level
  • type of log
  • node name
  • index name
  • time taken in micro/milli seconds
  • index type
  • document id
  • "_source" field

使用此信息,我们可以了解索引操作的过程,并可以检测/调试任何异常(如果存在)。

Search Slow Logging

与慢索引日志相似,搜索慢日志将应用于特定索引。 记录所有搜索请求的示例配置如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PUT testindex-slowlogs/_settings{  "index.search.slowlog.threshold.query.warn": "0ms",  "index.search.slowlog.threshold.query.info": "0ms",  "index.search.slowlog.threshold.query.debug": "0ms",  "index.search.slowlog.threshold.query.trace": "0ms",  "index.search.slowlog.threshold.fetch.warn": "0ms",  "index.search.slowlog.threshold.fetch.info": "0ms",  "index.search.slowlog.threshold.fetch.debug": "0ms",  "index.search.slowlog.threshold.fetch.trace": "0ms",  "index.search.slowlog.level": "info"}

由于上述设置的所有参数值均为0ms,因此将记录所有搜索请求。 日志文件位于日志目录下,名称为:“elasticsearch_index_search_slowlog.log

对索引运行以下查询:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GET testindex-slowlogs/_search{  "query": {    "match": {      "name": "Nariko"    }  },  "sort": [    {      "price": {        "order": "desc"      }    }  ]}

成功执行此查询后,打开上述搜索慢日志文件。 您会发现看起来像这样的日志:

我们可以查看文件 elasticsearch_index_search_slowlog.log。由于我们所设置的日志里的阈值都为0,所以每一个搜索都会生产相应的日志记录。在实际的使用中,我们可以根据自己的情况设置相应的阈值。查看 elasticsearch_index_search_slowlog.log 文件:

如您所见,上面为单个搜索生成了2个日志。 这是因为搜索是按分片方式执行的,并且在默认配置下,索引中有2个分片。 当我们执行搜索时,请求被传递到2个分片中的每个分片,并生成了2个日志。

在这些日志中,我们可以查看详细信息,例如搜索类型,节点以及带有详细查询的分片号信息。

结论

在本教程中,我们探讨了 Elasticsearch 慢日志的重要性。 我们介绍了索引和搜索慢日志,以及配置示例和日志样本。

参考:

【1】https://qbox.io/blog/slow-logs-in-elasticsearch-search-index-config-example


最新活动

包含文章发布时段最新活动,前往ES产品介绍页,可查找ES当前活动统一入口

Elasticsearch Service自建迁移特惠政策>>

Elasticsearch Service 新用户特惠狂欢,最低4折首购优惠 >>

Elasticsearch Service 企业首购特惠,助力企业复工复产>>

关注“腾讯云大数据”公众号,技术交流、最新活动、服务专享一站Get~

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《三国演义》人物数据分析
1.由于要分析120回中主要人物的出场次数,爬取《三国演义》120回,每回放在一个段落里;len(f.readlines()) = 120. 2.安装主要的python库,如jieba,wordcloud,pandas,codecs,matplotlib,pyecharts, bs4等,还有Gephi;
Crossin先生
2018/12/25
1.4K0
《三国演义》人物数据分析
数据分析:《三国演义》魏蜀吴联盟深度解析
读三国,就一定要弄清楚国与国、人与人之间的斗争。 三国的历史,就是一部精彩的斗争史,无论是前期的曹袁之争,中期的三国缠斗,还是后期的魏蜀单挑,都充满的了智慧和权谋。 那么,这部满是斗争的恢弘巨制,是怎
沉默的白面书生
2018/05/07
2.6K0
数据分析:《三国演义》魏蜀吴联盟深度解析
【每周一坑】单词本 +【解答】三国演义中谁的存在感最强
“每周一坑”这个系列在本教室的文章中,阅读量不算高。但我屡次在和读者沟通时听到说“我都有跟着每周一坑里的题在做”。这是个有意思的普遍现象:内容的价值和传播度并不成正比。
Crossin先生
2018/12/25
3690
【每周一坑】单词本 +【解答】三国演义中谁的存在感最强
腾讯净利润持续下滑,游戏业务印钞机为何失灵?
往年一直扮演“优等生”的腾讯,今年的财报表现却不甚理想,二季度净利润同步下滑56%,自2021年三季度开始,这已经是腾讯连续四个季度出现净利润下滑,尤其是作为“增长引擎”和“印钞机”的游戏业务,更是表现不及预期。据腾讯二季度财报披露数据显示,本季度腾讯本土市场游戏收入为318亿元,同比下跌1%;国际市场收入为107亿元,同比下跌1%,这无疑是一个危险的信号,须知2021年同期腾讯的海外游戏收入还能维持在31%的增速,但这才过去了一年时间,其海外业务已经从正增长31%变为负增长1%了。
刘旷
2022/08/27
5110
腾讯IP+文旅的探索实践
抗击疫情,腾讯云在行动。结合数字经济、产业互联网等时代背景,通过系统性介绍腾讯“一机游”模式的前世今生,剖析科技如何与文旅进行融合创新,助力文旅产业转型升级。
可可爱爱没有脑袋
2020/03/10
1.3K0
腾讯IP+文旅的探索实践
三国演义的社交网络建模
作者介绍:blmoistawinde, 西南某高校学森一枚,喜欢有意思的数据挖掘分析。希望给世界带来些清新空气~
量化小白
2019/01/22
1.1K0
三国演义的社交网络建模
腾讯AI击败王者荣耀职业队,全靠自学、策略清奇,一天训练量为人类440年
一场激烈的对战正在进行,左侧是五位人类职业电竞高手组成的赛区联队,另一方是……嗯?他们的对手没有出场?五个座椅空空荡荡?
量子位
2019/08/05
5530
腾讯AI击败王者荣耀职业队,全靠自学、策略清奇,一天训练量为人类440年
趣味玩转——用python分析《三国演义》中的社交网络
一直以来对自然语言处理和社交网络分析都很感兴趣,前者能帮助我们从文本中获得很多发现,而后者能够让我们对人们和各个事物之间普遍存在的网络般的联系有更多认识。当二者结合,又会有怎样的魔力呢?
Python进阶者
2019/04/25
1K0
趣味玩转——用python分析《三国演义》中的社交网络
用python分析《三国演义》中的社交网络
一直以来对自然语言处理和社交网络分析都很感兴趣,前者能帮助我们从文本中获得很多发现,而后者能够让我们对人们和各个事物之间普遍存在的网络般的联系有更多认识。当二者结合,又会有怎样的魔力呢?
blmoistawinde
2019/10/30
1.2K0
这款三国IP游戏撬动了港澳台新马玩家的兴奋点|GME案例
编者荐语  《真·三国无双 霸》是由日本KOEI TECMO(光荣特库摩)开发的一款开放世界动作游戏。该游戏于1月19日正式登陆港澳台新马地区,支持 iOS和Android,吸引了众多亚洲玩家。GME为其提供实时语音、语音消息、语音转文本服务,为玩家带来超低时延、极致流畅的游戏语音体验。 20世纪末,日本光荣株式会社凭借着三国志、真三国无双等IP成为三国题材游戏开发商中的翘楚,成为了泛亚洲文化圈玩家共同的游戏记忆。 进入移动互联网时代,伴随着中国手游产业的爆炸式发展,真·三国无双又经由光荣特库摩授权,中手游
腾讯游戏多媒体引擎GME
2022/08/16
9460
这款三国IP游戏撬动了港澳台新马玩家的兴奋点|GME案例
王亮:游戏AI探索之旅——从alphago到moba游戏
今天分享的课题是游戏AI探索之旅。本次分享分为四部分,第一部分,什么是游戏AI,游戏AI为什么对现在的游戏非常重要;第二部分,业界和工业界对于做游戏AI主要的方法,以及现在业界一些主流的游戏上的进展。第三部分,结合基于公司自有的MOBA游戏,分享一下我们做的一些探索研究及现在的进展;第四部分,会简单介绍一下基于深度学习方法来做游戏AI,对于游戏开发者来说需要提供哪些环境便于AI的开发。希望通过今天的分享能给大家之后工作或者接下来学习上带来一些的启发和思考。
腾讯云开发者社区技术沙龙
2018/08/20
1.2K0
在线体验四大名著情景(地图、游戏)
中华文明浩浩五千年,在这光辉灿烂的历史长河中,各时代的先哲圣人们留下了大量的文学典籍,这些文学作品极大地丰富了我们的精神世界。而《三国演义》、《水浒传》、《西游记》、《红楼梦》这四部作品更如皇冠上的明珠,俨然已经成了中国古代文学的象征。这四部文学作品历久不衰,是汉语文学史中不可多得的经典作品,其中的故事、场景、人物已经深深地影响了中国人的思想观念、价值取向,是中国文学史上的四座伟大丰碑。
不脱发的程序猿
2021/01/20
7050
资深Python程序员教你统计,三国中人物名字出现的频率,很简单
资深Python程序员教你简单、有趣的程序: 使用第三方库jieba切分,统计统计名著三国演义中人物名字出现次数。
Python编程大咖
2019/03/26
1.9K0
当AI遇见王者荣耀 | 跨越千年,测一测你是怎样的峡谷琴人!
远远传来缕缕琴声,悠悠扬扬 似流水叮咚,似山风飒飒~ 小妲己定睛一看, 原来是峡谷琴人「庄周」在弹奏《流水知音》! 伯牙子期高山流水遇知音的典故, 正是「庄周 · 高山流水」皮肤的创意源泉~ 各位召唤师,你们是否想过, 如果时间倒流, 你也有机会回到那个充满古韵的世界, 你会是怎样的峡谷琴人呢? 识别下方海报中的二维码 ~即可跨越千年~揭晓谜底~ (《跨越千年,你会是怎样的琴人》测试结果生成图) 一番测试体验后, 小妲己竟然完美变身古代琴人! 这项AI技术让小妲己大开眼界! 其次是打破男女性别属
腾讯云AI
2022/01/04
1.7K0
【2014第1季度】中、美、韩三国手游市场分析报告
手游发展正在全球崛起,然而不同国家地区,因为文化地域差异,流行的游戏玩法也不尽相同。InMobi于2014年第一季度,通过对美、中、韩三国1292名手游玩家进行跟踪调查(美国616名、中国343名、韩国333名参与者)分析了不同市场对游戏领域的影响、玩家玩法习惯的差异、以及美中韩三国的游戏市场渠道。希望能够通过这份报告让开发和发行者们更好的了解,如何在各地区,有针对性并高效地实现创收。 1.三国游戏全景概况:历史文化因素对该国游戏发展造成影响 一个国家的历史和文化影响该国的游戏发展蓝图。由于电子游戏的禁
小莹莹
2018/04/19
9200
【2014第1季度】中、美、韩三国手游市场分析报告
《游戏专业概论》总结+笔记
毕业设计心得:开篇先来写一写这个吧,我把它藏在这个这篇博客的开头,如果也有希望入行产品/游戏策划、设计有关的行业的同学,也可以看看这只愣头青是怎么设计一款lj游戏的。 同时,我认为编写博客,可以让我总结以往失败的教训以及成功的经验,对于我来说,这笔课堂记在本子上的笔记有用多了。 我的毕业设计,是设计一款能够让小学2-6年级的学生自学C++的严肃游戏。得益于我的高中老师,我本身从事编程教育工作应该说是有一些年头了,而这次毕业设计也算是一次很好的实践机会。 先说一下团队配置,1个策划(我)6个写代码的,2个美术
[Sugar]
2022/09/21
6620
挠场的科学丨一、特斯拉的特异功能与电力产业的兴起
尼古拉.特斯拉如图1-1所示,他于一八五六年出生于东欧奥地利帝国的一个小镇,在今天的克罗埃西亚共和国之内。特斯拉的父亲是一位东正教的牧师,也是作家,有一个哥哥、三个姐姐,而他对发明的兴趣也许是受到母亲的影响,因为在他长大的过程中,母亲在家事闲暇之余,常常会制作一些小小的家庭用品。
ApacheCN_飞龙
2022/11/18
8930
挠场的科学丨一、特斯拉的特异功能与电力产业的兴起
风靡全国,日活8000万,《王者荣耀》后台技术架构演进!
文章主要讲述了《王者荣耀》技术团队在英雄、皮肤、玩法、AI、网络优化等多个方面的优化工作,以及其背后的技术团队如何通过研发创新来提升游戏体验和用户满意度。同时,也分享了技术团队在解决一些技术难题时所采用的方法和策略,如英雄技能树、皮肤特效、网络优化等。通过这些优化,技术团队不仅提升了游戏的整体体验,也使得《王者荣耀》成为了一款具有竞争力的游戏产品。
51CTO技术栈
2017/10/13
5.4K0
风靡全国,日活8000万,《王者荣耀》后台技术架构演进!
游戏AI探索之旅:从AlphaGo到MOBA游戏
背景:7月28日,腾讯云在北京举办云+社区沙龙,邀请来自腾讯与四川云检科技的五位AI技术专家,分享他们在专业领域的AI开发经验,帮助开发者在具体行业场景中实践AI技术。本文根据王亮在【7.28日腾讯云
腾讯技术工程官方号
2018/08/17
4.6K5
张飞比关羽还能打?一位酷爱三国的日本程序员,用NLP分析了武将们的战斗力
作为中国四大名著之一,三国的故事自然备受国人喜爱和追捧,但是谁又能想到三国竟然在日本也“出了圈”,举个例子,吴宇森导演的电影《赤壁》在日本的票房收入超过国内,同时该电影也是日本影史上票房最高的华语电影。
大数据文摘
2019/08/08
5790
张飞比关羽还能打?一位酷爱三国的日本程序员,用NLP分析了武将们的战斗力
推荐阅读
相关推荐
《三国演义》人物数据分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验