Open Source im professionellen Einsatz

Systemüberwachung mit Big Brother

Großer Bruder

Wer Problemen seiner Server frühzeitig auf die Spur kommt, verhindert kostspielige Ausfälle. Das Überwachungs-Framework Big Brother hilft dabei.

Sobald aus einem einsamen Server ein ganzer Pool wird, wachsen für den gewissenhaften Administrator auch die Schwierigkeiten, alle Parameter, die für den reibungslosen Betrieb des Systems relevant sind, ständig im Auge zu behalten. Dabei ließe sich manches Problem, zum Beispiel ein volles Dateisystem, beheben, bevor die Anwender überhaupt etwas merken.

Das Monitoring externer Dienste, beispielsweise des bei einem ISP gehosteten Webservers, eines externen Mail-Relays oder Webproxys, dient dabei nicht nur als Frühwarnsystem, sondern sorgt für die notwendigen Informationen darüber, wie zuverlässig die Systeme des Dienstleisters arbeiten. Man kann sich dazu selbst entwickelter, individueller Lösungen bedienen oder Zeit und Nerven sparend auf Komplettpakete wie das Überwachungswerkzeug Big Brother von Quest Software zurückgreifen.

Bei BB handelt es sich um mehrere Shellskripte, die ihre Ergebnisse an einen zentralen, in C implementierten Server im Netz weitergeben. Der verarbeitet die Statusmeldungen, stellt sie auf einer übersichtlichen Webseite dar und informiert bei kritischen Statusänderungen den Administrator. Überwachen lassen sich Linux-Systeme, die meisten Unix-Derivate, Microsoft Windows NT und 2000 sowie Netware und IBMs AS/400 beziehungsweise iSeries.

Baukasten

Big Brother setzt sich aus mehreren Komponenten zusammen (Abbildung 1). Auf jedem zu überwachenden System installiert der Administrator eine Client-Software, die lokale Parameter überwacht, zum Beispiel die freie Plattenkapazität. Der BB-Server übernimmt drei Aufgaben, die sich auch auf mehrere physikalische Server verteilen lassen. Eine davon löst der »BBNET«-Dienst, indem er regelmäßig die Verfügbarkeit von Netzwerkdiensten wie DNS oder Mail überprüft. Die Statusmeldungen der Clients und des »BBNET«-Dienstes - positive wie negative - werden alle fünf Minuten an den Dienst »BBDISPLAY« zur Weiterverarbeitung geschickt. Warnungen und Fehlermeldungen gehen zusätzlich an den Dienst »BBPAGER«, der den Administrator per Mail oder wahlweise per SMS informiert.

Die Kommunikation zwischen Clients und Server erfolgt über den TCP-Port 1984 - als Erinnerung an George Orwells berühmtes Buch "1984". Aus den gesammelten Statusmeldungen erzeugt BB alle fünf Minuten Übersichten für alle überwachten Systeme, und zwar als HTML-Seiten, die der Administrator der Allgemeinheit (oder nur sich selbst) über einen Webserver zugänglich macht.

Bei der grafischen Darstellung bedient sich Big Brother der Ampelfarben Rot, Gelb und Grün und sorgt so dafür, dass die Situation auf einen Blick erfasst werden kann (siehe Abbildung 2). Der Hintergrund der HTML-Seiten spiegelt dabei jeweils die Farbe des aktuell kritischsten Zustands wider:

  • Grün: Alles ist in Ordnung,
  • Gelb: Warnung,
  • Rot: Fehler.
  • Weiß: Keine Meldung (zum Beispiel von Systemen, die über Wählleitungen angebunden sind).
  • Schwarz: Keine Zustandsmeldung, das System wird nicht überwacht.
  • Violett: Seit mehr als 30 Minuten keine Statusmeldung erhalten.

In Abbildung 2 ist der Rechner »test3 .foo.bar« nicht erreichbar, auf »test2.foo .bar« gibt es Probleme mit der CPU-Auslastung und der freien Plattenkapazität. Die Spalten besagen Folgendes:

  • »conn«: Antwortet der Rechner auf »ping«?
  • »cpu«: Wie hoch ist die Auslastung des Systems?
  • »disk«: Ist auf allen Partitionen ausreichend Speicherkapazität frei?
  • »msgs«: Gibt es kritische Einträge in den Logfiles?
  • »procs«: Laufen alle wichtigen Prozesse?

Rot bedeutet aber nicht immer, dass wirklich das damit suggerierte Problem vorliegt: Kann BB einen Parameter nicht ermitteln, weil zum Beispiel ein Logfile nicht lesbar ist, wechselt die Statusanzeige ebenfalls auf Rot.

Zusätzliche Berichte, darunter historische Auswertungen, erzeugen mitgelieferte Skripte, die im »cgi-bin«-Verzeichnis des Webservers installiert werden. Über das Web-Interface lässt sich eine Übersicht generieren, wann ein System nicht verfügbar war. Für einen ersten Eindruck lohnt ein Besuch bei[4].

Doch vor die bunten Statusberichte haben Götter noch die Installation gestellt. Als Beispiel soll der fiktive Server »test2 .foo.bar« dienen, auf dem alle drei BB-Server-Dienste für Netzwerküberwachung, Datensammlung und Benachrichtigung laufen.

Abbildung 1: Die Architektur einer Big-Brother-Überwachung.

Abbildung 1: Die Architektur einer Big-Brother-Überwachung.

Abbildung 2: Übersichtsanzeige für die überwachten Systeme.

Abbildung 2: Übersichtsanzeige für die überwachten Systeme.

Eine Beispiel-Installation

Aufgrund der Lizenz (siehe Kasten "Hintergrund ...") muss der künftige Nutzer Big Brother selbst von[1] herunterladen und kompilieren. Zunächst gilt es, einen dedizierten Benutzer, zum Beispiel »bb«, für Big Brother einzurichten. In dessen Homeverzeichnis und unter seiner User-ID entpackt man das heruntergeladene Archiv:

tar xf bb19c.tar
cd bb19c

Die Installation selbst erfolgt mit »root«-Rechten, weil einige Skripte ins Document-Root- und das »cgi-bin«-Verzeichnis des (bereits lauffähigen) Webservers kopiert werden müssen. Zudem braucht Big Brother die Information, auf welcher Distribution er zum Einsatz kommt. Zu diesem Zweck ruft »root« das mitgelieferte Konfigurationsskript auf:

cd install
./bbconfig

Es erkennt anhand der Datei »/etc/ issue«, um welche Distribution es sich handelt. Das funktioniert natürlich nur, wenn niemand die darin enthaltenen Daten verändert hat. Eine Red-Hat-Distribution zum Beispiel erkennt das Skript am Teilstring »Red«, eine SuSE-Distribution an »SuSE«. Alternativ gibt man »bbconfig« das Betriebssystem beziehungsweise die Distribution als Parameter mit, für eine SuSE-Distribution etwa »./bbconfig suse«. Weitere Parameter wären »redhat«, »debian«, »caldera« und »mandrake«.

Nach der Bestätigung der Lizenz sollte man die Ausführung von Big Brother als »root« aus Sicherheitsgründen nicht erlauben. Dafür kommt der neu angelegte Benutzer »bb« zum Zuge. Ansonsten eignen sich die Standardvorgaben in diesem Frage-Antwort-Spiel gut für eine erste Installation. Lediglich die Angaben zu den Verzeichnissen und zum Benutzer des Webservers müssen den lokalen Gegebenheiten angepasst werden. Anschließend lässt sich Big Brother kompilieren und installieren:

cd ../src; make; make install

Einige Dateien sollten noch an den richtigen Benutzer verschenkt werden:

cd ../..
chown -R bb bbvar bb19c

Nach der Installation des Basissystems geht es an die Konfiguration. Dazu arbeitet man wieder unter der Benutzerkennung »bb«. Um die Anpassung der mitgelieferten Skripte zu vermeiden, lohnt sich ein Link vom Verzeichnis »bb19c« auf »bb«.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook