Skywalking 的使用

本文为博主原创,未经允许不得转载:

官网:http://skywalking.apache.org/
下载:http://skywalking.apache.org/downloads/
Github:https://github.com/apache/skywalking
文档: https://skywalking.apache.org/docs/main/v8.4.0/readme/
中文文档: https://skyapm.github.io/document-cn-translation-of-skywalking/

 

1.skywalking 简介

  skywalking是国产开源框架,是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。SkyWalking 是观察性分析平台和应用性能管理系统,提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

2.Skywalking 与 Zipkin 比较

  Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。其通过拦截请求,发送数据至zipkin 服务,发送(http)数据到zipkin服务。缺点在于不支持告警,不支持JVM监控,通信方式使用Http请求向Zipkin上报信息,比较耗性能。

  SkyWalking是本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。其通过探针,字节码增强实现。通信方式采用GRPC,性能较好,实现方式是java探针,支持告警,支持JVM监控,支持全局调用统计等等,功能较完善。缺点是依赖较多,需要ElasticSearch,JDK环境,Nacos注册中心等。

  且skywalking 的探针对吞吐量的影响最小,zipkin 的吞吐量居中。

 3. 下载及文件目录说明

  下载 Skywalking :http://skywalking.apache.org/downloads/

  

   linux 下载及解压

-- 下载 skywalking 的安装包
wget https://archive.apache.org/dist/skywalking/8.6.0/apache-skywalking-apm-8.6.0.tar.gz

-- 解压安装包
tar -zxvf apache-skywalking-apm-8.6.0.tar.gz

  解压之后的目录说明:

  

   webapp:UI 前端及web 监控页面的 jar 包和配置文件

  oap-libs : 后台应用的jar 包,以及它的依赖jar 包,里面有一个 server-starter-8.6.0.jar 就是启动程序

  bin : 各种启动脚本,一般使用 startup.sh 来启动web 页面和对应的后台应用

  agent : skywalking-agent 需要依赖的jar 包,配置以及插件等

4. 搭建Skywalking OAP 服务

  先使用默认的H2数据库存储,不用修改配置:config/application.yml

  

   启动脚本bin/startup.sh

  

   启动成功后会启动两个服务,一个是skywalking-oap-server,一个是skywalking-web-ui

  skywalking-oap-server服务启动后会暴露11800 和 12800 两个端口,分别为收集监控数据的端口11800和接受前端请求的端口12800,修改端口可以修改config/applicaiton.yml

  skywalking-web-ui服务会占用 8080 端口, 修改端口可以修改webapp/webapp.yml

  

   访问skywalking UI  

                     

   SkyWalking中三个概念

    服务(Service) :表示对请求提供相同行为的一系列或一组工作负载,在使用Agent时,可以定义服务的名字;

    服务实例(Service Instance) :上述的一组工作负载中的每一个工作负载称为一个实例, 一个服务实例实际就是操作系统上的一个真实进程;

    端点(Endpoint) :对于特定服务所接收的请求路径, 如HTTP的URI路径和gRPC服务的类名 + 方法签名;

6. Skywalking Agent 跟踪微服务

  在使用java -jar 启动微服务时,指定启动参数的属性:

java -javaagent:/opt/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar -jar springboot-skywalking-demo-0.0.1-SNAPSHOT.jar

   Skywalking跨多个微服务跟踪,只需要每个微服务启动时添加javaagent参数即可。

  此时打开 Skywalking 的监控页面,可以看到调用的数据显示:

 

 

  

 

posted @ 2021-10-30 13:35  香吧香  阅读(1412)  评论(0编辑  收藏  举报