Intégrer des plugins client dans ServiceNav

Avertissement

Champ d’application

Cette documentation s’applique uniquement pour les plateformes ServiceNav en mode dédié. Cette fonctionnalité n’est pas présente pour une utilisation de ServiceNav en mode SaaS. Pour toute demande de nouveau plugin sur une installation en mode SaaS, merci de vous rapprocher de l’assistance Coservit.

Limitations de responsabilité

L’intégration de nouveaux plugins en dehors des montées de version produit ServiceNav est effectuée sous la responsabilité du Client. Coservit peut fournir un appui méthodologique ou technique dans le cadre d’un projet dont les modalités sont à définir entre le Client et Coservit.

La société Coservit ne saurait être tenue responsable d’un dysfonctionnement du produit ServiceNav si la cause en est l’intégration (y compris d’un nouveau plugin hors catalogue), ou toute autre modification apportée au produit en dehors de celles décrites dans la documentation utilisateur. Toute intervention de la société Coservit pour diagnostiquer ou réparer un dysfonctionnement ayant pour cause toute intégration de plugin (y compris d’un nouveau plugin hors catalogue) ou modification apportée au produit en dehors de celles décrites dans la documentation utilisateur sera facturée en vertu du contrat établi avec le Client ou de la commande établie préalablement à l’intervention de Coservit.

Copyright

L’installation de tout fichier effectuée par le Client implique sa responsabilité quand au respect de la propriété intellectuelle en général, et du copyright en particulier. La responsabilité de la société Coservit ne saurait être engagée en cas de poursuite pour cause de non respect de la propriété intellectuelle concernant un fichier installé par le Client.

Contexte

Coservit propose un large catalogue de plugins répondant à de nombreux besoins. Pour des besoins plus spécifiques, et sur une installation dédiée uniquement, il est possible de créer ses propres plugins complémentaires.

Concepts

Le plugin est un programme qui s’exécute sur la ServiceNav Box. Il peut avoir besoin de librairies logicielles.
Ce programme est défini par :

  • un fichier ou un ensemble de fichiers à déposer sur la ServiceNav Box
  • une ligne de commande et des arguments
  • les données de performance éventuelles
  • un code retour

La commande décrit les éléments suivants du plugin :

  • une ligne de commande et des arguments
  • les données de performance éventuelles

Le modèle de service est créé à partir d’une commande, et d’autres métadonnées : description, catégorie de tableau de bord, etc.

 

Mode opératoire

  • Création du plugin et dépose sur la ServiceNav Box

Installer sur la ou les ServiceNav Box ciblées les dépendances
Installer sur la ou les ServiceNav Box ciblées les plugins dans le répertoire /usr/local/nagios/libexec/client
Tester manuellement sous utilisateur nagios la bonne exécution suite à l’installation effectuée.

  • Création de la commande dans ServiceNav

Cette opération doit obligatoirement être réalisée avec un compte ayant un rôle root.

Dans ServiceNav, naviguer dans le menu Configuration > Commandes > Analyse.

Une commande peut être créée en sélectionnant une commande existante dans la liste, puis en cliquant sur le bouton Dupliquer.

Pour créer une nouvelle commande, cliquer sur Ajouter.

Dans l’onglet « Commande »

Champ Commentaire Syntaxe Exemple
Nom Le nom de la commande – doit être unique Caractères alphanumériques client_check_snmp_processus_cpu
Ligne Ligne de commande exécutée sur la ServiceNav Box. Les macros standard Nagios peuvent être utilisées. $USER1$ = /usr/local/nagios/libexec.
Les arguments sont représentés sous la forme $ARGi$, et généralement entourés du caractère quote ().
$USER1$/client/check_snmp_process.pl -H $HOSTADDRESS$ -C ‘$ARG1$’ -F -n ‘$ARG4$’ -u ‘$ARG5$’,’$ARG6$’ -p ‘$ARG3$’ $ARG2$

 

 

Répéter pour chaque argument (Bouton « Ajouter un argument »)

Champ Commentaire Syntaxe Exemple
Argument – Libellé Le nom de l’argument, qui sera visible lors de la configuration du service unitaire. Caractères alphanumériques Communauté SNMP
Argument – Type Permet de vérifier la syntaxe lors de la configuration du service unitaire 2a861946bafc3c44eb92bdefeffb6c92

4fc83a23cc4ee09d3243b1e0c601de07

Communauté
Argument – Obligatoire Oui : l’argument est obligatoire pour configurer le service unitaire Oui / Non Oui
Argument – Contexte L’association avec un compte de supervision, qui permet de bénéficier de la fonctionnalité d’héritage de la configuration de la supervision. Le contexte dépend du type. Voir Annexe 1 SNMP
Argument – Description Sera affiché lors de la configuration du service unitaire afin de guider l’utilisateur.
Argument – Exemple Sera affiché lors de la configuration du service unitaire afin de guider l’utilisateur.

 

 

Dans l’onglet « Métrique »

(Ne pas remplir la liste Catégorie du bloc « Informations générale »)

Métriques (données de performance) – répéter pour chaque métrique
Nom Nom de la métrique. Si le nom ou une partie du nom de la métrique est dynamique, l’indiquer. Caractère alphanumérique cpu_usage
Catégorie Cette catégorie est utilisée pour la représentation de la catégorie dans les rapports d’analyse de la performance.

Les métriques de chaque catégorie ayant la même unité sont regroupées dans le même graphe.

Dans le cas inverse elles sont présentées dans des graphes distincts.

21ad2cd9a46b9e758aada2d27c17f7ed Taux de ressource utilisé

 

  • Créer le modèle de service unitaire lié à la commande

Suivre la documentation disponible à cette adresse http://servicenav.coservit.fr/documentation/creer-un-modele-de-service-unitaire

 

Eléments techniques

Format de fichiers de plugin

Pour respecter les prérequis de ServiceNav sur le format des fichiers des plugins, il convient de produire des fichiers au format suivant :

  • Format Unix (le caractère de fin de ligne est ‘LF’)
  • Encodage « UTF-8 sans BOM »
  • Propriétaire : nagios:nagios
  • Droits : 750 (rwxr-x—)

Codes retour – normalisation

L’interruption d’un plugin doit impérativement aboutir sur un code de retour qui est une valeur entière comprise entre 0 et 3.

La valeur retournée dépend de l’état d’exécution du plugin :

0 (OK) Le plugin a été en mesure de vérifier le service et il fonctionne correctement en fonction de la logique interne du plugin.
1 (WARNING) Le plugin a été en mesure de vérifier le service mais, soit celui-ci ne semble pas fonctionner correctement, soit un seuil d’avertissement a été franchi.
2 (CRITICAL) Le plugin a détecté que le service ne fonctionnait pas ou qu’un seuil « critique » a été franchi.
3 (UNKNOWN) Soit des arguments incorrects ont été fournis au plugin, soit le plugin a été incapable de vérifier l’état des hôtes / services donnés.

 

Texte de sortie

Les plugins sont conçus en vue de remonter des informations sur l’interface Web ServiceNav : par conséquent, l’ensemble des sorties doivent être formatées pour être compatibles avec le système de supervision, c’est-à-dire en HTML. La limite du texte de sortie affiché dans ServiceNav est de 65535 bytes aussi bien pour les contrôles de services que d’équipements.
Au-delà de cette limite le texte est tronqué.

 

Données de performance

Certains plugins doivent pouvoir remonter des données de performance utilisables par Nagios.
Ces données doivent obligatoirement être agrégées sous la forme de couples (<nom_de_variable>=<valeur><unité>) séparés par des espaces.
Dans le cas où une unité n’est pas nécessaire, celle-ci peut être omise.
Les seuils peuvent aussi être mentionnés dans la donnée de performance, et séparés par des points-virgules( ; ) (<nom_de_variable>=<valeur><unité>;<seuilWarn>;<seuilCrit>)
Les données de performance sont produites sous la forme d’une chaine de caractères concaténée au texte en sortie du plugin, avec pour séparateur le caractère « pipe » ( | )

La limite du nombre de caractères des données de performance traitées dans ServiceNav est de 65535 bytes pour les contrôles sur les équipements et les services.

Au-delà de cette limite les données de performance ne seront pas traitées.

 

Annexe 1

Argument – Type Argument – Contexte
Port 28bcbdba5113d06f82cabfd1bb773e34
Login dcfbfeb9b46924fa06a01cc2d0527f9f
Mot de passe f3a91fcbcfccf84c203ab9677f5b976b
Domaine 2a235b74ce8df92ee1e2074e19226d84
Communauté (SNMP) eeb25dd278f1ebda42bebd8fbf94de19
Protocole d’authentification
Mot de passe de cryptage
Protocole de cryptage
78a68f09ef533f9153410f747d20d890
Equipement 3b2d7751f69e00dde0601587ceb10292

 

 

 

 

Facebook
Google+
Google+
http://servicenav.coservit.fr/documentation/integrer-plugins-client-servicenav/
Youtube
Youtube
LinkedIn