Automating Splunk: Because wizards are too busy

Automating Splunk: Because wizards are too busy

Die Größe und Komplexität einer Splunk Installation ist abhängig von den jeweils geltenden Anforderungen an die Umgebung und kann sehr unterschiedlich ausfallen. Die Vorgehensweise bei der Installation ist jedoch meist ähnlich und viele Best Practices universal anwendbar. Durch Automatisierung kann die Installation und Konfiguration von Splunk formalisiert werden und auf dieser Basis neue Möglichkeiten für weitere Prozessoptimierungen erschlossen werden.

Die Installation von Splunk auf einer einzelnen Instanz ist mit wenig Aufwand verbunden und führt schnell zu ersten Ergebnissen. Der Betrieb einer einzelnen Instanz wird aus Gründen der Ausfallsicherheit, Hochverfügbarkeit und Performance meist nicht den Anforderungen von Unternehmen an eine produktive Installation gerecht. Daher werden Installationen für produktive Systeme meist als verteiltes System in Verbindung mit Clustermechanismen umgesetzt. Im Vergleich zur Installation der einzelnen Instanz steigen der Komplexitätsgrad und die benötigten Arbeitsschritte rasant an. Zusätzlich gibt es für die Installation in einer produktiven Umgebung Best Practices, die eingehalten werden sollten. Auch für Experten entsteht bei großen Umgebungen somit ein erheblicher Installations- und Wartungsaufwand.

Automatisierung

Die benötigten Arbeitsschritte zur Installation von Splunk können formalisiert und durch geeignete Tools wie beispielsweise Ansible automatisiert werden. Die Automatisierung trivialisiert den Installationsprozess und bietet neben der Zeitersparnis weitere Vorteile gegenüber einer manuellen Installation. Definierte Best Practices werden konsequent umgesetzt und die Konfiguration wird über alle Systeme vereinheitlicht – somit werden Flüchtigkeitsfehler ausgeschlossen und eine standardisierte Installation in gleichbleibender Qualität gewährleistet.

Skalierbarkeit

Durch Parametrisierung können Automatisierungswerkzeuge flexibel gestaltet werden. Dies ermöglicht die Installation unterschiedlichster Architekturen basierend auf den jeweils geltenden Anforderungen. Zusätzlich wird die Skalierbarkeit der Umgebung stark erhöht. Beispielsweise muss zur Erweiterung eines bestehenden Clusters die Konfiguration der Automatisierung lediglich um den Hostnamen der zusätzlichen Instanz erweitert werden.

Produktivbetrieb mit Ansible

Es existieren diverse Projekte, die sich mit der Automatisierung von Splunk beschäftigen. Ein entsprechendes Projekt zu finden, welches unseren Ansprüchen für den Einsatz in produktiven Umgebungen erfüllt, gestaltete sich schwierig, da die meisten Projekte für die einmalige Installation kleiner Testumgebungen zwar ausreichend waren, aber nicht geeignet, um verteilte Systeme zu implementieren oder nach der Installation Anpassungen an der Umgebung durchzuführen. Aus diesem Grund haben wir auf Basis von Ansible eine eigene Lösung entwickelt, die diesen Ansprüchen gerecht wird und eine Installation unter Einhaltung aktueller Best Practices durchführt. Neben der Installation kann die Konfiguration der Umgebung auch nachträglich angepasst werden – und dies unter Berücksichtigung von beeinflussenden Faktoren wie der Zugehörigkeit von Instanzen zu einem Cluster. Diese Lösung wird bereits von vielen unserer Kunden erfolgreich produktiv eingesetzt.

Neue Möglichkeiten

Die Zentralisierung der Konfiguration von Splunk in einer Automatisierungslösung ermöglicht die Versionierung des Konfigurationszustandes durch Versionierungstools wie git. So können Anpassungen der Konfiguration nachvollzogen und bei Bedarf rückgängig gemacht werden. Die Kombination aus Automatisierung und Versionierung bilden den Grundstein für neue Lösungen. Auf dieser Basis können beispielsweise automatische Deployments ganzer Umgebungen mit CI/CD Pipelines implementiert werden und die Einführung definierter Staging-Prozesse zur Trennung von Test- und Produktivumgebungen wird ermöglicht.

< Zurück zur Übersicht
Home | Insights | Blog | Automating Splunk: Because wizards are too busy