Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

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

Code Block
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:

Code Block
nomDuModele.context.css


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] 


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



MacroDescription
[lang_refresh_status]Affiche le label du rafraichissement du statut
[lang_schedule_downtime]Affiche le label programmation de période de maintenance
[lang_reschedule_next_check]Affiche le label de l'action forcer une vérification
[lang_connect_by_ssh]Affiche le label de l'action de connexion par SSH à l'élément



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)


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 

Code Block
<!-- 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.



Code Block
languagexml
<ul>
    <!-- BEGIN locked -->
    <li><a href="#" onClick="toggleMapObjectLock(event, '[obj_id]'); contextHide();return false">[lang_unlock]</a></li>
    <!-- END locked -->
    <!-- BEGIN unlocked -->
    <li><a href="#" onClick="toggleMapObjectLock(event, '[obj_id]'); contextHide();return false">[lang_lock]</a></li>
    <li><a href="#" onClick="showAddModifyDialog('[map_name]', '[obj_id]');contextHide();return false">[lang_modify]</a></li>
    <li><a href="#" onClick="removeMapObject(event,'[obj_id]', '[lang_delete_confirm]');contextHide();return false">[lang_delete]</a></li>
    <!-- END unlocked -->
</ul>