ADAM可以对Java JDK1.6及以上版本的应用提供采集功能,帮助客户评估分析需要改造的功能点,对于非Java应用暂不支持采集评估。
应用采集概述
应用采集客户端包含两个模块:
应用动态采集Agent。收集运行期应用请求数据库的基本信息,比如请求的sql-schema-调用栈、应用系统信息、性能信息、SQL热度等。
数据集中收集Collector。集中收集各应用Agent传输过来的数据,并进行脱敏、加工。
应用采集可以完成:
采集应用访问的SQL与调用栈信息。
收集应用运行性能信息。
应用采集不能完成:
非Oracle数据库或非Java应用暂不能采集。
无数据库请求的监控不到,比如采集周期内未请求接口则这个接口的请求SQL语句及调用栈采集不到。
触发器等未通过程序直接调用的监控不到。
说明
采集的SQL会做脱敏处理,不采集请求参数及SQL中的具体值。
只读保护:不侵入应用。
负载控制:业务高峰期自动暂停采集、内存使用量控制在设定范围内。
支持 JDK1.6+ Tomcat、Jboss、Weblogic容器Oracle的Java应用动态采集。
应用采集工具下载
部署前必读
部署时涉及基本技术知识,请确保由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监控周期内的操作覆盖全。如有周期性任务,需在有这些任务运行时监控,否则数据采集不全。