You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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

BUT Core devices are more sensitive to CPU Load.  So we want to use a different set of threshold values.  Something like:
  • 'critical' => '60',
  • 'fatal' => '70',
  • 'minor' => '40',
  • 'warning' => '30',
  • 'major' => '50'
But how to make these apply just to Core devices?

Advanced Thresholds with Controls

For example, different thresholds for core devices.  Looking in Common-thresholds will give you some ideas, but you can add many “selects” and have properties like:
  • $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

 

  • No labels