15.SkyWalking

一、下载安装服务端

skywalking在之前的旧版本中,apm与agent是在一个包中的,在9.0的版本中是需要分开下载的;

1.下载地址

https://skywalking.apache.org/downloads/



2.在linux服务器上面解压APM


3.APM目录结构


4.修改集群方式nacos(提前启动nacos并创建对应命名空间等)



5.修改存储方式为mysql(提前创建对应数据库表会自动创建,注:最好使用mysql8)

数据库最好设置一下最大值

use mysql;
update user set max_questions=0;
flush privileges;


6.收集监控数据端口和接受前端请求端口修改

服务启动后会暴露11800和12800两个端口,分别为收集监控数据的端口11800和接受前端请求的端口12800


7.将mysql依赖包放入oap-libs


8.修改UI界面端口和集群地址修改

注:集群后可以用nginx代理集群地址,然后暴露nginx地址即可

9.启动


10.查看资源

日志没报错



nacos有服务


访问页面


参看数据库表创建


11.告警规则配置以及告警回调



013

014

015

二、客户端使用

1.解压apache-skywalking-java-agent-8.12.0.tgz


2.目录结构


3.拷贝SpringClou Gateway插件


根据项目里面版本复制optional-plugins文件下的版本到plugins里面



4.添加项目运行参数

-javaagent:D:/Development/Spring_Cloud/skywalking/skywalking-agent/skywalking-agent.jar
-DSW_AGENT_NAME=skywalking-gateway-service
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.192.129:11800

javaagent:skywalking-agent.jar磁盘路径

DSW_AGENT_NAME:在skywalking上显示的服务名

DSW_AGENT_COLLECTOR_BACKEND_SERVICES:skywalking服务端的IP和端口,集群后可以将每组地址以逗号隔开

IDEA




linux中Shell脚本运行


5.导入日志和业务方法链路追踪依赖

        <!--  对项目中的业务方法实现链路追踪,方便我们排查问题  -->
        <dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-trace</artifactId>
            <version>8.12.0</version>
        </dependency>

        <!--  日志记录到skywalking服务器  -->
        <dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-logback-1.x</artifactId>
            <version>8.12.0</version>
        </dependency>

6.日志追踪

创建日志logback.xml

<?xml version="1.0" encoding="utf-8"?>
<configuration>

    <appender name="stdout" 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>%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} -%msg%n</Pattern>
            </layout>
        </encoder>
    </appender>

    <appender name="grpc" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
        <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="stdout"/>
        <appender-ref ref="grpc"/>
    </root>

</configuration>

修改skywalking-agent配置文件

参数说明:https://skywalking.apache.org/docs/skywalking-java/next/en/setup/service-agent/java-agent/configurations/


023

可以根据日志进入链路


7.业务方法链路追踪


024

025


(1)