Install the AppMon Server

This page details installing the AppMon Server and covers critical information needed before installation. It also covers starting and stopping AppMon Server services and daemons, and notes additional considerations for installing the AppMon Server.

What to know before installing

All platforms

  • Before installing AppMon Server (backend and frontend processes/Windows services/*NIX daemons), see the Deployment Guide to calculate the size of your AppMon deployment and for detailed hardware recommendations specific to your load.
  • You must have a valid AppMon license to start the AppMon Client and begin using AppMon.
  • You must have access to a database of adequate size for the AppMon Performance Warehouse. You can only connect to the Performance Warehouse with a valid license.


  • Installation requires Java Runtime Environment (JRE) 1.8 or later.
  • For AppMon 6.3 and later, init.d shell scripts allow the Server (and Collectors) to start as non-root under the desired user account. If your Linux uses systemd for startup, use the attached systemd script samples, which are the wrappers for init.d.
  • Some Unix and Linux versions set the limit for file handles/sockets as low as 1024. The AppMon Server checks that the OS allows at least for 2048. However, you can quickly outgrow this, with several active System Profiles. As there is no reservation overhead involved, increase the limit generously by adding 50*3*2*System Profiles. The ground of the formula is:
    • 50 files per session
    • maximum 3 writer threads
    • 2 for Backend Server and Frontend Server
    • number of active System Profiles.

Check the hard and soft limits with ulimit -Hn and ulimit -n respectively before making any settings, and increase them if needed. For example, ulimit -n <numberOfFileDescriptors> raises the soft limit of the current user. Add entries for other users/groups to /etc/security/limits.conf. See Number of open files limit on Linux for more information.

Installation directory

Documentation typically refers to the AppMon installation directory as DT_HOME (or <DT_HOME>).

The defaults for DT_HOME are:

  • Windows: C:\ProgramFiles\Dynatrace\Dynatrace <major.minorVersion>.
  • *NIX: /opt/dynatrace-<major.minorVersion>.
    To use this default directory you need to run the cd /opt command before installation as recommended below. Otherwise the server is installed in the current folder.

Installation directory as an environmental variable

You can optionally set the installation directory in an environment variable with the following command:

  • Windows: setx DT_HOME "C:\Program Files\Dynatrace\Dynatrace 7.0". Reference the variable with %DT_HOME%.
  • *NIX: export DT_HOME=/opt/dynatrace-7.0 in ~/.bash_profile or ~/.bashrc, depending on your Unix/Linux version. Reference the variable with $DT_HOME.

The DT_HOME directory structure includes these subdirectories.

Relative Path Contents
<DT_HOME> Executables and the main configuration (.ini) files, such as dtserver.ini.
<DT_HOME>/server/conf Configuration files for dashboards, System Profiles and plugins.
<DT_HOME>/server/sessions Session storage directories for stored or recorded sessions. You may want to change that path in any non-testing scenario due to it's potential large size.

Download and install the server


Download the Windows full installation 64-bit package and execute it. You may go for a custom installation, to install the server only.

The installation creates Start menu entries and registers the AppMon Server to automatically start the Windows service. To get information for debugging a Windows installer problem, run the installer with the following command:

dynatrace-full- /lx c:\debug_log.txt

Linux, AIX and Solaris

Do not run the AppMon Server as root

Use a designated account and run the installation in that account. For AppMon 6.3 and later, you can define DT_RUNASUSER in an install script to prevent running the AppMon Server as root.

  1. Download the Linux/Unix installation package (jar file).

  2. Install the package with these commands:
    cd /opt
    sudo java -jar <pathToJar>/dynatrace-full-<version>-linux-x86-64.jar

  3. Then change user:group by entering the following:
    sudo chown -R <DT_RUNASUSER>:<DT_USER'SGROUP> /opt/dynatrace-7.0

  4. Copy the dynaTraceServer shell script to /etc/init.d.

  5. Define DT_RUNASUSER and, if necessary, other variables like DT_OPTARGS and DT_FE_OPTARGS in the script.

  6. Add this script to the system boot by using chkconfig --add dynaTraceServer or the appropriate command for your distribution. For example, on Debian, use sudo update-rc.d dynaTraceServerNonRoot defaults.


    Without specifying DT_RUNASUSER and registering the script and restarting, the Server starts as root. Locations such as <DT_HOME>/server/osgi and temp then belong to root. To correct this, rerun the chown command.

  7. Check if dtserver runs, and under what user with the list launcher command: ps -eo pid,fname,user|grep dtserver
    If this doesn't work on your Linux flavor, try ps aux|grep dtserver.

    • The first, short output is for the launcher
    • The second, long one is for the Server.
    • The third one is for the Frontend Server, as some libs contain dtserver and the fourth one is for grep.
    • The user the Server runs under is at the very beginning, before the PID.

Sizing and memory

You can set deployment sizing and the associated memory using the AppMon Client at startup. After activating a license, you can choose from a list of predefined deployment sizes.

You can change the selected deployment size at any time later by selecting Settings > Dynatrace Server > Settings > Sizing in the Client, or directly under -memory in DT_HOME/dtserver.ini. See Sizing Settings for more information.