Mathias Kettner - Linux Experte
Switch language   BeratungBeratungSchulungenSchulungenCheck_MKCheck_MK
   
 

Ethan Galstad von Nagios Enterprises spricht mit Mathias Kettner über check_mk

Vielen Dank an Ethan für dieses Interview. The Originalfassung finden Sie hier. Eine Englische Version ist auch verfügbar.

Ethan Galstad: In dieser Folge von "Meet The Community" spreche ich mit Mathias Kettner, dem Autor von check_mk - einem einzigartigen Addon für Nagios, das das Remote-Monitoring von Systemdaten stark vereinfacht.

Ethan Galstad : Kannst du uns in bisschen über dich selbst erzählen?
—
Mathias Kettner: Ich komme aus München in Deutschland und habe dort 1998 mein Informatikstudium abgeschlossen. Von Herbst 1999 bis Frühjar 2001 habe ich als Entwickler bei SuSE in Nürnberg gearbeitet. Während dieser Zeit habe ich unter anderem die Systemarchitektur für YaST2 entworfen. Seit ich bei SuSE aufgehört habe bin ich selbständiger Linux-Experte und biete zusammen mit meinen Mitarbeitern Beratung und Schulungen rund um das Thema Linux und Open Source an. Dabei bildet das Thema Monitoring mit Nagios einen wichtigen Schwerpunkt.

EG: Kannst du uns einen kurzen Überblick darüber geben, was das Projekt (check_mk) ist?
—
MK: Check_mk ist aus der Erfahrung von vielen Jahren Nagios-Consulting heraus geboren. Gerade bei größeren Installationen ist das Erstellen und vor allem Aktuellhalten der Konfiguration sehr aufwendig. Und natürlich kommt man ab etwa 2.000 Checks langsam Probleme mit der Performance, teils schon deutlich früher. Check_mk löst diese Probleme auf eine überraschend einfache Art. Es verwendet eigene sehr einfach gebaute Agenten. Das Besondere: der Agent wird nicht für jeden Check separat aufgerufen sondern sendet immer gleich alles, was er über den Host weiß. Pro Host richtet man in Nagios nur noch einen einzigen aktiven Check ein. Dieser holt die Daten vom Host, wertet sie aus und sendet Nagios per passive Servicechecks die Resultate der einzelnen Services.

EG: Was sind die Hauptvorzüge für einen Nagios-Benutzer, wenn er check_mk einführt?
—
MK: Der auffälligste Vorteil ist, dass es mit check_mk viel weniger Arbeit macht, neue Hosts in das Monitoring aufzunehmen. Der Agent - egal ob für Windows, Linux oder UNIX - erfordert keine Konfiguration. Bei Linux und UNIX ist besonders hervorzuheben, dass der Agent ohne kompilierte Programme auskommt und als portables Shellskript realisiert ist. Der Großteil der Services wird automatisch erkannt und eingebunden, die Konfiguration für Nagios automatisch erstellt. Bei zunehmender Größe der Installation wird außerdem der große Performancevorteil deutlich. Check_mk macht es möglich, zehntausende von Checks pro Minute durchzuführen - selbst wenn man die Daten in RRD-Datenbanken einträgt.

EG: Check_mk hat eine einzigartige Architektur, wenn man es mit anderen Methoden des Remote-Monitorings vergleicht. Was hat dich zu dieser Idee inspiriert?
—
MK: Die Idee zu dieser Architektur enstand beim Monitoring von UNIX-Systemen. NRPE ist hier besonders aufwendig, da vorkompilierte Pakete nicht verfügbar sind und das Kompilieren auf den verschiedenen UNIX-Derivaten viele Administatoren überfordert - denn zum NRPE müssen ja auch noch die Plugins kompiliert werden. Aus diesem Grund entwickelte ich ein Verfahren, das auf einem Shellskript und inetd basierte. Die Idee, alle Services von einem Host in einem einzigen Durchlauf zu bearbeiten und die Ergebnisse durch die Kommandopipe an Nagios zu senden, kam erst vor eineinhalb Jahren wie aus heiterem Himmel. Später habe ich erkannt, dass sich das Verfahren auch wunderbar auf SNMP ausdehnen lässt. Beim Überwachen von Switchports kann check_mk die Daten zu allen Ports in einem Durchlauf verarbeiten. Und es kann automatisch erkennen, welche Ports in Verwendung sind und dafür Nagios-Services einrichten.

EG: Aus deiner Erfahrung: Ersetzen Benutzer normalerweise ihre bestehenden Monitoring-Agenten (NRPE, NSClient++, usw.) durch dieses Addon oder benutzen sie sie weiter?
—
MK: Prinzipiell kann check_mk in jeder beliebigen Dosierung parallel zu allen anderen Methoden eingesetzt werden. Wer allerdings ein paar Tage mit check_mk gearbeitet hat, der wird die Nachteile, die mit NRPE und NSClient++ verbunden sind, bald scheuen. Eine Migration zu check_mk geht meist sehr rasch. Einzelne Checks, die mit check_mk nicht gut zu realisieren sind oder wo der Aufwand einer Umstellung nicht lohnt, können problemlos mit den klassischen Methoden parallel weiterbetrieben werden.

EG: Gibt es irgendwelche Nachteile, wenn man check_mk anstelle von dedizierten Agenten wie NRPE oder NSClient++ verwendet? Gibt es zum Beispiel bestimmte Arten von Informationen oder Messwerten, die man mit check_mk und seiner Architektur nicht so einfach monitoren kann?
—
MK: Die Architektur legt keine Einschränkungen auf. Es gibt allerdings Einzelfälle, wo Checks mit der klassischen Methode besser zu lösen sind. Zum einen sind das Netzwerkchecks wie check_http, welche ohnehin ohne Agent arbeiten. Zum anderen ist der Windows-Agent leider noch nicht so flexibel wie die für Linux und UNIX - er ist aktuell noch nicht skriptbar und nur über Programmierung in C zu erweitern. Das liegt nicht zuletzt an meiner Entscheidung, direkt gegen die WIN32-API zu programmieren. Der Vorteil: Der Agent braucht weder .NET, noch Java noch irgendeine andere Laufzeitumgebung - nicht mal eine spezielle DLL - und ist so optimal portabel.

EG: Du hast check_mk bei etlichen deiner Kunden mit einer großen IT-Infrastruktur eingesetzt. Wie hilft check_mk Nagios zu skalieren? Was ist die größte Installation von check_mk, die du kennst?
—
MK: Die größte Installation führt aktuell 17.500 Checks pro Minute durch. Demnächst soll die Überwachung um etliche hundert Windows-Server erweitert werden. Die Load auf der 4-CPU-Maschine liegt bei etwa 6 - wobei der Großteil der Zeit auf IO-Wait geht (Linux rechnet Prozesse, die auf IO warten zur Load hinzu). Es werden etwa 5MB pro Sekunde an RRD-Daten geschrieben. Unter Einsatz des RRD-Caches, sehe ich auf dieser Hardware 30.000 bis 40.000 Checks pro Minute als machbar an.

EG: Wie lange arbeitest du schon an check_mk?
—
MK: Die heutige Implementierung - in Python - ist vor etwa eineinhalb Jahren entstanden. Check_mk ist seit Ende April 2009 unter GPL verfügbar.

EG: Du bist der Hauptentwickler von check_mk. Gibt es in dem Projekt andere Entwickler oder Mitwirkende?
—
MK: Momentan bin ich der einzige, der an der eigentlichen Programmierung arbeitet. Einen maßgeblichen Teil zum Erfolg und der Reife des Projektes trägt allerdings einer meiner Kunden bei: Karl-Heinz Fiebig. Er ist der Herr über die größte Installation, bringt sehr viele gute Ideen, ist meist der erste, der meine Fehler ausbaden muss und legt gelegentlich schonmal selbst Hand an den Code an, wenn Probleme behoben werden müssen.

EG: Auf welche Art hast du zum ersten mal von Nagios gehört und warum hast du dich dafür entschieden, es einzusetzen?
—
MK: Mein erstes Projekt mit Nagios habe ich 2003 durchgeführt. Aus Kostengründen sollte ein Open-Source-System zum Monitoring verwendet werden. Schon damals war Nagios das bekannteste System seiner Art. Es konnte dann auch alle Anforderungen des Projektes voll erfüllen.

EG: Was sind deiner Meinung nach die nützlichsten Vorteile wenn man Nagios einsetzt?
—
MK: Nagios ist sehr flexibel und ermöglicht den Aufbau von sehr individuellen Lösungen. Auch der Kostenfaktor spielt eine große Rolle, da kommerzielle Monitoringsysteme sehr hohe Lizenzkosten verursachen.
—
EG: Gibt es bestimmte Änderungen, die du dir an Nagios wünschst, damit die Integration von check_mk einfacher wird?
—
MK: Die Integration von Nagios und check_mk lässt eigentlich wenig zu wünschen übrig. Alle nötigen Schnittstellen sind vorhanden und sind auch einfach sehr effizient.

EG: Gibt es etwas, dass du für die Fortsetzung und Verbesserung des Projektes benötigst?
—
MK: Was das Projekt am meisten weiterbringt, sind zum einen Kundenprojekte, bei denen ich selbst mit Nagios und check_mk Monitoringlösungen umsetze und das System so weiterentwickelt wird. Zum anderen sind aber auch Rückmeldungen von Nutzern aus der Community sehr wertvoll - seien es qualifizierte Fehlermeldungen, Hinweise auf wichtige Anforderungen und nicht zuletzt natürlich Werbung für das Projekt in Form von Links, Forenbeiträgen, fremdsprachiger Dokumentation und Ähnlichem.

EG: Was sind deine Pläne für die Zukunft von check_mk?
—
MK: Der wichtigste Punkt ist sicherlich der Ausbau der Dokumentation. Außerdem arbeite ich an Konzepten zur Modularisierung der Agenten. Vor allem den Windows-Agenten möchte ich leichter erweiterbar machen. Dabei bin ich noch auf der Suche nach einem wirklich überzeugenden Konzept, bei dem der jetzige minimalistische Ansatz nicht verloren geht.

 

Navigation:

Check_MK Homepage
Detailed Introduction
Documentation
Downloads
Download with OMD (Subscription needed)
FAQ
Mailinglists
Public GIT repository
Interview with Ethan Galstad
Stories, Statements, Successes (NEW)
Screenshots of Multsite
Live-Demo of Multsite GUI
Support Contracts (German) - NEW
 
Startseite ~ Seitenverzeichnis ~ Impressum ~ AGB ~ Die Tauschzone Letzte Änderung: 3. Februar 2012
  Webdesign: kopf+herz, München