Pour les environnements dans lesquels nous avons besoin de savoir immédiatement s’il y a un problème, tels que les environnements de production, de sécurité ou les ressources critiques de notre entreprise, cette intégration de Pandora FMS avec Telegram est parfaite, car elle répond à cette immédiateté requise, ainsi que la possibilité de fournir des informations exactes sur l’emplacement et la cause du problème, grâce au puissant système d’alertes et de macros de Pandora FMS.

De même, étant un service de messagerie basé sur les communications téléphoniques via le réseau de données, il permet à nos techniciens, responsables et opérateurs de garde d’être assurés de savoir au moment exact où unproblème apparaît, sans avoir besoin d’accéder à un ordinateur ou de consulter manuellement le courrier électronique.

Grâce aux plugins de notre libraire et au système d’alerte flexible offert par Pandora FMS, nous allons vous montrer comment configurer votre outil de supervision pour envoyer des messages instantanés au moment où un problème est détecté.

Tout d’abord, vous devez partir de l’environnement nécessaire, dont les exigences sont les suivantes :

  • Environnement Pandora FMS fonctionnant sur Linux, dans ce cas nous utiliserons Rocky Linux 8, la distribution recommandée par le fabricant.
  • Le plugin de notre librairie : Telegram bot CLI.
  • Compte Telegram disponible pour être utilisé comme émetteur des messages d’alerte.

Création du bot

FLa première chose à faire sera de créer le bot Telegram qui se chargera de vous envoyer les messages. À partir du compte Telegram que vous souhaitez utiliser, vous interagirez avec l’utilisateur BotFather à l’aide de la commande «/start » :

Utilisez la commande «/newbot » pour créer votre bot.

Il vous demandera le nom que vous voulez que votre bot ait. Précisez le nom que vous voulez que votre bot ait. Il est important que le nom se termine par « bot », par exemple Pandora_FMS_telegram_bot.

En vous envoyant le nom, s’il n’est pas utilisé, il vous confirmera que le bot a été créé, avec un lien vers votre chat et vous donnera un jeton qu’il est important que vous sauvegardiez pour configurer l’alerte plus tard.

Configuration du groupe

Maintenant, vous allez mettre le bot que vous venez de créer dans un groupe que vous avez ou un nouveau que vous créez, pour recevoir vos alertes.

L’étape suivante consiste à ajouter un autre bot appelé GetIDs Bot au même groupe afin d’obtenir l’identifiant du groupe. En l’ajoutant, il vous laisserez dans un message l’ID de votre groupe, notez-le également pour plus tard.

Avec tout cela, vous aurez déjà préparé votre Telegram pour recevoir les alertes.

Intégration avec Pandora FMS (versions 773 et antérieures)

Commencez par télécharger votre plugin Telegram bot CLI.

Il téléchargera un fichier zip appelé telegram-bot-cli.zip, que vous devez décompresser.
À l’intérieur, vous trouverez un fichier appelé « pandora-telegram-cli.py » que vous mettrez sur votre serveur Pandora FMS dans le chemin «/usr/share/pandora_server/util/plugin ».

Maintenant, à partir du terminal de votre serveur, installez les dépendances Python3 (si vous ne les avons pas déjà) avec la commande « dnf install python3 » :

Une fois installé, exécutez le plugin pour vérifier qu’il est exécuté, avec la commande « python /usr/share/pandora_server/util/plugin/pandora-telegram-cli.py » :

Nous allons maintenant passer à la console de votre serveur Pandora FMS.
Accédez à la section « Management > Alerts > Commands » et cliquez sur le bouton « Créer » :

Et configurez votre commande d’alerte comme suit :

Dans la commande tapez :

python3
/usr/share/pandora_server/util/plugin/pandora-telegram-cli.py -t _field1_ -c _field2_ -m “_field3_”

La commande que vous utiliserez est la commande d’exécution du plugin que vous avez téléchargé, avec les arguments -t, -c et -m. Il est important que l’argument -m soit entre guillemets « ».

  • Dans le champ de l’argument -t, Bot Token, mettrez le jeton de votre bot.
  • Dans le champ de l’argument -c, Chat ID, entrez l’ID de votre groupe qui vous a fourni le bot «GetIDs Bot».
  • Et dans le champ -m, Alert Message, entrez le message d’alerte que vous voulez que votre bot envoie au groupe. Vous pouvez utiliser toutes les macros d’alerte dont vous avez besoin, par exemple :
    • _module_: Nom du module qui a déclenché l’alerte.
    • _agentalias_ : Alias de l’agent qui a déclenché l’alerte.
    • _modulestatus_ : État du module lorsque l’alerte a été déclenchée.
    • _agentstatus_ : État de l’agent lorsque l’alerte a été déclenchée.
    • _data_ : Donnée du module qui a déclenché l’alerte.
    • _timestamp_ : Heure et date du déclenchement de l’alerte.

Par exemple, vous pourriez utiliser ce message (que vous mettrez dans le champ3) : « The module _module_ of agent _agentalias_ has changed to _modulestatus_ status ».

Une fois que j’ai rempli tout cela, cliquez sur « Create ».

Maintenant accédez à la section « Management > Alerts > Actions » de votre console Pandora FMS et cliquez sur le bouton « Create » pour créer votre action.

Mettez le nom que vous voulez que votre action ait, sélectionnez le groupe, la commande d’alerte que vous avez créée précédemment et choisissez un Threshold. Tous les champs seront remplis automatiquement et cliquez sur « Create » :

Maintenant, accédez à la section « Management > Alerts > List of Alerts » et configurez l’alerte pour l’agent et le module que vous voulez.

Dans notre cas, nous avons sélectionné que lorsque le module « Host Alive » de l’agent « Router » devient critique, l’action précédemment créée « Telegram Message » sera exécutée :

Si votre module a été critique, vous recevrez ce message à votre groupe Telegram :

Lorsque votre alerte sera rétablie, vous recevrez un message comme celui-ci :

Intégration avec Pandora FMS (versions 774 et antérieures)

Dans la version v7.0NG.774, le plugin Telegram de notre bibliothèque a été introduit par défaut dans l’alerte Pandora FMS, avec une configuration de base en série.

Si vous accédez à la section Management > Alerts > Comands, vous disposez d’une commande appelée « Pandora Telegram » :

En y accédant, vous verrez que la commande qui exécutera votre alerte est déjà configurée.
Remplissez le paramètre -t « TOKEN » de la commande avec le token que BotFather vous a donné et enregistrez la commande :

Après cela, accédez à la section Management > Alerts > Actions et accédez à l’action Pandora Telegram.
Dans la partie inférieure, ajoutez le Chat ID de votre groupe qui vous a donné le bot « GetIDs Bot » dans les sections Triggering et Recovery, vous pouvez modifier le message à votre guise en utilisant les macros d’alerte comme vous l’avez vu précédemment et cliquez sur « Update » :

Une fois enregistré, entrez dans le menu Alertes depuis Management > Alerts > List of Alerts et créez une nouvelle alerte.
Sélectionnez l’agent et le module, l’action que vous avez mise à jour « Pandora Telegram », le modèle que vous voulez et créez l’alerte :

Une fois votre alerte déclenchée, vous recevrez votre message par Telegram :

Envoi d’alertes avec graphiques de données

Dans votre intégration de l’alerte Pandora FMS et Telegram, vous pouvez ajouter au message un graphique avec les dernières données du module qui a déclenché l’alerte, cela s’applique à la fois aux versions 773 et antérieures et aux versions 774 et ultérieures. Vous réussirez à envoyer des graphiques dans vos alertes en ajoutant un appel à l’API de votre serveur Pandora FMS au script que vous avez utilisé précédemment.

La première étape que vous devrez configurer sur votre serveur est l’accès à l’API de Pandora FMS dans la section « Setup > Setup > General Setup », dans le champ « API password » vous aurez le mot de passe de l’API et dans « IP list with API access » mettez les IP qui doivent avoir accès ou vous pourrez fournir un accès à n’importe quelle IP (*).

Nous allons maintenant modifier la commande que nous aviez précédemment créée pour ajouter les données nécessaires à l’envoi du graphique. Ajoutez les paramètres suivants :

  • –api_conf : Ici, indiquez les paramètres de configuration de l’API de votre serveur, il est important de remplir les champs ” < >” :
    “user =,pass=,api_pass=,api_url=http :///pandora_console/include/api.php”.
    Exemple : “user=admin,pass=pandora,api_pass=1234,api_url=http://10.0.5.100/pandora_console/include/api.php”
  • –module_graph : Les paramètres du module à partir duquel vous extrairez le graphique, dans ce cas, il y en a deux :
    • module_id : Où l’ID du module qui a déclenché l’alerte est entré. Dans ce cas, utilisez la macro d’alerte _id_module_ pour qu’elle soit toujours remplie avec l’ID du module d’alerte.
    • interval : L’intervalle de temps total affiché sur le graphique, en secondes. Nous utiliserons par défaut 3600 secondes, l’équivalent de 60 minutes ou 1 heure, mais vous pouvez le configurer à l’intervalle qui vous convient.

La commande complète résultante sera la suivante :

Commande :

Et la configuration des champs :

Et sauvegardez les modifications.

Lorsque l’alerte se déclenche, vous recevrons le message avec le graphique de données de votre module :

Shares