Difference between revisions of "Pandora: Documentation es: Alertas"

From Pandora FMS Wiki
Jump to: navigation, search
(Protección en cascada basada en servicios)
(Reglas dentro de una alerta de correlación: Vídeo tutorial PFMS. Fe de erratas. Consejo necesario. Corrección a petición por Mattermost.)
 
(363 intermediate revisions by 15 users not shown)
Line 1: Line 1:
[[Pandora:Documentation|Volver a Indice de Documentacion Pandora FMS]]
+
[[Pandora:Documentation|Volver al Índice de Documentación Pandora FMS]]
 +
 
 +
 
  
 
= Configuración de alertas en Pandora FMS =
 
= Configuración de alertas en Pandora FMS =
Line 5: Line 7:
 
==Introducción==
 
==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.
+
Una alerta es la reacción de Pandora FMS a un valor incorrecto de un [[Pandora:Documentation_es:Glosario_Terminos#M.C3.B3dulo|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: las alertas simples, las alertas sobre eventos y las alertas sobre traps SNMP. En este capítulo vamos a tratar el sistema de alerta en conjunto, y hablar en detalle de las primeras.
+
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 ==
 
== Introducción al sistema de alertas ==
Line 13: Line 21:
 
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.
 
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, esta alerta puede llevar a cabo una o varias acciones.
+
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 [https://www.youtube.com/watch?v=8V9WgPvPlD8 «Que no cunda el pánico: hablamos de sistemas de alertas. ''Workshop''.»].<br><br><br>
  
 
=== Estructura de una alerta ===
 
=== Estructura de una alerta ===
  
<br>
+
[[Image:Esquema-alert-structure.png|center|600px]]
<center>
 
[[Image:Esquema-alert-structure.png|700px]]
 
</center>
 
<br>
 
  
 
Las alertas se componen de:
 
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 mail o un SMS, ejecutar un script, etc.
+
* '''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.
+
* '''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.
+
* '''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 ===
 
=== 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, etc. que se utilizan para personalizar el disparo de la alerta.
+
Al configurar las plantillas y las acciones, ambas tienen una serie de '''campos genéricos''' llamados <code>Field1</code> , <code>Field2</code> , <code>Field3</code>, (...) , <code>Field''n''</code> 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.
  
Estos campos se aplican en función de un orden de precedencia, "transfiriendo" información desde plantilla -> acción -> 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 <code>Field'''n'''</code>. 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 <code>Field1</code> y '''la acción también''', prevalece el <code>Field1</code> de la acción).
  
 +
En el siguiente esquema puede verse esta transferencia de parámetros desde la plantilla hasta el comando:
  
La precedencia es:
+
[[Image:Esquema-parameters-carrying.png|center|700px]]
 
 
Plantilla < Acción < Comando
 
 
 
 
 
Donde el valor del ''field'' sobreescribe el contenido especificado en la ''capa'' anterior:
 
 
 
<center>
 
[[Image:alert_precedence.png|800px]]
 
</center>
 
<br>
 
 
 
 
 
Si una plantilla tiene contenido en el campo Field1, si la acción '''no''' tiene contenido en su campo Field1, heredará el contenido del Field1 de la plantilla. No obstante, si la acción ya tiene su propio contenido (configurado previamente al crear la acción) en su campo Field1, éste prevalecerá sobre el que transfiere la plantilla. De modo que siguiendo la sucesión Plantilla -> Acción -> Comando, la información se transferirá del primero al segundo y del segundo al tercero siempre que el escalón siguiente no traiga ya información definida en sus campos Field1, Field2, Field3...
 
 
 
En el siguiente esquema puede verse esta transferencia de parámetros desde la plantilla hasta el comando:
 
  
<br>
+
Ejemplo sobre cómo se sobreescriben los valores de la plantilla usando los de la acción:
<center>
 
[[Image:Esquema-parameters-carrying.png|700px]]
 
</center>
 
<br>
 
  
Este seria un ejemplo de cómo se sobreescriben los valores de la plantilla usando los de la acción.
+
[[Image:Alertas esquema6.png|800px]]
<br>
 
<center>
 
[[Image:Alertas esquema6.png|700px]]
 
</center>
 
<br>
 
  
Por ejemplo creamos una plantilla que dispara la alerta y envía un email con los siguientes campos:
+
Por ejemplo, una plantilla que dispara la alerta y envía un mensaje de correo electrónico con los siguientes campos:
  
 
* '''Plantilla''':
 
* '''Plantilla''':
Line 76: Line 59:
  
 
* '''Acción''':
 
* '''Acción''':
+
** Field1: '''myboss'''@domain.com
** Field2: <en blanco>
+
** Field2: <blank>
** Field3: <en blanco>
+
** Field3: <blank>
  
 
Los valores que llegarían al comando serían:
 
Los valores que llegarían al comando serían:
Line 87: Line 70:
 
** Field3: The alert was fired!!! SOS!!!
 
** 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.
+
Para los campos <code>Field2</code> y <code>Field3</code> se conservan los valores definidos en la plantilla, pero para el campo <code>Field1</code> usa el valor definido en la acción.
  
 
==Comando de Alerta ==
 
==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'''.
 
Las acciones que realizará Pandora FMS ante situaciones de alerta se traducirán al final en ejecuciones en el servidor, en forma de '''comandos'''.
 
   
 
   
<br>
+
[[Image:susi2.png|center|800px|Haga clic para ampliar]]
[[image:susi2.png|800px]]  
 
<br>
 
  
Es posible crear nuevos comandos de alerta en la sección correspondiente desde la consola de Pandora FMS: menú ''Alertas'' > ''Comandos''.
+
=== Creación de un comando para una alerta ===
  
===Creación de un comando para una alerta===
+
Al hacer clic en el botón '''Create''' de la sección anterior:
  
El formulario nos pedirá cierta información descriptiva sobre el comando:
+
[[Image:Susi3_5.png|center|800px]]
  
<br>
+
;Name: Nombre del Comando, breve y descriptivo.
[[image:Susi3_5.png|850px]]
 
  
 +
;Command: Comando que se ejecutará al disparar la alerta. Es posible utilizar macros ([[Pandora:Documentation_es:Alertas#Macros_de_comandos|ver siguiente sección]]) para reemplazar los parámetros configurados en la declaración de las alertas.
  
A continuación se detallan los campos:
+
{{Warning|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.'''}}
  
 +
{{Tip|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).}}
  
'''Name'''
+
'''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''' ([[Pandora:Documentation_es:Gestion_y_Administracion#El_Grupo_.22All.22_.28Todos.2FCualquiera.29|'''ALL''']]).
El nombre del Comando. Debe ser breve y descriptivo.
 
  
 +
'''Field description''' y '''Field values''': Para cada campo personalizado es posible configurar:
  
'''Command'''
+
** 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.  
Comando que se ejecutará al disparar la alerta. Es posible utilizar macros  para reemplazar los parámetros configurados en la declaración de las alertas. Las macros que se pueden utilizar se encuentran detallados más adelante en una sección específica.
 
  
A la hora de crear los comandos para las alertas hay que tener en cuenta que dichos comandos son ejecutados por el servidor de Pandora FMS. Las alertas también se ejecutan con los privilegios del usuario que ejecuta el servidor de Pandora FMS.  
+
** 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:
  
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).
+
valor1,etiqueta1;valor2,etiqueta2;valor3,etiqueta3
  
 +
** '''Hide''': Si el campo alberga alguna contraseña, esta opción oculta con asteriscos el contenido.
  
'''Description'''
+
{{Tip|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 <code>_html_editor_</code>}}
  
Descripción larga del comando de alerta a título informativo.
+
Una vez rellenados debidamente cada uno de los parámetros, haga clic en el botón '''Create''' para guardar.
  
 +
==== Ejemplo ====
  
'''Descripción de los campos y posibles valores'''
+
Un campo sencillo donde será posible elegir entre los cuatro primeros números:
  
Para cada campo, es posible configurar:
+
1,Número uno;2,Número dos;3,Número tres;4,Número cuatro
  
* 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.
+
Se debe configurar el campo en el '''comando''':
  
* Valores posibles: Una colección de posibles valores para ese campo.  
+
[[Image:possible_values_1.png|center|800px]]
  
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).
+
Cuando vayamos a la '''acción''' lo veremos de la siguiente forma:
  
La sintaxis es la siguiente:  
+
[[Image:possible_values_2.png|center|500px]]
  
  valor1,etiqueta1;valor2,etiqueta2;valor3,etiqueta3
+
==== Macros de comandos ====
  
 +
Las macros que se pueden utilizar dentro de la configuración de un comando están en la [[Pandora:Documentation_es:Alertas#Lista_de_macros|lista de macros]] al final de este capítulo.
  
Por ejemplo:
+
=== Comandos predefinidos ===
  
Un campo sencillo donde será posible elegir entre los cuatro primeros números:
+
Existen una serie de comandos predefinidos listos para utilizarse en el sistema de alertas de Pandora FMS.
  
1,Numero uno;2,Numero dos;3,Numero tres;4,Numero cuatro
+
'''eMail'''
 
 
<br>
 
<br>
 
<center>
 
[[image:possible_values_1.png|800px]]
 
</center>
 
<br>
 
<br>
 
  
<br>
+
Envía un correo electrónico desde el [[Pandora:Documentation_es:Configuracion#mta_address|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.
<br>
 
<center>
 
[[image:possible_values_2.png]]
 
</center>
 
<br>
 
<br>
 
  
{{tip|A partir de la versión 6.0, será posible mostrar un editor 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_''}}
+
'''Internal audit'''
  
Una vez creado se pincha en el botón Create.
+
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.
  
<br><br>
+
'''Monitoring Event'''
<center>
 
[[image:susi4_5.png|750px]]
 
</center>
 
<br><br>
 
  
=== Edición de un comando para una alerta===
+
Crea un evento personalizado en la consola de eventos de Pandora FMS.
  
Desde ''Command'' en el menú ''Alerts'', es posible editar los comandos de alertas que se han creado.
+
'''Pandora FMS Alertlog'''
  
<br>
+
Es una alerta predefinida que escribe las alertas en formato de ASCII plano en el fichero de ''log'' <code>/var/log/pandora/pandora_alert.log</code> .
[[image:susi5.jpg|center|650px]]
 
<br>
 
  
Para editar el comando de una alerta bastará con pulsar sobre el nombre del comando.
+
'''SNMP Trap'''
  
<br>
+
Envía un ''trap'' SNMP parametrizado con los argumentos que se utilicen.
[[image:susi6_5.png|center|650px]]
 
<br>
 
  
Una vez se ha modificado la alerta elegida se pincha en botón de Update.
+
'''Syslog'''
  
{{warning|Los comandos ''”eMail”'', ''“Internal Audit”'' y ''“Pandora FMS Event”'' no se pueden modificar.}}
+
Envía una alerta al registro del sistema por medio del comando del sistema '''logger'''.
  
===Borrado de un comando para una alerta===
+
'''Sound Alert'''
  
Para borrar una alerta se pincha en la papelera gris situada a la derecha de la alerta.
+
Reproduce un sonido cuando ocurre una alerta.
  
<br><br>
+
'''Jabber Alert'''
<center>
 
[[image:susi7.png|800px]]
 
</center><br><br>
 
  
Las alertas ”eMail”, “Internal Audit” y “Pandora FMS Event” no pueden ser borradas.
+
Envía una alerta [https://es.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol Jabber] a una sala de conversación en un servidor predefinido (primero debe configurar el fichero <code></code>.sendxmpprc). Coloque en <code>field1</code> el alias de usuario, en <code>field2</code> el nombre de la sala de '''chat''' y <code>field3</code> el mensaje de texto.
  
===Comandos predefinidos===
+
'''SMS Text'''
  
Existen una serie de comandos predefinidos listos para utilizarse en el sistema de alertas de Pandora FMS.
+
Envía un SMS a un teléfono móvil determinado. Primero es necesario definir una alerta y configurar una [https://es.wikipedia.org/wiki/Puerta_de_enlace_predeterminada ''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.
  
'''eMail'''
+
'''Validate Event'''
  
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.
+
Valida todos los eventos relacionados con un módulo. Se le pasará el nombre del agente y el nombre del módulo.
  
Los email son enviados en formato HTML, lo cual permite crear plantillas muy atractivas visualmente. Hay que tener en cuenta que el receptor debe poder acceder a los recursos utilizados en la plantilla, como las imágenes.
+
'''Remote agent control'''
  
'''Internal audit'''
+
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.
  
Genera una 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. 
+
'''Generate Notification'''
  
'''Pandora FMS Event'''
+
Permite enviar una notificación interna a cualquier usuario o grupo.
  
Crea un evento personalizado en la consola de eventos de Pandora FMS.
+
=== Edición de un comando para una alerta ===
  
'''Pandora FMS Alertlog'''
+
Vaya a '''Alerts''' > '''Command''':
  
Es una alerta predefinida que escribe las alertas en ASCII plano en el fichero de log /var/log/pandora/pandora_alert.log
+
[[Image:susi2.png|center|800px|Haga clic para ampliar]]
  
'''SNMP Trap'''
+
Para editar el comando de una alerta bastará con pulsar sobre el nombre del comando.
  
Envía un trap SNMP parametrizado con los argumentos que se utilicen.
+
[[Image:susi6_5.png|center|700px]]
  
'''Syslog'''
+
Una vez se ha modificado la alerta elegida haga clic en el botón '''Update'''.
  
Envía una alerta al registro del sistema, usa el comando del sistema «logger».
+
{{warning|Los comandos <code>eMail</code>, <code>Internal Audit</code> y <code>Monitoring Event</code> no se pueden modificar ni borrar.}}
  
'''Sound Alert'''
+
===Operaciones de un comando de alerta===
  
Reproduce un sonido cuando ocurre una alerta.
+
[[image:susi7.png|center|800px|Haga clic para ampliar]]
  
'''Jabber Alert'''
+
'''Borrado''': Para borrar una alerta haga clic en la papelera gris situada a la derecha de la alerta.
  
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.
+
'''Copiado''': Se pueden copiar alertas. Es especialmente útil para generar comandos similares a otros existentes cambiando algún detalle.
  
'''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.
+
=== Ejemplos de Comandos ===
 
 
'''Validate Event'''
 
 
 
Valida todos los eventos relacionados con un módulo. Se le pasará el nombre del agente y el nombre del módulo.
 
 
 
===Ejemplos de Comandos===
 
  
 
==== Envío de alertas con Jabber ====
 
==== Envío de alertas con Jabber ====
Line 265: Line 218:
 
En la parte del servidor de Pandora FMS:
 
En la parte del servidor de Pandora FMS:
 
   
 
   
# Instalar ''sendxmpp''. Con esta herramienta se pueden enviar mensajes Jabber.
+
# Instalar [https://github.com/lhost/sendxmpp sendxmpp]. Con esta herramienta se pueden enviar mensajes Jabber.
# Crear un fichero en el directorio ''/home'' con el nombre ''.sendxmpprc''.
+
# Crear un fichero en el directorio <code>/home</code> con el nombre <code>.sendxmpprc</code>.
# Editar el fichero e introduzca lo siguiente:
+
# Editar el fichero e introducir lo siguiente (sustituya con sus credenciales reales):
  [email protected] password
 
# 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]
+
# Otorgue permisos al archivo:
  
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:
+
chmod 0600 .sendxmpprc
  
* Field_1: Direccion de jabber.
+
Ahora pueden enviar mensajes privados a través de línea de comandos, por ejemplo:
* Field_2: Texto de envío.
 
  
De forma que a alerta se definiría como:
+
$ echo "Hello" | sendxmpp -s pandora [email protected]
  
  echo _field2_ | sendxmpp -s pandora _field1_
+
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:
 +
 
 +
* <code>Field_1</code>: Dirección de Jabber.
 +
* <code>Field_2</code>: 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=====  
 
===== Más ejemplos de uso con Jabber=====  
Line 297: Line 253:
 
NOTA: Tenga cuidado de no sobrecargar servidores Jabber públicos o le cortarán el acceso.
 
NOTA: Tenga cuidado de no sobrecargar servidores Jabber públicos o le cortarán el acceso.
  
==== Envío de correo electrónico con expect ====
+
==== 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.
+
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 [[Pandora:Documentation_es:Configuracion_Consola#General_Setup|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 [https://core.tcl-lang.org/expect/index Expect] en lugar de configurar '''sendmail'''.
  
Se crea un archivo llamado /etc/snmp con el siguiente contenido:
+
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.
  
<pre>
+
Este ejemplo utiliza Expect para enviar correos electrónicos usando un servidor MS Exchange®.
#!/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
 
</pre>
 
  
Se cambian los permisos del fichero, para permitir la ejecución
+
Crear un archivo llamado <code>/etc/expect_smtp</code> con el siguiente contenido:
  
<pre>
+
#!/usr/bin/expect -f
chmod 700 /root/smtp
+
set arg1 [lindex $argv 0]
</pre>
+
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
  
Antes de intentar usarlo, asegúrese de que /usr/bin/expect funcione correctamente.
+
Cambie los permisos del fichero para permitir su ejecución:
  
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á:
+
chmod 700 /etc/expect_smtp
  
<pre>
+
Primero compruebe que <code>/usr/bin/expect</code> funcione correctamente, bien puede copiar, guardar, otorgar derecho de ejecución al siguiente guión:
/root/smtp _field1_ _field2_ _field3_
 
</pre>
 
  
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.
+
#!/usr/bin/expect -f
 +
 +
spawn date
 +
sleep 20
 +
expect
  
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.
+
 
 +
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.
 
La alerta será ejecutada por el usuario que esté ejecutando el proceso del servidor de Pandora FMS.
Line 355: Line 316:
 
====Envío de SMS con Gnokii====
 
====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.
+
Para poder utilizar Gnokii es necesario usar un móvil Nokia o compatible con Gnokii (revise el hardware compatible en la [https://gnokii.org/ 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 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.
+
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:
 
Ejemplo de envío de un SMS con Gnokii desde línea de comandos:
  
<pre>
+
echo "PANDORA: Server XXXX is down at XXXXX" | gnokii --sendsms 555123123
echo "PANDORA: Server XXXX is down at XXXXX" | gnokii --sendsms 555123123
 
</pre>
 
  
 
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:
 
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:
  
<pre>
+
echo "Image capture sample" | gnokii --sendsms 555123123 -w <nowiki>http://artica.homelinux.com/capture.jpg</nowiki>
echo "Image capture sample" | gnokii --sendsms 555123123 -w http://artica.homelinux.com/capture.jpg
 
</pre>
 
  
 
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.
 
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.
+
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 <code>.gnokiirc</code>, 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.
+
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) ====
 
==== 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.
+
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.
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 FMS.
+
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 se ha hecho esto tenemos que poner como comando:
+
Una vez hecho esto, colocar como comando:
  
<pre>
 
 
ssh [email protected] [_field1_]
 
ssh [email protected] [_field1_]
</pre>
 
  
Al poner _field1_ como variable se puede usar el comando que se quiera.
+
Al colocar <code>_field1_</code> como variable se puede ejecutar el comando necesario para la alerta.
  
 
==Acción ==
 
==Acción ==
 +
=== Introducción ===
 +
 +
Las acciones son los componentes de las alertas en los que se relaciona un comando con las variables genéricas <code>Field&nbsp;1</code>, <code>Field&nbsp;</code>, ... , <code>Field&nbsp;10</code>.
 +
 +
Las acciones permiten definir ''el cómo'' lanzar el comando.
 +
 +
=== Creación de una 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, ..., Field 10.
+
Vaya al menú '''Alerts''' > '''Alert actions''' > '''Create''':
  
Las acciones nos permiten definir ''cómo'' vamos a lanzar el comando.
+
[[Image:accion1.jpg|center|600px]]
  
 +
Aparecerá el siguiente formulario:
  
===Creación de una Acción===
+
[[Image:accion2.jpg|center|800px]]
  
Las Acciones nuevas se crean pinchando en el botón ''Create'' dentro de Action en el menu Alerts.
+
;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''' ([[Pandora:Documentation_es:Gestion_y_Administracion#El_Grupo_.22All.22_.28Todos.2FCualquiera.29|'''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.
  
<br>
+
[[Image:Alert-alert_actions-group_command_and_group_action_mismatch.png|center|600px]]
[[image:accion1.jpg|800px]]
 
<br>
 
  
Una vez se ha pinchado en Create aparecerá el siguiente formulario:
+
;Command: Comando que se usará en el caso de que se ejecute la alerta. Se puede elegir entre los [[Pandora:Documentation_es:Alertas#Comandos_predefinidos|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 <code>_field1_</code> a <code>_field10_</code>, 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.
  
<br>
+
Al estar debidamente completados los campos, guarde con el botón '''Create'''.
[[image:accion2.jpg|800px]]
 
<br>
 
  
A continuación se detallan los campos que hay que rellenar:
+
[[Image:boton1.jpg|800px|Haga clic para ampliar]]
  
*'''Name''': El nombre de la acción.
+
Posteriormente desde el menú '''Actions''' > '''Alerts''' puede editar las acciones que se han creado.
*'''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
+
{{Warning|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.'''}}
  
<br>
+
====  Macros de acciones ====
[[image:boton1.jpg|800px]]
 
<br>
 
  
Desde '''Actions''' en el menú '''Alerts''', es posible editar las acciones que se han creado.
+
Las macros que se pueden utilizar dentro de la configuración de una acción están en la [[Pandora:Documentation_es:Alertas|Lista_de_macros]] al final de este capítulo.
  
 
===Editar una Acción===
 
===Editar una Acción===
  
<br>
+
[[Image:alert_action.png|center|450px]]
[[image:alert_action.png|800px]]
 
<br>
 
  
 
Para editar la acción, sólo tiene que hacer clic en el nombre de la Acción.
 
Para editar la acción, sólo tiene que hacer clic en el nombre de la Acción.
  
<br>
+
[[image:alert_action_edit.png|center|750px]]
[[image:alert_action_edit.png|800px]]
 
<br>
 
  
 
Cuando haya terminado puede guardar sus cambios haciendo clic en el botón "Actualizar".
 
Cuando haya terminado puede guardar sus cambios haciendo clic en el botón "Actualizar".
  
 
<br>
 
<br>
 +
 
=== Borrar una acción ===
 
=== Borrar una acción ===
  
Puede eliminar una acción pulsando sobre el icono de la papelera, está situado en la zona derecha.
+
Puede eliminar una acción pulsando sobre el icono de la papelera (columna '''Delete''').
  
[[image:sipo.jpg|800px]]
+
[[Image:sipo.jpg|center|500px]]
<br>
 
  
 
==Plantilla de alerta==
 
==Plantilla de alerta==
 +
=== Introducción ===
  
Las plantillas definen las condiciones de disparo de la alerta (''cuando'' ejecutar la acció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.
+
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.
 
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===
 
===Creación de una Plantilla===
  
Navegue hasta el menú ''Alertas'' > ''Plantillas''. Podrá crear una nueva plantilla pinchando en el botón ''Crear''.
+
Navegue hasta el menú '''Alerts''' > '''Alert templates''' > '''Create'''.
  
<br>
+
[[Image:planti.jpg|center|750px]]
[[image:planti.jpg|800px]]
 
<br>
 
  
Tras pulsar el botón crear, le aparecerá el siguiente formulario:
+
A continuación siga los tres pasos guiados.
  
<br>
+
==== Paso 1: General ====
[[image:Templform.JPG|800px]]
 
<br>
 
  
 +
[[Image:Templform.JPG|center|550px]]
  
En este wizard de plantillas podrá especificar:
+
En este asistente (''wizard'') de plantillas especifique:
  
*'''Name''': El nombre de la plantilla, obligatorio.
+
;Name: Nombre de la plantilla, '''obligatorio'''.
*'''Description''': Describe la función de la plantilla, y resulta útil para identificar la plantilla entre otras en la vista general de alertas..
+
;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''' ([[Pandora:Documentation_es:Gestion_y_Administracion#El_Grupo_.22All.22_.28Todos.2FCualquiera.29|'''ALL''']]).
*'''Priority''': Campo informativo acerca de la alerta. El evento generado al disparar la alerta heredará esta prioridad. También es muy útil para filtrar a la hora de buscar alertas.  
+
;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:
 +
**<code>Maintenance</code>.
 +
**<code>Informational</code>.
 +
**<code>Normal</code>.
 +
**<code>Warning</code>.
 +
**<code>Critical</code>.
  
Puede elegir de entre las siguientes prioridades:
+
==== Paso 2: Condiciones ====
  
**Maintenance
+
[[Image:Templform2.JPG|center|800px]]
**Informational
 
**Normal
 
**Warning
 
**Critical
 
  
Damos a siguiente y avanzamos hasta una nueva página:
+
;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).
  
<br>
+
;Set initial time: Hora a partir de la cual se ejecuta la acción de la alerta.
[[image:Templform2.JPG|800px|center]]
 
<br>
 
  
En esta sección se nos ofrece la posibilidad de configurar la plantilla en sí, '''cuándo''' debe lanzarse:
+
;Set end time: Hora hasta la que se ejecuta la acción de la alerta.
  
*'''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:
+
;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.
  
*'''Regular Expresion''': Se usa una expresión regular. La alerta saltara cuando el valor del módulo cumpla una condición establecida.
+
;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.
  
<br>
+
;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.
[[image:regular.jpg|400px|center]]
 
<br>
 
  
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.
+
;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'':
  
*'''Max and Min''': Intervalo numérico acotado.
+
** 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á.  
  
<br>
+
normal -> crítico -> crítico -> crítico
[[image:notmaxmin.png|center]]
+
<br>
+
** Si '''no''' marcamos el ''token'' de reinicio, la alerta se disparará tras una secuencia alternativa o continua de críticos:  
  
Al marcar 'Trigger when matches the value' la alerta se lanzará cuando el valor este 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 este fuera del rango indicado.
+
  normal -> crítico -> normal -> crítico -> normal -> crítico
  
*Max: Se usa un valor máximoLa alerta saltara cuando el valor del módulo sea mayor que el valor máximo marcado.
+
;Disable event: Marcando este ''token'', el evento generado en la vista de eventos de disparo de alerta no se creará.   
  
<center>
+
;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''.
[[image:max.png]]
 
</center>
 
  
 +
;Condition Type: Campo donde se define el tipo de condición que se aplicará a la alerta.
  
*Min: Se usa un valor mínimo.  La alerta saltara cuando el valor del módulo sea menor que el valor mínimo marcado.
+
[[Image:regular.jpg|center|400px]]
  
<center>
+
Se añadirán los combos necesarios según el tipo elegido, existen los siguientes tipos:
[[image:min.png]]
 
</center>
 
  
 +
**'''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.
  
*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, p.e: 234 o 124.35.
+
[[Image:Regular expression triggered.png|center|500px]]
  
<center>
+
**'''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.
[[image:equal.png]]
 
</center>
 
  
*Not Equal to: Igual que el anterior pero negando la condición (operador lógico NOT).
+
[[Image:Notmaxmin.png|center|550px]]
  
<center>
+
**'''Max''': Se usa un valor máximo. La alerta saltará cuando el valor del módulo sea mayor que el valor máximo marcado.
[[image:notequal.png]]
 
</center>
 
  
 +
[[Image:Max.png|center|400px]]
  
*Warning/Critical/Unknown status: Se usa el estado del módulo.  La alerta se disparará cuando el estado del monitor sea el indicado:
+
**'''Min''': Se usa un valor mínimo.  La alerta saltará cuando el valor del módulo sea menor que el valor mínimo marcado.
  
<center>
+
[[Image:Min.png|center|400px]]
[[image:status_template.png]]
 
</center>
 
  
 +
**'''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 .
  
Estas son las explicaciones para los campos que van a ver allí:
+
[[Image:Equal.png|center|400px]]
  
'''Days of Week'''
+
**'''Not Equal to''': Igual que el anterior pero negando la condición (operador lógico NOT).
  
Establece los días en los que la alerta podrá dispararse.
+
[[Image:Notequal.png|center|400px]]
  
'''Use special days list'''
+
**'''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.
  
Habilitar/deshabilitar el uso de la lista de días especiales (festivos y días laborables especiales).
+
[[Image:Status_template.png|center|400px]]
  
'''Time From'''
+
==== Paso 3: Campos avanzados ====
  
Hora a partir de la cual se ejecuta la acción de la alerta.
+
[[Image:combo.jpg|center|800px|Haga clic para ampliar]]
  
'''Time To'''
+
;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.
  
Hora hasta la que se ejecuta la acción de la alerta.
 
  
'''Time Threshold'''
+
;Field 1 ~ Field 10: Aquí puede utilizar una serie de macros que se describen más adelante.
  
Tiempo que debe transcurrir para reiniciar el contador de alertas.
+
Una vez se ha completado la configuración finalice haciendo clic en el botón '''Finish'''.
  
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.
+
=== Macros sustituibles en los campos Field1 ~ Field10 ===
 
 
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.
 
 
 
'''Field 1'''
 
 
 
Define el valor para la variable "_field1_". Aquí se pueden utilizar una serie de macros que se describen más adelante.
 
 
 
'''Field 2'''
 
 
 
Define el valor para la variable "_field2_".
 
 
 
'''Field n'''
 
 
 
Define el valor para la variable "_fieldn_" donde n es un número entero entre 1 y 10.
 
 
 
'''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. 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 “Siguiente” y se mostrará el último formulario.
 
 
 
<br><br>
 
<center>
 
[[image:combo.jpg|800px]]
 
</center>
 
 
 
En esta vista puede ajustar las siguientes opciones:
 
 
 
'''Recuperación de alerta'''
 
 
 
Combo donde se puede definir si se habilita o no la recuperación de alertas.
 
 
 
En el caso de que la recuperación de alerta esté habilitada, cuando el módulo deja 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 2'''
 
 
 
Define el valor para la variable "_field2_". en la recuperación de la alerta.
 
 
 
'''Field n'''
 
 
 
Define el valor para la variable "_fieldn_". en la recuperación de la alerta, donde n es un número entero entre 1 y 10.
 
 
 
Una vez se ha completado la configuración, finalizamos la edición haciendo clic en el botón “Finish”.
 
 
 
=== Macros sustituibles en los campos Field1, Field2, Field3... Field10 ===
 
 
 
En todas las instancias de los campos field1, field2... field10' (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.
 
 
 
* '''_address_''': Dirección del agente que disparó la alerta.
 
* '''_address_n_''': La dirección del agente que corresponde a la posicion 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 (eg. _agentcustomfield_9_).
 
* '''_agentcustomid_''': ID 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 alerta.
 
* '''_alert_name_''': Nombre de alerta.
 
* '''_alert_priority_''': Prioridad numérica de alerta.
 
* '''_alert_text_severity_''': Prioridad en texto de la alerta (Maintenance, Informational, Normal Minor, Warning, Major, Critical).
 
* '''_alert_threshold_''': Umbral de alerta.
 
* '''_alert_times_fired_''': Número de veces que se activó 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_''': Emails 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_.
 
* '''_email_tag_''': Emails asociados a los tags de módulos.
 
* '''_event_description_''': (Solo alertas de evento) Descripción textual del evento de Pandora FMS.
 
* '''_event_extra_id_''': (Solo alertas de evento) Id extra.
 
* '''_event_id_''': (Solo alertas de eventos) ID 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).
 
* '''_field1_''':  Campo 1 definido por el usuario.
 
* '''_field2_''':  Campo 2 definido por el usuario.
 
* '''_field3_''':  Campo 3 definido por el usuario.
 
* '''_field4_''':  Campo 4 definido por el usuario.
 
* '''_field5_''':  Campo 5 definido por el usuario.
 
* '''_field6_''':  Campo 6 definido por el usuario.
 
* '''_field7_''':  Campo 7 definido por el usuario.
 
* '''_field8_''':  Campo 8 definido por el usuario.
 
* '''_field9_''':  Campo 9 definido por el usuario.
 
* '''_field10_''':  Campo 10 definido por el usuario.
 
* '''_field11_''':  Campo 10 definido por el usuario.
 
* '''_field12_''':  Campo 10 definido por el usuario.
 
* '''_field13_''':  Campo 10 definido por el usuario.
 
* '''_field14_''':  Campo 10 definido por el usuario.
 
* '''_field15_''':  Campo 10 definido por el usuario.
 
* '''_groupcontact_''': Información de contacto del grupo. Se configura al crear el grupo.
 
* '''_groupcustomid_''': ID 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_''': ID del agente, útil para construir una URL directa que redirecciona a una página web de la consola de Pandora FMS.
 
* '''_id_alert_''': ID numérico de la alerta (único), utilizado para correlacionar la alerta con el software de terceros.
 
* '''_id_group_''': El ID del grupo del agente.
 
* '''_id_module_''': El ID del módulo.
 
* '''_interval_''': Intervalo de ejecución del módulo.
 
* '''_module_''': Nombre del módulo.
 
* '''_modulecustomid_''': ID 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.
 
* '''_moduledescription_''': Descripción del módulo que activó la alerta.
 
* '''_modulegraph_nh_''': (Solo para alertas que usan el comando ''eMail'') Devuelve una imagen codificada en base64 del gráfico de un módulo con un período de n horas (por ejemplo, _modulegraph_24h_). Se requiere una configuración correcta de la conexión entre el servidor y la API de la consola. Esta configuración se realiza en el archivo de configuración del servidor.
 
* '''_modulegraphth_nh_''': (>=7.0) (Solo para alertas que usen el comando ''eMail'').Mismo funcionamiento que la macro anterior solo que con los umbrales critical y warning del modulo siempre que estos estén definidos.
 
* '''_modulegroup_''': Nombre del grupo del módulo
 
* '''_modulestatus_''': 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.
 
* '''_server_ip_''': 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 para el 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_.
 
 
 
 
 
Ejemplo: El agente _agent_ tiene el módulo _module_ en estado _modulestatus_ con datos _data_
 
 
 
<br>
 
  
 +
En todas las instancias de los campos <code>field1</code> ... <code>field10</code> (tanto en la plantilla de alerta, como en el comando y en la acción) se pueden emplear la [[Pandora:Documentation_es:Alertas#Lista_de_macros|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.<br><br><br>
  
 
==== Ejemplo completo de alerta con reemplazamiento de macros====
 
==== Ejemplo completo de alerta con reemplazamiento de macros====
  
Suponiendo que usted desee crear una entrada en un LOG donde en cada línea aparezca el siguiente formato:
+
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
+
2009-12-24 00:12:00 pandora [CRITICAL] Agent <agent_name> Data <module_data> Module <module_name> in CRITICAL status
  
 
''' Command Configuration '''
 
''' Command Configuration '''
Line 746: Line 549:
  
 
Y la siguiente línea para recuperar la alerta:
 
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
 
  2009-10-13 13:41:55 pandora [RECOVERED] [CRITICAL] Agent raz0r Data 1.00 Module Host Alive in CRITICAL status
Line 753: Line 554:
 
===Editar una Plantilla ===
 
===Editar una Plantilla ===
  
Es posible editar las plantillas que han sido creadas desde ''Plantillas'' en el menú de ''gestión de Alertas''.
+
Vaya al menú '''Alerts''' > '''Templates''' y haga clic en el nombre de la plantilla a editar.
  
<br>
+
[[Image:plantilla.jpg|center|600px]]
<center>
 
[[image:plantilla.jpg|800px]]
 
</center>
 
<br>
 
 
 
Para editar la plantilla sólo necesita hacer click en el nombre de la plantilla.
 
  
 
===Eliminar una plantilla===
 
===Eliminar una plantilla===
  
Para eliminar una plantilla, haga click en el icono de papelera gris situado a la derecha de la alerta.
+
Para eliminar una plantilla, haga clic en el icono de papelera gris situado a la derecha de la alerta.
  
<br>
+
[[Image:cruz.jpg|center|400px]]
<center>
 
[[image:cruz.jpg|800px]]
 
</center>
 
<br>
 
  
 
==Asignar Plantillas de alerta a los módulos==
 
==Asignar Plantillas de alerta a los módulos==
  
Conocida la información básica sobre el sistema de alertas, vamos a mostrar las formas posibles de asignar las alertas 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===
 
=== Gestión de Alertas desde el submenú de Alertas===
  
====Asignación de Alertas desde el submenú de Alertas====
+
==== Asignación de Alertas desde el submenú de Alertas ====
 
 
Desde la sección ''List of Alerts'' podremos crear nuevas alertas desde el builder:
 
  
<br>
+
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:
[[image:pinar.jpg|800px|center]]
 
<br>
 
  
Estos son los campos que deberían rellenarse:
+
[[Image:pinar.jpg|center|800px]]
  
*'''Agent''': autocompletado inteligente para elegir el agente.
+
;Agent: Autocompletado para elegir el Agente.
*'''Module''': listado de módulos del agente anteriormente seleccionado.
+
;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''.
+
;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.
+
;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.
+
;Threshold: Una acción de alerta no será ejecutada más de una vez cada <code>action_threshold</code> segundos, a pesar del número de veces que la alerta sea disparada.
  
==== Modificar alertas desde el Submenu de Alertas ====
+
==== Modificar alertas desde el Submenú de Alertas ====
  
Una vez que se ha creado una alerta, es sólo posible modificar las acciones que se han añadido a la acción que tiene la plantilla.
+
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.
  
Es también posible suprimir la acción que fue seleccionada cuando has creado la alerta haciendo click en el icono de papelera gris que está a la derecha de la acción, o añadir nuevas acciones haciendo click en el botón "Añadir".
+
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".
  
<br>
+
[[Image:modifica.jpg|center|800px|Haga clic para ampliar]]
[[image:modifica.jpg|800px|center]]
 
<br>
 
  
 
==== Desactivar Alertas desde el Submenú de Alertas====
 
==== Desactivar Alertas desde el Submenú de Alertas====
  
Una vez se ha creado la alerta, es posible desactivarla haciendo click en el icono de bombilla que está a la derecha del nombre de la alerta.
+
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.
  
<br>
+
[[Image:desha.jpg|center|800px]]
[[image:desha.jpg|800px|center]]
 
<br>
 
  
 
==== Eliminar Alertas desde el submenú de Alertas====
 
==== Eliminar Alertas desde el submenú de Alertas====
  
Es posible eliminar cualquier alerta haciendo click en la papelera que está situada a la derecha de la alerta.
+
Es posible eliminar cualquier alerta haciendo clic en la papelera que está situada a la derecha de la alerta.
  
<br>
+
[[Image:filter.jpg|center|800px]]
[[image:filter.jpg|800px|center]]
 
<br>
 
  
 
=== Gestionar alertas desde el agente===
 
=== Gestionar alertas desde el agente===
Line 825: Line 606:
 
====Asignación de alertas desde el Agente====
 
====Asignación de alertas desde el Agente====
  
Desde la sección de administración del agente podemos añadir nuevas alertas navegando a la solapa correspondiente:
+
Desde la sección de administración del agente puede añadir nuevas alertas navegando a la solapa correspondiente:
 
 
<br>
 
[[image:wiz_agent_alerts.png|800px|center]]
 
<br>
 
  
Ahora vamos a detallar los campos disponibles en el formulario:
+
[[Image:wiz_agent_alerts.png|center|700px]]
  
*'''Module''': listado de módulos del agente.
+
;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.
+
;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.
+
;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.
+
;Threshold: Una acción de alerta no será ejecutada más de una vez cada <code>action_threshold</code> segundos, a pesar del número de veces que la alerta sea disparada.
  
 
==== Modificar alertas desde el Agente====
 
==== Modificar alertas desde el Agente====
Line 844: Line 621:
 
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".
 
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".
  
<center>
+
[[image:agent_edit_alerts.png|center|700px]]
[[image:agent_edit_alerts.png|800px]]
 
</center>
 
 
 
  
 
==== Desactivar alertas desde el Agente ====
 
==== Desactivar alertas desde el Agente ====
Line 853: Line 627:
 
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.
 
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.
  
<center>
+
[[image:wiz_agent_disable_alert.png|center|600px]]
[[image:wiz_agent_disable_alert.png]]
 
</center>
 
  
 
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)
 
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====
 
====Eliminar alertas desde el Agente====
Line 864: Line 635:
 
Es posible eliminar cualquier Alerta haciendo clic en el icono de la papelera que está a la derecha de la Alerta.
 
Es posible eliminar cualquier Alerta haciendo clic en el icono de la papelera que está a la derecha de la Alerta.
  
<center>
+
[[Image:wiz_agent_delete_alert.png|center|600px]]
[[image:wiz_agent_delete_alert.png]]
 
</center>
 
 
 
  
 
====Detalle de alertas====
 
====Detalle de alertas====
  
Al pulsar en el icono de la lupa en la botonera de las opciones de la alerta, accederemos a una página resumen de la configuración efectiva de la alerta.
+
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 podremos confirmar cada una de las configuraciones que hemos seleccionado para nuestra alerta:
+
Esta es la pantalla donde puede confirmar cada una de las configuraciones que ha seleccionado para la alerta:
  
  
<center>
+
[[Image:agent_alert_summary.png|center|700px]]
[[image:agent_alert_summary.png|800px]]
 
</center>
 
  
 
Seleccione del desplegable de acciones una acción específica para ver un ejemplo del comando final:
 
Seleccione del desplegable de acciones una acción específica para ver un ejemplo del comando final:
  
<center>
+
[[Image:agent_alert_summary_action.png|center|800px]]
[[image:agent_alert_summary_action.png]]
 
</center>
 
  
<br>
+
== Visión general de una alerta ==
  
== Definiendo un umbral==
+
=== Definiendo un umbral ===
  
En la siguiente captura vemos un módulo llamado ''CPU Load'' para el que vamos a definir un umbral crítico y warning.
+
Para un Módulo llamado '''CPU Load''' se definirá un umbral crítico y de advertencia.
  
<br>
+
[[Image:Cpu1.JPG|center|700px]]
[[Image:Cpu1.JPG|800px|center]]
 
<br>
 
  
Se accederá al formulario de edición del módulo para establecer los umbrales tal y como se muestra en la captura siguiente.
+
Acceda al formulario de edición del módulo para establecer los umbrales siguientes:
  
Es importante recordar que la modificación de módulos de tipo local solo está disponible desde la consola en la versión Enterprise, en caso contrario habrá que hacerlo directamente en el fichero de configuración del agente:
+
[[Image:CpuTwo.png|center|600px]]
  
<br>
+
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:
[[Image:Cpu2.JPG|800px|center]]
 
<br>
 
  
 +
[[Image:Cpu3.JPG|center|700px]]
  
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 tal y como vemos aquí:
+
=== Configurando la acción ===
  
<br>
+
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''':
[[Image:Cpu3.JPG|800px|center]]
 
<br>
 
  
== Configurando la acción ==
+
[[Image:Qgcpu5.png|center|800px]]
  
Ahora tenemos que crear una acción que sea "Enviar un email al operador". Accedemos al menú: ''Alertas'' > ''Acciones'' y hacemos clic en el botón para crear una nueva acción:
+
Esta acción utilizará el comando '''eMail''', y sus campos <code>Field 1</code>, <code>Field 2</code> y <code>Field 3</code> corresponderán a la dirección destino, el asunto del correo, y el cuerpo del mensaje.
  
<center>
+
=== Configurando la plantilla ===
[[Image:Qgcpu5.png|800px]]
 
</center>
 
  
Esta acción utilizará el comando "Enviar email", y sus campos Field1, Field2 y Field3 corresponderán a la dirección destino, el asunto del correo, y el cuerpo del mensaje.
+
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:'''
  
<br>
+
[[Image:Qgcpu6.png|center|600px]]
<br>
 
  
== Configurando la plantilla ==
 
  
Se creará una plantilla de alerta genérica para cualquier módulo en estado crítico, su acción por defecto será notificar mediante email al grupo de operadores. Definiremos la plantilla desde la sección ''Templates'':
+
La prioridad definida aquí ( '''Informative''' ) se utilizará para mostrar el evento en un color determinado cuando la alerta sea disparada.
  
[[Image:Qgcpu6.png|800px|center]]
+
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:'''
  
La prioridad definida aquí "Informational" se utilizará para mostrar el evento en un color determinado cuando la alerta sea disparada.
+
[[Image:Qgcpu7.png|center|700px]]
  
En el paso 2 se especifican 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.
+
;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.
  
[[Image:Qgcpu7.png|800px|center]]
+
;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.
  
Los parámetros más importantes en este paso son:
+
;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 <code>critical</code>) 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.
  
* 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. Utilizaríamos la condición ''Critical status'' para que la alerta fuese disparada al tener un módulo en estado crítico.
+
'''Paso 3:'''
  
* Default action: acción por defecto a ejecutar cuando se dispare la alerta. Es opcional.
+
[[Image:Qgcpu8.png|center|800px|Haga clic para ampliar]]
  
* Time threshold: tiempo durante el cual no se volverá a repetir la alerta si el estado incorrecto se mantiene de forma continua. Si lo dejamos en un día (24 horas), sólo nos enviará la alerta una vez cada 24h aún cuando el módulo permanezca más tiempo en estado incorrecto.
+
En la tercera sección intervienen los campos <code>Field1</code>, <code>Field2</code>, <code>Field3</code>, 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.
  
* Min. Número de alertas: El número mínimo de veces que se tendrá que dar la condición (en este caso, que el modulo esté en estado CRITICAL) antes de que Pandora FMS me ejecute las acciones asociadas a la plantilla de alerta. Con valor 0, la primera vez que el modulo esté mal, disparará la alerta.
+
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.
  
* Max. Numero de alertas: 1 significa que sólo ejecutará la acción una vez. Si tenemos aquí 10, ejecutará 10 veces la acción. Es una forma de limitar el número de veces que una alerta se puede ejecutar.
+
=== Asociando la alerta al módulo ===
  
En la sección 3 tenemos los campos Field1, Field2, Field3, etc. que como hemos explicado nos 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 tercera sección podemos 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.
+
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:
  
<center>
+
[[Image:Qgcpu9.png|center|750px]]
[[Image:Qgcpu8.png|800px]]
 
</center>
 
  
 +
Así ha finalizado la creación de una asociación entre el Módulo <code>cpu_user</code> y la plantilla de alerta '''Critical condition'''. Por defecto mostrará la acción que está definida en esa plantilla "''Enviar correo a XXX''".
  
<br>
+
=== Escalado de alertas ===
<br>
 
 
 
== Asociando la alerta al módulo ==
 
  
Ya tenemos todo lo que necesitábamos, ahora sólo tenemos que asociar la plantilla de alerta al módulo. Para ello vamos a la solapa de alertas dentro del agente donde está el módulo:
+
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).
  
<center>
+
Únicamente necesita añadir las acciones adicionales y determinar entre cuáles repeticiones consecutivas de la alerta va a ejecutar esta acción. Ejemplo:
[[Image:Qgcpu9.png|800px]]
 
</center>
 
  
Hemos creado una asociación entre el modulo "cpu_user" y la plantilla de alerta "Critical condition". Por defecto mostrará la acción que tenemos definida en esa pantilla "Enviar email a XXX".
+
[[Image:Alert1.JPG|center|500px]]
  
 +
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.
  
<br>
+
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.
<br>
 
  
== Escalado de alertas ==
+
=== Envío de mensajes de alerta por medio de mensajería instantánea ===
  
Una vez asociada una alerta completa a un módulo es posible añadir acciones adicionales que se ejecuten si la alerta se repite una cierta cantidad de veces de forma consecutiva. Es lo que llamamos escalado de alertas.  
+
# [https://es.wikipedia.org/wiki/Telegram 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 [https://www.youtube.com/watch?v=n1DTVY-U9eM «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 [[Pandora:QuickGuides_ES:Integracion_con_Telegram|"Integración con Telegram"]].<br><br><br>
 
 
Únicamente necesitaremos añadir las acciones adicionales y determinar entre qué repeticiones consecutivas de la alerta se va a ejecutar esta acción, tal y como vemos en la siguiente captura:
 
 
 
[[File:Alert1.JPG|center]]
 
 
 
 
 
Cuando una alerta se recupera, todas las acciones que se hayan ejecutado hasta ese momento se volverán a ejecutar, no sólo las que correspondan a la configuración de "Number of alerts match from" actual.
 
 
 
 
 
<br>
 
<br>
 
  
 
== Alertas en Standby ==
 
== Alertas en Standby ==
  
Las alertas pueden estar activadas, desactivadas o en standby. La diferencia entra 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 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.
+
Las alertas en ''standby'' son útiles para poder visualizarlas sin que molesten en otros aspectos.
 
 
<br>
 
<br>
 
  
 
== Protección en cascada ==
 
== 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 se 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 ser cierto.
+
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.
  
<br>
+
[[Image:Recursive_cascade_protection_ilustration.png|center|800px]]
[[image:Recursive_cascade_protection_ilustration.png|750px|center]]
 
<br>
 
  
La protección en cascada se activa desde la configuración del agente. Haga clic en la opción ''"protección en cascada"''. 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.
+
La protección en cascada se activa desde la configuración del Agente. Haga clic en la opción '''Cascade protection'''.
  
Esto no se aplica para alertas de módulos en estado WARNING o UNKNOWN.
+
[[Image:down1.jpg|center|800px]]
  
<br>
+
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 <code>warning</code> o <code>unknown</code>.
[[image:down1.jpg|800px|center]]
 
<br>
 
  
===Ejemplos ===
+
=== Ejemplos ===
  
Tiene los siguientes agentes:
+
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. Podemos también verificar la latencia hasta el router de nuestro proveedor.
+
* '''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: CPU, Memoria, verificación del proceso apache. También tiene un chequeo de latencia WEB de cuatro pasos.
+
*'''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 BBDD. También tiene verificación de la conectividad remota a otra base de datos, usando un plugin específico que se logea, hace una query y sale, midiendo el tiempo total.
+
*'''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.
+
En WEB SERVER y en DATABASE SERVER, definimos como padre a ROUTER. Activamos la casilla de ''cascade protection'' en WEBSERVER y DATABASE SERVER.
  
Ahora definimos varias alertas sencillas:
+
Con este escenario puede definir varias alertas:
  
 
*'''ROUTER'''
 
*'''ROUTER'''
Line 1,045: Line 779:
 
SQL LATENCY / CRITICAL > Action, send MAIL.
 
SQL LATENCY / CRITICAL > Action, send MAIL.
  
Si se cae la conexion del ROUTER, que es a través de donde pandora se conecta a WEB SERVER y DATABASE; sin activar la protección en cascada, recibiría seis alertas, trate de imaginar el efecto que ocasionaría esto si en vez de dos servidores, tiene doscientos. A este efecto se le conoce por "tormenta de eventos", en el peor escenario, puede tumbar su servidor de correo, el servidor de monitorización y su propio movil, inundándolo de SMS's.
+
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.
  
Si tiene la protección en cascada, solo recibiría una alerta, diciendo que la interfaz ATM del router está caida. Sin embargo yo vería los elementos de WEBSERVER y DATABASE SERVER en rojo, pero no me llegarían las alertas.
+
* 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.
  
<br>
 
 
=== Protección en cascada basada en servicios ===
 
=== Protección en cascada basada en servicios ===
  
A partir de la versión 7.0 OUM727, podemos utilizar los servicios para evitar que nos lleguen alertas de múltiples orígenes informando sobre la misma incidencia.
+
{{Tip|Versión NG 727 o superior.}}
<br>
 
Si activamos la protección en cascada basada en servicios, los elementos del servicio no notificarán problemas, sino que será el propio servicio quien alerte en nombre del elemento afectado.
 
 
 
  
Es decir, en la imagen siguiente:
+
Es posible utilizar los [[Pandora:Documentation_es:Servicios|Servicios]] para evitar que lleguen alertas de múltiples orígenes informando sobre una misma incidencia.
<br>
 
<center>
 
[[File:proteccion_cascada1.png]]
 
</center>
 
<br>
 
  
 +
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 <i>SoftwareA</i> entrara en estado crítico sin afectar al resto del servicio, el operador recibiría una alerta indicando que <i>SoftwareA</i> está caído, pero que el servicio <i>Service</i> está funcionando con normalidad.
+
[[Image:proteccion_cascada1.png|center|600px]]
  
En caso que <i>SoftwareA</i> afectara al funcionamiento del servicio, el operador recibirá una alerta en la que se indicará que <i>Service</i> está afectado por la caída de <i>SoftwareA</i>.
+
Si el elemento <code>192.168.10.149</code> entrara en estado crítico, sin afectar al resto del servicio, el operador recibiría una alerta indicando que <code>192.168.10.149</code> está caído, pero que el Servicio está funcionando con normalidad.
  
<br><br>
+
Para poder recibir esta información debe editar o crear una nueva plantilla de alerta, utilizando la macro <code>_rca_</code> para un análisis de causa raíz (''root cause analysis'').
Para poder recibir esta información deberemos editar o crear una nueva plantilla de alerta, utilizando la macro _rca_ <i>root cause analysis</i> (análisis de causa raíz).
 
  
 
  _rca_
 
  _rca_
  
A partir de Pandora FMS 7.0 OUM727, esta macro proporcionará al operador información del 'camino' afectado en el servicio.
+
Esta macro proporcionará al operador información del 'camino' afectado en el servicio.
  
<br>
+
[[File:proteccion_cascada2.png|center|600px]]
<center>
 
[[File:proteccion_cascada2.png]]
 
</center>
 
<br>
 
  
 +
Por ejemplo, el valor de la macro <code>_rca_</code> correspondiente al estado del servicio en la imagen sería:
  
Por ejemplo, el valor de la macro <i>_rca_</i> correspondiente al estado del servicio en la imagen sería:
+
[Service -> web_service -> 192.168.10.149]
  
[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 [[Pandora:Documentation_es:Servicios|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.
  
Aunque el estado del servicio sería correcto.
+
=== Protección en cascada basada en módulos ===
  
<b>Observación</b>: 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 nos permite ver qué elementos están afectando a mi servicio.
+
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.
  
<br><br>
+
[[Image:alerta-modulo.png|center|700px]]
  
== Modo de operación seguro (Version >= 7.0)  ==
+
== Modo de operación seguro ==
  
<center>
+
[[Image:safe_operation_mode.png|center|700px]]
[[image:safe_operation_mode.png]]
 
</center>
 
  
El modo de operación seguro se puede habilitar en las opciones de configuración avanzadas de un agente.
+
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.
+
Si el estado del Módulo seleccionado pasa a <code>critical</code>, el resto de Módulos del Agente se deshabilitan hasta que vuelva a <code>normal</code> o <code>warning</code> de nuevo. Esto permite, por ejemplo, deshabilitar Módulos remotos si se pierde la conectividad.
  
 
== Lista de días especiales ==
 
== Lista de días especiales ==
Line 1,110: Line 833:
 
=== Crear un día especial ===
 
=== Crear un día especial ===
  
Los nuevos días especiales se crean en el apartado "Alerts" -> "List of special days", haciendo clic en el botón de "Más" o en "Create", debajo del calendario.
+
Los nuevos días especiales se crean en el apartado '''Alerts''' -> '''List of special days''', haciendo clic en el botón '''Create''', debajo del calendario.
  
<br>
+
[[Image:creating_special_day61-1.png|center|800px]]
<br>
+
 
<center>
+
Una vez que se ha hecho clic en uno de ellos rellene los siguientes parámetros:
[[image:creating_special_day61-1.png|800px]]
+
 
</center>
+
[[image:creating_special_day2.png|center|430px]]
<br>
+
 
<br>
+
;Date: La fecha del día especial. El formato es <code>YYYY-MM-DD</code>. Para establecer el mismo día todos los años, puede utilizar <code>*-MM-DD</code>.
 +
;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''' ([[Pandora:Documentation_es:Gestion_y_Administracion#El_Grupo_.22All.22_.28Todos.2FCualquiera.29|'''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 que se ha hecho clic en uno de ellos, aparecerá una pantalla como esta:
+
Una vez los campos hayan sido seleccionados, haga clic en el botón '''Create'''.
  
<br>
+
'''Ejemplo práctico 1''':
<br>
 
<center>
 
[[image:creating_special_day2.png|800px]]
 
</center>
 
<br>
 
<br>
 
  
Los apartados a rellenar son los siguientes:
+
Considerando el 1 de mayo de 2021 como un día especial. Si se define <code>2021-05-01</code> como '''Sunday''', ese día será tratado como si fuera un domingo en vez del día de semana que corresponde en el calendario.  
* '''Date''': La fecha del día especial. El formato es YYYY-MM-DD. Para establecer el mismo día todos los años, puede utilizarse "*" en YYYY.
 
* '''Group''': Aquí se selecciona el grupo al que se le aplica el día especial.
 
* '''Same day of the week''': Seleccione un día. La fecha del apartado "Date" será tratado igual que este día de la semana.
 
* '''Description''': Descripción del día especial.
 
  
Por ejemplo, supongamos que el 2 de mayo de 2017 es un día especial. Si definimos "2017-05-02" como "Domingo", ese día será tratado como si fuera un domingo. Teniendo en cuenta que las plantillas tienen opciones de configuración y actuarán de una u otra forma en función del día de la semana, esto nos servirá para que se comporten del modo que queramos.
+
'''Ejemplo práctico 2''':
  
'''Ejemplo práctico'''
+
Considerando el 1 de mayo de todos los años como un día especial. Si se define <code>*-05-01</code> como '''Sunday''', ese día será tratado como si fuera un domingo en vez del día de semana que corresponde en el calendario.
  
Tenemos una plantilla que nos 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 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.
+
'''Ejemplo práctico 3''':
  
Una vez los campos hayan sido seleccionados, hacemos clic en el botón "Create".
+
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 ===
 
=== Crear días especiales masivamente usando un archivo .ics ===
Line 1,149: Line 864:
 
Una vez importados, se registrarán los datos correspondientes en el mes actual.
 
Una vez importados, se registrarán los datos correspondientes en el mes actual.
  
<br>
+
[[Image:creating_special_day_ics.png|center|800px]]
<br>
 
<center>
 
[[image:creating_special_day_ics.png|800px]]
 
</center>
 
<br>
 
<br>
 
  
 
=== Editar un día especial ===
 
=== 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".
+
Es posible crear los días especiales creados en la opción '''List of special days''' en el apartado '''Alerts'''.
  
<br>
+
[[Image:editing_special_day61-1.png|center|800px]]
<br>
 
<center>
 
[[image:editing_special_day61-1.png|800px]]
 
</center>
 
<br>
 
<br>
 
  
 
Para editar un día especial, haga clic en el icono de la llave inglesa junto al día especial que corresponda.
 
Para editar un día especial, haga clic en el icono de la llave inglesa junto al día especial que corresponda.
  
<br>
+
[[Image:editing_special_day2.png|center|500px]]
<br>
 
<center>
 
[[image:editing_special_day2.png|800px]]
 
</center>
 
<br>
 
<br>
 
  
Una vez que se hayan realizado los cambios, haga clic en el botón "Update" para confirmarlos.
+
Una vez que se hayan realizado los cambios, haga clic en el botón '''Update''' para confirmarlos.
  
 
=== Eliminar un día especial ===
 
=== Eliminar un día especial ===
Line 1,185: Line 882:
 
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.
 
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.
  
<br>
+
[[image:deleting_special_day61.png|center|800px]]
<br>
 
<center>
 
[[image:deleting_special_day61.png|800px]]
 
</center>
 
<br>
 
<br>
 
  
 
== Ejemplos de alertas completas ==
 
== Ejemplos de alertas completas ==
Line 1,197: Line 888:
 
=== Envío de alertas por SMS ===
 
=== Envío de alertas por SMS ===
  
En este ejemplo, vamos a ver algo muy frecuente: cómo enviar un SMS cuando algo ocurra o esté a punto de suceder.
+
Debe tener instalada una herramienta que permita el envío de SMS como '''smstools'''
 
 
Debe tener instalada una herramienta que permita el envío de SMS como smstools
 
  
Supongamos que tenga configurado su cuenta de SMS. Corra el comando:
+
Al tener configurada su cuenta de SMS, ejecute el comando:
  
  
 
  > sendsms  
 
  > sendsms  
  
Debe indicar dos parámetros: <destination> 'Full message'.
+
Debe indicar dos parámetros, destino y mensaje:
No olvide enviar el mensaje con comillas simples (''), y ponga el número de destino
 
con código internacional ('''34'''6276226223 para teléfonos españoles, por ejemplo).
 
  
 +
<destination> 'Full message'
  
Ahora podremos usar el ''"comando de alerta"'' en la interfaz de administración de Pandora FMS.
+
Coloque el número destino de manera completa (ej. '''34'''6276226223 para teléfonos en España) y el texto del mensaje entre comillas simples ( <code>'</code> y <code>'</code>).
  
  
<br><br>
+
De esta manera puede utilizar un '''comando''' para la alerta a crear en la interfaz de administración de Pandora FMS.
<center>
 
[[Image:Smsalert_sample1.png|800px]]
 
</center>
 
<br><br>
 
  
 +
[[Image:Smsalert_sample1.png|center|800px]]
  
En este comando, enviamos "346666666666" como fuente del mensaje.Podemos usar una palabra (alfanumérica), pero algunos operadores de móviles  no gestionan bien las ID's alfanuméricas. Field1 y Field2 se utilizarán para definir el comando behaviour. En la foto del teléfono móvil qeue recibe el SMS utilizo una cadena de identificación :"Aeryn". EL field1 será el teléfono de destino, y el field2 el texto, defnido en la Acción de las alertas.
+
Para este comando el campo 1 <code>Field&nbsp;1</code> será el número de teléfono destino y el campo 2 <code>Field&nbsp;2</code> 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 defina la acción de la alerta. Esta ejecuta el comando previamente definido,reemplazando field1 y field2 con valores personalizados.En este caso en concreto, la alerta de plantilla no pone ningún dato en el SMS; toda la información es definida en Alert Action.
+
Ahora configure la '''acción''' para ese '''comando''':
 
<br><br>
 
<center>
 
[[Image:Smsalert_sample3.png|800px]]
 
</center>
 
<br><br>
 
  
Field1 sería nuestro número de teléfono. En Field2 está el mensaje de texto. Utilizamos aquí unas pocas macros, que serán reemplazadas en el transcurso del tiempo, cuando se produzca la alerta.
+
[[Image:Smsalert_sample3.png|center|700px]]
  
Paso final: vamos a crear una Plantilla de Alerta (sáltese esto si ya tiene una válida). Queremos crear una Plantilla de Alerta muy sencilla, sólo para "disparar" cuando un modulo sea CRITICO. Esta alerta se disparará 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.
+
Esta acción ejecuta el '''comando''' previamente definido, reemplazando <code>Field&nbsp;1</code> y <code>Field&nbsp;2</code> con valores personalizados. El <code>Field&nbsp;1</code> será el teléfono de destino ("346666666666" en el ejemplo de la figura anterior), y el <code>Field&nbsp;2</code> el texto definido esta acción ("Hola" en el ejemplo de la figura anterior).
  
 +
{{Tip|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.}}
  
<br><br>
+
En el siguiente paso bien puede utilizar una Plantilla de Alerta existente o crear una nueva:
<center>
 
[[Image:Smsalert_sample5.png|800px]]
 
</center>
 
<br><br>
 
  
<br><br>
+
[[Image:Smsalert_sample5.png|center|700px]]
<center>
 
[[Image:Smsalert_sample6.png|800px]]
 
</center>
 
<br><br>
 
  
Ahora, sólo tiene que asignar un módulo con una plantilla de alerta y una acción de alerta:
+
En este caso la plantilla de alerta sólo se "disparará" cuando un módulo esté en estado <code>critical</code>.
  
 +
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.
  
<br><br>
+
[[Image:Smsalert_sample6.png|center|750px]]
<center>
 
[[Image:Smsalert_sample4.png|800px]]
 
</center>
 
<br><br>
 
  
Para tener este campo de alerta, el módulo deberá estar en CRITICAL. En la siguiente captura, revisaré la configuración del módulo para ver si su umbral CRITICAL está definido. Si no lo  está, la alerta nunca se disparará porque está esperando tener un status CRITICAL. En mi caso, lo he fijado a 20. Cuando se recibe un valor menor, el módulo pasará a CRITICAL y la alerta se disparará.
+
Ahora solo resta asignar un Módulo con una plantilla de alerta y una acción de alerta:
  
 +
[[Image:Smsalert_sample4.png|center|800px]]
  
<br><br>
+
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:
<center>
 
[[Image:Smsalert_sample7.png|800px]]
 
</center>
 
<br><br>
 
  
Todo listo. Ya podemos "forzar" la alerta para ejecutarla y testearla. Para forzar la alerta, vaya a la vista de alerta del agente y haga clic en el icono circular verde.
+
[[Image:Smsalert_sample7.png|center|800px]]
  
<br><br>
+
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.
<center>
 
[[Image:Smsalert_sample8.png|800px]]
 
</center>
 
<br><br>
 
  
Un SMS podrá aparecer en mi teléfono móvil, como muestra la siguiente foto. Obtuve datos "N/A" porque, cuando fuerzas la alerta, no se recibe ningún dato real por parte del módulo.
+
[[Image:Smsalert_sample8.png|700px]]
  
 +
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''.
  
<br><br>
+
[[Image:Smsalert_sample9.png|center|600px]]
<center>
 
[[Image:Smsalert_sample9.png]]
 
</center>
 
<br><br>
 
  
 
=== Utilizando comandos de alertas distintos del email ===
 
=== Utilizando comandos de alertas distintos del email ===
  
El email, como comando es interno a Pandora FMS y no se puede configurar, es decir, field1, field2 y field3 son campos que están definidos que se usan como destinatario, subject y texto del mensaje. Pero, ¿que ocurre si yo quiero ejecutar una acción diferente, definida por mi?.
+
{{Warning|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, <code>Field&nbsp;1</code>, <code>Field&nbsp;2</code> y <code>Field&nbsp;3</code> 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?
  
Vamos a definir un nuevo comando, algo totalmente definido por nosotros. Imaginemos que queremos generar un fichero log con cada alerta que encontremos. El formato de ese fichero log tiene que ser algo como:
+
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
 
  FECHA_HORA - NOMBRE_AGENTE - NOMBRE_MODULO - VALOR - DESCRIPCION DEL PROBLEMA
  
Donde VALOR es el valor del modulo en ese momento. Habrá varios ficheros log, dependiendo de la acción que llame al comando. La acción definirá la descripcion y el fichero al que van los eventos.
+
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 vamos a crear un comando como sigue:
+
Para ello, primero debe crear un comando como sigue:
  
<center>
+
[[Image:Qgcpu11.png|center|800px]]
<br>
 
[[Image:Qgcpu11.png|800px]]
 
<br>
 
</center>
 
  
Y vamos a definir una acción:
+
Y definir una acción para el mismo:
  
<center>
+
[[Image:Qgcpu12.png|center|700px]]
<br>
 
[[Image:Qgcpu12.png|800px]]
 
<br>
 
</center>
 
  
Si vemos el fichero de log que hemos creado:
+
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
 
  2010-05-25 18:17:10 - farscape - cpu_user - 23.00 - Custom log alert #1
  
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 descripcion que pusimos al definir la acción.
+
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.  
 
 
Dado que la ejecución del comando, el orden de los campos y otros asuntos pueden hacer que no entendamos bien cómo se ejecuta al final el comando, lo más sencillo es activar las trazas de debug del servidor de pandora (verbose 10) en el fichero de configuracion de pandora server en /etc/pandora/pandora_server.conf, reiniciemos el servidor (/etc/init.d/pandora_server restart) y que miremos el fichero ''/var/log/pandora/pandora_server.log'' buscando la línea exacta con la ejecución del comando de la alerta que hemos definido, para ver como el servidor de Pandora FMS está lanzando el comando.
 
  
 +
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 <code>/etc/pandora/pandora_server.conf</code>. A continuación reinicie el servidor con la orden <code>/etc/init.d/pandora_server&nbsp;restart</code> y examine el fichero <code>/var/log/pandora/pandora_server.log</code> buscando la línea exacta con la ejecución del comando de la alerta que ha definido.
  
 
==== Ejemplo completo de alerta con macros de sustitución ====
 
==== 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:
+
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
 
2009-12-24 00:12:00 pandora [CRITICAL] Agent <agent_name> Data <module_data> Module <module_name> in CRITICAL status
  
'''Configuracion del comando'''
+
'''Configuración del comando'''
  
 
  echo _timestamp_ pandora _field2_ >> _field1_
 
  echo _timestamp_ pandora _field2_ >> _field1_
Line 1,345: Line 997:
 
  Field3 = <En blanco>
 
  Field3 = <En blanco>
  
Asi al ejecutar una alerta, se insertaría la siguiente linea en el LOG:
+
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
 
  2009-10-13 13:37:00 pandora [CRITICAL] Agent raz0r Data 0.00 Module Host Alive in CRITICAL status
Line 1,355: Line 1,007:
 
== Macros personalizados de alerta de módulo ==
 
== Macros personalizados de alerta de módulo ==
  
Se puede añadir cualquier número de macros a un módulo de agente.
+
Es posible añadir cualquier número de macros ('''Custom macros''') a un Módulo de Agente.
  
<center><br><br>
+
[[Image:Add_module_macros.png|center|800px]]
[[image:Add_module_macros.png|center|800px]]
 
</center><br><br>
 
  
Estas macros tienen las siguientes características:
+
Estas macros personalizadas tienen las siguientes características:
<ul>
+
 
<li>Se definen en el modulo.</li>
+
* Se definen en el Módulo.
<li>Almacenan los datos en la BBDD</li>
+
* Almacenan los datos en la base de datos.
<li>Pueden tener cualquier nombre, p.e: _pepito</li>
+
* Pueden tener cualquier nombre, ej. <code>_pepito</code>.
<li>No se reflejan en la configuracion local (.conf)</li>
+
* No se reflejan en la configuración local (<code>.conf</code>).
<li>Se usan exclusivamente para las alertas.</li>
+
* Se usan exclusivamente para las alertas.
<li>No se pueden definir a nivel de componente.</li>
+
* No se pueden definir a nivel de componente.
<li>Se pueden definir en las politicas.</li>
+
* Se pueden definir en las políticas.
</ul>
 
  
 
Estas macros especificas se pueden añadir expandiendo la sección de macros de cualquier módulo.  
 
Estas macros especificas se pueden añadir expandiendo la sección de macros de cualquier módulo.  
  
<center><br><br>
+
[[image:Module macros.png|center|600px]]
[[image:Module macros.png|center|800px]]
 
</center><br><br>
 
  
 
Los valores establecidos pueden ser utilizados como parte de los campos en la definición de alertas.
 
Los valores establecidos pueden ser utilizados como parte de los campos en la definición de alertas.
Por Ejemplo:
 
Para incluir una macro a la acción de envió de correo electrónico es necesario configurar el campo de cuerpo del mensaje de la siguiente manera: 
 
  
<center><br><br>
+
'''Ejemplo:'''
[[image:Campos alertas.png|center|400px]]
+
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:
</center><br><br>
 
  
Si un modulo 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.
+
[[Image:Campos alertas.png|center|400px]]
  
== Alertas de eventos y correlación ==
+
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.
  
Existe un [[Pandora:Documentation_es:Eventos#Alertas_de_eventos._Correlaci.C3.B3n_de_eventos|Capítulo específico ]] para tratar este tema
+
== Configuración de correos para alertas en Pandora FMS ==
  
[[Pandora:Documentation|Go back to Pandora FMS documentation index]]
+
Pandora FMS por si sola tiene la facultad de enviar correos electrónicos tal como se explica en la [[Pandora:Documentation_es:Configuracion_Consola#General_Setup|configuración general de la Consola]].
  
[[Category:Pandora FMS]]
+
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 ([https://es.wikipedia.org/wiki/Gmail Gmail]) proceda a la [[Pandora:Documentation_es:Configuracion_Consola#General_Setup|configuración general de la Consola]] o a la configuración del [[Pandora:Documentation_es:Configuracion#mta_address|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''':
 +
 
 +
[[Image:GMAIL1.png|center|800px]]
 +
 
 +
===== 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:
 +
 
 +
[[Image:GMAIL2.png|center|800px]]
 +
 
 +
Una vez que salta la alerta se podrá verificar cómo llega al correo elegido en la acción:
 +
 
 +
[[Image:GMAIL3.png|center|700px]]
 +
 
 +
[[Image:GMAIL4.png|center|700px]]
 +
 
 +
=== Configuración de correo con cuenta Office365 ===
 +
 
 +
Pandora FMS puede utilizar [https://es.wikipedia.org/wiki/Microsoft_Office_365 Office365] por medio de la siguiente configuración:
  
 +
* Debe tener una cuenta creada en Office365.
  
== Guía rápida de configuración de correos para alertas en Pandora FMS ==
+
* Proceda a la [[Pandora:Documentation_es:Configuracion_Consola#General_Setup|configuración general de la Consola]] o a la configuración del [[Pandora:Documentation_es:Configuracion#mta_address|servidor de Pandora FMS]] y coloque sus credenciales (dominio web Office365, nombres de usuario, contraseña, etcétera).
  
=== Configuración de correo con cuenta Gmail ===
+
== Correlación de alertas: alertas en eventos y logs ==
  
Para que el servidor de Pandora pueda mandar las alertas mediante correo de cuenta Gmail necesitamos tener configurado Pandora y Postfix del siguiente modo:
+
{{Tip|Versión NG 741 o superior.}}
  
==== Configuración Pandora ====
+
Con Pandora FMS se pueden construir alertas basándonos en los eventos recibidos o en los datos recogidos con el [[Pandora:Documentation_es:Monitorizacion_logs|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.
  
Para configurar correctamente el correo con una cuenta de Gmail en el archivo de configuración del servidor de Pandora (/etc/pandora/pandora_server.conf) tienen que estar comentados todos los campos excepto el mta_address que lo configuraremos con localhost o la ip del servidor donde se encuentre el servidor postfix instalado.
+
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.
  
Si tenemos instalado Postfix en el mismo servidor que Pandora la configuración en el pandora_server.conf sería esta:
+
Las alertas de eventos y/o ''logs'' se basan en reglas de filtrado que emplean los siguientes operadores lógicos:
  
mta_address localhost
+
*<code>and</code>
#mta_port 25
+
*<code>or</code>
+
*<code>xor</code>
#mta_pass mypassword
+
*<code>nand</code>
#mta_auth LOGIN
+
*<code>nor</code>
#mta_from Pandora FMS <[email protected]>
+
*<code>nxor</code>
  
 +
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.
  
A continuación veremosr un pequeño resumen de la configuración de una alerta en la consola de Pandora.
+
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.
  
===== Configuración de Acción =====
+
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 [https://www.youtube.com/watch?v=EMufOan-iEw&t=132 «Novedades release 741 Pandora FMS»].
  
Para configurar el destinatario de correo usamos la acción Mail to XXX para añadir un destinatario de correo al que se enviaran todos los correos de las alertas.
+
{{Tip|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 <code>pandora_server.conf</code> mediante el parámetro <code>event_window</code> y <code>log_window</code>. 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.}}
  
<center>
+
{{Warning|A la hora de definir alertas sobre eventos será imprescindible indicar los parámetros <b>agente</b>, <b>módulo</b> y <b>evento</b>.}}
 
<br>
 
<br>
[[Image:GMAIL1.png|800px]]
+
=== Creación de alertas de correlación ===
<br>
+
 
</center>
+
{{Warning|Para que funcionen las alertas de correlación de eventos hay que activar el servidor de correlación de eventos con el parámetro <code>eventserver 1</code> en el fichero de configuración del servidor de Pandora FMS.}}
 +
 
 +
==== Alertas de correlación y plantillas ====
  
===== Configuración de la Alerta =====
+
Para configurar una alerta correlacionada se tendrá que acceder a través del menú al apartado '''Alert correlation'''.
  
En este caso se ha generado en la configuración del ''módulo > Alertas'', una nueva alerta con el módulo que podéis ver en la captura.
+
[[Image:alertaslog2.png|center|500px]]
  
<center>
+
En esta vista global podemos observar los campos:
<br>
 
[[Image:GMAIL2.png|800px]]
 
<br>
 
</center>
 
  
Una vez que salta la alerta observamos como llegará al correo elegido en la acción:
+
[[Image:alertaslogprin.PNG|center|800px]]
  
<center>
+
;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.
<br>
+
;Name: Nombre de la alerta.
[[Image:GMAIL3.png|800px]]
+
;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''' ([[Pandora:Documentation_es:Gestion_y_Administracion#El_Grupo_.22All.22_.28Todos.2FCualquiera.29|'''ALL''']]).
<br>
+
;Matched: Cuántas veces se ha detectado un evento que coincida con la regla de disparo en el '''threshold''' actual.
</center>
+
;Triggered: Cuántas veces se ha lanzado la alerta en el '''threshold''' que se haya configurado.
<center>
+
;Action: Muestra las acciones configuradas en la alerta.
<br>
+
;Options''': Permite operar con la acción deshabilitada, en modo '''standby''', añadir más acciones, editar o eliminar la alerta correlacionada.
[[Image:GMAIL4.png|800px]]
 
<br>
 
</center>
 
  
==== Configuración Postfix ====
+
Proceda a crear una regla y defina su comportamiento ( el proceso es similar a la creación de '''Alert Templates'''):
  
Asumiendo que ya tiene instalado Postfix en su servidor y todo funciona correctamente excepto el envío de mail via gmail, debe seguir estos pasos:
+
[[Image:alertaslog12.PNG|center|600px]]
  
1-- Editar el fichero /etc/postfix/main.cf y añadir las siguientes líneas al final del archivo:
+
[[Image:alertaslog13.PNG|center|800px]]
  
relayhost = [smtp.gmail.com]:587
+
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:
smtp_sasl_auth_enable = yes
 
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
 
smtp_sasl_security_options = noanonymous
 
smtp_use_tls = yes
 
smtp_tls_CAfile = /etc/postfix/cacert.pem
 
  
2-- Crear el archivo /etc/postfix/sasl/passwd con su dirección de gmail y contraseña ( debe crear el directorio "sasl" y despues crear el fichero passwd aqui).
+
*'''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.
  
Crear el directorio “sasl”:
+
{{Warning|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.'''}}
  
mkdir /etc/postfix/sasl
+
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.
  
To create the passwd file:
+
==== Reglas dentro de una alerta de correlación ====
  
nano /etc/postfix/sasl/passwd
+
Puede obtener más información en el vídeo tutorial [https://www.youtube.com/watch?v=bb1IdPuc_WE&t=2935s «Novedades de Pandora FMS»].
  
Añade la siguiente linea en el fichero con su propia dirección de gmail y contraseña:
+
[[Image:alertaslog14.PNG|center|400px]]
  
[smtp.gmail.com]:587 [email protected]:PASSWORD
+
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.  
  
Protegerlo adecuadamente mediante:
+
'''Elementos de configuración disponibles:'''
  
chmod 600 /etc/postfix/sasl/passwd
+
[[Image:alertaslog3.png|center|750px]]
  
Esto permitirá que solo usuarios root accedan al fichero
+
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:
  
3-- Transformamos /etc/postfix/sasl/passwd a un fichero indexado de tipo hash mediante la instrucción:
+
S -> R | R + NEXO +R
 +
R -> CAMPO + OPERADOR + C | CAMPO + OPERADOR + C + MODIFICADOR
 +
C -> VARIABLE
  
postmap /etc/postfix/sasl/passwd
+
Donde '''S''' es el conjunto de reglas definidas para la alerta correlacionada.
  
Lo que creará el fichero /etc/postfix/sasl/passwd.db
+
Será necesario arrastrar el elemento sobre el área de definición de reglas:
  
4-- Ahora instalaremos los certificados de Gmail y Equifax. La Appliance de Pandora FMS no tiene estos certificados por defecto. Si ya tiene estos certificados instalados puede saltar este punto.
+
[[Image:alertaslog4.png|center|400px]]
  
Para instalar el certificado de Gmail siga estos pasos:
+
De tal forma que la imagen sea parecida a esta por ejemplo:
  
El certificado SSL Google está firmado por Equifax - lo primero que necesitamos a buscarlo.
+
[[Image:alertlogrule.png|center|800px]]
Nos movemos al directorio “tls”:
 
  
cd /etc/pki/tls/
+
{{Tip|En los operadores de comparación <code><nowiki>==</nowiki></code> y <code><nowiki>!=</nowiki></code> se comparan literalmente las cadenas de texto. Para mayor flexibilidad considere utilizar el operador <code>REGEX</code> el cual emplea [https://es.wikipedia.org/wiki/Expresi%C3%B3n_regular Expresiones Regulares].}}
  
Descargamos el certificado Equifax.
+
Para limpiar y deshacer todos los cambios se dispone de dos botones: '''Cleanup''' y '''Reset'''.
  
sudo wget -O Equifax_Secure_Certificate_Authority.pem https://www.geotrust.com/resources/root_certificates/certificates/Equifax_Secure_Certificate_Authority.cer
+
{{Warning|Solamente guardará los cambios cuando pulse el botón siguiente ('''Next''').}}
  
Añadimos los permisos al fichero descargado:
+
{{Tip|'''Recuerde''': Los bloques tienen simultaneidad a la hora de cumplir la condición. Observe los siguientes ejemplos teóricos.}}
  
  chmod 644 Equifax_Secure_Certificate_Authority.pem
+
  (A and B)
  
También necesitamos solicitar la firma para el certificado:
+
Obliga a que el elemento analizado (sea evento o log) cumpla simultáneamente A y B.
  
  openssl x509 -in Equifax_Secure_Certificate_Authority.pem -fingerprint -subject -issuer -serial -hash -noout
+
  A and B
  
Instalamos a continuación el certificado de Gmail. Lo primero que necesitamos es la utilidad c_rehash, instalando este paquete:
+
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 <code>log_window</code> y <code>event_window</code>) entradas que satisfagan ambas reglas.
  
yum install openssl-perl
+
==== Fields dentro de una alerta de correlación ====
  
Si no tiene en ninguno de los repositorios este paqute, siguiendo estos pasos resolverá el problema:
 
  
  sudo su
+
En la sección anterior [[Pandora:Documentation_es:Alertas#Flujo_de_informaci.C3.B3n_en_el_sistema_de_alertas|"Sistema de alertas"]] se explica con mayor detalle el funcionamiento de los campos en alertas.<br><br><br>
  nano /etc/yum.repos.d/extra_repos.repo
 
  In the #percona repository I changed the baseurl line to: http://repo.percona.com/centos/6/os/x86_64/
 
  ^O to write the edited file
 
  ^x to exit
 
  After returning to root terminal, enter "yum install openssl-perl" and accept the defaults
 
  
Lo siguiente que necesitamos es adquirir realmente el certificado para GMail. Usando openssl lo hacemos así:
+
==== Triggering dentro de una alerta de correlación ====
  
openssl s_client -connect pop.gmail.com:995 -showcerts
+
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.
  
La salida debe contener las líneas requeridas para el certificado y tenemos que copiarlos a /etc/pki/tls/gmail.pem archivo. Para ello, cree el archivo:
+
[[Image:globaltriggering.png|center|780px]]
  
nano /etc/pki/tls/gmail.pem
+
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.
  
y pegamos estas lineas en el mismo:
 
  
-----BEGIN CERTIFICATE-----
+
[[Image:configactionsalert.png|center|700px]]
MIIDWjCCAsOgAwIBAgIKYgy3qQADAAAJ5zANBgkqhkiG9w0BAQUFADBGMQswCQYD
 
VQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu
 
dGVybmV0IEF1dGhvcml0eTAeFw0wOTA3MTcxNzE2NTVaFw0xMDA3MTcxNzI2NTVa
 
MGcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N
 
b3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRYwFAYDVQQDEw1wb3Au
 
Z21haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTHqjJfnRXdpmZ
 
4iP/WNCpvzX4N97bEZ3rvS4aDYey/DJetKZqp9DK1Ie4/C5j8M1aakwiTNA/eHS/
 
wNWVgQx8+HxproYKUeeYj3shYKEkHGfrRYBcyCxc7Gd6NSGaaYru3Z7nJ+STIPUJ
 
E1N35JAwcjjdITVI2O4LckAL4b7GkwIDAQABo4IBLDCCASgwHQYDVR0OBBYEFIln
 
0T5I8Mw6cqhtUS4pyMGYRxOTMB8GA1UdIwQYMBaAFL/AMOv1QxE+Z7qekfv8atrj
 
axIkMFsGA1UdHwRUMFIwUKBOoEyGSmh0dHA6Ly93d3cuZ3N0YXRpYy5jb20vR29v
 
Z2xlSW50ZXJuZXRBdXRob3JpdHkvR29vZ2xlSW50ZXJuZXRBdXRob3JpdHkuY3Js
 
MGYGCCsGAQUFBwEBBFowWDBWBggrBgEFBQcwAoZKaHR0cDovL3d3dy5nc3RhdGlj
 
LmNvbS9Hb29nbGVJbnRlcm5ldEF1dGhvcml0eS9Hb29nbGVJbnRlcm5ldEF1dGhv
 
cml0eS5jcnQwIQYJKwYBBAGCNxQCBBQeEgBXAGUAYgBTAGUAcgB2AGUAcjANBgkq
 
hkiG9w0BAQUFAAOBgQCEGIebkDpktdjtzMiTTmEiN7e4vc73hEI4K0jYKyY0Wn5N
 
dc44AXTfIWOzsikwb886PCUSevGs9rcw2/kaHdPaBSuGrzSCf8ODQqTC3odry3lo
 
PtZGr6nf/81F5UW71+bE1iWOQlJ5/olWOr2SlqYla1iOmosEctD/GyoFnDh+BA==
 
-----END CERTIFICATE-----
 
  
Ejecutamos la utilidad c_rehash:
+
Configure las acciones mediante los campos:
  
cd /etc/pki/tls
+
;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.
  
y
+
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.
  
c_rehash
+
==== Múltiples alertas correlacionadas ====
  
Finalmente lo testeamos con la siguiente ejecución:
+
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.
  
openssl s_client -connect pop.gmail.com:995 -CApath /etc/pki/tls
+
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''.  
  
El punto importante es verificar el código de retorno: 0 (ok), y permiso definitivo Gpop ready. Si usted los consigue, entonces puede conectarse a Gmail.
+
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.  
  
Creamos el archivo Equifax_secure_CA.pem:
+
Por ejemplo:  
  
nano /etc/ssl/certs/Equifax_Secure_CA.pem
+
*Alerta genérica.
 +
*Alerta específica.  
  
Pegamos las siguientes líneas:
+
Si la alerta genérica falla, no es necesario evaluar la específica. Configure ambas con '''DROP'''.
  
-----BEGIN CERTIFICATE-----
+
Pulse sobre el icono de ordenación y arrastre para cambiar el orden de evaluación de las reglas.
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
 
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
 
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
 
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
 
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
 
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
 
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
 
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
 
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
 
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
 
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
 
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
 
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
 
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
 
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
 
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
 
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
 
-----END CERTIFICATE-----
 
  
Guardamos y salimos
+
[[Image:alertaslog9.png|center|800px]]
  
Con el fin de añadir la autoridad Equifax certificar, que certifica correos electrónicos de Gmail, en el archivo de certificado que utiliza postfix, ejecute el siguiente comando en una consola como root:
+
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.
  
cat /etc/ssl/certs/Equifax_Secure_CA.pem > /etc/postfix/cacert.pem
+
==== Macros alerta de evento ====
  
5-- Finalmente, reiniciamos postfix para aplicar los cambios, así:
+
Las macros que se pueden utilizar dentro de la configuración de una alerta de evento están en la [[Pandora:Documentation_es:Alertas#Lista_de_macros|lista de macros]] al final de este capítulo.<br><br><br>
  
/etc/init.d/postfix restart
+
== Lista de macros ==
  
6-- Podemos comprobar el funcionamiento abriendo dos consolas. En una ejecutaremos el siguiente comando para monitorear el comportamiento del correo:
+
Las '''Macros de comandos''', '''Macros de acciones''' y '''Macros alerta de evento''' son comunes entre sí pero con las siguientes <code>excepciones _modulelaststatuschange_</code> <code>_rca_</code> y <code>_secondarygroups_</code>
  
tail -f /var/log/maillog
+
;<code>_address_</code>: Dirección del Agente que disparó la alerta.
 +
;<code>_address_n_ </code>: La dirección del Agente que corresponde a la posición indicada en '''n'''. Ejemplo: <code>address_1_</code> , <code>address_2_</code>
 +
;<code>_agent_</code>: Alias del Agente que disparó la alerta. Si no tiene asignado alias, se usa el nombre del Agente.
 +
;<code>_agentalias_</code>: Alias del Agente que disparó la alerta.
 +
;<code>_agentcustomfield_n_</code>: Campo personalizado número '''n''' del Agente (ej. <code>_agentcustomfield_9_</code> ).
 +
;<code>_agentcustomid_</code>: Identificador personalizado del Agente.
 +
;<code>_agentdescription_</code>: Descripción del Agente que disparó la alerta.
 +
;<code>_agentgroup_ </code>: Nombre del grupo del Agente.
 +
;<code>_agentname_</code>: Nombre del Agente que disparó la alerta.
 +
;<code> _agentos_</code>: Sistema operativo del Agente.
 +
;<code>_agentstatus_ </code>: Estado actual del Agente.
 +
;<code>_alert_critical_instructions_</code>: Instrucciones contenidas en el Módulo para un estado <code>critical</code>.
 +
;<code>_alert_description_</code>: Descripción de la alerta.
 +
;<code>_alert_name_</code>: Nombre de la alerta.
 +
;<code>_alert_priority_</code>: Prioridad numérica de la alerta.
 +
;<code>_alert_text_severity_</code>: Prioridad en texto de la alerta (Maintenance, Informational, Normal, Minor, Warning, Major, Critical).
 +
;<code>_alert_threshold_</code>: Umbral de la alerta.
 +
;<code>_alert_times_fired_</code>: Número de veces que se ha disparado la alerta.
 +
;<code>_alert_unknown_instructions_</code>: Instrucciones contenidas en el Módulo para un estado <code>unknown</code>.
 +
;<code>_alert_warning_instructions_</code>: Instrucciones contenidas en el Módulo para un estado <code>warning</code>.
 +
;<code>_all_address_ </code>: Todas las direcciones del Agente que disparó la alerta.
 +
;<code>_data_</code>: Dato que hizo que la alerta se disparase.
 +
;<code>_email_tag_</code>: Buzones de correo electrónico asociados a los ''tags'' de Módulos.
 +
;<code>_event_cfX_</code>: (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 <code>_event_cfIPAM_</code>.
 +
;<code>_event_description_ </code>: (Solo alertas de evento) Descripción textual del evento de Pandora FMS.
 +
;<code>_event_extra_id_ </code>: (Solo alertas de evento) Identificador extra.
 +
;<code>_event_id_</code>: (Solo alertas de evento) Identificador del evento que disparó la alerta.
 +
;<code>_event_text_severity_</code>:(Solo alertas de evento) Prioridad en texto de el evento que dispara la alerta (Maintenance, Informational, Normal Minor, Warning, Major, Critical).
 +
;<code>_eventTimestamp_</code>: <code>Timestamp</code> en el que se creo el evento.
 +
;<code>_fieldX_</code>: Campo X definido por el usuario.
 +
;<code>_groupcontact_</code>: Información de contacto del grupo. Se configura al crear el grupo.
 +
;<code>_groupcustomid_</code>: Identificador personalizado del grupo.
 +
;<code>_groupother_</code>: Otra información sobre el grupo. Se configura al crear el grupo.
 +
;<code>_homeurl_</code>: Es un enlace de la URL pública que debe configurarse en las opciones generales de la configuración.
 +
;<code>_id_agent_</code>: Identificador del Agente, útil para construir URL de acceso a la consola de Pandora FMS.
 +
;<code>_id_alert_</code>: Identificador de la alerta, útil para correlacionar la alerta en herramientas de terceros.
 +
;<code>_id_group_ </code>: Identificador del grupo de Agente.
 +
;<code>_id_module_</code>: Identificador del Módulo.
 +
;<code>_interval_</code>: Intervalo de la ejecución del Módulo.
 +
;<code>_module_</code>: Nombre del Módulo.
 +
;<code>_modulecustomid_</code>: Identificador personalizado del Módulo.
 +
;<code>_moduledata_X_</code>: 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.
 +
;<code>_moduledescription_</code>: Descripción del Módulo.
 +
;<code>_modulegraph_nh_</code>: (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. <code>_modulegraph_24h_</code>). 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.
 +
;<code>_modulegraphth_nh_</code>: (Solo para alertas que usen el comando <code>_email_tag_</code>) 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.
 +
;<code>_modulegroup_</code>: Nombre del grupo del Módulo.
 +
;<code>_modulestatus_</code>: Estado del Módulo.
 +
;<code>_modulelaststatuschange_</code>: (Únicamente para Macros de comando)''timestamp'' en el que se produjo el último cambio de estado del Módulo.
 +
;<code>_moduletags_</code>: URLs asociadas a los ''tags'' de módulos.
 +
;<code>_name_tag_</code>: Nombre de los ''tags'' asociados al Módulo.
 +
;<code>_phone_tag_</code>: Teléfonos asociados a los ''tags'' de módulos.
 +
;<code>_plugin_parameters_</code>: Parámetros del ''plugin'' del Módulo.
 +
;<code>_policy_</code>: Nombre de la política a la que pertenece el Módulo (si aplica).
 +
;<code>_prevdata_</code>: Dato previo antes de disparase la alerta.
 +
;<code>_rca_</code>: Cadena de análisis de causa raíz (únicamente para Servicios).
 +
;<code>_secondarygroups_</code>: Muestra los grupos secundarios del Agente (únicamente para macros de comandos y macros de acciones).
 +
;<code>_server_ip_</code>: Dirección IP del servidor al que el Agente está asignado.
 +
;<code>_server_name_</code>: Nombre del servidor al que el Agente está asignado.
 +
;<code>_target_ip_</code>: Dirección IP del objetivo del Módulo.
 +
;<code>_target_port_</code>: Puerto del objetivo del Módulo.
 +
;<code>_timestamp_</code>: Hora y fecha en que se disparó la alerta.
 +
;<code>_timezone_</code>: Zona horaria que se representa en <code>_timestamp_</code>.
  
Y en la otra enviaremos un correo:
 
  
echo "Prueba correo" | mail [email protected]
 
  
Si los pasos anteriores han tenido éxito, en la otra consola deberíamos ver algo como ésto:
+
[[Pandora:Documentation|Volver al Índice de Documentación Pandora FMS]]
  
Dec 18 18:33:40 OKComputer postfix/pickup[10945]: 75D4A243BD: uid=0 from=
 
Dec 18 18:33:40 OKComputer postfix/cleanup[10951]: 75D4A243BD: message-id=
 
Dec 18 18:33:40 OKComputer postfix/qmgr[10946]: 75D4A243BD: from=, size=403, nrcpt=1 (queue active)
 
Dec 18 18:33:44 OKComputer postfix/smtp[10953]: 75D4A243BD: [email protected], relay=smtp.gmail.com[74.125.93.109]:587, delay=3.7,  delays=0.15/0.14/1.8/1.6, dsn=2.0.0, status=sent (250 2.0.0 OK 1324249500 eb5sm36008464qab.10)
 
Dec 18 18:33:44 OKComputer postfix/qmgr[10946]: 75D4A243BD: removed
 
  
Si el resultado es el anterior, Pandora apuntará al servidor Postfix para mandar los correos y serán enviados sin problemas.
 
  
 
[[Category:Pandora FMS]]
 
[[Category:Pandora FMS]]
 +
[[Category:Documentation]]
 +
 +
<!--- Fin de 2ª revisión (texto) JJOS 2021-ene-22 --->

Latest revision as of 21:11, 20 April 2021

Volver al Índice de Documentación Pandora FMS


Contents

1 Configuración de alertas en Pandora FMS

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

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


1.2.1 Estructura de una alerta

Esquema-alert-structure.png

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.

1.2.2 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:

Esquema-parameters-carrying.png

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

Alertas esquema6.png

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

  • Plantilla:
    • Field1: [email protected]
    • 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:
    • Field1: [email protected]
    • 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.

1.3 Comando de Alerta

1.3.1 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

1.3.2 Creación de un comando para una alerta

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

Susi3 5.png
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.

Template warning.png

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.

 


Info.png

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.

Info.png

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.

1.3.2.1 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:

Possible values 1.png

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

Possible values 2.png

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

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

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

Susi6 5.png

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

Template warning.png

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

 


1.3.5 Operaciones de un comando de alerta

Haga clic para ampliar

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.


1.3.6 Ejemplos de Comandos

1.3.6.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.6.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 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_
1.3.6.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.6.2 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.

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

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

1.4 Acción

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

1.4.2 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.
Alert-alert actions-group command and group action mismatch.png
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.

Template warning.png

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.

 


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

1.4.3 Editar una Acción

Alert action.png

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

Alert action edit.png

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


1.4.4 Borrar una acción

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

Sipo.jpg

1.5 Plantilla de alerta

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

1.5.2 Creación de una Plantilla

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

Planti.jpg

A continuación siga los tres pasos guiados.

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

1.5.2.2 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.
Regular expression triggered.png
    • 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.
Notmaxmin.png
    • Max: Se usa un valor máximo. La alerta saltará cuando el valor del módulo sea mayor que el valor máximo marcado.
Max.png
    • Min: Se usa un valor mínimo. La alerta saltará cuando el valor del módulo sea menor que el valor mínimo marcado.
Min.png
    • 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 .
Equal.png
    • Not Equal to: Igual que el anterior pero negando la condición (operador lógico NOT).
Notequal.png
    • 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.
Status template.png

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

1.5.3 Macros sustituibles en los campos Field1 ~ Field10

En todas las instancias de los campos field1 ... field10 (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.


1.5.3.1 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

1.5.4 Editar una Plantilla

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

Plantilla.jpg

1.5.5 Eliminar una plantilla

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

Cruz.jpg

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

1.6.1 Gestión de Alertas desde el submenú de Alertas

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

1.6.1.2 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

1.6.1.3 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

1.6.1.4 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

1.6.2 Gestionar alertas desde el agente

1.6.2.1 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:

Wiz agent alerts.png
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.

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

Agent edit alerts.png

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

Wiz agent disable alert.png

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)

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

Wiz agent delete alert.png

1.6.2.5 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:


Agent alert summary.png

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

Agent alert summary action.png

1.7 Visión general de una alerta

1.7.1 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:

CpuTwo.png

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

1.7.2 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:

Qgcpu5.png

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.

1.7.3 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:

Qgcpu6.png


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:

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

1.7.4 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:

Qgcpu9.png

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

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

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


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

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

Recursive cascade protection ilustration.png

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.

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

1.9.2 Protección en cascada basada en servicios

Info.png

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.

Proteccion cascada1.png

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.

Proteccion cascada2.png

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.

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

Alerta-modulo.png

1.10 Modo de operación seguro

Safe operation mode.png

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.

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

1.11.1 Crear un día especial

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

Creating special day61-1.png

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

Creating special day2.png
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.

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

Creating special day ics.png

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

Editing special day61-1.png

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

Editing special day2.png

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

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

Deleting special day61.png

1.12 Ejemplos de alertas completas

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

Smsalert sample1.png

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:

Smsalert sample3.png

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

Info.png

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:

Smsalert sample5.png

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.

Smsalert sample6.png

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

Smsalert sample4.png

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:

Smsalert sample7.png

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.

Smsalert sample8.png

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.

Smsalert sample9.png

1.12.2 Utilizando comandos de alertas distintos del email

Template warning.png

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:

Qgcpu11.png

Y definir una acción para el mismo:

Qgcpu12.png

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.

1.12.2.1 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

1.13 Macros personalizados de alerta de módulo

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

Add module macros.png

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.

Module macros.png

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:

Campos alertas.png

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.

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

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

1.14.1.1 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:

GMAIL1.png
1.14.1.2 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:

GMAIL2.png

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

GMAIL3.png
GMAIL4.png

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

1.15 Correlación de alertas: alertas en eventos y logs

Info.png

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

Info.png

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.

 


Template warning.png

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

 



1.15.1 Creación de alertas de correlación

Template warning.png

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.

 


1.15.1.1 Alertas de correlación y plantillas

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

Alertaslog2.png

En esta vista global podemos observar los campos:

Alertaslogprin.PNG
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):

Alertaslog12.PNG
Alertaslog13.PNG

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.

Template warning.png

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.

1.15.1.2 Reglas dentro de una alerta de correlación

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

Alertaslog14.PNG

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:

Alertaslog3.png

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:

Alertaslog4.png

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

Alertlogrule.png

Info.png

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.

Template warning.png

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

 


Info.png

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.

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


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

Globaltriggering.png

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.


Configactionsalert.png

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.

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

Alertaslog9.png

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.

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


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