Xymon/Hobbit im D-PHYS

Axel Beckert

beckert@phys.ethz.ch

Übersicht

  • Vorgeschichte: BigBrother, Hobbit und Xymon
  • Das Konzept hinter BigBrother/Hobbit/Xymon
  • Wie funktioniert BigBrother/Hobbit/Xymon?
  • Welche Schnittstellen bietet Hobbit/Xymon?
  • Wie konfiguriert man Hobbit/Xymon?
  • Welche Erweiterungen gibt's am D-PHYS?
  • Vergleich mit Nagios
  • Vor- und Nachteile allgemein
  • Zusammenfassung / Ressourcen

Vorgeschichte: BigBrother, Hobbit und Xymon

  • BigBrother ist "Open Source", aber "non-free". Es gibt kostenlose Lizenzen für "non-commerical use".
  • Hobbit ("Highly Optimized BigBrother ImplemenTation") ist eine freie Implementation und Erweiterung der BigBrother-Protokolle.
  • BigBrother-Clients können auch an Hobbit-Server reporten.
  • Aus namensrechtlichen Gründen wurde Hobbit in Xymon umbenannt.

Das Konzept hinter BigBrother

  • Vier Ebenen: Pages, Gruppen, Hosts, Dienste
  • Sechs Farben — sechs Zustände:
    rot Trouble Bad things are happening.
    violett No report No report from this client in the last 30 minutes. The client may have died.
    gelb Attention The reporting system has crossed a threshold you should know about
    grün OK Everything is fine. Have a nice day.
    klar Unavailable The associated test has been turned off, or does not apply. A common example is connectivity on disconnected dialup lines.
    blau Disabled Notification for this test has been disabled. Used when performing maintenance.

Wie funktionieren Tests bei BB/Hobbit/Xymon?

  • Remote-Netzwerk-Tests vom Hobbit-Server aus: Ping, SSH, HTTP, HTTPS, etc.
  • Lokale Tests melden Zustände dem Server: Prozessüberwachung, Plattenplatz, RAM, Load, etc. (BigBrother: Client meldet Ergebnis. Hobbit: Client meldet Daten, Server berechnet Ergebnis.)
  • Externe Tests: Setzen Statusnachrichten auf Port 1984 des Servers ab.
    Syntax: status[+$minvalid] $host.$service $farbe `date` - $status $data
  • Tests, bei denen Flapping auftritt können als "bad" markiert werden, werden dann erst nach n-mal negativen Tests "rot".

Wie funktioniert der Hobbit/Xymon-Server?

  • Tests überwachen Zustände und melden diese alle 5 Minuten dem Server.
  • Der Server generiert alle 5 Minuten für jede Gruppe eine Webseite.
  • Weiter werden eine Startseite mit allen Rechnern ohne Gruppe (bei uns: Server), eine Seite mit allen kritischen Änderungen sowie eine Zusammenfassungsseite mit allen roten, gelben oder violetten Zuständen generiert.
  • Ist eine der angezeigten Komponenten rot, gelb oder violett, so wird dies auch der Hintergrund der Seite — die aktuelle Lage ist sofort erkennbar.
  • Trends: RRDs auf dem Server

Welche Schnittstellen bietet Hobbit/Xymon?

  • Webseite mit automatischen Refresh alle 5 Minuten: http://hobbit.phys.ethz.ch/.
  • E-Mail- und damit via Gateway auch SMS-Benachrichtung
  • IRC (Entwicklung von Credativ, im Debian-Paket hobbit-plugins)

Wie konfiguriert man Hobbit/Xymon? (1)

Lokale Clients und der Server können der Einfachkeit halber die gleiche Basis-Konfiguration haben. Jeder Rechner wertet das aus, was ihn betrifft.

Vereinfachter Auszug aus /etc/hobbit/bb-hosts:

group-compress <h3>Servers</h3>
129.132.86.197  wiggis # ntp ssh smtp pop3 imap2 http://webmail.phys.ethz.ch/ https://webmail.phys.ethz.ch/
192.168.127.2   wiggis1 # noconn
page physsem Workstations
group-compress <h3>Windows XP</h3>
195.176.49.212  PIGWIDGEON # dialup
195.176.49.213  PETRIFICUS # dialup
group-compress <h3>Workstations Linux</h3>
195.176.48.34   accra # ntp ssh
195.176.48.35   makat # ntp ssh

Wie konfiguriert man Hobbit/Xymon? (2)

Vereinfachter Auszug aus /etc/hobbit/hobbit-clients.cfg:

HOST=*
        PROC sshd 1 0 red
        DISK /scratch 99 101
        LOAD 5.0 10.0
        MEMSWAP 60 80
        CLOCK   10 60
HOST=* EXHOST=rmetrics
        PORT    STATE=LISTEN "LOCAL=%^(0\.0\.0\.0|::|\*)[.:](22|ssh)"
HOST=snitch
        PROC dhclient 1 1 yellow
        PROC X11/X 1 0 red TRACK=X
        PROC automount 1 0 red TRACK=automount
        PROC syslogd 1 0 red

Welche Erweiterungen gibt's am D-PHYS?

  • Status-Meldungen vom Sniffer (Take-Overs, Unregistrierte Rechner)
  • Status-Meldungen vom aktiven Scanner (Sicherheitslücken / ungepatchte Systeme)
  • IPv6-Tunnel-Erkennung
  • RAID-Controller (HW+SW) Tests
  • Abfragen von Druckern, Drucker-Queues und Print-Server
  • Quota Incoming Mail, Mailqueue, Postfix Soft-Bounce, etc.

Vergleich mit Nagios

  • Dialup- und No-Connection-Logik hilfreich
  • Übersichtlichere und lesbarere Konfiguration
  • Dafür fehlende Abhängigkeiten zwischen Hosts und Services
  • Keine Karte — an der ETH dank sehr flacher Netzwerkstruktur nicht ganz so kritisch.
  • Clients melden Status/Daten dem Server.
  • Kann mehr als eine Zeile Statusinformation speichern: https://hobbit.phys.ethz.ch/hobbit-cgi/bb-hostsvc.sh?HOST=zwoelfi&SERVICE=http"
  • Einfacher skriptbar als Nagios (IMHO)

Vorteile allgemein

  • Flexibel erweiterbar (tlw. Shell-Skripte)
  • Basics sehr leicht und schnell erlernbar.
  • Optisch schnell erfassbare Statusmeldungen

Nachteile allgemein

  • BigBrother: Keine freie Software, nur nicht-kommerzielle Nutzung ohne Kauf einer Lizenz erlaubt.
  • BigBrother: Performance: Engpass ist der Server (fast nur Shell-Skripte) — deutlich besser mit Hobbit/Xymon
  • Hobbit/Xymon: One-Man-Show.

Zusammenfassung / Ressourcen

Zusammenfassung

  • Hilfreich, Basics leicht verständlich
  • Zukunft von Hobbit/Xymon ungewiss.

Ressourcen