Nagios Config Interfaces

This entry is part 1 of 4 in the series Nagios Config Interfaces

Grafische Tools zur Konfiguration von Nagios und Icinga. Ein Thema – ein Dauerbrenner. So sehr diese Tools die Gruppe der Administratoren polarisiert, ist es doch oft unerlässlich sie einzusetzen. Sei es aufgrund unerfahrener Admins die mit Linux Systemen nicht vertraut sind oder eine Umgebung schlichtweg so groß und komplex geworden ist, das Schreiben und Pflegen von Config-Files Unmengen an Zeit verschlingt.

So haben wir uns Beispielsweise in einem aktuellen Großprojekt ebenfalls für ein grafisches Tool entschieden. Das geplante Endstadium (3.000 Hosts mit 45.000 Services auf aktuell 5 Icinga Clustern und Master-/Slave-Environment) ließ uns aber auch nahezu keine andere Wahl. Der Pflegeaufwand bei händischem Editieren wäre angesichts der vom Kunden prophezeiten Änderungs- und Wachstumsraten enorm.

In den nächsten Monaten möchte ich mich hin und wieder mit einem Tool befassen. Die aktuelle Auswahl besteht aus:

  • LConf
  • NConf
  • Lilac
  • NagiosQL
  • NagiosAdministrator

Zu prüfende Kriterien sind:

  • Installationsvoraussetzungen – Wie schwierig ist die Installation? Was wird alles benötigt?
  • Handling / Usability – Wie kann ich konfigurieren? Wie benutzerfreundlich ist es?
  • Funktionsumfang – Was wird unterstützt? Was wird nicht unterstützt?
  • Enterprise Environments – Mehrere Instanzen? Master / Slave Umgebungen?
  • Datenimport – Kann ich meine bestehende Konfiguration beibehalten?
  • Sonstiges – Raum für sonstige, positiv aufgefallene Features

Weitere Wünsche zu Tools und Test-Kriterien sind jederzeit willkommen.

Viel Spaß!

Tobias Redel

Autor: Tobias Redel

Tobias hat nach seiner Ausbildung als Fachinformatiker bei der Deutschen Telekom bei T-Systems gearbeitet. Seit August 2008 ist er bei NETWAYS, wo er in der Consulting-Truppe unsere Kunden in Sachen Open Source, Monitoring und Systems Management unterstützt. Insgeheim führt er jedoch ein Doppelleben als Travel-Hacker, arbeitet an seiner dritten Millionen Euro (aus den ersten beiden ist nix geworden) und versucht die Weltherrschaft an sich zu reißen.

Nagios Config Interfaces – LConf

This entry is part 2 of 4 in the series Nagios Config Interfaces

Als erstes Tool in der Liste und erstes Tool auf dem Prüfstand: LConf!

LConf erlaubt eine LDAP basierte Konfiguration von Nagios und/oder Icinga. Das Tool steht auf netways.org frei verfügbar (GPL) zum Download bereit.

Installationsvoraussetzungen

Die Hürden zur Inbetriebnahme sind gering. Ein OpenLDAP Server und Perl mit LDAP Modulen. Wer vor der Installation des LDAP Server zurück schreckt kann beruhigt sein. Sei es ein “apt-get install slapd” bei Debian oder ein “yum install openldap-servers.x86_64” bei RedHat. Auf allen Derivaten gibt es im Anschluss an die Installation einen Wizard der bei der initialen Konfiguration des LDAP Servers behilflich ist.

Sind die Vorraussetzungen erfüllt, geht es ebenso einfach weiter. Ein kleiner “Installer” in Form eines Shell Skriptes verteilt die LConf Skripte in das gewünschte Verzeichnis und gibt Hilfestellung bei der Installation.

Handling / Usability

LConf ist mit jedem beliebigen LDAP Browser bendienbar. Der Bedienungskomfort ist somit eng an die Qualität und den Funktionsumgang des eigenen Browsers geknüpft. Der frei erhältliche LDAP Admin ist beispielsweise ein sehr gutes Tool für alle Windows Benutzer.

An die Struktur in LConf muss sich der Benutzer nicht erst lange gewöhnen. Warum? Der Bentzer gibt die Struktur selbst vor! Sie wollen Ihre Konfiguration nach Standorten / Monitoring Instanzen / Derivaten oder z. B. nach Abteilungen und Applikationsgruppen strukturieren? Kein Problem. Das letztendliche generieren der Konfiguration ist völlig unabhängig von der LConf Baumstruktur. Sie dient lediglich zur besseren Orientierung des Benutzers.

Ein weiteres Feature, das z. B. durch den Einsatz des LDAP Admin erziehlt werden kann, ist die Konfiguration durch Drag’n’Drop. Ihr Server “MyLinuxHost” wird in Zukunft nicht mehr aus New York, sondern München überwacht? Ziehen – ablegen – fertig. Sie möchten eine Massenänderung durchführen? Nutzen Sie die Suchen / Ersetzen Funktion. Wie bereits erwähnt. Je besser der LDAP Browser, desto höher der Bedienungskomfort.

Funktionsumfang

Kurz und knapp: von Hosts, Services und Hostgroups über Customvars, Host-/Service Dependencies und Templates bis hin zu Vererbung ist alles an Board. Das einzige was der ein oder andere Administrator noch vermissen könnte sind Eskalationen. Diese beherrscht LConf (noch) nicht.

Enterprise Environments

Das handling mehrerer Nagios und Icinga Server ist – wie auf den Screenshots zu erahnen – kein Problem. LConf beherrscht mehrere unabhängige Instanzen ebenso wie verteilte Master-/Slave-Environments.

Datenimport

Für das Übernehmen einer bestehenden Konfiguration beinhaltet LConf ein Import-Skript, welches einen bestehenden Objects Cache in LDAP Objekte konvertiert und diese dem LDAP hinzufügt. Ein optionaler CleanUp-Mechanismus versucht im Anschluss einen möglichst hohen Grad an Vererbungen zu erzielen.

Sonstiges

Außerdem noch zu erwähnen: Ein Webinterface zur Plattform unabhängigen Konfiguration von LConf ist bereits in Planung. Selbstverständlich wird auch darin ein sehr hoher Grad am Bedienungskomfort (Drag’N’Drop & Co.) zu finden sein.

Tobias Redel

Autor: Tobias Redel

Tobias hat nach seiner Ausbildung als Fachinformatiker bei der Deutschen Telekom bei T-Systems gearbeitet. Seit August 2008 ist er bei NETWAYS, wo er in der Consulting-Truppe unsere Kunden in Sachen Open Source, Monitoring und Systems Management unterstützt. Insgeheim führt er jedoch ein Doppelleben als Travel-Hacker, arbeitet an seiner dritten Millionen Euro (aus den ersten beiden ist nix geworden) und versucht die Weltherrschaft an sich zu reißen.

Nagios Config Interfaces – NConf

This entry is part 3 of 4 in the series Nagios Config Interfaces

Der zweite Blogpost der Serie. Besser spät als nie 😉

Heut ist NConf an der Reihe! NConf ist ein auf PHP basiertes Konfigurationstool für Nagios, welches seine Daten in einer MySQL Datenbank speichert. NConf steht auf nconf.org frei verfügbar (GPL) zum Download bereit.

Installationsvoraussetzungen

Als Vorraussetzungen zur Installation werden Apache Webserver, PHP, MySQL und Perl benötigt. Nichts, was nicht auf einem aktuellen Nagios bzw. Webserver zu finden wäre. Zusätzlich hilft ein webbasierter Wizzard mit einem “Pre-installation check” bei der Einrichtung. Gleich zu Anfang fällt die gute Dokumentation auf. Die Installation ist im nconf.org eigenen Wiki sauber in einzelnen Schritten dokumentiert.

Handling / Usability

Der erste Blick auf das Webinterface ist übersichtlich aber auch gleichzeitig ein wenig überladen. Übersichtlich, da alles auf einer Menüleiste gelistet ist – überladen, da diese Liste mittlerweile doch etwas lang geraten ist. Die Entwickler haben die vielen Funktionen aber gut in Gruppen (Basic, Additional, Server und Administration) unterteilt.

Ansonsten ist das Webinterface gut bedienbar und lädt zügig. Möglichkeiten zum klonen von Einträge, Multi-Modify und Suchfilter. Einige Select Boxen bieten eine “Live-Search”. Im Allgemeinen wäre ein wenig mehr Web 2.0 wünschenswert.

Eine Feature das ich immer wieder toll finde ist der graphische Host-Dependency-Viewer. Über die Betittelung des Features kann man streiten. Hierunter verbirgt sich eine graphische Darstellung der Nagios Parent-/Child Beziehungen. Nicht – wie man evtl. meinen könnte – eine Abbildung der Nagios Hostdependencies.

Funktionsumfang

Der Funktionsumfang des Tools ist relativ umfangreich. Neben den Nagios Basics sind auch Host- und Servicetemplates realisierbar. In Sachen Host-/Servicedependencies und Eskalationen ist noch nacharbeit erforderlich. Diese beherrscht NConf ebenso wenig wie das zuweisen eines Services zu einer Hostgruppe. Die Features stehen allesamt auf der Liste der Upcoming Features für NConf 1.2.7.

Enterprise Environments

Durch das Monitor/Collector Prinzip von NConf ist es möglich mehrere “Nagios Slaves” unter einem Master zusammen zu fassen. Der Collector ist der aktive Sammler der Checkergebnisse, der Monitor konsolidiert mehrere Collector zentral in einer Ansicht. Die hierfür nötige, passive Konfiguration des Monitors wird beim generieren der Konfiguration automatisch erstellt.

Datenimport

Für das Importieren einer bestehende Konfiguration beinhaltet NConf Import-Skripte. Da diese je Lauf immer nur einen Objekttyp importieren können, ist eine Aufteilung der Nagios Konfiguration in einzelne Dateien nötig. Diese Vorbereitungen und der damit entstehende Mehraufwand für Hosts, Timeperiods & Co erfreut leider nicht jeden Administrator.

Tobias Redel

Autor: Tobias Redel

Tobias hat nach seiner Ausbildung als Fachinformatiker bei der Deutschen Telekom bei T-Systems gearbeitet. Seit August 2008 ist er bei NETWAYS, wo er in der Consulting-Truppe unsere Kunden in Sachen Open Source, Monitoring und Systems Management unterstützt. Insgeheim führt er jedoch ein Doppelleben als Travel-Hacker, arbeitet an seiner dritten Millionen Euro (aus den ersten beiden ist nix geworden) und versucht die Weltherrschaft an sich zu reißen.

Nagios Config Interfaces – NagiosQL

This entry is part 4 of 4 in the series Nagios Config Interfaces

Nach fast 10 Monaten eifriger Recherche befassen wir uns mit dem dritten Produkt der Blog Serie: NagiosQL

NagiosQL ist wie NConf ein auf PHP basierndes Konfigurationstool für Nagios und Icinga. Alle Informationen werden in einer MySQL Datenbank gespeichert und in Konfigurationsdateien exportiert. NagiosQL kann unter nagiosql.org kostenfrei (New BSD License) heruntergeladen werden.

Installationsvoraussetzungen

Die Installation von NagiosQL ist einfach und dank dem Wizard für jedermann leicht händelbar. Der “NagiosQL Installations Assistent” weist uns auf alle fehlenden Pakete und falschen Berechtigungen unser Installation hin.
Voraussetzungen im Groben sind ein Webserver mit PHP, ein Pear Paket und eine MySQL Datenbank.

Nach der Beendigung des Installationswizards ist man dann auf sich selbst und das eigene Suchvermögen gestellt, um die letzten Konfigurationsschritte abzuschließen.

Die Dokumentation auf nagiosql.org darf diesbezüglich noch verbessert werden.

Handling / Usability

Die Oberfläche ist strukturiert und übersichtlich aufgebaut, Menüpunkte sind den Konfigurationsobjekten nach benannt (Hosts, Services, Commands etc.) und durch das Berechtigungskonzept lassen sich unterschiedliche Ansichten für verschiedene Benutzergruppen einrichten.

Funktionen wie das Klonen/Kopieren bestehender Objekte vereinfachen die Arbeit und auch das Host- und Servicetemplate Konzept ist durchdacht. Ein paar Abstriche muss man jedoch in Kauf nehmen. Leider gibt es keine Funktionsübergreifende Suchfunktion und auch verschiedene Konfigurationsmöglichkeiten die Nagios und Icinga liefern, stellen sich als umständlich heraus.

Das Webinterface könnte im Ganzen noch dynamischer sein und sich der Materie Web 2.0 nähern.

Funktionsumfang

Der Funktionsumfang deckt derzeit alle Konfigurationsmöglichkeiten von Nagios ab.
Einige Punkte wie z.B. die Zuordnung von Hosts zu Hostgruppen bzw. das Zuordnen von Gruppenmitgliedern zu einer Hostgruppe, können noch verbessert werden.

Sehr positiv zu erwähnen ist, dass alle Funktionen sowohl für Nagios als auch Icinga funktionieren.

Enterprise Environments

NagiosQL ermöglicht es Konfigurationsdateien verschiedener Instanzen zu administrieren.
Nach dem Erstellen einer “Domäne” lassen sich Konfigurationsdateien via SSH oder FTP auf eine weitere Nagios oder Icinga Instanz exportieren. Auch das Starten und Stoppen der Instanzen funktioniert über SFTP oder SSH aus der Weboberfläche heraus.

Datenimport

Der Datenimport lässt sich aus der Weboberfläche starten. Zur Auswahl stehen im Standard alle Konfigurationsdateien unterhalb des Nagios ‘/etc’ Verzeichnisses. Beim Importieren beachtet NagiosQL neben den Host- und Servicetemplates auch, ob ein Host vorher aktiviert oder deaktiviert war.