Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Update nmis8/models/Model.nmis
  • New model file created and updated
    • update the nodeVendor, nodeModel, nodeType fields (among others)
  • Any new resolvable OID's added to nmis_oids.nmis, e.g. the sysObjectID names.
  • Update Common-heading.nmis
  • Update Common-database.nmis
  • Create any needed graphs
  • Update Common-threshold.nmis
  • Update Common-stats.nmis

Creating Thresholds with NMIS Modelling

Main collection is /systemHealth/rrd/hrProcessorLoad

Common-database entry called hrProcessorLoad

Common-heading entry for the /systemHealth/rrd/hrProcessorLoad/graphtype => hrprocload

To create a threshold, statistical data is needed, this is extracted using Common-stats and this is based on the rrd name, so for this hrProcessorLoad collection, the Common-stats entry would be hrProcessorLoad

To compare the data to the threshold, there needs to be a Common-threshold section, this is named after the /systemHealth/rrd/hrProcessorLoad/threshold => arCpuLoad

So that the threshold system can match data from the stats results, we use the item to match the data, so NMIS is going to look for the item in the resulting stats data, in this case the item name is hrProcessorLoad, which matches the print statement: 'PRINT:hrProcessorLoad:AVERAGE:hrProcessorLoad=%1.0f' in the Common-stats section.

Code Block
### Model-AristaSwich.nmis
%hash = (
  'systemHealth' => {
    'rrd' => {
      'hrProcessorLoad' => {
        'graphtype' => 'hrprocload',
        'indexed' => 'true',
        'threshold' => 'arCpuLoad'
        'snmp' => {
          'hrProcessorLoad' => {
            'oid' => 'hrProcessorLoad',
            'option' => 'gauge,0:U'
          }
        }
      }
 
### Common-database.nmis
  'hrProcessorLoad' => '/nodes/$node/health/hrProcessorLoad-$index.rrd',

### Common-heading.nmis
  'hrprocload' => 'Processor Load',
 
### Common-stats.nmis
%hash = (
  'stats' => {
    'type' => {
      'hrProcessorLoad' => [
        'DEF:hrProcessorLoad=$database:hrProcessorLoad:AVERAGE',
        'PRINT:hrProcessorLoad:AVERAGE:hrProcessorLoad=%1.0f',
      ]

### Common-threshold.nmis
%hash = (
  'threshold' => {
    'name' => {
      'arCpuLoad' => {
        'item' => 'hrProcessorLoad',
        'event' => 'Proactive CPU Utilisation',
        'select' => {
          'default => {
            'value' => {
              'fatal' => '90',
              'critical' => '80',
              'major' => '70',
              'minor' => '60',
              'warning' => '50'
            }
          }
        }
      },