原文网址:SkyWalking--使用/教程/实例_IT利刃出鞘的博客-CSDN博客

本文是SkyWalking简单示例,如果想SkyWalking整合Dubbo,见这篇:SkyWalking--整合dubbo--使用/教程/实例_IT利刃出鞘的博客-CSDN博客

简介

说明

Skywalking是由国内开源爱好者吴晟(原OneAPM工程师,目前在华为)开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路。特点是:支持多种插件,UI功能较强,支持非侵入式埋点。目前使用厂商最多,版本更新较快。

数据存储支持:Elasticsearch、MySQL、H2、TiDB。默认是H2,而且是存到内存。实际我们一般将其存到ES。

官网

Apache SkyWalking

两个服务

SkyWalking启动之后,会启动两个Java服务:Skywalking-Collector、Skywalking-Webapp

  1. Skywalking-Collector

    1. 追踪信息收集器,通过 gRPC/Http 收集客户端的采集信息 。默认采用gRPC。
    2. gRPC默认端口 11800,Http默认端口 12800。
  2. Skywalking-Webapp
    1. 管理平台页面,默认端口 8080

拉取模式和推送模式

Agent(客户端)收集数据并将其推送到后端,再对数据进一步分析,我们称之为“推送”模式。SkyWalking即便使用了推送模式,同时也可进行数据拉取。在最近的8.x的发版本中,SkyWalking支持从已经集成Prometheus的服务中获取终端用户的数据。

版本

  • jdk版本:1.8.0_201

    • 自测:1.8.0_20会导致应用报JVM错误起不来;1.8.0_201及之后的版本没问题
  • skywalking版本:8.7.0

安装

下载

Downloads | Apache SkyWalking
或者:Index of /dist/skywalking

本处我下载:apache-skywalking-apm-es7-8.6.0.tar.gz(Webapp的SpringBoot版本为1.5.11.RELEASE)

(apache-skywalking-apm-es7-8.7.0.tar.gz的Webapp的SpringBoot版本为2.4.8.RELEASE)

运行

运行:bin/startup.bat

结果如下:

如果这两个窗口有的突然关掉了,可能是出错了。看电脑8080端口是否被占用,若被占用,关掉那个程序。

访问

http://localhost:8080/

实例(简单)

业务代码

接口

package com.example.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@GetMapping("/test1")public String test1() {return "test1 success";}
}

配置文件(application.yml)

server:port: 8100

设置SkyWalking参数

设置java参数

-javaagent:D:\dev\middleground\apache-skywalking-apm-es7-8.6.0\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar

-Dskywalking.agent.service_name=demo_SpringBoot

参数说明

  • -javaagent:指定skywalking的jar。

    • 它是解析jar包用的,无论应用是否与SkyWalking服务是否在同一台机器上,都要指定。
  • -Dskywalking.agent.service_name
    • 指定服务名字(会将此名字显示在SkyWalking的前端页面上)
  • 因为我的应用和SkyWalking服务在同一个电脑上运行,所以无需配置Skywalking-Collector的ip。其默认配置为:127.0.0.1:11800。如果应用和SkyWalking服务不在一个电脑上运行,则应用仍然需要指定-javaagent和-Dskywalking.agent.service_name,还要指定Skywalking-Collector的ip地址,例如:-Dskywalking.collector.backend_service=127.0.0.1:11800

如果是用的Idea,设置位置为:

测试

请求:http://localhost:8100/test1

SkyWalking结果:

查看APM

查看拓扑图

查看链路 

实例(有数据库)

业务代码

 接口

package com.example.demo.controller;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
@RequestMapping("/user")
public class UserController {@AutowiredUserService userService;@PostMapping("/insertMulti")public void insertMulti() {User user = new User();for (long i = 0; i < 10; i++) {user.setId(i);user.setName("Iron Man" + i);if (i < 5) {user.setAge(20);} else {user.setAge(23);}user.insert();}}
}

配置文件(application.yml)

server:port: 8200spring:datasource:driver-class-name: com.mysql.jdbc.Driverusername: rootpassword: 222333url: jdbc:mysql://127.0.0.1:3306/mp?characterEncoding=UTF-8&serverTimezone=Asia/Shanghaijpa:hibernate:ddl-auto: none#mybatis-plus配置控制台打印完整带参数SQL语句
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

设置SkyWalking参数

设置java参数

-javaagent:D:\dev\middleground\apache-skywalking-apm-es7-8.6.0\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar

-Dskywalking.agent.service_name=MybatisPlus_Simple

  • -javaagent:指定skywalking的jar
  • -Dskywalking.agent.service_name:指定服务名字(会将此名字显示在SkyWalking的前端页面上)

如果是用的Idea,设置位置为:

测试

请求:http://localhost:8200/user/insertMulti

SkyWalking结果:

查看APM

查看链路 

可以发现第一条SQL执行时间比较长,后边都比较短。

点击某一个数据库操作(可以看到具体的MySQL服务器信息、SQL语句等)

其他网址

docker部署:基于docker部署的项目如何和skywalking agent进行整合_kingwinstar的博客-CSDN博客

SkyWalking--使用/教程/实例相关推荐

  1. adc 接收cube_官方的stm32cube软件教程实例ADC操作代码(官方自带的,可以无视

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 官方的stm32cube软件教程实例ADC操作代码(官方自带的,可以无视),看不懂怎么用的可以等本贴吧更新图片教程,现在就是凑帖子数量,完成转职的,请谅解 ...

  2. Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找

    ylbtech-Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找 1.返回顶部 1. Java 实例 - 数组排序及元素查找  Java 实例 以下实例演示 ...

  3. Java-Runoob-高级教程-实例-字符串:13. Java 实例 - 字符串格式化

    ylbtech-Java-Runoob-高级教程-实例-字符串:13. Java 实例 - 字符串格式化 1.返回顶部 1. Java 实例 - 字符串格式化  Java 实例 以下实例演示了通过 f ...

  4. 单片机独立式按键c语言程序,(原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询)...

    (原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询) /************************************************************ ...

  5. Flex 布局教程实例

    Flex 布局教程实例 一.Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 F ...

  6. Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素-un

    ylbtech-Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素 1.返回顶部 1. Java 实例 - 查找数组中的重复元素  Java 实例 以下实例 ...

  7. android 用户界面教程实例汇总

    1.android用户界面之WebView教程实例汇总 http://www.apkbus.com/android-51718-1-1.html 2.android用户界面之Notification教 ...

  8. Java-Runoob-高级教程-实例-方法:11. Java 实例 – enum 和 switch 语句使用

    ylbtech-Java-Runoob-高级教程-实例-方法:11. Java 实例 – enum 和 switch 语句使用 1.返回顶部 1. Java 实例 - enum 和 switch 语句 ...

  9. android用户界面之AlarmManager教程实例汇

    qianqianlianmeng android用户界面之AlarmManager教程实例汇 AlarmManager使用教程 1. 如何利用AlarmManager机制在一定时间后启动某Activi ...

最新文章

  1. HDLBits 系列(12)All about Karnaugh Map
  2. Appium自动化测试-配置待测Android应用
  3. error: ‘__declspec‘ attributes are not enabled; use ‘-fdeclspec‘ or ‘-fms-extensions‘ to enabl
  4. 厉害了!一文看懂各大互联网支付系统整体架构
  5. 1.26 Java使用自定义包
  6. com接口传入、传出字符串的说明和例程
  7. 990. Satisfiability of Equality Equations
  8. arcgis计算地形起伏度
  9. 当浏览器输入url的时候发生了什么
  10. Python 核心编程 (全)
  11. nyoj 买水果(组合数求法与分析)
  12. 【第147期】游戏策划:给@文浩的简历分析
  13. After Effect CC 2019插件
  14. 【为人处事】:如何识人
  15. .net 3des 解密
  16. java 源文件结构_A005Java源文件结构
  17. vue手写列表竖向滚动
  18. 【产业互联网周报】互联网集体进入调整期:张勇兼任阿里云总裁,卢伟冰晋升小米集团总裁,小鹏组织架构调整;...
  19. 纯SVG实现的Loading动画,拿走不谢
  20. Java EE 期末复习提纲【太原理工大学】

热门文章

  1. 从哪里找计算机管理员权限,windows10电脑管理员权限在哪里获取
  2. “愉悦身心 伽倍健康”知识竞赛线上答题活动策划
  3. 专家建议:为电脑安全不要使用IE
  4. 西部一流,连年扩招,这样的川大计算机你心动了吗?
  5. 移动物联卡多少钱一张?物联卡批发价格?
  6. C++五子棋(可双人,可人机)
  7. 实现智能读报(逐字朗读+自动滚屏)
  8. Java自学资料!996页阿里Java面试真题解析火爆全网,实战案例
  9. SNAP 1. snap的介绍以及下载
  10. 关于三菱软件GX developer和GX works的安装注意点