Download PDF
Download page Machine Agent Requirements and Supported Environments.
Machine Agent Requirements and Supported Environments
This page lists the application environments and versions supported by the Machine Agent. Any environments or versions that are not listed are not supported.
Machine Agent Supported Platforms
Supported platforms and environments for the Machine Agent depend on the metric data collection extension and the machine's OS. See Machine Agent Metric Collection. Machine Agent >= 21.4.0 collects diskstats
from Linux kernels versions >= 4.18.
The Azul JRE is included as a component in the AppDynamics products and modules. In response to how often Oracle produces and distributes JRE/JDK 8, AppDynamics replaced Oracle JRE with Azul JRE in the 20.5.0 Machine Agent.
JRE Requirements
The Machine Agent requires a Java Virtual Machine (JVM). Downloads for Linux, Windows, and Solaris include the Azul JRE.
The Machine Agent includes the following bundled JREs:
- AARCH64, Linux, Solaris (Solaris_sparcv9), Solaris (Solaris_X64), Windows: JRE 11 as Zulu 11.60 (JDK 11.0.17)
- IBM: JRE 1.8 (Use the JRE 1.8 specific to AIX)
- AIX: Machine Agent without JRE (Use the JRE 1.8 specific to AIX)
For tested platforms listed in the Tested Platforms table, AppDynamics recommends using the latest available Machine Agent release from the AppDynamics Downloads page.
If you upgrade the Linux Machine Agent to 21.1.0, then you must also upgrade all extensions to their latest versions to support Machine Agent 21.1.0.
- To run the Machine Agent on other platforms (such as AIX or HP-UX), use the unbundled Machine Agent ZIP without the JRE. For these platforms, you must install JRE 1.8 on the Machine Agent host.
- If you are using a 64-bit Operating System, use only a 64-bit JRE.
A 64-bit long has a maximum and minimum value of 9223372036854775807 and -9223372036854775808, respectively. To handle large values for metrics, run the Machine Agent using a 64-bit JDK.
JDK/JRE that is bundled with Machine Agent will work only if it meets the compatibility matrix requirements (JDK/JRE version, OS, architecture) listed here: https://www.azul.com/downloads/?version=java-8-lts&os=rhel&architecture=x86-64-bit&package=jre
If bundled JDK/JRE is not compatible with OS and architecture, then we suggest that you install the machine agent supported OS and architecture compatible JDK/JRE to run Machine Agent.
Bash Requirements
Linux and Solaris Machine Agents require Bash >= 3.1.
Required Libraries
Linux systems must include the procps
library.
This table provides instructions on how to install the library on some common flavors of Linux operating systems.
Linux Flavor | Command |
---|---|
Red Hat and CentOS | Use |
Fedora | Install the library RPM from the Fedora website: yum install procps |
Ubuntu | Use |
Debian | Use a package manager such as APT to install the library (as described in the previous Ubuntu instructions). |
SUSE 12 | Use |
Supported Environments
Tested Platforms
Platforms that are currently tested with every release are denoted with an asterisk (*).
OS/Architecture | Architecture x64 (64-bit) | SPARC (64-bit) | POWER (64-bit) | Versions |
---|---|---|---|---|
AIX | No | No | Yes | 7.1, 7.2* |
Linux / ARM64 / AARCH64 | Yes | No | No | AWS Graviton v2 (gp2)* |
Linux / CentOS | Yes | No | No | 6, 7* |
Linux / Debian | Yes | No | No | 8, 9* |
Linux / Fedora | Yes | No | No | 28*, 29* |
Linux / openSUSE Leap | Yes | No | No | 42.1* |
Linux / Red Hat Enterprise Linux | Yes | No | No | 6*, 7*, 8, 9 |
Linux / SUSE Linux Enterprise | Yes | No | No | 12*, 15* |
Linux / Ubuntu | Yes | No | No | 14.04*, 16.04*, 18.04* |
Solaris | Yes | Yes | No | 10, 11* |
Windows | Yes | No | No | 2012, 2012 R2*, 2016*, 2019*, 2022 |
Important
Note that Solaris 10 does not work with JRE 11 and requires JRE 8. The Machine Agent Solaris image comes with JRE 11. You have two options to work around this issue:
- Use the standalone Machine Agent bundle and your own JRE.
- Upgrade to Solaris 11 and use the Machine Agent Solaris bundle.
Other Platforms
These other platforms (supported by JRE 1.8), should also be compatible with the Machine Agent. However, AppDynamics has not fully tested them.
- Oracle JRE 1.8
- IBM SDK, Java Technology Edition, Version 8
- HP JDK/JRE 8
The bundled version of the Machine Agent has been tested successfully on machines based on Power Architecture processors, including PowerPC processors. Server Visibility is only supported on AIX when using the unbundled Machine Agent ZIP without the JRE. When Server Visibility is required, AppDynamics recommends to use the unbundled Machine Agent version.
Hardware and Sizing Requirements
- Agent: One additional GB of RAM.
- Controller: Although we recommend that you install the AppDynamics Controller on a dedicated server, in some cases the Machine Agent can co-exist with the Controller on the same system. The exact number of Machine Agents that can be supported depends on whether other agents are reporting to the same Controller and whether the Machine Agents have Server Visibility enabled (more metrics are generated under Server Visibility). See Controller System Requirements.
JVM Memory Requirements
The lightweight Machine Agent consumes minimal resources of your computer.
To accommodate the Machine Agent, AppDynamics recommends these additional heap and PermGen space sizes:
Maximum heap size (-Xmx): 256 MB
Maximum PermGen heap size (-XX:MaxPermSize): 20 MB
By default, the JVM maximum heap size is set to 256 MB. To override this setting, you can set this flag through the JAVA_OPTS
environment variable on your system. For example, if you enter: export JAVA_OPTS="-Xms20m -Xmx128m
" on Linux, this sets the initial heap size to 20 MB and the max heap size to 128 MB.
Extension Considerations
The exact CPU or memory overhead added by the agent can vary based on the extensions used and whether the extensions are Java. Java extensions require more heap space; the amount required depends on how you code the extension. If you start adding extensions, you should increase the maximum heap space to 256 MB or 512 MB. Additionally, you may need to increase the size of the initial memory allocation. Monitor the memory consumption of the agent to ensure that there are sufficient resources allocated to it. You can also enable Garbage Collection logging on the JVM to fine tune the heap size for the extensions.
These are example settings to increase the initial heap size:
- Linux and Unix systems:
<machine_agent_home>/bin/machine-agent -Xms64m
- Windows:
cscript <machine_agent_home>\machine-agent.vbs -Xms64m
Federal Information Processing Standards (FIPS) Compliance
The Machine Agent >= 22.3.0 is FIPS 140-2 compliant.
To use the FIPS-compliant BCFKS truststore for the Machine Agent:
- Provide the following JVM arguments:
-Djavax.net.ssl.trustStore=<absolute_path_to_BCFKS_truststore>
-Djavax.net.ssl.trustStoreType=BCFKS
-Djavax.net.ssl.trustStorePassword=<password_for_truststore>
- Add the following security provider class in the
java.security
file for the JRE used by the Machine Agent:security.provider.<desired preference order>=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
- Replace
<desired preference order>
with your desired preference order.