Eventos

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 (azul).
  • Informativo (gris).
  • Normal (verde).
  • Menor (rosa).
  • Advertencia (amarillo).
  • Mayor (marrón).
  • Crítico (rojo).

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.

Información general

Los eventos se gestionan en Events > View Events:

Ejemplo del visor de eventos por defecto:

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

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

Pandora FMS también puede utilizar los eventos para anunciar que se han excedido los límites impuestos por los usuarios al sistema de monitorización. Por ejemplo, a partir de la versión NG 754 se puede imponer un límite de Agentes en un grupo determinado y al alcanzar dicho límite será mostrado por un evento:

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

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

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

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

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

Operación con eventos

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

Un evento puede estar en cuatro estados:

  • En proceso.
  • Nuevo.
  • No validado.
  • 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.

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.

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:

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.

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

O aplicarlos de manera masiva a una selección:

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

Filtrado de eventos

Aspectos importantes de esta funcionalidad:

  • Los filtros pueden ser guardados para ser reutilizados en otra oportunidad.
  • El máximo de horas de antigüedad (Max. hours old) de los eventos puede ser personalizado.
  • Pandora FMS, por defecto, agrupa los eventos repetidos (DuplicateGroup events), sin embargo esta preferencia puede ser cambiada:
    • All events: Muestra todos los eventos individualmente.
    • Group agents: Agrupa los eventos por agente.
    • Group events: El nombre del evento, el ID de agente y el ID de módulo se utilizan para identificar los duplicados.
    • Group Extra IDs: Los eventos se agruparán solamente por Extra ID, ordenado por Timestamp.
  • Se puede filtrar por grupo específico. Si utiliza la opción Group recursion también buscará en los subgrupos de dicho grupo. Así mismo si selecciona Search in secondary groups serán incluidos los eventos de agentes con grupos secundarios asignados. Estas dos últimas opciones pudiera causar impacto de trabajo en el el servidor PFMS.

Opciones avanzadas

  • Puede solicitar los eventos ocurridos en un lapso de tiempo determinado mediante los campos de fecha From (date) y To (date).
  • Se puede filtrar por campos personalizados mediante los campos Custom data filter, ya sea filtrando el nombre del campo (Filter custom data by field name) o por contenido del campo personalizado (Filter custom data by field value). Dichos campos se mostrarán como columnas en la vista de eventos.

Filtros favoritos

Versión 770 o posterior

Los filtros de eventos que usted considere más frecuentes en su uso, podrán ser agregados a la sección Events en el menú Favorite (menú Operation). Esto se logra haciendo clic en el icono de estrella que aparecerá al cargar un filtro guardado (Current filter). Al hacer clic de nuevo podrá desmarcar el icono y retirarlo del sistema de favoritos.

Borrado de eventos

Los eventos pueden ser borrados de manera individual y/o de manera automática.

También existe la posibilidad, en la versión Versión Enterprise., de conservarlos con el propósito de crear informes especiales.

De manera individual:

Purgado automático de eventos:

event_purge.jpg

Histórico de eventosVersión Enterprise.:

event_history.jpg

Eventos en RSS

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.

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 de su preferencia.

Consola sonora de eventos

Permite difundir las distintas alertas sonoras cuando se produce un evento. La melodía se oirá continuamente hasta que pause el evento sonoro o pulse el botón de OK.

Lista de eventos que generan sonido, por defecto (y pueden ser personalizados):

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

Vaya a la opción EventsSound events .

Esta acción abre una ventana emergente de control de todos los eventos sonoros. En este ejemplo se utiliza el navegador web Google Chrome, usted debe configurar este navegador para que permita abrir ventanas emergentes.

Los eventos sonoros se exploran cada 10 segundos de forma asíncrona, al suceder un evento la ventana comenzará a parpadear en rojo y vibrar y además, dependiendo de la configuración de su navegador y/o sistema operativo, la ventana mantendrá el foco y se posicionará por delante del resto de ventanas abiertas.

Solamente se va a alertar con sonido aquellos eventos que se produzcan desde y mientras que la ventana anterior permanezca abierta, coincidan con los seleccionados y que tengan una alerta sonora configurada.

Configuración avanzada

Para agregar nuevas melodías, copie dichos ficheros en formato WAV, al directorio:

/var/www/pandora_console/include/sounds/

Tenga en cuenta que cada melodía tiene que ser trasmitida al navegador y consume ancho de banda; se recomienda:

  • Seleccionar solo un fragmento de unos cuanto segundos como melodía principal ya que se reproduce en bucle.
  • Convertir la melodía a mono.
  • Cambiar la codificación a 16 bits signed o incluso menos (menor calidad y menor tamaño de fichero).
  • Para editar o crear las melodías aconsejamos usar herramientas de software libre como Audacity.

Exportar Eventos a un CSV

Para exportar los eventos a formato CSV, pulse Events > View events > Export to CSV File.

export_to_csv.jpg

Estadísticas de Eventos

La estadística de eventos solo está disponible hasta la versión NG 751 (incluida)

Para acceder a las estadísticas de eventos vaya a Events > Statistics.

Event graph

Porcentaje de eventos según su estado.

Event graph by user

Porcentaje agrupado por usuario.

Event graph by agent

Porcentaje por agente que generó cada evento.

Number of validated events

Eventos validados y por validar.

Al realizar clic en alguna de las secciones emerge información detallada.

Haga clic para ampliar

Alertas de eventos. Correlación de eventos

Para la versión 741 o superior existe la gestión de alertas relacionadas con eventos, tema tratado en capítulo aparte.

Eventos desde línea de comandos

Creación y validación de eventos

La API externa de Pandora FMS se utiliza haciendo llamadas remotas (via HTTPS) sobre el fichero /include/api.php. Este es el método que se ha definido en Pandora FMS para integrar aplicaciones de terceros con Pandora FMS. Básicamente consiste en un llamada con los parámetros formateados para recibir un valor o una lista de valores que después dicha aplicación usará para realizar operaciones.

Usando su API WEB puede interactuar con Pandora FMS desde cualquier sistema remoto, incluso si no tiene conexión a la base de datos o un Agente Software instalado.

Los tres puntos principales para activar la API PFMS:

  1. Active el acceso a la IP desde la que va a ejecutar el comando.
  2. Establezca una contraseña general para la API.
  3. Defina un usuario específico con su contraseña que solo pueda conectar vía API.

La herramienta dedicada para crear o validar eventos por la API de Pandora FMS puede ser copiada de:

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

Al ser ejecutada en el dispositivo cliente, sin parámetros, podrá ver su sintaxis (acá 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 https://www.pandorafms.org

Opciones para crear un evento:

  ./pandora_revent.pl -p <path_consoleAPI> -u <credentials> -create_event <opts>

Donde las opciones :

 -u <credentials>:
     Credenciales API separados por comas: <api_pass>,<user_name>,<user_pass>
 -name <event_name>:
   Texto libre
 -group <id_group>:
   Identificador de Grupo (use 0 para 'todos')

Parámetros opcionales:

 [-agent] : Especifica agente por su identificador.
 [-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 parámetro a 1 y llevar la opción de
                                 agent_name.

Ejemplo para la generación de un evento, utilizando \ como conector de orden e indentado didáctico:

./pandora_revent.pl \
     -p https://$path_consoleAPI/pandora_console/include/api.php \
     -u $api_pass, $user_name, $user_pass \
     -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"

Las opciones para validar un evento son:

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

Ejemplo de validación de un evento:

./pandora_revent.pl \
    -p https://$path_consoleAPI/pandora/include/api.php \
    -u $api_pass, $user_name, $user_pass \
    -validate_event \
                   -id 234

Para que los campos de las instrucciones unknown, critical o warning aparezcan en los detalles del evento generado, dicho evento debe ser de tipo going_unknown, going_down_critical, o bien going_down_warning, respectivamente.

Solamente creación de eventos

En algunas ocasiones, tal vez por motivos de seguridad, se debe contar únicamente con la opción de la creación de eventos, para ello puede ser copiado pandora_revent_create.pl al dispositivo cliente. Está ubicado en:

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

Esta herramienta comparte similares características ya explicadas en la sección anterior.

Ejemplo:

/pandora_revent_create.pl \
                       -p http://$path_consoleAPI/pandora_console/include/api.php \
                       -u $api_pass, $user_name, $user_pass \
                       -create_event -name "Another nice event" \
                         -group 0 \
                         -type "system" \
                         -status 0 \
                         -severity 4 \
                         -user "johndoe" \
                         -owner_user "admin" \
                         -source "Commandline" \
                         -comment "testing event creation"

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}'

Produce un resultado similar a:

Configuración de Eventos

Por medio de EventsView eventsManage events es posible configurar:

  • Filtrado.
  • Respuestas.
  • Visualización.

configuracion_eventos.jpg

Personalización de la vista de eventos

Es posible personalizar los campos que muestra por defecto el visor de eventos; para ello, desde ►EventsView events, haga clic en Manage eventsCustom columns y elija los campos a mostrar.

También se puede llegar a este apartado en ►ConfigurationEventsCustom columns.

Por defecto, los campos que se muestran son:

  • Severity mini: Severidad del evento en formato reducido.
  • Event name: Nombre del evento.
  • Agent ID: ID del agente.
  • Status: Estado del evento.
  • Timestamp: Fecha en la que se creó el evento.

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 ID: ID del evento.
  • Agent name: Nombre del agente.
  • User: Usuario creador del evento.
  • Group: Grupo al que pertenece el módulo.
  • Event type: Tipo de evento.
  • Module name: Nombre del 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.
  • ACK Timestamp: Fecha en que se validó el evento.
  • 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.
  • Module status: Estado en que se encuentra el módulo.
  • Module custom ID: Valor del campo Module custom ID del módulo.

Seleccione los campos Fields available y muévalos a Fields selected mediante los botones con flechas horizontales.

  • Al seleccionar un campo en Fields selected podrá subir o bajar su ubicación mediante las flechas verticales a la derecha del listado.
  • La hacer clic en el icono podrá restaurar los campos establecidos antes de comenzar la modificación.

Guarde los cambios con el botón Update.

Creación de filtros de evento

Para la vista de eventos puede crear, borrar y editar los filtros; en el botón Create new filter puede crear y escoger los campos a filtrar:

Luego de guardar, en cualquier momento puede recargar las preferencias almacenadas:

Event Responses

Introducción

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 IMS con la información relevante del evento. Puede obtener más información acerca de Integria IMS en la documentación de Pandora FMS.

Introduzca un nombre representativo, 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.

En Parameters (parámetros) podrá colocar tantos como necesite, separados por medio de comas. Al realizar la respuesta aparecerá un cuadro de diálogo para rellenar cada uno de ellos y agregarlo así al evento.

Event Responses macros

Las macros aceptadas son las siguientes:

_agent_address_

Dirección del agente.

_agent_alias_

Alias del agente.

_agent_id_

Identificador del agente.

_agent_name_

Nombre del agente.

_alert_id_

Identificador de la alerta asociada al evento.

_command_timeout_

Tiempo de respuesta del comando (segundos).

_current_user_

Identificador del usuario que ejecuta la respuesta.

_current_username_

Nombre completo del usuario que ejecuta la respuesta.

_customdata_json_

Saca la información de custom data en formato JSON.

_customdata_text_

Saca toda la información de custom data en modo texto (con saltos de linea).

_customdata_X_

Saca un campo concreto de custom data, sustituyendo la X por el nombre del campo.

_event_date_

Fecha en la que se produjo el evento.

_event_extra_id_

Identificador extra.

_event_id_

Identificador del evento.

_event_instruction_

Instrucciones del evento.

_event_severity_id_

Identificador de la criticidad del evento.

_event_severity_text_

Gravedad del evento (traducido por la consola de Pandora FMS).

_event_source_

Procedencia del evento.

_event_status_

Estado del evento (Nuevo, validado o evento en proceso).

_event_tags_

Etiquetas del evento separadas por comas.

_event_text_

Texto completo del evento.

_event_type_

Tipo del evento (Sistema, Cambiando a estado desconocido…).

_event_utimestamp_

Fecha en la que se produjo el evento en formato utimestamp.

_group_id_

Identificador del grupo.

_group_name_

Nombre del grupo en base de datos.

_group_contact_

Información de contacto de un grupo de agentes.

_module_address_

Dirección del módulo asociado al evento.

_module_id_

Identificador del módulo asociado al evento.

_module_name_

Nombre del módulo asociado al evento.

_node_id_

Para Metaconsola y Nodo: devuelve el identificador de nodo.

_node_name_

Para Metaconsola y Nodo: devuelve el nombre de nodo.

_owner_user_

Usuario propietario del evento.

_owner_username_

Nombre completo del usuario propietario del evento.

_user_id_