Manual de configuración de umbrales vía UI

Manual de configuración de umbrales vía UI

NMIS incluye potentes funciones para configurar diferentes umbrales de rendimiento y operativa, que mejoran considerablemente las capacidades de gestión de red. Estos umbrales generan alertas, eventos y notificaciones que NMIS puede enviar al detectar un incumplimiento. Los umbrales cuentan con controles muy granulares, configurados de forma bastante amplia por defecto.

Si simplemente desea modificar y agregar nuevos umbrales, lea la primera sección "Uso de la GUI de NMIS para configurar umbrales", la segunda sección "Acerca de los controles de umbrales" brinda más detalles sobre los mismos.

Uso de la UI de NMIS para configurar umbrales

Acceda a la UI de modelos de NMIS

Acceda a la interfaz gráfica de usuario haciendo clic en el menú System -> System Configuration -> NMIS Models. El widget NMIS Models se mostrará como se muestra a continuación. Este formulario es grande, por lo que al hacer clic en el botón señalado en rojo, se mostrará en su propia pestaña/ventana del navegador.

image-20250620-214647.png

O bien se puede acceder desde el menú Setup -> Thresholding Alert Tuning y de igual forma se abrirá el formulario pero mostrando todos los campos en la misma pagina.

image-20250620-214931.png

 

Modificación de umbrales ya existentes

Seleccionar la sección a modificar

En este ejemplo, se selecciona el archivo Common-threshold.nmis para editar. Debe buscarse el elemento cuyo umbral se desee modificar.

Seleccione el umbral para agregar una selección controlada

En este ejemplo, se agrega una sección de selección, que se controlará para que funcione solo en un dispositivo específico llamado "meatball" con la interfaz "Dialer1". Para ello, se toma el umbral en la primera posición y se edita el control. Esto se debe a que estas selecciones se ejecutan en orden y se requiere que esta sea la primera; es como una lista de acceso en un router o firewall. Se agrega otra en la posición 10 cuando se concluya. También se actualizan los modelos predeterminados para que tengan espacios en los órdenes.

Edición del control

Ajustar el control para que la cadena sea "$node eq "meatball" y $ifDescr eq "Dialer1"" y hacemos clic en Edit.

Un nuevo control está disponible

Se pueden ajustar los umbrales haciendo clic en edit en el que se desea editar.

Cambiar un umbral

Se ajusta el warning al 65%. Hacer clic en Edit.

Umbral actualizado

Ahora el nivel de warning estará establecido en 65%.

Aplicación de los umbrales

Los umbrales se ejecutarán en el siguiente ciclo de sondeo. Puede ejecutarse bajo demanda desde la línea de comandos con el siguiente comando.

Además de ejecutar un perl -c en consola al archivo que se ha modificado para asegurar que la sintaxis esté correcta, en este caso al archivo Common-threshold.nmis:

/usr/local/nmis9/bin/nmis-cli act=schedule job.type=update job.node=meatball job.verbosity=9 job.force=true debug=9 /ruta/del/archivo/perl -c Common-threshold.nmis

Agregar un nuevo bloque de selección

Se da clic en add del apartado Select.

Estableciendo el orden y los umbrales

Se configura este como 10, sucederá después de los demás pero antes del predeterminado. Completar todos los detalles que necesita en el formulario y haga clic en Add.

Agregar un control

Para agregar un campo de control, en la selección 10 que se agregó, dar clic en add.

Completar los detalles, en este ejemplo el control será: "$ifSpeed ​​<= 5000000 y $ifSpeed ​​>= 1000000". Dar clic en Add.

Se agregó nueva selección de umbral

Ahora se tendrá creado el control 10.

 

Creación de un nuevo threshold con umbrales y controles diferentes.

Seleccione el modelo al que se agregara el nuevo threshold

Nota: antes de modificar un archivo vía UI, se recomienda generar un backup del mismo. Por defecto, los archivos originales están en la carpeta /usr/local/nmis9/models-default/, si es la primera vez que se va a editar, se recomienda generar una copia hacia /usr/local/nmis9/models-custom, aplicar un fixperms (/usr/local/nmis9/bin/nmis-cli act=fixperms) y después de eso regresar a la UI a realizar la configuración correspondiente.  Si el archivo ya está en /usr/local/nmis9/models-custom, generar un backup en esa carpeta.

Agregando el nuevo threshold

Para generar un nuevo threshold y agregarlo al archivo Common-threshold-test.nmis (este archivo es de ejemplo), dar click en add en la columna indicada en la siguiente imagen:

image-20250625-215002.png

Deberá de aparecer el siguiente formulario:

image-20250625-215057.png

En este ejemplo, se configura el order “default”, para el evento “Proactive CPU Test”, utilizando el item correspondiente “percentProcessor” y que el roleType del equipo sea “core”.

Roles predeterminados

 Nota: los roleType predeterminados para usar en este ejemplo son los siguientes:

image-20250625-215139.png

 

 

 

 

Estos son los que pueden usarse para este ejemplo.

Nuevo threshold creado

Ya que se crea el nuevo threshold se puede buscar en el en archivo Common-threshold-test.nmis y se vería así:

image-20250625-215236.png

 

 

 

 

 

 

 

 

En la UI, se verá la sección que se ha creado de la siguiente forma:

image-20250625-215338.png

Agregando mas umbrales diferentes al threshold creado

Para agregar en ese mismo threshold umbrales diferentes para otro tipo de roleType, primero se da click en “add” en la fila de “select”:

image-20250625-215414.png

Llenar el formulario con los umbrales requeridos. En el campo “order” se coloca un número de identificación para dar un orden (se recomienda de 5 en 5 o de 10 en 10), en este caso se agrega el número “10”. Al finalizar, dar click en add:

image-20250625-215449.png

Creando control para los nuevos umbrales

Ya que aparece la sección creada, se agrega el control  para el roleType distinto, dando click en “add” de la línea “10” que acabamos de generar:

image-20250625-215536.png

En el formulario se coloca la expresión del nuevo control y damos click en “Add” para que se agregue:

image-20250625-215612.png

Con esto se generarán dos controles para la misma alerta, pero con diferentes roleType y umbrales:

image-20250625-215646.png

Acerca de los controles de umbral

Umbrales simples

En NMIS, un umbral simple se define de la siguiente manera:

  • el nombre

  • el nombre del evento (que debe comenzar con la frase " Proactive" para un manejo correcto del evento)

  • una selección (con un valor predeterminado y opcionalmente más)

  • valores de umbral predeterminados

En el archivo /usr/local/nmis9/models-custom/Common-threshold.nmis esto se ve así:

'cpu' => { 'item' => 'avgBusy5min', 'event' => 'Proactive CPU', 'select' => { 'default' => { 'value' => { 'critical' => '70', 'fatal' => '80', 'minor' => '50', 'warning' => '40', 'major' => '60' } } } },

Tener un conjunto de umbrales para el núcleo de la CPU

Pero los dispositivos Core son más sensibles a la carga de la CPU. Por eso, queremos usar un conjunto diferente de valores de umbral. Algo como:

  • 'critical' => '60',

  • 'fatal' => '70',

  • 'minor' => '40',

  • 'warning' => '30',

  • 'major' => '50'

¿Pero cómo hacer que esto se aplique sólo a los dispositivos Core?

Umbrales avanzados con controles

Por ejemplo, diferentes umbrales para dispositivos centrales. Consultar los umbrales comunes te dará algunas ideas, pero puedes agregar muchas "selecciones" y tener propiedades como:

  • $name

  • $node

  • $host

  • $group

  • $roleType

  • $nodeModel

  • $nodeType

  • $nodeVendor

  • $sysDescr

  • $sysObjectName

  • others for interface

  • Almost unlimited possibilities.

De esta forma podemos crear un umbral más específico para los dispositivos principales (NMIS ya lo tiene configurado de forma predeterminada).

'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' } } } },

Estos se ejecutan en el orden de selección y, si no coincide ningún control, se utiliza el conjunto predeterminado.

Opciones de control avanzadas

Las siguientes son las opciones de control disponibles

Propiedades del nodo:

  • $name

  • $node

  • $host

  • $group

  • $roleType

  • $nodeModel

  • $nodeType

  • $nodeVendor

  • $sysDescr

  • $sysObjectName

 

Objetos indexados como interfaces

  • $ifAlias

  • $Description

  • $ifDescr

  • $ifType

  • $ifSpeed

  • $ifMaxOctets

  • $maxBytes

  • $maxPackets

  • $entPhysicalDescr

Objetos indexados recientemente agregados en NMIS

  • $hrStorageDescr 

  • $hrStorageType 

  • $hrStorageUnits (disk block size)  

  • $hrStorageSize (disk size in blocks) 

  • $hrStorageUsed (disk used in blocks) 

  • $hrDiskSize  (disk size in bytes, hrStorageSize * hrStorageUnits)

  • $hrDiskUsed (disk used in bytes, hrStorageUsed * hrStorageUnits) 

  • $hrDiskFree (disk free in bytes) 

Controles de muestra

Los controles son pequeños fragmentos de código que se evaluarán cuando sea necesario, por lo que es posible que desees hacer los siguientes tipos de evaluaciones.

 

Resultado

Control

Resultado

Control

Aplica el umbral a todos los dispositivos del grupo "Sales".

$group eq "Sales"

Aplica el umbral a todos los dispositivos que comienzan con la dirección IP 192.168.

$host =~ /192\.168/

Aplica el umbral a todos los dispositivos Cisco IOS.

$sysDescr =~ /Cisco IOS/

Usa este umbral si la velocidad de la interfaz está entre 1 y 5 megabits por segundo.

$ifSpeed <= 5000000 and $ifSpeed >= 1000000

Usa este umbral si la velocidad de la interfaz es de 10 megabits.

$ifSpeed == 10000000

Usa este umbral si la velocidad de la interfaz es de 100 megabits.

$ifSpeed == 100000000

Usa este umbral si la velocidad de la interfaz es de 1 gigabit.

$ifSpeed == 1000000000

Usa este umbral si el disco es mayor a 100 gigabytes.

$hrDiskSize >= 104857600000