Outils

Outils de compte

Outils de recherche


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 :

/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 :

echo "mon message de sortie";

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

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

  • GESA : Teste via le boitier Unity.
  • SNMP : utilise le protocole SNMP.
  • WINDOWS : pour tous les OS Windows.
  • STORAGE : teste l'espace de stockage utilisé sur un lecteur.

CHECK_HTTPS

  • CHECK : Teste directement depuis le serveur
  • HTTPS : si un serveur HTTPS est présent

 

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 :

  • Nom du plugin : Le nom qu'il aura dans l'interface. (Veillez à respecter la Nomenclature des plugins)

  • Chemin d'accès : Le chemin et le nom du fichier exécutable depuis le répertoire sur le serveur /usr/local/esia/plugins/ (Vérifiez que le fichier a les droits d'exécution X).

    Exemple : sur l'image ci-dessus notre exécutable check_snmp_load.pl se situe à la racine du répertoire /usr/local/esia/plugins/

  • Type : Cette option sera implémentée dans le futur.

  • OID de la trap SNMP : Cette option sera implémentée dans le futur.

  • Paramètres* : Ici vous pouvez configurer les options par défaut à passer au plugin.

  • Intervalle* : Temps par défaut entre les exécutions du plugin en millisecondes (300 = 5 minutes).

  • Priorité* : Choisissez une priorité par défaut pour le test (Voir Ajouter des services => Priorité des services).

  • Description : Que fait ce 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.

interface/creer_plugin.txt · Dernière modification: 2019/04/11 15:37 par quentin

Outils de la page