SkyWalking安装部署&简单使用

前言

官网地址:

bash 复制代码
https://skywalking.apache.org/

下载地址:

复制代码
https://skywalking.apache.org/downloads/

历史版本下载地址:

bash 复制代码
http://archive.apache.org/dist/

一、安装

  1. 将安装包解压到/opt/module目录下
bash 复制代码
tar -zxvf apache-skywalking-apm-es7-8.5.0.tar.gz -C /opt/module
  1. 启动服务
bash 复制代码
/opt/module/apache-skywalking-apm-bin-es7/bin/startup.sh
  1. 检查服务启动状态
  1. 在浏览器中访问skywalking
bash 复制代码
http://192.168.2.103:8080

二、使用MySQL持久化存储数据

默认情况下,skywalking使用h2存储数据。

将数据库更换为MySQL

  1. MySQL中创建一个数据库
sql 复制代码
create database if not exists swtest default character set utf8;
  1. MySQL访问驱动添加到oaplib目录下
  1. 修改配置文件

配置文件路径:/opt/module/apache-skywalking-apm-bin-es7/config/application.yml

  1. 重启skywalking

三、springboot项目连接skywalking

  1. skywalking的安装包中拷贝一个agent jar
  2. 在启动参数中,添加VM参数
bash 复制代码
-javaagent:/var/root/software/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar
-DSW_AGENT_NAME=wms-service
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.2.103:11800

第一行:指定agent jar包位置

第二行:指定当前服务的名称

第三行:指定oap的地址

  1. 在服务启动成功后,在skywalking的界面,能看到相应的信息

四、在服务日志中打印traceId

  1. 添加maven依赖
xml 复制代码
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-logback-1.x</artifactId>
    <version>8.5.0</version>
</dependency>
  1. 修改logback.xml配置文件
xml 复制代码
<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>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
    </root>

</configuration>

五、将服务日志传输给skywalking

  1. 添加maven依赖
xml 复制代码
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-logback-1.x</artifactId>
    <version>8.5.0</version>
</dependency>
  1. 修改logback.xml配置文件,添加以下内容
xml 复制代码
<appender name="grpc-log" 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>
xml 复制代码
<appender-ref ref="grpc-log"/>
  1. 修改本地agent代理配置文件,添加以下内容

配置文件相对路径:

bash 复制代码
apache-skywalking-apm-bin-es7/agent/config/agent.config
复制代码
添加内容:
properties 复制代码
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:192.168.2.103}
  
plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800}

plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760}
  
plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}
复制代码
注:以上配置像主要定义`oap`的链接信息,和日志存储的参数

六、在方法上自定义追踪信息

添加maven依赖信息

xml 复制代码
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>8.5.0</version>
</dependency>

默认情况下,skywalking只会记录接口层面的信息,不会记录业务方法。如果想记录业务方法上的参数、返回值等信息,需要使用注解:

  • @Trace:使用在方法上,在追踪链路中,会记录该方法的相关信息
  • @Tag:使用在方法上,用于记录方法参数或返回值
  • @Tags:使用在方法上,用于同时记录方法参数和返回值
java 复制代码
@Trace
@Tags({@Tag(key = "doQuery-param", value = "arg[0]"), @Tag(key = "doQuery-result", value = "returnedObj")})
private Object doQuery(String id) {
    log.info("[warehouse controller][queryById]the id is {}", id);
    try {
        TimeUnit.SECONDS.sleep(1);
    } catch (InterruptedException e) {
        throw new RuntimeException(e);
    }
    return "[warehouse controller][queryById]" + outService.querySkuInfoById(id);
}


相关推荐
摇滚侠3 天前
Skywalking 应用性能监控和可观测性分析平台 简介
skywalking
Databuff3 天前
skywalking 快速使用入门
skywalking
摇滚侠5 天前
Apache Skywalking 实战 阅读笔记 第三章
笔记·apache·skywalking
摇滚侠6 天前
Apache Skywalking 实战 阅读笔记 第二章
笔记·apache·skywalking
Databuff6 天前
国产开源APM databuff 成为 CNCF 顶级项目opentelemetry 官宣Vendor
运维·开源·skywalking·apm·可观测性·opentelemetry
摇滚侠7 天前
Skywalking 全套教程 环境搭建 01-05
skywalking
摇滚侠7 天前
Apache Skywalking 实战 阅读笔记 第一章
笔记·apache·skywalking
就改了1 个月前
Windows 环境 SkyWalking 完整实操教程
windows·微服务·skywalking
Jul1en_1 个月前
【SpringCloud】SkyWalking 链路追踪知识详解及部署教程
java·后端·spring·spring cloud·skywalking
SRETalk1 个月前
SkyWalking / Jaeger / ARMS 已经有了,还需要统一可观测平台吗
skywalking·apm·jaeger·flashcat·arms