书签 分享 收藏 举报 版权申诉 / 28
上传文档赚钱

类型基于APM的容器全链路监控分析课件.pptx

  • 上传人(卖家):三亚风情
  • 文档编号:2874396
  • 上传时间:2022-06-07
  • 格式:PPTX
  • 页数:28
  • 大小:1.69MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《基于APM的容器全链路监控分析课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 APM 容器 全链路 监控 分析 课件
    资源描述:

    1、容器环境下基于APM的海量日志全链路跟踪分析未来的IT架构一定是微服务化的容器APM传统IT容器支持服务,APM定位故障这两款产品,有很好结合点微服务目录CONTENTS为什么需要全链路的日志排为什么需要全链路的日志排查查什么是全链路什么是全链路代码中如何实现全链路代码中如何实现全链路如何基于代码增强的方式实如何基于代码增强的方式实现现 日志增强日志增强容器云带来的挑战容器云带来的挑战简单应用架构的日志排查过程用户商品交易应用服务器应用服务器用户商品交易容器用户表商品表交易表数据库服务器数据库数据库用户商品交易Web app交易Web APP容器数据库用户表 商品表 交易表单台机单台机 器器用

    2、户商品当应用架构较简单的时候只有一个日志文件,直接查看文件即可EASY多花点时间,直接查看文件即可强强强强稍微复杂一点应用架构的排查过程用户商品交易Web app容器用户商品交易Web app容器应用服务器1应用服务器2数据库用户表商品表交易表数据库服务器一个集群里面有限的几个应用日志有点烦,但还能接受较复杂的应用架构的日志排查过程负载均衡器携带携带session的的cookie用户服务集群应用服务器1应用服务器2用户用户商品服务集群应用服务器3应用服务器4商品商品交易服务集群应用服务器5应用服务器6交易交易NOSQL数据库缓存集群索引擎搜搜索引擎(集群)写库垂直拆分读库水平拆分用户商品交易交

    3、易用户商品搜写读同步基于ELK 的统一日 志 搜索 文件导出在统一日 志支撑下,还能统一接受典型基于微服务调用的日志排查过程负载均衡器携带session的cookie商品商品系统系统缓存集群索引擎NOSQL数据库搜搜索引擎(集群)写库垂直拆分读库水平拆分商品交易用户商品交易用户搜写读同步登录登录注册注册交易交易系统系统商品服务集群用户服务集群交易服务集群商品中 心用户中 心交易中 心容器环境的特点弹性伸缩相同的服务实例 数很多几十个, 甚至上百个统一日志为啥不能完全解决问题?123 在微服务的整条链路上的应用都需要关心结论:搜索出来的非相关性信息太多 比如搜索:Error,那意味整个系统所有的

    4、微服务的Error日志可能都需要看 运气好找到一个相关性的日志之后,再去关联其它服务节点上的日志很复杂,无从 下手统一日志的使用方式是:搜索全链路的日志含义c4d9C服务处 理此次访 问的日志 信息D服务处 理此次访 问的日志 信息A服务处 理此次访 问的日志 信息b2B服务处 理此次访 问的日志 信息a1可以将用户一次访问相关的日志信息经过所有服务不同实例完全找出来,并且能够 按照实际响应顺序显示出来Mar 02, 2016 10:12:28 AM org.apache.coyote.http11.Http11Protocol pause INFO: Pausing Coyote HTTP/

    5、1.1 on http-8080Mar 02, 2016 10:12:29 AM org.apache.catalina.core.StandardService stopINFO: Stopping service CatalinaMar 02, 2016 10:12:29 AM org.apache.coyote.http11.Http11Protocol destroy INFO: Stopping Coyote HTTP/1.1 on http-8080目录CONTENTS为什么需要全链路的日志排为什么需要全链路的日志排查查全链路的日志排查全链路的日志排查代码中如何实现全链路代码中如何

    6、实现全链路如何基于代码增强的方式实如何基于代码增强的方式实现现 日志增强日志增强容器云带来的挑战容器云带来的挑战什么是全链路?Google Dapper的全链路AECBD(User)Reply XRequest Xrpc1rpc2(Middle Tier)(Frontend)rpc3(Backend)rpc4老板老板张三说李四,李四说王张三说李四,李四说王五五,说,说了了半天半天都都两个两个小小时了时了(叹气叹气状状),),就就不能不能解解决地决地快快点吗点吗?员工员工谁不想快啊?但也要快谁不想快啊?但也要快的的起来起来呀呀!老!老板板,我,我们们都没都没偷偷懒啊懒啊(无奈无奈状状)。)。运维

    7、运维进程都在,也没看见ZB报错 呀!DBA叫什么叫,连数据都没连上!DBA基础基础叫什么叫,连数据都没连上!傻X,磁盘满了,都不知道在 叫啥。老板老板50万的理财产品登陆不上!火速解决!老板老板VIP用用户户张总,想买50万万的理财 产品失败,登陆不上。李导,我马上联系相关 人,周末请你喝酒(抱 拳状)前台前台我没问题,问问服务报错 了吗?DBA叫什么叫,连数据都没连 上!中台中台后台后台是你没调过来吧,我连日 志都没打!胡说什么?我这有反应, 你传错了!老板老板50万的理财产品登陆不 上!火速解决!为什么要全链路?快速交付与快速排快速交付与快速排查查目录CONTENTS为什么需要全链路的日志

    8、排为什么需要全链路的日志排查查全链路的日志排查全链路的日志排查代码中如何实现全链路代码中如何实现全链路如何基于代码增强的方式实如何基于代码增强的方式实现现 日志增强日志增强容器云带来的挑战容器云带来的挑战Node1Node2Node4Node3RPC1RPC2RPC3TxId=Node1Time1 SpanId=1pSpanId=-1TxId=Node1Time 1SpanId=2 pSpanId=1TxId=Node1Time1 SpanId=3 pSpanId=2TxId=Node1Time1 SpanId=4 pSpanId=2TraceID : 识别用户一次请求,所有全链 路上的节点共

    9、用一个TraceIDSpanID:正在处理用户请求的节点ParentSpanID:正在处理用户请求节点 的上一个节点全链路的实现Opentracing VS 自动化插裝Opentracing的优略势适用于任何代码框架对代码开发团队需要有较 强的要求,测试团队需要 配合一起测试自动化插裝的优劣势无需代码开发支持的框架有限制目录CONTENTS为什么需要全链路的日志排为什么需要全链路的日志排查查全链路的日志排查全链路的日志排查代码中如何实现全链路代码中如何实现全链路如何基于代码增强的方式实如何基于代码增强的方式实现现 日志增强日志增强容器云带来的挑战容器云带来的挑战全链路日志示例2017-12-0

    10、6 18:53:36 ERROR (AccountAction:206) - AccountAction.prepare. , transactionId = testjeeshopclient-3177904429- 875h5:80801512552181462742017-12-06 18:53:36 ERROR (AccountAction:678) - toLogin. , transactionId = testjeeshopclient-3177904429-875h5:80801512552181462742017-12-06 18:53:36 ERROR (FrontInte

    11、rceptor:28) -CommonInterceptor.intercept. , transactionId = testjeeshopclient-3177904429-875h5:8080151255218146274Java常用的日志框架配置Log4j Log4j2 Logback日志配置基本相似配置日志格式化输出方式(Layout)配置日志模版(Pattern)Layout的主要作用就是解析Pattern,格式化输出日志信息日志常见配置(Log4J为例)配置日志输出方式配置日志路径配置日志格式化方式配置具体格式,通过layout解析patternlog4j.appender.st

    12、dout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%-dyyyy-MM-dd HH:mm:ss %m%n日志解析过程PatternLayoutPatternParserpatternPatternConverter将pattern转为PatternConverter日志事件Patter

    13、nLayoutformat遍 历 PatternConverter 链表,填充内容返回格式化日志根据配置文件,实例化PatternLayout,解析patternPatternConverter对象实质就是一个链表,把pattern中的参数拆解每当日志事件到来,调用PatternLayout的format获取格式化日志日志增强输出全链路的traceid自定义开发自定义开发PatternLayout、PatternParser、 PatternConverter在配置文件中需要将在配置文件中需要将layout参数指定为自定义的参数指定为自定义的PatternLayout修修改改pattern,添

    14、,添加加%T。“%T”是能够被是能够被PatternConverter识别的,可以识别的,可以 将其转化为将其转化为TraceIDlog4j.appender.CONSOLE.layout=org.xx.TracePatternLayo utlog4j.appender.CONSOLE.layout.ConversionPattern=%d%T %-5p %c1:%L - %m%n基于APM日志增强方式无需额外配置就 可以开启日志增 强拦截某方法,追加Pattern格式,加入%T(只 执行一次)通过每次打印日 志,都会调用 format方法, 按照pattern打印 具体信息。通过 拦 截 f

    15、ormat, 注入%T的值。目录CONTENTS为什么需要全链路的日志排为什么需要全链路的日志排查查全链路的日志排查全链路的日志排查代码中如何实现全链路代码中如何实现全链路如何基于代码增强的方式实如何基于代码增强的方式实现现 日志增强日志增强容器云带来的挑战容器云带来的挑战Kubernetes 中IP不固定带来的问题10:00 AM :实际产生日志时的链路信息10.10.101.100(A应用)-10.10.101.105(B应用)- 10.10.101.119(C应用)13:00 PM:分析日志时,日志所记录的IP对应的服务已经不再是实际产 生 日 志 的 服 务 10.10.101.100(C 应 用)-10.10.101.105(D应用)- 10.10.101.119(E应用)IP不再能唯一的标识一个应用了如何解决?实现简单优点方案一How?记录日志时,同时多记录一个字段,对应的是应用名称缺点浪费存储通过Pod Name来唯一的标识应用采集日志数据时,按照pod name进行应用标识APM的agent也按照pod name进行应用标识感感 谢谢 聆聆 听听Thanks!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:基于APM的容器全链路监控分析课件.pptx
    链接地址:https://www.163wenku.com/p-2874396.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库