Tabla de Contenidos

Sistema de alertas

Configuración de alertas en Pandora FMS

Introducción

Una alerta es la reacción de Pandora FMS a un valor incorrecto de un Módulo. Dicha reacción es configurable y puede consistir en cualquier cosa que pueda ser desencadenada por un script configurado en el Sistema Operativo donde corre el servidor de Pandora FMS que procesa el Módulo.

Existen varios tipos de alertas:

  • Alertas simples.
  • Alertas sobre eventos.
  • Alertas sobre traps SNMP.

Este capítulo trata acerca del sistema de alertas en conjunto, con especial detalle en las dos primeras.

Introducción al sistema de alertas

En Pandora FMS, las alertas funcionan mediante la definición de unas condiciones de disparado, unas acciones elegidas para esa alerta, y finalmente la ejecución de unos comandos en el servidor de Pandora FMS, que se encargarán de llevar a cabo las acciones configuradas.

El sistema general de alertas asocia una única alerta por cada Módulo y esta alerta a su vez puede llevar a cabo una o varias acciones.

Puede obtener más información en el vídeo tutorial «Que no cunda el pánico: hablamos de sistemas de alertas».

Estructura de una alerta

Las alertas se componen de:

  • Comandos: Especifican qué se hará; será la ejecución que realizará el servidor de Pandora FMS al disparar la alerta. Puede ser escribir en un log, enviar un mensaje de correo electrónico o un mensaje de texto (SMS), ejecutar un script, etc.
  • Acciones: Especifican cómo se hará, son las personalizaciones de los argumentos del comando, permiten personalizar la ejecución como tal, pasando al comando parámetros particulares como nombre del Módulo, Agente, etc.
  • Plantillas: Especifican cuándo se hará, definen las condiciones para disparar la acción o acciones. Por ejemplo: cuando el Módulo pase a estado crítico.

Flujo de información en el sistema de alertas

Al configurar las plantillas y las acciones, ambas tienen una serie de campos genéricos llamados Field1 , Field2 , Field3, (…) , Fieldn los cuales se utilizan para transferir la información desde la plantilla a la acción y de la acción al comando, para finalmente utilizarse como parámetros en la ejecución de dicho comando.

Dicha información se transfiere siempre que el escalón siguiente no traiga ya información definida en sus campos Fieldn. Es decir, en caso de solapamiento de campos o parámetros, sobrescribe la acción a la plantilla (por ejemplo, si la plantilla tiene definida Field1 y la acción también, prevalece el Field1 de la acción).

En el siguiente esquema puede verse esta transferencia de parámetros desde la plantilla hasta el comando:

Ejemplo sobre cómo se sobreescriben los valores de la plantilla usando los de la acción:

Por ejemplo, una plantilla que dispara la alerta y envía un mensaje de correo electrónico con los siguientes campos:

  • Plantilla:
    • Field2: [Alert] The alert was fired
    • Field3: The alert was fired!!! SOS!!!
  • Acción:
    • Field1: myboss@domain.com
    • Field2: <blank>
    • Field3: <blank>

Los valores que llegarían al comando serían:

  • Comando:
    • Field2: [Alert] The alert was fired
    • Field3: The alert was fired!!! SOS!!!

Para los campos Field2 y Field3 se conservan los valores definidos en la plantilla, pero para el campo Field1 usa el valor definido en la acción.

Comando de Alerta

Introducción

Las acciones que realizará Pandora FMS ante situaciones de alerta se traducirán al final en ejecuciones en el servidor, en forma de comandos.

Haga clic para ampliar

Creación de un comando para una alerta

Al hacer clic en el botón Create de la sección anterior:

Name

Nombre del Comando, breve y descriptivo.

Command

Comando que se ejecutará al disparar la alerta. Es posible utilizar macros (ver siguiente sección) para reemplazar los parámetros configurados en la declaración de las alertas.

Usted debe tener en cuenta que los comandos para las alertas ejecutados por el servidor de Pandora FMS se realizan con los mismos privilegios del usuario que ejecuta el servidor de Pandora FMS.

Se recomienda comprobar desde la línea de comandos si la ejecución del comando tiene éxito y que produce el resultado deseado (enviar un correo electrónico, generar una entrada en un fichero de registro, etc).

Group: Esto determina a cual grupo de alertas puede asociar el comando. Solamente podrá asignar un grupo al cual pertenezca el usuario que está creando el comando de alerta, a menos que dicho usuario pertenezca explícitamente al grupo TODOS (ALL).

Field description y Field values: Para cada campo personalizado es posible configurar:

  • Descripción de campo: Será la etiqueta junto a la caja de texto en el formulario de configuración de la acción que use este comando.
  • Valores de campo disponibles: Una colección de posibles valores para ese campo. Si este campo está configurado (no está vacío), el campo será un combo de selección en lugar de una caja de texto. El combo necesita para cada posible valor una etiqueta (la opción visible) y un valor (la opción enviada). La sintaxis es la siguiente:
valor1,etiqueta1;valor2,etiqueta2;valor3,etiqueta3
  • Hide: Si el campo alberga alguna contraseña, esta opción oculta con asteriscos el contenido.

A partir de la versión 6.0 es posible mostrar un editor de código HTML en un campo del comando en la creación o edición de una acción de una alerta si ese campo del comando tiene como valor el token especial _html_editor_

Una vez rellenados debidamente cada uno de los parámetros, haga clic en el botón Create para guardar.

Ejemplo

Un campo sencillo donde será posible elegir entre los cuatro primeros números:

1,Número uno;2,Número dos;3,Número tres;4,Número cuatro

Se debe configurar el campo en el comando:

Cuando vayamos a la acción lo veremos de la siguiente forma:

Macros de comandos

Las macros que se pueden utilizar dentro de la configuración de un comando están en la lista de macros al final de este capítulo.

Comandos predefinidos

Existen una serie de comandos predefinidos listos para utilizarse en el sistema de alertas de Pandora FMS.

eMail

Envía un correo electrónico desde el servidor de Pandora FMS. Los mensajes de correo electrónico son enviados en formato HTML, lo cual permite crear plantillas muy atractivas visualmente. Debe tener en cuenta que el receptor debe poder acceder a los recursos utilizados en la plantilla, como por ejemplo las imágenes.

Internal audit

Genera una entrada en el sistema de auditoria interno de Pandora FMS. Este se almacena en la base de datos de Pandora FMS y puede revisarse con el visor de eventos desde la consola.

Monitoring Event

Crea un evento personalizado en la consola de eventos de Pandora FMS.

Pandora FMS Alertlog

Es una alerta predefinida que escribe las alertas en formato de ASCII plano en el fichero de log /var/log/pandora/pandora_alert.log .

SNMP Trap

Envía un trap SNMP parametrizado con los argumentos que se utilicen.

Syslog

Envía una alerta al registro del sistema por medio del comando del sistema logger.

Sound Alert

Reproduce un sonido en la consola sonora de eventos cuando ocurre una alerta.

Jabber Alert

Envía una alerta Jabber a una sala de conversación en un servidor predefinido (primero debe configurar el fichero .sendxmpprc). Coloque en field1 el alias de usuario, en field2 el nombre de la sala de chat y field3 el mensaje de texto.

SMS Text

Envía un SMS a un teléfono móvil determinado. Primero es necesario definir una alerta y configurar una gateway de envío de SMS que sea accesible desde el servidor de Pandora FMS. También se puede instalar uno utilizando Gnokii para envío de SMS, directamente usando un teléfono Nokia con un cable USB. Se describe el proceso más adelante.

Validate Event

Valida todos los eventos relacionados con un módulo. Se le pasará el nombre del agente y el nombre del módulo.

Remote agent control

Envía comandos a los agentes con el servidor UDP habilitado. El servidor UDP se utiliza para ordenar a los agentes (Windows y UNIX) que “refresquen” la ejecución del agente: es decir, para obligar al agente a ejecutar y enviar datos.

Generate Notification

Permite enviar una notificación interna a cualquier usuario o grupo.

Edición de un comando para una alerta

Vaya a Alerts > Command:

Haga clic para ampliar

Para editar el comando de una alerta bastará con pulsar sobre el nombre del comando.

Una vez se ha modificado la alerta elegida haga clic en el botón Update.

Los comandos eMail, Internal Audit y Monitoring Event no se pueden modificar ni borrar.

Operaciones de un comando de alerta

Borrado: Para borrar una alerta haga clic en la papelera gris situada a la derecha de la alerta.

Copiado: Se pueden copiar alertas. Es especialmente útil para generar comandos similares a otros existentes cambiando algún detalle.

Ejemplos de Comandos

Envío de alertas con Jabber

Es muy útil configurar Pandora FMS para que envíe alertas a un servidor Jabber. Jabber puede ser un sistema para tener alertas en tiempo real que permanezca como histórico y que permita recibirlas a un grupo simultáneo de personas.

Instalación de los servicios Jabber

En el lado cliente:

  1. Instalar un cliente Jabber, por ejemplo Gaim (ahora Pidgin ).
  2. Registrar una cuenta (en Pidgin: configurar una cuenta, pulsando en el botón de registro de cuenta).
  3. Iniciar sesión con la cuenta.

En la parte del servidor de Pandora FMS:

  1. Instalar sendxmpp. Con esta herramienta se pueden enviar mensajes Jabber.
  2. Crear un fichero en el directorio /home con el nombre .sendxmpprc.
  3. Editar el fichero e introducir lo siguiente (sustituya con sus credenciales reales):
[email protected] password
  1. Otorgue permisos al archivo:
chmod 0600 .sendxmpprc

Ahora pueden enviar mensajes privados a través de línea de comandos, por ejemplo:

$ echo "Hello" | sendxmpp -s pandora [email protected]

Para dar de alta la alerta en la consola de Pandora FMS, añada un nuevo comando, y configure las variables del comando de la manera que más convenga. Es una buena idea hacerlo como sigue:

  • Field_1> Dirección de Jabber.
  • Field_2> Texto de envío.

De forma que la alerta se definiría como:

echo _field2_ | sendxmpp -s pandora _field1_

Más ejemplos de uso con Jabber

Enviar a una sala de chat:

 $ echo "Dinner Time" | sendxmpp -r TheCook --chatroom [email protected]

Enviar las líneas del registro según aparecen a un destino Jabber:

 $ tail -f /var/log/syslog | sendxmpp -i [email protected]

NOTA: Tenga cuidado de no sobrecargar servidores Jabber públicos o le cortarán el acceso.

Envío de correo electrónico con Expect

A veces es necesario usar un SMTP autenticado para enviar correos electrónicos. Pandora FMS cuenta con todo lo necesario para el envío normal de correos electrónicos en la configuración general de la Consola e incluso allí usted puede enviar un mensaje de correo electrónico para probar el mecanismo de envío. Pero para usar un SMTP autenticado seguramente sea más fácil y versátil usar un sencillo script con Expect en lugar de configurar sendmail.

Expect es una herramienta para automatizar aplicaciones interactivas como telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect hace que estas cosas sean triviales y también es útil para probar estas mismas aplicaciones. Expect puede hacer fácil todo tipo de tareas que son prohibitivamente difíciles con cualquier otra herramienta. Encontrará que Expect es una herramienta inestimable - podrá automatizar tareas que nunca antes ud. había pensado - y podrá hacer esta automatización rápida y fácilmente.

Este ejemplo utiliza Expect para enviar correos electrónicos usando un servidor MS Exchange®.

Crear un archivo llamado /etc/expect_smtp con el siguiente contenido:

#!/usr/bin/expect -f
set arg1 [lindex $argv 0] 
set arg2 [lindex $argv 1]
set arg3 [lindex $argv 2]
set timeout 1 
spawn telnet myserver.com 25 
expect "220"
send "ehlo mymachine.mydomain.com\r"
expect "250"
send "AUTH login\r"
expect "334"
send "2342348werhkwjernsdf78sdf3w4rwe32wer=\r"
expect "334"
send "YRejewrhneruT==\r"
expect "235"
send "MAIL FROM: [email protected]\r"
expect "Sender OK"
send "RCPT TO: $arg1\r"
expect "250"
send "data\r"
expect "354"
send "Subject: $arg2\r"
send "$arg3 \r\r"
send ".\r"
expect "delivery"
send "quit"
quit

Cambie los permisos del fichero para permitir su ejecución:

chmod 700 /etc/expect_smtp 

Primero compruebe que /usr/bin/expect funcione correctamente, bien puede copiar, guardar, otorgar derecho de ejecución al siguiente guión:

 #!/usr/bin/expect -f
 
 spawn date
 sleep 20
 expect

Para usar esto con Pandora FMS, debe crear un comando nuevo (o modificar el existente de envío de alertas por correo electrónico) y especificar los siguientes campos en la definición de comandos de Alerta de Pandora FMS. En el campo Command escriba:

/etc/expect_smtp _field1_ _field2_ _field3_

El script puede estar ubicado en cualquier sitio del sistema, solo debe tener en cuenta que el script de alerta es lanzado por el servidor que procesa el dato: si es un dato de red será el Servidor de Red, si es un dato que viene desde un Agente, a través de un fichero de datos XML, entonces será el Servidor de Datos quien lo ejecute.

Si tiene diferentes servidores físicos, puede que necesite copiar el mismo script en la misma ubicación, con los mismos permisos y el mismo propietario de usuario en todos los sistemas donde tenga un servidor Pandora FMS que quiera que ejecute esa alerta. Tenga también en cuenta que los servidores de red de Pandora FMS necesitan ejecutarse como usuario root (para poder hacer pruebas de latencia ICMP) y los servidores de datos pueden ejecutarse con un usuario sin privilegios.

La alerta será ejecutada por el usuario que esté ejecutando el proceso del servidor de Pandora FMS.

Envío de SMS con Gnokii

Para poder utilizar Gnokii es necesario usar un móvil Nokia o compatible con Gnokii (revise el hardware compatible en la página del proyecto Gnokii. También necesita un cable de datos USB con el cual conectar el teléfono móvil al servidor Pandora FMS que enviará alertas SMS.

Gnokii soporta una gran variedad de teléfonos Nokia (y algunos de otros fabricantes). Básicamente con esto puede enviar SMS desde la línea de comandos, directamente desde un servidor de Pandora FMS, evitando el uso de gateways de envío de SMS por Internet o soluciones hardware GSM muy costosas para envío de mensajes.

Ejemplo de envío de un SMS con Gnokii desde línea de comandos:

echo "PANDORA: Server XXXX is down at XXXXX" | gnokii --sendsms 555123123

Gnokii no puede enviar MMS con imágenes adjuntas, pero sí puede enviar un URL HTTP/WAP para que se visualice al recibir un mensaje, por ejemplo:

echo "Image capture sample" | gnokii --sendsms 555123123 -w  http://artica.homelinux.com/capture.jpg

Puede enviar una URL de una imagen, o una URL que lleve a una versión ligera de la consola para acceder a la consola desde el dispositivo móvil y analizar los datos.

El equipo de desarrollo ha probado el envío de SMS desde un teléfono Nokia 6030, enviando alertas SMS cuando la conexión a Internet estaba inaccesible. El Nokia 6030 utiliza la definición del módulo 6510 en el fichero .gnokiirc, y tarda más o menos cuatro segundos en enviar un SMS.

Otra alternativa al uso de Gnokii es el proyecto Gammu. Se puede implementar una pasarela de envío más potente utilizando dicho software.

Ejecución de un comando remoto en otro sistema (UNIX)

En algunas ocasiones es interesante ejecutar un comando en otro sistema, para ello se usa el comando ssh. El sistema en el que se ejecutará el comando debe de ser UNIX y tener el demonio ssh instalado, levantado y accesible.

Para evitar tener que utilizar contraseña de acceso a la máquina que ejecutará el comando en Pandora Console, lo que se debe hacer es copiar la clave pública del servidor donde se quiere ejecutar el comando remoto en el servidor de Pandora FMS.

Una vez hecho esto, colocar como comando:

ssh [email protected] [_field1_]

Al colocar _field1_ como variable se puede ejecutar el comando necesario para la alerta.

Acción

Introducción

Las acciones son los componentes de las alertas en los que se relaciona un comando con las variables genéricas Field 1, Field , … , Field 10.

Las acciones permiten definir el cómo lanzar el comando.

Creación de una Acción

Vaya al menú Alerts > Alert actions > Create:

accion1.jpg

Aparecerá el siguiente formulario:

accion2.jpg

Name

El nombre de la acción.

Group

El grupo de la acción. Solamente podrá asignar un grupo al cual pertenezca el usuario que está creando el comando de alerta, a menos que dicho usuario pertenezca explícitamente al grupo TODOS (ALL). Si el comando asociado tiene un grupo diferente de All, solo se podrá establecer como grupo de la acción el grupo asociado al comando o el grupo All. Si por alguna razón esto llega a diferir, verá un mensaje de advertencia para su pronta corrección por parte de un usuario que tenga los derechos necesarios.

Command

Comando que se usará en el caso de que se ejecute la alerta. Se puede elegir entre los diferentes Comandos que hay predefinidos en Pandora FMS.

Threshold

El umbral de ejecución de la acción.

Command Preview

En este campo, no editable, aparecerá automáticamente el comando que se va a ejecutar en el sistema.

Field 1 ~ Field 10

En estos campos se define el valor de las macros _field1_ a _field10_, que se usarán en el comando, en caso de ser necesario. Estos campos pueden ser un campo de texto o un combo de selección si se configura.

Al estar debidamente completados los campos, guarde con el botón Create.

Haga clic para ampliar

Posteriormente desde el menú Actions > Alerts puede editar las acciones que se han creado.

Cuando le asignamos un valor a los campos (Field) en la sección disparado (Firing), de forma predefinida serán los mismos valores para recuperado, a menos que asignemos un valor diferente.

Macros de acciones

Las macros que se pueden utilizar dentro de la configuración de una acción están en la lista de macros al final de este capítulo.

Editar una Acción

Para editar la acción, sólo tiene que hacer clic en el nombre de la Acción.

Cuando haya terminado puede guardar sus cambios haciendo clic en el botón “Actualizar”.

Borrar una acción

Puede eliminar una acción pulsando sobre el icono de la papelera (columna Delete).

sipo.jpg

Plantilla de alerta

Introducción

Las plantillas definen las condiciones de disparo de la alerta (cuándo ejecutar la acción).

Las plantillas de alertas se asocian a Módulos, de tal manera que en el momento en que se reúnan las condiciones de la plantilla, se ejecutarán la(s) acción(es) asociadas.

Su diseño permite generar un grupo reducido de plantillas genéricas que sirvan para la mayoría de casos posibles en Pandora FMS.

Creación de una Plantilla

Navegue hasta el menú Alerts > Alert templates > Create.

planti.jpg

A continuación siga los tres pasos guiados.

Paso 1: General

templform.jpg

En este asistente (wizard) de plantillas especifique:

Name

Nombre de la plantilla, obligatorio.

Group

El grupo al cual le será aplicada la plantilla. Solamente podrá asignar un grupo al cual pertenezca el usuario que está creando la plantilla , a menos que dicho usuario pertenezca explícitamente al grupo TODOS (ALL).

Description

Describe la función de la plantilla y resulta útil para identificar la plantilla (ej. en la vista general de alertas).

Priority

Campo informativo acerca de la alerta. El evento generado al disparar la alerta heredará esta prioridad. También es muy útil para filtrar en búsquedas de alertas. Puede elegir entre las siguientes prioridades:

  • Maintenance.
  • Informational.
  • Normal.
  • Warning.
  • Critical.
Paso 2: Condiciones

templform2.jpg

Days of Week

Establece los días en los que la alerta podrá dispararse. Aquellos que tengan marcada la casilla de verificación serán los afectados por las alertas.

Use special days list

Habilitar o deshabilitar el uso de la lista de días especiales (lista predefinida de días festivos y días laborables especiales).

Set initial time

Hora a partir de la cual se ejecuta la acción de la alerta.

Set end time

Hora hasta la que se ejecuta la acción de la alerta.

Time Threshold

Tiempo que debe transcurrir para reiniciar el contador de alertas. Define el intervalo de tiempo en el cual se garantiza que una alerta no se va a disparar más veces del número establecido en Número máximo de alertas. Pasado el intervalo definido se reiniciará el contador. El reinicio del contador de disparos no se reiniciará si la alerta se recupera al llegar un valor correcto, salvo que esté activado el valor Recuperación de alerta, en cuyo caso, el contador se reiniciará inmediatamente después de recibir un valor correcto.

Min number of alerts

Número mínimo de veces que tiene que ocurrir la situación definida en la plantilla (contando siempre a partir del número definido en el parámetro FlipFlop del Módulo) para empezar a disparar una alerta. El valor por defecto es 0, lo que significa que la alerta se disparará cuando llegue el primer valor que cumpla la condición. Funciona como un filtro, útil para ignorar falsos positivos.

Max number of alerts

Máximo número de alertas que se pueden enviar consecutivamente en el mismo intervalo de tiempo (Time Threshold). Es el valor máximo del contador de alertas. No llegarán más alertas por intervalo de tiempo que las indicadas en este campo.

Reset counter for non-sustained alerts

Su activación depende de que el número indicado en Min. number of alerts sea mayor que 0. Al activar este token se reinicia el contador de alertas cuando no se repita la condición indicada de manera consecutiva. Por ejemplo, si el campo Min. number of alerts tiene un valor de 2, significará que el módulo tiene que pasar 3 veces por el estado asignado en Condition type para disparar la alerta. Hay dos escenarios con este último token:

  • Si el token de reinicio está marcado será necesario que el número de críticos sea consecutivo, de lo contrario el contador se reiniciará.
normal -> crítico -> crítico -> crítico
  • Si no marcamos el token de reinicio, la alerta se disparará tras una secuencia alternativa o continua de críticos:
normal -> crítico -> normal -> crítico -> normal -> crítico

Disable event

Marcando este token, el evento generado en la vista de eventos de disparo de alerta no se creará.

Default Action

En este combo se define la acción por defecto que va a tener la plantilla. Esta es la acción que se creará automáticamente cuando asigne la plantilla al módulo. Coloque una acción o ninguna, sin embargo no puede colocar poner varias acciones por defecto.

Condition Type

Campo donde se define el tipo de condición que se aplicará a la alerta.

regular.jpg

Se añadirán los combos necesarios según el tipo elegido, existen los siguientes tipos:

  • Regular Expresion: Se usa una expresión regular. La alerta saltará cuando el valor del módulo cumpla una condición establecida. Al elegir la condición regular aparece la posibilidad de marcar la casilla Triggered when the value matches. En caso de marcar, la alerta se lanzará cuando coincida el valor y viceversa.

  • Max and Min: Intervalo numérico acotado. Al marcar Trigger when matches the value la alerta se lanzará cuando el valor esté dentro del rango indicado entre el máximo y el mínimo y, en caso de no marcarla, la alerta se lanzará cuando el valor esté fuera del rango indicado.

  • Max: Se usa un valor máximo. La alerta saltará cuando el valor del módulo sea mayor que el valor máximo marcado.

  • Min: Se usa un valor mínimo. La alerta saltará cuando el valor del módulo sea menor que el valor mínimo marcado.

  • Equal to: Usado para disparar la alerta. Cuando se proporciona un valor debe ser igual al dato recibido. Esta condición, igual que las de max./min. se usa sólo para valores numéricos, ej. : 234 ó 124,35 .

  • Not Equal to: Igual que el anterior pero negando la condición (operador lógico NOT).

  • Module status: Se usa el Módulo, ya sea su estado (Critical status, Warning status, Unknown status, Not normal status ) o su cambio de valor (On change, sin embargo al desmarcar la casilla de verificación Triggered when the value matches permite disparar si el valor se mantiene igual) o simplemente siempre (Always), de ser necesario.

Paso 3: Campos avanzados

Haga clic para ampliar

Alert recovery

Combo donde puede definir si habilita o no la recuperación de alertas. En el caso de que la recuperación de alerta esté habilitada, cuando el módulo deje de cumplir las condiciones indicadas por la plantilla, se ejecutará la acción asociada con los argumentos especificados por los campos field definidos en esta columna.

Field 1 ~ Field 10

Aquí puede utilizar una serie de macros que se describen más adelante.

Una vez se ha completado la configuración finalice haciendo clic en el botón Finish.

Macros sustituibles en los campos Field1 ~ Field10

En todas las instancias de los campos field1field10 (tanto en la plantilla de alerta, como en el comando y en la acción) se pueden emplear la lista de macros al final de este capítulo, las cuales son palabras clave que son reemplazadas en el momento de ejecución por un valor, que varía en función del momento, valor, Agente que dispara la alerta, etc.

Ejemplo completo de alerta con reemplazamiento de macros

Crear una entrada en un LOG donde en cada línea aparezca el siguiente formato:

2009-12-24 00:12:00 pandora [CRITICAL] Agent <agent_name> Data <module_data> Module <module_name> in CRITICAL status

Command Configuration

echo _timestamp_ pandora _field2_ >> _field1_

Action Configuration

Field1 = /var/log/pandora/pandora_alert.log
Field2 = <En blanco>
Field3 = <En blanco>

Template Configuration

Field1 = <En blanco>
Field2 = [CRITICAL] Agent _agent_ Data _data_ Module _module_ in CRITICAL status
Field3 = <En blanco>

En la sección de recuperación:

Field2 = [RECOVERED] [CRITICAL] Agent _agent_ Data _data_ Module _module_ in CRITICAL status
Field3 = <En blanco>

De este modo, al ejecutar una alerta, la siguiente línea se colocará en el LOG:

2009-10-13 13:37:00 pandora [CRITICAL] Agent raz0r Data 0.00 Module Host Alive in CRITICAL status

Y la siguiente línea para recuperar la alerta:

2009-10-13 13:41:55 pandora [RECOVERED] [CRITICAL] Agent raz0r Data 1.00 Module Host Alive in CRITICAL status

Editar una Plantilla

Vaya al menú Alerts > Templates y haga clic en el nombre de la plantilla a editar.

plantilla.jpg

Eliminar una plantilla

Para eliminar una plantilla, haga clic en el icono de papelera gris situado a la derecha de la alerta.

cruz.jpg

Asignar Plantillas de alerta a los módulos

Las formas posibles de asignar las alertas a los módulos son tratadas en las siguientes secciones.

Gestión de Alertas desde el submenú de Alertas

Asignación de Alertas desde el submenú de Alertas

Vaya a Alerts > List of alerts. Desde esta sección puede crear nuevas alertas haciendo clic en el icono de lápiz (Builder alert), proceda a configurar los campos:

pinar.jpg

Agent

Autocompletado para elegir el Agente.

Module

Listado de módulos del Agente anteriormente seleccionado.

Actions

Acción que se ejecutará al disparar la alerta. Si la plantilla ya tiene una acción por defecto puede dejarse en Default.

Template

Plantilla que contendrá las condiciones de disparo de la alerta.

Threshold

Una acción de alerta no será ejecutada más de una vez cada action_threshold segundos, a pesar del número de veces que la alerta sea disparada.

Modificar alertas desde el Submenú de Alertas

Una vez que se ha creado una alerta, solo será posible modificar las acciones que se hayan añadido a la acción que tiene la plantilla.

También es posible suprimir la acción que fue seleccionada cuando se creó la alerta haciendo clic en el icono de papelera gris que está a la derecha de la acción, o añadir nuevas acciones haciendo clic en el botón “Añadir”.

Haga clic para ampliar

Desactivar Alertas desde el Submenú de Alertas

Una vez se ha creado la alerta, es posible desactivarla haciendo clic en el icono de bombilla que está a la derecha del nombre de la alerta.

desha.jpg

Eliminar Alertas desde el submenú de Alertas

Es posible eliminar cualquier alerta haciendo clic en la papelera que está situada a la derecha de la alerta.

filter.jpg

Gestionar alertas desde el agente

Asignación de alertas desde el Agente

Desde la sección de administración del agente puede añadir nuevas alertas navegando a la solapa correspondiente:

Module

Listado de módulos del agente.

Actions

Acción que se ejecutará al disparar la alerta. Si la plantilla ya tiene una acción por defecto puede dejarse en Default.

Template

Plantilla que contendrá las condiciones de disparo de la alerta.

Threshold

Una acción de alerta no será ejecutada más de una vez cada action_threshold segundos, a pesar del número de veces que la alerta sea disparada.

Modificar alertas desde el Agente

Una vez que la alerta ha sido creada,sólo es posible modificar las acciones que han sido añadidas a la acción que tiene la plantilla.

Es posible eliminar la acción que se seleccionó para crear la alerta haciendo clic en el icono de papelera que está a la derecha de la acción, o bien añadiendo nuevas acciones haciendo clic en el botón “Añadir”.

Desactivar alertas desde el Agente

Una vez que una alerta ha sido creada, será posible desactivarla haciendo clic en el icono de bombilla que está a la derecha del nombre de la alerta.

En la imagen del ejemplo, la segunda alerta está deshabilitada (nótese que el color de la fuente y el icono de deshabilitado de alerta son gris claro)

Eliminar alertas desde el Agente

Es posible eliminar cualquier Alerta haciendo clic en el icono de la papelera que está a la derecha de la Alerta.

Detalle de alertas

Al pulsar en el icono de la lupa en la botonera de las opciones de la alerta, puede acceder a una página resumen de la configuración efectiva de la alerta.

Esta es la pantalla donde puede confirmar cada una de las configuraciones que ha seleccionado para la alerta:

Seleccione del desplegable de acciones una acción específica para ver un ejemplo del comando final:

Visión general de una alerta

Definiendo un umbral

Para un Módulo llamado CPU Load se definirá un umbral crítico y de advertencia.

cpu1.jpg

Acceda al formulario de edición del módulo para establecer los umbrales siguientes:

Aceptamos y guardamos la modificación. Ahora cuando el valor del módulo CPU Load se encuentre entre 70 y 90, su estado pasará a ser WARNING, y entre 91 y 100 pasará a ser CRITICAL, mostrando su estado en rojo:

cpu3.jpg

Configurando la acción

Para crear una acción que consista en enviar un correo al operador, acceda al menú Alerts > Actions y haga clic en el botón para crear una nueva acción Create:

Esta acción utilizará el comando eMail, y sus campos Field 1, Field 2 y Field 3 corresponderán a la dirección destino, el asunto del correo, y el cuerpo del mensaje.

Configurando la plantilla

Para crear una plantilla de alerta genérica para cualquier módulo en estado crítico (su acción por defecto será notificar mediante correo electrónico al grupo de operadores) debe acceder a la sección Templates.

Paso 1:

La prioridad definida aquí ( Informative ) se utilizará para mostrar el evento en un color determinado cuando la alerta sea disparada.

En el paso 2 debe colocar los parámetros que determinan las condiciones específicas de disparo, tales como el estado que debe tener el Módulo o los intervalos horarios en los que funcionará la plantilla.

Paso 2:

Condition type

Determina si la alerta saltará por un cambio de estado, una variación de un valor, etc. Es el parámetro más importante para que la alerta funcione de la forma deseada. En este ejemplo se utiliza la condición Critical status para que la alerta sea disparada al tener un módulo en estado crítico.

Default action

(Opcional) acción por defecto a ejecutar cuando se dispare la alerta.

Time threshold

Tiempo durante el cual no se volverá a repetir la alerta si el estado incorrecto se mantiene de forma continua. Ej.si se establece en un día (24 horas), sólo enviará la alerta una vez cada 24 horas aún cuando el módulo permanezca más tiempo en estado incorrecto.

Min, Max

Número de alertas, el número mínimo y máximo de veces que se tendrá que dar la condición (en este caso, que el módulo esté en estado critical) antes de que Pandora FMS ejecute las acciones asociadas a la plantilla de alerta. Con valor mínimo en cero (0), la primera vez que el modulo esté mal, disparará la alerta.

Paso 3:

Haga clic para ampliar

En la tercera sección intervienen los campos Field1, Field2, Field3, etc. explicados en secciones anteriores: servirán para transferir parámetros desde la plantilla hasta la acción, y desde la acción hasta el comando.

Además en esta sección puede habilitar o deshabilitar la recuperación de la alerta, que consiste en ejecutar otra acción cuando la situación problemática vuelve a estado normal.

Asociando la alerta al módulo

Una vez reunidos todos los recursos necesarios, solo debe asociar la plantilla de alerta al Módulo. Para ello vaya a la solapa de alertas dentro del Agente donde está el Módulo:

Así ha finalizado la creación de una asociación entre el Módulo cpu_user y la plantilla de alerta Critical condition. Por defecto mostrará la acción que está definida en esa plantilla “Enviar correo a XXX”.

Escalado de alertas

Un escalado de alertas son acciones adicionales que se ejecuten si la alerta se repite una cierta cantidad de veces de forma consecutiva (primero debe asociar una alerta completa a un Módulo tal como se explica en secciones anteriores).

Únicamente necesita añadir las acciones adicionales y determinar entre cuáles repeticiones consecutivas de la alerta va a ejecutar esta acción. Ejemplo:

alert1.jpg

Cuando una alerta se recupera, todas las acciones que se hayan ejecutado hasta ese momento se volverán a ejecutar, no solo las que correspondan a la configuración de Number of alerts match from actual.

Adicionalmente puede colocar un umbral (Threshold) como segundo parámetro, por el cual no podrá lanzarse una alerta más de una vez durante dicho intervalo.

Envío de mensajes de alerta por medio de mensajería instantánea

  1. Telegram es una plataforma de mensajería instantánea por la cual usted puede recibir mensajes de alertas desde Pandora FMS. Puede obtener más información en el vídeo tutorial «Alertas en Telegram: Integración de Pandora FMS». En ese vídeo tutorial usted podrá poner en práctica, de manera guiada (a partir del tercer minuto), la creación y configuración de todos los componentes de una alerta PFMS. También puede obtener más información con la guía rápida "Integración con Telegram".

Alertas en Standby

Las alertas pueden estar activadas, desactivadas o en modo de espera (standby). La diferencia entre las alertas desactivadas y las que están en standby es que las desactivadas simplemente no funcionarán y por lo tanto no se mostrarán en la vista de alertas. En cambio, las alertas en standby se mostrarán en la vista de alertas y funcionarán pero solamente a nivel de visualización. Esto es, se mostrará si están o no disparadas pero no realizarán las acciones que tengan programadas ni generarán eventos.

Las alertas en standby son útiles para poder visualizarlas sin que molesten en otros aspectos.

Protección en cascada

La protección en cascada es una característica de Pandora FMS que permite evitar un bombardeo masivo de alertas cuando un grupo de Agentes no es accesible, debido a una conexión principal que falla. Este tipo de cosas ocurren cuando un elemento de la red intermedio como un router o un switch fallan, y deja inaccesible a una gran parte de la red gestionada con Pandora FMS. Debido a que los chequeos de red fallarían en este escenario, comenzarían a dispararse alertas por dispositivos caídos sin ello ser cierto.

La protección en cascada se activa desde la configuración del Agente. Haga clic en la opción Cascade protection.

down1.jpg

Para que funcione el agente con protección en cascada activada debe tener correctamente configurado el Agente padre, del cual depende. Si el Agente padre tiene en ese momento alguna alerta de Módulo en estado crítico disparada, el agente inferior con protección en cascada no ejecutará sus alertas. Esto no se aplica para alertas de módulos en estado warning o unknown.

Ejemplos

Tiene los siguientes Agentes:

  • Router: Módulo ICMP check y Módulo de SNMP check, usando un OID estándar para verificar el estado de un puerto ATM. Se puede también verificar la latencia hasta el router de nuestro proveedor.
  • Web server: Tiene varios Módulos ejecutados por el agente, tales como CPU, Memoria, verificación del proceso Apache. También tiene un chequeo de latencia WEB de cuatro pasos.
  • Database server: Tiene varios Módulos ejecutados por el agente: CPU, Memoria, verificación del proceso MySQL. Además tiene algunos chequeos adicionales de integridad de la base de datos. También tiene verificación de la conectividad remota a otra base de datos, usando un plugin específico que se autentica (login), hace una consulta (query) y sale, midiendo el tiempo total utilizado.

En WEB SERVER y en DATABASE SERVER, definimos como padre a ROUTER. Activamos la casilla de cascade protection en WEBSERVER y DATABASE SERVER.

Con este escenario puede definir varias alertas:

  • ROUTER

SNMP Check / CRITICAL → Action, send MAIL. Latency > 200ms / WARNING → Action, send MAIL.

  • WEB SERVER

CPU / WARNING MEM / WARNING PROCESS / CRITICAL → Action, send MAIL. HTTP LATENCY / CRITICAL → Action, send MAIL.

  • DATABASE SERVER

CPU / WARNING MEM / WARNING PROCESS / CRITICAL → Action, send MAIL. SQL LATENCY / CRITICAL > Action, send MAIL.

Si falla la conexión del ROUTER por el cual Pandora FMS se conecta a WEB SERVER y DATABASE:

  • Sin activar la protección en cascada, recibiría seis alertas las cuales se multiplican por el número de servidores (imagine 200, por ejemplo). A este efecto se le conoce por “tormenta de eventos”, en el peor escenario, puede colapsar su servidor de correo, el servidor de monitorización y su propio teléfono móvil, inundando cada uno de ellos con cientos (o incluso miles) de mensajes.
  • Con la protección en cascada activada, solo recibiría una alerta, indicando que la interfaz ATM del ROUTER está fuera de línea. Sin embargo los elementos de WEBSERVER y DATABASE SERVER se visualizarían en rojo, pero no llegarían sus alertas correspondientes.

Protección en cascada basada en servicios

Versión NG 727 o superior.

Es posible utilizar los Servicios para evitar que lleguen alertas de múltiples orígenes informando sobre una misma incidencia.

Si activa la protección en cascada basada en Servicios, los elementos del Servicio (Agentes, Módulos u otros Servicios) no notificarán problemas, sino que será el propio Servicio quien alerte en nombre del elemento afectado.

Si el elemento 192.168.10.149 entrara en estado crítico, sin afectar al resto del servicio, el operador recibiría una alerta indicando que 192.168.10.149 está caído, pero que el Servicio está funcionando con normalidad.

Para poder recibir esta información debe editar o crear una nueva plantilla de alerta, utilizando la macro _rca_ para un análisis de causa raíz (root cause analysis).

_rca_

Esta macro proporcionará al operador información del 'camino' afectado en el servicio.

Por ejemplo, el valor de la macro _rca_ correspondiente al estado del servicio en la imagen sería:

[Service -> web_service -> 192.168.10.149]

Aunque el estado del servicio sería correcto ya que no supera el 50% de los componentes en estado crítico (puede obtener más información acerca de esto en la sección Servicios).

Observación: La cadena de acontecimientos que se representa en el análisis de causa raíz representa los elementos en estado crítico dentro de un Servicio, lo que permite ver qué elementos están afectando al mismo.

Protección en cascada basada en módulos

Se puede usar el estado de un Módulo de un Agente padre para evitar que envíen alertas del Agente en caso de que pase a estado crítico.

Modo de operación seguro

El modo de operación seguro se puede habilitar en las opciones de configuración avanzadas de un Agente.

Si el estado del Módulo seleccionado pasa a critical, el resto de Módulos del Agente se deshabilitan hasta que vuelva a normal o warning de nuevo. Esto permite, por ejemplo, deshabilitar Módulos remotos si se pierde la conectividad.

Lista de días especiales

Pandora FMS permite definir una lista de días especiales para festivos y vacaciones que puede utilizarse en la configuración de la plantilla para que durante esos días las alertas no sean disparadas.

Crear un día especial

Los nuevos días especiales se crean en el apartado AlertsList of special days, haciendo clic en el botón Create, debajo del calendario.

Una vez que se ha hecho clic en uno de ellos rellene los siguientes parámetros:

Date

La fecha del día especial. El formato es YYYY-MM-DD. Para establecer el mismo día todos los años, puede utilizar *-MM-DD.

Group

Seleccione el grupo al que se le aplica el día especial. Solamente podrá asignar un grupo al cual pertenezca el usuario que está creando el día especial, a menos que dicho usuario pertenezca explícitamente al grupo TODOS (ALL).

Same day of the week

La fecha del apartado Date será tratado de la misma manera igual que este día de la semana, sin importar que día de la semana sea realmente.

Una vez los campos hayan sido seleccionados, haga clic en el botón Create.

Ejemplo práctico 1:

Considerando el 1 de mayo de 2021 como un día especial. Si se define 2021-05-01 como Sunday, ese día será tratado como si fuera un domingo en vez del día de semana que corresponde en el calendario.

Ejemplo práctico 2:

Considerando el 1 de mayo de todos los años como un día especial. Si se define *-05-01 como Sunday, ese día será tratado como si fuera un domingo en vez del día de semana que corresponde en el calendario.

Ejemplo práctico 3:

Una plantilla creada y configurada la cual solo avisa de lunes a viernes de 8h a 18h. Los sábados y domingos esta plantilla no hará que ninguna alerta se dispare. El día 15 de agosto es miércoles y es festivo, por lo que crearemos como un día especial y en el campo Same day of the week elegiremos sábado o domingo, de este modo no seremos alertados de ningún problema el 15 de agosto ya que será tratado como un día (sábado o domingo) en el que la plantilla no está configurada para disparar alertas.

Crear días especiales masivamente usando un archivo .ics

Los días especiales también pueden ser creados utilizando un archivo de tipo iCalendar (.ics). Éstos pueden ser importados en la parte superior de la ventana. Una vez importados, se registrarán los datos correspondientes en el mes actual.

Editar un día especial

Es posible crear los días especiales creados en la opción List of special days en el apartado Alerts.

Para editar un día especial, haga clic en el icono de la llave inglesa junto al día especial que corresponda.

Una vez que se hayan realizado los cambios, haga clic en el botón Update para confirmarlos.

Eliminar un día especial

Para eliminar un día especial, haga clic en el icono de la papelera, ubicado junto al icono de la llave inglesa del día especial.

Ejemplos de alertas completas

Envío de alertas por SMS

Debe tener instalada una herramienta que permita el envío de SMS como smstools

Al tener configurada su cuenta de SMS, ejecute el comando:

> sendsms 

Debe indicar dos parámetros, destino y mensaje:

<destination> 'Full message'

Coloque el número destino de manera completa (ej. 346276226223 para teléfonos en España) y el texto del mensaje entre comillas simples ( ' y ').

De esta manera puede utilizar un comando para la alerta a crear en la interfaz de administración de Pandora FMS.

Para este comando el campo 1 Field 1 será el número de teléfono destino y el campo 2 Field 2 el mensaje en sí mismo, su texto. Recuerde que estos campos serán “pasados” a la alerta y que sus valores bien podrán ser tomados o sustituidos, por ello en la imagen anterior el número destino para ejemplo es “123456789”.

Ahora configure la acción para ese comando:

Esta acción ejecuta el comando previamente definido, reemplazando Field 1 y Field 2 con valores personalizados. El Field 1 será el teléfono de destino (“346666666666” en el ejemplo de la figura anterior), y el Field 2 el texto definido esta acción (“Hola” en el ejemplo de la figura anterior).

En Pandora FMS puede usar una palabra (alfanumérica) para el número de teléfono destino, pero tenga en cuenta que algunos operadores de móviles no gestionan bien las identificaciones alfanuméricas.

En el siguiente paso bien puede utilizar una Plantilla de Alerta existente o crear una nueva:

En este caso la plantilla de alerta sólo se “disparará” cuando un módulo esté en estado critical.

Una vez definido esto, configure la alerta para que se dispare una vez al día como máximo, pero si se recupera, se lanzará de nuevo cada vez que se recupere y dispare de nuevo; observe la siguiente figura.

Ahora solo resta asignar un Módulo con una plantilla de alerta y una acción de alerta:

Sobre un Módulo de carga de trabajo de CPU, ajuste a un valor bajo de 20 para poder probar el envío del mensaje, fíjese en la captura de pantalla a continuación:

Ya para finalizar puede “forzar” la ejecución de la alerta, es decir, ejecutar la alerta del Agente de inmediato; vaya a la vista de alerta del Agente y haga clic en el icono circular verde.

Debe llegar un mensaje de texto SMS al teléfono móvil, como muestra la siguiente foto. Note que el mensaje de prueba fue cambiado por el text “aeryn”; además el valor de la carga del CPU muestra “N/A” porque al forzar una alerta no se recibe ningún dato real por parte del Módulo, pues éste no ha tenido tiempo de recabar valor alguno.

Utilizando comandos de alertas distintos del email

Pandora FMS se caracteriza por su flexibilidad, para que de esta manera siempre pueda ser útil, en todo momento. La siguiente práctica es avanzada y debe ser siempre tomada como una excepción a las reglas. Así es el mundo real, en contadas ocasiones se necesita ir más allá.

El email, como comando es interno a Pandora FMS y no se puede configurar, es decir, Field 1, Field 2 y Field 3 son campos que están definidos que se usan como destinatario, asunto y texto del mensaje. ¿Qué ocurriría si necesita ejecutar una acción diferente, definida de manera personalizada?

Ponga por caso que necesita generar un fichero log con cada alerta que encuentre Pandora FMS. El formato de ese fichero log es algo como:

FECHA_HORA - NOMBRE_AGENTE - NOMBRE_MODULO - VALOR - DESCRIPCION DEL PROBLEMA

Donde VALOR es el valor del módulo en ese momento. Habrá varios ficheros log, dependiendo de la acción que llame al comando. La acción definirá la descripción y el fichero al que van los eventos.

Para ello, primero debe crear un comando como sigue:

Y definir una acción para el mismo:

Al ser ejecutadas las alarmas, el fichero de log que ha creado puede verse parecido a esto:

2010-05-25 18:17:10 - farscape - cpu_user - 23.00 - Custom log alert #1

Para este ejemplo La alerta se disparó a las 18:17:10 en el agente “farscape”, en el modulo “cpu_sys” con un dato de “23.00” y con la descripción que colocó al definir la acción.

La ejecución del comando, el orden de los campos y otros asuntos pueden hacer que desconozcamos cómo se ejecuta realmente el comando, lo más sencillo para esto es activar las trazas de debug del servidor de pandora (verbose 10) en el fichero de configuración de Pandora Server en /etc/pandora/pandora_server.conf. A continuación reinicie el servidor con la orden /etc/init.d/pandora_server restart y examine el fichero /var/log/pandora/pandora_server.log buscando la línea exacta con la ejecución del comando de la alerta que ha definido.


A partir de la versión NG 754 dispone de opciones adicionales en el arranque y parada manual de Entornos de Alta Disponibilidad (HA).

Ejemplo completo de alerta con macros de sustitución

Supongamos que necesita generar una entrada en un LOG donde cada línea aparezca con el siguiente formato:

2009-12-24 00:12:00 pandora [CRITICAL] Agent <agent_name> Data <module_data> Module <module_name> in CRITICAL status 

Configuración del comando

echo _timestamp_ pandora _field2_ >> _field1_

Configuración de la acción

 Field1 = /var/log/pandora/pandora_alert.log
 Field2 = <En blanco>
 Field3 = <En blanco>

Configuración de la plantilla

Field1 = <En blanco>
Field2 = [CRITICAL] Agent _agent_ Data _data_ Module _module_ in CRITICAL status
Field3 = <En blanco>

En la sección de recuperación:

Field2 = [RECOVERED] [CRITICAL] Agent _agent_ Data _data_ Module _module_ in CRITICAL status
Field3 = <En blanco>

Así al ejecutar una alerta, se insertaría la siguiente linea en el LOG:

2009-10-13 13:37:00 pandora [CRITICAL] Agent raz0r Data 0.00 Module Host Alive in CRITICAL status

Y la siguiente línea al recuperar la alerta:

2009-10-13 13:41:55 pandora [RECOVERED] [CRITICAL] Agent raz0r Data 1.00 Module Host Alive in CRITICAL status

Macros personalizados de alerta de módulo

Es posible añadir cualquier número de macros (Custom macros) a un Módulo de Agente.

Estas macros personalizadas tienen las siguientes características:

  • Se definen en el Módulo.
  • Almacenan los datos en la base de datos.
  • Pueden tener cualquier nombre, ej. _pepito.
  • No se reflejan en la configuración local (.conf).
  • Se usan exclusivamente para las alertas.
  • No se pueden definir a nivel de componente.
  • Se pueden definir en las políticas.

Estas macros especificas se pueden añadir expandiendo la sección de macros de cualquier módulo.

Los valores establecidos pueden ser utilizados como parte de los campos en la definición de alertas.

Ejemplo: Para incluir una macro a la acción de envío de correo electrónico es necesario configurar el campo de cuerpo del mensaje de la siguiente manera:

Si un Módulo es añadido a esta alerta sin tener la macro configurada, la sección donde debería aparecer el valor de la macro en la acción aparecerá vacía.

Configuración de correos para alertas en Pandora FMS

Pandora FMS por si sola tiene la facultad de enviar correos electrónicos tal como se explica en la configuración general de la Consola.

Sin embargo su flexibilidad permite el envío de correo electrónico con diferentes plataformas de correo.

Configuración de correo con cuenta Gmail

Para que el servidor de Pandora FMS pueda mandar las alertas mediante correo de cuenta Google Mail (Gmail) proceda a la configuración general de la Consola o a la configuración del servidor de Pandora FMS y coloque sus credenciales (dominio web Office365, nombres de usuario, contraseña, etcétera).

Configuración de Acción

Agregue una acción, por ejemplo con el nombre Mail to Admin, y para configurar el destinatario de correo use el comando eMail:

Configuración de la Alerta

En este caso se ha generado en la configuración del Módulo > Alertas, una nueva alerta con el siguiente Módulo:

Una vez que salta la alerta se podrá verificar cómo llega al correo elegido en la acción:

Configuración de correo con cuenta Office365

Pandora FMS puede utilizar Office365 por medio de la siguiente configuración:

  • Debe tener una cuenta creada en Office365.

Correlación de alertas: alertas en eventos y logs

Versión NG 741 o superior.

Con Pandora FMS se pueden construir alertas basándonos en los eventos recibidos o en los datos recogidos con el sistema de recolección de logs. Se pueden construir alertas sencillas o más complejas, en base a un conjunto de reglas con relaciones lógicas. Esta funcionalidad reemplaza a la anterior de alertas de eventos.

Este tipo de alertas permite trabajar desde una perspectiva mucho más flexible, ya que no se generan alertas en función del estado de un Módulo específico, sino sobre un evento que puede haber sido generado por varios Módulos diferentes, de distintos Agentes.

Las alertas de eventos y/o logs se basan en reglas de filtrado que emplean los siguientes operadores lógicos:

  • and
  • or
  • xor
  • nand
  • nor
  • nxor

Estos operadores lógicos sirven para buscar eventos/expresiones en logs que coincidan con las reglas de filtrado configuradas, y si se encuentran coincidencias se disparará la alerta.

También emplean las plantillas para definir algunos parámetros, como los días en los que funcionará la alerta; no obstante, en este caso las plantillas no determinan cuándo se dispara la alerta de evento, sino que es mediante las reglas de filtrado como se buscarán y se dispararán las alertas de los eventos que coincidan.

Se recomienda utilizar el nuevo editor de reglas, que permite construir las reglas de manera visual, aunque durante un tiempo se podrá seguir usando el editor antiguo de alertas de eventos. Puede obtener más información en el vídeo tutorial «Novedades release 741 Pandora FMS».

Dado el elevado número de eventos que puede llegar a albergar la base de datos de Pandora FMS, el servidor trabaja sobre una ventana de eventos máxima, que se define en el fichero de configuración pandora_server.conf mediante el parámetro event_window y log_window. Los eventos que se hayan generado fuera de esta ventana de tiempo no serán procesados por el servidor, de modo que no tiene sentido especificar en una regla una ventana de tiempo superior a la configurada en el servidor.

A la hora de definir alertas sobre eventos será imprescindible indicar los parámetros agente, módulo y evento.

Creación de alertas de correlación

Para que funcionen las alertas de correlación de eventos hay que activar el servidor de correlación de eventos con el parámetro eventserver 1 en el fichero de configuración del servidor de Pandora FMS.

Alertas de correlación y plantillas

Para configurar una alerta correlacionada se tendrá que acceder a través del menú al apartado Alert correlation.

En esta vista global podemos observar los campos:

Sort

Marca el orden de la evaluación de alertas correlacionadas valorando si está configurado como pass o drop. Cuanto más arriba esté en la lista, antes se evaluará la alerta.

Name

Nombre de la alerta.

Group

Grupo en el que se ha organizado. El usuario podrá ver solamente los grupos a los cuales pertenezca, a menos que dicho usuario pertenezca explícitamente al grupo TODOS (ALL).

Matched

Cuántas veces se ha detectado un evento que coincida con la regla de disparo en el threshold actual.

Triggered

Cuántas veces se ha lanzado la alerta en el threshold que se haya configurado.

Action

Muestra las acciones configuradas en la alerta.

Options

Permite operar con la acción deshabilitada, en modo standby, añadir más acciones, editar o eliminar la alerta correlacionada.

Proceda a crear una regla y defina su comportamiento ( el proceso es similar a la creación de Alert Templates):

Los parámetros de configuración de las plantillas para alertas de correlación son similares a los de una alerta de Módulo. Únicamente existen dos parámetros específicos de las alertas de eventos:

  • Modo de evaluación de reglas (“Rule evaluation mode”): Puede ser Pass o Drop. El primero significa que, en caso de que un evento coincida con una alerta, se sigan evaluando el resto de alertas. Drop significa que, en caso de que un evento coincida con una alerta, no se evalúen el resto de alertas.
  • Agrupación (“Group by”): Permite agrupar las reglas por Agente, Módulo, alerta o grupo. Por ejemplo, si se configura una regla para que salte cuando se reciban dos eventos críticos y se agrupa por Agente, deberán llegar dos eventos críticos de un mismo Agente. Se puede desactivar.

En caso de alertas que contengan reglas de logs, solo afectará a la agrupación por Agente. Si elige una agrupación diferente, las alertas basadas en entradas de log no se cumplirán nunca.

Cada regla se configura para saltar ante un determinado tipo de evento o match de log; cuando se cumple la ecuación lógica definida por las reglas y sus operadores, la alerta se dispara.

Reglas dentro de una alerta de correlación

Puede obtener más información en el vídeo tutorial «Novedades de Pandora FMS».

Para definir las reglas del alertado será necesario arrastrar los elementos de la parte izquierda al drop area de la parte derecha para construir su regla.

Elementos de configuración disponibles:

Estos elementos se irán habilitando para guiar al usuario en el cumplimiento de la gramática de la regla. A continuación se explica de manera simplificada la gramática a utilizar:

 S -> R | R + NEXO +R
 R -> CAMPO + OPERADOR + C | CAMPO + OPERADOR + C + MODIFICADOR
 C -> VARIABLE

Donde S es el conjunto de reglas definidas para la alerta correlacionada.

Será necesario arrastrar el elemento sobre el área de definición de reglas:

De tal forma que la imagen sea parecida a esta por ejemplo:

En los operadores de comparación == y != se comparan literalmente las cadenas de texto. Para mayor flexibilidad considere utilizar el operador REGEX el cual emplea Expresiones Regulares.

Para limpiar y deshacer todos los cambios se dispone de dos botones: Cleanup y Reset.

Solamente guardará los cambios cuando pulse el botón siguiente (Next).

Recuerde: Los bloques tienen simultaneidad a la hora de cumplir la condición. Observe los siguientes ejemplos teóricos.

(A and B)

Obliga a que el elemento analizado (sea evento o log) cumpla simultáneamente A y B.

A and B

Obliga a que ambas reglas (A) y (B) se cumplan en la ventana de evaluación. Esto quiere decir que deben existir en los últimos segundos (definidos por los parámetros log_window y event_window) entradas que satisfagan ambas reglas.

Fields dentro de una alerta de correlación

En la sección anterior "Sistema de alertas" se explica con mayor detalle el funcionamiento de los campos en alertas.

Triggering dentro de una alerta de correlación

En esta sección debe configurar las acciones que va a realizar cuando se dispare la alerta e indicar en cuáles intervalos y cada cuánto tiempo se va a ejecutar dicha acción.

En esta sección vemos una vista previa de la configuración que se ha realizado en el apartado Conditions para tenerlo en cuenta a la hora de configurar la ejecución de una acción.

Configure las acciones mediante los campos:

Actions

Acción que necesita ejecutar.

Number of alerts match

Número de intervalos que tienen que pasar desde que se disparó la alerta para que se ejecute la acción. Si necesita que sea siempre, debe dejar estos campos en blanco.

Treshold

Intervalo que tiene que pasar para que se vuelva a ejecutar la acción una vez se dispare la alarma.

Después visualice la lista de acciones configuradas. En este listado el campo triggering muestra en cuales intervalos de la alerta se ejecutará la acción, tal como configuró en number of alerts match. Además, en la columna Options puede eliminar o modificar las acciones configuradas.

Múltiples alertas correlacionadas

Cuando dispone de múltiples alertas, estas tienen un orden de evaluación específico. Se evaluarán siempre en orden, empezando primero por la primera de la lista.

Si configuramos el modo de evaluación de reglas PASS, si una alerta correlacionada se ejecuta, se evaluarán las siguientes también. Es el modo normal.

Si configuramos el modo de evaluación de reglas DROP, si una alerta correlacionada configurada con este modo se ejecuta, se detendrá la evaluación de las reglas que tenga por debajo. Esta característica nos brinda la posibilidad de una protección de alertas en cascada.

Por ejemplo:

  • Alerta genérica.
  • Alerta específica.

Si la alerta genérica falla, no es necesario evaluar la específica. Configure ambas con DROP.

Pulse sobre el icono de ordenación y arrastre para cambiar el orden de evaluación de las reglas.

El resto de las reglas de correlación (campos de acción y aplicación de acciones) funcionan similar al resto de alertas de Pandora FMS y no requieren de una explicación adicional.

Macros alerta de evento

Las macros que se pueden utilizar dentro de la configuración de una alerta de evento están en la lista de macros al final de este capítulo.

Lista de macros

Las Macros de comandos, Macros de acciones y Macros alerta de evento son comunes entre sí pero con las siguientes excepciones _modulelaststatuschange_ , _rca_ y _secondarygroups_

_address_

Dirección del Agente que disparó la alerta.

_address_n_

La dirección del Agente que corresponde a la posición indicada en n. Ejemplo: address_1_ , address_2_

_agent_

Alias del Agente que disparó la alerta. Si no tiene asignado alias, se usa el nombre del Agente.

_agentalias_

Alias del Agente que disparó la alerta.

_agentcustomfield_n_

Campo personalizado número n del Agente (ej. _agentcustomfield_9_ ).

_agentcustomid_

Identificador personalizado del Agente.

_agentdescription_

Descripción del Agente que disparó la alerta.

_agentgroup_

Nombre del grupo del Agente.

_agentname_

Nombre del Agente que disparó la alerta.

_agentos_

Sistema operativo del Agente.

_agentstatus_

Estado actual del Agente.

_alert_critical_instructions_

Instrucciones contenidas en el Módulo para un estado critical.

_alert_description_

Descripción de la alerta.

_alert_name_

Nombre de la alerta.

_alert_priority_

Prioridad numérica de la alerta.

_alert_text_severity_

Prioridad en texto de la alerta (Maintenance, Informational, Normal, Minor, Warning, Major, Critical).

_alert_threshold_

Umbral de la alerta.

_alert_times_fired_

Número de veces que se ha disparado la alerta.

_alert_unknown_instructions_

Instrucciones contenidas en el Módulo para un estado unknown.

_alert_warning_instructions_

Instrucciones contenidas en el Módulo para un estado warning.

_all_address_

Todas las direcciones del Agente que disparó la alerta.

_data_

Dato que hizo que la alerta se disparase.

_email_tag_

Buzones de correo electrónico asociados a los tags de Módulos.

_event_cfX_

(Solo alertas de evento). Clave del campo personalizado del evento que disparó la alerta. Por ejemplo, si hay un campo personalizado cuya clave es IPAM, se puede obtener su valor usando la macro _event_cfIPAM_.

_event_description_

(Solo alertas de evento) Descripción textual del evento de Pandora FMS.

_event_extra_id_

(Solo alertas de evento) Identificador extra.

_event_id_

(Solo alertas de evento) Identificador del evento que disparó la alerta.

_event_text_severity_

(Solo alertas de evento) Prioridad en texto de el evento que dispara la alerta (Maintenance, Informational, Normal Minor, Warning, Major, Critical).

_eventTimestamp_

Timestamp en el que se creo el evento.

_fieldX_

Campo X definido por el usuario.

_groupcontact_

Información de contacto del grupo. Se configura al crear el grupo.

_groupcustomid_

Identificador personalizado del grupo.

_groupother_

Otra información sobre el grupo. Se configura al crear el grupo.

_homeurl_

Es un enlace de la URL pública que debe configurarse en las opciones generales de la configuración.

_id_agent_

Identificador del Agente, útil para construir URL de acceso a la consola de Pandora FMS.

_id_alert_

Identificador de la alerta, útil para correlacionar la alerta en herramientas de terceros.

_id_group_

Identificador del grupo de Agente.

_id_module_

Identificador del Módulo.

_interval_

Intervalo de la ejecución del Módulo.

_module_

Nombre del Módulo.

_modulecustomid_

Identificador personalizado del Módulo.

_moduledata_X_

Usando esta macro (“X” es el nombre del Módulo en cuestión) recogemos el último dato de este Módulo y si es numérico lo devuelve formateado con los decimales especificados en la configuración de la consola y con su unidad (si la tiene). Serviría para, por ejemplo, al enviar un correo al saltar una alerta de Módulo, enviar también información adicional (y quizás muy relevante) de otros módulos del mismo Agente.

Si “X” (nombre del Módulo en cuestión) contiene espacios, estos deben ser colocados como una entidad HTML :

&#x20;

Puede ver una lista de entidades HTML en Wikipedia.


_moduledescription_

Descripción del Módulo.

_modulegraph_nh_

(Solo para alertas que usen el comando eMail) Devuelve una imagen codificada en base64 de una gráfica del Módulo con un periodo de n horas (ej. _modulegraph_24h_). Requiere de una configuración correcta de la conexión del servidor a la consola vía API, la cual se realiza en el fichero de configuración del servidor.

_modulegraphth_nh_

(Solo para alertas que usen el comando _email_tag_) Misma operación que la macro anterior pero sólo con los umbrales crítico y de advertencia del Módulo, en caso de que estén definidos.

_modulegroup_

Nombre del grupo del Módulo.

_modulestatus_

Estado del Módulo.

_modulelaststatuschange_

(Únicamente para Macros de comando)timestamp en el que se produjo el último cambio de estado del Módulo.

_moduletags_

URLs asociadas a los tags de módulos.

_name_tag_

Nombre de los tags asociados al Módulo.

_phone_tag_

Teléfonos asociados a los tags de módulos.

_plugin_parameters_

Parámetros del plugin del Módulo.

_policy_

Nombre de la política a la que pertenece el Módulo (si aplica).

_prevdata_

Dato previo antes de disparase la alerta.

_rca_

Cadena de análisis de causa raíz (únicamente para Servicios).

_secondarygroups_

Muestra los grupos secundarios del Agente (únicamente para macros de comandos y macros de acciones).

_server_ip_

Dirección IP del servidor al que el Agente está asignado.

_server_name_

Nombre del servidor al que el Agente está asignado.

_target_ip_

Dirección IP del objetivo del Módulo.

_target_port_

Puerto del objetivo del Módulo.

_timestamp_

Hora y fecha en que se disparó la alerta.

_timezone_

Zona horaria que se representa en _timestamp_.

Volver al Índice de Documentación Pandora FMS