Download PDF
Download page Prepare Linux for the Controller.
Prepare Linux for the Controller
This page describes the configuration requirements and considerations for using a Linux system as a Controller host machine.
User Account Requirements
The user account you use to perform the installation must have the following permissions:
- read, write and execute permissions on the directory where you install the Controller
- write permission on the
/
etc/.java/.systemprefs
directory
If you are installing other AppDynamics Platform server components, such as the EUM Server or Application Analytics Processor, on the same machine, it is recommended that you perform the installation as the same user or a user with the same permissions on the target machine.
Virus Scanners
Configure virus scanners on the target machine to ignore the AppDynamics Enterprise Console directory and database directory (or simply the entire Controller directory). Code is never executed from the data directory, so it is generally safe to exclude this directory from virus scanning. The default location of the data directory is <controller_home>/db/data
.
Also configure virus scanners to trust the Controller launcher, database executable, reporting service launcher, and events service (analytics processor) launchers. The launcher names are:
- Controller launcher:
AppDynamicsDomain1Service.sh
- MySQL executable:
mysqld.sh
- Events service launcher:
analytics-processor.sh
- Reporting service launcher:
appdynamicsreportingservice.sh
Anti-virus Exclusions
If you are running an antivirus program on your Linux system, it must meet one of the following conditions:
- The anti-virus program is read-only; it only detects and reports issues but never modifies files
- The anti-virus program excludes the MySQL data directory (
datadir
), which is often set to the pathdb/data
.
If the program does not meet either of those conditions, it can randomly corrupt the MySQL database and hence the controller.
netstat Network Utility
Verify that your distribution of Linux includes the netstat
network utility. If it does not, install the utility. The Controller installation uses netstat
to determine whether MySQL processes are running.
For example, you can install the package that includes netstat
with the following command on CentOS:
yum install net-tools
libaio Requirement
The Controller requires the libaio
library to be on the system. This library facilitates asynchronous I/O operations on the system. Note if you have a NUMA based architecture, then you are required to install the numactl
package.
Install libaio
on the host machine if it does not already have it installed. The following table provides instructions on how to install libaio
for some common flavors of Linux operating system.
Linux Flavor | Command |
---|---|
Red Hat and CentOS | Use
|
Fedora | Install the library RPM from the Fedora website:
|
Ubuntu | Use apt-get, such as:
|
Debian | Use a package manager such as APT to install the library (as described for the Ubuntu instructions above). |
tzdata Requirement
Ubuntu version 16 and higher requires the tzdata
package in order to install the Enterprise Console and Controller.
tzdata
package is also required by the MySQL connector.
To install tzdata
, use apt-get
, such as:
sudo apt-get install tzdata
Configure User Limits in Linux
AppDynamics requires the following hard and soft per-user limits in Linux:
- Open file descriptor limit (
nofile
): 65535 - Process limit (
nproc
): 8192
The following log warnings may indicate insufficient limits:
- Warning in database log: "Could not increase number of max_open_files to more than xxxx".
- Warning in server log: "Cannot allocate more connections".
To check your existing settings, as the root user, enter the following commands:
ulimit -S -n ulimit -S -u
The output indicates the soft limits for the open file descriptor and soft limits for processes, respectively. If the values are lower than recommended, you need to modify them.
Where you configure the settings depends upon your Linux distribution:
- If your system has a
/etc/security/limits.d
directory, add the settings as the content of a new, appropriately named file under the directory. - If it does not have a
/etc/security/limits.d
directory, add the settings to/etc/security/limits.conf
. - If your system does not have a
/etc/security/limits.conf
file, it is possible to put theulimit
command in/etc/profile
. However, check the documentation for your Linux distribution for the recommendations specific for your system.
To configure the limits:
- Determine whether you have a
/etc/security/limits.d
directory on your system, and take one of the following steps depending on the result:- If you do not have a
/etc/security/limits.d
directory:As the root user, open the
limits.conf
file for editing:/etc/security/limits.conf
Set the open file descriptor limit by adding the following lines, replacing
<login_user>
with the operating system username under which the Controller runs:<login_user> hard nofile 65535 <login_user> soft nofile 65535 <login_user> hard nproc 8192 <login_user> soft nproc 8192
- If you do have a
/etc/security/limits.d
directory:As the root user, create a new file in the
limits.d
directory. Give the file a descriptive name, such as the following:/etc/security/limits.d/appdynamics.conf
In the file, add the configuration setting for the limits, replacing
<login_user>
with the operating system username under which the Controller runs:<login_user> hard nofile 65535 <login_user> soft nofile 65535 <login_user> hard nproc 8192 <login_user> soft nproc 8192
- If you do not have a
Enable the file descriptor and process limits as follows:
This step is not required for RHEL/CentOS version 5 and later. The below file has been combined into
/etc/pam.d/system-auth
, and already contains the required line.Open the following file for editing:
/etc/pam.d/common-session
Add the line:
session required pam_limits.so
- Save your changes to the file.
When you log in again as the user identified by login_user
, the limits will take effect.
Fonts Needed for the Reporting Service
The Reporting Service depends upon certain system libraries and resources that are usually included in standard Linux distributions. However, certain lightweight flavors of Linux may be lacking the requirements, primarily font libraries. The Reporting Service requires Fontconfig and FreeType installed as well as at least one sans-serif font. Errors in the reporting server log will indicate missing components, such as a missing libfontconfig.so
file.
The following table lists one operating systems and the commands to install the required libraries:
Operating System | Command |
---|---|
CentOS 6.1, 6.2; CentOS 6.3, 6.4, and 6.5, Fedora 14 | $ yum install fontconfig freetype urw-base35-fonts
|
CentOS 7.x, Redhat 7.x |
|
Ubuntu 8, 12, 14 |
|
Ubuntu 13 |
|
See Administer the Reporting Service for information on configuring the service.
GNU C Libraries
The Reporting Service requires GLIBCXX_3.4.9 or later and GLIBC_2.7 or later to run.
For more information and download instructions, see https://www.gnu.org/software/libc/.