Table des matières

Comment créer un plugin (Uniquement pour ESIA Infinity)

Si vous avez optez pour la solution ESIA Infinity, vous pouvez développer vos propres plugins et les ajouter dans Esia !

Développement

Prérequis

Le plugin doit être un fichier qui peut être exécuté par le serveur. Il peut donc être codé en PHP, Perl, Python, … Et utilisé des librairies indépendantes pour ces languages. À condition que ces languages et librairies soient installés sur le serveur.

Le plugin doit toujours renvoyer un des status suivants sous forme numérique :

Status du service Valeur numérique
OK 0
Warning 1
Critical 2
Unknown 3

Message de sortie

Le résultat du stdout du plugin sera affiché dans l'interface ⇒ État des services.

Exemple pour le plugin check_icmp.

En ligne de commande sur le serveur esia :

copy
/usr/local/esia/plugins# ./check_icmp -H 10.5.0.1 -w 200,50% -c 500,100%

Aura pour résultat :

OK - 10.5.0.1: rta 1.837ms, lost 0%

Affichera dans l'interface web :

 Résultat de sortie du plugin dans l'interface

Pour créer un stdout, en PHP par exemple, il suffit de faire un :

copy
echo "mon message de sortie";

Ne pas oublier de renvoyer le status sous forme numérique :

copy
exit(0);

 

Allez voir comment les autres plugins sont construits !

Sur votre serveur Esia dans le répertoire /usr/local/esia/plugins/

Nomenclature des plugins

Dans Esia, les noms des plugins sont toujours en lettres capitales et les mots séparés par des underscores. Veillez à donner des noms clairs et explicites à vos plugins de manière à savoir ce qu'ils font rien qu'en lisant leur nom.

Respectez le canevas suivant : <type de plugin>_<protocole>_<plateforme>_<élément testé>

Type de plugin Description
GESA Pour les plugins qui passent au travers d'une Unity pour trouver l'information recherchée. (ESIA Unity)
CHECK Pour les plugins qui interrogent directement un nœud. (Principalement ESIA Infinity)
TRAP Pour les plugins qui utilisent les Trap SNMP.
MAN Pour les plugins de Management.
CORR Pour les plugins de Corrélation. Ce sont des plugins qui travaillent sur les résultats d'autres plugins.

Exemples :

GESA_SNMP_WINDOWS_STORAGE

CHECK_HTTPS

 

Il est important que vous respectiez ces règles quand vous ajoutez un nouveau plugin pour garder un ensemble cohérent.

Ajouter un plugin dans l'interface Esia

D'abord, copiez l'exécutable de votre plugin sur le serveur Esia dans le répertoire /usr/local/esia/plugins/ (Vérifiez que le fichier a les droits d'exécution X)

Sur l'interface web, rendez-vous dans le menu « Administration Administration ». Allez dans « Plugins » puis cliquez sur l'icône Ajouter un plugin en haut à droite.

 Ajouter un plugin

Cela vous ouvrira une nouvelle fenêtre.

 Paramétrer le nouveau plugin

Configurez le nouveau plugin :

* : Paramètres, Intervalle et Priorité sont des valeurs par défaut. Elles pourront être modifiées au cas par cas sur chaque nœud si nécessaire.

 

N'oubliez pas de cliquer sur « Ajouter » en bas à gauche pour sauvegarder le plugin.