2016-03-26 9 views
0

Ich habe ein Projekt komplexe Ereignisverarbeitung von bro Logs durchzuführen, um irgendwelche Sicherheitsverzögerungen oder Angriffe und so zu erkennen. Ich habe erste Umfrage durchgeführt und finde heraus, dass bro verschiedene Log-Dateien erzeugt und ich WSO2 CEP machen kann, um diese Dateien zu nehmen und schreibe Siddhi Anfragen für die Ereignisverarbeitung. Als Event-Empfänger von WSO2 CEP xml, json oder text als Nachrichtenformat, muss ich Format von bro Log-Dateien ändern, oder sie können so wie es ist arbeiten? Da ich kein Beispiel für WSO2CEP gefunden habe, das Standard-Log-Dateien als Ereignisempfänger verwendet?Bro Logs Adresse zu WSO2 CEP für die Verarbeitung

Antwort

0

Zum Glück bro Unterstützung json Format für Protokolldateien. ich in ascii.bro Datei einiger Standardoptionen geändert wie

# to use json instead of `tsv` for all log files. It was F bydefault 
const use_json = T &redef; 
# to display timestamps in a standard format 
const json_timestamps:JSON::TimestampFormat = JSON::TS_ISO8601 &redef; 

Und nun alle Protokolle in gewünschtem Format Ich erhalte.

1

Um dies zu erreichen, können Sie den CEP-File-Tail-Ereignisempfänger verwenden und dann RegEx verwenden, um die Details aus der Protokollnachricht zu extrahieren, ähnlich wie das Beispiel here (Beispielnummer 0022 in WSO2CEP 4.1).

Alternativ können Sie auch einen Client schreiben, um das Protokoll zu extrahieren und es als Ereignis XML oder JSON an CEP in jedem Transport, den Sie bevorzugen, zu senden.