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

相关推荐
X-⃢_⃢-X28 分钟前
四、OpenFeign远程调用
java·微服务·springboot·springcloud
Slice_cy1 小时前
Mint 自研框架设计与实现:从重复开发走向配置驱动(三)
前端·后端·架构
写代码的强哥1 小时前
TiDB 和 OceanBase 对比:架构师视角下的企业选型实战指南
数据库·云原生·架构
张忠琳2 小时前
【NVIDIA】NVIDIA k8s-device-plugin v0.19.3 配置API模块深度分析之二
云原生·容器·架构·kubernetes·nvidia
心念枕惊2 小时前
【Agent Harness】Gliding Horse 整体架构拼图:当 AI Agent 有了自己的操作系统
人工智能·架构
2601_960567963 小时前
电商套图批量生成的效率瓶颈量化——逐图架构与流水线架构的性能对比
架构
LONGZETECH3 小时前
新能源汽车动力系统仿真硬核拆解:五系统分层架构的设计逻辑与技术权衡
c语言·开发语言·架构·汽车·汽车仿真教学软件·汽车教学软件
LLL人无再少年3 小时前
分布式链路追踪系统之二进制安装skywalking
分布式·skywalking
beibeix20153 小时前
MITK中两种微服务的三层架构实现对比
微服务·mitk
Zacks_xdc3 小时前
【从0开发一个 Agent】第十七章:完整项目回顾与架构终章
人工智能·架构·agent·next.js