Backends

Allgemeine Informationen

Der NagVis-Code besteht aus mehreren Schichten. Eine dieser Schichten ist die "Daten-Schicht". Die Datenschicht wird benutzt, um Informationsanfragen von Dritten zu behandeln, wie z.B. Nagios NDO. Wir nennen diese Schicht im Allgemeinen "Backend". Innerhalb von NagVis gibt es einige Komponenten, um diese Backends zu verwalten und sie dienen als "Kleber" zwischen den einzelnen Backends und den anderen Schichten.

Default-Backend

Zur Zeit werden mit dem NagVis-Kern vier Backends ausgeliefert: das mklivestatus, ndomy, ndo2fs und merlinmy Backend. Alle Backends werden im Folgenden genauer beschrieben.
Das ndomy-Backend ist das Default-Backend seit NagVis 1.0. Es holt Nagios-Informationen aus der NDO-MySQL-Datenbank.

Backend-Typen

a

mklivestatus-Backend

MKLivestatus ist ein einfaches und elegantes Nagios Eventbroker Modul. Livestatus ist konzipiert um Disk-IO, Speicher- und CPU-Last, welcher durch die Verarbeitung von aktuellen Statusinformationen verursacht wird, zu reduzieren. Genau wie die NDO Datenbank setzt Livestatus auf die Event Broker API von Nagios auf und lädt ein binäres Modul in den Nagios Kern. Anders als die NDO Datenbank werden keine Daten aktiv in eine Datenbank oder Änliches kopiert. Die Daten werden über einen UNIX-Socket nur bereitgestellt, wenn sie auch angefragt werden. Details ¨ ber diese neue Datenquelle sind in der Offiziellen Dokumentation zu finden.

Seit NagVis 1.4.5 ist das mklivestatus Backend in NagVis enthalten. Es ist wesentlich performanter, als alle bisherigen Backends und kommt mit weniger Overhead aus. Es wird keine weitere Datenbank benötigt.

ValueDefaultDescription
socketunix:/usr/local/nagios/var/rw/live

Der Socket, auf dem MKLivestatus hört. Es kann ein lokaler UNIX-Socket, oder ein TCP Socket sein. Am Anfang des Wertes muss der Typ des Sockets bestimmt werden, dies kann "unix:" für UNIX Sockets oder "tcp:" für TCP Sockets sein.

Im Falle eines UNIX Sockets muss nach dem Doppelpunkt der Pfad zum Socket angegeben werden.

Wenn ein TCP Socket genutzt wird, muss nach dem Doppelpunkt die Hostadresse und im Anschluss von einem Doppelpunkt getrennt der Port angegeben werden: <host>:<port>. Die Hostadresse kann sowohl eine IP-Adresse, als auch ein DNS-Name sein.

Es gibt ausserdem einige globale Backend-Parameter, diese können in der Dokumentation der Hauptkonfiguration nachgelesen werden.

ndo2db-MySQL-Backend (ndomy)

Das ndo2db-MySQL-Backend, kurz ndomy-Backend, wird benutzt, um Nagios-Informationen wie Status- und Konfigurationsdaten aus einer MySQL-Datenbank zu holen. Ein Nagios-Addon namens ndoutils speichert alle Informationen, die bei einem laufenden Nagios anfallen, in einer MySQL-Datenbank. Diese Datenbank wird über das NagVis-ndomy-Backend abgefragt.

Sie können die folgenden Parameter benutzen, um ein ndomy-Backend zu konfigurieren:

WertDefaultBeschreibung
dbhostlocalhostHostname der NDO-Datenbank
dbport3306Port der NDO-Datenbank
dbnamedb_nagiosName der NDO-Datenbank
dbuserrootBenutzername für den Datenbankzugriff (Leseberechtigung ist ausreichend)
dbpassrootPasswort für den Datenbankzugriff (Leseberechtigung ist ausreichend)
dbprefix nagios_ Präfix der Tabellen in der NDO-Datenbank (wie in der ndo2db.cfg definiert)
dbinstancename default Name der Nagios-Instanz in der NDO-Datenbank (wie in der ndomod.cfg definiert)
maxtimewithoutupdate180Maximale Zeit in Sekunden nach der letzten Aktualisierung in NDO. NagVis wird melden, dass Nagios nicht läuft, wenn diese Zeit überschritten ist

Es gibt auch einige allgemeine Parameter. Sie finden sie in der Formatbeschreibung der Hauptkonfigurationsdatei.

ndo2fs-Backend

WertDefaultBeschreibung
path/usr/local/ndo2fs/varPfad zum ndo2fs-var-Verzeichnis. Die Dateien in diesem Verzeichnis sollten ndo2fs.pid, VOLATILE und PERSISTENT sein.
instancenamedefaultName der Backend-Instanz.
maxtimewithoutupdate180Maximale Zeit in Sekunden nach der letzten Aktualisierung in NDO. NagVis wird melden, dass Nagios nicht läuft, wenn diese Zeit überschritten ist

Es gibt auch einige allgemeine Parameter. Sie finden sie in der Formatbeschreibung der Hauptkonfigurationsdatei.

Andere Backend-Typen

FIXME: Hinweis auf andere Backends (eigene erzeugen, Backends von Dritten, ...).

Konfigurieren von Backends

Die Backends werden in der Hauptkonfigurationsdatei definiert. Schauen Sie in main configuration format description, wie Backends definiert werden.