您现在的位置是:系统运维 >>正文
应用程序的私人医生——APM
系统运维55人已围观
简介作者 | 蔡佳琪,单位:中国移动智慧家庭运营中心Labs 导读云时代应用日益丰富,用户数量爆发增长,繁杂的应用异常问题接踵而来。传统运维模式下,多套运维系统上的各项指标无法关联分析,运维人员需要根据 ...
作者 | 蔡佳琪,应用单位:中国移动智慧家庭运营中心
Labs 导读云时代应用日益丰富,程序用户数量爆发增长 ,人医繁杂的应用应用异常问题接踵而来 。传统运维模式下 ,程序多套运维系统上的人医各项指标无法关联分析,运维人员需要根据经验逐一排查异常,应用分析定位问题效率低,程序维护成本高 。人医APM(Application Performance Management)应用性能管理,应用是程序监控并管理应用性能和故障的云服务,为服务端应用和服务提供代码级的人医实时性能和业务监控 ,源码下载快速定位故障和瓶颈,应用保障系统和业务稳定性,程序为用户体验保驾护航。人医
现在的微服务架构中 ,一次请求往往涉及到多个模块、多个中间件、多台机器的相互协助才能完成 ,而这些请求中既有串行又有并行 ,怎么才能确定这个请求背后调用了哪些应用、模块、节点以及调用的先后顺序呢 ?还有出现性能问题该如何定位?你是否也会有这样的疑惑?其实APM可以满足以上的源码库所有需求 。
APM是应用性能监测软件 ,拥有强大的分析工具 ,通过拓扑图、调用链、事务分析可视化地展现应用状态、调用过程、用户的各种操作,快速定位问题 。国内外的APM有很多,比如Zipkin、CAT、高防服务器PinPoint等等。今天主要给大家分享这款由国内开源爱好者吴晟开源并提交到Apache孵化的产品——SkyWalking。
Part 01 概念与架构SkyWalking从服务和云原生基础设施收集、分析、聚合并将其可视化 ,提供简便的方式来观测分布式系统 ,甚至可以横跨多个云平台。它是一种现代APM,可以说专门为云原生、基于容器的分布式系统设计。

它的整体架构可以分为四部分: 探针 、模板下载OAP平台、存储实现和UI模块(如上图) 。
探针 :收集遥测数据,包括链路追踪和性能指标 ,将数据格式化为SkyWalking适用的格式。
OAP:Observability Analysis Platform是一个高度组件化的轻量级分析程序,支持数据聚合、数据分析以及驱动数据流从探针到用户界面的流程。同时支持分析包括SkyWalking原生追踪和性能指标以及第三方来源。
存储 :通过开放的插件化接口存放SkyWalking数据,支持ElasticSearch,H2或MySQL集群 。云计算
UI:一个基于接口高度定制化的Web系统 ,提供关于总览、追踪和告警相关的观测图,包括拓扑图 、依赖图、热点图等。
Part 02 基本原理与优势简单来说SkyWalking通过探针收集并且发送数据到链路数据归集器,再经过OAP的分析将结果写入持久化存储中 ,最终展示到Web可视化平台 。
❖ 那为什么要选择SkyWalking ?
自然是因为它的诸多优势 。它为服务提供自动打点的建站模板代理, 如Java, C# , Node.js , Go , PHP以及Nginx LUA;而且它采用了插件化+javaagent的形式来实现span(一次调用过程)数据的自动采集,这样可以做到对代码的无侵入性,而插件化意味着可插拔,扩展性就比较好;它为服务(service),服务实例(service instance) ,以及端点(endpoint) 提供可观测能力 ,用户可以看到服务和端点之间的拓扑结构、每个服务/服务实例/端点的性能指标 ,还可以设置告警规则。
Part 03 SkyWalking的六大特性SkyWalking的六大特性,也是该项目的核心设计目标。
- 可观测性
SkyWalking提供了数种运行的形式和探针,无论目标系统是如何部署的,它都能提供一种集成解决方案来保持对目标系统的观测 。
- 拓扑结构、性能指标和追踪一体化
拓扑图是理解分布式系统的第一步,它用可阅读性较高的布局将整个系统展现出来,这样运维人员对服务、实例、端点、调用等度量指标就有了更高的需求,而追踪需要用详细的日志来让用户更好地理解这些指标 ,例如当端点的延迟变长时,我们希望查看最慢的追踪来找到原因 。因此从大局到细节 ,这些都是需要的。SkyWalking就集成了大量的特性来满足上述这些需求。
- 轻量级
在两个方面需要做到轻量级。首先是探针,我们通常依赖网络传输框架 ,所以探针要尽可能小, 防止依赖库冲突以及虚拟机的负载压力;其次是性能,监控平台在整个项目环境中只是次要的系统 ,SkyWalking使用轻量级框架来构建后端核心服务 ,不需要部署并维护大数据相关的平台 。我们可以看下测评数据 :

可以看出,不论是CPU ,内存,还是响应时间,使用SkyWalking带来的性能损耗几乎可以忽略不计。
- 可插拔性
SkyWalking提供了许多默认实现 ,但这显然是不够的,也不可能适用于所有场景 ,因此它提供了大量的特性来支持可插拔功能。
- 可移植性
SkyWalking可以在多种环境下运行,包括 :
使用传统的注册中心,如eureka 。使用包括服务发现的RPC(Remote Procedure Call)框架,如Spring Cloud。在现代基础设施中使用Service Mesh。使用云服务。跨云部署。- 可互操作性
虽然SkyWalking拥有很强大的社区 ,但也不可能支持所有的系统。不过它支持与其他运维支撑系统进行互操作(主要是探针方面),SkyWalking可以接收并理解Zipkin,Jaeger ,OpenTracing和OpenCensus的数据格式。这对于终端用户来说是非常有用的,这样他们就不需要切换已有的函数库了 。
Part 04 各大APM的“巅峰对决”
总的来说,CAT作为综合性的平台,提供的监控功能较为全面;Zipkin是由Twitter开源的调用链分析工具,非常轻量,使用部署简单;Pinpoint和SkyWalking都专注于链路和性能监控,追踪数据粒度较细 、用户界面功能强大 。
Part 05 总结随着分布式系统和微服务架构的应用和发展,应用性能管理成为系统运维管理和网络管理的一个重要方向,它能轻松地找到应用系统中的故障点 ,并提供有相关解决建议或方法 ,从而提高系统的整体性能。目前SkyWalking增长势头强劲,社区活跃 ,文档较为齐全 ,没有语言障碍 ,支持多语言探针,支持很多框架,也有很多开发者不断地向社区提供更多插件以支持更多组件无缝接入SkyWalking 。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/news/78f299919.html
相关文章
JAVA URLDNS链分析利用
系统运维JAVA URLDNS链分析利用认识Java反序列化知识复制Java原生链序列化:利用Java.io.ObjectInputStream对象输出流的writerObject方法实现Serializab ...
【系统运维】
阅读更多英特尔想用“玻璃基板”提升芯片效率赶超台积电,可行吗?
系统运维如何让笔记本、AI芯片更有效率?英特尔给出了自己答案:玻璃基板。按照英特尔的说法,如果用玻璃基板封装芯片,效率更高,英特尔准备在本个十年后期引入该技术。基板有两个主要作用,一是保护芯片,二是将上层芯片 ...
【系统运维】
阅读更多乐视手机有几种颜色?黑色乐视超级手机曝光
系统运维乐视手机发布吸引了众多机友的关注,你以为乐视手机只有白色?乐视手机有几种颜色?据说还有黑色版哦,近日黑色乐视超级手机曝光,一起来看看。 乐视手机有几种颜色?黑色乐视超级手机曝光无论是官方 ...
【系统运维】
阅读更多
热门文章
最新文章
友情链接
- SKG抽油烟机质量评测(全面分析SKG抽油烟机的性能与可靠性)
- 迈凯亚耳机的音质表现如何?(探索迈凯亚耳机音质的细节与特点)
- 探讨1200兆路由器的性能和功能(高速、稳定、全面覆盖的无线网络体验)
- 使用Mac分区U盘安装Win10系统教程(详解Mac电脑如何分区U盘并安装Windows10系统)
- 红米37.6.8(超长待机、高性能、优质拍照,红米37.6.8完美融合)
- 京品电源(京品电源的)
- 高铁餐服(高铁餐服的创新与发展)
- 紫光云柳义利:通过可复制的行业云服务模式,助力数字化转型迈入新阶段
- 昊诚电池(以昊诚电池怎么样为主题的研究及评价分析)
- 所问数据的质量如何?(以数据质量指标为评估标准进行分析) 香港物理机源码库亿华云企业服务器云服务器网站建设b2b信息平台