Spring boot 集成 Skywalking 配置 || Skywalking 打不开【已解决】

一、Skywalking官网

Apache SkyWalking

1.下载Skywalking APM (如果下载最新的,双击打开闪退,选老点的版本)

2. 下载 Skywalking Agents

如果下载太慢,建议复制下载链接,然后用下载器下载,比如某雷。

3.下载完成后,去apm bin 目录里双击打开startup.b

4.如果闪退,去下载低点的版本

5.访问 http://localhost:8080

6.如果localhost8080 拒绝访问,需要去改端口。

打开apm-bin 里的webapp 修改port

7.将optional-plugins目录中最新的apm-spring-cloud-gateway*放入agent - plugins目录中

8.改完之后,ctrl+c 退出刚才打开的这两个页面

9.再重新访问更改后的端口。

这样就解决了端口冲突问题。

二、打开IDEA

1.导入依赖

复制代码
       <dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-logback-1.x</artifactId>
            <version>8.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-trace</artifactId>
            <version>8.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-opentracing</artifactId>
            <version>8.4.0</version>
        </dependency>

2.找到Edit Configrations

3.配置指针VM options

-javaagent:D:\test\xunlei\apache-skywalking-java-agent-8.10.0\skywalking-agent\skywalking-agent.jar //这个是你自己skywalking-agent.jar路径

-Dskywalking.agent.service_name=hospitalDemo //名字自己起

-Dskywalking.collector.backend_service=127.0.0.1:11800 //这个是 SkyWalking Collector 的端口,而不是 SkyWalking WebApp 的端口

4.日志文件

新建logback-spring.xml文件

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true"  debug="false">

    <springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
    <!--日志存放路径-->
    <property name="PATH" value="logs"/>

    <property name="FILE_NAME" value="${spring.application.name}"/>

    <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.TraceIdPatternLogbackLayout">
                <Pattern>
                    %black(%d{ISO8601}) [%tid] %highlight(${LOG_LEVEL_PATTERN:-%5p}) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable
                </Pattern>
            </layout>
        </encoder>
    </appender>
    <!--trace-->
    <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${PATH}/${FILE_NAME}_trace.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${PATH}/${FILE_NAME}_trace.%d{yyyy-MM-dd}.log</FileNamePattern>
            <maxHistory>60</maxHistory>
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %highlight([%-5level]) %green([%15.15thread]) %cyan([%logger:%line])--%mdc{client} %msg%n</pattern>
        </encoder>
    </appender>

    <!--error-->
    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${PATH}/${FILE_NAME}_error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${PATH}/${FILE_NAME}_error.%d{yyyy-MM-dd}.log</FileNamePattern>
            <maxHistory>60</maxHistory>
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %highlight([%-5level]) %green([%15.15thread]) %cyan([%logger:%line])--%mdc{client} %msg%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>

    <root level="info">
        <appender-ref ref="Console" />
        <appender-ref ref="TRACE_FILE" />
        <appender-ref ref="ERROR_FILE" />
    </root>

</configuration>

5.重启服务,再次访问接口

三、问题(互动)

1.指针VM options 每个微服务都需要配置吗?

2.依赖需要导入吗 如果不要日志需要导入依赖吗
3.es怎么链接
4.日志文件是否需要?
5.网关插件是否需配置?

相关推荐
小陈工3 小时前
2026年3月26日技术资讯洞察:WebAssembly崛起、AI代码质量危机与开源安全新挑战
人工智能·python·安全·架构·开源·fastapi·wasm
一叶飘零_sweeeet5 小时前
DDD 领域驱动设计:从战略到战术,终结微服务拆分的所有混乱
微服务·架构·ddd领域驱动设计
Gauss松鼠会6 小时前
【GaussDB】LLVM技术在GaussDB等数据库中的应用
大数据·数据库·架构·数据库开发·gaussdb·llvm
landuochong2006 小时前
OpenClaw 架构文档
人工智能·架构·openclaw
架构师沉默7 小时前
程序员如何避免猝死?
java·后端·架构
码路高手7 小时前
Trae-Agent的Patch逻辑
人工智能·架构
喝拿铁写前端9 小时前
一套面向 Web、H5、小程序与 Flutter 的多端一致性技术方案
前端·架构
SY.ZHOU10 小时前
移动端架构体系(一):组件化
android·ios·架构·系统架构
Arthas21710 小时前
互联网大厂Java面试实录:谢飞机的电商微服务之旅 - Spring Boot/Cloud/Redis/Kafka实战
spring boot·redis·spring cloud·微服务·kafka·java面试·电商
陈酒尽余欢10 小时前
告别 Vibe Coding:用 SDD 让 AI 编程提效 50%,三工具实战对比
后端·架构