Splunk - Suchmakros

Suchmakros sind wiederverwendbare Blöcke der Search Processing Language (SPL), die Sie in andere Suchvorgänge einfügen können. Sie werden verwendet, wenn Sie dieselbe Suchlogik für verschiedene Teile oder Werte im Datensatz dynamisch verwenden möchten. Sie können Argumente dynamisch annehmen und das Suchergebnis wird gemäß den neuen Werten aktualisiert.

Makroerstellung

Um das Suchmakro zu erstellen, gehen wir zu settings → Advanced Search → Search macros → Add new. Daraufhin wird der folgende Bildschirm angezeigt, in dem wir mit der Erstellung des Makros beginnen.

Makroszenario

Wir möchten verschiedene Statistiken über die Dateigröße aus dem anzeigen web_applicationsLog. Die Statistiken beziehen sich auf den maximalen, minimalen und durchschnittlichen Wert der Dateigröße unter Verwendung des Byte-Felds im Protokoll. Das Ergebnis sollte diese Statistiken für jede im Protokoll aufgeführte Datei anzeigen.

Hier ist die Art der Statistiken also dynamischer Natur. Der Name der Statistikfunktion wird als Argument an das Makro übergeben.

Makro definieren

Als Nächstes definieren wir das Makro, indem wir verschiedene Eigenschaften festlegen, wie im folgenden Bildschirm gezeigt. Der Name des Makros enthält (1), was darauf hinweist, dass ein Argument an das Makro übergeben werden muss, wenn es in der Suchzeichenfolge verwendet wird.fun ist das Argument, das während der Ausführung in der Suchabfrage an das Makro weitergegeben wird.

Verwenden des Makros

Um das Makro zu verwenden, machen wir es zu einem Teil der Suchzeichenfolge. Wenn wir unterschiedliche Werte für das Argument übergeben, sehen wir erwartungsgemäß unterschiedliche Ergebnisse.

Überlegen Sie, ob Sie die durchschnittliche Größe der Dateien in Byte ermitteln möchten. Wir übergeben avg als Argument und erhalten das Ergebnis wie unten gezeigt. Das Makro wurde im Rahmen der Suchabfrage unter `sign gehalten.

Wenn wir die maximale Dateigröße für jede der im Protokoll vorhandenen Dateien festlegen möchten, verwenden wir diese ebenfalls maxals Argument. Das Ergebnis ist wie unten gezeigt.