Umbrales básicos y avanzados en NMIS9
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.
Un ejemplo sencillo de esto es que probablemente necesite recibir notificaciones cuando la CPU esté alta en un dispositivo Core, a diferencia de un conmutador de acceso en otra ubicación. Esto forma parte del concepto de NMIS sobre la relevancia de la información en general: no todos los dispositivos son iguales; algunos requieren de alertas especificas.
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 umbrales.
- 1 Uso de la GUI de NMIS para configurar umbrales
- 1.1 Acceda a la GUI de modelos NMIS
- 1.1.1 Ejemplo de NMIS
- 1.1.2 Ejemplo de NMIS
- 1.1 Acceda a la GUI de modelos NMIS
- 2 Modificación de umbrales en threshold ya existentes
- 2.1 Seleccione la sección a modificar
- 2.2 Seleccione el umbral para agregar una selección controlada
- 2.3 Edición del control
- 2.4 Un nuevo control está disponible
- 2.5 Cambiar un umbral
- 2.6 Umbral de advertencia actualizado
- 2.7 Aplicación de los umbrales
- 2.8 Agregar un nuevo bloque de selección
- 2.9 Estableciendo el orden y los umbrales
- 2.10 Agregar un control
- 2.11 Se agregó nueva selección de umbral
- 3 Creación de un nuevo threshold con umbrales y controles diferentes.
- 4 Acerca de los controles de umbral
Uso de la GUI de NMIS para configurar umbrales
Acceda a la GUI de modelos NMIS
Acceda a la interfaz gráfica de usuario haciendo clic en el menú "Sistema -> Configuración del sistema -> Modelos NMIS". El widget "Modelos NMIS" se mostrará como se muestra a continuación. Este formulario es grande, por lo que al hacer clic en el botón "EXPANDER", se mostrará en su propia pestaña/ventana del navegador.
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.
Ejemplo de NMIS
Ejemplo de NMIS
Modificación de umbrales en threshold ya existentes
Seleccione la sección a modificar
He seleccionado Common-threshold.nmis para editar, ahora simplemente buscamos el "elemento" cuyo umbral queremos cambiar.
Seleccione el umbral para agregar una selección controlada
En este ejemplo, agregaremos una sección de selección, que se controlará para que funcione solo en un dispositivo específico llamado "meatball" y la interfaz es "Dialer1". Para ello, tomaremos el umbral en la primera posición y editaremos el control. Esto se debe a que estas selecciones se ejecutan en orden y necesitamos que la nuestra sea la primera; es como una lista de acceso en un router o firewall. Agregaremos otra en la posición 10 cuando terminemos. También actualizaré los modelos predeterminados para que tengan espacios en los órdenes.
Edición del control
Ahora simplemente cambiamos el control para que sea la cadena "$node eq "meatball" y $ifDescr eq "Dialer1"" y hacemos clic en "Editar".
Un nuevo control está disponible
Ahora podemos ajustar los umbrales haciendo clic en "editar" en el que queremos cambiar,
Cambiar un umbral
Cambiemos el warning al 65%, luego hagamos clic en "Editar".
Umbral de advertencia actualizado
Ahora el nivel de warning está establecido en 65%.
Aplicación de los umbrales
Los umbrales se ejecutarán en el siguiente ciclo de sondeo o cuando se hayan configurado para ejecutarse. Puede ejecutarlos a demanda desde la línea de comandos con el siguiente comando (meatball es mi enrutador, así que cámbielo según el nombre de su dispositivo).
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.nmisAgregar un nuevo bloque de selección
Ahora necesitamos volver a agregar el que tomamos al principio. Para ello, añadimos un nuevo bloque de selección y hacemos clic en "Agregar".
Estableciendo el orden y los umbrales
Voy a configurar este como 10, sucederá después de los demás pero antes del predeterminado, complete todos los detalles que necesita en el formulario y haga clic en "Editar".
Agregar un control
Ahora necesitamos agregar un campo de control, así que en la nueva sección de selección 10, haga clic en agregar
Complete los detalles en el control "$ifSpeed <= 5000000 y $ifSpeed >= 1000000" y haga clic en agregar.
Se agregó nueva selección de umbral
Ahora tenemos el antiguo umbral que tomamos al principio, creado nuevamente, listo para el umbral de baja velocidad.
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:
Deberá de aparecer el siguiente formulario:
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:
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í:
En la UI, se verá la sección que se ha creado de la siguiente forma:
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”:
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:
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:
En el formulario se coloca la expresión del nuevo control y damos click en “Add” para que se agregue:
Con esto se generarán dos controles para la misma alerta, pero con diferentes roleType y umbrales:
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.
Result | Control |
|---|---|
Apply the threshold to all devices in the group "Sales" | $group eq "Sales" |
Apply the threshold to all devices starting with the IP address 192.168 | $host =~ /192\.168/ |
Apply the threshold to all Cisco IOS devices | $sysDescr =~ /Cisco IOS/ |
Use this threshold if the interface speed is between 1 and 5 megabits/second | $ifSpeed <= 5000000 and $ifSpeed >= 1000000 |
Use this threshold if the interface speed is 10 megabits | $ifSpeed == 10000000 |
Use this threshold if the interface speed is 100 megabits | $ifSpeed == 100000000 |
Use this threshold if the interface speed is 1 gigabits | $ifSpeed == 1000000000 |
Use this threshold if the disk is larger than 100 gigabytes | $hrDiskSize >= 104857600000 |