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.网关插件是否需配置?

相关推荐
Lee川23 分钟前
深度拆解:基于面向对象思维的“就地编辑”组件全模块解析
javascript·架构
勤劳打代码24 分钟前
Flutter 架构日记 — 状态管理
flutter·架构·前端框架
子兮曰6 小时前
后端字段又改了?我撸了一个 BFF 数据适配器,从此再也不怕接口“屎山”!
前端·javascript·架构
卓卓不是桌桌8 小时前
如何优雅地处理 iframe 跨域通信?这是我的开源方案
javascript·架构
Qlly9 小时前
DDD 架构为什么适合 MCP Server 开发?
人工智能·后端·架构
用户881586910911 天前
AI Agent 协作系统架构设计与实践
架构
鹏北海1 天前
Qiankun 微前端实战踩坑历程
前端·架构
货拉拉技术1 天前
货拉拉海豚平台-大模型推理加速工程化实践
人工智能·后端·架构
RoyLin1 天前
libkrun 深度解析:架构设计、模块实现与 Windows WHPX 后端
架构
CoovallyAIHub2 天前
实时视觉AI智能体框架来了!Vision Agents 狂揽7K Star,延迟低至30ms,YOLO+Gemini实时联动!
算法·架构·github