Geneos

Hardware Plug-in

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.
cpuClockSpeed CPU clock speed is measured in megahertz (MHz). It displays the maximum speed frequency of the first CPU found by Netprobe.
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.

hostid Numeric identifier for the host.
hostname The name of the host.
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.

On Solaris platforms, this is the number of physical memory pages that are not currently used by the system.

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

The amount of physical memory currently being used.

On Linux, this is computed as:

  • memoryUse = meminfo 'MemTotal' - meminfo 'MemFree' (converted to MB)
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

On Linux platforms, this is the sum of memoryIdle, memoryCached, and memoryBuffers.

On Windows, Solaris platforms, 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:

  • Solaris platforms — number of pages paged in per second.
  • 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.

swapSize The total disk-backed swap space available.
swapSize(virtual) The total virtual swap space available which is composed of disk-backed and memory-backed swap spaces. This field is only available in Solaris platforms.
swapUsed Percentage of available disk-backed swap space in use.
swapUsed(virtual) Percentage of available virtual swap space in use. This field is only available in Solaris platforms.
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 in Linux and Windows platforms where netprobe runs with root and administrator privileges, respectively.
zombieProcesses The number of zombie processes. This field is only included for non-Windows platforms.
 

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

hardware1

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:

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

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

On Solaris there are two methods of sampling memory and swap usage.

Direct sampling

If direct sampling is enabled the operating system is queried directly. The used memory is the number of physical pages in the system, minus the number of physical pages not in use, multiplied by the page size and converted to a megabyte value.

The current free memory is the number of physical pages not in use multiplied by the page size and converted to a megabyte value.

Details of the swap are queried from the operating system. Values are then converted to a kilobyte value.

The total swap is the amount of swap used plus the amount of available swap. The current swap use is then calculated as a percentage of this.

vmstat / pstat sampling

On older Solaris / SunOS versions where direct sampling isn't possible the results will be consistent with that of the vmstat utility. The used memory is the number of active virtual pages multiplied by the page size. The value is then converted to megabytes for display.

The free memory is the number of free pages multiplied by the page size and converted to a megabyte value.

When determining the swap space the results are consistent with the utilities pstat for Solaris and swap for SunOS.

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.