Système d'alertes

Introduction

Une alerte est la réaction de Pandora FMS à une valeur incorrecte d'un Module. Cette réaction est configurable et peut consister en n'importe quoi qui puisse être déclenché par un script configuré dans le Système d'Exploitation où s'exécute le Pandora FMS Server qui traite le Module, l'Événement ou le Log.

Dans Pandora FMS, les alertes fonctionnent en définissant des conditions de déclenchement, des actions choisies pour cette alerte, et enfin l'exécution de commandes sur le Pandora FMS Server, qui seront chargées de mener à bien les actions configurées.

Il existe plusieurs types d'alertes :

Pandora FMS dispose également d'un système de gestion des arrêts de service planifiés ou programmés dans le menu Management → Alerts → Scheduled downtime. Ce système permet de désactiver les alertes pendant les intervalles où il y a un arrêt de service.

Structure d'une alerte

Cliquez pour agrandir

  • Commandes : Spécifient ce qui sera fait ; ce sera l'exécution réalisée par le Pandora FMS Server lors du déclenchement de l'alerte.
  • Actions : Spécifient comment cela sera fait ; ce sont les personnalisations des arguments de la commande.
  • Modèles : Spécifient quand cela sera fait ; ils définissent les conditions pour déclencher la ou les actions.

Flux d'informations dans le système d'alertes

Les modèles et les actions ont une série de champs génériques appelés
Field1 , Field2 , Field3, (…) , Fieldn
qui sont utilisés pour transférer les informations du modèle à l'action et de l'action à la commande, pour finalement être utilisés comme paramètres dans l'exécution de ladite commande.

Ces informations sont transférées tant que l'étape suivante n'apporte pas déjà des informations définies dans ses champs Fieldn. C'est-à-dire qu'en cas de chevauchement de champs ou de paramètres, l'action écrase le modèle (par exemple, si le modèle a défini Field1 et l'action aussi, le Field1 de l'action écrase l'action du modèle).

Commande d'Alerte

Introduction

Menu Management → Alerts → Commands.

Les actions que Pandora FMS effectuera face à des situations d'alerte se traduiront finalement par des exécutions sur le serveur, sous forme de commandes.

Pour créer des commandes d'alerte, vous devez vous connecter en tant que super-utilisateur PFMS.

Création d'une commande pour une alerte

Menu Management → Alerts → Commands → Create +.

Il est recommandé de vérifier depuis la ligne de commande si l'exécution de la commande réussit et produit le résultat souhaité (envoyer un e-mail, générer une entrée dans un fichier journal, etc.).

  • Command : Commande qui sera exécutée lors du déclenchement de l'alerte. Il est possible d'utiliser des macros pour remplacer les paramètres configurés dans la déclaration des alertes.
  • Group : Cela détermine à quel groupe d'alertes la commande peut être associée. Vous ne pourrez attribuer qu'un groupe auquel appartient l'utilisateur qui crée la commande d'alerte, à moins que cet utilisateur n'appartienne explicitement au groupe TOUS (ALL).
  • Field description et Field values :
  1. Valeurs de champ disponibles : Une collection de valeurs possibles pour ce champ. Si ce champ est configuré (n'est pas vide), le champ sera une liste de sélection au lieu d'une zone de texte. Cette liste nécessite pour chaque valeur possible une étiquette (l'option visible) et une valeur (l'option envoyée). La syntaxe est la suivante :

    valeur1,étiquette1;valeur2,étiquette2;valeur3,étiquette3;valeurN,étiquetteN

  2. Hide : Si le champ contient un mot de passe, l'activation de cette option masque le contenu avec des astérisques.
  • Il est possible d'afficher un éditeur de code HTML dans un champ de la commande lors de la création ou de la modification d'une action d'alerte si ce champ de la commande a pour valeur le token spécial _html_editor_.

Il faut tenir compte du fait que les commandes pour les alertes exécutées par le Pandora FMS Server sont réalisées avec les mêmes privilèges que l'utilisateur qui exécute le serveur Pandora FMS.

Commandes prédéfinies

Menu Management → Alerts → Commands.


Quelques-unes des commandes incluses dans l'installation de Pandora FMS :

  • eMail : Envoie un e-mail depuis le Pandora FMS Server. Les messages e-mail sont envoyés au format HTML. Il faut tenir compte du fait que le destinataire doit pouvoir accéder aux ressources utilisées dans le modèle, telles que les images.
  • Internal audit : Génère une entrée dans le système d'audit interne de Pandora FMS. Celle-ci est stockée dans la base de données de Pandora FMS et peut être consultée avec la visionneuse d'événements depuis la Console web.
  • Monitoring Event : Crée un événement personnalisé dans la Console d'événements de Pandora FMS.
  • Alertlog : C'est une alerte prédéfinie qui écrit les alertes au format ASCII texte brut dans le fichier
    /var/log/pandora/pandora_alert.log .
  • SNMP Trap : Envoie un trap SNMP paramétré avec les arguments utilisés.
  • Syslog : Envoie une alerte au journal système via la commande système logger.
  • Sound Alert : Joue un son dans la console sonore d'événements lorsqu'une alerte se produit.
  • Jabber Alert : Envoie une alerte Jabber à un salon de discussion sur un serveur prédéfini (le fichier .sendxmpprc doit d'abord être configuré). Pour ce faire, l'alias de l'utilisateur est placé dans field1, le nom du salon de chat dans field2 et le message texte dans field3.
  • SMS Text : Envoie un SMS à un téléphone mobile spécifique. Il est d'abord nécessaire de définir une alerte et de configurer une gateway d'envoi de SMS accessible depuis le Pandora FMS Server.
  • Validate Event : Valide tous les événements liés à un module. Le nom de l'agent et le nom du module lui seront transmis.
  • Remote agent control : Envoie des commandes aux agents avec le serveur UDP activé. Le serveur UDP est utilisé pour ordonner aux agents (MS Windows® et UNIX®) de rafraîchir l'exécution de l'agent : c'est-à-dire, de forcer l'agent à s'exécuter et à envoyer des données.
  • Generate Notification : Permet d'envoyer une notification interne à n'importe quel utilisateur. Les destinataires doivent être ajoutés de mémoire et chaque utilisateur supprimera sa notification lorsqu'il le pourra et/ou le jugera approprié.
  • Send report by e-mail et Send report by e-mail (from template) : Les deux options permettent d'envoyer un rapport dans différents formats (PDF, JSON, CSV) par e-mail, la deuxième option permet d'utiliser un modèle pour ledit rapport joint.

Lorsqu'une URL publique est définie pour une Console web, les messages e-mail envoyés auront ce lien établi.

  • Console notification : Permet d'envoyer une notification par Console web à n'importe quel utilisateur. Les destinataires disponibles seront ajoutés de manière interactive. Les notifications apparaîtront et disparaîtront selon que l'alerte correspondante est déclenchée ou récupérée. De plus, les messages seront définitivement supprimés en fonction du token Max. days before delete old messages. Des macros préconfigurées permettront d'afficher des informations sur l'agent, le module, etc. Il faut s'assurer que le destinataire dispose de droits de lecture suffisants sur les éléments alertés.
  • API request : Effectue une requête API via une action d'alerte construite sur la base de cette commande. Les paramètres suivants seront nécessaires, dans cet ordre :
  1. URL : Adresse IP ou lien web vers le serveur API où la requête sera effectuée.
  2. Method : Méthode à utiliser, parmi une liste d'options (GET, POST, PUT, PATCH, DELETE), similaires à celles utilisées par l'API PFMS (sauf PATCH).
  3. Headers : Pour inclure le format de la requête (généralement au format JSON), le token d'autorisation, etc.
  4. Data : La requête elle-même et ses paramètres respectifs.
  5. SSL : Indique si une connexion chiffrée sera utilisée pour établir la connexion.

Une requête typique inclut un code similaire à celui-ci :

  • HEADER :
    Authorization: Bearer abc123token
    Content-Type: application/json
    X-Request-ID: 123456
  • DATA :
    {'title': 'foo', 'body': 'bar'}

Modification d'une commande pour une alerte

Menu Management → Alerts → Commands → cliquez sur le nom de la commande à modifier.

Une fois l'alerte choisie modifiée, cliquez sur le bouton Update pour enregistrer les modifications.

Les commandes système suivantes sont inaltérables :

  • eMail (Id. 1).
  • Internal Audit (Id. 2).
  • Monitoring Event (Id. 3).
  • Validate Event (Id. 10).
  • Generate Notification (Id. 13).
  • Send report by e-mail (Id. 14).
  • Send report by e-mail (from template) (Id. 15).
  • Pandora ITSM Ticket (Id 16).
  • Pandora Telegram (Id 19, enregistrer le token dans la configuration générale).
  • RMM Script (Id. 22).
  • Console notification (Id. 23).
  • API request (Id. 24).

Action

Introduction

Les actions sont les composants des alertes dans lesquels une commande est liée aux variables génériques :
Field 1, Field 2, … , Field 10.

Les actions permettent de définir le comment de l'exécution de la commande.

Création d'une Action

Menu Management → Alerts → Actions → Create.

Si vous allez créer une action d'alerte basée sur l'une des commandes d'alerte prédéfinies, il est plus pratique de copier l'action d'alerte prédéfinie puis de la modifier.

  • Group : Le groupe de l'action. Vous ne pourrez attribuer qu'un groupe auquel appartient l'utilisateur qui crée la commande d'alerte, à moins que cet utilisateur n'appartienne explicitement au groupe TOUS (ALL). Si la commande associée a un groupe différent de All, vous ne pourrez définir comme groupe de l'action que le groupe associé à la commande ou le groupe All. Si, pour une raison quelconque, cela vient à différer, un message d'avertissement s'affichera pour sa correction rapide par un utilisateur disposant des droits nécessaires.
  • Command : Commande qui sera utilisée au cas où l'alerte serait exécutée. Vous pouvez choisir parmi les différentes commandes prédéfinies dans Pandora FMS.
  • Threshold : Une action d'alerte n'est exécutée qu'une seule fois dans cet intervalle de temps, indépendamment du nombre de fois où l'alerte est activée.
  • Command Preview : Dans ce champ, non modifiable, apparaîtra automatiquement la commande qui sera exécutée sur le système.
  • Field 1 ~ Field 10 : Si nécessaire, ces champs définissent la valeur des macros (de _field1_ à _field10_) qui seront utilisées dans la commande. Ces champs peuvent être un champ de texte ou une liste de sélection, si configurés ainsi.

Lorsqu'une valeur est attribuée aux Field dans la section Triggering, par défaut ce seront les mêmes valeurs pour Recovery, à moins qu'une valeur différente ne soit attribuée.

Actions d'alerte prédéfinies

  • Console notification : Cette commande vous permet de générer une notification au superviseur lorsqu'une alerte est activée. Elle utilise la commande d'alerte prédéfinie Console notification. En modifiant cette action prédéfinie, vous pouvez sélectionner les utilisateurs qui seront notifiés.
  • Create Pandora ITSM ticket : L'activation de l'intégration avec Pandora ITSM permet de créer automatiquement des incidents dans cette application.
  • Mail to Admin : Utilise la commande prédéfinie eMail pour envoyer un message e-mail tel que configuré dans le champ Destination address.
  • Monitoring Event : Utilise la commande du même nom et vous pouvez configurer les types et la sévérité (déclenchement et récupération) des événements, entre autres détails.
  • Pandora Goggle chat, Pandora ilert, Pandora MS Teams, Pandora Slack, Pandora Telegram, Pandora Vonage : Pandora FMS peut envoyer des notifications, après configuration, dans plusieurs applications de messagerie instantanée.
  • Restart agent : Permet d'envoyer des instructions (redémarrer par défaut) selon la commande
    Remote agent control aux EndPoints PFMS.
  • Send Report by e-mail et Send Report by e-mail (from template) : Pour l'envoi de rapports par e-mail. Ici, vous pourrez configurer les destinataires, le rapport en tant que tel (ou le modèle) et son format (PDF, JSON ou CSV).

Modifier une Action

Menu Management → Alerts → Actions → cliquez sur le nom de l'action à modifier.

Supprimer une action

Menu Management → Alerts → Actions → cliquez sur l'icône de corbeille correspondante (colonne Delete).

Modèle d'alerte

Introduction aux modèles d'alerte

Menu Management → Alerts → Templates.

Les modèles définissent les conditions de déclenchement de l'alerte (quand exécuter l'action).

Ils sont associés à des Modules, de telle sorte qu'au moment où les conditions du modèle sont remplies, l'action ou les actions associées seront exécutées. Leur conception permet de générer un groupe réduit de modèles génériques qui servent pour la majorité des cas possibles dans Pandora FMS.

Création d'un Modèle

Menu Management → Alerts → Templates → Create.

Étape 1 : Général

  • Group : Le groupe auquel le modèle sera appliqué. Vous ne pourrez attribuer qu'un groupe auquel appartient l'utilisateur qui crée le modèle, à moins que cet utilisateur n'appartienne explicitement au groupe TOUS (ALL).
  • Priority : Champ informatif concernant l'alerte. L'événement généré lors du déclenchement de l'alerte héritera de cette priorité, utile pour filtrer dans les recherches d'alertes.

Étape 2 : Conditions

  • Use special days list : Définit le calendrier des jours spéciaux qui sera utilisé dans le modèle.
  • Time Threshold : Temps qui doit s'écouler pour réinitialiser le compteur d'alertes. Il définit l'intervalle de temps dans lequel il est garanti qu'une alerte ne se déclenchera pas plus de fois que le nombre défini dans Max. number of alerts. Passé l'intervalle défini, le compteur sera réinitialisé. La réinitialisation du compteur de déclenchements ne redémarrera pas si l'alerte récupère à l'arrivée d'une valeur correcte, sauf si la valeur est activée Reset counter for non-sustained alerts, auquel cas le compteur sera réinitialisé immédiatement après la réception d'une valeur correcte.
  • Min number of alerts : Nombre minimum de fois où la situation définie dans le modèle doit se produire (en comptant toujours à partir du nombre défini dans le paramètre Flip Flop du Module) pour commencer à déclencher une alerte. La valeur par défaut est 0, ce qui signifie que l'alerte se déclenchera lorsque la première valeur remplissant la condition arrivera. Il fonctionne comme un filtre, utile pour ignorer les faux positifs.
  • Max number of alerts : Nombre maximum d'alertes pouvant être envoyées consécutivement dans le même intervalle de temps (Time Threshold). C'est la valeur maximale du compteur d'alertes. Il n'arrivera pas plus d'alertes par intervalle de temps que celles indiquées dans ce champ.
  • Default Action : Dans cette liste, l'action par défaut qu'aura le modèle est définie. C'est l'action qui sera créée automatiquement lorsque vous attribuerez le modèle au module. Vous pouvez définir une action ou aucune, cependant vous ne pouvez pas définir plusieurs actions par défaut.
  • Schedule : Définit les jours où l'alerte pourra se déclencher. Il est possible de voir et de configurer quand l'alerte sera active chaque jour de la semaine grâce à l'éditeur intégré affiché par défaut en mode simple. De plus, en accédant au mode détaillé, les horaires peuvent être configurés avec une plus grande précision.
  • Reset counter for non-sustained alerts : Son activation dépend du fait que le nombre indiqué dans Min. number of alerts soit supérieur à 0. En activant ce token, le compteur d'alertes est réinitialisé lorsque la condition indiquée ne se répète pas consécutivement. Par exemple, si le champ Min. number of alerts a une valeur de 2, cela signifiera que le module doit passer 3 fois par l'état assigné dans Condition type pour déclencher l'alerte. Il y a deux scénarios avec ce dernier token :
  1. Si le token de réinitialisation est coché, il sera nécessaire que le nombre d'états critiques soit consécutif, sinon le compteur sera réinitialisé :

    normal → critical → critical → critical

  2. Si le token de réinitialisation n'est pas coché, l'alerte se déclenchera après une séquence alternative ou continue d'états critiques :

    normal → critical → normal → critical → normal → critical

Pour vérifier périodiquement les modules dans un état inconnu (Unknown status), vous pouvez activer le token unknown_updates dans la configuration du PFMS Server.

  • Disable event : En cochant ce token, l'événement généré dans la vue des événements de déclenchement d'alerte ne sera pas créé.
  • Condition type : Permet de spécifier l'élément qui déclenchera l'alerte, comme par exemple qu'il soit dans un état critique (Critical status) ou qu'il soit simplement différent de l'état normal (Not normal status). Des alertes complexes (Complex alerts) peuvent également être établies, par exemple que la somme soit exactement égale à deux au cours des trente derniers jours :

Étape 3 : Champs avancés

  • Alert recovery : Liste où l'on peut définir s'il faut activer ou non la récupération des alertes. Dans le cas où la récupération d'alerte est activée, lorsque le module cesse de remplir les conditions indiquées par le modèle, l'action associée sera exécutée avec les arguments spécifiés par les champs field définis dans cette colonne.
  • Dans toutes les instances des champs field1field10 (tant dans le modèle d'alerte, que dans la commande et l'action), les macros définies dans la liste de macros peuvent être utilisées.

Une fois la configuration terminée, cliquez sur le bouton Finish.

Modèles d'alerte prédéfinis

Modèles qui sont créés par défaut lors de l'installation de PFMS :

  1. Critical condition : Configuré avec une sévérité critique, un type de condition en état critique, avec pour action par défaut l'envoi d'un message e-mail à l'administrateur et avec la récupération d'alerte activée.
  2. Manual alert : Il s'agit d'un modèle utilisé pour déclencher des alertes manuelles, la condition définie ici ne sera jamais exécutée. Ce modèle est utilisé pour attribuer aux actions et commandes utilisées pour effectuer la gestion à distance (redémarrage de l'EndPoint, exécuter des commandes sur le serveur, etc.).
  3. Warning condition : Configuré avec une sévérité d'avertissement, un type de condition en état d'avertissement, avec pour action par défaut l'envoi d'un message e-mail à l'administrateur et avec la récupération d'alerte activée.
  4. Unknown condition : Configuré avec une sévérité d'avertissement, un type de condition en état inconnu, avec pour action par défaut l'envoi d'un message e-mail à l'administrateur et avec la récupération d'alerte activée.
  5. Default critical condition : Les quatre modèles précédents peuvent être personnalisés, ce modèle est en lecture seule (modèle système) et est une copie du modèle Critical condition. Il est inclus ainsi compte tenu de l'importance de l'état de criticité.

Attribuer des Modèles d'alerte aux modules

Gestion des Alertes depuis le sous-menu des Alertes

Attribution des Alertes depuis le sous-menu des Alertes

Menu Management → Alerts → Module Alerts → cliquez sur l'icône de crayon Builder alert.

  • Agent : Remplissage automatique pour choisir l'Agent.
  • Module : Liste des modules de l'Agent précédemment sélectionné.
  • Actions : Action qui sera exécutée lors du déclenchement de l'alerte. Si le modèle a déjà une action par défaut, il peut être laissé sur Default.
  • Template : Modèle qui contiendra les conditions de déclenchement de l'alerte.
  • Threshold : Une action d'alerte ne sera pas exécutée plus d'une fois toutes les action_threshold secondes, malgré le nombre de fois où l'alerte est déclenchée. Ce seuil a la priorité sur la configuration du seuil de l'action.

Modifier les alertes depuis le sous-menu des Alertes

Une fois qu'une alerte a été créée, il ne sera possible de modifier que les actions qui ont été ajoutées à l'action qu'a le modèle.

Il est également possible de supprimer l'action qui a été sélectionnée lors de la création de l'alerte en cliquant sur l'icône de corbeille grise située à droite de l'action, ou d'ajouter de nouvelles actions en cliquant sur le bouton +.

À partir de la version 781, l'action par défaut n'est affichée que si elle est la seule existante.

Gérer les alertes depuis l'agent

Depuis la section d'administration de l'agent, de nouvelles alertes peuvent être ajoutées en naviguant vers l'onglet correspondant :

Là, vous pourrez :

  1. Visualiser l'alerte en détail (colonne Template, icône de loupe ).
  2. Éditer ou supprimer toutes et chacune des actions de chaque alerte assignée à l'agent (colonne Actions).
  3. Depuis la colonne des options (Op.) :
  • Vous pourrez désactiver ou activer.
  • Vous pourrez placer l'alerte en mode standby .
  • Vous pourrez ajouter une action.
  • Vous pourrez supprimer complètement l'alerte (sans message de confirmation).

Vue d'ensemble d'une alerte

  • Définir le seuil critique et d'avertissement dans le module.
  • Associer l'alerte au module, pour cela aller dans l'onglet des alertes au sein de l'Agent où se trouve le Module.

Si nécessaire, vous pouvez créer une nouvelle action et/ou un nouveau modèle, en cliquant sur ces boutons, vous serez redirigé vers les sections correspondantes. Une fois le(s) nouveau(x) composant(s) créé(s), vous devez retourner à l'étape précédente.

  • Avec le bouton Add alert, la nouvelle alerte est enregistrée.
  • Escalade des alertes : Une escalade d'alertes correspond à des actions supplémentaires qui sont exécutées si l'alerte se répète un certain nombre de fois de manière consécutive.
  1. Il suffit d'ajouter les actions supplémentaires et de déterminer entre quelles répétitions consécutives (Number of matching alerts) de l'alerte cette action s'exécutera.
  2. Lorsqu'une alerte récupère, toutes les actions qui ont été exécutées jusqu'à ce moment-là s'exécuteront à nouveau, pas seulement celles qui correspondent à la configuration actuelle de Number of alerts match from.
  3. De plus, un Threshold peut être placé comme deuxième paramètre, grâce auquel une alerte ne pourra pas se déclencher plus d'une fois pendant cet intervalle.

Enfin, vous pouvez configurer l'envoi de messages d'alerte via une messagerie instantanée telle que Telegram ou toute autre disponible.

Alertes en Standby

Les alertes peuvent être activées ou désactivées ou en mode veille (standby).

La différence entre celles qui sont en standby et les alertes désactivées est que celles désactivées ne fonctionneront tout simplement pas et ne s'afficheront donc pas dans la vue des alertes.

En revanche, les alertes en standby s'afficheront dans la vue des alertes et fonctionneront uniquement au niveau de l'affichage. C'est-à-dire qu'elles indiqueront si elles sont déclenchées ou non mais elles n'effectueront pas les actions programmées et ne généreront pas d'événements.

Les alertes en standby sont utiles pour pouvoir les visualiser sans qu'elles interfèrent ou gênent d'autres aspects.

Protection en cascade

La protection en cascade est une fonctionnalité de Pandora FMS qui permet d'éviter un bombardement massif d'alertes lorsqu'un groupe d'Agents n'est pas accessible, en raison de la défaillance d'une connexion principale.

Ce genre de choses se produit lorsqu'un élément de réseau intermédiaire comme un routeur ou un commutateur tombe en panne, rendant inaccessible une grande partie du réseau géré avec Pandora FMS. Les vérifications du réseau échouant dans ce scénario, des alertes pour des appareils hors ligne commenceraient à se déclencher sans que cela soit vrai.

Pour que l'agent fonctionne avec la protection en cascade activée, il doit avoir son Agent parent correctement configuré (Advanced options, token Parent), dont il dépend.

Si l'Agent parent a à ce moment-là une alerte de Module déclenchée dans un état critique, l'agent inférieur avec la protection en cascade n'exécutera ses alertes de modules qu'en état warning ou unknown.

La protection en cascade est activée à partir du Setup de chaque Agent, section Advanced options, cliquez sur l'option Cascade protection modules et/ou Cascade protection services.

Protection en cascade basée sur les services

La protection en cascade basée sur les services évite que les éléments d'un service ne déclenchent leurs alertes si l'alerte du service auquel ils appartiennent est déclenchée.

Pour activer cette fonctionnalité, le token Cascade protection services doit être activé dans la configuration avancée des agents nécessitant ce comportement, et le token Cascade protection enabled doit être activé dans la configuration du service auquel ces agents appartiennent.

Lorsque l'alerte de service est déclenchée, les informations sur les éléments du service en état critique peuvent être envoyées dans l'alerte avec la macro _rca_ macro qui indiquera la cause fondamentale de l'état du service.

Protection en cascade basée sur les modules

L'état du Module d'un Agent parent peut être utilisé pour empêcher l'envoi des alertes de l'Agent enfant s'il passe dans un état critique (seule la case Hierarchy & behavior est affichée) :

Mode d'opération sécurisé

Le mode d'opération sécurisé peut être activé dans les options de configuration avancée d'un Agent.

Si l'état du Module sélectionné passe à critical, le reste des Modules de l'Agent sont désactivés jusqu'à ce qu'il revienne à normal ou warning à nouveau. Cela permet de désactiver des Modules distants si la connectivité est perdue, entre autres utilisations.

Macros personnalisées d'alerte de module

Ces macros spécifiques peuvent être ajoutées en développant la section des macros de n'importe quel module.

  • Elles sont définies dans le Module.
  • Elles stockent les données dans la base de données.
  • Elles peuvent avoir n'importe quel nom, par exemple _myMacro.
  • Elles ne sont pas reflétées dans la configuration locale (.conf).
  • Elles sont utilisées exclusivement pour les alertes.
  • Elles ne peuvent pas être définies au niveau du composant.
  • Elles peuvent être définies dans les politiques de supervision.
  • Les valeurs établies peuvent être utilisées comme partie des champs dans la définition des alertes.

Configuration des e-mails pour les alertes dans Pandora FMS

Pandora FMS possède par lui-même la capacité d'envoyer des e-mails tel qu'expliqué dans la configuration générale de la Console. Cependant, sa flexibilité permet l'envoi d'e-mails avec différentes plateformes de messagerie. Une fois les deux mécanismes établis, il sera possible de configurer l'action d'envoi et de créer son alerte.

Alertes sur événements

Menu Management → Alerts → Event Alerts.

Des alertes peuvent être construites sur la base des événements reçus. Ces alertes peuvent être simples ou complexes, sur la base d'un ensemble de règles avec des relations logiques.

Ce type d'alertes permet de travailler selon une perspective beaucoup plus flexible, car les alertes ne sont pas générées en fonction de l'état d'un Module spécifique, mais sur un événement qui peut avoir été généré par plusieurs Modules différents et même de différents Agents.

Lors de la définition des alertes sur les événements, il est impératif d'indiquer les paramètres agent, module et événement.

Dans les environnements Command Center, les alertes d'événements ne sont pas centralisées. Chaque nœud devra avoir ses règles d'événement configurées car les règles configurées dans le Command Center ne déclencheront que les alertes des événements du Command Center lui-même.

Chaque alerte d'événement est configurée pour se déclencher face à un type d'événement déterminé ; lorsque l'équation logique définie par les règles et leurs opérateurs est remplie, l'alerte se déclenchera.

Étant donné le nombre élevé d'événements que la base de données de Pandora FMS peut héberger, le serveur travaille sur une fenêtre d'événements maximale, paramètre event_window, qui est défini dans le fichier de configuration pandora_server.conf. Les événements générés en dehors de cette fenêtre temporelle ne seront pas traités par le serveur.

Création d'alertes d'événements

Au cas où l'Event Server serait désactivé, il devra être activé avec le paramètre eventserver 1 dans le fichier de configuration du PFMS Server ou utiliser l'administration distante du serveur de la Console web.

Menu Management → Alerts → Event Alerts.


Avec le bouton Create, une nouvelle alerte d'événement est ajoutée et le processus est similaire à la création d'un modèle d'alerte.

Il y a cinq étapes pour la création complète d'une alerte d'événement, certains aspects importants sont :

  • Étape 1, Configure : Contient les données de base comme le nom, le groupe d'agents auquel appartiendra l'alerte d'événement et sa sévérité.
  • Étape 2, Conditions : Étape où seront assignés un modèle d'alerte, une liste de jours spéciaux, l'option Disable event (l'événement généré dans la vue des événements de déclenchement d'alerte ne sera pas créé si ce token est coché) et un mode d'évaluation des règles :

Lorsqu'il existe deux alertes d'événements ou plus, elles sont évaluées une par une en suivant l'ordre chronologique de création et, si nécessaire, en établissant une hiérarchie.

Chaque alerte d'événement a pour cela deux paramètres de configuration spécifiques :

  • Rule evaluation mode : Peut être Pass ou Drop. Le premier signifie que, dans le cas où un événement remplit les règles d'une alerte, le reste des alertes continuera d'être évalué ensuite. C'est le comportement par défaut. Drop, d'un autre côté, signifie que lorsqu'un événement remplit les conditions d'une alerte, l'évaluation du reste des alertes cesse.
  • Grouped by : Permet de regrouper les règles par Agent, Groupe, Module ou Alerte de module. Ainsi, si une règle est configurée pour se déclencher à la réception de deux événements critiques et qu'elle est regroupée par Agent, deux événements critiques d'un même Agent devront arriver.

À la fin de la création et en retournant à la vue globale, vous aurez la liste des alertes d'événements enregistrées et les informations à leur sujet, en plus des options les concernant (opérer avec l'action désactivée, en mode standby, ajouter plus d'actions, modifier ou supprimer l'alerte d'événement correspondante). Il sera également possible de changer l'ordre entre les différentes alertes d'événements.

Règles dans une alerte d'événement

Les alertes d'événements sont basées sur des règles de filtrage qui emploient les opérateurs logiques suivants :

and nand
or nor
xor nxor

Ces opérateurs logiques servent à rechercher des événements et/ou des expressions qui correspondent aux règles de filtrage configurées et, si des correspondances sont trouvées, l'alerte se déclenchera.

Pour définir les règles de l'alerte, il sera nécessaire de faire glisser les éléments de la partie gauche (Available items) vers la partie droite (Rule definition) pour construire chaque règle :

Les modifications ne seront enregistrées que lorsque vous cliquerez sur le bouton Next et passerez ainsi à l'étape suivante.

Ces éléments seront activés pour guider l'utilisateur dans le respect de la grammaire de la règle. Ci-dessous, une explication simplifiée de la grammaire à utiliser :

S → R | R + NEXO +R

R → CHAMP + OPÉRATEUR + C | CAMPO + OPÉRATEUR + C + MODIFICATEUR

C → VARIABLE

S est l'ensemble des règles définies pour l'alerte d'événement.

Les blocs ont une simultanéité au moment de remplir la condition, A et B étant chacun une règle :

(A and B)

Oblige à ce que l'élément analysé (événement) remplisse simultanément A et B.

A and B

Oblige à ce que les deux règles (A) et (B) soient remplies dans la fenêtre d'évaluation. Cela signifie qu'il doit exister des entrées qui satisfont aux deux règles dans les dernières secondes (défini par le
paramètre event_window).

Dans les opérateurs de comparaison == et !=, les chaînes de texte sont comparées littéralement. Pour plus de flexibilité, envisagez d'utiliser l'opérateur REGEX qui emploie des Expressions Régulières.

Champs dans une alerte d'événement

Field2 , Field3, (…) , Fieldn doivent être configurés, lesquels sont utilisés pour transférer les informations du modèle à l'action et de l'action à la commande, pour finalement être utilisés comme paramètres dans l'exécution de ladite commande.

Ces informations sont transférées tant que l'étape suivante n'apporte pas déjà des informations définies dans ses champs Fieldn. C'est-à-dire qu'en cas de chevauchement de champs ou de paramètres, l'action écrase le modèle (par exemple, si le modèle a défini Field1 et l'action aussi, le Field1 de l'action écrase l'action du modèle).

Version 764 ou ultérieure : Les macros liées aux modules et aux agents ne sont pas disponibles dans les champs de la section Alert recovery puisque la récupération de ces alertes est exécutée lorsque le threshold se termine et manque d'un événement de récupération pour obtenir lesdites informations.

Déclenchement dans une alerte d'événements

Dans cette section, vous devez configurer les actions qui seront réalisées lors du déclenchement de l'alerte et indiquer à quels intervalles et à quelle fréquence ladite action ou actions seront exécutées.

  • Actions : Action qui doit être exécutée.
  • Threshold : Intervalle de temps qui doit s'écouler pour que l'action soit de nouveau exécutée une fois l'alarme déclenchée.

Une fois les paramètres précédents sélectionnés, on appuie sur le bouton Add puis on peut choisir et visualiser la liste des actions configurées (section Select the desired action and mode to view the Triggering fields for this action).

Les informations concernant le dernier déclenchement d'alerte seront présentées selon la façon dont cela est configuré (Timestamp, time comparison, or compact mode).

Macros pour alerte d'événement

Les macros qui peuvent être utilisées dans la configuration d'une alerte d'événement se trouvent dans la liste de macros.

Alertes de logs

Menu Management → Alerts → Log Alerts.

Des alertes peuvent être construites sur la base des logs reçus. Ces alertes peuvent être simples ou complexes, sur la base d'un ensemble de règles avec des relations logiques.

Ce type d'alertes permet de travailler selon une perspective beaucoup plus flexible, car les alertes ne sont pas générées en fonction de l'état d'un Module spécifique, mais sur un log qui peut avoir été généré par plusieurs Modules différents et même de différents Agents.

Chaque alerte de log est configurée pour se déclencher face à un type d'événement déterminé ; lorsque l'équation logique définie par les règles et leurs opérateurs est remplie, l'alerte sera exécutée.

Étant donné le nombre élevé de logs qui peuvent être hébergés dans Pandora FMS, le serveur travaille sur une fenêtre d'événements maximale, paramètre log_window, qui est défini dans le fichier de configuration pandora_server.conf. Les logs générés en dehors de cette fenêtre temporelle ne seront pas traités par le serveur.

Création d'alertes de logs


Pour que les alertes de logs fonctionnent, le Log Server doit être activé au moyen du paramètre logserver 1 dans le fichier de configuration du Pandora FMS Server.

Il est recommandé de modifier cette valeur via l'interface graphique de configuration distante.

Ensuite, le Log collector doit être activé dans le menu :
Management → Settings → System Settings → Log collector → Activate Log Collector.

Menu Management → Alerts → Log Alerts.

Avec le bouton Create, une nouvelle alerte de log est ajoutée et le processus est similaire à la création d'un modèle d'alerte.

Il y a cinq étapes pour la création complète d'une alerte de log, certains aspects importants sont :

  • Étape 1, Configure : Contient les données de base comme le groupe d'agents auquel appartiendra l'alerte de log, le nom de l'alerte et sa sévérité.
  • Étape 2, Conditions : Étape où seront assignés un modèle d'alerte, une liste de jours spéciaux, l'option Disable event (l'événement généré dans la vue des événements de déclenchement d'alerte ne sera pas créé si ce token est coché) et un mode d'évaluation des règles :

Lorsqu'il existe deux alertes de logs ou plus, elles sont évaluées une par une en suivant l'ordre chronologique de création et, si nécessaire, en établissant une hiérarchie.

Chaque alerte de log a pour cela deux paramètres de configuration spécifiques :

  • Rule evaluation mode : Choisir Pass signifie que, dans le cas où un log remplit les règles d'une alerte, le reste des alertes de log continuera d'être évalué ensuite. C'est le comportement par défaut. Dans le cas où vous choisissez Drop, lorsqu'un log remplit les conditions d'une alerte, l'évaluation du reste des alertes de log cessera.
  • Grouped by : Permet de regrouper les règles par Agent, Groupe, Module ou Alerte de module. Ainsi, si une règle est configurée pour se déclencher à la réception de deux événements critiques et qu'elle est regroupée par Agent, deux événements critiques d'un même Agent devront arriver.

Dans les alertes contenant des règles de logs, cela n'affectera que le regroupement par Agent. Si vous choisissez un regroupement différent, les alertes basées sur des entrées de log ne seront jamais remplies.

À la fin de la création et en retournant à la vue globale, vous aurez la liste des alertes de logs enregistrées et les informations à leur sujet, en plus des options les concernant (opérer avec l'action désactivée, en mode standby, ajouter plus d'actions, modifier ou supprimer l'alerte de log correspondante). Il sera également possible de changer l'ordre entre les différentes alertes de logs.

Règles dans une alerte de log

Les alertes de logs sont basées sur des règles de filtrage qui emploient les opérateurs logiques suivants :

and or xor
nand nor nxor

Ces opérateurs logiques servent à rechercher des logs et/ou des expressions qui correspondent aux règles de filtrage configurées et, si des correspondances sont trouvées, l'alerte se déclenchera.

Pour définir les règles de l'alerte, il sera nécessaire de faire glisser les éléments de la partie gauche vers la partie droite pour construire chaque règle.

Les modifications ne seront enregistrées que lorsque vous cliquerez sur le bouton pour passer à l'étape suivante (bouton Next).

Une règle d'alerte de log prédéfinie est affichée (Kernel Panic) :

Ci-dessous, une explication simplifiée de la grammaire à utiliser :

S → R | R + NEXO +R

R → CHAMP + OPÉRATEUR + C | CHAMP + OPÉRATEUR + C + MODIFICATEUR

C → VARIABLE

S est l'ensemble des règles définies pour l'alerte de log.

Les blocs ont une simultanéité au moment de remplir la condition, les règles B et A étant chacune :

Oblige à ce que l'élément analysé (log) remplisse simultanément B et A :

(B and A)

Oblige à ce que les deux règles (B) et (A) soient remplies dans la fenêtre d'évaluation (cela signifie qu'il doit exister des entrées qui satisfont aux deux règles dans les dernières secondes et ceci est défini
par le paramètre log_window) :


B and A

Dans les opérateurs de comparaison != et ==, les chaînes de texte sont comparées littéralement. Pour plus de flexibilité, envisagez d'utiliser l'opérateur REGEX, qui utilise des Expressions Régulières.

Champs dans une alerte de log

Field2 , Field3, (…) , Fieldn doivent être configurés, lesquels sont utilisés pour transférer les informations du modèle à l'action et de l'action à la commande, pour finalement être utilisés comme paramètres dans l'exécution de ladite commande.

Ces informations sont transférées tant que l'étape suivante n'apporte pas déjà des informations définies dans ses champs Fieldn.
C'est-à-dire qu'en cas de chevauchement de champs ou de paramètres, l'action écrase le modèle (par exemple, si le modèle a défini Field1 et l'action aussi, le Field1 de l'action écrase l'action du modèle).

Version 764 ou ultérieure : Les macros liées aux modules et aux agents ne sont pas disponibles dans les champs de la section Alert recovery puisque la récupération de ces alertes est exécutée lorsque le threshold se termine et manque d'un événement de récupération pour obtenir lesdites informations.

Déclenchement dans une alerte de log

Ici, vous devez configurer les actions qui seront réalisées lors du déclenchement de l'alerte de log et indiquer à quels intervalles et à quelle fréquence ladite action sera exécutée.

  • Actions : L'action qui doit être exécutée.
  • Threshold : Intervalle de temps qui doit s'écouler pour que l'action soit de nouveau exécutée une fois l'alarme de log déclenchée.

Une fois les paramètres précédents sélectionnés, on appuie sur le bouton Add puis on peut choisir et visualiser la liste des actions configurées (section Select the desired action and mode to view the Triggering fields for this action).

Les informations concernant le dernier déclenchement d'alerte seront présentées selon la façon dont cela est configuré (Timestamp, time comparison, or compact mode).

Macros pour alerte d'événement

Les macros qui peuvent être utilisées dans la configuration d'une alerte d'événement se trouvent dans la liste de macros.

Alertes SIEM

Ces alertes sont évaluées par le serveur d'événements SIEM au moment de leur génération, donc pour leur bon fonctionnement, la supervision SIEM devra être activée et configurée.

Gestion des alertes SIEM

Menu Management → Alerts → SIEM Alerts.

Dans cette section, il est possible de créer, modifier et supprimer des alertes SIEM. L'autorisation LW est nécessaire pour accéder à cette section.

Ces alertes sont basées sur le système de filtres des vues d'événements SIEM, de sorte que tout événement qui serait affiché avec les conditions de filtre configurées sera celui qui déclenchera l'alerte.

Par exemple, si une alerte SIEM est configurée avec un filtre d'événements critiques, juste avant que le serveur d'événements SIEM n'en génère un avec cette condition, l'alerte se déclenchera.

Les alertes SIEM, comme le reste des alertes, disposent d'options de configuration globales pour leur déclenchement.

Opération des alertes SIEM

Menu Operation → SIEM → Alerts.

Dans cette section, il est possible de voir, activer/désactiver et modifier le mode standby des alertes SIEM disponibles dans l'environnement.
L'autorisation LM est nécessaire pour accéder à cette section.

Liste de macros

Les Macros de commandes, les Macros d'actions et les Macros d'alerte d'événement sont communes entre elles avec quelques exceptions spécifiées dans chaque description :

Macro Description
_address_ Adresse IP de l'Agent qui a déclenché l'alerte.
_addressn_n_ L'adresse IP de l'Agent qui correspond à la position indiquée par n :
addressn_1_ , addressn_2_, …
_agent_ Alias de l'Agent qui a déclenché l'alerte. S'il n'a pas d'alias attribué, le nom de l'Agent est utilisé.
_agentalias_ Alias de l'Agent qui a déclenché l'alerte.
_agentcustomfield_n_ Champ personnalisé numéro n de l'Agent :
_agentcustomfield_9_.
_agentcustomid_ Identifiant personnalisé de l'Agent.
_agentdescription_ Description de l'Agent qui a déclenché l'alerte.
_agentgroup_ Nom du groupe de l'Agent.
_agentname_ Nom de l'Agent qui a déclenché l'alerte.
_agentos_ Système d'exploitation de l'Agent.
_agentstatus_ État actuel de l'Agent.
_alert_critical_instructions_ Instructions contenues dans le Module pour un état critical.
_alert_description_ Description de l'alerte.
_alert_name_ Nom de l'alerte.
_alert_priority_ Priorité numérique de l'alerte.
_alert_text_severity_ Priorité en texte de l'alerte (Maintenance, Informational, Normal, Minor, Warning, Major, Critical).
_alert_threshold_ Seuil de l'alerte.
_alert_times_fired_ Nombre de fois où l'alerte s'est déclenchée.
_alert_unknown_instructions_ Instructions contenues dans le Module pour un état unknown.
_alert_warning_instructions_ Instructions contenues dans le Module pour un état warning.
_all_address_ Toutes les adresses de l'Agent qui a déclenché l'alerte.
Macro Description
_critical_threshold_min_ Seuil minimum critique.
_critical_threshold_max_ Seuil maximum critique.
Macro Description
_data_ Donnée qui a provoqué le déclenchement de l'alerte. Si un module utilise une Traduction de donnée, cette macro renverra la valeur traduite.
_dataunit_ Affiche le type d'unité spécifié dans le champ Unit
(situé dans la section Advanced options du module d'un agent).
_discovery_task_ Permet d'obtenir le nom de la tâche Discovery qui a échoué.
Macro Description
_email_tag_ Boîtes e-mail associées aux tags de Modules.
_event_cf_text_ Seulement pour les alertes d'événement :
Extrait toutes les informations des custom data en mode texte (avec des sauts de ligne).
_event_cf_json_ Seulement pour les alertes d'événement :
Extrait les informations des custom data au format JSON.
_event_cfX_ Seulement pour les alertes d'événement :
Clé du champ personnalisé (X) de l'événement qui a déclenché l'alerte.
Ainsi, s'il existe un champ personnalisé dont la clé est IPAM, sa valeur peut être obtenue en utilisant la macro _event_cfIPAM_.
_event_description_ Seulement pour les alertes d'événement :
Description textuelle de l'événement de Pandora FMS.
_event_extra_id_ Seulement pour les alertes d'événement :
Identifiant supplémentaire.
_event_id_ Seulement pour les alertes d'événement :
Identifiant de l'événement qui a déclenché l'alerte.
_event_text_severity_ Seulement pour les alertes d'événement :
Priorité en texte de l'événement qui déclenche l'alerte (Maintenance, Informational, Normal Minor, Warning, Major, Critical).
_eventTimestamp_ Timestamp auquel l'événement a été créé.
Macro Description
_fieldX_ Champ X défini par l'utilisateur.
Macro Description
_group_contact_ Informations de contact du groupe. Elles sont configurées lors de la création du groupe.
_groupcustomid_ Identifiant personnalisé du groupe.
_groupother_ Autres informations sur le groupe. Elles sont configurées lors de la création du groupe.
Macro Description
_homeurl_ Il s'agit d'un lien vers l'URL publique qui doit être configuré dans les options générales de la configuration.
Macro Description
_id_agent_ Identifiant de l'Agent, utile pour construire une URL d'accès à la Console web de Pandora FMS.
_id_alert_ Identifiant de l'alerte, utile pour corréler l'alerte dans des outils tiers.
_id_group_ Identifiant du groupe d'Agent.
_id_module_ Identifiant du Module.
_interval_ Intervalle d'exécution du Module.
Macro Description
_lastdatatimestamp_ Dernière date et heure de vérification reçue par un module (utile pour les alertes de passage à inconnu).
_lastdatatime_ Dernière date et heure de vérification reçue (au format Unix time) par un module (utile pour les alertes de passage à inconnu).
_logTimestamp_ Timestamp auquel le log a été créé.
_logSource_ Origine du log qui a déclenché l'alerte.
Macro Description
_module_ Nom du Module.
_modulecustomid_ Identifiant personnalisé du Module.
_moduledata_X_ Avec cette macro (X est le nom du Module en question), il est possible de récupérer la dernière donnée du Module.
Si elle est numérique, elle la renvoie formatée avec les décimales spécifiées dans la configuration de la Console web et avec son unité (si elle en a une).
De cette manière, des informations supplémentaires (et peut-être très pertinentes) d'autres modules du même Agent peuvent être envoyées.

Si X contient des espaces, ceux-ci doivent être placés en tant qu'entité HTML :  . Une liste d'entités HTML peut être consultée sur Wikipédia.

_moduledescription_ Description du Module.
_modulegraph_nh_ Seulement pour les alertes qui utilisent la commande eMail :
Renvoie une image encodée en base64 d'un graphique du Module avec une période de n heures.
Nécessite une configuration correcte de la connexion du serveur à la console via l'API, qui est effectuée dans le fichier de configuration du serveur.
_modulegraphth_nh_ Seulement pour les alertes qui utilisent la commande _email_tag_ :
Même fonctionnement que la macro _modulegraph_nh_ avec la différence qu'elle inclut les seuils critique et d'avertissement du Module, au cas où ils sont définis.
_modulegroup_ Nom du groupe du Module.
_modulestatus_ État du Module.
_modulelaststatuschange_ Seulement pour les Macros de commande :
Timestamp auquel s'est produit le dernier changement d'état du Module.
_modulelaststatustime_ Seulement pour les Macros de commande :
Date et heure auxquelles s'est produit le dernier changement d'état du Module.
_moduletags_ Les URL associées aux tags de modules.
Macro Description
_name_tag_ Nom des tags associés au Module.
Macro Description
_phone_tag_ Téléphones associés aux tags de modules.
_plugin_parameters_ Peut être insérée aussi bien dans l'objet que dans le corps de la notification par e-mail d'une alerte. Une fois là, elle sera remplacée (au format JSON) par les valeurs trouvées dans tagent_modulo.macros pour le plugin en question.
_policy_ Nom de la politique à laquelle appartient le Module (le cas échéant).
_prevdata_ Donnée précédente avant le déclenchement de l'alerte (consulter la note à ce sujet).
Macro Description
_rca_ Chaîne d'analyse des causes fondamentales (uniquement pour les Services).
Macro Description
_secondarygroups_ Seulement pour les macros de commandes et les macros d'actions :
Affiche les groupes secondaires de l'Agent.
_server_ip_ Adresse IP du serveur auquel l'Agent est assigné.
_server_name_ Nom du serveur auquel l'Agent est assigné.
_siem_event_level_ Utilisé dans le cadre d'une alerte, il permet d'obtenir le niveau d'un événement SIEM.
_statusimagetag_ Macro utilisée dans les actions d'alertes avec des notifications par e-mail pour indiquer visuellement l'état au moment de l'envoi. Génère un élément HTML de type img.
Macro Description
_target_ip_ Adresse IP de la cible du Module.
_target_port_ Port de la cible du Module.
_telegramtoken_ Est remplacée par le token configuré dans Management → Settings → System settings → General setup → Alerts configuration → Telegram configuration.
_timestamp_ Heure et date de déclenchement de l'alerte.
_time_down_human_ Cette macro ne fonctionne que pour les alertes de récupération :
Temps hors service ou hors ligne en format long, tel que : “1day 10h 35m 40s”.
_time_down_seconds_ Cette macro ne fonctionne que pour les alertes de récupération :
Temps hors service, ou hors ligne, en secondes.
_timezone_ Fuseau horaire représenté dans _timestamp_.
Macro Description
_warning_threshold_max_ Seuil maximum d'avertissement.
_warning_threshold_min_ Seuil minimum d'avertissement.

Note :

Pour la macro _prevdata_, il est nécessaire de décommenter la section suivante dans le fichier de configuration du serveur de Pandora FMS :

Le processus du serveur doit être redémarré pour que les nouveaux changements soient appliqués.

←Retour à l'index de la documentation de Pandora FMS