skywalking快速上手

Skywalking 官网

Skywalking 本地安装(windows为例)

skywalking

本次使用的是 apache-skywalking-apm-bin-es7(https://archive.apache.org/dist/skywalking),打开文件夹,打开目录 bin/
在这里插入图片描述
.bat 是windows 启动。点击之后会出钱两个command,这个时候就启动成功了。
打开localhost:8080,出现如下页面,启动成功
在这里插入图片描述
如果想改变8080端口,在 apache-skywalking-apm-bin-es7\webapp 当中有webapp.yml文件,打开文件修改端口即可。

在这里插入图片描述

idea接入

在vm option当中加入以下命令
在这里插入图片描述

-javaagent:D:/###/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar
-Dskywalking.agent.service_name=rare_disease
-Dskywalking.collector.backend_service=127.0.0.1:11800

其中第一行选择自己文件目录下apache-skywalking-apm-bin-es7/agentskywalking-agent.jar地址。
在这里插入图片描述

第二行则是自定义服务名,之后再skywalking上展示的就是这个服务名称。
第三行则是skywalking上报的路径端口。本地默认用11800端口
启动项目
在这里插入图片描述
表明skywalking成功的接进去了,之后则需要对当中随便一个接口进行一次访问,刷新skywalking,仪表盘当中就会有数据了
在这里插入图片描述

MySql 数据持久化

如何让skywalking监控数据持久化呢?在目录 apache-skywalking-apm-bin-es7\config 文件夹中打开 application.yml文件
在这里插入图片描述
在storage:此处将 selector: ${SW_STORAGE:h2}改成你想要改成的存储方式,此处我们使用mysql 则:

selector: ${SW_STORAGE:mysql}

在下面的mysql配置当中,指定数据库为 swtest ,需要提前给swtest数据库建好。 之后修改下面的账户密码。在这里插入图片描述
保存之后重新启动 startup.bat
== 注意,此处有个小坑==
在 apache-skywalking-apm-bin-es7\oap-libs 当中缺少数据库连接的jar包,导致直接启动会出现闪退的问题。需要自己从本地maven仓库等地方将mysql的连接jar包拷贝一份过来
在这里插入图片描述
之后再次启动startup.bat,打开数据库,就会发现它会开始创建表
在这里插入图片描述
此时数据持久化就成功了

自定义链路追踪

首先加入pom依赖

		<dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-trace</artifactId>
            <version>8.5.0</version>
        </dependency>

之后在需要追踪的方法上加上@Trace方法

这边写了个小demo

    //controller
    @GetMapping("/get")
    @ResponseBody
    @Trace
    private ResponseDto<String> test(@RequestParam("uuid") final String uuid) {
        return new ResponseDto(grapService.query(uuid));
    }
    // iservice
    /**
     * test skywalking trace
     * @param uuid
     * @return
     */
    String query(String uuid);
	//service
    @Override
    public String query(String uuid) {
         return MD5.create().digestHex(uuid);
    }

此时调用接口
在这里插入图片描述
可以在仪表盘 追踪下面看到详细信息。点击之后,还能看到跨度信息。
在这里插入图片描述
于此同时,我们可以将监控输入输出,在类上加上注解:

   @Tags({@Tag(key = "parm",value = "arg[0]"),
            @Tag(key = "return",value = "returnedObj")})

之后,我们就可以看到,这边可以打印入参出参了。入参出参当中的class一定要复写tostring方法,才能输出想要的值
在这里插入图片描述

性能剖析

在这里插入图片描述
此处我们可以在仪表盘当中新建任务,选择好想要监控的端口。
在这里插入图片描述
监控结束后出现结果,选择分析,会有详细的堆栈以及消耗时间
在这里插入图片描述
可以用来排查哪一步影响性能。(感觉与 Arthas 的 trace 命令有异曲同工之妙)

日志

//加入pom依赖
 <dependency>
     <groupId>org.apache.skywalking</groupId>
       <artifactId>apm-toolkit-logback-1.x</artifactId>
       <version>8.5.0</version>
 </dependency>

创建logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 引入 Spring Boot 默认的 logback XML 配置文件  -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>


    <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>-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} [%tid] %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}</Pattern>
            </layout>
        </encoder>

    </appender>

    <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>

    <!-- 设置 Appender -->
    <root level="INFO">
        <appender-ref ref="console"/>
        <appender-ref ref="grpc-log"/>
    </root>
</configuration>

启动成功后,调用即可将日志上传,在页面看到。

告警

官方文档
配置文件在 \apache-skywalking-apm-bin-es7\config 当中的alarm-setting.yml文件当中,可以配置回调函数,告警的时候调用微信/飞书等发送告警信息等。
在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值