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