Geneos ["Geneos"]
You are currently viewing an older version of the documentation. You can find the latest documentation here.
["Geneos > Netprobe"]["Technical Reference"]

Hardware

Introduction

Geneos Hardware Plug-in monitors the major operating system and hardware resource settings of a host. From the main window it is possible to drill down to a snapshot view of the top 20 processes or all processes running on a host.

See also:

  • UNIVERSAL CPU plug-in for detailed monitoring of multiple CPUs
  • UNIVERSAL DISK plug-in for monitoring Disk partitions
  • UNIVERSAL NETWORK for detailed monitoring of the Network Cards on the host

Views

View (Windows)

View (Linux)

Table Legend

Name Description
coresPerCPU

The number of cores per CPU in the system. If this information cannot be extracted from the system, NA is shown instead.

On Linux, the value is obtained with the following command:

# grep "cpu cores" /proc/cpuinfo

On Windows, the value is obtained with the following command:

WMIC CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors
cpuClockSpeed CPU clock speed is measured in megahertz (MHz). It displays the maximum speed frequency of the first CPU found by Netprobe.

On Linux, the value is obtained with the following command:

# lscpu | grep "MHz"

On Windows, the CPU speed is displayed in the Processor field under the Device specifications. To view the device specifications, open the Control Panel > System and Security > System.

cpuUtilisation

A moving average of the previous five samples of CPU utilisation, unless cpuSmoothing is set to false, see cpuSmoothing. Where the host has multiple CPUs, the value shown is the average utilisation of all CPUs.

Once cpuUtilisation is configured, you may see a different value in two different samplers. It is possible that the CPU value has changed when the second sampler took a sample. Even if you make the sampling time the same, it is still possible that there is a minimal difference in values due to a few milliseconds difference in sampling time.

On IBM AIX, the cpuUtilisation is calculated as the difference between the total user and system ticks from the previous sample, as a percentage of the total CPU ticks spent in /user/system/idle/wait states. The total number of CPU ticks are collected using a performance API, which is the perfstat_cpu_total function.

hostid

Numeric identifier for the host.

On Linux, the value is obtained with the following command: 

# hostid

On Windows, the value is displayed as Physical Address, which is obtained with the following command: 

ipconfig /all
hostname

Numeric identifier for the host.

On Linux, the value is obtained with the following command: 

# hostid

On Windows, the value is displayed as Physical Address, which is obtained with the following command: 

ipconfig /all
hyperThreadingStatus Shows if HyperThreading is enabled in the system. If this information cannot be extracted from the system, NA is shown instead.
lastRebootTime The day, month, date, time (hh:mm:ss), year
memoryIdle

On Linux, this is the remaining amount of physical memory available. This does not consider the memory used as file buffers or as cache memory. This is computed as:

  • memoryIdle = meminfo 'MemFree' (converted to MB)

On Windows, this is the available physical memory that can be reused immediately.

On IBM AIX, this is the free real memory. This is computed as:

  • memoryIdle = vmstat 'fre' / 256

memoryIdlePercent The percentage of idle memory which is computed as (memoryIdle / totalPhysicalMemory) x 100.
memoryUse

Caution: The computation for this metric has changed for Linux platforms in Geneos 5.x. The memory available may look different in older Geneos versions.

The amount of physical memory currently being used.

On Linux with procps versions below 3.3.10, this is computed as:

  • memoryUse = meminfo 'MemTotal' - meminfo 'MemFree' (converted to MB)

On Linux with procps versions 3.3.10 and above, this is computed as:

  • memoryUse = meminfo 'MemTotal' – meminfo 'MemFree' – memFree 'Buffers' – meminfo 'Cached' – meminfo 'SReclaimable'

The SReclaimable in the computation is included by the Hardware plug-in by default. To remove it, see includeSlabMemory.

On IBM AIX, memoryUse displays the active virtual pages in MB. This is computed as:

  • memoryUse = vmstat 'avm' / 256

memoryUsedPercent The percentage of used memory which is computed as (memoryUse / totalPhysicalMemory) x 100.
memoryCached The amount of physical RAM, in kilobytes, used as cache memory. This field is only available in Linux platforms.
memoryBuffers The amount of physical RAM, in kilobytes, used for file buffers. This field is only available in Linux platforms.
memoryAvailable

Caution: The computation for this metric has changed for Linux platforms in Geneos 5.x. The memory available may look different in older Geneos versions.

On Linux platforms, this is the available memory for allocating to the user space, without causing swapping. This metric is taken from memAvailable in the Linux kernel, where available. Otherwise, the Hardware plug-in approximates it based on the computation of memAvailable.

On Windows and IBM AIX, this is equal to memoryIdle.

memoryAvailablePct The percentage of available memory which is computed as (memoryAvailable / totalPhysicalMemory) x 100.
ntpAvailability The local Network Time Protocol (NTP) service is considered available if it responds to a (ntpq -p) query. This requires that the ntpq program can be located by Netprobe (e.g. location is specified in the PATH environment variable).
ntpLocalClockOffset

The time difference (in milliseconds) between the local clock of the monitored host and the reference clock as reported by the local NTP service.

Note: If the NTP service is not available, then this field displays a value of NA. In this case, refer to the timeDifference field instead.

We recommend that you use NTP and NTP-related fields, as these provide a more accurate measurement of time.

numPhysicalCPUs Number of physical CPUs in the system.
OS Details of the Operating System of the host.
paging

The metric includes paging in and paging out, depending on the platform:

  • Linux platforms — number of pages paged out per second.
  • IBM AIX — number of pages paged in and out per second.
  • Windows — number of pages paged in and out per second.

Calculation for Linux platforms

Over a sampling interval, paging is computed as follows:

paging = (current value of pgpgout – previous value of pgpgout) / sampling interval

Where:

pgpgout is extracted from proc/vmstat.

systemModel

Displays the make and model of the Windows machine.

On Linux, this displays NA.

On Windows. this is obtained through Windows Management Instrumentation (WMI) with the following command:

C:\Users\Administrator>wmic path Win32_ComputerSystem
systemType

Displays the system type of the Windows machine.

On Linux, this displays NA.

On Windows. this is obtained through Windows Management Instrumentation (WMI) with the following command:

C:\Users\Administrator>wmic path Win32_ComputerSystem
swapSize

The total disk-backed swap space available.

On Linux, the value is obtained from /proc/meminfo file.

On Windows, the value is obtained from Total Commit Charge value, which can be seen in the Windows Task Manager. This is the total memory usage including programs that are in memory or using the page file.

On IBM AIX, the value is obtained with the following command: 

$ lsps -s
swapUsed Percentage of available disk-backed swap space in use.
timeDifference

The difference in seconds between the Gateway host and the monitored host.

We recommend that you use NTP and NTP-related fields, such as ntpLocalClockOffset, as these provide a more accurate measurement of time.

Note: A number of factors can introduce a margin of error to this time difference (for example, queues on the Gateway, queues on the Netprobe, network latency, and so on). Therefore, be mindful of treating small fluctuations in this value as being significant.

You may also wish to use a delay with rules that reference this field to avoid false positive alerts. We recommend that you do use a time difference rule of at least 300 seconds to cover a margin of error.

For more information, see Gateway Rules, Actions, and Alerts.

timezone The timezone code.
totalPhysicalMemory Total RAM in the host.
totalProcesses The total number of processes running.
uptime Elapsed time in days since last system re-boot.
vendor

The hardware or hypervisor vendor of the system. This field is only available on Linux and Windows platforms where the Netprobe runs with root and administrator privileges, respectively.

On Linux, this is obtained through Desktop Management Interface (DMI) with the following command:

# dmidecode -s system-manufacturer

On Windows, this is obtained through Windows Management Instrumentation (WMI) with the following command: 

C:\Users\Administrator>wmic path Win32_ComputerSystem
zombieProcesses

The number of zombie processes. This field is only included for non-Windows platforms.

The value is obtained with the following command: 

# ps -ax | egrep ' Z.? ' | wc -l
 

Note: Fields that are not applicable or whose values are not available in a particular platform will show "NA"

Commands

The following commands are available from the context-sensitive menu:

Command Description
Top 20 Processes Shows a snapshot of the usage of each CPU on the box, along with information about the top 20 processes, sorted by CPU usage.
All Processes Shows a snapshot of the usage of each CPU on the box, along with information about all the current processes, sorted by CPU usage.

Example Output

Suggested Possible Rules

Here are some examples of rules that you might choose to use with this plugin

Monitoring the swapUsed field

if value > 95 then
  severity critical
else if value > 80 then
  severity warning
else
  severity ok
endif

Monitoring the cpuUtilisation field

if value > 90 then
  severity critical
else if value > 80 then
  severity warning
else
  severity ok
endif

Monitoring the timeDifference field

if value > 600 or value < -600 then
  delay 3 samples
  severity critical
else if value > 300 or value < -300 then
  delay 3 samples
  severity warning
else
  delay 3 samples
  severity ok
endif

Plug-in Configuration

The following parameters can be configured for this plug-in:

includeSlabMemory

Introduced in Geneos 5.x for Linux platforms.

When this setting is enabled, the computation for memoryUse includes meminfo 'SReclaimable'.

Default: true

cpuSmoothing

Controls whether the cpuUtilisation is shown as a moving average over the last 5 samples or not.

Possible values:

Setting Description
true cpuUtilisation is shown as a moving average over the last 5 samples.
false Every sample is displayed as it comes in.

Default: true

includeBuffersAndCache

Applicable to Linux platforms.

This deprecated setting changes the behaviour of memoryIdle and memoryUse. The table below summarises the behaviour changes based on setting:

Variable Include Buffers and Cache Setting (Enabled) Include Buffers and Cache Setting (Disabled)
memoryIdle Current Free Memory + Cache + File Buffers Current Free Memory

memoryUse

Note: On Linux with procps versions 3.3.10 and above, this setting becomes obsolete. For more information, see memoryUse and includeSlabMemory.

Currently Used Memory – Cache - File Buffers Current Used Memory

Default: false

How memory is reported on each supported platform

Discovery of memory and swap usage on AIX

On AIX the memory usage is consistent with the "avm" value reported by the vmstat utility. The used memory is the number of active virtual memory pages multiplied by the page size (4 kB). This value is then converted to megabytes for display.

The free memory is the number of free physical pages multiplied by the page size and converted to a megabyte value. This corresponds to the "fre" figure as reported by vmstat. The manual for vmstat states that it is not uncommon for this value to be small, as a large portion of real memory is used as cache for the file system.

The swap space figures shown are consistent with those reported by the lsps utility. To get an equivalent result run "lsps -s" on a command-line.

Discovery of memory and swap usage on Linux

On Linux the memory usage is found through the /proc/meminfo file. This file is maintained by the operating system and contains a number of statistics.

Here's an example.

total:          used:           free:           shared:         buffers:        cached:
Mem:            492613632       *438747136      *53866496       0               1437696         311742464
Swap:           1003442176      38862848        964579328
MemTotal:                       481068 kB
MemFree:                        52604 kB
MemShared:                      0 kB
Buffers:                        1404 kB
Cached:                         304436 kB
Active:                         294792 kB
Inact_dirty:                    10076 kB
Inact_clean:                    972 kB
Inact_target:                   76 kB
HighTotal:                      0 kB
HighFree:                       0 kB
LowTotal:                       481068 kB
LowFree:                        52604 kB
SwapTotal:                      *979924 kB
SwapFree:                       *941972 kB

The values with asterisks (*) are the ones used when updating the view. The total memory used and free memory are the memory use and memory idle columns of the view before conversion to megabyte figures.

The same is true of the swap total. The swap used is represented as a percentage of swap total.

Discovery of memory and swap usage on Windows

The operating system is queried directly for the amount of physical memory used. This value is converted to a megabyte value. The free memory is calculated as the total physical memory minus the used physical memory and converted to a megabyte value.