首页 - 关于研博 - 技术笔记 - skywalking快速入门
skywalking快速入门
2024.10.22

      1、概述

      skywalking是一款分布式系统的应用程序性能监视工具,提供微服务的分布式追踪,服务网格遥测分析,度量聚合等功能。

 

   2、整体架构

整个架构分为上、下、左、右四个部分:

  上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。

  下部分 SkyWalking OAP :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。

  右部分 Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。

  左部分 SkyWalking UI :负责提供控台,查看链路等等。

  2.1环境搭建

  本文为方便演示采用docker容器方式部署,数据存储采用es(同为docker容器部署).

  2.1.1安装Skywalking OAP

  在安装时需要注意版本选择,注意oap的版本需要和我们的es版本一致.此次安装选择es7版本对应OAP版本选择skywalking-oap-server:8.6.0-es7.

  docker pull apache/skywalking-oap-server:8.6.0-es7

  2.1.2启动Skywalking OAP容器

  docker run \

  --name skywalking-oap \

  --restart always \

  -p 11800:11800 \

  -p 12800:12800 -d \

  --privileged=true \

  -e TZ=Asia/Shanghai \

  -e SW_STORAGE=elasticsearch7 \

  -e SW_STORAGE_ES_CLUSTER_NODES=192.168.2.201:9200 \

  -v /etc/localtime:/etc/localtime:ro \

  apache/skywalking-oap-server:8.6.0-es7

  2.1.3说明

  -e SW_STORAGE=elasticsearch7:存储服务采用ElasticSearch7

  -e SW_STORAGE_ES_CLUSTER_NODES=172.17.0.0.1:9200:存储服务路径(IP+Port)

  2.2安装Skywalking UI

  Skywalking UI是对Skywalking收集到的数据进行分析展示的控制台服务,所以需要指定Skywalking OAP服务地址

  docker pull apache/skywalking-ui:8.6.0

  2.2.1启动Skywalking UI容器

  docker run \

  --name skywalking-ui \

  --restart always \

  -p 8091:8080 -d \

  --privileged=true \

  --link skywalking-oap:skywalking-oap \

  -e TZ=Asia/Shanghai \

  -e SW_OAP_ADDRESS=192.168.2.201:12800 \

  -v /etc/localtime:/etc/localtime:ro \

  apache/skywalking-ui:8.6.0

  2.2.2说明

  -p 8091:8080:Skywalking UI映射端口为8091

  -e SW_OAP_ADDRESS=192.168.1.2:12800:指定Skywalking OAP服务地址

  当两个容器都启动完毕之后,访问服务器地址加端口即可进入到skywalking控制台.

       要实现对服务的监控需要在skywalking官网下载agent探针并且在服务中进行配置.

 

  3、agent探针下载

 

  在探针下载完成之后,需要在服务的主pom文件中进行配置依赖整合logback

  <!-- skywalking 整合 logback -->
      <dependency>
      <groupId>org.apache.skywalking</groupId>
      <artifactId>apm-toolkit-logback-1.x</artifactId>
      <version>9.0.0</version>
      </dependency>
     <dependency>
     <groupId>org.apache.skywalking</groupId>
     <artifactId>apm-toolkit-trace</artifactId>
     <version>9.0.0</version>
     </dependency>

  增加logback.xml配置

  <!-- skywalking 采集日志 -->
    <appender name="sky_log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
    <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
    <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
    <pattern>[%tid] ${console.log.pattern}</pattern>
    </layout>
    <charset>utf-8</charset>
    </encoder>
    </appender>

    <root level="info">
    <appender-ref ref="sky_log"/>
    </root> 

  3.1探针下载完毕之后,在使用idea启动服务时须在对应springboot服务配置jvm参数

       -javaagent:D:\sky\skywalking-agent.jar // agent包绝对路径

  -Dskywalking.agent.service_name=study_logback // 所监控的服务名

  -Dskywalking.collector.backend_service=127.0.0.1:11800 // OAP服务的地址

  3.1.1说明

  javaagent:D:\sky\skywalking-agent.jar:指定Skywalking代理(Java探针)的路径,它负责收集应用程序的性能指标和调用链路数据。

  Dskywalking.agent.service_name=study_logback:设置当前Java应用在Skywalking中的服务名称为“study_logback”,便于在监控界面中识别和区分不同服务。

  Dskywalking.collector.backend_service=127.0.0.1:11800:配置Skywalking后端Collector服务地址和端口,该Java应用通过此地址将收集到的数据上报至Skywalking OAP Server进行分析和存储。这里设置的是本地回环地址(localhost),端口号为11800。

 

  4、启动测试

       在启动之后可以看到加载了探针插件.

 

  4.1然后只需要调用接口,在返回sktwalking控制台查看

  可以看到接口的调用时间,是否成功

      以及各个服务之间的调用关系

     至此skywalking的快速入门便结束了,浅显理解欢迎各路大牛进行指正,可以在评论区进行留言,若有疑问也可以联系我们进行咨询。

获取相关资料
下载地址将会发送至您填写的邮箱
相关新闻
MQTT协议及5.0版本特性
2024-10-22
MQTT协议介绍及Java教程
2024-10-22
SpringRetry 一种优雅的重试方式
2024-10-22
  • 在线客服
  • 电话咨询
  • 微信
  • 短视频