针对 jdk1.6之后的JAVA 应用提供采集,帮助客户评估分析出需要改造的功能点,对于非java应用暂不支持采集评估。

可以做什么

  • 采集应用访问的SQL与调用栈信息;
  • 收集应用运行性能信息;

不能做什么

  • 非oracle数据库或非java应用暂不能采集;
  • 无数据库请求的监控不到,比如采集周期内未请求接口则这个接口的请求sql语句及调用栈采集不到;
  • 触发器等未通过程序直接调用的监控不到。

(如果采集中遇到任何问题请提交工单或直接发邮件到adam_service@alibaba-inc.com,工单中请附上报错信息和联系方式)

ADAM 应用采集客户端包含两部分:应用动态采集模块、数据集中收集模块。

  • 应用动态采集agent:收集运行期应用请求数据库的基本信息,比如请求的sql-schema-调用栈、应用系统信息、性能信息、sql热度等
  • 数据集中收集collector:集中收集各应用agent传输过来的数据,并进行脱敏、加工

说明

  • 采集的sql会做脱敏处理,不采集请求参数及sql中的具体值;
  • 只读保护:不侵入应用
  • 负载控制:业务高峰期自动暂停采集、内存使用量控制在设定范围内
  • 支持 jdk1.6+ tomcat、Jboss、Weblogic容器Oracle的java应用动态采集;

应用采集工具下载

部署前必读

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

  • 支持sun/oracle JDK、open JDK1.6及以上版本,不支持IBM JDK

  • 解压后有两个目录:collector和javaagent。collector是统一收集器,单独部署在没有线上应用的服务器上(数据处理时避免对线上应用造成影响);javaagent目录拷贝到需要监控的应用服务器上,和应用部署在一起,用于采集数据;

  • 确保collector和agent具有操作权限(windows系统无须关注,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,也支持k8s集群docker容器镜像部署,对于websphere支持

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

下一步 采集部署