Difference between revisions of "Linux monitoring"

From NetXMS Wiki
Jump to navigation Jump to search
(Created page with "==CPU monitoring== ==Memory monitoring== ==Disk monitoring== ==Service/daemon monitoring==")
 
Line 1: Line 1:
==Intro==
This article assumes that the NetXMS agent is used to monitor the node.<br>
While monitoring using SNMP is absolutely possible, this article does not cover is, as monitoring using the agent is much easier (due to inherent difficulties and particularities of SNMP).
==CPU monitoring==
==CPU monitoring==
CPU-related agent parameters are located under "System.CPU.*".


Usually, monitoring these should be sufficient:
{| class="wikitable"
|-
| System.CPU.Count || CPU core count
|-
| System.CPU.LoadAvg || 1 minute load average
|-
| System.CPU.Usage || 1 minute percentual utilization
|}
==Memory monitoring==
==Memory monitoring==
Memory (RAM) related parameters are located under "System.Memory.Physical.*".
You should monitor these:
{| class="wikitable"
|-
| System.Memory.Physical.Total || RAM - size
|-
| System.Memory.Physical.AvailablePerc || Actual free memory percentage (not counting cache)
|-
| System.Memory.Physical.FreePerc || Free memory percentage (counting with cache)
|-
| System.Memory.Physical.Free || Free memory (counting with cache)
|-
| System.Memory.Physical.Available || Actual free memory (not counting cache)
|}
Swap monitoring is also desired. You can find the related parameters under "System.Memory.Swap.*".


Monitoring these is useful:
{| class="wikitable"
|-
| System.Memory.Swap.Total || Swap - size
|-
| System.Memory.Swap.Used || Swap - used
|}
==Disk monitoring==
==Disk monitoring==
These parameters are under "FileSystem.*".


You probably want at least this:
{| class="wikitable"
|-
| FileSystem.Total("path") || Storage - size of "path"
|-
| FileSystem.UsedPerc("path") || Storage - usage of "path"
|-
| FileSystem.Used("path") || Storage - used on "path"
|}
For each partition/volume that interests you.<br>
Usually, this will be atleast for "/", "/boot", etc.
==Service/daemon monitoring==
==Service/daemon monitoring==
You can monitor process count and memory usage of individual processes using:
{| class="wikitable"
|-
| Process.Count("name") || Process count of the "name" process
|-
| Process.WkSet("name") || Physical memory used by process "name"
|}

Revision as of 19:30, 19 October 2015

Intro

This article assumes that the NetXMS agent is used to monitor the node.
While monitoring using SNMP is absolutely possible, this article does not cover is, as monitoring using the agent is much easier (due to inherent difficulties and particularities of SNMP).

CPU monitoring

CPU-related agent parameters are located under "System.CPU.*".

Usually, monitoring these should be sufficient:

System.CPU.Count CPU core count
System.CPU.LoadAvg 1 minute load average
System.CPU.Usage 1 minute percentual utilization

Memory monitoring

Memory (RAM) related parameters are located under "System.Memory.Physical.*".

You should monitor these:

System.Memory.Physical.Total RAM - size
System.Memory.Physical.AvailablePerc Actual free memory percentage (not counting cache)
System.Memory.Physical.FreePerc Free memory percentage (counting with cache)
System.Memory.Physical.Free Free memory (counting with cache)
System.Memory.Physical.Available Actual free memory (not counting cache)

Swap monitoring is also desired. You can find the related parameters under "System.Memory.Swap.*".

Monitoring these is useful:

System.Memory.Swap.Total Swap - size
System.Memory.Swap.Used Swap - used

Disk monitoring

These parameters are under "FileSystem.*".

You probably want at least this:

FileSystem.Total("path") Storage - size of "path"
FileSystem.UsedPerc("path") Storage - usage of "path"
FileSystem.Used("path") Storage - used on "path"

For each partition/volume that interests you.
Usually, this will be atleast for "/", "/boot", etc.

Service/daemon monitoring

You can monitor process count and memory usage of individual processes using:

Process.Count("name") Process count of the "name" process
Process.WkSet("name") Physical memory used by process "name"