最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot項(xiàng)目集成SkyWalking鏈路追蹤系統(tǒng)實(shí)戰(zhàn)指南

 更新時(shí)間:2025年08月15日 10:43:13   作者:guyougao  
本文詳解SpringBoot集成SkyWalking鏈路追蹤的步驟,涵蓋Agent部署、配置參數(shù)設(shè)置(含服務(wù)名、后端地址、認(rèn)證token)、多啟動(dòng)方式及日志對(duì)接方法,但未充分說明環(huán)境變量配置細(xì)節(jié)和gRPC認(rèn)證參數(shù)的使用場(chǎng)景,需要的朋友跟隨小編一起看看吧

Springboot項(xiàng)目集成SkyWalking鏈路追蹤系統(tǒng)

將 SkyWalking 鏈路追蹤系統(tǒng)集成到 Spring Boot 項(xiàng)目中,可以幫助你監(jiān)控和跟蹤微服務(wù)架構(gòu)中的請(qǐng)求流,獲取詳細(xì)的性能數(shù)據(jù)、調(diào)用鏈信息等。下面是如何在 Spring Boot 項(xiàng)目中集成 SkyWalking 鏈路追蹤的基本步驟。

1. 準(zhǔn)備工作

1.1 部署SkyWalking

使用的版本:9.2.0

參考文檔:使用docker部署spring boot并接入skywalking的方法

網(wǎng)址地址:http://m.fzitv.net/article/210119.htm

1.2 下載 SkyWalking Agent

同樣在Skywalking的官網(wǎng)中下載Java Agent:https://skywalking.apache.org/downloads/

下載后解壓,獲取目錄skywalking-agent,放在合適的路徑上。

2. 配置Java Agent需要的主要參數(shù)

在啟動(dòng) Spring Boot 應(yīng)用時(shí),添加 SkyWalking agent 配置。用于重寫 agent/config/agent.config 配置文件中的配置參數(shù)值。主要配置參數(shù)如下:

  1. 解壓后的 SkyWalking agent 文件路徑
-javaagent:/path/to/skywalking-agent/skywalking-agent.jar
  1. 指定你的服務(wù)名稱,SkyWalking 會(huì)以這個(gè)名稱顯示在監(jiān)控面板中。SW_AGENT_NAME的命名規(guī)則,采用雙冒號(hào) (如CTOS::CONTAINER_SIT),冒號(hào)前的文本字符串將作為組名。
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName} 
  1. 指定 SkyWalking 后端服務(wù)的 IP 和端口(默認(rèn)是 11800,若你使用其他端口,請(qǐng)?zhí)鎿Q)。
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}
  1. 考慮到安全因素,部署的skywalking增加了gRPC(11880端口)連接是需要token認(rèn)證。需要看部署時(shí)候是否配置SW_AUTHENTICATION。
agent.authentication=${SW_AGENT_AUTHENTICATION:}

2.1 使用jar命令啟動(dòng)

在啟動(dòng) Spring Boot 應(yīng)用時(shí),添加 SkyWalking agent 配置。

把skywalking-agent.jar地址、your-service-name、your-collector-ip:port、your-authentication-token、your-spring-boot-app替換為實(shí)際值。

2.1.1 方式一

java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar \
-Dskywalking.agent.service_name=your-service-name \
-Dskywalking.collector.backend_service=your-collector-ip:port \
-Dskywalking.agent.authentication=your-authentication-token \
-jar your-spring-boot-app.jar

2.1.2 方式二

java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar=agent.service_name=your-service-name,collector.backend_service=your-collector-ip:port,agent.authentication=your-authentication-token -jar your-spring-boot-app.jar

2.1.3 參數(shù)區(qū)別

通過方式一和方式二,可以看到使用方式一中-D設(shè)置參數(shù)多了skywalking前綴

2.2 利用idea啟動(dòng)

2.2.1 打開idea開發(fā)工具Run-》Edit Configurations

2.2.2 配置啟動(dòng)參數(shù)

方式一

點(diǎn)擊Modify options -》Add VM option

方式二

VM option中配置

-javaagent:/path/to/skywalking-agent/skywalking-agent.jar=agent.service_name=your-service-name,collector.backend_service=your-collector-ip:port,agent.authentication=your-authentication-token

方式三

個(gè)人比較喜歡采用環(huán)境變量的方法接入,方式如下

VM option中配置

-javaagent:/path/to/skywalking-agent/skywalking-agent.jar

點(diǎn)擊Modify options -》Environment variables,新增環(huán)境變量

環(huán)境變量描述
SW_AGENT_NAME服務(wù)名
SW_AGENT_COLLECTOR_BACKEND_SERVICES注冊(cè)地址
SSW_AGENT_AUTHENTICATIONgRPC認(rèn)證的token

2.3 容器化服務(wù)部署(Kubernetes、Docker)

2.3.1 拷貝文件

使用容器化部署,需要把skywalking-agent目錄拷貝在鏡像里面中,利用dockerfile

# 替換image為自己使用的鏡像
FROM image
COPY ./skywalking-agent /usr/local/skywalking-agent

使用build命令生成新的基礎(chǔ)鏡像

docker build -t new_image .

2.3.2 環(huán)境變量(ENV)配置

環(huán)境變量描述
JAVA_TOOL_OPTIONS額外的 JVM
SW_AGENT_NAME服務(wù)名
SW_AGENT_COLLECTOR_BACKEND_SERVICES注冊(cè)地址
SSW_AGENT_AUTHENTICATIONgRPC認(rèn)證的token

JAVA_TOOL_OPTIONS的value配置為

# 替換為skywalking-agent.jar在容器中的實(shí)際地址
-javaagent:/path/to/skywalking-agent/skywalking-agent.jar

3. 驗(yàn)證是否連接成功

啟動(dòng)應(yīng)用后,訪問 SkyWalking 后端(通常是 http://127.0.0.1:8080,取決于你的 SkyWalking 后端配置)查看你的應(yīng)用是否已經(jīng)在 SkyWalking 控制臺(tái)上顯示。

但是這時(shí)候我們發(fā)現(xiàn),打開Log,發(fā)現(xiàn)并沒有日志。如果如果有日志需求,我們可以根據(jù)下一步操作接入服務(wù)日志。

4. 日志對(duì)接

在skywalking的UI端有一個(gè)日志的模塊,用于收集客戶端的日志,默認(rèn)是沒有數(shù)據(jù)的,那么需要如何將項(xiàng)目中產(chǎn)生日志數(shù)據(jù)傳輸?shù)絪kywalking中

4.1 在springboot項(xiàng)目中導(dǎo)入相關(guān)依賴

        <!--打印skywalking的TraceId到日志-->
        <dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-trace</artifactId>
            <version>9.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-logback-1.x</artifactId>
            <version>9.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-opentracing</artifactId>
            <version>9.2.0</version>
        </dependency>

部署的時(shí)候可以替換自己使用的實(shí)際版本。

4.2 logback.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <springProperty scope="context" name="applicationName" source="spring.application.name"/>
    <!-- 日志存放路徑 -->
    <property name="log.path" value="logs/app" />
    <!-- 日志輸出格式 -->
    <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} ,[%X{tid}]  [%thread] %-5level %logger{50} - [%method:%line] %msg%n" />
    <!-- 控制臺(tái)輸出 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
                <Pattern>${log.pattern}</Pattern>
            </layout>
        </encoder>
    </appender>
    <!-- 設(shè)置異步方式上報(bào) -->
    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <discardingThreshold>0</discardingThreshold>
        <queueSize>1024</queueSize>
        <neverBlock>true</neverBlock>
        <appender-ref ref="console"/>
    </appender>
    <!--skywalking日志上報(bào)-->
    <appender name="grpc-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
                <Pattern>${log.pattern}</Pattern>
            </layout>
        </encoder>
    </appender>
    <!--日志文件-->
    <appender name="file_info" class="ch.qos.logback.core.FileAppender">
        <file>${log.path}/info.log</file>
        <!-- 循環(huán)政策:基于時(shí)間創(chuàng)建日志文件 -->
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                <Pattern>${log.pattern}</Pattern>
            </layout>
        </encoder>
        <!-- 輸出INFO級(jí)別以上的日志 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
    </appender>
    <appender name="file_error" class="ch.qos.logback.core.FileAppender">
        <file>${log.path}/error.log</file>
        <!-- 循環(huán)政策:基于時(shí)間創(chuàng)建日志文件 -->
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                <Pattern>${log.pattern}</Pattern>
            </layout>
        </encoder>
        <!-- 輸出ERROR級(jí)別日志 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>
    <root level="trace">
        <appender-ref ref="grpc-log" />
        <appender-ref ref="ASYNC"/>
    </root>
</configuration>

4.3 驗(yàn)證日志是否接入成功

本篇主要以實(shí)戰(zhàn)為主,文檔中存在不足之處請(qǐng)指出,謝謝!

到此這篇關(guān)于Springboot項(xiàng)目集成SkyWalking鏈路追蹤系統(tǒng)實(shí)戰(zhàn)指南的文章就介紹到這了,更多相關(guān)Springboot SkyWalking鏈路追蹤內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Spring Cloud中Hystrix的請(qǐng)求合并

    詳解Spring Cloud中Hystrix的請(qǐng)求合并

    這篇文章主要介紹了詳解Spring Cloud中Hystrix的請(qǐng)求合并,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Mybatis-plus如何查詢返回對(duì)象內(nèi)有List<String>屬性

    Mybatis-plus如何查詢返回對(duì)象內(nèi)有List<String>屬性

    在使用Mybatis-Plus進(jìn)行開發(fā)時(shí),我們經(jīng)常會(huì)遇到需要處理一對(duì)多關(guān)系映射的情況,例如,查詢用戶數(shù)據(jù)時(shí),可能需要同時(shí)獲取該用戶管理的所有小區(qū)名稱列表,這要求我們?cè)诜祷氐膶?shí)體類中包含一個(gè)List<String>屬性,用于存放小區(qū)名稱,實(shí)現(xiàn)這一功能
    2024-10-10
  • Spring Boot實(shí)現(xiàn)郵件發(fā)送必會(huì)的5種姿勢(shì)

    Spring Boot實(shí)現(xiàn)郵件發(fā)送必會(huì)的5種姿勢(shì)

    這篇文章主要給大家介紹了關(guān)于Spring Boot實(shí)現(xiàn)郵件發(fā)送必會(huì)的5種姿勢(shì),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • java獲取反射機(jī)制的3種方法總結(jié)

    java獲取反射機(jī)制的3種方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于java獲取反射機(jī)制的3種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • IDEA Debug模式下改變各類型變量值的方法

    IDEA Debug模式下改變各類型變量值的方法

    這篇文章主要介紹了IDEA Debug模式下改變各類型變量值的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • 解析Arthas協(xié)助排查線上skywalking不可用問題

    解析Arthas協(xié)助排查線上skywalking不可用問題

    這篇文章主要為大家介紹了解析Arthas協(xié)助排查線上skywalking不可用的問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-02-02
  • Spring中使用atomikos+druid實(shí)現(xiàn)經(jīng)典分布式事務(wù)的方法

    Spring中使用atomikos+druid實(shí)現(xiàn)經(jīng)典分布式事務(wù)的方法

    這篇文章主要介紹了Spring中使用atomikos+druid實(shí)現(xiàn)經(jīng)典分布式事務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-06
  • Java獲取當(dāng)前時(shí)間戳案例詳解

    Java獲取當(dāng)前時(shí)間戳案例詳解

    這篇文章主要介紹了Java獲取當(dāng)前時(shí)間戳案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java制作復(fù)制文件工具代碼分享

    java制作復(fù)制文件工具代碼分享

    如果目標(biāo)位置沒有同名文件,則直接拷貝過去;如果目標(biāo)位置已有同名文件,則比對(duì)文件的最后修改日期,來進(jìn)行覆蓋或者忽略。程序會(huì)在可以在復(fù)制過程中自動(dòng)創(chuàng)建目錄,并生成log文件,創(chuàng)建了哪些目錄、文件,覆蓋了哪些文件、跳過了哪些文件,文件的時(shí)間、位置等信息都一目了然
    2014-01-01
  • Java中spring boot validation自定義注解使用方式

    Java中spring boot validation自定義注解使用方式

    這篇文章主要介紹了Java中spring boot validation自定義注解使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評(píng)論

香港| 洪泽县| 盐池县| 宜川县| 奉节县| 兴化市| 青神县| 景德镇市| 登封市| 中西区| 淅川县| 宁强县| 西丰县| 林甸县| 舟山市| 正阳县| 徐闻县| 屏山县| 清镇市| 临夏县| 呼伦贝尔市| 常州市| 如皋市| 宽城| 盘山县| 农安县| 怀柔区| 武威市| 本溪| 巍山| 甘孜| 新营市| 彰化市| 株洲县| 平定县| 甘孜| 遂宁市| 台州市| 盐池县| 威海市| 昌都县|