一、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.重启服务,再次访问接口