专栏首页CodeGuide | 程序员编码指南BeeAPM无侵入分布式全链路监控&追踪

BeeAPM无侵入分布式全链路监控&追踪

BeeAPM是一个分布式跟踪和应用性能监控系统。该系统应用JavaAgent技术,使用bytebuddy(基于ASM的框架)进行字节码植入,从而对java应用程序进行相关数据采集和性能监控, 对应用无侵入。

部署

  • agent部署
  • server部署
  • UI部署

介绍

采集端(agent)

采集数据发送到APM Server端或者消息中间件或存储器等

1、采集功能

所有的采集功能均有单独开关配置

  • 分布式调用链(方法调用链路、远程调用追踪)
  • 采样控制
  • 方法采集
    • 方法调用链路
    • 参数采集
    • 执行耗时
    • 方法信息
    • 耗时阀值控制(超过一定时间阀值的不采集)
    • 采集点配置
    • 返回值采集 (考虑)
  • http追踪
    • 支持httpclient3
    • 支持httpclient4
    • 支持okhttp3
    • jdk-http(待开发)
  • 支持servlet采集
    • 主流容器支持(tomcat,weblogic,jetty等)
    • 链路支持
    • 基本请求信息
    • 耗时采集
    • 耗时阀值控制
    • request body采集
    • request parameter
    • request header采集
    • response body采集
    • session采集(待开发)
  • jdbc采集(jdbc规范)
    • 采集sql语句
    • 采集sql参数
    • 采集执行时间
    • 耗时阀值控制
    • 采集结果集大小
  • logger采集
    • 支持log4j
    • 支持log4j2
    • 支持logback
    • 采集点可配置
    • error以上级别是否采样控制
  • spring事务
    • 事务持有时间
    • 执行sql次数
    • 事务耗时阀值控制
  • 异常信息采集,支持采集点黑白名单配置
  • 支持携程apollo(仅支持启动时拉取配置)
  • 半自动API(待开发)
  • jvm、cpu、磁盘、内存、线程等采集(待开发)
  • 统计采集(待开发)

2、传输能力

  • 支持输出到控制台
  • 支持输出到远程http服务器
    • 支持okhttp
  • 支持输出到kafka,支持kafka 1.x
  • 支持输出到RocketMq
  • 支持输出到pulsar(待开发)
  • 支持输出到ElasticSearcch(待开发)

APM Server端

数据收集和存储。从采集端接受数据或者从消息中间件中拉取数据,并进行存储

1、数据收集

  • http接受,使用servlet接收采集端发送过来的数据
  • 从kafka拉取数据
  • 从pulsar拉取数据(待开发)

2、数据存储

  • ElasticSearch
  • mysql(待开发)
  • oracle(待开发)
  • h2(待开发)

APM UI端

支持调用链展示,采集数据查询,报表等

本文分享自微信公众号 - bugstack虫洞栈(bugstack),作者:土拨鼠

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring Cloud(六)《基于github webhook动态刷新服务配置》

    在实际开发中经常会有一个叫做配置中心的服务,这个服务经过变更参数来动态刷新线上业务数据行为配置。比如;行为开关、活动数据、黑白名单、本地/预发/线上环境切换等等...

    小傅哥
  • MySQL · 引擎特性 · 安全及权限改进相关

    MySQL8.0里引入了不少关于权限的改动,从这些改动可以看出来,权限管理更加的规范和遍历了,这和我们之前为rds mysql增加了大量权限管理很类似,想来Or...

    小傅哥
  • Spring Cloud(七)《基于RabbitMQ消息总线方式刷新配置服务》

    在微服务架构中,为了更方便的向微服务实例广播消息,我们通常会构建一个消息中心,让所有的服务实例都连接上来,而该消息中心所发布的消息都会被微服务实例监听和消费,我...

    小傅哥
  • Hadoop分布式数据采集软件在2019年大数据市场上优势是什么?

    为什么分布式数据采集软件能够收到互联网发展的青睐呢?大数据时代的发展,大数据在目前的企业发展,政府决策以及社会动态分析等等方面都发挥着重要的作用,如何在目前的互...

    数道云大数据
  • 响应式网页设计指南

    如何理解响应式设计(RWD) 响应式网页设计的概念最初是由 Ethan Marcotte 提出,从设计的角度引领我们思考:为什么一定要为每个用户分别做一套设计方...

    码云Gitee
  • 响应式网页设计指南

    1、如何理解响应式设计(RWD) 响应式网页设计的概念最初是由Ethan Marcotte提出,从设计的角度引领我们思考:为什么一定要为每个用户分别做一套设...

    奔跑的小鹿
  • jsp使用vue+element-ui

    因需要做界面美化,所以需要使用element-ui,原生jsp能实现的效果,实在是太少了。

    崔笑颜
  • 人机协作的设计工作流有哪些?

    有一个毫无私心、任劳任怨、潜力无限的助手,为什么我们担心的是被助手取代,而不是兴高采烈地放开手脚去创造呢?

    mixlab
  • 【美国基金会报告】10大领域 AI 超越人类时间表:机器智能大爆发

    【新智元导读】计算机在哪些领域已经超越了人类?准确地回答这个问题有助于我们更好地理解 AI 和自己。非盈利组织电子前哨基金会(EFF)的几位研究员整理了一份可能...

    新智元
  • 从低保真原型中生成前端代码

    今天聊下《 技术 Mix 设计 》的话题。技术与设计两者的边界,越来越模糊,从用机器视觉判断平面设计作品的视觉焦点,到用深度学习指导用户体验设计,还有用深度学习...

    mixlab

扫码关注云+社区

领取腾讯云代金券