The APM Insight Java Agent is a lightweight, bytecode-instrumentation-based agent that monitors Java application performance. It captures:
Supported Java Versions: JDK 1.6 to 24
Agent Installation Help: Install APM Insight Java Agent
apminsight.conf. Only the initial onboarding keys (license.key, apm.host, application.name, agent.server.port) are set during installation.
Warning: Restart of your application is necessary after agent installation (i.e., application server restart — not just a reload) to start monitoring.
How to verify:
Run the following command on the agent-installed machine to check the Java version used by your application:
java -versionls -l /proc/<PID>/exe or check the process startup command
Requirements:
Resolution (if Java version is not supported):
Outbound communication from the agent-installed machine to the Applications Manager (Host and Port) should be allowed — either directly or via a proxy.
How to verify:
1. From the Applications Manager server, navigate to Settings → Tools → Support → Installation Information to get the Web Server Port & SSL Port.
2. Ensure the same host & port is configured in apm.host of apminsight.conf.
3. Open the configured apm.host URL in a browser on the agent-installed machine and confirm it loads.
4. Run the below connectivity check command from the agent-installed machine:
Linux:
curl -ks http://<hostname>:<port>/index.do | grep -i 'Applications Manager'
Note: Replace http://<hostname>:<port> with the actual apm.host value from apminsight.conf (e.g., https://appmanager.example.com:8443). Use https:// if SSL is enabled, otherwise http://.
Windows (PowerShell as Administrator):
add-type 'using System.Net;using System.Security.Cryptography.X509Certificates;public class TrustAllCertsPolicy : ICertificatePolicy {public bool CheckValidationResult(ServicePoint a,X509Certificate b,WebRequest c,int d){return true;}}';[System.Net.ServicePointManager]::CertificatePolicy=New-Object TrustAllCertsPolicy;(Invoke-WebRequest -Uri 'http://<hostname>:<port>/index.do').Content -split "`n" | Where-Object {$_ -match 'Applications Manager'}
Note: Replace http://<hostname>:<port> with the actual apm.host value from apminsight.conf (e.g., https://appmanager.example.com:8443). Use https:// if SSL is enabled, otherwise http://.
Verify the output contains the text “Applications Manager”.
5. If the output does NOT contain “Applications Manager”, the configured endpoint is incorrect or network/firewall is blocking communication.
Resolution:
apm.host) is configured in apminsight.conf.apminsight.conf:
behind.proxy=true
proxy.server.host=proxyserver
proxy.server.port=proxyport
proxy.auth.username=proxyuser
proxy.auth.password=proxypassword
How to verify:
ps -ef | grep java — note the user in the first column.java.exe, tomcat9.exe) → note the “User name” column.ls -la <agent_directory>Resolution:
chown -R <app_user>:<app_group> <agent_directory>Running multiple bytecode instrumentation agents simultaneously can cause JVM instability, especially during WAR deployments.
How to verify:
Check if other APM agents are loaded in the JVM:
ps -ef | grep java | grep -i "javaagent\|agentpath"
Get-WmiObject Win32_Process -Filter "name='java.exe'" | Select-Object CommandLine | Format-Listapminsight_startup_*.log for Java Arguments line and look for other agent entries.Sample startup log showing competing agent (Dynatrace):
[02 Mar 2026 15:53:29.327][apminsight-services-starter][INFO]: Java Arguments: [..., -javaagent:/opt/apminsight-agent/apminsight-javaagent.jar, -Dapminsight.agent.server.port=8080, ..., -agentpath:/opt/dynatrace/oneagent/agent/lib64/liboneagentloader.so=loglevelcon=none,...]
In the above log, both -javaagent (APM Insight) and -agentpath (Dynatrace) are loaded — this will cause conflicts.
Look for other -javaagent: or -agentpath: entries pointing to agents like Dynatrace, AppDynamics, Glowroot, New Relic, etc.
Resolution:
-javaagent / -agentpath argument from the application server startup configuration.When monitoring multiple Java applications on the same server, each JVM instance must have a separate agent directory to avoid configuration file corruption.
How to verify:
-javaagent arguments across different JVMs point to the same agent directory.apminsight.conf appears empty or truncated, this is likely the cause.Resolution: Use -Dapminsight.home=<path> to specify a unique directory per instance. Refer to Section 4.3 for detailed steps.
Refer: APM Insight Java Agent – Installation Help
-javaagentapminsight-javaagent.zip from Applications Managerapminsight-javaagent.jar — the agentapminsight-javaagent-api.jar — API for custom instrumentationapminsight.conf — configuration fileapminsight.conf with required keys:license.key=<YOUR_LICENSE_KEY>
apm.host=https://<AppManager_Host>:<Port>
application.name=<Your_Application_Name>
agent.server.port=<App_Running_Port>
apm.host=https://primary:8443, https://secondary:8443
-javaagent argument (see Server-Specific Installation Links below or Installation Help)| Apache Tomcat | Install Guide |
| JBoss EAP | Install Guide |
| WildFly | Install Guide |
| Oracle WebLogic | Install Guide |
| IBM WebSphere | Install Guide |
| GlassFish | Install Guide |
| Spring Boot | Install Guide |
| Docker | Install Guide |
| Kubernetes | Install Guide |
| AWS Elastic Beanstalk | Install Guide |
| Azure Web App | Install Guide |
| Other Servers | Install Guide |
How to confirm:
Check apminsight_startup_*.log for the following log patterns:
[24 Jan 2026 10:52:15.320][apminsight-services-starter][WARN]: Connection to https://<host>:<port> has failed
[24 Jan 2026 10:52:15.325][apminsight-services-starter][ERROR]: Exception in Connect. Will try to reconnect after X minute(s).
java.lang.RuntimeException: All endpoints failed, agent dropping request
Resolution:
apm.host of apminsight.conf.apm.host URL in a browser on the agent-installed machine and confirm it loads.curl -ks http://<hostname>:<port>/index.do | grep -i 'Applications Manager'
add-type 'using System.Net;using System.Security.Cryptography.X509Certificates;public class TrustAllCertsPolicy : ICertificatePolicy {public bool CheckValidationResult(ServicePoint a,X509Certificate b,WebRequest c,int d){return true;}}';[System.Net.ServicePointManager]::CertificatePolicy=New-Object TrustAllCertsPolicy;(Invoke-WebRequest -Uri 'http://<hostname>:<port>/index.do').Content -split "`n" | Where-Object {$_ -match 'Applications Manager'}
Note: Replace http://<hostname>:<port> with the actual apm.host value from apminsight.conf (e.g., https://appmanager.example.com:8443). Use https:// if SSL is enabled, otherwise http://.
Verify the output contains the text “Applications Manager”. If not, the configured endpoint is incorrect or network/firewall is blocking communication.
apminsight.conf:
behind.proxy=true
proxy.server.host=proxyserver
proxy.server.port=proxyport
proxy.auth.username=proxyuser
proxy.auth.password=proxypassword
How to confirm:
Check apminsight_startup_*.log for the following log pattern:
[24 Jan 2026 10:53:53.695][apminsight-services-starter][INFO]: Collector Response Code: 901(Invalid agent.)
java.lang.RuntimeException: Agent didnot receive instance-id from server.
Cause: The license.key configured in apminsight.conf does not match the Applications Manager configured in apm.host. Sometimes users configure a different Applications Manager’s license key instead of the one matching the configured apm.host.
Resolution:
apm.host.license.key in apminsight.conf with the copied key.How to confirm:
Check apminsight_startup_*.log for the following log pattern:
[24 Jan 2026 10:52:15.450][apminsight-services-starter][WARN]: SSL handshake failed for <host>: Unsupported curveId: 29
Cause: Old Java 8 version lacks Curve25519 support.
Resolution (choose one):
-Djdk.tls.namedGroups="secp256r1,secp384r1,secp521r1"
How to confirm:
-javaagent or -agentpath arguments in the running process:Linux:
ps -ef | grep java | grep -i "javaagent\|agentpath"Windows (PowerShell):
Get-WmiObject Win32_Process -Filter "name='java.exe'" | Select-Object CommandLine | Format-ListAlso check apminsight_startup_*.log for the Java Arguments line:
[02 Mar 2026 15:53:29.327][apminsight-services-starter][INFO]: Java Arguments: [..., -javaagent:/opt/apminsight-agent/apminsight-javaagent.jar, -Dapminsight.agent.server.port=8080, ..., -agentpath:/opt/dynatrace/oneagent/agent/lib64/liboneagentloader.so=loglevelcon=none,...]
In the above log, both -javaagent (APM Insight) and -agentpath (Dynatrace) are loaded simultaneously — this confirms the conflict.
Look for other agent JARs like Dynatrace (-agentpath:...liboneagentloader...), AppDynamics (-javaagent:...javaagent.jar), Glowroot (-javaagent:...glowroot...), New Relic, etc.
Cause: Multiple bytecode agents cause class transformation conflicts.
Resolution:
-javaagent / -agentpath argument from the application server startup configuration.How to confirm:
apminsight_startup_<timestamp>_<PID>.log
APM Insight javaagent v7.x.x.x successfully hooked up with JVM-javaagent argument was not applied.
Resolution:
-javaagent argument is correctly placed in the appropriate configuration file for your application server.How to confirm:
Check apminsight_startup_*.log for the following log pattern:
[24 Jan 2026 10:53:53.695][apminsight-services-starter][INFO]: Collector Response Code: 701(License expired. Kindly update license!)
Cause: The “APM Insight Java Add-On” license has expired or the add-on license is not enabled on the Applications Manager.
Resolution:
How to confirm:
Check the application server log (server.log) for:
ERROR [stderr] java.lang.NoClassDefFoundError: com/manageengine/apminsight/agent/JavaAgent
Cause: Missing or duplicate -Djboss.modules.system.pkgs argument. For Liferay DXP on JBoss, the OSGi container additionally requires boot delegation configuration.
Resolution:
Step 1: Consolidate into a single -Djboss.modules.system.pkgs argument:
-Djboss.modules.system.pkgs=org.jboss.byteman,com.manageengine
-Djboss.modules.system.pkgs entries. Java only picks up the last one.
Correct file by OS:
| Windows (Standalone) | <JBOSS_HOME>\bin\standalone.conf.bat |
| Linux (Standalone) | <JBOSS_HOME>/bin/standalone.conf |
| Domain Mode | <JBOSS_HOME>/domain/configuration/host.xml |
Step 2 (Liferay DXP on JBoss only): If NoClassDefFoundError persists even after Step 1, Liferay’s OSGi container needs boot delegation configuration. Add to portal-ext.properties:
module.framework.properties.org.osgi.framework.bootdelegation=<existing-values>,com.manageengine.*
Then restart application server.
NoClassDefFoundError in JBoss/WildFly is technically harmless and does not impact monitoring. Consolidating the argument eliminates it from logs.
🔗 Help: JBoss EAP Installation | 🔗 External: Liferay Java Agents
How to confirm:
Adding agent via Management Console can cause startup failures because existing JVM args get overridden.
Resolution: For domain mode, always edit host.xml directly:
<JBOSS_HOME>/domain/configuration/host.xml-javaagent under <jvm-options> for required server groupsHow to confirm:
Agent added to standalone.conf but no apminsight_startup_*.log is created on Windows.
Cause: Windows uses standalone.conf.bat, not standalone.conf.
Resolution: Use the correct file:
| OS | File |
|---|---|
| Windows | standalone.conf.bat |
| Linux | standalone.conf |
How to confirm:
Arguments added via WebLogic Console for Admin Server are not picked up. No apminsight_startup_*.log is created.
Cause: Admin Server startup overrides console-based arguments. The -javaagent option must be added directly in the startup script, after the setDomainEnv.sh call.
Resolution: Use a text editor and edit the startup script directly. Add the -javaagent option to JAVA_OPTIONS after the setDomainEnv call:
Linux: <DOMAIN_HOME>/bin/startWebLogic.sh
# Add AFTER the setDomainEnv.sh call:
JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:<path>/apminsight-javaagent.jar"
Windows: <DOMAIN_HOME>\bin\startWebLogic.cmd
@REM Add AFTER the setDomainEnv.cmd call:
set JAVA_OPTIONS=%JAVA_OPTIONS% -javaagent:<path>\apminsight-javaagent.jar
-javaagent option after the setDomainEnv call in the respective startup scripts.
How to confirm:
Spring Boot runs as Windows Service (via WinSW, procrun, etc.) and no apminsight_startup_*.log is created after adding -javaagent.
Resolution:
.bat or .xml file used for service registration.-javaagent to JVM options in that file.| File | Location | Purpose |
|---|---|---|
apminsight_startup_*.log |
Agent root | First file to check. Startup, config, connection attempts. |
apminsight_agent_*.log |
Instance dir | Ongoing activity, data sending, errors. |
apminsight.conf |
Both | Configuration. Verify key values here. |
| Pattern | Meaning |
|---|---|
successfully hooked up with JVM |
✔ Agent loaded. Good. |
Connection to ... has failed |
⚠ Cannot reach AppManager. Check network. |
SSL handshake failed |
⚠ TLS issue. See Section 4.4. |
Response Code: 901 |
❌ Invalid license key. See Section 4.2. |
Response Code: 701 |
⚠ License expired. See Section 4.7. |
Disabling monitoring |
⏸ Monitor unmanaged from UI. |
Agent shutting down |
🛑 Check preceding logs for cause. |
[24 Jan 2026 10:52:10.120][main][INFO]: APM Insight javaagent v7.x.x.x successfully hooked up with JVM (PID:12345)
[24 Jan 2026 10:52:10.250][main][INFO]: apm.host configured: https://appmanager.example.com:8443
[24 Jan 2026 10:52:10.300][main][INFO]: APM Insight agent started successfully.
[24 Jan 2026 10:52:15.500][apminsight-services-starter][INFO]: Identified 1 contexts. Initiating context registration.
[24 Jan 2026 10:52:15.600][apminsight-services-starter][INFO]: App Server: TOMCAT
[24 Jan 2026 10:52:16.100][apminsight-services-starter][INFO]: Agent successfully connected to the server.
[24 Jan 2026 10:53:20.447][apminsight-2-thread-2][INFO]: Collector Response Code: 911(Manage the agent.)
[24 Jan 2026 10:53:20.447][apminsight-2-thread-2][INFO]: 0 metric(s) dispatched for context ''. Context currently enabled:true
| Overview | APM Insight Java Agent |
| Installation | Install Java Agent |
| Configuration | Java Agent Configuration Options |
| Upgrade/Downgrade | Upgrade Java Agent |
| Supported Servers | Application Servers Supported |
| Supported Databases | Databases Supported |
| JVM Supported | JVM / JDK Supported |
| Multiple Apps (Single Server) | KB: Monitor Multiple Applications |
| Kubernetes | Help: Kubernetes Environment |
| Migration Steps | KB: Migration Steps |
| Troubleshooting Portal | KB: Troubleshooting Tips |
When the agent connects to Applications Manager, the collector responds with a response code logged in apminsight_startup_*.log and apminsight_agent_*.log. Below are the key response codes for reference:
[24 Jan 2026 10:53:53.695][apminsight-services-starter][INFO]: Collector Response Code: 701(License expired. Kindly update license!)
[24 Jan 2026 10:53:53.695][apminsight-services-starter][INFO]: Collector Response Code: 702(Number of instances supported for this license exceeds the limit.)
[24 Jan 2026 10:53:53.695][apminsight-services-starter][INFO]: Collector Response Code: 901(Invalid agent.)
java.lang.RuntimeException: Agent didnot receive instance-id from server.
license.key is invalid or mismatched.[24 Jan 2026 10:53:53.695][apminsight-services-starter][INFO]: Collector Response Code: 900(Delete the agent.)
[24 Jan 2026 10:53:53.695][apminsight-services-starter][INFO]: Collector Response Code: 910(Unmanage the agent.)
[24 Jan 2026 10:53:53.710][apminsight-services-starter][INFO]: Disabling monitoring for context '...'
[26 Feb 2026 15:50:39.609][apminsight-2-thread-2][INFO]: Collector Response Code: 911(Manage the agent.)
[26 Feb 2026 15:50:39.610][apminsight-2-thread-2][INFO]: 47 metric(s) dispatched for context ''. Context currently enabled:true
If the issue persists, gather the following and contact support:
catalina.out, server.log, etc.hs_err_pid*.logjava -version)Contact: appmanager-support@manageengine.com (for existing customers) or eval-itom@manageengine.com (for trial users) along with the above details for further assistance.