skywalking的侵入性较低,如果不对某些方法进行特殊跟踪的话,他就是一个日志收集系统,比elk轻。很多人以为它是cloud体系中的应用,实际上单体系统也可使用。
下载
版本:8.9.0
1、下载apm包,这里选择下载tar.gz包
https://archive.apache.org/dist/skywalking/8.9.1

2、解压amp包,修改webapp目录下的webapp.yml文件中的server.port为自己的端口



3、下载java agent包,下载tgz包后解压即可
https://archive.apache.org/dist/skywalking/java-agent/8.9.0

一、springboot单体部署
1、找到解压的apm包目录,对config目录中的application.yml修改


2、这里我使用的是mysql的存储方式,找到storage,将selector改成mysql

再往下找到mysql,填写好数据库、用户和密码即可

3、在springboot项目的pom文件中添加以下两个依赖,要对应apm的版本
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-logback-1.x</artifactId>
<version>8.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-trace</artifactId>
<version>8.9.0</version>
</dependency>
4、在logback的配置文件中追加日志输出appender
<appender name="SKYWALKING_INFO" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
</layout>
</encoder>
</appender>
<appender name="SKYWALKING_WARN" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
</layout>
</encoder>
</appender>
<appender name="SKYWALKING_ERROR" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
</layout>
</encoder>
</appender>
<root level="INFO">
********这里省略
<appender-ref ref="SKYWALKING_DEBUG" />
<appender-ref ref="SKYWALKING_INFO" />
<appender-ref ref="SKYWALKING_ERROR" />
<appender-ref ref="SKYWALKING_WARN" />
</root>
4、如果使用的是idea启动,则在启动配置中添加虚拟机选项
-javaagent:D:\Skywalking\apache-skywalking-apm-8.9.1\apache-skywalking-apm-bin\agent\skywalking-agent\skywalking-agent.jar
-Dskywalking.agent.service_name=ksService
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
解释:
(-javaagent:D:\Skywalking\apache-skywalking-apm-8.9.1\apache-skywalking-apm-bin\agent\skywalking-agent\skywalking-agent.jar)这里的路径是你解压的java agent包的路径
(-Dskywalking.agent.service_name=ksService)这里的ksService是你当前项目的命名,可随意起名称,目的是区分不同的项目
(-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800)这个地址是回写日志给skywalking的地址
发表回复