Auf einen Blick: Anleitungen zum Laden von CSV-Daten in ElasticSearch mit Logstash werden bereitgestellt, insbesondere für Netzwerkverkehrsdaten. Der Prozess umfasst das Herunterladen einer CSV-Datei, die Konfiguration von Logstash und das Erstellen eines Indexmusters in Kibana.
- Lade die CSV-Datei aus Kaggle herunter und entpacke sie.
- Konfigurieren Sie Logstash so, dass es die CSV liest und es an ElasticSearch ausgibt.
- Erstellen Sie ein Indexmuster in Kibana für die Datenanalyse.
Hier zeigen wir, wie man CSV-Daten mit Logstash in ElasticSearch lädt. Die Datei, die wir verwenden, ist Netzwerkverkehr. Es gibt keine Überschriftsfelder, daher fügen wir sie ein.
Laden Sie die Daten herunter und entpacken Sie sie
Laden Sie diese Datei eecs498.zip von Kaggle herunter. Dann entpacken Sie sie. Die resultierende Datei ist conn250K.csv. Sie enthält 256.670 Datensätze. Als Nächstes ändern Sie die Berechtigungen für die Datei, da die Berechtigungen auf keine Berechtigungen gesetzt sind.
chmod 777 conn250K.csv
Erstelle jetzt diese Logstash-Datei csv.config und ändere den Pfad und den Servernamen, um sie an deine Umgebung anzupassen.
input {
file {
path => "/home/ubuntu/Documents/esearch/conn250K.csv"
start_position => "beginning"
}
}
filter {
csv {
columns => [ "record_id", "duration", "src_bytes", "dest_bytes" ]
}
}
output {
elasticsearch {
hosts => ["parisx:9200"]
index => "network"
}
}
Dann starte Logstash mit dem Namen dieser Konfigurationsdatei.
sudo bin/logstash -f config/csv.conf
Während die Last läuft, können Sie einige Dokumente auflisten:
curl XGET http://parisx:9200/network/_search?pretty
Ergebnisse in:
"_index" : "network",
"_type" : "_doc",
"_id" : "dmx9emwB7Q7sfK_2g0Zo",
"_score" : 1.0,
"_source" : {
"record_id" : "72552",
"duration" : "0",
"src_bytes" : "297",
"host" : "paris",
"message" : "72552,0,297,9317",
"@version" : "1",
"@timestamp" : "2019-08-10T07:45:41.642Z",
"dest_bytes" : "9317",
"path" : "/home/ubuntu/Documents/esearch/conn250K.csv"
}
Sie können diese Abfrage ausführen, um zu folgen, wenn die Datenbelastung abgeschlossen ist, also wenn die Dokumentenanzahl 256.670 beträgt.
curl XGET http://parisx:9200/_cat/indices?v
Indexmuster in Kibana erstellen
Öffne Kibana.
Erstellen Sie das Indexmuster. Verwenden Sie @timestamp nicht als Schlüsselfeld, da es sich nur auf die Zeit bezieht, zu der wir die Daten in Logstash geladen haben. Leider enthalten die von Kaggle bereitgestellten Daten kein Datum, was für Netzwerkdaten ungewöhnlich ist. Aber wir können die record_id in späteren Zeitreihenanalysen verwenden.
Gehe jetzt zum Reiter Entdecken und liste einige Dokumente auf:
Im nächsten Blogbeitrag zeigen wir, wie man mit Elasticsearch Machine Learning Anomalie Detection auf diesem Netzwerkverkehr durchführen kann.
ElasticSearch-Leitfaden
- ElasticSearch Tutorial für Anfänger: ElasticSearch Grundlagen
- Verwendung von Apache Hive mit ElasticSearch
- Verwendung von ElasticSearch mit Apache Spark
- Curl ElasticSearch Befehle Spickzettel
- Spark ElasticSearch Hadoop-Update und Upsert Beispiel und Erklärung
- Wie man Apache Spark-Daten mit Python in ElasticSearch schreibt
- ElasticSearch-Suchsyntax sowie boolesche und Aggregationssuchen
- ElasticSearch verschachtelte Abfragen: Wie man nach eingebetteten Dokumenten sucht
- ElasticSearch Joins: Has_Child, Has_parent Abfrage
- Wie man einen elastischen Cluster der Version 7 einrichtet
- Wie man Filebeat für nginx und ElasticSearch konfiguriert
- Beats und Logstash verwenden, um Logs an ElasticSearch zu senden
- Wie man eine CSV-Datei mit Logstash in ElasticSearch lädt
- ElasticSearch-Aggregationen erklärt
- Was ist der ELK-Stack?
- Logstash 101: Verwendung von Logstash in einer Datenverarbeitungspipeline
- Verwendung von Kibana zur Ausführung von Abfragen in ElasticSearch mit Lucene und Kibana Query Language
- ElasticSearch Maschinelles Lernen
- Wie man Elastic Enterprise Search installiert
- Wie man Elastic Enterprise Search mit GitHub verwendet
Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.