Verarbeiten Sie das Ausführungsergebnis von Splunk mit Python und speichern Sie es in einer Datei

Ich werde Ihnen zeigen, wie Sie das Ausführungsergebnis von Splunk mit Python verarbeiten.

Erhalten Sie das Ausführungsergebnis von Splunk

Verwenden Sie die folgende Methode, um das Ausführungsergebnis von Splunk on Python zu erhalten.

python


  splunk.Intersplunk.getOrganizedResults(input_str = None)

Diese Methode gibt das Ergebnis der Suchanweisung unmittelbar vor der Ausführung in Form einer Wörterbuchliste zurück. Zum Beispiel im Fall des in der folgenden Abbildung gezeigten Ausführungsergebnisses スクリーンショット 2017-09-18 15.01.36.png

Das von der Methode zurückgegebene Formular lautet wie folgt. Der Feldname ist der Schlüssel zum Wörterbuch.

python


[{'_time':'2017-09-01 05:05:14', 'MAC':'66:22:33:44:55:66'}
 {'_time':'2017-09-01 05:13:16', 'MAC':'11:22:33:44:55:66'}
 {'_time':'2017-09-01 05:13:19', 'MAC':'11:22:33:44:55:66'}]

Übergeben Sie das Verarbeitungsergebnis in Python an Splunk und schreiben Sie es in eine Datei

Verwenden Sie im Gegensatz dazu die folgende Methode, um Daten von Python an Splunk zu übergeben.

python


splunk.Intersplunk.outputResults(results, messages = None, fields = None, mvdelim = '\n', outputfile = sys.stdout)

Das erforderliche Argument "Ergebnisse" ist eine Liste von Wörterbüchern, genau wie die von "getOrganizedResults" zurückgegebenen "Ergebnisse". Sie können auch in eine Datei schreiben, indem Sie im Argument "Ausgabedatei" ein Dateiobjekt angeben.

Anwendungsbeispiel

Wenn das Feld "MAC" des von Splunk empfangenen Ergebnisses "11: 22: 33: 44: 55: 66" lautet, setzen Sie im Feld "Entscheidung" "bekannt" und wenn nicht "unbekannt". Speichern Sie dann das Ergebnis in einer CSV-Datei und erstellen Sie einen benutzerdefinierten Suchbefehl, um es in Splunk anzuzeigen.

Darüber hinaus wird im Folgenden erläutert, wie Sie einen benutzerdefinierten Suchbefehl mit Python in Splunk erstellen. Wenn Sie ihn nicht kennen, lesen Sie ihn bitte. So erstellen Sie einen benutzerdefinierten Suchbefehl (Splunk)

Verwenden Sie das folgende WLAN-AP-Protokoll als Beispielprotokoll. (Die MAC-Adresse wird nach STA aufgeführt.)

python


2017/09/01 09:13:51  LAN  WLAN(STA_DEAUTH): STA(11:22:33:44:55:66) is deauthed!
2017/09/01 09:13:34  LAN  WLAN(RSN_CONNECT): STA(11:22:33:44:55:66) is associated!
2017/09/01 09:04:29  LAN  WLAN(STA_DEAUTH): STA(11:22:33:44:55:66) is deauthed!
2017/09/01 09:04:23  LAN  WLAN(RSN_CONNECT): STA(11:22:33:44:55:66) is associated!
2017/09/01 08:34:09  LAN  WLAN(STA_DEAUTH): STA(11:22:33:44:55:66) is deauthed!
2017/09/01 08:34:01  LAN  WLAN(RSN_CONNECT): STA(11:22:33:44:55:66) is associated!
2017/09/01 08:03:48  LAN  WLAN(STA_DEAUTH): STA(11:22:33:44:55:66) is deauthed!
2017/09/01 08:03:42  LAN  WLAN(RSN_CONNECT): STA(11:22:33:44:55:66) is associated!
2017/09/01 07:36:51  LAN  WLAN(STA_DEAUTH): STA(33:22:33:44:55:66) is deauthed!
2017/09/01 07:36:35  LAN  WLAN(RSN_CONNECT): STA(33:22:33:44:55:66) is associated!
2017/09/01 07:34:18  LAN  WLAN(STA_DEAUTH): STA(11:22:33:44:55:66) is deauthed!
2017/09/01 07:34:10  LAN  WLAN(RSN_CONNECT): STA(11:22:33:44:55:66) is associated!

Der Python-Code sieht folgendermaßen aus:

check_mac_address.py


import splunk.Intersplunk

#Erhalten Sie Splunk-Suchergebnisse
results, dummyresults, settings = splunk.Intersplunk.getOrganizedResults()

#Beurteilen Sie anhand der MAC-Adresse
for result in results:
    if result['MAC'] == '11:22:33:44:55:66':
        result['decision'] = 'known'
    else:
        result['decision'] = 'unknown'

#Speichern Sie das Verarbeitungsergebnis als CSV-Datei
splunk.Intersplunk.outputResults(results, outputfile = open("result.csv","w"))

#Zeigen Sie das Verarbeitungsergebnis auf Splunk an
splunk.Intersplunk.outputResults(results)

Übergeben Sie in der folgenden Suchanweisung das Verarbeitungsergebnis von Splunk an die erstellte benutzerdefinierte Suche.

python


index=ap_idx
|rex field=_raw "STA\((?<MAC>.*)\)"
|table _time MAC
|run check_mac_address

Es wird wie unten gezeigt auf Splunk angezeigt und das Ergebnis wird als "result.csv" im selben Verzeichnis wie das Skript gespeichert. スクリーンショット 2017-09-18 21.10.43.png

Recommended Posts

Verarbeiten Sie das Ausführungsergebnis von Splunk mit Python und speichern Sie es in einer Datei
Versuchen Sie, eine komprimierte Datei mit Python und zlib zu erstellen
[Python] Sie können ein Objekt mithilfe des Pickle-Moduls in einer Datei speichern.
Speichern Sie das Pystan-Modell und erhalten Sie eine Pickle-Datei
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Geben Sie die Ergebnisse der Nachsuche mithilfe der Mattermost-API in eine Datei aus
So teilen und speichern Sie einen DataFrame
Von Python bis zur Verwendung von MeCab (und CaboCha)
[Python] So kratzen Sie eine lokale HTML-Datei und geben sie mit Beautiful Soup als CSV aus
Teilen und Verarbeiten eines Datenrahmens mithilfe der Groupby-Funktion
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Python - Holen Sie sich in regelmäßigen Abständen die Bitcoin-Rate BTC / JPY von Bitflyer und speichern Sie sie in einer Datei
Lesen einer CSV-Datei mit Python 2/3
Erstellen Sie eine GIF-Datei mit Pillow in Python
[Python] Teilen Sie eine große Flask-Datei mit Blueprint
So erstellen Sie eine JSON-Datei in Python
Erstellen Sie eine Webmap mit Python und GDAL
Ich habe versucht, eine CSV-Datei mit Python zu lesen
Speichern Sie das Objekt in einer Datei mit pickle
Exportieren Sie PythonC Version OpenCV KeyPoint in eine Datei
Führen Sie Python-Dateien mit Django aus HTML aus
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
Ich möchte mit Python in eine Datei schreiben
Ich habe versucht, einen periodischen Prozess mit CentOS7, Selenium, Python und Chrome durchzuführen
Versuchen Sie, mithilfe der Python-Anforderungsbibliothek eine Webseite und eine JSON-Datei abzurufen
[Python] Kombinieren von Listen mit Zahlen zu Zeichenfolgen und Schreiben in eine Ausgabedatei
Speichern Sie das numpy-Array mithilfe des Wave-Moduls in einer WAV-Datei
[Python] Smasher hat versucht, den Video-Ladevorgang mithilfe eines Generators zu einer Funktion zu machen
So lesen Sie Seriennummerndateien in einer Schleife, verarbeiten sie und zeichnen sie grafisch auf
So richten Sie eine Python-Umgebung mit pyenv ein
Erstellt ein Modul zur Überwachung von Datei- und URL-Aktualisierungen
[Python3] Herstellen einer Verbindung zur Oracle-Datenbank und Ausführen von SQL [cx_Oracle]
Ich habe einen Anmelde- / Abmeldevorgang mit Python's Bottle durchgeführt.
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
Ein Memorandum zum Ausführen eines Python-Skripts in einer Bat-Datei
Dämonisiere einen Python-Prozess
Ich möchte eine Datei mit Python zufällig testen
Verbinden Sie realsense D435 mit einem PC, auf dem Ubuntu 16.04 installiert ist, und speichern Sie das Tiefenvideo mit Python
Eine Geschichte über einen Python-Anfänger, der versucht, Google-Suchergebnisse mithilfe der API abzurufen
Implementieren eines Generators mit Python> Link> Yield und next ()> Yield
So erstellen Sie ein Python-Paket mit VS Code
So speichern Sie eine von Python gekratzte Tabelle in CSV
[Mac] Eine supereinfache Möglichkeit, Systembefehle in Python auszuführen und die Ergebnisse auszugeben
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
Speichern Sie Listen, Wörterbücher und Tabellen in externen Python-Dateien
So führen Sie einen Befehl mit einem Unterprozess in Python aus
Geben Sie einen Binärspeicherauszug in Binärdatei und zurück in eine Binärdatei aus
[Python] Starten Sie eine Batchdatei aus Python und übergeben Sie Variablen.
So erstellen Sie eine virtuelle Ausführungsumgebung für Python mit Visual Studio Code und pipenv auf einem Windows-Computer (auch Jupyter-Notebook)
[C / C ++] Übergeben Sie den in C / C ++ berechneten Wert an eine Python-Funktion, um den Prozess auszuführen, und verwenden Sie diesen Wert in C / C ++.
Python - Lesen Sie Daten aus einer numerischen Datendatei, um die verteilte, gemeinsam verteilte Matrix, Eigenwerte und Eigenvektoren zu finden
Eine Geschichte, die es einfach macht, den Wohnbereich mit Elasticsearch und Python abzuschätzen
Ich möchte eine Karaoke-Klangquelle erstellen, indem ich Instrumente und Gesang mit Python trenne
Ich möchte einen Sprachwechsler mit Python und SPTK in Bezug auf eine berühmte Site erstellen
Versuchen Sie es mit GUI, PyQt in Python