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