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

相关推荐
勿在浮沙筑高台10 小时前
能集成到vs2022里面智能编程工具
架构
S***428011 小时前
后端在微服务中的服务监控
微服务·云原生·架构
阿拉斯攀登11 小时前
Docker 全面解析:从核心概念到实践应用
docker·云原生·容器·架构
张人大 Renda Zhang12 小时前
Java 虚拟线程 Virtual Thread:让“每请求一线程”在高并发时代复活
java·jvm·后端·spring·架构·web·虚拟线程
济南壹软网络科技有限公司13 小时前
架构深潜:通霸IM——私有化部署、全链路开源的高可用企业级即时通讯技术基座
java·架构·开源·即时通讯源码·即时通讯im
Together_CZ13 小时前
FlowFormer: A Transformer Architecture for Optical Flow——一种用于光流估计的Transformer架构
架构·transformer·光流·architecture·光流估计·flowformer·optical flow
社恐的下水道蟑螂13 小时前
深度探索 JavaScript 的 OOP 编程之道:从基础到进阶
前端·javascript·架构
上海云盾第一敬业销售13 小时前
CC防护技术在流量攻击中的架构解析
架构
Embedded-Xin14 小时前
Linux架构优化——spdlog实现压缩及异步写日志
android·linux·服务器·c++·架构·嵌入式
wuli_滔滔14 小时前
【探索实战】深入浅出:使用Kurator Fleet实现跨云集群的统一应用分发
架构·wpf·kurator·fleet