Pure Storage advanced Monitoring mit Splunk: Indexing ist Macht - Teil 2 - FlashBlade mit Splunk
Aktualisiert: 7. Mai 2021
In letztem Blogbeitrag ging es um allgemeines zur Blog-Serie "Pure Storage advanced Monitoring mit Splunk" und um die Grundinstallation von Splunk Enterprise.
Kurzer Exkurs
... Pure Storage kann auch Ihr Speicher/Repository für Ihre Splunkinstanzen sein. Splunk muss schnell Daten verarbeiten/indexieren und benötigt dafür selbstverständlich auch entsprechende Basis. - Marcel Düssil in Blogbeitrag "Pure Storage advanced Monitoring ... - Teil 1" vom 16.07.2019
Ich möchte dieses Statement nochmal kurz aufgreifen und fachlich untermauern.
Pure Storage FlashArray und FlashBlade sind Hochleistungsspeichersysteme für höchste Anforderungen. Pure Storage bietet mit Ihren Systemen Lösungen für KMU-Unternehmen und skaliert je nach Kundenanforderung (Performance oder auch Speicherkapazitäten) ins höchste Enterpriseumfeld. Ich selbst konnte in meiner gesamten Zeit noch keine Anforderung an ein Blockspeicher- bzw. Dateispeichersystem mit Pure Storage nicht erfüllen!
Aus diesem Grund ist auch Pure Storage die optimale Basis für die Splunk-Datenablage. Für Enterprise Splunk-Umgebungen sollte hier auf eine FlashBlade Technologie gesetzt werden. In kleineren Umgebungen kann aber auch auf eine FlashArray aufgesetzt werden.
Die nachfolgenden Folien sprechen für sich ... - take a look at it and get in touch with the Pure power. ツ


FlashBlade bietet als Objektspeicher verschiedenste Protokolle (SMB, NFS, S3). Ein elementarer Vorteil, welchen Pure Storage im direkt Vergleich zu anderen Herstellern hier an der Stelle vorlegt: das Ganze auf einem Namespace! Dies ermöglicht unter anderem eine globale Datenreduktion.


Einrichtung FlashBlade für Splunk
In diesem Beitrag geht es darum Splunk mit einem Pure Storage FlashBlade zur Datenerfassung und Monitoring in Splunk einzubinden.
Wie bereits erwähnt, hatte ich mir im Zuge der Vorbereitungen auf den weiteren Blogverlauf die Pure Storage Splunk-Apps bereits im vorherigen Blog heruntergeladen.
Wir loggen uns mit den zuvor angelegten Administrationdaten am Splunk Enterprise Server ein.

Nach erfolgreicher Anmeldung landet man direkt auf der Splunk Enterprise Startseite.

Wir importieren als Erstes die Pure Storage Splunk Apps für FlashBlade.
Hier gibt es in der Splunk Base zwei verschiedene, wobei sich diese wesentlich in der Funktion unterscheiden.
Die "PureStorage FlashBlade App" ist für die Benutzervisualisierung da, was so viel heißt: sie stellt vordefinierte Dashboards bereit. Bei der Visualisierung kann auf verschiedene Bereiche gefiltert (Filesysteme, Objekte, Policys, Alarme, ...) werden. Das ist so ähnlich, wie wir es von Pure1 kennen.
Das "PureStorage FlashBlade Add-On For Splunk" hingegen ist eine Applikation, welche die Schnittstelle zur FlashBlade zur Verfügung stellt. Diese kann Scripts ausführen und so Daten über die API's zu sammeln. Das Add-On wird in der Splunksprache auch oft als TA (= Technology Add-On) bezeichnet. Beim FlashBlade Add-On verbindet sich Splunk mit der REST API der FlashBlade um Informationen zu erhalten.
App-Import
Über die Menüleiste Apps > Apps verwalten > "App aus Datei installieren" können wir die zuvor heruntergeladenen Apps importieren. Die Apps für Pure Storage haben eine sehr kleine Dateigröße kleiner 2MB.



Nach erfolgreichem App-Import ist ein Reboot der Splunk Instanz notwendig. Hierbei werden alle Splunk-Dienste vollständig durchgestartet, heißt im Umkehrschluss ... es stehen kurzzeitig keine Splunk Services für andere eingebundene Plattformen zur Verfügung. In einer produktiven Splunk-Umgebung sollte diese Abhängigkeit beachtet werden.


Nach dem Neustart stehen die Apps funktionsfähig zur Verfügung und man kann direkt mit der Konfiguration fortfahren.

Optionale/weitere Vorbereitungen
Im Zuge der Blogvorbereitungen und der Recherchen zu Splunk kontaktierte ich einen mir empfohlenen Kontakt - einen absoluten Splunk-Freak (Kontakt kann hergestellt werden) - er lieferte mir kurz und knapp weitere nützliche Informationen zur Optimierung der Splunk Instanz.
Ein wichtiger Punkt - laut Fachmann - gibt es den Splunk-Indizies zu widmen. Mit den Standardeinstellungen gibt es einen main-Index (default) in welchen alle gesammelten Daten von Splunk abgelegt werden würden. Das ist aus diversen Gründen suboptimal und man sollte hier definitiv in produktiven Instanzen auf dedizierte Indexe setzen. Man kann z. B. auch jedem Index eine definierte Maximalgröße oder auch andere Pfade zur Datenablage vorgeben. Außerdem wäre in einem Fehlerfall eines Indexes auch nicht der vollständige Index aller Systeme betroffen, sondern nur die jeweilige Instanz.
In unserem Fall macht es Sinn, für alle Pure Storage Geräte einen eigenen Index zu erstellen. Sollte es sich jedoch um eine reine Testumgebung handeln, kann von diesem Schritt abgesehen werden.
In der Menüleiste unter Einstellungen > Indizies > "NeuIndex" kann dieser Index angelegt werden. Ich habe diesen "purestorage" genannt. Alle weiteren Einstellungen blieben bei den Standardwerten.



Die FlashBlade Add-On-/TA-Konfiguration
Damit Splunk auch wirklich Daten empfangen und verarbeiten kann muss eine Anbindung/Schnittstelle zur FlashBlade konfiguriert werden. Hierfür hatten wir wenige Minuten zuvor das FlashBlade Add-On importiert.
Über die Menüleiste > Dateneingaben > PureStorage FlashBlade > "Neu hinzufügen" können wir diese Schnittstelle vorbereiten. Die finale Konfiguration erfolgt über das Pure-TA dann selbst. An dieser Stelle gilt es hier globale Einstellungen für die Pure Storage FlashBlade-Systeme vorab zu definieren.

Der anzugebende Name ist nicht weiter entscheidend für die Konfiguration! Dieser ist ein reiner Alias für den hinterlegten Benutzer/Global Account und dient nicht der Verbindungsherstellung (IP/DNS). Man kann hier zum Beispiel einen globalen Pure-Splunk Funktionsbenutzer anlegen, welcher die Schnittstelle zwischen Pure FlashSystemen und Splunk handelt.

Die tatsächliche Konfiguration erfolgt aus der TA heraus. Hierzu wechseln wir über das Menü > Apps > in die "PureStorage FlashBlade Add-On For Splunk".


An dieser Stelle wird es Zeit auf der FlashBlade den API-Key zu generieren. Hierfür loggen wir uns mit dem zu verwendenden Benutzer per CLI/SSH an der VIP (virtual ip address) der FlashBlade ein. Anschließend kann mit "pureadmin create --api-token" der API-Key generiert und per copy/paste entnommen werden.

INFO: es empfiehlt sich für weitere Verwendungszwecke den API-Key gesichert abzuspeichern! Der Key kann nach Sessionende nicht mehr aus dem System ausgelesen werden. Alle Purity Benutzer können einen eigenen API-Token generieren! Der API-Token ist so lange gültig, bis er ausläuft, gelöscht oder re-generiert wird.
In dem Add-On findet man unterhalb der Menüleiste den Bereich "Konfiguration". Über diesen konfigurieren wir die Schnittstelle.
Als "Account Name" geben wir unseren Benutzer an, mit welchem wir zuvor unseren API-Key generiert hatten. Bei der "Server Address" muss die VIP im URL-Format unter der Angabe des https-Protokolltyps hinterlegt werden und der API Token einfach eingefügt werden. Sollte ein gültiges SSL Zertifikat auf der FlashBlade integriert sein, kann dies über die Checkbox geprüft werden (optinal).

Ab diesem Zeitpunkt beginnt Splunk direkt* mit der Datensammlung.

Nun wechseln wir in die TA-Registerkarte "Eingaben" und bearbeiten hier noch die Splunk-FlashBlade-Einstellungen.
Mit den Standardeinstellungen würde Splunk alle 5 Minuten/300 Sekunden die FlashBlade-API ansprechen und Daten in den main-Index Synonym Standard (default) sammeln. Hier verknüpfen wir den zuvor erzeugten "purestorage"-Index mit dem jeweiligen System.


Die Datensammlung kann über die TA-Registerkarte "Suche" mit dem Befehl " index="purestorage" " geprüft werden. Wie man sehen kann: es werden erfolgreich Daten empfangen.

Sollte es an dieser Stelle zu Problemen kommen, kann mit optionalen Parametern ein Troubleshooting und eine Durchsuchung den Splunk-internen Logs erfolgen: " index="purestorage" OR index=_internal source=splunkd.log PureStorage ".

Die Konfiguration von Splunk ist an dieser Stelle abgeschlossen.
* Anmerkung
"Ab diesem Zeitpunkt beginnt Splunk direkt* mit der Datensammlung." mit dem Verweis/"Sternchen" ergänze ich an dieser Stelle noch mit ein wenig Splunk-Backgroundinfos.
Bevor Daten erfasst werden können legt Splunk im Hintergrund noch ein Datenmodell an - dies erfolgt automatisch. Diesen Schritt kann man nur bedingt verfolgen und über die Splunk-Einstellungen > Datenmodelle beobachten.



An dieser Stelle kann auch die Datenmodell Beschleunigung für große Datenmodelle aktiviert werden. Hier wird dann bei großen Datenmodellen ein Cache gepflegt, welcher Suchanfragen in großen "datasets" beschleunigt.

Die Visualisierung/"PureStorage FlashBlade App For Splunk"
In der App muss vorerst nichts mehr konfiguriert werden. Die indizierten Daten der FlashBlade werden ausgelesen-interpretiert und grafisch visualisiert. Die an dieser Stelle gewonnen Informationen sind selbige, welche man auch über Pure1 auslesen kann. Wie in Blog-Artikel Teil 1 erwähnt, entfaltet Splunk seinen absoluten Mehrwert nur in konsolidierter Verwendung über mehrere Systeme hinweg. An der Stelle kann ich selbst nur den anpassbare Intervallwert für Systemanfragen, die Scriptausführung oder auch die Ereignisverarbeitung (Ticket, Interaktion eines Systems) als wirklichen Mehrwert erkennen. Der Intervallwert bei Pure1 ist fest auf 60 Sekunden definiert und nicht anpassbar.
Man kann hier selbstverständlich innerhalb der App Anpassungen/Customizing machen, diese werden im Zuge dieses Blog-Artikels aber nicht weiter betrachtet. Ein Beispielauszug des integrierten Systems nachfolgend:

Wie man FlashArrays in Splunk einbindet ist sehr ähnlich, jedoch gibt es hier an der ein oder anderen Stelle entscheidende Dinge zu beachten. Im Laufe der nächsten Wochen wir hierzu auch noch ein Blog-Artikel erscheinen, welcher die Blog-Serie mit Teil 3 dann abschließen wird.
Weitere Infos - Links
Sämtliche offiziell veröffentlichten Einstellungsmöglichkeiten in der GUI, aber auch CLI können über die "on-board" User Guides der Pure Storage Systeme nachgelesen werden.
Im Purity Hauptmenü hierzu auf "Help" klicken.
Der User Guide ist wie das Hauptmenü gegliedert und kann von Ebene zu Ebene geöffnet werden. Eine Suchfunktion ist auch integriert - hier kann mit Schlagworten gesucht werden.
WEB: Pure Storage (Pure1) Supportportal - Ticketsystem und Unterstützung *(erfordert registrierte FlashSysteme)
TEL: Pure Storage Telefonsupport: GER - (+49) (0)800 7239467; INTERNATIONAL - (+1) 650 7294088
WEB: Pure Storage OFFICIAL Blog