zl程序教程

您现在的位置是:首页 >  其他

当前栏目

skywalking搭建

2023-03-15 23:26:21 时间

skywalking是分布式微服务请求链路跟踪的框架,可以实现无侵入的链路跟踪、统计、拓扑架构绘制等,本文介绍如何快速搭建

下载&安装

https://skywalking.apache.org/downloads/

可以选择下载: https://archive.apache.org/dist/skywalking/8.7.0/apache-skywalking-apm-8.7.0.tar.gz

Spring Boot接入

对代码没有任何侵入,连jar包都不需要引入,只需要修改启动命令就可以了

-javaagent:apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar -Dskywalking.agent.service_name=tenmao-mybatis -Dskywalking.collector.backend_service=localhost:8080

查看接入效果

http://localhost:8080/

image.png

代码中获取traceId

  • 添加依赖
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>8.7.0</version>
    <scope>provided</scope>
</dependency>
  • 获取traceId
String traceId = TraceContext.traceId();

日志中输出traceId

  • 添加依赖
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-logback-1.x</artifactId>
    <version>8.7.0</version>
</dependency>
  • 日志配置 encoder使用ch.qos.logback.core.encoder.LayoutWrappingEncoder layout使用
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoder 不能使用默认的PatternLayoutEncoder -->
    <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
         <!-- 使用skywalking的TraceIdPatternLogbackLayout-->
        <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
            <pattern>${commonPattern}</pattern>
        </layout>
        <charset>UTF-8</charset>
    </encoder>
</appender>

常见错误

  • First received frame was not SETTINGS. Hex dump for first 5 bytes: 485454502f
    • 端口不匹配,可以尝试使用默认端口11800