Principe

Nagvis permet créer un menu personnalisé à l'aide de "modèle de menu". Ces modèles sont des fichiers HTML qui contiennent des macros que Nagvis va interpréter.

Pour être utilisé par Nagvis, les fichiers HTML doivent être présent dans le dossier /opt/nagvis/share/userfiles/templates/.

Créer un modèle de menu

Pour créer un modèle il suffit de créer un fichier .html devant être nommés de la façon suivante : 

nomDuModele.context.html

Ce fichier est un fichier html classique mais qui peut contenir des macros spécifiques à Nagvis (voir ci-dessous).



Il est possible d'ajouter du style CSS au menu en créant un fichier .css qui doit être nommée de cette manière:

nomDuModele.context.css


Le système de macro de Nagvis

Les macros permettent de récupérer des informations de l'objet auquel le modèle est accroché et des informations liés à la configuration de Nagvis.

Exemple: l'id de l'objet avec la macro [obj_id] 

Macros disponibles

Les macros génériques


MacroDescription
[obj_id]ID de l'objet en JavaScript. Nécessaire pour localiser les parties spécifiques de l'objet, par exemple pour planifier une mise à jour manuelle des informations d'état.
[type]Type de l'objet
[name]Nom de l'objet (Hostname, Hostgroupname, Servicegroupname, Mapname,...)
[backend_id]L'identifiant du shinken sur lequel est accroché l'objet
[custom_1]Représente une donnée de l'objet défini dans la configuration de Shinken
[custom_2]Une autre donnée de l'objet
[custom_3]Une autre donnée de l'objet
[map_name]Nom de la carte courante


Les macros liées aux labels


MacroDescription
[lang_refresh_status]
[lang_schedule_downtime]
[lang_reschedule_next_check]
[lang_connect_by_ssh]


Les macros au chemin (path)


MacroDescription
[html_base]URL absolue vers la base HTML (Par défaut : /nagvis)
[html_cgi]URL absolue vers les CGI de Nagios. Utilisation d'une valeur spécifique à l'objet. Dépend du backend utilisé. Si aucune valeur spécifique au backend n'est définie, la valeur par défaut sera utilisée. (Par défaut : /nagios/cgi-bin)
[html_templates]Chemin d'accès au répertoire des modèles de contexte (Par défaut : /nagvis/userfiles/templates)
[html_template_images]Chemin d'accès au répertoire des images du modèle de contexte (Par défaut : /nagvis/userfiles/images/templates)


Macros section

Dans le fichier HTML du modèle de menu, il existe des macros "section" qui permet de posé des conditions au code HTML. 
Par exemple: N'affichait que le code si l'objet est un hôte 

<!-- BEGIN host -->
Le contenu du code HTML
<!-- END host -->


En plus des types d'élément il existe d'autre type de macro de section :

SectionDescription
lineN'affiche la section que pour les objets de ligne
statefulN'affiche la section que pour les objets à état.
not_automapNe l'affiche que pour les vues non automatiques (cartes normales).
lockedNe s'affiche que pour les objets verrouillés.
unlockedNe s'affiche que pour les objets déverrouillés.
permitted_editS'affiche uniquement lorsque l'utilisateur est en mesure de modifier la carte.
permitted_performNe s'affiche que lorsque l'utilisateur est en mesure d'effectuer des actions.
action_*S'affiche uniquement lorsque cette action est enregistrée pour cet objet.


Exemple d'un fichier