skywalking

发布时间 2023-11-27 22:07:33作者: fzy_uni

what: Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的产品,它同时吸收了Zipkin /Pinpoint /CAT 的设计思路。特点是:支持多种插件,UI功能较强,支持非侵入式埋点

    数据存储支持:Elasticsearch、MySQL、H2、TiDB。默认是H2,而且是存到内存。实际我们一般将其存到ES

    4大APM:SkyWalking  Pinpoint  Zipkin  CAT

 

 

how:    win版 linux版   安装包

    java Agent 包 解压到 skywalking根目录下

     由于是skywalking是无侵入式的  ,所以要在项目启动式加上参数 

      # skywalking-agent.jar 的路径位置

      -javaagent:d:\xxx\skywalking-agent.jar
      # 在Skywalking中显示的服务名称
      -DSW_AGENT_NAME=xxx-skywalking-service
      # Skywalking的collector服务的IP及端口
      -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=localhost:11800   ####可指定远程服务

    接入gateway的服务

      默认Skywalking中是不支持Gateway的,我们需要显示的添加对应的gateway插件支持,从我们下载的agent包中的 optional-plugins中把gateway的jar拷贝的对应的plugins中

    所有服务在启动时设置对应的参数  

    

    Skywalking持久化

      修改下配置,把原来默认的H2修改为MySQL

      然后还需要把MySQL的驱动包拷贝到对应的目录中

    自定义SkyWalking链路

      添加依赖

        

<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>XXX</version>
</dependency>

 

    在业务方法上添加@Trace注解

@Trace
    @Tags({
            @Tag(key = "getCatelog2JSON",value = "returnedObj"),
            @Tag(key = "param",value = "arg[0]")
    })

  key:方法名        value = returnedObj:是指定返回值        arg[0]:参数

 

    

    集成日志框架

      默认实现的日志框架是logback