Kontext-Templates

Einleitung

Kontext-Templates sind HTML-Dateien, die u.a. Makros enthalten. Dieses Dateien können als Kontextmenüs ("Rechtsklick"-Menüs) für die Objekte auf der Map benutzt werden.

Die Kontextmenüs befinden sich in share/userfiles/templates/ relativ zum NagVis-Root-Verzeichnis. Die Templates sind wie folgt benannt: <name>.context.html. Es ist möglich, eine CSS-Datei zum Template hinzuzufügen, der Name lautet dann: <name>.context.css.

Es gibt einige sogenannte Makros in Kontextmenüs, die für alle Objekte verfügbar sind, und einige, die nur für spezielle Makros gelten. Alle Standardmakros sind nachfolgend aufgeführt.

Allgemeines

Die folgenden Makros sind in Hover-Menüs für alle Objekttypen verfügbar:

Makro Beschreibung
Allgemein
[obj_id]ID des Objekts in JavaScript. Wird benötigt, um die objektspezifischen Teile zu lokalisieren, z.B. für eine manuelle Aktualisierung einer Statusinformation.
[type]Typ des Objekts
[name]Name des Objekts (Hostname, Hostgroupname, Servicegroupname, Mapname,...)
[backend_id]Die backend_id des verwendeten Backends dieses Objekts.
[custom_1]Das erste benutzerdefinierte Makro je Backend. Kann nützlich sein, um Backend-spezifische URLs zu setzen.
[custom_2]Zweites benutzerdefiniertes Makro je Backend (s.o.).
[custom_3]Drittes benutzerdefiniertes Makro je Backend (s.o.).
[map_name]Name der aktuellen Map/Automap.
Sprachmakros
[lang_refresh_status]Bezeichnung für die Auffrischung des Zustands des Objekts im Frontend.
[lang_schedule_downtime]Bezeichnung für die Planung einer Ausfallzeit in Nagios.
[lang_reschedule_next_check]Bezeichnung für die erneute Planung der nächsten Prüfung des Objekts in Nagios.
[lang_connect_by_ssh]Label für die Verbindung eines Hosts per ssh.
Pfade
[html_base]Absolute URL zur HTML-Basis (Default: /nagios/nagvis)
[html_cgi]Absolute URL zu den Nagios-CGIs. Benutzt einen objektabhängigen Wert. Hängt vom verwendeten Backend ab. Wird kein backend-spezifischer Wert gesetzt, gilt der Default. (Default: /nagios/cgi-bin)
[html_templates] Pfad zum Context-Templates-Verzeichnis (Default: /nagios/nagvis/nagvis/etc/templates/context)
[html_template_images] Pfad zum Context-Template-Images-Verzeichnis (Default: /nagios/nagvis/nagvis/images/templates/context)

Spezielle Makros

Es gibt Makros für Context-Templates eines bestimmten Typs. Diese Makros sollten zwischen "Section"-Makros stehen. Die "Section"-Makros definieren, dass der eingeschlossene Code entfernt wird, wenn das Hover-Template nicht für diesen Typ geparst wird.

Ein "Section"-Makro für Host-Makros sieht wie folgt aus:

<!-- BEGIN host -->.+?<!-- END host -->

Nachfolgend finden Sie eine vollständige Liste der speziellen Makros.

Host-Objekte

MakroBeschreibung
[address]Adresse des in Nagios konfigurierten Hosts
[pnp_hostname]Hostname für Links zu PNP (Leerzeichen ersetzt)

Service-Objekte

MakroBeschreibung
[service_description]Service-Beschreibung in Nagios
[pnp_service_description]Service-Beschreibung für Links zu PNP (Leerzeichen ersetzt)

Host- und Servicegroup-Objekte

Die Abschnittsmakros <!-- BEGIN hostgroup --> und <!-- BEGIN servicegroup --> existieren, um speziellen Template-Code für Hostgroup- und Servicegroup-Kontextmenüs zu ermöglichen. Beide bringen keine speziellen objektspezifischen Makros mit sich.

Andere Abschnittsmakros

Es gibt einige andere spezielle Abschnittsmakros. Um bspw. Teile des Templates nur für Line-Objekts zu zeigen:

<!-- BEGIN line -->This is only shown on line objects<!-- BEGIN servicegroup -->
AbschnittBeschreibung
lineDies nur für Line-Objekte zeigen.
statefulDies nur für "stateful"-Objekte zeigen.
not_automapDies nur für nicht-Automap-Ansichten zeigen (reguläre Maps).
lockedDies nur für gesperrte Objekte zeigen.
unlockedDies nur für nicht gesperrte Objekte zeigen.
permitted_editNur zeigen, wenn der Benutzer die Map editieren darf.