Download PDF
Download page Agent Installer.
Agent Installer
Deployment Support
The Agent Installer requires microservices configuration performed by AppDynamics.
The AppDynamics Agent Installer simplifies deployment to instrument your applications faster. You can manage applications instrumented by the Agent Installer with minimal code changes in Monitoring Settings.
Agent Installer Linux and Windows Operating Systems
Deploys Java and Machine Agents.
- Automatically instruments applications.
- Assigns unique names to tiers and nodes.
- Upgrades and rollbacks the agents.
You can deploy other agents using the Getting Started Wizard.
Agent Installer Overview
The Agent Installer works with these items:
- Agent Installer - Executable installer inside the
appdynamics-zero-agent-<version>.zip
. file (representing the Agent Installer Platform). The Agent Installer installs the Agent Installer Platform with Java, and Machine Agents on a system. You access the installer from the Controller UI. - Decorator - Library responsible for automatically instrumenting new processes with AppDynamics APM agents. The library auto-instruments the application and auto-names tiers and nodes for the Controller.
- Agent Installer Platform - Software bundle that manages the Decorator, Java Agent, and Machine Agent. Enables automatic instrumentation and reports the status of various processes to the Controller UI. Collective term for the decorator, agent
daemon
, agent binaries. - Downloader - Script (
zero-agent.sh
) that downloads individual zip files containing the Java and Machine (if applicable) Agents, and Agent Installer Platform. - Watchdog - Agents installed with the Agent Installer can be managed with the W
atchdog
process. - Updater - Responsible for the rollback and upgrade of the monitoring agents.
- Agent Installer - Executable installer inside the
appdynamics-zero-agent-windows-64-<version>.zip
. file (representing the Agent Installer Platform). The Agent Installer installs the Agent Installer Platform with Machine Agent on a system. You access the installer from the Controller UI. - Agent Installer Platform - Software bundle that manages the Machine Agent. Send metrics to the Controller UI. Collective term for the agent
daemon
, agent binaries. - Downloader - Script (
zero-agent.ps1
) that downloads individual zip files containing the Machine Agent, and the Agent Installer Platform. - Watchdog - Agents installed with the Agent Installer can be managed with the W
atchdog
process. - Updater - Responsible for the rollback and upgrade of the monitoring agents.
Agent Installer Requirements
The Agent Installer requires the following components, permissions, and supported environments.
AppDynamics Components
- The Agent Installer requires SaaS Controller => 20.6.0.
- You also need sufficient APM licenses to use the Java and Machine Agents. No additional license is required for the Agent Installer Platform.
Configure and Unblock Your Firewall
You may need to configure your firewall rules to allow outgoing traffic to certain URLs including:
Access to your AppDynamics Controller:
<customername>.saas.appdyanamics.com/*
to allow APM traffic.- Access to the AppDynamics download files site:
accounts.appdynamics.com/downloads
to download the agent binaries.
Agent Installer Permission
To configure access and roles, you must either be the AppDynamics Account owner, or have Administrator permissions.
To use the Agent Installer, you need Install Agent account-level permission and at least one of the following:
- Any default role (except for the Analytics Administrator role)
- Any application-level permission
- Execute Workflow account-level permission
Install Agent permission is not added to any default role.
Supported Environments
This table lists the Agent Installer supported environments. JVM and Application Server requirements only apply if you install the Java Agent. The Agent Installer does not support Windows installations.
Agent Installer Supported Environments | |
---|---|
Operating System | Linux (64 bit). Fully tested flavors:
Other Linux operating systems and versions should work but are not certified by AppDynamics. Windows Server (64 bit). Fully tested flavors:
|
JVM (only on Linux) |
|
Application Server (only on Linux) |
|
See Java Supported Environments and Machine Agent Requirements and Supported Environments for version compatibility.
Agent and Process Limitations
This table lists the active agent registrations, process, and process group limitations for the Agent Installer:
Agent | Maximum Per-Account Limit |
---|---|
Active agent registrations | 1000 |
Process | Maximum Per-Account Limit |
Managed processes | 10,000 |
Unmanaged processes | 10,000 |
Managed processes in a single installation | 100 |
Unmanaged processes in a single installation | 100 |
Process Group | Maximum Per-Account Limit |
Managed process groups | 1000 |
Unmanaged process groups | 1000 |
Managed process groups in a single installation | 100 |
Unmanaged process groups in a single installation | 100 |
Available Agents with the Agent Installer
The Agent Installer deploys the Agent Installer Platform, which downloads monitoring agents to your machine. You can install:
- Java Agent Legacy >= 4.5.19 - only on Linux
- Java Agent JDK8+ >= 22.3.0 - only on Linux
Machine Agent >= 20.3.0
If you install Machine Agent on a host that doesn't have the AppDynamics application agent installed, then the Machine Agent works with the following: application name selected, tier name: your hostname, and node name: hostname <zero-agent-generated-hash-string>
.
Use the Agent Installer to Deploy an Agent
Application names cannot contain a single quotation mark ('). When you install Java JDK8+ with the Agent Installer, the OpenTelemetry resource attributes service.namespace
and service.name
are mapped to the AppDynamics application name and tier name.
To use the Agent Installer to deploy an agent:
- From the Controller UI, select Home > Agent Installer.
From the Specify Application to Deploy to dropdown, select an existing application, or select New application and enter its name.
- Download and run the Agent Installer using either an express installation or a custom installation method.
See Deploy an Agent Using the Agent Installer API.
Express Installation Method
- The Express installation method is selected as the default. You can download and install the latest version of all available agents.
- The Java Agent type, Java JDK8+, is the default for express installation with OpenTelemetry disabled.
- The Machine Agent for express installation disables Server Visibility and .NET Compatibility Mode.
Copy and run the first command to download the latest available agents.
Select (top right corner of the second command) to copy and run the second command to install the agents. Additionally, you can select Show command to reveal the full command with your access key.
- Restart the application processes you want to monitor.
- Click Next to continue with the instrumentation.
After you finish installing the agents, you are redirected to the Monitoring Settings tab to view instrumented tiers and nodes.
Custom Installation Method
Your OpenTelemetry data may transit through regions different from where your Controller is hosted, if you configure your OpenTelemetry Collector using an AppDynamics endpoint located outside of the region, where your Controller is hosted. See Support for AppDynamics for OpenTelemetry™.
- Select Custom installation.
Select the agents Java Agent (Legacy or JKD8+) or Machine Agent you want to install.
- (Optional): Enable OpenTelemetry for Java Agent JDK8+. To do this, add traces exporter, metrics exporter, and OTLP Endpoint.
- (Optional): Enable Server Visibility or .NET Compatibility Mode for the Machine Agent.
Copy and run the command into your terminal (on Linux) / PowerShell (on Windows) window or automated tools.
Determine how to run the Agent Installer by setting user permissions:
Select Instrument processes for all system users (requires
sudo
access) to run the Agent Installer withsudo
permission and enable the Agent Installer Platform for all users on the host.- By default, the services run as root. To configure the services to run as a different user, add the parameter:
--run-as <user>
. - By default, the processes that run by all users will be instrumented. To instrument processes run by specific users, add the parameter:
--filter-by-users <user1>,<user2>
, or the parameter:--filter-by-groups <group1>,<group2>
.
- By default, the services run as root. To configure the services to run as a different user, add the parameter:
Select Instrument processes for an individual user to run the Agent Installer without
sudo
permission and enable the Agent Installer Platform for the current user only. See Sudo vs. Non-Sudo Access.
- By default the installed services run as the
LOCAL SYSTEM
. To configure the services to run as a local service account:Add the
run-as
andpassword
parameters for the Windows account.If a service account is used (e.g.
NT AUTHORITY\LOCAL SERVICE
) then the password parameter will not be provided. Use a password that contains a minimum of sixteen characters.
After confirming the user installation permissions, select (top right corner of the command) to copy and run the command. To reveal the full command with your access key, select Show command.
When you run the command on a designated host, the agent files download onto that host only. To install agents on multiple hosts, select Run the Agent Installer on Multiple Hosts.
Restart the application processes you want to monitor.
- Click Next to continue with the instrumentation.
After you finish installing the agents, you are redirected to the Monitoring Settings tab to view instrumented tiers and nodes.
Sudo Versus Non-Sudo Access (on Linux)
You can run the Agent Installer with or without sudo
permission.
AppDynamics recommends using the sudo
command to install the agents for all users in your system.
This table describes the differences between sudo
and non-sudo
installations:
sudo Installation | Non-sudo Installation | |
---|---|---|
Description | Installs the agents on all supported processes for all users in your system. | Installs the agents for the current user only. |
Automatic Instrumentation Process | By default, integrates with systemd to ensure the agents always run. See Customize the Agent Installer to override this behavior. | Auto-instruments processes that are started by the installing user, running under a Linux shell such as bash . |
Instrument systemd
-Managed Processes in a Non-sudo
Environment
To enable the instrumentation of a systemd
-managed application process in non-sudo
Agent Installer Platform installations, the profile of the systemd
service responsible used to load the application process must define the LD_PRELOAD
environment variable using the path to the decorator library.
The actual path varies based on the operating system and product installation directory. This example shows an updated Apache Tomcat systemd
service profile on CentOS 7:
$ grep LD_PRELOAD /etc/systemd/system/apache-tomcat-7.service Environment=LD_PRELOAD=/home/centos/appdynamics/zeroagent/lib64/libpreload.so
After the profile has been updated, you must reload the systemctl
daemon and restart the application for the changes to take effect:
$ sudo systemctl daemon-reload
$ sudo systemctl restart apache-tomcat-7.service
Run the Agent Installer on Multiple Hosts
You can download the Agent Installer once and run on multiple hosts. To install the agent bundle across multiple hosts, distribute the binaries to all applicable machines. For example, these steps show how to move files across hosts using the tar
command.
- Download the agent bundle. See Use the Agent Installer to Deploy an Agent.
- Distribute the Agent Installer to multiple hosts.
- Make sure you are in the same directory in which you downloaded the agent bundle.
Use the
tar
command to place the script in a single file:tar cvf zero-agent.tar *
BASHCopy the file to multiple hosts:
scp zero-agent.tar <target host>:<directory>
BASHExtract the archived script in the same directory:
tar xvf zero-agent.tar
BASH
- Complete the Agent Installer deployment using the custom installation method.
Customize the Agent Installer
See Customize the Agent Installer.
Upgrade and Rollback the Agent Installer
See Upgrade and Rollback the Agents.
Enable Server Visibility and .NET Compatibility Mode
See Enable Server Visibility and .NET Compatibility Mode with Agent Installer to enable Server Visibility and .NET Compatibility Mode for Machine Agent, using the configure command.
Node Name Format
The Node name format changes starting with versions >=22.4. Upgrading to version 22.4 automatically changes the Node name for the existing environment after restart.
The <serverName>
is applicable for the jboss
appserver type.
Agent Installer Version | Node Name Format | Node Name Example |
---|---|---|
<22.4 | <hostName>-<First 4 systemId><Last 4 systemId>-[hash of Tiername]-<serverName> | ubuntu_host-sefd-er43-rextderutq |
>=22.4 | <hostName>-<First 4 systemId><Last 4 systemId>-[hash of JavaUniquePath]-<serverName> | ubuntu_host-sefd-er43-texdreodrx |
For systems with the Machine Agent enabled, and not the Java Agent enabled, the Node and Tier name have the following format:
Node Name Format | Node Name Example |
---|---|
<hostName>-<First 4 agentId>-<Last 4 agentId>-[hash of agentId] | centos7_j7-4c97-d243-e77979f4d4911864 |
Tier Name Format | Tier Name Example |
---|---|
|
|
Uninstall the Agent Installer
To uninstall the Agent Installer in the terminal, navigate to the directory where the Agent Installer Platform is installed, and run the command:
languagebash<install-directory>/bin/zfictl uninstall
<install-directory>\bin\zfictl.exe uninstall