# Formatbeschreibung der Hauptkonfigurationsdatei

## Allgemeine Informationen

Die Hauptkonfigurationsdatei ist im reinen Textformat im Stil der "ini"-Dateien.
Abschnitte sind durch [] markiert und Variablen haben einen zugewiesenen Wert. Die Variablen müssen auch im richtigen Abschnitt stehen, so dass Sie sicherstellen müssen, dass ggf. auch der Abschnitt aktiviert ist.
Semikola (`;`) werden benutzt, um Kommentare zu markieren. Abschnitte und Variablen mit einem vorangestellten Semikolon werden als Kommentare angesehen und von NagVis nicht erkannt. Bei einer neuen NagVis-Installation gibt es keine Datei mit einer Default-Konfiguration. Standardwerte sind im PHP-Code enthalten. Konfigurationseinstellungen in der Datei `etc/nagvis.ini.php` übersteuern diese Standardwerte.
Es gibt eine Datei `etc/nagvis.ini.php-sample` mit Beispiel-Konfigurationswerten. Alle Werte sind auskommentiert.

## Überblick

- global
  allgemeine Optionen, die die gesamte NagVis-Installation beeinflussen
- paths
  Pfaddefinitionen
- defaults
  Standardwerte, die an die Maps und ihre Objekte vererbt werden
- index
  Optionen, um die Übersichtsseite für NagVis zu konfigurieren
- automap
  Optionen für die Automap
- wui
  Optionen für die WUI
- worker
  Optionen für den Worker
- backend_*
  Backend-Definitionen
- rotation_*
  Rotationspool-Definitionen
- states (neu in 1.5)
  Optionen, die die Behandlung und das Aussehen der verschiedenen Zustände beeinflussen

## Beschreibung der Abschnitte im Detail

### global

Alle Werte, die für das gesamte NagVis gelten, werden im global-Abschnitt gespeichert.

Wert | Default | Beschreibung
--- | --- | ---

authmodule

CoreAuthModSQLite

Definiert das zu benutzende Authentifizierungsmodul. Per Default benutzt NagVis das eingebaute SQLite-Authentifizierungsmodul. Bei der Auslieferung ist kein anderes Authentifizierungsmodul verfügbar. Es ist möglich, andere Authentifizierungsmodule hinzuzufügen, um andere Authentifizierungsmechanismen zu unterstützen. Weitere Einzelheiten finden Sie in der Authentifizierungsmodul-Dokumentation (neu in 1.5)

authorisationmodule

CoreAuthorisationModSQLite

Definiert das zu benutzende Autorisierungsmodul. Per Default benutzt NagVis das eingebaute SQLite-Autorisierungsmodul. Bei der Auslieferung ist kein anderes Autorisierungsmodul verfügbar. Es ist möglich, andere Autorisierungsmodule hinzuzufügen, um andere Autorisierungsmechanismen zu unterstützen. Weitere Einzelheiten finden Sie in der Autorisierungsmodul-Dokumentation (neu in 1.5)

dateformat | Y-m-d H:i:s | Das in NagVis benutzte Format für Datum- und Zeit. Verfügbare Optionen wie bei der date()-Funktion von php |
displayheader | 1 | Anzeigen des Header-Menus in Maps Veraltet ab Version 1.4, siehe Option "headermenu" in den default- und index-Abschnitten
language | en_US | Wählen Sie die Sprache, die in NagVis benutzt werden soll. `de_DE` (Deutsch), `en_US` (Englisch), `fr_FR` (Französisch) und `pt_BR` (brasilianisches Portugiesisch; ab 1.4.4) sind als Standard verfügbar). Seit 1.4 müssen Sie die Sprache in einem anderen Format angeben. ("de_DE" statt "german")

language_available

de_DE,en_US,es_ES,fr_FR,pt_BR

Sie möchten Ihren Benutzern vielleicht eine Auswahl an verschiedenen Sprachen anbieten. Sie können das Verhalten kontrollieren, ohne die Sprachdateien aus Ihrer NagVis-Installation zu löschen. Wenn dieser Wert nicht gefüllt ist, werden alle vorkonfigurierten Sprachen angeboten. Wenn Sie eine weitere Sprache hinzufügen möchten, dann müssen Sie den Wert hier eintragen (neu in 1.5)

language_detection

user,session,browser,config

Dies kontrolliert, wie NagVis die Sprache des Benutzers ermitteln soll. NagVis kennt mehrere Mechanismen zur Erkennung der Sprache:
- user: explizit vom Benutzer eingestellte Sprache
- session: wenn der Benutzer eine Sprache wählt, dann wird diese in der Session gespeichert
- browser: NagVis versucht, die Sprache mit Hilfe des Browser-Agenten zu ermitteln
- config: die Default-Sprache der Installation
Die Reihenfolge der Optionen bestimmt die Reihenfolge, in der NagVis die verschiedenen Mechanismen benutzt (neu in 1.5)

logonmodule | FrontendLogonDialog | Definiert das zu benutzende Logon-Modul. Per Default benutzt NagVis den HTML-Logon-Dialog zur Abfrage von Authentifizierungsinformationen. Bei Auslieferung gibt es kein anderes Logon-Modul. Es ist möglich, andere Logon-Module hinzuzufügen. Weitere Einzelheiten finden Sie in der logon-Modul-Dokumentation. (neu in 1.5)
refreshtime | 60 | Aktualisierungsintervall in Maps bzw. laden der nächsten Map bei Map-Rotation
sesscookiedomain | automatisch ermittelt | Vielleicht möchten Sie festlegen, für welche Domain NagVis das Session-Cookie speichern soll. Per Default versucht NagVis, den Wert mit Hilfe der Web-Server-Umgebungsvariablen selbst zu ermitteln. Dies sollte in den meisten Umgebungen funktionieren, könnte sich aber z.B. durch URL-Rewriting ändern. (neu in 1.5)
sesscookiepath | automatisch ermittelt | Vielleicht möchten Sie den Pfad festlegen, für den NagVis das Session-Cookie speichern soll. Per Default versucht NagVis, den Wert mit Hilfe der paths/htmlbase-Variablen selbst zu ermitteln. Dies sollte in den meisten Umgebungen funktionieren, könnte sich aber z.B. durch URL-Rewriting ändern. (neu in 1.5)
sesscookieduration | 86400 | Lebensdauer des Cookies in Sekunden. Der Standardwert ist auf 24 Stunden eingestellt. Das NagVis-Session-Cookie wird bei jedem Seitenaufruf erneuert. Wenn eine Session länger als die eingestellte Zeit untätig ist, wird sie ungültig. (neu in 1.5)
startmodule | overview | Das anzuzeigende Startmodul, wenn vom Benutzer keins angegeben wird. (neu in 1.5)
startaction | view | Die Default-Aktion, wenn vom Benutzer keine angegeben wird. (neu in 1.5)

### paths

In diesem Abschnitt werden alle benötigten Pfad-Variablen definiert.

Wert | Default | Beschreibung
--- | --- | ---
base | `/usr/local/nagvis/share/` | absoluter physikalischer NagVis-Pfad
htmlbase | `/nagvis` | absoluter html-NagVis-Pfad
htmlcgi | `/nagvis/cgi-bin` | absoluter html-NagVis-cgi-Pfad

### defaults

Default-Werte für Maps, die Sie benutzen. Wenn für die Map bzw. ein Element kein Wert angegeben wurde, dann wird ein Standardwert benutzt.

Wert | Default | Beschreibung
--- | --- | ---
backend | live_1 | Default-Backend (ID des Backends - kopieren Sie den Text, der für `<backend-id>` steht, nach `[backend_<backend-id>]`)
backgroundcolor | transparent | Default-Hintergrundfarbe für Maps
contextmenu | 0 | Aktivieren/Deaktivieren des Kontextmenüs auf Ihren Map-Objekten.
contexttemplate | default | Default context template.
eventbackground | 0 | aktivieren (1) bzw. deaktivieren (0) des Wechselns der Hintergrundfarbe bei Statusänderungen (die konfigurierte Farbe wird gezeigt, wenn der Gesamtstatus PENDING, OK oder UP ist)
eventhighlight | 1 | aktivieren (1) bzw. deaktivieren (0) der Hervorhebung von Statusänderungen durch Hinzufügen einer blinkenden Umrandung
eventhighlightduration | 10000 | Dauer der Hervorhebung in Millisekunden
eventhighlightinterval | 500 | Intervall der Hervorhebung in Millisekunden
eventlog | 0 | aktivieren (1) bzw. deaktivieren (0) des Ereignisprotokolls im neuen JavaScript-Frontend. Das Ereignisprotokoll enthält wichtige Aktionen und Informationen
eventloglevel | info | Loglevel des Ereignisprotokolls (verfügbar: debug, info, warning, critical)
eventheight | 100 | Höhe des JavaScript-Eventlogs in Pixeln
eventhidden | 1 | Verstecken/Zeigen des Eventlogs während des Map-Ladens
eventscroll | 1 | aktivieren (1) bzw. deaktivieren (0) des Bewegens zu dem Icon, das den Status verändert hat, falls das Icon nicht im sichtbaren Bereich liegt
eventsound | 1 | aktivieren (1) bzw. deaktivieren (0) von Sound-Signalen bei Statusänderungen
headermenu | 1 | aktivieren (1) bzw. deaktivieren (0) des Headermenüs
headertemplate | default | Default header template
hoverchildslimit | 10 | max. Anzahl von Child-Objekten
hoverchildsorder | asc | Reihenfolge von Child-Objekten ("asc"=aufsteigend, "desc"=absteigend)
hoverchildsshow | 1 | Anzeigen von Child-Objekten in Hover-Menüs
hoverchildssort | a | Sortierreihenfolge von Child-Objekten ("s"=Status, "a"=Alphabet)
hoverdelay | 0 | Verzögerung des Hover-Menü-Auftretens (in Sekunden)
hovermenu | 1 | aktivieren/deaktivieren von Hover-Menüs
hovertemplate | default | Default hover template
hovertimeout | 5 | Default-Timeout bei Ajax-Anfragen in Hover-Menüs (in Sekunden) veraltet ab 1.4
icons | std_medium | Default-Iconset
onlyhardstates | 0 | nur Hard-Zustände benutzen (keine Soft-Zustände)
recognizeservices | 1 | Service-Zustände in Host/Hostgroup-Objekten erkennen
showinlists | 1 | Anzeigen von Maps in Listen (Dropdowns, Index-Seite, ...)
stylesheet |  | Dateiname des benutzerdefinierten Stylesheets, das in den Maps verwendet werden soll. Die Datei muss im share/nagvis/styles-Verzeichnis abgelegt werden. (neu in 1.5)
urltarget | _self | Ziel des Icon-Links, diese Option passt <a target=""> an (_self ist das gleiche Fenster)
hosturl | [htmlcgi]/status.cgi?host=[host_name] | Die Default-URL, die bei einem Links-Klicks des Benutzers auf ein Host-Objekt benutzt wird. Verfügbare Makros: [htmlcgi], [htmlbase], [host_name], [backend_id]
hostgroupurl | [htmlcgi]/status.cgi?hostgroup=[hostgroup_name] | Die Default-URL, die bei einem Links-Klicks des Benutzers auf ein Hostgruppen-Objekt benutzt wird. Verfügbare Makros: [htmlcgi], [htmlbase], [hostgroup_name], [backend_id]
serviceurl | [htmlcgi]/extinfo.cgi?type=2&host=[host_name]&service=[service_description] | Die Default-URL, die bei einem Links-Klicks des Benutzers auf ein Service-Objekt benutzt wird. Verfügbare Makros: [htmlcgi], [htmlbase], [host_name], [service_description], [backend_id]
servicegroupurl | [htmlcgi]/status.cgi?servicegroup=[servicegroup_name] | Die Default-URL, die bei einem Links-Klicks des Benutzers auf ein Servicegruppen-Objekt benutzt wird. Verfügbare Makros: [htmlcgi], [htmlbase], [servicegroup_name], [backend_id]
mapurl | [htmlbase]/index.php?mod=Map&act=view&show=[map_name] | Die Default-URL, die bei einem Links-Klicks des Benutzers auf ein Map-Objekt benutzt wird. Verfügbare Makros: [htmlcgi], [htmlbase], [map_name]

### index

Dieses sind die Optionen für die Übersichtsseite von NagVis.

Wert | Default | Beschreibung
--- | --- | ---
backgroundcolor | #ffffff | Default-Hintergrundfarbe für die Übersichtsseite
cellsperrow | 4 | Maps pro Zeile in Map-Listen.
headermenu | 1 | aktivieren (1) bzw. deaktivieren (0) des Headermenüs
headertemplate | default | Default header template
showautomaps | 1 | aktivieren/deaktivieren der Anzeige von Automaps (neu in 1.5)
showmaps | 1 | aktivieren/deaktivieren der Anzeige von Maps (neu in 1.5)
showmapthumbs | 1 | aktivieren/deaktivieren der Anzeige von Map-Thumbnails (neu in 1.5)
showrotations | 1 | aktivieren/deaktivieren der Anzeige von definierten Rotationen

### automap

Setzt die Automap-Optionen.

Wert | Default | Beschreibung
--- | --- | ---
defaultparams | &maxLayers=2 | Dies sind die Parameter für die Automap-Ansichten und Links in den Listen (Map-Indexseite, Dropdown-Menüs in den Headern)
defaultroot | localhost | Default-Wert für das Root-Objekt. Details finden Sie in der Automap-Dokumentation
graphvizpath | /usr/local/bin | wenn die graphviz-Binaries (dot,neato,twopi,...) nicht über PATH gefunden werden können, muss der Pfad hier gesetzt werden
showinlists | 1 | aktivieren/deaktivieren der Automap in Map-Listen (Map-Indexseite, Dropdown-Menüs in den Headern)

### wui

Dieses sind die Optionen für die WUI.

Wert | Default | Beschreibung
--- | --- | ---
allowedforconfig | EVERYONE | Benutzer, die die NagVis-Konfiguration ändern dürfen (kommaseparierte Liste) oder EVERYONE (veraltet ab 1.5)
autoupdatefreq | 25 | In diesem Intervall wird die Map von der WUI gesichert.
grid_color | #f7f7f7 | Die Farbe der Rasterlinien. (neu in 1.5)
grid_show | 0 | Aktivieren (1) bzw. deaktivieren (0) eines Rasters, um die Ausrichtung von Objekten im WUI zu vereinfachen. Objekte werden an der linken, oberen Ecke ausgerichtet. (neu in 1.5)
grid_steps | 32 | Größe des Rasters in Pixeln. (neu in 1.5)
headermenu | 1 | Aktivieren (1) bzw. deaktivieren (0) des Header-Menüs im WUI. (neu in 1.5)
headertemplate | default | zu benutzendes Standard-Header-Template im WUI. (neu in 1.5)
maplocktime | 5 | Zeit in Minuten, die eine Map von einem editierenden Benutzer blockiert wird.

### worker

Optionen für den neuen Worker im JavaScript-Frontend von NagVis.

Wert | Default | Beschreibung
--- | --- | ---
interval | 5 | Das Intervall in Sekunden, in dem der Worker auf zu aktualisierende Objekte prüft.
requestmaxlength | 1900 | Die maximale Länge von HTTP-Requests während Ajax-HTTP-Requests. Einige Intrusion Detection/Prevention-Systeme haben ein Problem mit zu langen Queries.
requestmaxparams | 0 | Die maximale Anzahl von Parametern in Ajax-HTTP-Requests. Einige Intrusion Detection/Prevention-Systeme haben Probleme mit zu vielen Parametern im URL. 0 = keine Begrenzung.
updateobjectstates | 15 | Die Aufbewahrungszeit in Sekunden für die Zustände im Frontend. Die Statusinformationen werden nach Ablauf dieser Zeit im folgenden Worker-Intervall aufgefrischt.

### backend_*

Die Backend-Abschnitte zur Definition der Backends werden alle `[backend_<backend-id>]` benannt. In dem Beispiel ist `live_1` die `backend_id`.
Abhängig vom Wert in backendtype müssen die gültigen Werte für die Backends gesetzt werden. In diesem Beispiel ist es das MKLivestatus-Backend.

    [backend_live_1]
    backendtype="mklivestatus"
    htmlcgi="/nagios/cgi-bin"
    ; the following options depend on the selected backendtype, in this case it is MKLivestatus
    socket="unix:/usr/local/nagios/var/rw/live

Wert | Default | Beschreibung
--- | --- | ---
backendtype | mklivestatus | Art des Backends - MUSS gesetzt werden
htmlcgi | /nagios/cgi-bin | Pfad zum cgi-bin-Verzeichnis dieses Backends (wichtig bei mehreren Backends)
custom_1 |  | Erste benutzerdefinierte Variable, die in den Context- und Hover-Menüs verfügbar ist. Mit dieser Option können verschiedene benutzerdefinierte URLs zu den Context-/Hover-Menüs hinzugefügt werden, die jeweils vom Backend abhängig sind. Das ist u.a. nutzbar, wenn Links auf verschiedene Nagios-Instanzen hinzugefügt werden sollen.
custom_2 |  | Zweite benutzerdefinierte Variable (s.o). |
custom_3 |  | Dritte benutzerdefinierte Variable (s.o). |

### rotation_*

Definiert verschiedene Map-Rotationspools. In diesem Beispiel schaltet der Browser alle 15 Sekunden zwischen den Maps "demo" und "demo2" hin und her. Die Rotation wird aktiviert durch die URL: index.php?rotation=<rotation-id>. In diesem Fall ist die Rotation-ID "demo"

    [rotation_demo]
    maps="demo,demo2"
    interval=15

Wert | Default | Beschreibung
--- | --- | ---
interval | 15 | Map-Rotationsintervall in Sekunden

maps

kommaseparierte Liste von Maps in diesem Pool, die zu rotieren sind. Sie können auch externe URLs durch [ ] klammern (z.B. maps="demo1,[http://localhost/test.php]". Die URL muss von dem Server erreichbar sein, auf dem NagVis läuft.
Sie können Label im folgenden Format hinzufügen: <label>:<map> und <label>:<[url]>. Die Label werden in der Rotationsliste angezeigt. Neu in 1.5: Es ist außerdem möglich, Automaps zu Rotationen hinzuzufügen. Setzen Sie einfach ein "@"-Zeichen vor den Name der Automap, um sie der Rotation hinzuzufügen.

### states (neu in 1.5)

Optionen, die die Behandlung und das Aussehen der verschiedenen Zustände in der NagVis-Installation beeinflussen.

Diese Einstellungen definieren das Verhalten der Zustandsbehandlung. Hauptsächlich ist es möglich zu konfigurieren, welcher Zustand einen anderen "überdeckt". Ein kritischer Zustand (5) wird eine Warnung (4) überdecken, ein bestätigter kritischer Zustand (2) wird nicht eine Warnung (4) überdecken.

Wert | Default
--- | ---
unreachable | 8
unreachable_ack | 5
>
unreachable_downtime | 5
down | 7
down_ack | 5
down_downtime | 5
critical | 7
critical_ack | 5
critical_downtime | 5
warning | 6
warning_ack | 4
warning_downtime | 4
error | 3
error_ack | 2
error_downtime | 2
ok | 1
up | 1
pending | 0

Diese Einstellungen definieren das Verhalten der Zustände im Frontend.

- *_bgcolor: Die bgcolor-Option wird als Hintergrundfarbe bei Eventhandlern benutzt.
- *_color: Sie können die Vordergrundfarben konfigurieren, die u.a. als Linienfarben und der Hervorhebung von Eventhandlern benutzt werden.
- *_sound: Die Sound-Dateien werden bei Änderungen in den genannten Zustand abgespielt (muss MP3-Format sein).

Wert | Default
--- | ---
unreachable_bgcolor | #F1811B
unreachable_color | #F1811B
unreachable_sound | std_unreachable.mp3
down_bgcolor | #FF0000
down_color | #FF0000
down_sound | std_down.mp3
critical_bgcolor | #FF0000
critical_color | #FF0000
critical_sound | std_critical.mp3
warning_bgcolor | #FFFF00
warning_color | #FFFF00
warning_sound | std_warning.mp3
unknown_bgcolor | #FFCC66
unknown_color | #FFCC66
unknown_sound |
error_bgcolor | #0000FF
error_color | #0000FF
error_sound |
ok_bgcolor | #00FF00
ok_color | #00FF00
ok_sound |
up_bgcolor | #00FF00
up_color | #00FF00
up_sound |
pending_bgcolor | #C0C0C0
pending_color | #C0C0C0
pending_sound |