Review Provisioning Scenarios for APM Java Agent
There are different scenarios for provisioning the APM Java Agent that show how the APM Java Agent provisioning works in a real environment. Before starting with the installation, review this section and select a provisioning scenario that best suits your needs.
Provisioning Scenarios
Single Server Agent
This is the typical APM Java server agent installation where the APM Java agent is provisioned to each application server installation.
-
If the application server installation allows multiple instances to run simultaneously, every application server instance shares the same APM agent configuration.
-
If different application server instances should use different configurations, group configuration could be used. For details, see Set Up Group Configuration under Perform Optional Configuration Tasks.
-
Upgrade to the APM Java agent needs to be performed on each application server if you want to upgrade the Java agent in the future.
Example 3-1 Deploy APM Java agent in a small environment.
If you have a small environment (i.e. only 3 Tomcat servers) without a network attached storage, APM Agent can be provisioned to each application server separately because APM agent runs independently from each other.
Example 3-2 Load binaries from a shared location is not allowed.
If your IT policy is not to allow loading binaries from a shared location, the APM server agent should be provisioned to each application server installation and configured accordingly.
Example 3-3 Avoid network dependencies.
If you want to prevent APM server agent startup errors in case there are network errors or a NAS is going offline, the APM server agent should be provisioned to each application server installation and configured accordingly.
Shared Agent
Shared agent provisioning works similar to single server agent provisioning, but in a larger scale.
With single server provisioning, APM agents of multiple application server instances on the same host are loaded from the same agent installation. Shared agent provisioning extends that by provisioning an APM agent on a shared location therefore the application servers from the different hosts share one agent installation and the same global configuration.
-
The main advantage of using the shared agent provisioning instead of using the single server method is to have the agent deployment centralized: The agent location is consistent regardless of the host and the application server. Also, the agent upgrade process is simplified to a single installation instead of upgrading each server.
-
All the configurations are read from the provisioning agent, located under the
oracle-apm-agent/config/<version>
directory on the shared location -
The logs are written to the provisioned agent log directory:
oracle-apm-agent/log
on the shared location. -
If different application server instances should use different configurations, group configuration could be used. For details, see Set Up Group Configuration under Perform Optional Configuration Tasks.
-
Upgrade on the APM agent is only required to the agent provisioned on the shared location. All config files are upgraded together too.
-
The shared location must be reliable. If there's a problem with the shared location, the APM agent may fail to start. The APM agent startup relies on Java Instrumentation API therefore if the agent libraries are not accessible at JVM startup then the JVM may fail to start up entirely.