Ausreißer Check Mk
Total Page:16
File Type:pdf, Size:1020Kb
05/2014 Check_mk als Nagios-Alternative Titelthema Ausreißer Check_mk 34 Check_mk hat zurzeit Rückenwind: Es gilt nicht mehr als schnödes Nagios-Plugin und seine Oberfläche Multi- site lässt die Konkurrenz alt aussehen. Doch wird Check_mk diesem Ruf in der Praxis gerecht? Holger Gantikow www.linux-magazin.de wachen will und wie er alle Ergebnisse in einem Rutsch zurück. dies möglichst optimal Das erfordert nur eine einzige Verbin- mittels Hostgruppen und dung (Abbildung 1, rechts). Templates abbildet, da- Auch Nagios wertet anders aus: Mit dem mit seine Konfiguration Nagios Remote Plugin Executor (NRPE) wartbar bleibt. Zugleich stupst es in der Regel ein Plugin auf dem wächst aber die Last auf Host an, das etwa die RAM-Auslastung dem Nagios-Server mit je- misst. Das Plugin erhält einige Schwel- der Erweiterung: Je mehr lenwerte und liefert einen Status zurück Dienste und Hosts dieser (»OK«, »Warning«, »Critical«). überwacht, desto mehr Check_mk bewertet die Ergebnisse hin- wird die Serverhardware gegen erst auf dem Server. Dies hat den zum Engpass. Die Anzahl positiven Nebeneffekt, dass die Agents der „aktiven Checks“ pro auf den zu überwachenden Hosts keine Prüfintervall bestimmt, weitere Konfiguration benötigen. Der wie leistungsfähig der Check_mk-Server filtert die von den Server sein muss (Abbil- Agenten gelieferten Daten mit Hilfe der © Ljupco Smokovski, 123RF Smokovski, © Ljupco dung 1, links). Konfigurationsparameter und Schwellen- werte, die der Admin festgelegt hat, und Wer den Zustand von mehr als einer Check_mk am Start schickt die Ergebnisse an Nagios weiter. Handvoll Systeme im Blick behalten möchte, muss auf handgestrickte Shell- Speziell gegen diese beiden Probleme, Testlauf skripte oder gelegentliche Kontrollen gegen die komplexe Konfiguration und verzichten und braucht ein vollwertiges die hohe Serverlast, möchte Check_mk Ob Check_mk hält, was es verspricht, Monitoring. Der freie Klassiker hierfür ist [2] vorgehen. Im Jahr 2008 vom Münch- soll das Testszenario (siehe Kasten „So das altbekannte Nagios. ner Mathias Kettner als Ein-Mann-Projekt haben wir getestet“) zeigen. Beide Sys- Ungeachtet aller Beliebtheit hakt es je- gestartet, entwickelte sich das 2009 unter teme nutzen als Basis Ubuntu 12.04.4 doch in traditionellen Nagios-Setups an GPL veröffentlichte Nagios-Plugin rasch LTS (die 64-Bit-Ausgabe) sowie alle not- mehreren Stellen. So zeichnet Nagios sich weiter und stand bei Monitoring-Exper- wendigen Pakete aus dem hauseigenen nicht gerade durch eine einsteigerfreund- ten recht bald hoch im Kurs. Mehrere Universe-Repository, die einen vermeint- liche Konfiguration aus und verursacht Entwickler pflegen das Projekt nach wie lich schnellen Einstieg versprechen. Im durch eine wachsende Zahl zu überwa- vor äußerst aktiv, die Firma hinter dem Paketdepot fand der Tester jedoch neben chender Systeme und Dienste sowohl Projekt vertreibt heute auch Appliances. einem betagten Check_mk 1.1.12 (aktuell beim Admin als auch beim Monitoring- Check_mk ist also aus seinem Status als ist Version 1.2.4) nur ein vormodernes System einen steigenden Puls. Nagios-Plugin herausgewachsen. Icinga 1.6.1 (aktuell ist 1.10.1). Der Arti- So muss der Nagios-Neuling nach der Das leistungssteigernde Konzept ist so kel verwendet im Folgenden Icinga und Installation genau überlegen, auf wel- einfach wie genial: An die Stelle der zahl- Nagios synonym, wobei Check_mk auch chen Systemen er welche Services über- reichen aktiven Nagios-Checks tritt ein Shinken unterstützt. Shellskript als Client-Agent, der seine DELUG-DVD Ergebnisse als passive Checks an den Stolpersteine DELUG-DVD Nagios-Server übermittelt. Fragt das Ser- Auf der DELUG-DVD befinden ver-Plugin die Check_mk-Agenten auf Warum Ubuntu für die Universe-Paket- sich Debian- und RPM-Pakete des Check_mk- den zu überwachenden Hosts ab, prüfen quelle keinen Support anbietet, wird Agenten sowie Check_mk 1.2.4 selbst. diese eine Vielzahl von Daten und liefern schnell klar. Denn wer erwartet, dass 05/2014 Titelthema ! " Nagios- Nagios- Nagios-Server Nagios-Client Server Client Check 1 Agent Check_mk Check_mk Eine Abfrage Check 2 für beliebig viele Checks 35 Check 3 Nagios Pro Check CPU RAM Smart eine Abfrage www.linux-magazin.de Abbildung 1: In einem klassischen Setup (!) baut Nagios eine Verbindung pro Check auf, was den Monitoring-Server belastet. Check_mk (") übermittelt hingegen alle Ergebnisse in einem Rutsch und spart auf diese Weise Ressourcen. die angeblich an Icinga angepasste Nach dem Installieren der Agents prüft Tag »guest«. Für so markierte Systeme Check_mk-Konfiguration des Pakets der Admin jeweils, ob der »xinetd«-Super- kann der Systemverwalter abweichende »check-mk-config-icinga« als Abhängig- server läuft, und setzt gegebenenfalls in Schwellenwerte oder alternative Abfra- keit auch Icinga selbst auflistet, wird der Konfigurationsdatei »/etc/xinetd.d/ gemechanismen definieren. enttäuscht. Ähnliches gilt für das Paket check_mk« die Option »disable = no«, Wer der Verfügbarkeit seines DNS-Ser- »check-mk-agent«, das den Agenten im da sonst der Verbindungsaufbau zum vers nicht traut, kann zudem die Python- Schlepptau hat, der auf den zu über- Check_mk-Agent über TCP-Port 6556 Dictionary-Datenstruktur »ipaddresses« wachenden Systemen läuft. Ihn soll der nicht klappt. befüllen, wodurch der Monitoring-Server Daemon »xinetd« starten, doch installiert Sicherheitsbewusste Administratoren DNS-Lookups umgeht. Weitere Tipps und Ubuntu 12.04.2 Letzteren nicht automa- schränken über die Einstellung »only_ Syntax-Fragen beantwortet die Check_ tisch – hier müssen die Paketmaintainer from« den Zugriff auf den Check_mk- mk-Dokumentation [4]. dringend nachbessern. Agenten ein, und zwar auf die IP-Adresse Aufgrund der unsauber definierten Ab- des Monitoring-Servers. Dies ist keine Das Inventar hängigkeiten dauert die händische Instal- wirklich saubere Lösung, weil Abfragen lation von Check_mk 1.2.4 kaum länger und Daten weiterhin unauthentifiziert Nun ist der ebenso spannende wie ein- und lohnt sich, weil es neue Features und unverschlüsselt im Klartext durch förmige Augenblick gekommen, in dem und eine doppelte Anzahl an Checks mit- das Netzwerk rauschen, aber ein Anfang. »check_mk -I« alle Hosts in der Datei bringt – insgesamt 491. Wie der Admin Anleitungen im Netz [3] beschreiben, »main.mk« automatisch inventarisiert. In die Software auf den Server spielt, doku- wie ein Check_mk-Nutzer den Daten- diesem Zuge liefern die Agenten auf den mentiert Listing 1. Ein Installationsskript transport mittels SSH absichert – alter- Hosts alle dort gefundenen und überprüf- ermittelt die meisten notwendigen Para- nativ kann er mit Stunnel arbeiten. Wer baren Items an den Server zurück. Diese meter automatisch. zudem wissen möchte, welche Informa- Items dürfen fast beliebiger Natur sein Wer nicht nur die Hosts, sondern auch tionen der überwachte Host an den Mo- und zeigen beispielsweise die Auslastung den Monitoring-Server selbst überwa- nitoring-Server zurückliefert, kann sich von Systemressourcen wie der CPU und chen möchte, braucht dort ebenfalls das über »nc Hostname 6556« die noch nicht des Arbeitsspeichers oder die Zustände Agenten-Paket. Die Prozedur aus Listing ausgewerteten Rohdaten holen. von Diensten an – die Möglichkeiten sind 2 installiert das »check-mk-agent«-Paket vielfältig. nicht nur auf den Hosts, sondern auch Unter Beobachtung Der Befehl »check_mk -L« listet alle ver- auf dem Server. Eine RPM- und eine De- fügbaren Checks auf, der Befehl »check_ bian-Variante des Pakets finden sich auf Die zu überwachenden Systeme macht mk -M Check« liefert Details zu Schwel- der DELUG-DVD. der Admin schnell mit Check_mk be- kannt. Hierzu genügt auf dem Moni- Listing 1: Installation von Check_mk So haben wir getestet toring-Server ein Eintrag in die Datei 01 wget http://mathias-kettner.de/download/ In Kombination mit Icinga ist Check_mk im »/etc/check_mk/main.mk«. Der muss, check_mk-1.2.4.tar.gz Test auf einem Hostsystem gelaufen und hat wie alle Check_mk-Konfigurationsda- 02 tar xvfz check_mk-1.2.4.tar.gz dabei den Host selbst sowie eine virtuelle teien, in Python verfasst sein. Listing 03 cd check_mk-1.2.4/ Maschine, auf der mehrere Dienste aktiv wa- 3 stellt dies für den Monitoring-Server 04 ./setup.sh ren, überwacht. Beide haben Ubuntu 12.04.4 »mon-host-ubu« und die virtuelle Ma- LTS verwendet. Damit der Admin im Fehlerfall schine »mon-vm-ubu« dar. Hosts versieht Listing 2: Agent installieren eine Benachrichtigung erhielt, installierten der Admin dabei mit optionalen Host- 01 wget http://mathias-kettner.de/download/ die Tester auf dem Monitoring-Server eine Tags, die ein Pipe-Zeichen trennt. Im check-mk-agent_1.2.4-2_all.deb Mail-Konfiguration. Beispiel trägt die virtuelle Maschine das 02 dpkg -i check-mk-agent_1.2.4-2_all.deb 05/2014 Titelthema nen Webbrowser, über finieren. Bei beiden half Mathias Kettners den er Zugriff auf das Remote Plugin Executor, besser bekannt grafische Frontend der unter dem Namen MRPE-Agent. Das be- Wahl erhält, im Test wusst einfach gehaltene Beispiel wertet Check_mk war dies zunächst das für Samba den Rückgabewert eines lokal Icinga-Webinterface. auf dem Samba-Server abgesetzten Smb- client-Aufrufs aus. Für Vsftpd wählten 36 Weitere die Tester ein ähnliches Verfahren: Hier Plugins öffnete Netcat eine Verbindung auf Port 21 des FTP-Servers. Im Testszenario leis- Listing 4 zeigt exemplarisch das selbst www.linux-magazin.de tete Check_mk, wie in erstellte Smbclient-basierte Plugin, das der Werbung verspro- der MRPE dann aufruft. Wer mit dem chen, gute Dienste Skript