AppDynamics Extension for Linux Monitoring

This extension works only with the standalone machine agent.

Use Case

The Linux monitoring extension gathers metrics for a Linux machine and sends them to the AppDynamics Metric Browser.


  1. Download and unzip the LinuxMonitor zip file into the <machineagent install dir>/monitors/ directory.
  2. Configure the extension by referring to the below section.
  3. Restart the Machine Agent.

In the AppDynamics Metric Browser, look for: Application Infrastructure Performance | <Tier> | Individual Nodes | <Node> | Custom Metrics | Linux (or the custom path you specified).


Note : Please make sure not to use tab (\t) while editing yaml files. You can validate the yaml file using a yaml validator

  1. Configure the Linux Extension by editing the config.yml file in <MACHINE_AGENT_HOME>/monitors/LinuxMonitor/.
  2. Configure the path to the config.yml file by editing the in the monitor.xml file in the <MACHINE_AGENT_HOME>/monitors/LinuxMonitor/ directory. Below is the sample

         <!-- config file-->
         <argument name="config-file" is-required="true" default-value="monitors/LinuxMonitor/config.yml" />


Metric Category: CPU
Metric NameDescription
iowaitIO Wait
CPU cores (logical)Number of CPU cores
Metric Category: disk
Metric NameDescription
I/Os currently in progressCurrent I/O operations
reads completed successfullyNumber of successfull reads
reads mergedReads merged
sectord readSectors read
sectors writtenSectors written
time spent doing I/Os(ms)time in ms spent doing I/Os
time spent reading(ms)time in ms spent reading
time spent writing(ms)time in ms spent writing
writes completedNumber of writes completed
writes mergedNumber of writes merged
Avg I/O Utilization %Percentage of CPU time during which I/O requests were issued to the device
Metric Category: Disk Usage
Metric NameDescription
size (MB)size (MB)
used (MB)used (MB)
available (MB)available (MB)
use %use %
Metric Category: file
Metric NameDescription
agelimitAge limit
Metric Category: load average
Metric NameDescription
load avg (1 min)Load average 1 Minute
load avg (5 min)Load average 5 Minute
load avg (15 min)Load average 15 Minute
Metric Category: memory
Metric NameDescription
commit limitCommit limit
real freeReal free
real free %Real free percent
used %Used percent
Metric Category: network
Metric NameDescription
receive bytesReceive bytes
receive compressedReceive compressed
receive dropReceive drop
receive errsReceive errors
receive packetsReceive packets
transmit bytesTransmit bytes
transmit compressedTransmit compresses
transmit dropTransmit drop
transmit errsTransmit errors
transmit packetsTransmit packets
Metric Category: page
Metric NameDescription
page faultPage fault
page inPage in
page outPage out
swap page inSwap page in
swap page outSwap page out
Metric Category: process
Metric NameDescription
blockedBlocked processes
countTotal number of processes
processesNnumber of processes
runningRunning processes
runqueueProcesses in run queue
Metric Category: socket
Metric NameDescription
rawRaw sockets
tcpTCP sockets
udpUDP sockets
usedUsed sockets
Metric Category: nfsMountStatus

An availability status for any external network file system (NFS) mounts is reported by executing the command df | grep <fileSystem> | wc -l.

Metric Category: nfsIOStats

The storage metrics for any external network file system (NFS) mounts is reported by executing the command iostat -d <fileSystem>. Following metrics are reported:

Metric NameDescription
tpsNumber of transfers per second issued to the device
kB_read/sAmount of data, in number of blocks(in kilobytes) read from device per second
kB_readThe total number of blocks (kilobytes) read
kB_wrtn/sAmount of data written to the device, in a number of blocks (kilobytes) per second
kB_wrtnThe total number of blocks (kilobytes) written
The file systems to be monitored are to be configured in config.yml.

      - fileSystem: "/dev/sdb"
        displayName: "NFS1"
      - fileSystem: "/dev/sda"
        displayName: "NFS2"

Note : By default, a Machine agent or a AppServer agent can send a fixed number of metrics to the controller. To change this limit, please follow the instructions mentioned here. For eg.

    java -Dappdynamics.agent.maxMetrics=2500 -jar machineagent.jar

Custom Dashboard


Always feel free to fork and contribute any changes directly via GitHub.

Credentials Encryption

Please visit this page to get detailed instructions on password encryption. The steps in this document will guide you through the whole process.

Extensions Workbench

Workbench is an inbuilt feature provided with each extension in order to assist you to fine tune the extension setup before you actually deploy it on the controller. Please review the following document on How to use the Extensions WorkBench


Please follow the steps listed in this troubleshooting-document in order to troubleshoot your issue. These are a set of common issues that customers might have faced during the installation of the extension. If these don't solve your issue, please follow the last step on the troubleshooting-document to contact the support team.

Support Tickets

If after going through the Troubleshooting Document you have not been able to get your extension working, please file a ticket and add the following information.

Please provide the following in order for us to assist you better.

  1. Stop the running machine agent .
  2. Delete all existing logs under <MachineAgent>/logs.
  3. Please enable debug logging by editing the file <MachineAgent>/conf/logging/log4j.xml. Change the level value of the following <logger> elements to debug.
    • <logger name="com.singularity">
    • <logger name="com.appdynamics">
  4. Start the machine agent and please let it run for 10 mins. Then zip and upload all the logs in the directory <MachineAgent>/logs/*.
  5. Attach the zipped <MachineAgent>/conf/* directory here.
  6. Attach the zipped <MachineAgent>/monitors/ExtensionFolderYouAreHavingIssuesWith directory here .

For any support related questions, you can also contact





Tested against:

Ubuntu 14.04

Last Update: