微服务链路追踪Skywalking

一、前言

SkyWalking针对的是微服务和分布式服务,包括现在的容器化。在这样的环境中,应用间依赖关系复杂多变,无论是设计、开发还是运维团队,都不具备对系统实际关系和运行情况的理解能力。主流大型企业的内部系统都有几十个子系统,其中有上百个服务和上千个实例在运行,理解这套系统的依赖关系是SkyWalking要解决的第一大问题。

Skywalking创始人是中国人吴晟,他是Apache软件基金会第一位中国董事。

GitHub地址:https://github.com/apache/skywalking

二、安装运行

# 下载源码
git clone https://github.com/apache/skywalking.git

cd skywalking/

# 切换分支
git checkout v8.5.0

git submodule init

# 这里容易超时,注意检查,可以多试几次
git submodule update

# maven编译 windows
mvnw clean package -DskipTests

# maven编译 mac
./mvnw clean package -DskipTests

编译时间比较长(运气不好要半个小时),请耐心等待。所有打出来的包都在目录/dist 下

解压/dist/apache-skywalking-apm-bin.tar.gz

# 运行
sh startup.sh

访问:http://localhost:8080/

三、使用

SkyWalking的使用是无代码侵入的,而这种无侵入是基于Java的JavaAgent技术。

JavaAgent在字节码文件生成Class对象之前对字节码文件进行修改。

使用方法就是添加-javaagent:xxx.jar。如java -javaagent:xxx.jar -jar test.jar

# 添加JavaAgent
-javaagent:${absolute path}/skywalking-agent.jar

# 后面传入服务名称参数
-Dskywalking.agent.service_name=serviceName

Idea中 添加JavaAgent:

-javaagent:/Users/liulihu/workplace/development/blog/tools/apache-skywalking-apm-bin/agent/skywalking-agent.jar -Dskywalking.agent.service_name=consumer-service

在这里插入图片描述

然后进行多次请求(有时候要等一两分钟才能同步过来),可以在监控台看到监控信息。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、结语

这里这是先尝个鲜,后续有时间再详细说一下JavaAgent原理和Skywalking的实际使用。

源码地址:https://github.com/tigerleeli/xiaohuge-blog/tree/master/spring-cloud-alibaba-skywalking

同步微信公众号:小虎哥的技术博客
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小虎哥的技术博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值