Linux - Monitoring Extension

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. 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.


For any support questions, please contact AppDynamics Support.





Tested against:

Ubuntu 14.04

Last Update:

17th May, 2017