链路追踪skywalking

skywalking

  • APM(应用性能管理)工具
  • 链路追踪 https://www.sohu.com/a/319806744_100123073
  • 性能监控

SkyWalking是一个开源的观测平台,用于从服务和云原生等基础设施中收集、分析、聚合以及可视化数据。SkyWalking 提供了一种简便的方式来清晰地观测分布式系统,甚至可以观测横跨不同云的系统。SkyWalking 更像是一种现代的应用程序性能监控(Application Performance Monitoring,即APM)工具,专为云原生,基于容器以及分布式系统而设计

SkyWalking组成

探针

基于不同的来源探针可能是不一样的,但作用都是收集数据,将数据格式化为 SkyWalking 适用的格式。例如在Java中则是做字节码植入,无侵入式的收集,并通过 HTTP 或者 gRPC 方式发送数据到平台后端

平台后端

是一个支持集群模式运行的后台,用于数据聚合、数据分析以及驱动数据流从探针到用户界面的流程。平台后端还提供了各种可插拔的能力,如不同来源数据(如来自 Zipkin)格式化,不同存储系统以及集群管理。你甚至还可以使用观测分析语言来进行自定义聚合分析。

存储

是开放式的,可以选择一个既有的存储系统,如 ElasticSearch、H2 或 MySQL 集群(Sharding-Sphere 管理),也可以选择自己实现一个存储系统

用户界面

也就是SkyWalking的可视化界面,UI非常炫酷且强大,同样它也是可定制以匹配你已存在的后端的

下载地址

http://skywalking.apache.org/downloads/

windows 下环境搭建

  • 下载压缩包 apache-skywalking-apm-6.6.0.zip

  • 解压,进入\apache-skywalking-apm-6.6.0\apache-skywalking-apm-bin\bin\目录

    运行 start.bat,此时分别启动了两个服务

    • oapService
    • webappService
  • 进入\apache-skywalking-apm-6.6.0\apache-skywalking-apm-bin\agent\目录,找到文件skywalking-agent.jar

  • 登陆控制台 localhost:8080

java 项目集成

  • 服务启动时增加启动参数

    -javaagent:E:\skywalking\apache-skywalking-apm-bin\agent\skywalking-agent.jar(jar目录)
    -Dskywalking.agent.service_name=服务名称
    -Dskywalking.collector.backend_service=192.168.0.71:11800(skywalking oapService 服务地址,默认127.0.0.1:11800)
    
  • 启动服务即可

  • 仪表盘

链路追踪skywalking_第1张图片

  • 拓扑图

链路追踪skywalking_第2张图片

  • 请求追踪

链路追踪skywalking_第3张图片

整合log4j 打印日志traceId

  • 添加依赖

    <dependency>
    			<groupId>org.apache.skywalkinggroupId>
    			<artifactId>apm-toolkit-log4j-2.xartifactId>
    			<version>6.0.0-GAversion>
    		dependency>
    
  • log4j配置增加 [%traceId]

    <Property name="pattern">%d--[%traceId]-- [%thread] %-5level %logger{36} %line - %msg%n%exProperty>
    

    效果

    2020-07-07 17:43:24,449 --[TID: 16.174.15941149994700001]-- [http-nio-1112-exec-1] INFO  com.netflix.util.concurrent.ShutdownEnabledTimer 58 - Shutdown hook installed for: NFLoadBalancer-PingTimer-queenOA-jpa
    2020-07-07 17:43:24,466 --[TID: 16.174.15941149994700001]-- [http-nio-1112-exec-1] INFO  com.netflix.loadbalancer.BaseLoadBalancer 192 - Client: queenOA-jpa instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=queenOA-jpa,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:null
    2020-07-07 17:43:24,487 --[TID: 16.174.15941149994700001]-- [http-nio-1112-exec-1] INFO  com.netflix.loadbalancer.DynamicServerListLoadBalancer 214 - Using serverListUpdater PollingServerListUpdater
    2020-07-07 17:43:24,496 --[TID: 16.174.15941149994700001]-- [http-nio-1112-exec-1] INFO  com.netflix.loadbalancer.DynamicServerListLoadBalancer 150 - DynamicServerListLoadBalancer for client queenOA-jpa initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=queenOA-jpa,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:org.springframework.cloud.netflix.ribbon.eureka.DomainExtractingServerList@6be31718
    2020-07-07 17:43:24,930 --[TID: 16.174.15941149994700001]-- [http-nio-1112-exec-1] ERROR com.queen.oa.api.web.PublicController 2154 - goto /public/findMemberListByNameNew:
    
    

    链路追踪skywalking_第4张图片

你可能感兴趣的:(spring)