应用采集

ADAM可以对Java JDK1.6及以上版本的应用提供采集功能,帮助客户评估分析需要改造的功能点,对于非Java应用暂不支持采集评估。

应用采集概述

  • 应用采集客户端包含两个模块:

    • 应用动态采集Agent。收集运行期应用请求数据库的基本信息,比如请求的sql-schema-调用栈、应用系统信息、性能信息、SQL热度等。

    • 数据集中收集Collector。集中收集各应用Agent传输过来的数据,并进行脱敏、加工。

  • 应用采集可以完成:

    • 采集应用访问的SQL与调用栈信息。

    • 收集应用运行性能信息。

  • 应用采集不能完成:

    • 非Oracle数据库或非Java应用暂不能采集。

    • 无数据库请求的监控不到,比如采集周期内未请求接口则这个接口的请求SQL语句及调用栈采集不到。

    • 触发器等未通过程序直接调用的监控不到。

说明

  • 采集的SQL会做脱敏处理,不采集请求参数及SQL中的具体值。

  • 只读保护:不侵入应用。

  • 负载控制:业务高峰期自动暂停采集、内存使用量控制在设定范围内。

  • 支持 JDK1.6+ Tomcat、Jboss、Weblogic容器Oracle的Java应用动态采集。

应用采集工具下载

image.png

部署前必读

  • 部署时涉及基本技术知识,请确保由Java研发人员操作。

  • 支持Sun JDK 、Oracle JDK、Open JDK1.6及以上版本,不支持IBM JDK。

  • 解压后有两个目录:

    • collector:collector是统一收集器,单独部署在没有线上应用的服务器上(数据处理时避免对线上应用造成影响)。

    • javaagent:javaagent目录拷贝到需要监控的应用服务器上,和应用部署在一起,用于采集数据。

  • 确保Collector和Agent具有操作权限。

    说明

    UNIX/Linux需要对目录增加级联操作权限chmod -R 775 collector/

  • Collector相当于Server端,可对应1-20个Agent,一个应用服务器部署一个Agent。

    说明

    如果应用是分布式多机器,根据负载均衡的情况,只抽样几台部署Agent即可。

  • 先部署Collector,后部署应用Agent,应用要与Collector网络可达(用于推送数据做集中脱敏等处理),部署Collector的机器需要JDK 1.6+版本,JVM内存4G以上。磁盘与监控的应用数量、监控时长、业务活跃度、SQL数量及SQL大小有关,不会出现爆发式增长,可观察半天来估算,一般一个应用监控7天数据量在1G以下。

  • Agent要求:应用部署在JDK1.6及以上版本,待监控的应用有300M的可用JVM heap空间。服务容器支持Tomcat、Jboss、Weblogic、Websphere及k8s集群Docker容器镜像部署。

  • Agent监控访问Oracle数据库的SQL和代码调用栈,请确保Agent监控周期内的操作覆盖全。如有周期性任务,需在有这些任务运行时监控,否则数据采集不全。

后续操作

采集部署