对Skywalking的初步认识

158 阅读2分钟

一 、背景

作者吴晟 ,Tetrate 创始工程师,Apache 软件基金会首位华人董事,开源 APM 项目 Apache SkyWalking 创始人,分布式追踪与诊断技术专家,骨灰级开源社区爱好者

二、介绍

什么是skywalking,是一款由java语言开发的开源的分布式跟踪系统,它可以跟踪分布式系统中各个节点之间的调用链路,提供全链路性能监控和故障排查能力。SkyWalking支持多种语言和各种云原生场景,能够帮助开发者更好地了解分布式系统的运行情况,识别问题并进行优化和调整。

为什么用skywalking,它的出现主要是为了解决我们在错综复杂的调用链中迅速找到错误点,避免浪费不必要的时间,而且监控信息很全面,利于我们去做相应的优化,比如哪个接口请求时间长了,有没有需要优化的点。

三、APM系统

想要了解skywalking首先我们应该了解一下什么是APM系统,APM系统是Application Performance Management系统,中文全称为应用程序性能管理系统。它是一种能够监控、分析和优化应用程序性能的工具,可以监视应用程序的各种指标,帮助开发人员和运维人员及时发现和解决应用程序性能问题。

APM系统主要包含三部分,日志(logs),指标(metrics),链路追踪(traces),主流的APM系统就是ELK(java),Prometheus(golang),Skywalking(java)。

像日志,指标,其实skywalking也能做,但它更专注于链路追踪这部分,像我们前端的vue,angular,react都可以被监控。

ec169cadb184d2296107b03687241ad.jpg

四、关键概念(服务,服务实例,端点)

服务:就是类似于订单服务,商品服务,下单服务等等。 服务实例:服务实例是指运行在某个主机或容器中的一个具体的服务实体(这么理解可能比较抽象)。 端点:端点是指应用程序中暴露出的HTTP/HTTPS API接口。比如/user/id,一个个点串起来就形成链路了。