Événements
Introduction
Le système d'événements Pandora FMS permet de voir un enregistrement en temps réel de tous les événements qui se produisent dans nos systèmes surveillés. Les informations qu'ils affichent vont du changement d'état d'un module, des alertes lancées ou récupérées, au redémarrage du système ou aux événements personnalisés. Par défaut, 'dans la vue des événements, vous verrez une image de ce qui se passe en ce moment.
Les événements sont classés en fonction de leur gravité :
- Maintenance (gris)
- Informatif (bleu)
- Normal (vert)
- Warning (jaune)
- Critique (rouge)
- Important (Marron)
- Minime (Rose)
Vous pouvez effectuer les actions suivantes sur les événements :
- Changer votre statut (validé ou en cours)
- Change le propriétaire.
- Eliminer.
- Afficher les informations complémentaires.
- Ajouter un commentaire.
- Créer des réponses personnalisables.
Information général
Les événements sont gérés dans Events → View Events :
Ceci est un exemple d'observateur d'événements par défaut :
Pandora FMS version 726 a introduit la possibilité de trier les événements par ID, statut, nom…
Dans le visualiseur d'événements, l'événement lui-même est affiché et parfois il y a d'autres données associées, comme le module de l'agent qui a généré l'événement, le groupe, les balises associées au module, etc.
En cliquant sur l'icône de la loupe, vous pourrez voir tous les détails de l'événement :
Pandora FMS peut aussi utiliser les événements pour annoncer que les limites posées par les utilisateurs au système de supervision ont été dépassés. Par exemple. à partir de la version NG 754 il est possible d'imposer une limite d'Agents dans un groupe spécifique et lorsque vous atteignez cette limite, il sera affiché grâce à un événement :
Par défaut, les événements sont affichés au moyen d'une recherche prédéterminée des dernières 8 heures et qu'ils ne soient pas validés (et elle peut être personnalisée), en outre de grouper pour éviter de la rédondance :
L'utilisateur pourra seulement voir les groupes auxquels il appartient, à moins que ledit utilisateur appartienne spécifiquement au groupe ALL.
Il est possible d'enregistrer les recherches sous forme de filtres ou d'appliquer un filtre créé précédemment.
Les événements sont l'enregistrement et une partie fondamentale d'un système de surveillance.'
Fonctionnement avec événements
Validation et état d'un événement
Un événement peut être dans quatre états :
- En cours.
- Nouveau.
- Non validé.
- Validé.
Un événement, par défaut, lorsqu'il atteint le système, est dans l'état “Nouveau ”. Lorsque des événements se produisent en raison de changements d'état dans les modules, il y aura généralement deux événements : un premier événement de l'état normal à un autre état incorrect, et un événement de retour à l'état normal une fois que la situation problématique est réglée. Dans ces cas, les événements de l'état d'étape à l'état erroné (critical ou warning) sont validés automatiquement lors du retour à la normalité. C'est ce que nous appelons l'autovalidation d'événement et c'est une fonctionnalité essentielle.
Si vous travaillez de manière manuelle, un événement peut être validé aussi : le système mémorisera la date et l'utilisateur que l'élément a validé, avec la possibilité d'enregistrer un commentaire par rapport à la situation.
En appuyant sur le bouton de validation, l'écran se rafraîchit et l'événement validé “disparaît”.
Un événement peut être marqué “ en processus ” dans l'onglet Responses :
De cette manière l'événement ne sera pas autovalidé et restera pendante. Notez que, en outre, les actions possibles sont : exécuter des réponses personnalisés comme ping sur hôte, attribuer un utilisateur, entre autres.
Il peut être validé, marqué en tant que “ processus ” ou supprimer des événements de manière individuelle en cliquant sur les icônes correspondants :
Ou les appliquer de manière massive à une selection :
Dans le cas des réponses personnalisés, le nombre maximale d'événements auxquels appliquer l'opération est limité à dix.
Filtrage des événements
Aspects importants de cette fonctionnalité :
- Les filtres peuvent être conservés pour être réutilisés à un autre moment.
- L'ancienneté maximale des événements (Max. hours old) peut être personnalisée.
- Par défaut, le FMS de Pandora regroupe les événements répétés (Duplicate → Group events), toutefois, cette préférence peut être modifiée:
- All events: Affiche tous les événements individuellement.
- Group agents: Regrouper les événements par agent.
- Group events: Le nom de l'événement, l'ID de l'agent et l'ID du module sont utilisés pour identifier les doublons.
- Group Extra IDs: Les événements sont regroupés uniquement par Extra ID, triés par Timestamp.
- Vous pouvez filtrer par groupe spécifique. Si vous utilisez l'option de Group recursion, la recherche s'effectuera également dans les sous-groupes de ce groupe. De même, si vous sélectionnez Search in secondary groups, les événements des agents ayant des groupes secondaires assignés seront inclus. Ces deux dernières options peuvent avoir un impact sur le travail du serveur PFMS.
Options avancées
- Vous pouvez demander des événements qui se sont produits au cours d'une certaine période de temps en utilisant les champs From (date) et To (date).
- Vous pouvez filtrer les champs personnalisés à l'aide des champs Custom data filter, soit en filtrant par le nom du champ (Filter custom data by field name), soit par le contenu du champ personnalisé (Filter custom data by field value). Ces champs seront affichés sous forme de colonnes dans la vue de l'événement.
Filtres préférés
Version 770 ou supérieure
Les filtres d'événements que vous considérez comme les plus fréquemment utilisés peuvent être ajoutés à la section Events dans le menu Favorite (menu Operation). Pour ce faire, cliquez sur l'icône en forme d'étoile qui apparaît lorsque vous chargez un filtre enregistré (Current filter). Un nouveau clic permet de décocher l'icône et de le retirer du système des favoris.
Suppression d'événements
Vous pouvez supprimer les éléments individuellement et/ou automatiquement.
il existe aussi la possibilité, dans la version, de les conserver afin de créer des rapports spécifiques.
De manière individuelle :
Purge automatique d'événements :
Evénements RSS
En outre, pour pouvoir accéder au flux RSS des événements, il est nécessaire de configurer les adresses IP auxquelles l'accès est autorisé dans la IP list with API access dans Setup.
Pour voir les événements d'un canal de nouvelles ou d'un flux RSS, cliquez sur Events > RSS et abonnez-vous à partir du lecteur de nouvelles.
Console sonore des événements
Il permet d'entendre les différentes mélodies sonores quand un événement se produit, même loin de l'ordinateur. La mélodie sera entendue en continu jusqu'à ce que vous mettiez l'événement sonore en pause ou que vous appuyiez sur le bouton OK.
La liste des événements sonores qui génèrent du son est la suivante :
- Le déclenchement d'une alerte.
- Le passage d'un module à l'état warning.
- Le passage d'un module à un état critical.
- Le passage d'un module à un statut unknown.
Allez vers l'option Events → Sound events.
Cette action ouvre une fenêtre contextuelle de contrôle de tous les événements sonores. Cet exemple utilise le navigateur Web Google Chrome, vous devez configurer ce navigateur afin qu'il permette d'ouvrir des fenêtres contextuelles.
Les événements sonores sont explorés chaque 10 secondes de manière asinchrone, lorsqu'il se produit un événement, la fenêtre commencera a clignoter en rouge et vibrer en en outre, dependant de la configuration de votre navigateur et/ou système d'exploitation, la fenêtre maintendre le point d'attention et se positionnera avant le reste de fenêtres ouvertes.
Seulement vous serez alerté avec une alerte sonore par rapport à ces événements qui se produisent depuis et tandis que la fenêtre précédente reste ouverte, ceux seléctionnés coïncident et vous aiez une alerte sonore configuré.
Configuration avancée
Pour ajouter de nouvelles mélodies, copiez ledits fichiers sous format WAV au répertoire :
///var/www/pandora_console// /include/sounds/
Il faut tenir compte que chaque mélodie doit se transmettre au navigateur et consomme de la bande passante ; on vous recommande de :
- Sélectionner seulement un fragment de quelques secondes (ou moins) comme mélodie principale, puisque, comme nous l'avons dit, la mélodie va jouer en boucle.
- Convertir la mélodie en mono.
- Changer le codage en 16 bits signed, la qualité sera perdue mais l'espace sera gagné.
- Pour éditer ou créer les mélodies, nous vous recommandons d'utiliser des outils tels que Audacity qui est un logiciel libre.
Exporter des événements vers un CSV
Statistiques d'événements
La statistique d'événements est seulement disponible à partir de la version NG 751 (inclue)
Il est possible d'accéder aux statistiques d'événements à partir de Events >Statistics.
Event graph
Pourcentage d'événements selon leur état.
Event graph by user
Pourcentage groupé par utilisateur.
Event graph by agent
Pourcentage par agent qui a généré chaque événement.
Number of validated eventsÉvénements validés et en attente d'être validés.
Lorsque vous cliquez sur quelqu'une de sections, vous verrez des informations détaillées.
Alertes d'événements. Corrélation d'événements
A partir de la version 741 de Pandora FMS, il existe la section de gestion d'alertes liées aux événements, un sujet expliqué dans un autre chapître.
Événements de la ligne de commande
Génération d'événements à partir de la ligne de commande
L'API externe de Pandora FMS est utilisée pour faire des appelles à distance (via HTTPS) sur le fichier /include/api .php. C'eest la méthode définie sur PAndora FMS pour intégrer des applications tierces avec Pandora FMS. Il consiste esentiellement à faire une appelle avec les paramètres définis pour recevoir une laeur ou une liste devaleurs que cette application utilisera pour faire des opérations après.
En utilisant votre API WEB, vous pouvez interagir avec Pandora FMS depuis n'importe quel système distant, même si vous n'avez pas de connexion à la Base de Données ou à un agent installé.
Les trois points principales pour activer API PFMS sont :
- Activer l'accès à la liste IP depuis laquelle vous allez exécuter la commande.
- Établir un mot de passe général pour l'API.
- Définir un utilisateur spécifique avec son mot de pass qui seulement puisse connecter à travers l'API.
Vous pouvez copier l'outil pour créer ou valider des événements par l'API Pandora FMS depuis :
/usr/share/pandora_server/util/util/pandora_revent.pl
Exécutez-le desn l'appareil client, sans paramètres pour voir sa syntaxe, que nous présentons ici traduite :
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 Options pour créer un événement : ./pandora_revent.pl -p <path_consoleAPI> -u <credentials> -create_event <opts> Où les options : -u <credentials>: Identifiants API sépares par des virgules : <api_pass>,<user_name>,<user_pass> -name <event_name>: Texte libre -group <id_group>: Identificateur de Groupe (utilisez 0 pour 'tous') Paramètres optionnels : [-agent] : Spécifique agent pare son identifiant. [-status <status>] : 0 Nouveau, 1 Validé, 2 En processus [-user <id_user>] : Utilisateur du commentaire (combiner avec -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 Maintenance, 1 Informative, 2 Normal, 3 Avertissement, 4 Critique, 5 Mineur, 6 Majeur. [-am <id_agent_module>] : ID du module de l'agent source de l'événement [-alert <id_alert_am>] : ID de l'alerte/module source de l'événement [-c_instructions <critical_instructions>] [-w_instructions <warning_instructions>] [-u_instructions <unknown_instructions>] [-user_comment <comment>] [-owner_user <owner event>] : Proprietaire de l'événement, utiliser le login name [-source <source>] : (Par défaut 'Pandora') [-tag <tags>] : Tag (il doit existir déjà dans le système) [-custom_data <custom_data>] : Les données personnalisées dovent se trouver dans base 64 encoded JSON document (>=6.0) [-server_id <server_id>] : ID du node du serveur (>=6.0) [-id_extra <id extra>] : Id extra [-agent_name <Agent name>] : Nom de l'agent, NE PAS confondre ave l'alias. [-force_create_agent<0 o 1>] : Il force la création de l'agent si pour ça n'existe pas le paramètre à 1 et avoir l'option agent_name.
Exemple pour la création d'un événement en utilisant \
en tant que connecteur d'ordre et indentation didactique :
./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"
Les options pour valiser un événement sont :
./pandora_revent.pl -p <path_to_consoleAPI> -u <credentials> -validate_event <options> -id <id_event>
Exemple de validation d'un événement :
./pandora_revent.pl \ -p https://$path_consoleAPI/pandora/include/api.php \ -u $api_pass, $user_name, $user_pass \ -validate_event \ -id 234
Afin que les champs des instructions unknown
, critical
o warning
apparaîtrent sur les détails de l'événement généré, cet évenement doit appartenir au type going_unknown
, going_down_critical
, ou going_down_warning
, respectivement.
Seulement génération d'événements
Parfois, il se peut qu'en raison de sécurité, vous ayez seulement l'option de création d'événements, pour ça vous pouvez copier pandora_revent_create.pl
ver l'appareil client. Il se trouve dans :
/usr/share/pandora_server/util/pandora_revent_create.pl
Cet outil partage des charactéristiques similaires à celles de la section précédente.
Exemple :
/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"
Utilisation de champs personnalisés dans les événements
Vous pouvez générer des événements avec des champs personnalisés via CLI de Pandora FMS. Par exemple, un événement généré avec la commande suivante :
perl pandora_manage.pl \ /etc/pandora/pandora_server.conf \ --create_event 'Custom event' system Firewalls \ 'localhost' 'module' 0 4 '' 'admin' '' '' '' '' \ '{"Location": "Office", "Priority": 42}'
Ça ressemblerait à ça :
Configuration des événements
À travers Events →View eventsles →Manage events, vous pouvez configurer :
- Filtrage des événements.
- Réponses aux événements.
- Affichage des événements.
Personnalisation de la vue de l'événement
Il est possible de personnaliser les champs que le visualiseur d'événements affiche par défaut ; pour cela, à partir de la section ►Events → View events, click Manage events → Custom columns, vous pouvez choisir les champs que vous voulez afficher.
Vous pouvez aussi y arriver à travers Management → Configuration → Events → Custom columns.
Par défaut, les champs affichés sont :
- Severity mini : gravité de l’événement en format réduit
- Event name : Nom événement.
- Agent ID : ID agent.
- Status : Etat événement.
- Timestamp : Date création événement
Cependant, il y a un grand nombre de champs en plus de ceux affichés par défaut qui peuvent être ajoutés à la liste “ Fields selected ” :
- Event ID : ID événement
- Event type : type événement
- Agent name : Nom agent.
- ACK Timestamp : Date validation événement
- User : Utilisateur créateur de l’événement
- Group : Groupe auquel appartient le module
- Module name : Nom du module.
- Module status : Etat dans lequel se trouve le module
- Alert : Alerte associée à l’événement
- Severity : gravité de l’événement
- Comment : Commentaire(s) événement
- Tags : Étiquettes du module
- Source : Source d'origine de l'événement.
- Extra ID : ID extra.
- Owner : Propriétaire.
- ACK Timestamp : Date dans laquelle l'événement a été validé.
- Instructions: Instructions de critique ou avertissement
- Server name: Nom du serveur d'où provient l'événement.
- Data: Donnée numérique qui signale l’événement.
- Module status : État du module.
- Module custom ID : Valeur du champ Module custom ID du module.
Sélectionnez les champs à afficher dans la liste Fields availableet déplacez-les dans Fields selected à l'aide des flèches
Suvergardez les modifications avec le bouton Update.
Création de filtres d'événements
Dans cette section, vous pouvez créer, supprimer et modifier les filtres appliqués sur la vue des événements.
En cliquant sur Create filter, vous pouvez créer et choisir les champs à filtrer :
Une fois les filtres sauvegardés, depuis la vue Event view elle-même vous pouvez les charger pour visualiser rapidement l'information désirée sans reconfigurer le filtre chaque fois :
Event Responses
Introduction
Une réponse à un événement est une action personnalisée qui peut être exécutée sur un événement, telle que la création d'un ticket Integria IMS avec les informations pertinentes sur l'événement.
Vous devez saisir un nom représentatif, la description, les paramètres à utiliser séparés par des virgules, la commande à utiliser (ces dernières permettent l'utilisation de macros), le type et le serveur qui va exécuter la commande.
Event Responses macros
Les macros acceptées sont les suivantes :
_agent_address_
Adresse de l'agent.
_agent_alias_
Alias de l'agent.
_agent_id_
Identifiant de l'agent.
_agent_name_
Nom de l'agent.
_alert_id_
Identifiant de l'alerte associée à l'événement
_command_timeout_
Temps de réponse de la commande (secondes).
_current_user_
Identifiant de l'utilisateur qui exécute la réponse.
_current_username_
Nom complet de l'utilisateur qui exécute la réponse.
_customdata_json_
Extrait les informations des données personnalisées au format JSON.
_customdata_text_
Sortir toutes les données personnalisées en mode texte (avec des sauts de ligne).
_customdata_X_
Extrait un champ particulier des données personnalisées, en remplaçant le X par le nom du champ.
_event_date_
Date dans laquelle s'est produit l'événement.
_event_extra_id_
Identifiant extra.
_event_id_
Identifiant de l'événement.
_event_instruction_
Instructions de l'événement.
_event_severity_id_
Identifiant de la criticité de l'événement.
_event_severity_text_
Criticité de l'événement (traduit par la console Pandora FMS).
_event_source_
Source de l'événement.
_event_status_
État de l'événement (Nouveau, validé ou événement en processus).
_event_tags_
Étiquettes de l'événement séparées par des virgules.
_event_text_
Texte complet de l'événement.
_event_type_
Type d'événement (Système, Changeant à l'état inconnu…).
_event_utimestamp_
Date dans laquelle s'est produit l'événement sous format utimestamp.
_group_id_
Identifiant du groupe.
_group_name_
Nom du groupe dans la base de données.
_group_contact_
Informations de contact pour un groupe d'agents.
_module_address_
Adresse du module associé à l'événement.
_module_id_
Identificant du module associé à l'événement.
_module_name_
Nom du module associé à l'événement.
_node_id_
Pour Metaconsole et Node: renvoie l'identifiant du nœud.
_node_name_
Pour Metaconsole et Node: renvoie le nom du nœud.
_owner_user_
Utilisateur proprietaire de l'événement.
_owner_username_
Nom complet de l'utilisateur proprietaire de l'événement.
_user_id_
Identifiant de l'utilisateur.