# Hover-Templates

## Einleitung

Hover-Templates sind HTML-Dateien, die einige Makros enthalten. Diese Dateien können als Hover-Menüs in den Maps benutzt werden. Die Hover-Templates sind im Verzeichnis `nagvis/etc/templates/hover/` relativ zum NagVis-Root-Verzeichnis zu finden. Die Templates sind wie folgt benannt: `tmpl.*.html`
Es gibt Makros, die in Hover-Menüs aller Objekttypen verfügbar sind und bestimmte, die nur bei speziellen Objekten verfügbar sind. Alle Standard-Makros finden Sie nachfolgend.

## Allgemeines

Die folgenden Makros sind in allen Objekttypen verfügbar:

Makro | Beschreibung
--- | ---
Allgemeines
[obj_type] | Art des Objekts (host, service, hostgroup, ...)
[obj_name] | Name des Objekts (hostname, hostgroupname, servicegroupname, mapname, ...)
[obj_alias] | Alias des Objekts (wenn kein Alias definiert ist, ist es identisch zu [obj_name])
[obj_display_name] | Anzeigename des Objekts
[obj_state] | Zustand des Objekts (OK,WARNING,CRITICAL,...)
[obj_summary_state] | Gesamtzustand des Objekts und aller abhängigen Objekte (OK,WARNING,CRITICAL,...)
[obj_acknowledged] | wenn der Status bestätigt ist, wird das Makro durch "(Acknowledged)" ersetzt
[obj_summary_acknowledged] | wenn der Gesamtzustand bestätigt ist, wird das Makro durch "(Acknowledged)" ersetzt
[obj_in_downtime] | wenn das Objekt gerade in einer Ausfallzeit ist, wird das Makro durch "(In Downtime)" ersetzt
[obj_summary_in_downtime] | wenn das Objekt gerade in einer Ausfallzeit ist, wird das Makro durch "(In Downtime)" ersetzt
[obj_output] | Ausgabe für dieses Objekt
[obj_summary_output] | Gesamtausgabe des Objekts
Sprach-Makros
[lang_name] | Label für den Objektnamen
[lang_child_name] | Label für Child-Objektnamen
[lang_alias] | Label für den Objektalias
[lang_address] | Label für die Objektadresse
[lang_state] | Label für den Objektzustand
[lang_obj_type] | Label für die Objektart
[lang_summary_state] | Label für den Gesamtzustand
[lang_output] | Label für die Objektausgabe
[lang_summary_output] | Label für die Gesamtausgabe
[lang_overview] | Label für Überblick
[lang_instance] | Label für die Instanz-Zeichenkette
[lang_next_check] | Label für den nächsten Check des Objekts
[lang_last_check] | Label für den letzten Check des Objekts
[lang_current_attempt] | Label für den aktuellen Versuch
[lang_last_state_change] | Label für den letzten Zustandswechsel
[lang_state_duration] | Label für die Dauer des Zustands
[lang_service_description] | Label für die Service-Beschreibung
[lang_notes] | Label für die Objekt-Anmerkungen
Pfade
[html_base] | URL zur HTML-Basis (/nagios/nagvis)
[html_templates] | Pfad zu Hover-Templates (nagvis/nagvis/etc/templates/hover)
[html_template_images] | Pfad zu Hover-Template-Images (nagvis/nagvis/images/templates/hover)

## spezielle Makros

Es gibt Makros für Hover-Templates eines angegebenen Typs. Diese Makros sollten von Abschnittsmakros umgeben werden. Die Abschnittsmakros definieren, dass der angegebene Code entfernt wird, wenn das Hover-Template nicht dem angebenen Typ entspricht. Ein Abschnittsmakros für Host-Makros könnte bspw. so aussehen:

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

Nachfolgend finden Sie eine vollständige Liste der Spezialmakros

### alle besonderen Map-Objekte

Makro | Beschreibung
--- | ---
[obj_backendid] | die Backend-id des Backend-Objekts (backend_<*>)
[obj_backend_instancename] | der NDO-Instanzname des Backend-Objekts

### Host-/Service-Objekte

Makro | Beschreibung
--- | ---
[obj_address] | Die Adresse des Host-Objekts.
[obj_last_check] | Datum und Uhrzeit des letzten Checks dieses Objekts; Angabe im definierten Format.
[obj_next_check] | Datum und Uhrzeit des nächsten Checks dieses Objekts; Angabe im definierten Format.
[obj_state_type] | der aktuelle Zustandstyp (HARD/SOFT)
[obj_current_check_attempt] | die aktuelle Zahl der Check-Versuche
[obj_max_check_attempts] | die Zahl der max. Check-Versuche
[obj_last_state_change] | Datum und Uhrzeit des letzten Zustandswechsels; Angabe im definierten Format.
[obj_last_hard_state_change] | Datum und Uhrzeit des letzten HARD-Zustandswechsels; Angabe im definierten Format.
[obj_state_duration] | die Dauer des aktuellen Zustands
[obj_notes] | die Anmerkungen für die Host- oder Service-Objekte

### Service-Objekte

Makro | Beschreibung
--- | ---
[service_description] | Service-Beschreibung in Nagios
[pnp_hostname] | Hostname PNP (Leerzeichen ersetzt durch Unterstrich)
[pnp_service_description] | Service-Beschreibung für PNP (Leerzeichen ersetzt durch Unterstrich)

### Host-Objekte

Makro | Beschreibung
--- | ---
[pnp_hostname] | Hostname PNP (Leerzeichen ersetzt durch Unterstrich)

### Servicegroup-Objekte

Es gibt ein sehr spezielles Makro für abhängige Services einer Servicegroup, das Auswahlmakro `<!-- BEGIN servicegroup_child --><!-- END servicegroup_child -->`.

Makro | Beschreibung
--- | ---
[lang_child_name1] | Label des Hostnamens des abh. Service
[obj_name1] | Hostname des abh. Service