全链路监控方案

本文只是结合公司内部实现方案,对全链路监控方案层面抛砖引玉,不会做深入探讨。

全链路监控含义:针对微服务进行qps、错误率、错误量、线程池监控或者mysql慢查询的等进行监控和上报,便于全链路追踪和问题查询。

实现整体思路都是进行服务拦截、指标上报,利用traceId和spanId的原理进行调用链路绘制。其中常用的两种实现方案,也是笔者公司用的两种方案分别是基于java agent的skywalking,基于aop大理进行功能增强。

方案一:skywalking大家可以自行搜下相应介绍,大致原理是:利用jvm提供的开放接口进行字节码加载后,对字节码进行重写。但请放心我们并不用直接写字节码,目前市面上有的byte buddy进行字节码操作的封装,而skywalking更是强大直接进行了常用agent功能封装,例如前文中说到的功能所需要的agent都有,并且社区比较活跃,agent类型会逐渐丰富起来。若需要定制化,也可以基于byte buddy进行开发。

方案二:针对http微服务利用sevlet filter进行拦截代理。对监控dubbo则利用dubbo提供的spi扩展监控。对mysq慢查监控,可以根据mybatis提供的spi进行监控。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值