springboot集成分布式链接跟踪SkyWalking探针使用及链接收集实践

大侠一枝花 2023-02-06 0

目录

本文主要展示与项目的集成以及探测链接的收集与展示

请参阅以下博客文章以获取日志报告和通知

分布式链路追踪进阶实战RPC上报与通知(三)_这里是王老师的微博-程序员的秘密本文主要介绍性能分析、慢速业务代码定位和通知告警

1.链接跟踪-框架项目搭建 1.1 创建项目

在线创建:

创建数据库导入数据(自己安装)

删除表如果``;

表``(

`id` 不为空,

`title` (255) SET NULL '产品标题',

`` (255) SET NULL '细节',

`img` (255) SET NULL '图像',

`` (16,0) NULL '当前价格',

键(`id`)

) = = =;

INTO `` (1, '产品 1', '产品 1 详情', '', 61);

INTO `` (2, '产品 2', '产品 2 详情', '', 88);

INTO `` (3, '产品 3', '产品 3 详情', '', 999);

INTO `` (4, '产品 4', '产品 4 详情', '', 79);

1.2 ++Mysql开发测试接口 1.2.1 添加依赖配置pom.xml

		
			mysql
			mysql-connector-java
			8.0.26
		
		
			com.baomidou
			mybatis-plus-boot-starter
			3.4.1
		

1.2.2 添加配置。

server.port=8081
#==============================数据库相关配置========================================
spring.datasource.driver-class-name =com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://112.74.xx.xxx:3306/wnn_sky_shop?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username =root
spring.datasource.password =xxxxxxx
#配置mybatis plus打印sql日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

1.2.3 开发接口

商品列表界面 商品详情界面

@SpringBootApplication
@MapperScan("net.wnn.wnnsky.mapper")
public class WnnSkyApplication {
	public static void main(String[] args) {
		SpringApplication.run(WnnSkyApplication.class, args);
	}
}
@RestController
@RequestMapping("/api/product/v1")
public class ProductController {
    @Autowired
    private ProductService productService;
    @RequestMapping("list")
    public JsonData list(){
        List list =  productService.list();
        return JsonData.buildSuccess(list);
    }
    @GetMapping("/detail/{product_id}")
    public JsonData detail(@PathVariable("product_id") long productId){
        ProductDO productDO = productService.detail(productId);
        return JsonData.buildSuccess(productDO);
    }
}
@Service
public class ProductServiceImpl implements ProductService {
    @Autowired
    private ProductMapper productMapper;
    @Override
    public List list() {
        return productMapper.selectList(new QueryWrapper<>());
    }
    @Override
    public ProductDO detail(long productId) {
        return productMapper.selectOne(new QueryWrapper().eq("id",productId));
    }
}

启动后可以正常访问产品列表

2、 Agent Probe for Link 介绍2.1-Agent的安装与使用

什么是探针:探针代表集成到目标系统中的代理或SDK库,即收集并格式化数据,发送给后端,包括链路跟踪和性能指标

-代理安装与使用

下载链接:

本文使用--apm-8.5.0.tar.gz

-agen目录文件介绍

logs:agent的相关操作日志

-: 插件包

-:插件包(可选插件包采集微博,如果需要生效,需要复制到包中)

:插件包(有效插件包采集微博,支持多帧链接跟踪)

--: 插件包

: 插件包

: 配置文件

-agent.jar:agent代理的jar包(主要是这个!)

- 如何使用代理

优先级:probe -> JVM配置 -> 环境变量配置 -> agent。 (低优先级)

第一个-:/path/to/-agent.jar={}={},{}={}

-:../-agent.jar=agent.=,.=127.0.0.1:11800

第二种:-.[]=[]

-: ../-agent.jar -.agent.= -..=127.0.0.1:11800

agent.: 客户端服务名,apm系统中显示的服务名

.: SW上传的服务地址

2.2 IDEA编辑器配置-Agent链接收集

-:E:\demo\--apm-bin\agent\-agent.jar -.agent.= -..=112.xx.xx.xx0:11800

然后启动服务后,请求两个接口:8081/api//v1//1和:8081/api//v1/list

: 8080/ 可以看到在sky中已经采集到了端点实例信息