1. Información general

Una característica importante de NMIS8 es la de poder aplicar umbrales de rendimiento y operativos, lo que mejora en gran medida las capacidades de gestión de la red. Estos umbrales dan como resultado alertas, eventos y notificaciones que NMIS puede enviar cuando se sobrepasa el umbral especificado. Los umbrales tienen controles muy granulares que, por defecto, se han configurado de manera bastante amplia.

En este tutorial, lo guiaremos a través de la creación de un nuevo umbral para el  System Load Avg” o "Promedio de carga del sistema" de un dispositivo actualmente instalado en NMIS8.

Lo que aprenderemos

  • Cómo usar la configuración de un umbral común.
  • Cómo crear buevos umbrales para dispositivos.
  • La asociación y dependencias entre los archivos de configuración.

Lo que se necesitará

  • Nuestro Opmantek Virtual Appliance (VM) , el cual puede ser cargado de Opmantek.com

Información previa

La carga del sistema Linux es una medida del trabajo computacional que realiza el sistema. Un dispositivo completamente inactiva tiene un promedio de carga de 0. Cada proceso en ejecución que usa o espera recursos de CPU agrega 1 al promedio de carga. Entonces, si su sistema tiene una carga de 5, cinco procesos están utilizando o esperando la CPU.

Por sí solo, el número de carga no significa demasiado. Un dispositivo puede tener una carga de 0 una fracción de segundo y una carga de 5 la siguiente fracción de segundo, ya que varios procesos utilizan la CPU. Incluso si pudieras ver la carga en un momento dado, ese número sería básicamente sin sentido.

Es por eso que los sistemas tipo Unix no muestran la carga actual. Muestran el promedio de carga. Esto le permite ver cuánto trabajo ha estado realizando el dispositivo.

Es importante aclarar que al menos en Linux, el promedio de carga y la utilización de la CPU son en realidad dos cosas diferentes. El promedio de carga es una medida de cuántas tareas están esperando la CPU (no solo el tiempo de la CPU sino también la actividad del disco) durante un período de tiempo. La utilización de la CPU es una medida de qué tan ocupada está la CPU en este momento. La mayor carga que un solo subproceso de CPU vinculado al 100% durante un minuto puede "contribuir" al promedio de carga de 1 minuto es 1. Una CPU de 4 núcleos con hyperthreading (8 núcleos virtuales), todo al 100% durante 1 minuto contribuiría 8 al promedio de carga de 1 minuto.

2. Configuración del entorno de trabajo

Si aún no lo ha hecho. Descargue el dispositivo virtual de Opmantek.com

Deberá importarlo a su virtualizador favorito, ejecutar la VM y obtener la dirección IP asignada.

Para este tutorial, mi entorno NMIS8 está utilizando 192.168.1.100, esta dirección IP puede ser diferente en su configuración.

NMIS agrega el servidor donde está alojado como "localhost" y el modelo utilizado es "Net-snmp", el modelo y los archivos relacionados generalmente se almacenan en:
/usr/local/nmis8/models/



Debe acceder a la VM a través de SSH para editar los archivos de configuración, las credenciales predeterminadas para la VM son:


username: root
password: NM1$88


Important

Es importante verificar la sintaxis de los archivos editados, recuerde usar: perl -c filename después de guardar los cambios.

3. Crear un nuevo umbral

Como se mencionó anteriormente, crearemos un umbral para el “System Load Averages” de Linux, queremos generar eventos cuando los valores actuales superen el umbral.



Primero, necesitamos editar el archivo del Modelo, en este caso /usr/local/nmis8/model/Model-net-snmp.nmis e identificar el elemento que necesitamos modificar.

El elemento a modificar es "laload" (Carga promedio de Linux) que se encuentra en la sección "system→ rrd".


En el elemento "laload" tenemos que agregar el elemento "umbral" de la siguiente manera:   

'threshold' => 'laload_threshold', 


En este caso particular, hemos denominado el umbral "laload_threshold" para hacerlo más notable y para ser más claro, sin embargo, esto no es una regla.


/usr/local/nmis8/model/Model-net-snmp.nmis
--snip--
      'laload' => {
        'threshold' => 'laload_threshold',
        'graphtype' => 'laload',
        'snmp' => {
          'laLoad1' => {
            'oid' => 'laLoad.1',
            'option' => 'gauge,0:U'
          },
          'laLoad5' => {
            'oid' => 'laLoad.2',
            'option' => 'gauge,0:U'
          }
        }   
      },
--snip--



Agregamos los valores de umbral a /usr/local/nmis8/models/Common-threshold.nmis, utilizando el nombre especificado anteriormente. El nombre del evento debe incluir "Proactive" al principio.

%hash = (
  'threshold' => {
    'name' => {
      'laload_threshold' => {
        'item' => 'laLoad5',
        'event' => 'Proactive System Load',
        'select' => {
          'default' => {
            'value' => {
              'fatal' => '5',
              'critical' => '2',
              'major' => '1',          
              'minor' => '0.8',
              'warning' => '0.7'
            }
          }
        }
      },
--snip--




A continuación vamos a proceder a agregar la extracción de las estadísticas a: usr/local/nmis8/models/Common-stats.nmis

Agregándolo dentro de la sección "type".

- En el recuardro verde, podemos observar que debemos utilizar el mismo nombre usado en: /usr/local/nmis8/models/Common-database.nmis, porque las estadísticas necesitan saber qué base de datos leer.

- En azul, el nombre del 'item' que contiene la variable, vea 'item' en el cuadro azul en la imagen de Common-stats.nmis arriba.

- En magenta, el nombre de la fuente de datos especificada en el modelo dentro de la sección rrd, en este caso es "laLoad5"


%hash = (
  'stats' => {
    'type' => {
      'laload' => [
        'DEF:laLoad5=$database:laLoad5:AVERAGE',
        'PRINT:laLoad5:AVERAGE:laLoad5=%1.2lf'
      ],
--snip--


Debemos especificar el nombre que va a utilizar nuestra base de datos, en el archivo: /usr/local/nmis8/models/Common-database.nmis, para ello se debe tomar el nombre usado en el recuadro de color verde.


Una vez que hemos creado el umbral, es hora de probar. La mejor manera de probar si funciona como se desea es ejecutando: /usr/local/nmis8/bin/nmis.pl y usamos debug = 1.


$ /usr/local/nmis8/bin/nmis.pl type=threshold debug=1 node=localhost


Como podemos ver, el resultado muestra que el umbral se ha aplicado, en este caso vemos que el valor actual es 3.64, que tiene un nivel actual de “Critical” porque ha excedido el valor umbral de 2. (en verde).

Nota: Puse el sistema bajo carga para lograr un alto valor de carga. Si necesita forzar su umbral para que se active, use un valor más bajo en la implementación de su umbral (por ejemplo: 0.01).



Y finalmente, vaya a la GUI de NMIS y verifique el evento para el nodo "localhost", podemos ver que la alerta se ha creado y muestra los detalles como se esperaba.



Y con esto, hemos configurado correctamente nuestro umbral para "Linux System Load"





  • No labels