Pandora: Documentation es: Alertas

From Pandora FMS Wiki
Revision as of 09:53, 2 January 2013 by Juanmanuel (talk | contribs) (Creación de un comando para una alerta)
Jump to: navigation, search

Volver a Indice de Documentacion Pandora FMS

Contents

1 Alertas

1.1 Introducción

Una alerta es la reacción de Pandora FMS a un valor «fuera de rango» de un módulo. Dicha reacción es configurable y puede consistir en enviar un correo electrónico o un SMS al administrador, enviar un trap SNMP, redactar el incidente en el registro del sistema, etc. Una alerta es, básicamente, cualquier acción que pueda ser desencadenada por un script configurado en el Sistema Operativo donde corre el servidor de Pandora FMS que procesa el módulo. Pandora FMS 3.0 permite «encadenar» alertas en una secuencia lógica, son las llamadas Alertas compuestas. Las alertas se pueden deshabilitar individualmente o bien deshabilitando un grupo entero de agentes. También, si se deshabilita un agente, éste no lanzará alertas. La gestión de Alertas se realiza en la sección Administration -> Manage Alerts, situado en la parte derecha de la consola web de Pandora FMS:



File:Susi1.jpg



1.2 Comando

La reacción de Pandora FMS ante un valor “fuera de rango” puede ser de diverso índole, escritura en un syslog, envío de un mail o SMS, o bien la ejecución de cualquier script que este alojado en la máquina de Pandora FMS y pueda ser procesado. Las diferentes reacciones que puede tomar Pandora se configura en la opción Command del menú Manage Alerts dentro de la parte de Administración.



Susi2.png



En esta sección es posible modificar o añadir sus propios comandos para las Alertas.

1.2.1 Creación de un comando para una alerta

Los comandos de alertas nuevos se crean pinchando en el botón Create dentro de Command en el menu Manage Alerts en el menú de Administración.

Una vez se ha pinchado en Create aparece una pantalla como la siguiente.



750px



A continuación se detallan los campos:


Name

El nombre del Comando. Es importante que describa bien su función pero de forma breve, por ejemplo: «Log. Comunicaciones»..

Command

Comando que se ejecuta como reacción aun módulo “fuera de Rango”. Es posible utilizar macros para reemplazar los parámetros configurados en la declaración de las alertas. Las macros que se pueden utilizar son:

  • _field1_: Normalmente asignado como nombre de usuario, teléfono, fichero, o destino de un correo electrónico.
  • _field2_: Normalmente asignado como una breve descripción de eventos, como el asunto en un correo electrónico.
  • _field3_: Es un campo descriptivo, en el caso de un correo electrónico o un SMS se puede usar para el mensaje.
  • _agent_: Nombre del agente completo.
  • _agentdescription_: Descripción del agente que disparó la alerta.
  • _agentgroup_: Nombre del grupo del agente.
  • _address_: Dirección del agente que disparó la alerta.
  • _timestamp_: Una representación estándar de fecha y tiempo (yy-mm-dd hh:mm:ss). Reemplazada automáticamente al ejecutar la alerta.
  • _data_: El valor de los datos que lanzaron la alerta.
  • _alert_description_: Descripción de la alerta.
  • _alert_threshold_: Umbral de la alerta.
  • _alert_times_fired_: Número de veces que la alerta se ha disparado.
  • _module_: Nombre del módulo que disparó la alerta.
  • _modulegroup_: Nombre del grupo del módulo
  • _moduledescription_: Descripción del módulo que disparó la alerta.
  • _alert_name_: Nombre de la alerta.
  • _alert_priority_: Prioridad numérica de la alerta.
  • _id_agent_: ID del agente, util para construir directamente la URL o redireccionar a la consola de Pandora FMS.
  • _id_alert_: ID numérico de la alerta (único), usado con software de terceros.
  • _policy_: Nombre de la política a la que pertenece el módulo (si se da el caso).
  • _interval_: Intervalo de ejecución del módulo.
  • _target_ip_: Dirección IP del destino del módulo.
  • _target_port_: Puerto del destino del módulo.
  • _plugin_parameters_: Parámetros de Plug-in del módulo.
  • _email_tag_: Emails asociados a tags de módulos.

A la hora de crear los comandos para las alertas hay que tener en cuenta que dichos comandos son ejecutadas por el servidor de Pandora FMS que procesa el módulo del agente procesado. Sea este un servidor de datos o un servidor de red. Las alertas también se ejecutan con los privilegios del usuario que ejecuta el servidor de Pandora FMS. A la hora de definir un comando, conviene probar, desde la línea de comandos, que 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).

Description

Descripción larga del comando de alerta a título informativo.



750px



Una vez creado se pincha en el botón Create.

1.2.2 Edición de un comando para una alerta

Desde Command en el menu Manage Alerts en el menú de Administración, es posible editar los comandos de alertas que se han creado.



Susi5.jpg


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



650px



Una vez se ha modificado la alerta elegida se pincha en botón de Update.

Las Alertas ”eMail”, “Internal Audit” y “Pandora FMS Event” no se pueden modificar.

1.2.3 Borrado de un comando para una alerta

Para borrar una alerta se pincha en la cruz roja situada a la derecha de la alerta.



Susi7.png



Las Alertas ”eMail”, “Internal Audit” y “Pandora FMS Event” no se pueden borrar.

1.2.4 Comandos predefinidos

Existen algunas Comandos predefinidos, los cuales es posible que se deban ajustar, si el sistema no dispone de los comandos internos para ejecutar dichas alertas. El equipo de desarrollo ha probado estas alertas con sistemas Red Hat Linux, CentOS, Debian y Ubuntu Server.

eMail

Envía un correo electrónico desde el servidor de Pandora FMS. Usa el sendmail de Perl. Pandora FMS funciona con herramientas propias del sistema para ejecutar casi todas las alertas, será necesario que valide que el paquete libmail-sendmail-perl xprobe2 está instalado en su sistema.

Internal audit

Esta es sólo una alerta «interna» que genera una pequeña entrada en el sistema de auditoría 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.

Pandora FMS Event

Esta alerta crea un evento especial en el gesto de eventos de Pandora FMS.

Pandora FMS Alertlog

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

SNMP Trap

Envía un trap SNMP.

Syslog

Envía una alerta al registro del sistema, usa el comando del sistema «logger».

Sound Alert

Reproduce un sonido cuando ocurre una alerta.

Jabber Alert

Envía una alerta jabber a una sala de chat en un servidor predefinido (configurar primero el fichero .sendxmpprc). En field3 va el mensaje de texto, en field1 el alias de usuario, y en field2 el nombre de la sala de chat.

SMS Text

Envía un SMS a un teléfono móvil determinado, por supuesto, necesita definir una alerta antes de hacer esto posible y una puerta de enlace (gateway) de envío de SMS configurado y 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.

1.2.5 Ejemplos de Comandos

1.2.5.1 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 gente.

1.2.5.1.1 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 introduzca lo siguiente:
  [email protected] password
  1. Darle permisos al fichero:
  chmod 0600 .sendxmpprc

Ahora se pueden enviar mensaje 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, se añade una nuevo comando, y se configuran las variables del comando de la manera que más convenga. Es buena idea hacerlo como sigue:

  • Field_1: Direccion de jabber.
  • Field_2: Texto de envío.

De forma que a alerta se definiría como:

  echo _field2_ | sendxmpp -s pandora _field1_
1.2.5.1.2 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.

1.2.5.2 Envío de correo electrónico con expect

A veces se necesita usar un SMTP autenticado para enviar correos electrónicos. Seguramente sea más fácil y versátil usar un sencillo script EXPECT en lugar de configurar sendmail para usar un SMTP autenticado. Este es un ejemplo usando EXPECT para enviar correos electrónicos usando un servidor Exchange.

Se crea un archivo llamado /etc/snmp 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

Se cambian los permisos del fichero, para permitir la ejecución

chmod 700 /root/smtp 

Antes de intentar usarlo, asegúrese de que /usr/bin/expect funcione correctamente.

Para usar esto con Pandora FMS, necesitará crear una 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” se escribirá:

/root/smtp _field1_ _field2_ _field3_

Por supuesto el script puede estar ubicado en cualquier sitio del sistema. Sólo 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 quién lo lance.

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 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.

1.2.5.3 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 necesitará un cable de datos USB al que tendrá que conectar el teléfono móvil y el servidor de Pandora FMS que quiera que envíe alertas SMS.

Gnokii soporta una gran variedad de teléfonos Nokia (y alguno de otros fabricantes).

Con Gnokii, básicamente puede enviar SMS desde la línea de comandos. De esta forma es muy fácil y rápido enviar SMS directamente desde un servidor de Pandora FMS, evitando el uso de puertas de enlace de envío de SMS por internet (no muy útiles si se cae la red) o soluciones hardware GSM muy caras para envío de mensajes.

Otra alternativa al uso de Gnokii es el proyecto Gammu.

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.

Se puede implementar una pasarela de envío más potente utilizando Gammu.

1.2.5.4 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 el password de acceso a la maquina que ejecutara el comando en Pandora Console, lo primero que se debe hacer es copiar la clave publica del servidor donde se quiere ejecutar el comando remoto en el servidor de Pandora.

Una vez se ha hecho esto tenemos que poner como comando:

ssh [email protected] [_field1_]

Al poner _field1_copmo variable se puede usar el comando que se quiera.

1.3 Comando (>=5.0)

La reacción de Pandora FMS ante un valor “fuera de rango” puede ser de diverso índole, escritura en un syslog, envío de un mail o SMS, o bien la ejecución de cualquier script que este alojado en la máquina de Pandora FMS y pueda ser procesado. Las diferentes reacciones que puede tomar Pandora se configura en la opción Command del menú Manage Alerts dentro de la parte de Administración.



Susi2.png



En esta sección es posible modificar o añadir sus propios comandos para las Alertas.

1.3.1 Creación de un comando para una alerta

Los comandos de alertas nuevos se crean pinchando en el botón Create dentro de Command en el menu Manage Alerts en el menú de Administración.

Una vez se ha pinchado en Create aparece una pantalla como la siguiente.



750px



A continuación se detallan los campos:


Name

El nombre del Comando. Es importante que describa bien su función pero de forma breve, por ejemplo: «Log. Comunicaciones»..

Command

Comando que se ejecuta como reacción aun módulo “fuera de Rango”. Es posible utilizar macros para reemplazar los parámetros configurados en la declaración de las alertas. Las macros que se pueden utilizar son:

  • _field1_: Diez campos para personalizar el comando
  • _agent_: Nombre del agente completo.
  • _agentdescription_: Descripción del agente que disparó la alerta.
  • _agentgroup_: Nombre del grupo del agente.
  • _agentstatus_ : Estado actual del agente.
  • _address_: Dirección del agente que disparó la alerta.
  • _timestamp_: Una representación estándar de fecha y tiempo (yy-mm-dd hh:mm:ss). Reemplazada automáticamente al ejecutar la alerta.
  • _data_: El valor de los datos que lanzaron la alerta.
  • _alert_description_: Descripción de la alerta.
  • _alert_threshold_: Umbral de la alerta.
  • _alert_times_fired_: Número de veces que la alerta se ha disparado.
  • _module_: Nombre del módulo que disparó la alerta.
  • _modulegroup_: Nombre del grupo del módulo
  • _moduledescription_: Descripción del módulo que disparó la alerta.
  • _modulestatus_: Estado del módulo.
  • _moduletags_: Tags asociados al módulo.
  • _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)
  • _eventt_text_severity_: (Solo alertas de evento) Prioridad en texto de el evento que dispara la alerta. (Maintenance, Informational, Normal Minor, Warning, Major, Critical)
  • _id_agent_: ID del agente, util para construir directamente la URL o redireccionar a la consola de Pandora FMS.
  • _id_alert_: ID numérico de la alerta (único), usado con software de terceros.
  • _policy_: Nombre de la política a la que pertenece el módulo (si se da el caso).
  • _interval_: Intervalo de ejecución del módulo.
  • _target_ip_: Dirección IP del destino del módulo.
  • _target_port_: Puerto del destino del módulo.
  • _plugin_parameters_: Parámetros de Plug-in del módulo.
  • _groupcontact_: Información de contacto del grupo. Se configura al crear el grupo.
  • _groupother_: Otra información sobre el grupo. Se configura al crear el grupo.


A la hora de crear los comandos para las alertas hay que tener en cuenta que dichos comandos son ejecutadas por el servidor de Pandora FMS que procesa el módulo del agente procesado. Sea este un servidor de datos o un servidor de red. Las alertas también se ejecutan con los privilegios del usuario que ejecuta el servidor de Pandora FMS. A la hora de definir un comando, conviene probar, desde la línea de comandos, que 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).

Description

Descripción larga del comando de alerta a título informativo.

Descripción de los campos y posibles valores

Para cada campo, es posible configurar:

  • Descripción: Será la etiqueta junto a la caja de texto en el formulario de configuración de la acción que use este comando.
  • Valores posibles: 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

Por ejemplo:

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

1,Numero uno;2,Numero dos;3,Numero tres;4,Numero cuatro



Possible values 1.png





Possible values 2.png



Una vez creado se pincha en el botón Create.



Susi4 5.png



1.3.2 Edición de un comando para una alerta

Desde Command en el menu Manage Alerts en el menú de Administración, es posible editar los comandos de alertas que se han creado.



Susi5.jpg


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



Susi6 5.png



Una vez se ha modificado la alerta elegida se pincha en botón de Update.

Las Alertas ”eMail”, “Internal Audit” y “Pandora FMS Event” no se pueden modificar.

1.3.3 Borrado de un comando para una alerta

Para borrar una alerta se pincha en la cruz roja situada a la derecha de la alerta.



Susi7.png



Las Alertas ”eMail”, “Internal Audit” y “Pandora FMS Event” no se pueden borrar.

1.3.4 Comandos predefinidos

Existen algunas Comandos predefinidos, los cuales es posible que se deban ajustar, si el sistema no dispone de los comandos internos para ejecutar dichas alertas. El equipo de desarrollo ha probado estas alertas con sistemas Red Hat Linux, CentOS, Debian y Ubuntu Server.

eMail

Envía un correo electrónico desde el servidor de Pandora FMS. Usa el sendmail de Perl. Pandora FMS funciona con herramientas propias del sistema para ejecutar casi todas las alertas, será necesario que valide que el paquete libmail-sendmail-perl xprobe2 está instalado en su sistema.

Internal audit

Esta es sólo una alerta «interna» que genera una pequeña entrada en el sistema de auditoría 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.

Pandora FMS Event

Esta alerta crea un evento especial en el gesto de eventos de Pandora FMS.

Pandora FMS Alertlog

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

SNMP Trap

Envía un trap SNMP.

Syslog

Envía una alerta al registro del sistema, usa el comando del sistema «logger».

Sound Alert

Reproduce un sonido cuando ocurre una alerta.

Jabber Alert

Envía una alerta jabber a una sala de chat en un servidor predefinido (configurar primero el fichero .sendxmpprc). En field3 va el mensaje de texto, en field1 el alias de usuario, y en field2 el nombre de la sala de chat.

SMS Text

Envía un SMS a un teléfono móvil determinado, por supuesto, necesita definir una alerta antes de hacer esto posible y una puerta de enlace (gateway) de envío de SMS configurado y 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.

1.3.5 Ejemplos de Comandos

1.3.5.1 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 gente.

1.3.5.1.1 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 introduzca lo siguiente:
  [email protected] password
  1. Darle permisos al fichero:
  chmod 0600 .sendxmpprc

Ahora se pueden enviar mensaje 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, se añade una nuevo comando, y se configuran las variables del comando de la manera que más convenga. Es buena idea hacerlo como sigue:

  • Field_1: Direccion de jabber.
  • Field_2: Texto de envío.

De forma que a alerta se definiría como:

  echo _field2_ | sendxmpp -s pandora _field1_
1.3.5.1.2 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.

1.3.5.2 Envío de correo electrónico con expect

A veces se necesita usar un SMTP autenticado para enviar correos electrónicos. Seguramente sea más fácil y versátil usar un sencillo script EXPECT en lugar de configurar sendmail para usar un SMTP autenticado. Este es un ejemplo usando EXPECT para enviar correos electrónicos usando un servidor Exchange.

Se crea un archivo llamado /etc/snmp 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

Se cambian los permisos del fichero, para permitir la ejecución

chmod 700 /root/smtp 

Antes de intentar usarlo, asegúrese de que /usr/bin/expect funcione correctamente.

Para usar esto con Pandora FMS, necesitará crear una 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” se escribirá:

/root/smtp _field1_ _field2_ _field3_

Por supuesto el script puede estar ubicado en cualquier sitio del sistema. Sólo 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 quién lo lance.

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 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.

1.3.5.3 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 necesitará un cable de datos USB al que tendrá que conectar el teléfono móvil y el servidor de Pandora FMS que quiera que envíe alertas SMS.

Gnokii soporta una gran variedad de teléfonos Nokia (y alguno de otros fabricantes).

Con Gnokii, básicamente puede enviar SMS desde la línea de comandos. De esta forma es muy fácil y rápido enviar SMS directamente desde un servidor de Pandora FMS, evitando el uso de puertas de enlace de envío de SMS por internet (no muy útiles si se cae la red) o soluciones hardware GSM muy caras para envío de mensajes.

Otra alternativa al uso de Gnokii es el proyecto Gammu.

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.

Se puede implementar una pasarela de envío más potente utilizando Gammu.

1.3.5.4 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 el password de acceso a la maquina que ejecutara el comando en Pandora Console, lo primero que se debe hacer es copiar la clave publica del servidor donde se quiere ejecutar el comando remoto en el servidor de Pandora.

Una vez se ha hecho esto tenemos que poner como comando:

ssh [email protected] [_field1_]

Al poner _field1_copmo variable se puede usar el comando que se quiera.

1.4 Acción

Las acciones son los componentes de las alertas en los que se relaciona un comando, descrito en el apartado anterior, con las variables genéricas Field 1, Field 2, y Field 3. Dichas acciones se usaran más adelante en las plantillas de alertas que son las que asocian una condición sobre un dato a una acción concreta.

1.4.1 Creación de una Acción

Las Acciones nuevas se crean pinchando en el botón Create dentro de Action en el menu Manage Alerts en el menú de Administración.



Accion1.jpg



Una vez se ha pinchado en Create aparece una pantalla como la siguiente:



Accion2.jpg



A continuación se detallan los campos que hay que rellenar:

  • Name: El nombre de la acción.
  • Command: En este campo se define el comando que se usará en el caso de que se ejecute la alerta. Se puede elegir entre los difeerntes Comandos que hay definidos en Pandora.
  • Field 1: En este campo se define el valor de la variable Field 1 que se usará en el comando, en caso de ser necesario.
  • Field 2: En este campo se define el valor de la variable Field 2, que se usará en el comando, en caso de ser necesario.
  • Field 3: En este campo se define el valor de la variable Field 3, que se usará en el comando, en caso de ser necesario.
  • Command Preview: En este campo, no editable, aparecerá automáticamente el comando que se va a ejecutar en el sistema.

Una vez se han rellenado los campos se pincha en el Botón Create



Boton1.jpg



Desde Action en el menu Manage Alerts en el menú de Administración, es posible editar las Acciones que se han creado.

1.4.2 Edición de una Acción



Caca1.png



Para editar la acción, bastará con pulsar sobre el nombre de la Acción.



Sugus.png



Una vez que se han hecho los cambios, se actualiza pinchando en el botón “Update”

1.4.3 Borrado de una Acción

Para borrar una acción, se pincha en la "x" roja situada a la derecha de la acción.



Sipo.jpg



1.5 Acción (>=5.0)

Las acciones son los componentes de las alertas en los que se relaciona un comando, descrito en el apartado anterior, con las variables genéricas Field 1, Field 2, ..., Field 10. Dichas acciones se usaran más adelante en las plantillas de alertas que son las que asocian una condición sobre un dato a una acción concreta.

1.5.1 Creación de una Acción

Las Acciones nuevas se crean pinchando en el botón Create dentro de Action en el menu Manage Alerts en el menú de Administración.



Accion1.jpg



Una vez se ha pinchado en Create aparece una pantalla como la siguiente:



Accion2.jpg



A continuación se detallan los campos que hay que rellenar:

  • Name: El nombre de la acción.
  • Group: El grupo de la acción.
  • Command: En este campo se define el comando que se usará en el caso de que se ejecute la alerta. Se puede elegir entre los difeerntes Comandos que hay definidos en Pandora.
  • 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-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

Una vez se han rellenado los campos se pincha en el Botón Create



Boton1.jpg



Desde Action en el menu Manage Alerts en el menú de Administración, es posible editar las Acciones que se han creado.

1.5.2 Edición de una Acción



Caca1.png



Para editar la acción, bastará con pulsar sobre el nombre de la Acción.



Sugus.png



Una vez que se han hecho los cambios, se actualiza pinchando en el botón “Update”

1.5.3 Borrado de una Acción

Para borrar una acción, se pincha en la "x" roja situada a la derecha de la acción.



Sipo.jpg



1.6 Plantilla de alerta

Las plantillas son alertas con todos los parámetros definidos en las que sólo falta por asignar el agente al que se le asignan y el módulo que se usa para hacer saltar el comando o reacción ante un valor “fuera de rango”. Las plantillas sirven para facilitar la gestión de los administradores ya que una vez hechas se pueden asignar de forma sencilla a los agentes necesarios.

1.6.1 Creación de una Plantilla

Las Plantillas nuevas se crean pinchando en el botón Create dentro de Templates, en el menu Manage Alerts, en el menú de Administración.



Planti.jpg



Una vez se ha pinchado en Create, aparece una pantalla como la siguiente.



Sabo.jpg



A continuación se detallan los campos que hay que rellenar:

  • Name: El nombre del template.
  • Description: Describe la función de la plantilla, y resulta útil para identificar la plantilla entre otras en la vista general de alertas..
  • Priority: Campo informativo acerca de la alerta. Sirve para filtrar a la hora de buscar alertas. Se puede elegir entre las siguientes prioridades:
    • Maintenance
    • Informational
    • Normal
    • Warning
    • Critical
  • Condicion Type: Campo donde se define el tipo de condición que se aplicará a la alerta. 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 saltara cuando el valor del módulo cumpla una condición establecida.



Regular.jpg



Al elegir la condición regular aparece la posibilidad de marcar la casilla Trigger when matches the value. En caso de marcar, la la alerta se lanzará cuando coincida el valor y, en caso de no marcarla, la alerta se lanzará cuando no coincida el valor.

  • Max and Min: Se usa un valor máximo y otro mínimo.



Maximo.jpg



Al alegir la condición regular aparece la posibilidad de marcar la casilla Trigger when matches the value. En caso de marcarla, la alerta se lanzará cuando el valor este fuera del rango marcado entre el máximo y el mínimo y, en caso de no marcarla, la alerta se lanzará cuando el valor este dentro del rango marcado entre el máximo y el mínimo.

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



Minimo.jpg



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



Minimo1.jpg



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



Equal.jpg



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



Notequal.jpg



  • Warning Status: Se usa el estado del módulo. La alerta saltará cuando dicho estado sea Warning.



Estupido.jpg



  • Critical Status: Se usa el estado del módulo. La alerta saltará cuando dicho estado sea Critical.



Critical.jpg



Una vez se han rellenado los campos se pincha en el botón “Next” y se accede a la siguiente pantalla .



Pincha.png



A continuación se detallan los campos que hay que rellenar:

Days of Week

Establece los días en los que la alerta podrá dispararse.

Use special days list

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

Time From

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

Time To

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

Time Threshold

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 Numero máximo de alertas. Pasado el intervalo definido, una alerta se recupera si llega un valor correcto, salvo que esté activado el valor Recuperación de alerta, en cuyo caso se recupera inmediatamente después de recibir un valor correcto independientemente del umbral.

Min number of alerts

Número mínimo de veces que tiene que llegar un valor fuera de rango (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, necesario para eliminar 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).

Field 1

Define el valor para la variable "_field1_". Aqui se pueden utilizar una serie de macros que se describen a continuación.

Field 2

Define el valor para la variable "_field2_".

Field 3

Define el valor para la variable "_field3_".

Default Action En este combo se define la acción por defecto que va a tener el template. Esta es la accion que se creará automáticamente cuando asigne la plantilla al módulo. Puede no poner ninguna o poner una, pero no se pueden poner varias acciones por defecto

Una vez se han rellenado los campos se pincha en el botón “Next” y se accede a la siguiente pantalla .



Combo.jpg



A continuación se detallan los campos que hay que rellenar:

Alert Recovery

Combo donde se puede definir si esta habilitado o no la recuperación de alertas. En el caso de que esté habilitada la recuperación de alertas, cuando el módulo vuelve a tener valores fuera del rango de alerta, se ejecutará la acción correspondiente con el campo Field 1 que se ha definido en la alerta y los campos Field 2 y Field 3 que se definen a continuación.

Field 2

Define el valor para la variable "_field2_". en la recuperación de la alerta.

Field 3

Define el valor para la variable "_field3_". en la recuperación de la alerta.

Una vez se han rellenado los campos se pincha en el botón “Finish”.

1.6.2 Macros sustituibles en los campos Field1, Field2 y Field3

En todas las instancias de los campos field1, field2, y field (tanto en la plantilla de alerta, como en el comando y en la acción) se pueden emplear las siguientes macros, que son "palabras" 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.

  • _field1_ : Campo 1 definido por el usuario.
  • _field2_ : Campo 2 definido por el usuario.
  • _field3_ : Campo 3 definido por el usuario.
  • _agent_ : Nombre del agente que disparó la alerta.
  • _address_ : Dirección del agente que disparó la alerta.
  • _agentgroup_ : Nombre del grupo del agente.
  • _timestamp_ : Hora y fecha en que se disparó la alerta.
  • _data_ : Dato que hizo que la alerta se disparase.
  • _alert_description_ : Descripción de la alerta.
  • _alert_threshold_ : Umbral de la alerta.
  • _alert_times_fired_ : Número de veces que se ha disparado la alerta.
  • _module_ : Nombre del módulo
  • _modulegroup_ : Nombre del grupo del módulo.
  • _moduledescription_ : Descripcion del modulo.
  • _alert_name_ : Nombre de la alerta.
  • _alert_priority_ : Prioridad numérica de la alerta.
  • _id_agent_ : ID del agente, util para construir URL de acceso a la consola de Pandora.
  • _id_alert_ : ID de la alerta, util para correlar la alerta en herramientas de terceros.
  • _policy_ : Nombre de la política a la que pertenece el módulo (si aplica).
  • _interval_ : Intervalo de la ejecución del módulo.
  • _target_ip_ : Dirección IP del objetivo del módulo.
  • _target_port_ : Puerto del objetivo del módulo.
  • _plugin_parameters_ : Parámetros del Plug-in del módulo.

1.6.2.1 Orden de la sustitución de las macros y los campos _field*_

Después de describir lo que es un comando, una acción y una plantilla, probablemente a estas alturas ya se esté preguntando porqué hay que definir en cada una de ellas, los campos field1, field2 y field3 y qué sentido tiene todo esto.

Cuando se dispara una alerta, los valores field* se acarrean desde la acción al comando, y desde la plantilla al comando. Es decir, si en la acción el valor _field1_ es diferente de cadena vacía, entonces ignorará el valor que se le pase desde la plantilla, y esta no tendrá efecto. Si en el valor _field1_ del comando, es un valor diferente de _field1_ significa que directamente ignorará cualquier parámetro que se la pase en el campo1 (field1) desde la acción o desde la plantilla, y que ni la acción ni la plantilla podrán redefinirlo. Al tener como valor _field1_, significa que se le está diciendo al comando, que meta en ese campo, lo que le llegue desde la acción o desde la plantilla.

En la acción ocurre lo mismo, pero de una forma más sutil. Si ese campo está vacío, significa que cualquier cosa que se le pase desde la plantilla de alerta, se le pasará al comando, sin embargo, si ese campo es diferente de cadena vacía, utilizará los valores de ese campo y se ignorarán los valores que vengan desde la plantilla.

Esto se ha concebido así para dar la posibilidad de establecer algunos parámetros "fijos" por comando o acción, y tener siempre la posibilidad de hacerlos flexibles.

1.6.2.2 Ejemplo completo de alerta con macros de sustitución

Supongamos que lo que quiere es generar 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

Configuracion 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>

Asi 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

1.6.3 Edición de una Plantilla

Desde Templates en el menú Manage Alerts en el menú de Administración, es posible editar los templates que se han creado.



Plantilla.jpg



Para editar el plantilla bastara con pulsar sobre el nombre de la plantilla.

1.6.4 Crear un duplicado de una Plantilla

Desde Templates en el menú Manage Alerts en el menú de Administración, es posible duplicar una plantilla que se ha creado.

Para duplicar la plantilla bastará con pulsar sobre el icono que hay a la derecha del tipo de plantilla.



File:Plantiver.jpg



1.6.5 Borrado de una Plantilla

Para borrar una plantilla se pincha en la cruz roja situada a la derecha de la alerta.



cruz.jpg



1.7 Asignación de plantillas de alertas a módulos

Hasta ahora se han definido los comandos y acciones como la respuesta que da Pandora FMS ante un valor “fuera de rango”. Mediante las plantillas se define cuando un valor esta “fuera de rango” y que circunstancias se deben de dar para que Pandora FMS actúe. En este apartado se describe la forma de relacionar las plantillas y las Acciones con los agentes de pandora y los módulo de dichos agentes. Esta operación es la que finalmente hace que Pandora FMS "reaccione" cuando hay un dato fuera de un valor especifico.

Las alertas se puede asignar de dos maneras, desde el submenú de Alertas o desde el submenu Manage Agents, ambos en el menú de Administración, aunque también podemos asignarlas desde el submenú de Políticas del menú Administración como ya veremos en el capítulo de Políticas de monitorización.

1.7.1 Gestión de Alertas desde el submenu de Alertas.

1.7.1.1 Asignación de Alertas desde el submenu de Alertas.

Las asignación de alertas a módulos se hace rellenando los campos necesarios y pinchando en el botón “Add” en Manage Alerts en el menú de Administración.



Pinar.jpg



A continuación se detallan los campos que hay que rellenar:

  • Group: Mediante un combo se elige el grupo al que pertenece el agente.
  • Agent: Se escribe el nombre del Agente al que se quiere asignar la alerta.
  • Module: Se escribe el módulo que se usará para que salte la alerta.
  • Template: Mediante un combo se elige el template que s equiere usar para configurar la alerta.
  • Actions: Permite elegir entre todas las acciones que se han configurado. La acción elegida se añadirá a la acción que hay definida el template. Es posible marcar más de una acción.

En el momento en el que se marca una acción aparece dos nuevos campos a rellenar From y to. En estos campos se define el número de alertas que deben ocurrir para ejecutar la acción.



File:Ejecutar.jpg



1.7.1.2 Modificación de Alertas desde el submenu de Alertas.

Una vez que se ha creado una alerta, sólo es posible modificar las acciones que se han añadido a la acción que tiene el template.

Es posible borrar la acción que se eligió al crear la alerta, pinchando en la cruz roja que hay a la derecha de la acción o añadir nuevas acciones eligiéndolas del combo. Rellenando los datos From y To y pinchando en el botón “Add”



Modifica.jpg



1.7.1.3 Deshabilitar Alertas desde el submenu de Alertas.

Una vez que se ha creado una alerta, es posible deshabilitarla pinchando en la bombilla que hay a la derecha del nombre de la alerta.



Desha.jpg



Las alertas que están habilitadas están en color azul y las alertas que están habilitadas que están en color amarillo.

1.7.1.4 Borrado de Alertas desde el submenu de Alertas.

Es posible borrar cualquier Alerta pinchando en la cruz roja que hay a la derecha de la Alerta.



Filter.jpg



1.7.2 Gestión de Alertas desde el Agente

1.7.2.1 Asignación de Alertas desde el Agente

Otra opción para añadir una alerta es hacerlo desde el propio Agente. Se pincha en el submenu Manage Agentes del Menú de Administración, donde están todos los agentes de Pandora.



Tarantu.jpg



Se elige un agente y se pincha en la pestaña Alerts.



Vicho.jpg



A continuación se detallan los campos que hay que rellenar:

  • Module: Se escribe el módulo que se usará para que salte la alerta.
  • Template: Mediante un combo se elige el template que s equiere usar para configurar la alerta.
  • Actions: Permite elegir entre todas las acciones que se han configurado. La acción elegida se añadirá a la acción que hay definida el template. Es posible marcar más de una acción.

En el momento en el que se marca una acción aparece dos nuevos campos a rellenar From y to. En estos campos se define el número de alertas que deben ocurrir para ejecutar la acción.



File:Lagarto.jpg



1.7.2.2 Modificación de Alertas desde el Agente

Una vez que se ha creado una alerta, sólo es posible modificar las acciones que se han añadido a la acción que tiene el template.

Es posible borrar la acción que se eligió al crear la alerta, pinchando en la cruz roja que hay a la derecha de la acción o añadir nuevas acciones eligiéndolas del combo. Rellenando los datos From y To y pinchando en el botón “Add”



Gusano.jpg



1.7.2.3 Deshabilitación de Alertas desde el Agente

Una vez que se ha creado una alerta, es posible deshabilitarla pinchando en la bombilla que hay a la derecha del nombre de la alerta.



Cuca.jpg



Las alertas que están habilitadas están en color azul y las alertas que están habilitadas que están en color amarillo.

1.7.2.4 Borrado de Alertas desde el Agente

Es posible borrar cualquier Alerta pinchando en la cruz roja que hay a la derecha de la Alerta.



Adorno.jpg



1.8 Escalado de alertas

El escalado de Alertas se define como la posibilidad de realizar diferentes acciones según la gravedad de la situación. Entendiendo que la gravedad de la situación la marca el número de veces que se da un valor fuera de rango. Por ejemplo, sí salta una alerta cuando la CPU de un sistema está al 90%, se puede configurar que mande un mail en cualquier caso y un SMS cuando el valor fuera de rango ha ocurrido más de 5 veces.

Este escalado de alertas se consigue configurando más de una acción en una alerta y rellenando convenientemente los campos From y To



Ciempies.jpg



1.9 Ejemplo completo

1.9.1 Envío de SMS

En este ejemplo vamos a utilizar algo bastante habitual, un envio de SMS ante un suceso. Para ello vamos a usar un script que está publicado en nuestra web (http://pandorafms.org) en el sitio de intercambio de módulos. Este script hace uso de un sistema comercial de envio de SMS via WEB. A través de una interfaz Perl se le envia un SMS a un movil remoto.

Supongamos que ya tenemos instalado el script en el servidor de Pandora FMS y una cuenta en el servicio de SMS:

> sendsms 

You must give three parameters:  <source> <destination> 'Full message'

Don't forget to send the message with single quotes (), and put the destination number 
with international code (346276223 for spanish phones, for example)

El primer paso, después de conocer el comando que queremos usar, es precisamente definir el comando, para ello, definimos el comando en la interfaz de administración de Pandora FMS:



Smsalert sample1.png



En este comando, enviamos "346666666666" como identificador del origen del SMS. Podriamos poner "PandoraFMS" pero algunas operadoras no soportan el uso de cadenas de texto como origen. El Campo1 y el Campo2 son los que usaremos en la definicion del comando. En el ejemplo del SMS que envio luego, se ve que la cadena de origen era "Aeryn".

Ahora definiremos la acción. Esta acción no es mas que el envío del SMS a un numero concreto de teléfono com un mensaje, en este caso pre-definido (si quisieramos podríamos dejar el campo2 libre y que lo enviara la plantilla de alerta).



Smsalert sample3.png



Como vemos, al campo1 le pasamos el numero de destino al que llegará el SMS (está ofuscado, ya que es mi teléfono personal :-). En el campo2, le pasamos, entre comillas simples, el mensaje tal cual llegará al movil. Las macros _agent_ _module_ y _data_ se sustituirán luego por los valores correspondientes.


Ahora vamos a crear una plantilla de alerta genérica, algo muy muy simple. Queremos que la alerta "salte" cuando un modulo, se ponta en estado CRITICAL. Esta alerta, solo saltara una vez al dia a no ser que recupere. Estos son los pasos que he seguido para definirla:



Smsalert sample5.png





Smsalert sample6.png



Ahora asignamos la acción a la plantilla de alerta que acabo de crear:



Smsalert sample4.png



Para que esa alerta se pueda disparar, el modulo tiene que ponerse en estado CRITICAL, asi que revisaré la configuracion del modulo para configurar unos umbrales en los cuales se pueda poner en CRITICAL si supera cierto valor, en este caso 5.



Smsalert sample7.png



Todo listo. Podemos "forzar" la alerta a ejecutarse, y nos deberia llegar un SMS si lo hemos configurado todo bien hasta aqui. Para forzar la alerta, ir a la vista de alertas del agente y pulsar en el icono del redondel verde:




Smsalert sample8.png



Me deberia llegar un SMS como se puede ver en la siguiente imagen. Llega un dato "N/A" porque al forzar la alerta no existe un dato válido que la haya forzado.



Smsalert sample9.png



1.10 Correlación

La correlación de Alertas permite usar más de un módulos para generar una reacción de Pandora FMS. Dichos módulos pueden pertenecer a un mismo agente o bien a diferentes agentes. La gestión de Alertas correladas se realiza en Administration>Manage Alerts >Correlation.

1.10.1 Creación de Alertas correladas

Para crear una alerta correladasse pincha en el botón “Create” que aparece en Administration>Manage Alerts >Correlation.



File:Correlativa.jpg



Una vez se ha pinchado en “Create” aparece una pantalla como la siguiente:



600px



A continuación se detallan los campos que hay que rellenar:

  • Name: Campo para poner el Nombre de alerta correladas
  • Asigned to: Combo en el que se debe elegir el agente al que se le asigna la alerta.
  • Description: Describe la función de la plantilla, y resulta útil para identificar la plantilla entre otras en la vista general de alertas.
  • Condition: En este apartado se muestran las condiciones que debe cumplir la alerta correlacionada.

Para añadir condiciones se elige un grupo y un agente, una vez elegido aparecen todas las alertas que tiene dicho agente. Para añadir la alerta se pincha en el símbolo “+” que hay a la derecha de la alerta elegida.



600px



Cuando se han elegido dos alertas, ya sean del mismo o de agentes distintos, aparece un combo donde se puede elegir el operador lógico que se usará para verificar las condiciones. Los operadores que se pueden elegir son los siguientes:

  • AND: Deben cumplirse las dos condiciones.
  • NAND: No debe cumplirse ninguna de las condiciones.
  • NOR: No se cumple, al menos, una de las condiciones.
  • NXOR: O se cumplen las dos condiciones a la vez o no se cumple ninguna.
  • OR: Debe cumplirse al menos una de las condiciones pudiendo cumplirse las dos.
  • XOR: Se cumple una u otra pero no las dos



600px



Cada vez que se añade una nueva condición se debe de elegir el operador lógico. La verificación que hace Pandora es secuencial en el ejemplo de abajo se deben de cumplir o bien las dos primeras condiciones o bien la tercera.



600px



Al final la alerta queda como sigue:



600px



Una vez se han elegido todas las condiciones se pincha en “Next”. Aparece una pantalla como la siguiente:



600px



Los campos que aqui se establecen son realmente los mismos campos que se utilizan cuando se define una plantilla de alerta "normal".

Una vez se han rellenado los campos se pincha en el botón “Finish”.

1.10.2 Edición de Alertas correladas

Desde Administration>Manage Alerts >Correlation, es posible editar las alertas correladas que se han creado.



600px



Para editar una alerta correlada basta con pulsar sobre el nombre de la alerta.

1.10.3 Deshabilitar Alertas correladas

Una vez que se ha creado una alerta, es posible deshabilitarla pinchando en la bombilla que hay a la derecha del nombre de la alerta.



600px



Las alertas que están habilitadas están en color azul y las alertas que están habilitadas que están en color amarillo.

1.10.4 Borrado de Alertas correladas

Desde Administration>Manage Alerts >Correlation, es posible borrar las alertas correladas que se han creado.



600px



Para borrar una alerta correlada basta con pulsar sobre la cruz roja que hay a la derecha de la alerta.

1.11 Protección en cascada

La protección en cascada es una funcionalidad de Pandora FMS que permite evitar una “lluvia “ de alertas cuando un grupo de agentes no es alcanzable debido a un fallo de comunicaciones. Este tipo de comportamiento ocurre cuando un dispositivo intermedio, como por ejemplo un router o un switch se cae y todos los dispositivos detrás de él simplemente dejan de ser accesibles desde Pandora FMS. Probablemente los dispositivos estén funcionando correctamente pero como Pandora FMS no los ve mediante ping, los da como caídos.



Recursive cascade protection ilustration.png



La protección en casada se habilita desde el menú de configuración del agente. Marcando la casilla “casacade protection” y se deshabilita desmarcando dicha casilla.



Down1.jpg



Cuando se habilita la protección en cascada en un agente, entonces se chequean las alertas con estado CRÍTICO de cualquiera de los padres ya sea esta simple o correlada. De está manera si el padre tiene una alerta crítica lanzada, entonces no se lanzaran las alertas configuradas en el agente. Dicha alertas si se lanzarán si el padre del agente tiene algún módulo en estado CRÍTICO o si son lanzadas del padre con estado menor que CRÍTICO. SE sobreentiende que el agente lanzará las alertas si se cumplen las condiciones necesarias.

Para que la protección en cascada funcione correctamente es conveniente configurar en todos los padres una alerta con estado CRÍTICO que verifique si el dispositivo se ha caído. Por otro lado para evitar que una alerta de un agente definido como padre y el resto de alertas no deben tener el estado CRÍTICO.

1.11.1 Ejemplos

Dispondrá de los siguientes monitores:


- ROUTER: Un ICMP check y un SNMP check que utilizan un Standard OID para acceder al status del puerto ATM. También puede tener un chequeo de latencias para su roruter de parent/provider.


- SERVIDOR WEB: Tiene varios chequeos internos corriendo con el agente de Pandora FMS: uso de la CPU, chequeo de utilizacion y proceso del MEM de su Apache. Tiene también un chequeo HTTP de navegacion en 4 pasos.


- SERVIDOR DE LA BASE DE DATOS:Dispone de varios chequeos internos que corren con el agente de Pandora GMS: uso de la CPU, chequeo del uso y proceso MEM de su Base de datos. Tambien algunos chequeos de la integridad de la base de datos. Tambien revisa la conectividad en remoto a la base de datos utilizando un test de plugin definidos para logarse, hacer una consulta y salir, cronometrando la respuesta.

Ahora defina varias alertas SINGLE:

-ROUTER: ICMP Check / CRITICAL -> Action, send MAIL. SNMP Check / CRITICAL -> Action, send MAIL. Latency > 200ms / WARNING -> Action, none, just compound.

-WEB SERVER

CPU / WARNING -> Action, none, just compound. MEM / WARNING -> Action, none, just compound. PROCESS / CRITICAL -> Action, send MAIL. HTTP LATENCY / WARNING -> Action, none, just compound.

-DATABASE SERVER

CPU / WARNING -> Action, none, just compound. MEM / WARNING -> Action, none, just compound. PROCESS / CRITICAL -> Action, send MAIL. SQL LATENCY / WARNING > Action, send MAIL.


Defina ROUTER como padre para BASE DE DATOS y Servidores WEB. Active la proteccion en Cascada en ambos agentes (base de datos y Web).

Defina ahora una alerta de correlación asignada a la BASE de DATOS:

Router ICMP Check NOT Fired AND Router SNMP Check NOT Fired AND WEB Server Process NOT Fired AND Database Server Process Critical

NOW

Send MAIL: "Service DOWN: Database Failure" Defina una correlacion de alerta asignada a la BASE DE DATOS:

Router ICMP Check NOT Fired AND Router SNMP Check NOT Fired AND WEB Server Process Fired AND Database Server Process NOT Fired THEN Send MAIL: "Service DOWN: WebServer Failure"

And more complex alerts like: Router ICMP Check NOT Fired AND Router SNMP Check NOT Fired

Y

WEB Server HTTP Latency NOT Fired

Y

DATABASE Server SQL Latency Fired

Y

DATABASE Server CPU NOT fired

Y

DATABASE Server MEM Fired

Y

Enviar MAIL: La base de datos está sobrecargada. Por favor, chequéela lo antes posible..

1.12 Lista de días especiales

Desde la versión 5.0 de Pandora FMS se puede utilizar la lista de días especiales, que permite definir festivos y días laborables especiales para los templates de alertas. Los días definidos en la lista de días especiales se tratan del mismo modo que el día de la semana seleccionado.

1.12.1 Creando un día especial

Los días especiales se crean en Administration->Manage alerts->Special days list.



Creating special day1.png



Al hacer click en "Create" aparece la siguiente pantalla:



Creating special day2.png



Hay que rellenar los siguientes campos:

  • Date: Fecha del día especial. El formato es YYYY-MM-DD. Si se desea repetición, se puede utilizar '*' en vez de YYYY.
  • Same day of the week: Seleccione un día de la semana. La fecha anteriormente definida se trata como el día de la semana seleccionado.
  • Description: Descripción.

Por ejemplo, supongamos que el 3 de Mayo de 2012 es festivo. Cuando definimos el '2012-05-03' como 'domingo', este día será tratado como si fuese un domingo.

Una vez que se han rellenado estos campos, haga click en "Create".


Template warning.png

Para habilitar la lista de días especiales, "Use special days list" debe estar marcado en la configuración de la plantilla de alerta (paso 2)

 


1.12.2 Editando un día especial

Es posible editar los días especiales creados desde Administration->Manage alerts->Special days.



Editing special day1.png



Para editar un día especial haga click en la fecha.



Editing special day2.png



Una vez realizados los cambios, haga click en el botón "Update".

1.12.3 Borrando un día especial

Para borrar un día especial, haga click en el aspa roja que aparece en el lado derecho.



Deleting special day.png



Volver a Indice de Documentacion Pandora FMS