SkyWalking使用

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的地址


已发布

分类

,

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注