Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Linux default checks and policies

Agent Client Collector provides the following default checks and policies for Linux Metrics monitoring.

Linux monitoring metrics checks

CheckMetric NameResourceDescriptionUnitsFeatured MetricAnomaly Detection
os.linux.metrics-process-usageproc.acc.runningprocess-nameNumber of processes running with this name\(acc\)count  
proc.acc.cpuPercentprocess-namePercentage of cpu taken by the process.percent  
proc.acc.​memPercentprocess-namePercentage of memory taken by the process.percent  
os.linux.metrics-reboot-count-todayreboot.count.todayemptyNumber of reboot done on todaycount  
os.linux.metrics-system-cpucpu.total.usertotalNormal processes executing in user mode; cpu.total.user is the total of the cpuN.user metrics.count  
cpu.total.nicetotalNiced processes executing in user mode; cpu.total.nice is the total of the cpuN.nice metrics.count  
cpu.total.systemtotalTime the CPU spent running the kernel; cpu.total.system is the total of the cpuN.system metrics.sec  
cpu.total.idletotalTotal time the CPU spent in an idle state.; cpu.total.idle is the total of the cpuN.idle metrics.sec  
cpu.total.iowaittotalTotal time the CPU spent waiting for IO operations to complete.; cpu.total.iowait is the total of the cpuN.iowait metrics.sec  
cpu.total.irqtotalTotal time that the processor is spending on handling Interrupts.; cpu.total.irq is the total of the cpuN.irq metrics.sec  
cpu.total.softirqtotalTime spent on servicing soft interrupt requests; cpu.total.softirq is the total of the cpuN.softirq metrics.sec  
cpu.total.stealtotalTotal time the virtual CPU spent waiting for the hypervisor to service another virtual CPU. Only applies to virtual machines.sec  
cpu.total.guesttotalTotal time the CPU spent running the virtual processor. Only applies to hypervisors.sec  
cpu.total.guest\_nicetotalTotal time the CPU spent running as nice guest OS. cpu.total.guset\_nice si the total of the cpuN.guest\_nice metricssec  
cpu.<cpu-core>.usercpu-coreTime spent with normal processing in user mode.sec  
cpu.<cpu-core>.nicecpu-coreTime spent with niced processes in user mode.sec  
cpu.<cpu-core>.systemcpu-coreTime spent running in kernel mode.sec  
cpu.<cpu-core>.idlecpu-coreTime spent in vacations twiddling thumbs.sec  
cpu.<cpu-core>.iowaitcpu-coreTime spent waiting for I/O to completed. This is considered idle time too.sec  
cpu.<cpu-core>.irqcpu-coreTime spent serving hardware interrupts.sec  
cpu.<cpu-core>.softirqcpu-coreTime spent serving software interrupts.sec  
cpu.<cpu-core>.stealcpu-coreTime stolen by other operating systems running in a virtual environment.sec  
cpu.<cpu-core>.guestcpu-coreTime spent for running a virtual CPU or guest OS under the control of the kernel.sec  
cpu.<cpu-core>.guest\_nicecpu-coreTotal time the CPU spent running as nice guest OS.sec  
cpu.intremptyInterrupts serviced since boot time.sec  
cpu.ctxtemptyTotal number of context switches across all CPUs.count  
cpu.btimeemptyThe time the system bootedsec  
cpu.processesemptyThe number of processes and threads created, which includes \(but is not limited to\) those created by calls to the fork\(\) and clone\(\) system calls.count  
cpu.procs\_runningemptyThe total number of processes running on all CPUs.count  
cpu.procs\_blockedemptyThe number of processes currently blocked, waiting for I/O to complete.count  
cpu.cpu\_countemptyNumber of cpu on the systemcount  
cpu.<cpu-core>.corescpu-coreThe number of CPU corescore count  
os.linux.metrics-system-cpu-loadload\_avg.oneemptyThe average system load over one minute.thread countyesyes
load\_avg.fiveemptyThe average system load over five minutes.thread countyesyes
load\_avg.fifteenemptyThe average system load over fifteen minutes.thread countyesyes
load\_avg.norm.oneemptyThe average system load over one minute normalized by the number of CPUs.thread count  
load\_avg.norm.fiveemptyThe average system load over five minutes normalized by the number of CPUs.thread count  
load\_avg.norm.fifteenemptyThe average system load over fifteen minutes normalized by the number of CPUs.thread count  
os.linux.metrics-system-cpu-percentagecpu.avgutilization\_​percentageemptyPercent of cpu was used on averagepercent  
cpu.user\_​percentageemptyPercent of time total cpu was used by normal processes in user modepercentyesyes
cpu.nice\_​percentageemptyPercent of time all cpus used by niced processes in user modepercentyesyes
cpu.system\_​percentageemptyThe percent of time the CPU spent running the kernel.percentyesyes
cpu.idle\_percentageemptyPercent of time all cpus were idlepercentyesyes
cpu.iowait\_​percentageemptyPercent of time all cpus waiting for I/O to completepercentyesyes
cpu.irq\_percentageemptyPercent of time all cpus servicing interruptspercentyesyes
cpu.softirq\_​percentageemptyPercent of time all cpus servicing software interruptspercentyesyes
cpu.steal\_​percentageemptyPercent of time all cpus serviced virtual hosts operating systemspercentyesyes
cpu.guest\_​percentageemptyPercent of time all cpus serviced guest operating systempercentyesyes
os.linux.metrics-system-diskdisk.<disk-name>.readsdisk-nameTotal number of reads completed successfully.countyesyes
disk.<disk-name>.readsMergeddisk-nameTotal number of reads mergedcount  
disk.<disk-name>.sectorsReaddisk-nameTotal number of sectors read successfully.count  
disk.<disk-name>.readTimedisk-nameTotal number of milliseconds spent by all reads.millisec  
disk.<disk-name>.writesdisk-nameTotal number of writes completed successfully.countyesyes
disk.<disk-name>.writesMergeddisk-nameTotal number of writes mergedcount  
disk.<disk-name>.sectorsWrittendisk-nameTotal number of sectors written successfully.count  
disk.<disk-name>.writeTimedisk-nameTotal number of milliseconds spent by all writes.misllisec  
disk.<disk-name>.ioInProgressdisk-nameTotal number of I/Os currently in progresscount  
disk.<disk-name>.ioTime Total time spent doing I/Osmillisecyesyes
disk.<disk-name>.ioTimeWeighteddisk-nameTotal time spent doing I/Os. This can provide an easy measure of both I/O completion time and the backlog that may be accumulating.millisec  
os.linux.metrics-system-disk-capacitydisk.<file-system-name>.totalfile-system-nameThe total size of the file system.byte  
disk.<file-system-name>.usedfile-system-nameThe total amount of space allocated to existing files in the file system.byte  
disk.<file-system-name>.availfile-system-nameThe total amount of space available within the file system.byte  
disk.<file-system-name>.used\_percentagefile-system-nameThe percentage of the available space that currently allocated to all files on the file system.percent  
disk.<file-system-name>.itotalfile-system-nameThe total number of inodes on the file system.count  
disk.<file-system-name>.iusedfile-system-nameThe number of used inodes.count  
disk.<file-system-name>.iavailfile-system-nameThe number of free \(unused\) inodes.count  
disk.<file-system-name>.iused\_percentagefile-system-nameThe percentage of used inodes.percent  
os.linux.metrics-system-disk-usagedisk\_usage.<disk>.totaldisk-nameTotal amount of space available on this diskbytes  
disk\_usage.<disk>.useddisk-nameTotal amount of space used in this diskbytes  
disk\_usage.<disk>.availdisk-nameTotal amount of space available on this diskbytes  
disk\_usage.<disk>.used\_​percentagedisk-nameThe percentage of space used on this diskpercentyesyes
os.linux.metrics-system-memoryos.​linux.metrics-system-​memory-percentmemory.totalemptyTotal usable RAM.KB  
memory.freeemptyTotal free RAM.KB  
memory.availableemptyAn estimate of how much memory is available for starting new applications, without swapping.KB  
memory.buffersemptyTemporary storage used for raw disk blocks.KB  
memory.cachedemptyIn-memory cache for files read from disk \(the page cache\). Does not include mem\_swapcached.KB  
memory.swapTotalemptyTotal amount of swap space available.KByesyes
memory.swapFreeemptyAmount of swap space that is currently unused. yesyes
memory.dirtyemptyMemory which is waiting to get written back to the disk.KB  
memory.swapUsedemptyThe amount of swap space in use.KByesyes
memory.usedemptyThe amount of RAM in use.KB  
memory.​usedWOBuffersCachesemptyThe amount of memory in use.KB  
memory.​freeWOBuffersCachesemptyValue of MemAvailable from /proc/meminfo if present, but falls back to adding free + buffered + cached memory if not.KB  
memory.​swapUsedPercentageemptyPercent of swap space used.percent  
memory\_percent.​freeemptyPercent of free RAMpercentyesyes
memory\_percent.​availableemptyPercent of Mem availablepercentyesyes
memory\_percent.​buffersemptyPrecent of Memory used for raw disk blockspercentyesyes
memory\_percent.​cachedemptyPercent of memory used for in-memory cache for files read from diskpercentyesyes
memory\_percent.​dirtyemptyPercent of memory waiting to get written back to the disk.percentyesyes
memory\_percent.​swapUsedemptyPercent of swap space used.percentyesyes
memory\_percent.​usedWOBuffersCachesemptyPercent of memory is being usedpercentyesyes
memory\_percent.​freeWOBuffersCachesemptyPercent of Memory availablepercentyesyes
os.linux.metrics-​system-uptimesystem.uptime\(sec\)emptyThe amount of time the system has been working and available.sec  
os.linux.metrics-​memory-vmstatvmstat.nr\_free\_pagesemptyPages that are currently unused by the system.pages  
vmstat.nr\_alloc\_​batchemptypages allocated to other domains due to insufficient memory in each domain of each NUMApages  
vmstat.nr\_​inactive\_anonemptymemory pages in each domain of each NUMA node that have not been accessed for a long timepages  
vmstat.nr\_active\_​anonemptyAnonymous virtual memory pages that have been recently usedKB  
vmstat.nr\_inactive\_​fileemptyThe memory page corresponding to the file that has not been accessed for a long time in each domain of each NUMA.KB  
vmstat.nr\_active\_​fileemptyThe memory page corresponding to the file that has been accesseed recently .pages  
vmstat.nr\_​unevictableemptyThe number of pages is in the unevictable \(non-\)LRU listcount  
vmstat.nr\_​mlockemptyPages mapped into a VM\_LOCKED VMA - are a class of unevictable pages.pages  
vmstat.nr\_anon\_​pagesemptyMemory mapped pages that is not part of a file.pages  
vmstat.nr\_​mappedemptyThe number of memory mapped pages.count  
vmstat.nr\_file\_​pagesempty    
vmstat.nr\_​dirtyemptyPages waiting to be written to diskpages  
vmstat.nr\_​writebackemptyPages currently being written to diskpages  
vmstat.nr\_slab\_​reclaimableemptyPages from the kernel slab memory usage that can be reclaimedpages  
vmstat.nr\_slab\_​unreclaimableemptyPages from the kernel slab memory usage that cannot be reclaimedpages  
vmstat.nr\_page\_table\_​pagesemptyPages allocated to page tablespages  
vmstat.nr\_kernel\_​stackemptyAmount of memory allocated to kernel stacks.KB  
vmstat.nr\_unstableemptyThe number of unstable pages in each domain of each NUMA nodecount  
vmstat.nr\_bounceempty    
vmstat.nr\_vmscan\_​writeemptyThe number of dirty pages written back during a scan of LRU\(s\)count  
vmstat.nr\_vmscan\_​immediate\_reclaimempty    
vmstat.nr\_writeback\_​tempempty    
vmstat.nr\_isolated\_​anonemptyThe number of anonymous memory pages isolated in each domain of each NUMA nodecount  
vmstat.nr\_​isolated\_fileemptyThe number of pages of file storage pages isolated in each domain of each NUMA nodecount  
vmstat.nr\_shmememptyThe number of shared memory pagescount  
vmstat.nr\_dirtiedemptyThe number of dirty pages in each domain of each NUMA nodecount  
vmstat.nr\_writtenempty    
vmstat.numa\_hitemptyThe number of pages that were successfully allocated to this node.count  
vmstat.numa\_missemptyThe number of pages that were allocated on this node because of low memory on the intended node.count  
vmstat.numa\_​foreignemptyThe number of pages initially intended for this node that were allocated to another node instead.count  
vmstat.numa\_​interleaveemptyThe number of interleave policy pages successfully allocated to this node.count  
vmstat.numa\_localemptyThe number of pages successfully allocated on this node, by a process on this nodecount  
vmstat.numa\_otheremptyThe number of pages allocated on this node, by a process on another node.count  
vmstat.workingset\_​refaultempty    
vmstat.workingset\_​activateempty    
vmstat.workingset\_​nodereclaimempty    
vmstat.nr\_anon\_transparent\_​hugepagesempty    
vmstat.nr\_free\_cmaemptyFree continuous memory allocator pages in each domain of each NUMA   
vmstat.nr\_dirty\_​thresholdempty    
vmstat.nr\_dirty\_​background\_thresholdempty    
vmstat.pgpginemptyThe number of pages brought in from diskcount  
vmstat.pgpgoutemptyThe number of pages written out to diskcount  
vmstat.pswpinemptyThe number of pages brought in from swap spacecount  
vmstat.pswpoutemptyThe number of pages swapped out into swap spacecount  
vmstat.pgalloc\_dmaempty    
vmstat.pgalloc\_​dma32empty    
vmstat.pgalloc\_​normalempty    
vmstat.pgalloc\_​movableempty    
vmstat.pgfreeemptyThe number of pages are free since last bootcount  
vmstat.pgactivatemptyNumber of page activations since last bootcount  
vmstat.pgdeactivateemptyNumber of page deactivations since last bootcount  
vmstat.pgfaultemptyMinor faults since last bootpages  
vmstat.pgmajfaultemptyMajor faults since last bootpages  
vmstat.pglazyfreedempty    
vmstat.pgrefill\_dmaempty    
vmstat.pgrefill\_dma32empty    
vmstat.pgrefill\_normalemptyNumber of page refills since last bootcount  
vmstat.pgrefill\_​movableempty    
vmstat.pgsteal\_​kswapd\_dmaempty    
vmstat.pgsteal\_​kswapd\_dma32empty    
vmstat.pgsteal\_​kswapd\_normalempty    
vmstat.pgsteal\_​kswapd\_movableempty    
vmstat.pgsteal\_​direct\_dmaempty    
vmstat.pgsteal\_​direct\_dma32empty    
vmstat.pgsteal\_​direct\_normalempty    
vmstat.pgsteal\_​direct\_movableempty    
vmstat.pgscan\_​kswapd\_dmaempty    
vmstat.pgscan\_​kswapd\_dma32empty    
vmstat.pgscan\_​kswapd\_normalemptyNumber of pages scanned by kswapd since bootcount  
vmstat.pgscan\_​kswapd\_movableempty    
vmstat.pgscan\_​direct\_dmaempty    
vmstat.pgscan\_​direct\_dma32empty    
vmstat.pgscan\_​direct\_normalemptyNumber of pages reclaimed since bootcount  
vmstat.pgscan\_​direct\_movableempty    
vmstat.pgscan\_​direct\_throttleempty    
vmstat.zone\_​reclaim\_failedempty    
vmstat.pginodestealempty    
vmstat.slabs\_scannedempty    
vmstat.kswapd\_​inodestealempty    
vmstat.kswapd\_low\_​wmark\_hit\_quicklyempty    
vmstat.kswapd\_high\_​wmark\_hit\_quicklyempty    
vmstat.pageoutrunemptyNumber of times kswapd called page reclaimcount  
vmstat.allocstallemptyNumber of times page reclaim was called directly \(low memory\)count  
vmstat.pgrotatedempty    
vmstat.drop\_​pagecacheempty    
vmstat.drop\_​slabempty    
vmstat.numa\_pte\_​updatesempty    
vmstat.numa\_huge\_​pte\_updatesempty    
vmstat.numa\_hint\_​faultsempty    
vmstat.numa\_hint\_​faults\_localempty    
vmstat.numa\_pages\_​migratedempty    
vmstat.pgmigrate\_​successempty    
vmstat.pgmigrate\_failempty    
vmstat.compact\_​migrate\_scannedempty    
vmstat.compact\_​free\_scannedempty    
vmstat.compact\_​isolatedempty    
vmstat.compact\_​stallemptyThe number of times a process stalls to run memory compaction so that a huge page is free for use.count  
vmstat.compact\_failemptyThe number of times the system tries to compact memory but failed.count  
vmstat.compact\_​successemptyThe number of times the system compacted memory and freed a huge page for use.count  
vmstat.htlb\_buddy\_​alloc\_successempty    
vmstat.htlb\_buddy\_​alloc\_failempty    
vmstat.unevictable\_​pgs\_culledempty    
vmstat.unevictable\_​pgs\_scannedempty    
vmstat.unevictable\_​pgs\_rescuedempty    
vmstat.unevictable\_​pgs\_mlockedempty    
vmstat.unevictable\_​pgs\_munlockedempty    
vmstat.unevictable\_​pgs\_clearedempty    
vmstat.unevictable\_​pgs\_strandedempty    
vmstat.thp\_fault\_allocemptyThe number of huge pages is successfully allocated to handle a page fault.count  
vmstat.thp\_fault\_​fallbackemptyThe number of page fault fails to allocate a huge page and instead falls back to using small pages.count  
vmstat.thp\_collapse\_allocemptyThe number of collapse of a range of pages into one huge page and then successfull allocation of a new huge page to store the data.count  
vmstat.thp\_collapse\_​alloc\_failedemptyThe number of collapse of a range of pages into one huge page but failed the allocation.count  
vmstat.thp\_splitemptyThe number of split of a huge page into base pagescount  
vmstat.thp\_zero\_​page\_allocemptyThe number of successful allocation of huge zero pagecount  
vmstat.thp\_zero\_​page\_alloc\_failedemptyThe number of times the kernel failed to allocate huge zero page and falls back to using small pages.count  
vmstat.balloon\_inflateempty    
vmstat.balloon\_​deflateempty    
vmstat.balloon\_​migrateempty    
os.linux.metrics-process-statusproc.<process>.VmSizeprocess-nameThe total amount of virtual memory used by the processKB  
proc.<process>.VmRSSprocess-nameThe non-swapped physical memory a process has usedKB  
proc.<process>.VmSwapprocess-nameThe total amount of swap space used.KB  

Linux network monitoring checks

Note: When upgrading from an earlier version, manually add the checks in this table to the Linux metrics policy.

TypeCheckDescriptionUsage and usage exampleMetrics collectedFeatured Metric
Metricos.linux.metrics-network-interfaceRetrieves all network interface related metrics for Linux servers.Usage: - -x, excludeinterface: List of interfaces to exclude \(comma separated\) - -i, includeinterface: List of interfaces to include \(comma separated\) - -I, includeinterfaceregex: Regex matching interfaces to include - -X, excludeinterfaceregex: Regex matching interfaces to exclude Usage example: `command: metrics-network-interface.rb`- rxBytes \(featured metric\) - rxPackets \(featured metric\) - rxErrors - rxDrops \(featured metric\) - rxFifo - rxFrame - rxCompressed - rxMulticast - rxBytes \(featured metric\) - rxPackets \(featured metric\) - rxErrors - rxDrops \(featured metric\) - rxFifo - rxColls - rxCarrier - rxCompressedyes
Metricos.linux.metrics-netstat-tcpRetrieves metrics on TCP socket states from netstat. Useful on high-traffic web or proxy servers with large numbers of short-lived TCP connections coming and going.Usage: - -p, port: The port from which you want to receive metrics. Value range = 1-65535. - -t, type: The port type from which to receive metrics. Values=local or remote. Default = local - -d, disabletcp6: Disables the tcp6 check. Enter a value to set disabletcp6 = true. Usage example: `metrics-netstat-tcp.rb`- tcp.UNKNOWN - tcp.ESTABLISHED - tcp.SYN\_SENT - tcp.SYN\_RECV - tcp.FIN\_WAIT1 - tcp.FIN\_WAIT2 - tcp.TIME\_WAIT - tcp.CLOSE - tcp.CLOSE\_WAIT - tcp.LAST\_ACK - tcp.LISTEN - tcp.CLOSINGno

Parent Topic:Agent Client Collector Monitoring default checks and policies