基于OpenTelemetry Jaeger的分布式系统调用链路监控方案.pdf
《基于OpenTelemetry Jaeger的分布式系统调用链路监控方案.pdf》由会员分享,可在线阅读,更多相关《基于OpenTelemetry Jaeger的分布式系统调用链路监控方案.pdf(4页珍藏版)》请在咨信网上搜索。
1、第26卷第9期2023年9月软件工程 S O F T W A R E E N G I N E E R I N GVol.26 No.9Sep.2023文章编号:2096-1472(2023)09-0048-04DOI:10.19644/ki.issn2096-1472.2023.009.009收稿日期:2 0 2 3-0 2-2 2基于O p e n T e l e m e t r y+J a e g e r的分布式系统调用链路监控方案张爱华1,白金峰2 1.大连东软信息学院网络工程系,辽宁 大连 116023;2.欧普杰科技(大连)有限公司,辽宁 大连 ;摘 要:在分布式系统中,由于各个功能
2、模块的通信网络错综复杂,因此对于单一请求的调用链路监控与分析就显得尤为重要。文章在详细调研大部分分布式系统的通用结构和调用链路特征的基础上,设计了一套通用的分布式系统调用链路监控方案。该系统基于O p e n T e l e m e t r y(开源可观察性框架)对服务进行埋点采样及数据整体搜集,使用J a e g e r(分布式跟踪系统)对数据进行整理分析并进行可视化展示。使用该方案对分布式系统进行监控,可以快速发现系统中存在的链路问题并监控服务健康程度,使分布式系统的运行更加稳定,能给用户带来更好的体验。关键词:分布式系统;链路监控;O p e n T e l e m e t r y;J
3、a e g e r中图分类号:T P 3 9 1 文献标志码:AD e s i g n o f D i s t r i b u t e d S y s t e m C a l l L i n k M o n i t o r i n g B a s e d o n O p e n T e l e m e t r y a n d J a e g e rZHANG Aihua1,BAI Jinfeng2 1.Department of Network Engineering,Dalian Neusoft University of Information,Dalian 116023,China;2.
4、OpenJaw Technology(Dalian)Co.,Ltd.,Dalian 116023,C;A b s t r a c t:In distributed systems,monitoring and analyzing the call link of a single request is particularly important due to the complex communication networks of various functional modules.After a detailed investigation of the general structu
5、re and call link characteristics of most distributed systems,the paper proposes to design a universal distributed system call link monitoring scheme.OpenTelemetry(an open source observability framework)is used for buried point sampling and overall data collection of services,and Jaeger(a distributed
6、 tracing system)is used to organize,analyze,and visualize the data.By using this scheme to monitor distributed systems,it is possible to quickly identify link issues in the system and monitor service health,making the operation of the distributed system more stable and providing users with a better
7、experience.K e y w o r d s:distributed system;link monitoring;OpenTelemetry;Jaeger0引言(I n t r o d u c t i o n)随着互联网移动应用的兴起,一种新的计算机应用系统服务架构-分布式架构应运而生。但是,随着分布式架构方案的使用越来越多,该架构的缺点慢慢显现出来,首当其冲的就是调用链路的问题1。随着分布式系统中服务数量的增加,其相互调用的关系网络也变得错综复杂,无论是系统的开发人员,还是维护人员,都因为无法追踪一个请求的调用链路而犯难。本文针对这一情况,提供了一种通用的调用链路监控方案,细化每一
8、个服务接口的粒度。在本方案中,既可以通过可视化界面的方式查询应用接口的调用流程、错误率、负载强度,又可以通过图示的方式查看系统的调用结构。通过使用本文中提供的监控方案,系统开发人员可以快速第 26卷第 9期张爱华等:基于 OpenTelemetry+Jaeger 的分布式系统调用链路监控方案追踪系统中任意服务的调用步骤、执行的命令或者参数,方便快速排查问题;运维人员可以实时查看系统中每一个服务接口的负载压力与错误率,可以提前预判服务状态。1系统需求(S y s t e m r e q u i r e m e n t s)分布式链路监控系统的主要用户为系统的开发人员和维护人员。图1为系统开发人员
9、的需求。系统开发人员希望使用该系统查看应用的调用链路、接口耗时、调用步骤中的应用信息、参数、环境信息等,还需要查看系统的整体调用网络。图1 开发人员需求F i g.1 D e v e l o p e r r e q u i r e m e n t s如图2所示,系统维护人员希望能够查询系统的调用链路,每个接口的负载状况、错误率等信息。图2 运维人员需求F i g.2 O p e r a t o r r e q u i r e m e n t s2系统设计(S y s t e m d e s i g n)2.1技术路线系统服务端采用B/S架构,前端和后端基于H T T P协议进行通信,数据格式使
10、用J S O N。前端使用的是N o d e J S+R e a c t技术,通过N o d e J S查询S e r v e r端数据,然后结合R e a c t构造的模块化页面展示实现动态响应。系统后端使用的是G o l a n g语言,该语言自身的协程设计使其非常适合应用在处理高并发请求环境中,并且构建后的可执行产物体积小、启动方便。服务埋点以J a v a应用为例,使用的是J a v a语言本身支持的J a v a A g e n t方案,通过J a v a A g e n t挂载到应用本身的J a v a虚拟机(J a v a V i r t u a l M a c h i n e,
11、J VM)中。该方案对应用本身没有任何的代码侵入,业务应用不需要任何改造即可轻松集成A g e n t。E l a s t i c S e a r c h是一款分布式的搜索和分析引擎,该引擎可以使链路监控的数据搜集部分与展示部分解耦1。A g e n t在应用层面搜集到的应用运行数据和 日 志 等 信 息 上 报 给E l a s t i c S e a r c h引擎,引擎对数据进行存储和索引,页面展示部分从E l a s t i c S e a r c h中读取并分析数据,然后展示到页面上。O p e n T e l e m e t r y C o l l e c t o r是一款设备无关
12、性的新兴采集器。在以往的分布式系统度量数据采集方案中使用的采集器一般与技术栈绑定,一旦选择了某个技术栈中的一个工具,则后续拓展必须使用该技术栈下的其他工具。例如,在搜集应用日志时,一旦选择了使用f i l e b e a t,则后续的日志存储只能选择E l a s t i c S e a r c h,日 志 展 示 与 分 析 也 只 能 选 择K i b a n a。O p e n T e l e m e t r y C o l l e c t o r的出现打破了这一局限性,它支持从多个输入端采集数据,然后通过自定义的P r o c e s s o r处理,处理后又可以从多个输出端输出数据,
13、方便随时替换度量数据的搜集器和分析器。J a e g e r是 一 款 新 型 的 链 路 分 析 工 具,它 包 含A g e n t、A n a l y z e r、Q u e r y U I等组件。本文使用J a e g e r的A n a l y z e r和Q u e r y U I组件,其中A n a l y z e r用来分析链路数据和服务的网络结构,Q u e r y U I用来查询和展示分析后的链路和调用网络。P r o m e t h e u s是一款存储应用度量数据的工具,它提供了一种基于时间轴的新型数据存储和管理方案,可以很好地记录某一指标随着时间变化而变化的值2;同时
14、,它还提供一套类似于结构化查询语言(S t r u c t u r e d Q u e r y L a n g u a g e,S Q L),通过使用其提供的查询语言可以方便地从各个维度查询度量数据。2.2系统架构2.2.1整体架构系统的整体架构如图 3所示,系统中存在多个业务应用(B u s i n e s s A p p l i c a t i o n),并且每一个业务应用都挂载了一个A g e n t用来收集应用的度量数据和运行时的状态数据3。A g e n t收 集 数 据 后 会 发 送 给O p e n T e l e m e t r y C o l l e c t o r,C o
15、 l l e c t o r对数据进行处理后,根据不同的数据类型分别发送给J a e g e r C o l l e c t o r搜 集 器 和P r o m e t h e u s数 据 库。J a e g e r C o l l e c t o r对数据做筛选,加标签处理后存入E l a s t i c S e a r c h中等待分析和展示,E l a s t i c S e a r c h中的数据会定时由S p a r k J o b获取并计算调用网络,计算后的结果会再次存储至E l a s t i c S e a r c h中。J a e g e r Q u e r y 服 务 负
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于OpenTelemetry Jaeger的分布式系统调用链路监控方案 基于 OpenTelemetry Jaeger 分布式 系统 调用 监控 方案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。