Wie man eine CSV-Datei mit Logstash in ElasticSearch lädt

Wie man eine CSV-Datei mit Logstash in ElasticSearch lädt

  • Orchestrierung
6 Minuten Lesezeit Aktualisiert Aug 22, 2019

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.

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus Orchestrierung

Abonnieren Sie The Brief

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Danke

Sie haben The Brief abonniert
Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.