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 yum to install the library, such as: yum install procps

FedoraInstall the library RPM from the Fedora website: yum install procps
Ubuntu

Use apt-get, such as: sudo apt-get install procps

DebianUse a package manager such as APT to install the library (as described in the previous Ubuntu instructions). 
SUSE 12

Use zypper to install the library, such as: zypper install procps

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

AIXNoNoYes7.1, 7.2*
Linux / ARM64 / AARCH64YesNoNo

AWS Graviton v2 (gp2)*

Linux / CentOS

YesNoNo

6, 7*

Linux / Debian

YesNoNo

8, 9*

Linux / FedoraYesNoNo

28*, 29*

Linux / openSUSE LeapYesNoNo42.1*
Linux / Red Hat Enterprise LinuxYesNoNo

6*, 7*, 8, 9

Linux / SUSE Linux EnterpriseYesNoNo12*, 15*

Linux / Ubuntu

YesNoNo

14.04*, 16.04*, 18.04*

SolarisYesYesNo

10, 11*

Windows

YesNoNo

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:

  1. Use the standalone Machine Agent bundle and your own JRE.
  2. 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:

  1. Provide the following JVM arguments:
    1. -Djavax.net.ssl.trustStore=<absolute_path_to_BCFKS_truststore>
    2. -Djavax.net.ssl.trustStoreType=BCFKS
    3. -Djavax.net.ssl.trustStorePassword=<password_for_truststore>
  2. Add the following security provider class in the java.security file for the JRE used by the Machine Agent:
    1. security.provider.<desired preference order>=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
    2. Replace <desired preference order> with your desired preference order.