Splunk ist mehr als nur eine hocheffiziente Suchmaschine. Die plattformübergreifende Lösung erfasst, indiziert und korreliert Echtzeitdaten aus verschiedenen Quellen, speichert sie in einem durchsuchbaren Repository und visualisiert sie. Für Splunk gilt dasselbe wie für andere Dienste in Ihrer Umgebung: Überwachen Sie die Software – idealerweise mit einem externen Tool, das auf einem anderen Rechner läuft.
Dieser Artikel gibt einen kurzen Überblick über Splunk und erklärt dann, welche Splunk-Komponenten Sie im Detail überwachen können. Zum Schluss zeigen wir, wie leicht es ist, das Splunk-Monitoring in Checkmk zu integrieren – so führen Sie alle Informationen an einem zentralen Ort zusammen.
Was ist Splunk?
Kurz gesagt: Splunk macht Maschinendaten lesbar. Die Software bietet also einen Zugang zu Daten, die normalerweise in einem unstrukturierten Format vorliegen und daher schwer zu verstehen sind. Splunk identifiziert Muster, liefert Metriken und generiert Grafiken, Berichte, Warnungen, Dashboards und andere Visualisierungen. Splunk kann fast alle Arten von Daten indizieren, darunter Streams, maschinelle und historische Daten, zum Beispiel Logdateien, Netzwerk-Feeds usw.
Zuerst definieren Sie eine Datenquelle als Input. Splunk ist nicht auf lokale Quellen begrenzt; die Software liest auch Netzwerk-Feeds und Daten von so genannten Forwardern ein. Letztere sind auf den jeweiligen Hosts installiert, von denen die Daten stammen. Darüber hinaus gibt es Apps und Add-ons mit vorkonfigurierten Eingaben für bestimmte Datenquellen, zum Beispiel von Linux- oder Windows-Hosts, Cisco Security oder Symantec Blue Coat usw.
Splunk verarbeitet und extrahiert relevante Daten und hilft Administratoren damit also, Probleme in der eigenen IT-Infrastruktur zu identifizieren und lokalisieren. Aber was ist mit Splunk selbst? Wenn Sie die Software in Ihrem Unternehmen einsetzen, spielt sie sehr wahrscheinlich eine Schlüsselrolle – ein guter Grund, sie im Auge zu behalten. Schauen wir uns zunächst die Grundlagen an.
Splunk-Monitoring: Grundlagen
Informationen zu Splunk finden Sie in mehreren Logfiles. Splunk erzeugt eine ganze Reihe von Protokollen, etwa interne Logs zu Benutzeraktivitäten, zum indizierten Volumen in Bytes, zu periodischen Snapshots der Splunk-Performance und der Systemdaten sowie zu den Protokollen für den Splunk-Server splunkd
und mehr. Ferner erzeugt es Daten über die Auswirkungen von Splunk auf das Host-System(Introspection-Logs) und Daten über die Suchanfragen einschließlich Laufzeit und anderer Leistungsmetriken (Suchprotokolle).
Darüber hinaus ist es natürlich wichtig, den Gesamtzustand von Splunk zu überprüfen, also die Topologie und die Leistung. Dazu gehören Such- und Indexierungs-Performance, Ressourcen und Lizenznutzung usw. Im Wesentlichen gibt es diese Splunk-Komponenten, die Sie überwachen können:
- Splunk Alerts
- Splunk Health
- Splunk Jobs
- Splunk License (Lizenzen)
- Splunk License Usage (Lizenznutzung)
- Splunk-Systemmeldungen
Falls Sie damit schon vertraut sind, springen Sie einfach zum Abschnitt "Splunk mit Checkmk überwachen". Falls nicht, geht der nächste Abschnitt etwas mehr ins Detail.
Splunk-Monitoring: Alerts, Health, Jobs und Linzenzen
Sie können für Splunk so genannte Alerts konfigurieren, so dass die Software auf Ereignisse reagiert und eine Aktion auslöst, wenn ein Suchergebnis eine bestimmte Bedingung erfüllt. Diese Aktionen können etwa Benachrichtigungen per E-Mail, Webhooks zum Anzeigen von Nachrichten in einem Chat usw. sein. Falls Sie solche Alerts in Splunk eingerichtet haben, ist es ratsam, die Anzahl der ausgelösten Alerts im Blick zu behalten. Zu viele oder zu wenige Alerts können ein Hinweis auf einen falsch konfigurierten Splunk-Dienst sein.
Der Splunk Health Report gibt detaillierte Informationen zum splunkd-Dienst preis. Der Bericht verrät etwas über den Gesamtzustand, macht aber auch Angaben zu einzelnen Splunk-Features, wie etwa
File Monitor Input, Index Processor, Search Scheduler usw. Der Health Report färbt die Ausgabe ein: Grün bedeutet, dass eine Funktion korrekt arbeitet, gelb weist auf mögliche Probleme hin und Rot heißt, dass ein schwerwiegendes Problem vorliegt. Den Splunk-Zustandsbericht erreichen Sie über das Spunk-Web-Interface, über die REST API gelangen aber sämtliche Informationen auch zum Checkmk-Spezialagenten.
Genau genommen ist jede Suchanfrage in Splunk ein Job, und wenn es zu viele unvollendete oder fehlgeschlagene Jobs gibt, kann das System instabil werden. Achten Sie also auf die Anzahl der Jobs, der gescheiterten Jobs und der Zombies (also solche Jobs, die nie den Stratus "beendet" erreicht haben).
Wenn Sie das für Ihre Lizenz maximal zulässige tägliche Indizierungsvolumen überschreiten, warnt Splunk Sie (license warning), und wenn die Anzahl der Warnungen wiederum eine Grenze überschreitet, führt das zu einer Lizenzverletzung (license violation). In diesem Zustand indiziert Splunk zwar weiterhin die Daten, aber die Suchfunktion (nicht im internen Index), die Berichte und Alerts sind deaktiviert. Daher sollten Sie unbedingt die Lizenzen und auch die Lizenznutzung überwachen.
Das sind zwei verschiedene Dinge: Wenn Sie die Lizenz selbst überwachen, erhalten Sie Informationen über deren Status (gültig/abgelaufen), die Gültigkeitsdauer, die maximalen Verletzungen (bis zur Sperrung der Suche) und das erlaubte Kontingent (Datenvolumen, das pro Tag indexiert werden kann). Um aber wirklich genau zu wissen, wie weit Sie von dieser Quota entfernt sind, benötigen Sie einen weiteren Check zur Lizenznutzung. Dieser gibt Auskunft darüber, welche Datenmenge bereits indiziert wurde (inklusive der Datenmenge auf den Slaves).
Nicht unterschlagen wollen wir die Splunk-Systemmeldungen. Diese "System Messages" erreichen Sie normalerweise über das Splunk-Web-Interface, aber auch hier ist es möglich, sie über die REST API verfügbar zu machen – warum also nicht mit einer externen Monitoring-Lösung arbeiten?
Splunk-Monitoring mit Checkmk
Wie gesagt bietet Checkmk einen Spezialagenten für das Splunk-Monitoring, der auf die Splunk-REST-API zugreift und Informationen zu den Alerts, Jobs, Health und Lizenzen übermittelt. Die Einrichtung ist schnell erledigt: Erstellen Sie zuerst einen Host, dem Checkmk alle Status-Informationen und Metriken von Splunk zuweist. Klicken Sie dazu auf Create new host (WATO ➳ Hosts), aktivieren Sie die Checkbox IP Address Family und wählen Sie im Drop-down-Menü No IP aus. Anschließend klicken Sie im Bereich DATA SOURCES die Checkbox Check_MK Agent an und wählen No Checkmk agent, all configured special agents oder Normal Checkmk agent, all configured special agents (falls der Checkmk-Agent installiert ist) aus dem Drop-down-Menü rechts daneben.
Danach erstellen Sie eine neue Regel. In unserem Beispiel heißt sie Check state of Splunk, und Sie finden sie über das Suchfeld im Bereich WATO ➳ Host & Service Parameters. Die gesuchte Regel sollte unter Datasource Programs aufgelistet sein. Im Konfigurationsdialog tragen Sie noch den Namen der Splunk-Instanz ein (FQDN oder IP-Adresse), die Sie überwachen möchten, den Splunk-Benutzernamen und das dazugehörige Passwort. Wenn Sie Splunk 8.0 oder neuer einsetzen, dann wählen Sie HTTPS im Drop-down-Menü Protocol aus – selbst, wenn das Splunk-GUI nach wie vor über HTTP erreichbar ist. Darunter wählen Sie über die einzelnen Checkboxen aus, welche Komponenten Sie überwachen möchten: License state, License usage, System messages, Jobs, Health und Alerts.
Den Wächter überwachen
Ausgefallene IT-Systeme können Ihr Unternehmen mehr als nur Geld kosten – Sie können den Ruf ruinieren und Kunden oder sogar Arbeitsplätze kosten. Es ist daher unerlässlich, die Performance von Servern und Diensten in Ihrer Infrastruktur zu messen und zu überwachen. Das Splunk-Monitoring mit einem externen Tool ist dank der REST API schnell eingerichtet, denn sie ermöglicht den Zugang zu allen wichtigen Informationen. Wenn Sie Checkmk als Monitoring-Lösung in Ihrer Umgebung etabliert haben, sind Sie nur wenige Mausklicks von der Splunk-Ingeration entfernt.
Falls Sie Fragen haben oder Ihre eigenen Tipps und Tricks zum Thema "Splunk-Monitoring" teilen möchten, kommentieren Sie doch diesen Beitrag oder diskutieren mit uns und anderen im Checkmk Forum – wir freuen uns über Feedback!