文章目录
目录
文章目录
前言
一、skywalking
二、使用步骤
2.1 使用mysql持久化监控数据
2.2 接入到idea的单个微服务和多个微服务
2.3 自定义skywalking的链路追踪
总结
前言
skywalking是一个国产开源框架,是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker k8s Mesos)架构而设计,它是一款优秀的APM(Application Performance Managerment)工具。包括了分布式追踪、性能指标分析、应用和服务依赖等
一、skywalking
它是本土开源基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,ui功能较强,接入端无代码侵入。
主要功能特性:
1. 多种监控手段,可以通过语言探针和service mesh获取监控数据
2.支持多种语言自动探针,包括Java、.NET Core和Node.js
3. 轻量高效,无需大数据平台和大量服务器资源
4.模块化、UI、存储、集群管理都有多种机制可选
5.支持告警
6.优秀的可视化解决方案
二、使用步骤
环境准备首先在官网下载Apache SkyWalking
然后两个都解压到英文目录下
2.1 使用mysql持久化监控数据
要在oap-libs中添加mysql的驱动依赖 因为官方解压的没有带
找到配置文件目录修改
在数据库中新建一个skytest的数据库
修改配置文件如下
然后就完成了数据库的持久化监控数据
2.2 接入到idea的单个微服务和多个微服务
代码无侵入只需要修改启动参数即可
-javaagent:D:\mytool\apache-skywalking-java-agent-8.14.0\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=serviceA
-Dskywalking.collector.backend_service=127.0.0.1:11800
多个微服务启动只需要启动探针jar时更改为不同的服务名字即可
2.3 自定义skywalking的链路追踪
引入依赖 要和自己下载的版本对应‘
<!-- skywalking 工具类 -->
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-trace</artifactId>
<version>8.14.0</version>
</dependency>
如果一个业务方法想在跟踪链路上显示出来 只需要在业务方法上添加@Trace注解就行
如果还想有返回的参数,和其他的额外信息 实现方式 在业务方法上添加@Tag或者@Tags
@Tag注解中 key=方法名 value= returnedObj 返回值 arg[0] 参数
总结
待补充