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 :
| 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 |
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
| Macro | Description |
|---|---|
| [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 la première macro personnalisée qui peut être définie par backend. Peut être utile pour définir des URLs individuelles de backend.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
| Macro | Description |
|---|---|
| [lang_refresh_status] | |
| [lang_schedule_downtime] | |
| [lang_reschedule_next_check] | |
| [lang_connect_by_ssh] |
Les macros au chemin (path)
Macros spécial)
| Macro | Description |
|---|---|
| [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
| Code Block |
|---|
<!-- BEGIN host -->
Le contenu du code HTML
<!-- END host --> |