Plugins de serveur

Un plugin de serveur est un programme ou un script situé dans le serveur (par défaut dans /usr/share/pandora_server/util/plugin) et exécuté par celui-ci, auquel on peut passer certains paramètres. Il renvoie une seule valeur simple, soit numérique, booléenne ou de type texte.

Pour utiliser les plugins, nous devons activer le pluginserver spécifique dans la configuration du serveur :

/etc/pandora/pandora_server.conf.

Pandora FMS dispose par défaut de quelques plugins, comme iface_bandwith.pl et udp_nmap_plugin.sh, mais ils peuvent également être développés manuellement. La façon la plus simple de vérifier son fonctionnement est de les exécuter directement depuis le terminal, comme le fera plus tard Pandora. En général, les plugins comprennent une aide lors de leur exécution avec -help, -h ou sans paramètres, ce qui facilite son utilisation.

Pour utiliser un plugin dans Pandora FMS, vous devez l’enregistrer, et cela peut se faire de deux manières :

Inscription manuelle

Elle est réalisée dans les Serveurs/Plugins. Dans le menu pour créer un plugin, nous devons indiquer le nom (ainsi que d’autres paramètres tels que le type de plugin, le délai d’attente et une description) ainsi que la commande qu’il exécute et les paramètres à utiliser avec lui. Ceux-ci sont spécifiés respectivement dans Plug-in command (où nous devons indiquer le chemin complet vers le plugin) et dans Plug-in parameters (qui accepte l’utilisation de macros).

Par exemple, si nous voulions créer un plugin qui exécuterait une vérification UDP à distance en utilisant nmap à l’adresse IP et au port que nous voulons, nous devrions compléter l’enregistrement de cette façon :

  • Nous choisirions comme nom de plugin “UDP port check”, par exemple.
  • Dans la commande Plug-in, on écrirait le chemin /usr/share/pandora_server/util/plugin/udp_nmap_plugin.sh, qui mène à un plugin installé par défaut avec Pandora FMS
  • Dans les paramètres du plugin, nous écririons -t _field1_ -p _field2_ afin que le plugin puisse être réutilisé pour tous les ports et IP que nous voulons. Nous pouvons ajouter ci-dessous une description de ces macros pour savoir quelles sont les informations dont elles ont besoin.
  • Dans l’espace de Command preview, nous verrons comment Pandora FMS exécutera la commande :
/usr/share/pandora_server/util/plugin/udp_nmap_plugin.sh -t _field1_ -p _field2_

Nous avons déjà enregistré le plugin. Pour l’utiliser, créez un module de type plugin dans l’agent que vous voulez surveiller. En le choisissant, vous aurez la possibilité de choisir les informations qui remplaceront les macros _field1_ et _field2_, dans ce cas, l’IP  adresse et le port, respectivement.

Il faut tenir compte du fait que certains plugins peuvent prendre beaucoup de temps pour terminer leur exécution, de sorte que le délai d’exécution du serveur (pandora_server.conf) doit toujours être supérieur à l’une des valeurs définies dans un plugin. Sinon, le serveur arrêtera l’exécution du plugin.

Enregistrement à l’aide d’un fichier .pspz

Le format PSPZ a été créé pour abstraire l’installation de plugins par des utilisateurs sans grande connaissance. Il s’agit d’un fichier .zip avec une extension .pspz qui contient le script et d’autres fichiers dont le plugin a besoin pour fonctionner, ainsi qu’un fichier appelé plugin_definition.ini. Ce fichier contient la spécification du plugin et des modules qui peuvent être utilisés avec lui, pour les incorporer à la bibliothèque. Il contient la définition complète de l’interface, et lors de l’installation par la console, il copie le plugin dans un répertoire du disque.

Le registre avec les fichiers .pspz se fait à partir de la console, au niveau du plug-in Servers/Register plug-in, où vous devrez télécharger le fichier pour que Pandora puisse l’utiliser. Par défaut, le plugin sera copié sur le serveur où se trouve la console. Si le serveur de plugins se trouve sur une autre machine, vous devrez copier ou synchroniser le répertoire /attachment/plugin de la Console web.


  • Voir aussi:

https://pandorafms.com/manual/fr/documentation/08_technical_reference/05_anexo_server_plugins_development

Was this article helpful?

Related Articles

Need Support?

Can't find the answer you're looking for?
Contact Support

Recent Discussions