CN110825741B - 一种追踪日志快速查询方法及装置 - Google Patents
一种追踪日志快速查询方法及装置 Download PDFInfo
- Publication number
- CN110825741B CN110825741B CN201911047860.XA CN201911047860A CN110825741B CN 110825741 B CN110825741 B CN 110825741B CN 201911047860 A CN201911047860 A CN 201911047860A CN 110825741 B CN110825741 B CN 110825741B
- Authority
- CN
- China
- Prior art keywords
- log
- server
- service
- sampling
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种追踪日志快速查询方法,包括:从每个服务器存储的服务追踪日志中采集一部分日志信息,形成采样日志,存储在集中存储服务器上,每个采样日志包括对应的ID编号;若获取到查询追踪日志的请求,则获取请求中的ID编号,查询ID编号对应的服务器上的服务追踪日志。本发明的追踪日志快速查询方法能够快速查询出追踪日志的信息。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种追踪日志快速查询方法及装置。
背景技术
目前互联网公司在实现微服务化之后,产生大量用于监控微服务的追踪日志,大量的追踪日志分散在各个服务里。现有技术是通过提供大量存储资源来存储作为查询的前提,或通过查询部分数据来实现,这些实现方式不仅不方便,而且容易造成资源浪费,非常耗时,严重影响问题排查效率。
发明内容
本发明实施例的目的在于提出一种追踪日志快速查询方法及装置,能够快速查询出追踪日志的信息。
为达此目的,本发明实施例采用以下技术方案:
第一发明,本发明实施例提供一种追踪日志快速查询方法,包括:
从每个服务器存储的服务追踪日志中采集一部分日志信息,形成采样日志,存储在集中存储服务器上,每个所述采样日志包括对应的ID编号;
若获取到查询追踪日志的请求,则获取所述请求中的ID编号,查询所述ID编号对应的服务器上的所述服务追踪日志。
进一步的,从每个服务器存储的服务追踪日志中采集一部分日志信息,形成采样日志,包括:
随机选取所述服务追踪日志中的部分日志信息并产生随机概率;
根据所述随机概率与预设概率的对比结果判断是否采集,以此形成采样日志。
进一步的,每个所述采样日志包括对应的ID编号,包括:
获取所述采样日志所属的服务器的服务名;
通过snowflake算法将服务名嵌入ID编号中。
进一步的,通过snowflake算法将服务名嵌入ID编号中为:
通过snowflake算法将服务名的哈希值嵌入ID编号中。
进一步的,获取所述请求中的ID编号,包括:
获取所述请求中包含的采样日志的ID编号。
进一步的,查询所述ID编号对应的服务器上的所述服务追踪日志,包括:
解析所述ID编号获得哈希值,确定所述哈希值对应的服务名;
根据所述服务名确定对应的服务器,以此查询对应的服务追踪日志。
第二方面,本发明实施例提供一种追踪日志快速查询装置,包括:
采集模块,用于从每个服务器存储的服务追踪日志中采集一部分日志信息,形成采样日志;
存储模块,用于将采样日志存储在集中存储服务器上,每个所述采样日志包括对应的ID编号;
查询模块,用于若获取到查询追踪日志的请求,则获取所述请求中的ID编号,查询所述ID编号对应的服务器上的所述服务追踪日志。
进一步的,存储模块,具体用于将采样日志存储在集中存储服务器上;
获取所述采样日志所属的服务器的服务名;
通过snowflake算法将服务名嵌入ID编号中。
进一步的,查询模块,具体用于获取所述请求中的ID编号;
解析所述ID编号获得哈希值,确定所述哈希值对应的服务名;
根据所述服务名确定对应的服务器,以此查询对应的服务追踪日志。
本发明实施例的有益效果为:
本发明实施例通过将服务名的哈希值嵌入到ID编号内,实现通过哈希值查询到所述的服务器中,能够在产生大量的日志并且分散在各个服务器的情况下,快速查询到部分数据和/或全量数据,减少耗时,从而提高排查问题的效率,并且无需耗费大量的存储资源。
附图说明
图1是实施例一提供的一种追踪日志快速查询方法的流程示意图。
图2是实施例二提供的一种追踪日志快速查询装置的结构示意图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例一
本实施例提供一种追踪日志快速查询方法,能够在产生大量的日志并且分散在各个服务器中的情况,快速查询到部分数据和/或全量数据,减少耗时,从而提高排查问题的效率,并且无需耗费大量的存储资源。图1是实施例一提供的一种追踪日志快速查询方法的流程示意图。如图1所示,该方法包括如下具体步骤:
S11,服务启动后,将服务产生的大量服务追踪日志直接保存到当前服务器中。
具体的,将http请求的相关信息,例如:请求方法、URL(Uniform ResourceLocator,统一资源定位符)、请求参数、请求服务名、当前服务器等,保存到span(请求跨度)结构中。
S12,从每个服务器存储的服务追踪日志中采集一部分日志信息,形成采样日志。
具体的,随机选取所述服务追踪日志中的部分日志信息并产生随机概率。一批span组成服务追踪日志。
随机选取该批span中一部分span,为部分日志信息,并通过随机概率算法产生随机概率。
根据所述随机概率与预设概率的对比结果判断是否采集,以此形成采样日志。在本实施例中,设置随机概率大于或等于预设概率时采集该部分日志信息,形成采样日志。
S13,存储在集中存储服务器上,每个所述采样日志包括对应的ID编号。
具体的,获取所述采样日志所属的服务器的服务名,通过snowflake算法将服务名嵌入ID编号中,使得每个采样日志包括对应的ID编号。进一步的,snowflake算法是将服务名的哈希值嵌入ID编号中。
S14,若获取到查询追踪日志的请求,则获取所述请求中的ID编号,查询所述ID编号对应的服务器上的所述服务追踪日志。
具体的,获取所述请求中包含的采样日志的ID编号。
解析所述ID编号获得哈希值,确定所述哈希值对应的服务名。
根据所述服务名确定对应的服务器,以此查询对应的服务追踪日志。因为,ID编号与服务名有明确的对应关系,且服务名与服务器也有明确的对应关系,只需查询到ID编号对应的服务名,进而能查询到所属的服务器以此查询到服务追踪日志,具体是通过哈希值来查询到对应的服务名。
结合例子详细说明:采样日志的服务名的哈希值为677573,通过snowflake算法嵌入到ID编号内,从而ID编号为cfb6d9b114e9b0876b3a56c5。当需要查询该采样日志对应的服务追踪日志,解析所述ID编号获取哈希值677573,通过哈希值表找到对应的服务名:user.feed.logic,进而找到对应的服务器:127.3.91.2、192.168.91.3。
其中,哈希值表还包含哈希值677574,然后查询到该服务名:user.feed.base,进而找到对应的服务器:127.3.91.2、192.168.91.4。
具体的,如下表所示:
服务器 | 服务名 | 哈希值 |
127.3.91.2、192.168.91.3 | user.feed.logic | 677573 |
127.3.91.2、192.168.91.4 | user.feed.base | 677574 |
本实施例通过将服务名的哈希值嵌入到ID编号内,实现通过哈希值查询到所述的服务器中,能够在产生大量的日志并且分散在各个服务器的情况下,快速查询到部分数据和/或全量数据,减少耗时,从而提高排查问题的效率,并且无需耗费大量的存储资源。
实施例二
本实施例提供一种追踪日志快速查询装置,用于执行上述实施例所述的查询方法,具备相应的功能模块,解决相同的技术问题,达到相同的技术效果。图2是实施例二提供的一种追踪日志快速查询装置的结构示意图。如图2所示,该查询装置包括:
采集模块10,用于从每个服务器存储的服务追踪日志中采集一部分日志信息,形成采样日志。通过本地采集程序实现采集一部分日志信息。
存储模块20,用于将采样日志存储在集中存储服务器40上,每个所述采样日志包括对应的ID编号。
具体用于将采样日志存储在集中存储服务器40上,获取所述采样日志所属的服务器的服务名,通过snowflake算法将服务名嵌入ID编号中。
查询模块30,用于若获取到查询追踪日志的请求,则获取所述请求中的ID编号,查询所述ID编号对应的服务器上的所述服务追踪日志。
具体用于获取所述请求中的ID编号,解析所述ID编号获得哈希值,确定所述哈希值对应的服务名,根据所述服务名确定对应的服务器,以此查询对应的服务追踪日志。
本实施例能够通过在日志的ID编号中的服务名来查询所属的服务器,就能快速查询出服务追踪日志所在的服务器,进而查询到服务追踪日志。减少耗时,并且无需大量的存储资源,能够提高设备的利用率。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。
Claims (8)
1.一种追踪日志快速查询方法,其特征在于,包括:
从每个服务器存储的服务追踪日志中采集一部分日志信息,形成采样日志,存储在集中存储服务器上,每个所述采样日志包括对应的ID编号;
若获取到查询追踪日志的请求,则获取所述请求中的ID编号,查询所述ID编号对应的服务器上的所述服务追踪日志;
其中,从每个服务器存储的服务追踪日志中采集一部分日志信息,形成采样日志,包括:
随机选取所述服务追踪日志中的部分日志信息并产生随机概率;
根据所述随机概率与预设概率的对比结果判断是否采集,以此形成采样日志。
2.根据权利要求1所述的追踪日志快速查询方法,其特征在于,每个所述采样日志包括对应的ID编号,包括:
获取所述采样日志所属的服务器的服务名;
通过snowflake算法将服务名嵌入ID编号中。
3.根据权利要求2所述的追踪日志快速查询方法,其特征在于,通过snowflake算法将服务名嵌入ID编号中为:
通过snowflake算法将服务名的哈希值嵌入ID编号中。
4.根据权利要求1所述的追踪日志快速查询方法,其特征在于,获取所述请求中的ID编号,包括:
获取所述请求中包含的采样日志的ID编号。
5.根据权利要求3所述的追踪日志快速查询方法,其特征在于,查询所述ID编号对应的服务器上的所述服务追踪日志,包括:
解析所述ID编号获得哈希值,确定所述哈希值对应的服务名;
根据所述服务名确定对应的服务器,以此查询对应的服务追踪日志。
6.一种追踪日志快速查询装置,其特征在于,包括:
采集模块,用于从每个服务器存储的服务追踪日志中采集一部分日志信息,形成采样日志;
存储模块,用于将采样日志存储在集中存储服务器上,每个所述采样日志包括对应的ID编号;
查询模块,用于若获取到查询追踪日志的请求,则获取所述请求中的ID编号,查询所述ID编号对应的服务器上的所述服务追踪日志;
其中,从每个服务器存储的服务追踪日志中采集一部分日志信息,形成采样日志,包括:
随机选取所述服务追踪日志中的部分日志信息并产生随机概率;
根据所述随机概率与预设概率的对比结果判断是否采集,以此形成采样日志。
7.根据权利要求6所述的追踪日志快速查询装置,其特征在于,存储模块,具体用于将采样日志存储在集中存储服务器上;
获取所述采样日志所属的服务器的服务名;
通过snowflake算法将服务名嵌入ID编号中。
8.根据权利要求7所述的追踪日志快速查询装置,其特征在于,查询模块,具体用于获取所述请求中的ID编号;
解析所述ID编号获得哈希值,确定所述哈希值对应的服务名;
根据所述服务名确定对应的服务器,以此查询对应的服务追踪日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911047860.XA CN110825741B (zh) | 2019-10-30 | 2019-10-30 | 一种追踪日志快速查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911047860.XA CN110825741B (zh) | 2019-10-30 | 2019-10-30 | 一种追踪日志快速查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825741A CN110825741A (zh) | 2020-02-21 |
CN110825741B true CN110825741B (zh) | 2022-09-20 |
Family
ID=69551510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911047860.XA Active CN110825741B (zh) | 2019-10-30 | 2019-10-30 | 一种追踪日志快速查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825741B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007084436A9 (en) * | 2006-01-17 | 2008-12-31 | Reality Mobile Llc | System and method for remote data acquisition and distribution |
CN107483567A (zh) * | 2017-08-03 | 2017-12-15 | 广州华多网络科技有限公司 | 一种分布式日志搜索的方法及系统 |
CN109617726A (zh) * | 2018-12-14 | 2019-04-12 | 深圳壹账通智能科技有限公司 | 错误日志采集方法及服务器 |
CN110019069A (zh) * | 2017-10-30 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种日志处理方法、装置及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102811230B (zh) * | 2011-05-30 | 2015-03-11 | 深圳市金蝶友商电子商务服务有限公司 | 一种基于应用集成的资源调用方法和系统 |
CN106850782A (zh) * | 2017-01-17 | 2017-06-13 | 泰康保险集团股份有限公司 | 用于日志处理的方法和系统 |
CN107454203A (zh) * | 2017-07-19 | 2017-12-08 | 成都数联铭品科技有限公司 | 在分布式系统中生成唯一id的方法 |
CN107861859B (zh) * | 2017-11-22 | 2021-04-02 | 北京汇通金财信息科技有限公司 | 一种基于微服务架构的日志管理方法及系统 |
CN109697133A (zh) * | 2018-12-28 | 2019-04-30 | 广州华多网络科技有限公司 | Id生成方法、装置及系统 |
-
2019
- 2019-10-30 CN CN201911047860.XA patent/CN110825741B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007084436A9 (en) * | 2006-01-17 | 2008-12-31 | Reality Mobile Llc | System and method for remote data acquisition and distribution |
CN107483567A (zh) * | 2017-08-03 | 2017-12-15 | 广州华多网络科技有限公司 | 一种分布式日志搜索的方法及系统 |
CN110019069A (zh) * | 2017-10-30 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种日志处理方法、装置及设备 |
CN109617726A (zh) * | 2018-12-14 | 2019-04-12 | 深圳壹账通智能科技有限公司 | 错误日志采集方法及服务器 |
Non-Patent Citations (2)
Title |
---|
Tango:distributed data structure over a shared log;Mahesh Balakrishnan等;《proceedings of the twenty-fourth acm symposium on operating systems principles》;20131130;325-340 * |
基于事件ID的Windows日志集中审计;王照文;《中国金融电脑》;20110407(第4期);80-82 * |
Also Published As
Publication number | Publication date |
---|---|
CN110825741A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502494B (zh) | 日志处理方法、装置、计算机设备及存储介质 | |
CN111160791A (zh) | 一种基于gbdt算法及因素融合的异常用户识别方法 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN110350993B (zh) | 一种大数据场景下基于联网监测的黑广播自动发现方法 | |
CN102541884A (zh) | 数据库优化方法和装置 | |
CN110888985A (zh) | 一种报警信息处理方法、装置、电子设备及存储介质 | |
CN111008109A (zh) | 一种监控数据处理方法、装置、电子设备及存储介质 | |
CN102999424B (zh) | 一种并行远程自动化测试的方法 | |
CN103812881A (zh) | 离线下载控制方法及装置 | |
CN110825741B (zh) | 一种追踪日志快速查询方法及装置 | |
CN102184180A (zh) | 一种文件排重的方法与系统 | |
CN113778947A (zh) | 一种kafka流处理平台的数据导入方法、装置及设备 | |
CN104468248A (zh) | 业务性能的监控方法、反向代理服务器、统计分析服务器及系统 | |
CN111970140B (zh) | 一种基于热更新实现的实时处理的方法及系统 | |
CN103401722A (zh) | 一种软件资源监控系统和方法 | |
CN109062801B (zh) | 软件接口自动转换系统 | |
CN113297245A (zh) | 获取执行信息的方法及装置 | |
CN115168415A (zh) | 基于订阅发布的时序数据查询方法、系统及计算机介质 | |
CN107341086B (zh) | 服务器运行状态的监测方法和系统 | |
CN111901158B (zh) | 一种智能家居配网故障数据分析方法、设备及存储介质 | |
CN114338764A (zh) | 一种非侵入式web应用活跃度监测方法及系统 | |
CN113704203A (zh) | 一种日志文件的处理方法及装置 | |
CN113872814A (zh) | 内容分发网络的信息处理方法、装置和系统 | |
CN114091910A (zh) | 5g用户质差投诉的溯源分析方法及装置 | |
CN101488140B (zh) | 一种确定网站类型的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |