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:

4th July, 2016