NMIS8 includes powerful capabilities for performance and operational thresholding. These thresholds have very granular controls which by default have been configured fairly broadly. A simple example of this is that you will likely what to be notified when the CPU is high on a Core device, vs an Access switch in Timbuktu. This is part of the NMIS idea of relevance of information in general.
About Threshold Controls
Simple Thresholds
In NMIS a simple threshold is defined by the following:
- the name
- the event name
- a select (with a default and optionally more)
- default threshold values
In the file /usr/local/nmis8/models/Common-thresholds.nmis this looks like this:
'cpu' => { 'item' => 'avgBusy5min', 'event' => 'Proactive CPU', 'select' => { 'default' => { 'value' => { 'critical' => '70', 'fatal' => '80', 'minor' => '50', 'warning' => '40', 'major' => '60' } } } },
Have a set of thresholds for Core CPU
- 'critical' => '60',
- 'fatal' => '70',
- 'minor' => '40',
- 'warning' => '30',
- 'major' => '50'
Advanced Thresholds with Controls
- $name
- $node
- $host
- $group
- $roleType
- $nodeModel
- $nodeType
- $nodeVendor
- $sysDescr
- $sysObjectName
- others for interface
- Almost unlimited possibilities.
So we can create a more specific threshold for core devices (NMIS has this already configured by default).
'cpu' => { 'item' => 'avgBusy5min', 'event' => 'Proactive CPU', 'select' => { '10' => { 'value' => { 'critical' => '60', 'fatal' => '70', 'minor' => '40', 'warning' => '30', 'major' => '50' }, 'control' => '$roleType =~ /core/' }, --snip-- 'default' => { 'value' => { 'critical' => '70', 'fatal' => '80', 'minor' => '50', 'warning' => '40', 'major' => '60' } } } },
These are executed in the select order, and if no control is matched, then the default set is used.
Advanced Control Options
The following are the available control options
Node Properties
- $name
- $node
- $host
- $group
- $roleType
- $nodeModel
- $nodeType
- $nodeVendor
- $sysDescr
- $sysObjectName
Indexed Objects like interfaces
- $ifAlias
- $Description
- $ifDescr
- $ifType
- $ifSpeed
- $ifMaxOctets
- $maxBytes
- $maxPackets
- $entPhysicalDescr
Step-by-step guide
Related articles