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
查看接入效果
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
网友评论