Advanced Database & Application Migration (ADAM) allows you to collect data from Java applications that use JDK 1.6 and later to help you evaluate and analyze which features need to be improved. Non-Java applications do not support data collection.

Supported

  • Collects SQL statements and call stack information of the application requests.
  • Collects application performance information.

Not supported

  • Data cannot be collected from non-Oracle databases or non-Java applications.
  • Application requests that do not access any databases cannot be monitored. For example, the SQL statements and call stacks of API operations called outside of the collection period cannot be collected.
  • Procedures such as SQL triggers that are not called by programs cannot be monitored.

If you have any questions about collecting application data, submit a ticket or send an email to adam_service@alibaba-inc.com. You must add the error message and contact information to the ticket.

The ADAM client for application data collection consists of a dynamic data collection module and a centralized data collection module.

  • Agent for dynamic data collection: collects basic information of the database that is requested by the application during the runtime of the application, such as the SQL statements, schemas, and call stacks of requests, as well as system information, performance information, and SQL hotspots.
  • Collector for centralized data collection: collects, masks, and processes data from application agents.

Description

  • Collected SQL statements are masked and the request parameters, and returned values of SQL statements are not collected.
  • Data collection is read-only to prevent intrusions to applications.
  • Data collection is automatically suspended during peak hours to restrict the memory usage within the specified range.
  • Dynamic data collection of Java applications in in Tomcat, JBoss, and Oracle WebLogic containers that use JDK 1.6 or later is supported.

Download application data collection tools

Things to know before deployment

  • Basic technical knowledge is required before you deploy the agent. Make sure that the tools are deployed by Java developers.

  • SUN or Oracle JDK, OpenJDK 1.6 and later are supported. IBM JDK is not supported.

  • The decompressed package contains the collector and javaagent directories. The collector is a unified collector deployed independently on a server that does not have online applications to avoid affecting online applications during data processing. The javaagent directory must be copied to the application server to be monitored and deployed with applications to collect data.

  • Make sure that the collector and agent have system operation permissions. Windows applications do not need these permissions. You must use chmod -R 775 collector/ to add system operation permissions to the directories in Unix or Linux.

  • The collector acts as a server and can be deployed with 1 to 20 agents. An agent can only be deployed on a single application server. You can deploy agents on a few machines of a distributed application based on load balancing.

  • Deploy the collector, and then deploy the agent. The application and the collector must be interconnected for centralized masking of data. The machine where the collector is deployed must use JDK 1.6 or later and have a Java Virtual Machine (JVM) memory size of more than 4 GB. The disk volume is determined by the number of monitored applications, monitoring duration, business activity, and the number and sizes of SQL statements. There is no explosive growth of data. You can estimate the data volume based on the data collected within half a day. In most cases, the data volume of a monitored application is less than 1 GB within seven days.

  • The agent requires that the application to be monitored is deployed on a server that uses JDK 1.6 or later. The JVM heap size of the application to be monitored must be at least 300 MB. The supported service containers are Tomcat, JBoss, and WebLogic. Docker images can be deployed to a Container Service for Kubernetes cluster.

  • The agent monitors the SQL statements and call stacks that are used to access Oracle databases. Make sure that all the operations are monitored during the monitoring period of the agent. The application must be monitored when recurring tasks are running. Otherwise, the collected data is incomplete.