Pandora: Documentation es: Eventos

From Pandora FMS Wiki
Revision as of 13:19, 20 December 2020 by Jimmy (talk | contribs) (Filtrado de eventos: Buen ejemplo pero alarga mucho la documentación.)
Jump to: navigation, search

Volver al Índice de Documentación Pandora FMS


1 Eventos

1.1 Introducción

El sistema de eventos de Pandora FMS permite ver un registro en tiempo real de todos los acontecimientos que ocurren en los sistemas monitorizados. La información que muestran va desde cualquier cambio de estado de un módulo, alertas lanzadas o recuperadas, hasta reinicios del sistema o eventos personalizados. Por defecto, en la vista de eventos verá una instantánea de lo que está sucediendo en ese momento.

Los eventos se clasifican según su severidad :

  • Mantenimiento (gris).
  • Informativo (azul).
  • Normal (verde).
  • Advertencia (amarillo).
  • Crítico (rojo).
  • Mayor (marrón).
  • Menor (rosa).

Se pueden realizar las siguientes acciones sobre eventos :

  • Cambiar su estado (validado o en progreso).
  • Cambiar el propietario.
  • Eliminar.
  • Mostrar información adicional.
  • Añadir un comentario.
  • Realizar respuestas personalizables.

1.2 Información general

Los eventos se gestionan en Events > View Events:

Menu eventos.png

Ejemplo del visor de eventos por defecto:

Event list.png

Desde la versión 726 puede ordenar los eventos por identificador, estado, nombre.

Event orden.png

En el visor de eventos se muestra un resumen de cada evento y en ocasiones hay otros datos asociados, como el módulo del agente que generó el evento, el grupo, tags asociados al módulo, etcétera.


Detalle evento 1.jpg

Un clic en el icono de la lupa muestra más detalles:

Detalle evento 2.jpg

Los eventos se presentan por búsqueda predeterminada de las últimas ocho horas y que no estén validados (y también puede ser personalizada), además de agrupar para evitar redundancia:

Haga clic para ampliar

Puede guardar las búsquedas como filtros o bien aplicar un filtro creado previamente.

Los eventos son el registro y una parte fundamental de un sistema de monitorización.

1.3 Operación con eventos

1.3.1 Validación y estados de un evento. Auto validación

Un evento puede estar en tres estados:

  • Nuevo.
  • En proceso.
  • Validado.

Cuando se producen eventos por cambios de estado en módulos, generalmente habrá dos eventos: un primer evento de paso de estado normal a otro estado "incorrecto", y un evento de vuelta a estado normal, una vez que la situación problemática esté resuelta. En estos casos los eventos que han pasado a estado incorrecto (ya sea critical o warning) son validados automáticamente al recuperar la normalidad. Esto es llamado autovalidación de eventos y es una funcionalidad sumamente práctica.

Event sample5.png

Si se trabaja de manera manual, un evento puede ser validado también: el sistema memorizará la fecha y el usuario que validó el evento, con la posibilidad de grabar un comentario al respecto de la situación.

Event sample4.png

Al hacer clic en el botón de validar, la pantalla se refresca y el evento validado es invisibilizado.

Un evento puede ser marcado "en proceso" en la pestaña Responses:

Event sample6.png

De esta manera el evento no se autovalidará y quedará como pendiente. Note usted, además, las acciones posibles: ejecutar respuestas personalizadas como ping sobre el host, asignar a un usuario, entre otras.

Event sample7.png

Se puede validar, marcar como "en proceso" o eliminar eventos de manera individual haciendo clic en los iconos correspondientes:

Op indi.png

O aplicarlos de manera masiva a una selección:

Op masiva2.png

Info.png

En el caso de respuestas personalizadas, el número máximo de eventos a los que aplicar la operación está limitado a diez.

 


1.3.2 Filtrado de eventos

Las opciones del filtrado se encuentran en Event control filter; las opciones avanzadas en Advanced options :

Haga clic para ampliar

Aspectos importantes de esta funcionalidad:

  • Los filtros pueden ser guardados para ser reutilizados en otra oportunidad.
  • Pandora FMS, por defecto, agrupa los eventos repetidos, sin embargo esta preferencia puede ser cambiada para que muestre los eventos individuales.
  • También el máximo de horas de antigüedad de los eventos puede ser personalizado (Max. hours old), así como solicitar los eventos ocurridos en un lapso de tiempo determinado, ver en opciones avanzadas: From (date) y To (date).

1.3.3 Borrado de eventos

Otra forma de administrar los eventos es tener la capacidad de borrar aquellos que no interesan más. Para esta tarea usaremos la opción de borrar eventos. Desde la lista de Events > View Events se pueden borrar de forma individual o marcando varios para su borrado.

Click en el icono de la papelera gris.

Gest62.png

Purgado automático de eventos

Desde la configuración se puede definir el máximo histórico de eventos que queremos conservar para su eliminación. Este purgado lo realiza el proceso automático de mantenimiento de la BBDD (Pandora_DB) que se debería ejecutar automáticamente cada hora.

Event purge.jpg

Histórico de eventos

También existe una funcionalidad Enterprise llamada "histórico de eventos", que permite almacenar en la base de datos de histórico aquellos eventos que superan la fecha de borrado. Estos eventos no son accesibles a través de la vista de eventos, y solo se utilizan para los informes especiales de histórico de eventos.

Event history.jpg

1.3.4 Otras formas de ver eventos

Además de la vista clásica de eventos que hay en Events > View events, los eventos se pueden ver publicados en un canal de noticias o como marquesina deslizante (lista que va moviéndose en la parte superior del navegador con el resto de la pantalla en negro) si hacemos click en el desplegable de Events y seguidamente click en las opciones de RSS o Marquee respectivamente.

View events1.jpg

1.3.4.1 Eventos en RSS

Pandora FMS tiene un proveedor de eventos RSS para que pueda suscribirse a él desde su lector de noticias favorito. Para ver los eventos en un canal de noticias o RSS pulse en Events > RSS y suscríbase a él desde el lector de noticias.

Template warning.png

Es necesario contar con un RSS reader o lector RSS y darse de alta para que nos lleguen las notificaciones de nuestro Pandora FMS; de lo contrario, nos aparecerá una ventana con el reporte en código XML.

 


Gest64.png



Template warning.png

Además, para poder acceder al feed RSS de los eventos es necesario configurar las IPs que tienen permitido el acceso en el campo IP list with API access dentro de Setup.

 


1.3.4.2 Eventos en marquesina horizontal

Si accedemos a Events -> Marquee podemos visualizar los últimos eventos en formato de línea de texto deslizante. Esta opción se puede emplear para visualizar en un monitor los últimos eventos a modo de pantalla de texto. Puede personalizar fácilmente el nº de eventos visualizados o el tamaño, color y filtrado de los mensajes, modificando el código en operation/events/events_marquee.php.




Gest65.png



1.3.4.3 Consola sonora de eventos

Permite administrar un sistema sin tener que estar observando constantemente la consola de Pandora FMS; simplemente teniendo unos altavoces conectados con suficiente volumen, podrá oír las distintas melodías sonoras cuando se produzca un evento, incluso estando lejos del ordenador. La melodía se oirá continuamente hasta que pause el evento sonoro o pulse el botón de OK.

La lista de eventos sonoros que generan sonido son:

  • El disparo de cualquier alerta.
  • El paso de un módulo a estado warning.
  • El paso de un módulo a estado critical.
  • El paso de un módulo a estado unknown.

Además se pueden filtrar los eventos por grupo/agente.

Sound console.jpg

1.3.4.3.1 Configuración avanzada

Se puede ampliar la lista de melodías a reproducir por los eventos sonoros; para ello, hay que acceder al servidor de Pandora Console y en el directorio de Pandora Console (normalmente en /var/www/pandora_console/) y dentro al directorio include/sounds/, donde podrá depositar los ficheros con las nuevas melodías. Pero hay que tener en cuenta varios puntos para el correcto funcionamiento:

  • El fichero tiene que estar en formato WAV.
  • Intentar que el fichero sea lo más pequeño posible porque, para que suene en la ventana de su navegador este fichero, tiene que ser trasmitido al navegador. Hay varios trucos para conseguir esto:
    • Seleccionar solo un fragmento de unos segundos (o menos) como melodía principal, ya que, como hemos dicho, la melodía se va a reproducir en bucle.
    • Convertir la melodía a mono.
    • Cambiar la codificación a 16 bits signed o incluso menos; se va perder calidad pero se va ganar espacio.
  • Para editar o crear las melodías aconsejamos usar herramientas como Audacity que es software libre, multiplataforma y muy sencillo de usar.
1.3.4.3.2 Uso

Los eventos sonoros se scanean cada 10 segundos de forma asíncrona, y cuando llega un evento la ventana, además de sonar la melodía configurada (previamente o por defecto) para ese evento, comenzará a parpadear en rojo y a temblar, y además, dependiendo de la configuración de su navegador o sistema operativo, la ventana mantendrá el foco y se posicionará por delante del resto de ventanas abiertas.

Para acceder a la ventana de eventos sonoros, solo tiene que ir al menú izquierdo de Pandora Console y elegir la opción View events en Operation. Allí en la ventana de eventos, en la cabecera si pulsa el icono Sound Events.

Event sound.png

Y esta ventana pequeña será la que gestione todos los eventos sonoros; por eso es necesario mantenerla abierta para que suene cuando salte algún evento. Dentro de la ventana tenemos varios controles que nos permiten filtrar para que la consola solo salte atendiendo a diversos filtros: grupo, tipo de evento o agente(s) específicos. Además, en caso de que salte, en una pequeña ventana indicará qué evento ha saltado.

Pulse el boton "Play" para iniciar la consola sonora. Cuando salte un evento pulse en "OK" para reiniciar la consola y parar el sonido (hasta que otro evento nuevo la haga sonar otra vez).

1.3.5 Exportar Eventos a un CSV

Es posible exportar la lista de eventos que hay a un fichero CSV, para que puedan ser procesados o integrados en otras aplicaciones.

Para exportar los eventos a CSV, se pulsa en Events > View events > Export to CSV File

Export to csv.jpg

1.3.6 Estadísticas de Eventos

Es posible acceder a las estadísticas de eventos desde Events > Statistics para que nos muestre un pequeño informe en forma de gráfico y a tiempo real de los eventos que tenemos actualmente. Hay cuatro tipos de gráficos que nos reportan dicha información y son los siguientes:

  • Event graph
  • Event graph by user
  • Event graph by agent
  • Number of validated events



Gest66.png



Además, si hacemos click en alguna de las secciones en las que se encuentra dividido el gráfico, nos muestra el reporte en formato de porcentaje, el valor del evento y su estado actual.

Haga clic para ampliar



1.4 Alertas de eventos. Correlación de eventos

A partir de la release 741 de Pandora FMS se han establecido una serie de cambios enfocados a la gestión de alertas relacionadas con eventos, podrá consultar toda la información sobre alertas en eventos en el apartado Alertas en eventos y logs de la documentación.

1.5 Eventos desde línea de comandos

1.5.1 Generación de eventos desde la línea de comando

Usando su API WEB puede interactuar con Pandora FMS desde cualquier sistema remoto, incluso si no tiene conexion a la BBDD o un agente instalado. Puede hacerlo usando la herramienta que se encuentra en:

/usr/share/pandora_server/util/pandora_revent.pl

Esta herramienta utiliza una conexión remota HTTP/HTTPS para crear o validar eventos en Pandora FMS. Ejecútela sin parámetros para ver su sintaxis, que aquí presentamos traducida:

Pandora FMS Remote Event Tool Copyright (c) 2013 Artica ST
This program is Free Software, licensed under the terms of GPL License v2
You can download latest versions and documentation at http://www.pandorafms.org

Opciones para crear evento:

	./pandora_revent.pl -p <path_to_consoleAPI> -u <credentials> -create_event <options> 

Donde las opciones :

	-u <credentials>			: Credenciales API separados por comas: <api_pass>,<usuario>,<password>
	-name <event_name>			: Texto libre
	-group <id_group>			: ID de Grupo (use 0 para 'todos')  
	-agent					: Especifica agente por ID
	
Optional parameters:
	
	[-status <status>]			: 0 Nuevo, 1 Validado, 2 En proceso
	[-user <id_user>]			: Usuario del comentario (combinar con -comment)
	[-type <event_type>]			: unknown, alert_fired, alert_recovered, alert_ceased
							  alert_manual_validation, system, error, new_agent
							  configuration_change, going_unknown, going_down_critical,
							  going_down_warning, going_up_normal
	[-severity <severity>] 		: 0 Mantenimiento,
						  1 Informativo,
						  2 Normal,
						  3 Advertencia,
						  4 Critico,
						  5 Menor,
						  6 Mayor
	[-am <id_agent_module>]		: ID del modulo de agente origen del evento
	[-alert <id_alert_am>]			: ID de la alerta/modulo origen del evento
	[-c_instructions <critical_instructions>]
	[-w_instructions <warning_instructions>]
	[-u_instructions <unknown_instructions>]
	[-user_comment <comment>]
	[-owner_user <owner event>]		: Propietario del evento, usar el login name
	[-source <source>]			: (Por defecto 'Pandora')
	[-tag <tags>]				: Tag (debe existir ya en el sistema)
	[-custom_data <custom_data>]		: Los datos personalizados debe ser un base 64 encoded JSON document (>=6.0)
	[-server_id <server_id>]		: ID del nodo del server (>=6.0)
        [-id_extra <id extra>]      : Id extra
	[-agent_name <Agent name>]  : Nombre del agente,  No confundir con el alias.
	[-force_create_agent<0 o 1>]:  Fuerza la creación del agente si no existe para ello el parametro a 1 y llevar la opción de agent_name

Ejemplo de generación de evento:

	./pandora_revent.pl -p http://localhost/pandora_console/include/api.php -u 1234,admin,pandora 
		-create_event -name "SampleEvent" -group 2 -agent 189 -status 0 -user "admin" -type "system" 
		-severity 3 -am 0 -alert 9 -c_instructions "Critical instructions" -w_instructions "Warning instructions" 


Opciones para validar evento: 

	./pandora_revent.pl -p <path_to_consoleAPI> -u <credentials> -validate_event <options> -id <id_event>

Ejemplo de validación de evento:

	./pandora_revent.pl -p http://localhost/pandora/include/api.php -u pot12,admin,pandora -validate_event -id 234

Primero necesita activar el acceso a la API y configurarlo. Como recordatorio, siga estos tres pasos :

  1. . Active el acceso a la IP desde la que va a ejecutar el comando o use "*" para cualquier IP.
  2. . Establezca una password general de la API.
  3. . Use un usuario/password para acceder, o defina un usuario específico que solo pueda conectarse vía API.

Es conveniente indicar que para que los campos de unknown, critical o warning instructions aparezcan en los detalles del evento generado, dicho evento debe ser de tipo going_unknown, going_down_critical, o going_down_warning respectivamente.

Más ejemplos:

/pandora_revent.pl -p http://192.168.50.12/pandora_console/include/api.php -u pandora12,admin,pandora 
-create_event -name "Another nice event" -group 0 -type "system" -status 0 -severity 4
-user "davidv" -owner_user "admin" -source "Commandline" -user_comment "Prueba de comentario"

1.5.2 Sólo Generación de eventos desde la línea de comando: pandora_revent_create

Es la misma funcionalidad que el script pandora_revent pero sin poder validar eventos. Puede hacerlo usando la herramienta que se encuentra en:

/usr/share/pandora_server/util/pandora_revent_create.pl

Esta herramienta utiliza una conexión remota HTTP/HTTPS para crear o validar eventos en Pandora FMS. Ejecútela sin parámetros para ver su sintaxis, que aquí presentamos traducida:

Pandora FMS Remote Event Tool Copyright (c) 2013 Artica ST
This program is Free Software, licensed under the terms of GPL License v2
You can download latest versions and documentation at http://www.pandorafms.org

Opciones para crear evento:

	./pandora_revent_create.pl -p <path_to_consoleAPI> -u <credentials> -create_event <options> 

Donde las opciones:

	-u <credentials>			: Credenciales API separados por comas: <api_pass>,<usuario>,<password>
	-name <event_name>			: Texto libre
	-group <id_group>			: ID de Grupo (use 0 para 'todos')  
	-agent					: Especifica agente por ID
	
Optional parameters:
	
	[-status <status>]			: 0 Nuevo, 1 Validado, 2 En proceso
	[-user <id_user>]			: Usuario del comentario (combinar con -comment)
	[-type <event_type>]			: unknown, alert_fired, alert_recovered, alert_ceased
							  alert_manual_validation, system, error, new_agent
							  configuration_change, going_unknown, going_down_critical,
							  going_down_warning, going_up_normal
	[-severity <severity>] 		: 0 Mantenimiento,
						  1 Informativo,
						  2 Normal,
						  3 Advertencia,
						  4 Critico,
						  5 Menor,
						  6 Mayor
	[-am <id_agent_module>]		: ID del modulo de agente origen del evento
	[-alert <id_alert_am>]			: ID de la alerta/modulo origen del evento
	[-c_instructions <critical_instructions>]
	[-w_instructions <warning_instructions>]
	[-u_instructions <unknown_instructions>]
	[-user_comment <comment>]
	[-owner_user <owner event>]		: Propietario del evento, usar el login name
	[-source <source>]			: (Por defecto 'Pandora')
	[-tag <tags>]				: Tag (debe existir ya en el sistema)
	[-custom_data <custom_data>]		: Los datos personalizados debe ser un base 64 encoded JSON document (>=6.0)
	[-server_id <server_id>]		: ID del nodo del server (>=6.0)

Ejemplo de generación de evento:

	./pandora_revent_create.pl -p http://localhost/pandora_console/include/api.php -u 1234,admin,pandora 
		-create_event -name "SampleEvent" -group 2 -agent 189 -status 0 -user "admin" -type "system" 
		-severity 3 -am 0 -alert 9 -c_instructions "Critical instructions" -w_instructions "Warning instructions" 

Primero necesita activar el acceso a la API y configurarlo. Como recordatorio, siga estos tres pasos:

  1. . Active el acceso a la IP desde la que va a ejecutar el comando o use "*" para cualquier IP.
  2. . Establezca una password general de la API.
  3. . Use un usuario/password para acceder, o defina un usuario específico que solo pueda conectarse vía API.

Es conveniente indicar que para que los campos de unknown, critical o warning instructions aparezcan en los detalles del evento generado, dicho evento debe ser de tipo going_unknown, going_down_critical, o going_down_warning respectivamente.

Más ejemplos:

/pandora_revent_create.pl -p http://localhost/pandora_console/include/api.php -u pandora12,admin,pandora 
-create_event -name "Another nice event" -group 0 -type "system" -status 0 -severity 4
-user "davidv" -owner_user "admin" -source "Commandline" -comment "Prueba de comentario"

1.5.3 Uso de campos personalizados en eventos

Se pueden generar eventos con campos personalizados a través del CLI de Pandora FMS. Por ejemplo, un evento generado con el siguiente comando:

perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_event 'Custom event' system Firewalls 'localhost' 'module' 0 4  'admin'     '{"Location": "Office", "Priority": 42}'

Se vería de la siguiente manera:

Haga clic para ampliar

1.6 Configuración de Eventos

En la sección de Eventos en la parte de administración de la consola de Pandora FMS (Events -> View events -> Manage events), se pueden configurar los siguientes aspectos referentes a eventos:

  • Filtrado de eventos.
  • Event responses.
  • Visualización de eventos.

Configuracion eventos.jpg

1.6.1 Personalización de la vista de eventos

Es posible personalizar los campos que muestra por defecto el visor de eventos; para ello, desde la sección Events -> View events -> Manage events -> Custom fields se pueden elegir los campos que se quieren mostrar.

Por defecto, los campos que se muestran son:

  • Event name
  • Agent ID
  • Status
  • Timestamp


Sin embargo, hay un gran número de campos además de los que se muestran por defecto que se pueden añadir a la lista de "Fields selected":


  • Event name: Nombre del evento.
  • Event ID: ID del evento.
  • Event type: Tipo de evento.
  • Agent name: Nombre del agente.
  • Agent ID: ID del agente.
  • Status: Estado del evento.
  • Timestamp: Fecha en la que se creó el evento.
  • ACK Timestamp: Fecha en que se validó el evento.
  • User: Usuario creador del evento.
  • Group: Grupo al que pertenece el módulo.
  • Module name: Nombre del módulo.
  • Module status: Estado en que se encuentra el módulo.
  • Alert: Alerta asociada al evento.
  • Severity: Severidad del evento.
  • Comment: Comentario/s del evento.
  • Tags: Etiquetas del módulo.
  • Source: Fuente de procedencia del evento.
  • Extra ID: ID extra.
  • Owner: Propietario.
  • Instructions: Instrucciones de crítico o advertencia.
  • Server name: Nombre del servidor del que procede el evento.
  • Data: Dato numérico que reporta el evento.
  • Severity mini: Severidad del evento en formato reducido.



Se seleccionan los campos que se quieren visualizar de la lista "Fields available" y se mueven a "Fields selected" mediante las flechas. Una vez elegidos, se pulsa el botón "Update" para guardar los cambios.


Custom events.png


1.6.2 Creación de filtros de evento

En esta sección se pueden crear, borrar y editar los filtros que se aplican en la vista de eventos.


Filtros evento.png


Al pulsar en Create filter se muestra la siguiente vista en la que se pueden rellenar los campos por los que deseamos filtrar.


Crear filtro evento.png


Una vez guardados los filtros, desde el propio visor de eventos podremos cargarlos para visualizar la información deseada rápidamente sin necesidad de reconfigurar el filtro cada vez:


Event1.JPG


1.6.3 Event Responses

1.6.3.1 Introducción

En esta sección podemos crear, editar y borrar respuestas de eventos. Una respuesta de evento es una acción personalizada que se puede ejecutar sobre un evento, como por ejemplo la creación de un ticket en Integria con la información relevante del evento.

Event responses config list.png

Se debe introducir un nombre representativo, la descripción, los parámetros a utilizar separados por comas, el comando a usar (estos últimos permiten el uso de macros), el tipo y el servidor que ejecutará el comando.


Event responses config create.png


1.6.3.2 Event Responses macros

Las macros aceptadas son las siguientes:

  • Alias del agente: _agent_alias_
  • Nombre del agente: _agent_name_
  • Dirección del agente: _agent_address_
  • Id del agente: _agent_id_
  • Id de la alerta asociada al evento: _alert_id_
  • Fecha en la que se produjo el evento: _event_date_
  • Id extra: _event_extra_id_
  • Id del evento: _event_id_
  • Instrucciones del evento: _event_instruction_
  • Id de la criticidad del evento: _event_severity_id_
  • Gravedad del evento (traducido por la consola de Pandora FMS) : _event_severity_text_
  • Procedencia del evento: _event_source_
  • Estado del evento (Nuevo, validado o evento en proceso) : _event_status_
  • Etiquetas del evento separadas por comas: _event_tags_
  • Texto completo del evento: _event_text_
  • Tipo del evento (Sistema, Cambiando a estado desconocido...): _event_type_
  • Fecha en la que se produjo el evento en formato utimestamp: _event_utimestamp_
  • Id del grupo: _group_id_
  • Nombre del grupo en base de datos: _group_name_
  • Dirección del módulo asociado al evento: _module_address_
  • Id del módulo asociado al evento: _module_id_
  • Nombre del módulo asociado al evento: _module_name_
  • Usuario propietario del evento: _owner_user_
  • Id del usuario: _user_id_
  • Id del usuario que ejecuta la respuesta: _current_user_
  • Tiempo de respuesta del comando (segundos): _command_timeout_

Volver al Índice de Documentación Pandora FMS