skywalking搭建

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/

代碼中獲取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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章