2017-02-16 2 views
0

Ich werte Logstash derzeit für unsere Datenaufnahme Bedürfnisse. Einer der Anwendungsfälle ist das Lesen von Daten aus AWS Kinesis-Stream. Ich habe versucht, logstash-input-kinesis plugin zu installieren. Wenn ich es ausführe, sehe ich kein logstash, das irgendein Ereignis vom Strom verarbeitet. Mein Logstash funktioniert gut mit anderen Arten von Eingaben (tcp). Es gibt keinen Fehler in den Debug-Protokollen. Es verhält sich nur so, als wäre nichts zu verarbeiten. Meine Konfigurationsdatei lautet:Kinesis Eingangsstrom in Logstash

input { 
    kinesis { 
     kinesis_stream_name => "GwsElasticPoc" 
     application_name => "logstash" 
     type => "kinesis" 
    } 
    tcp { 
     port => 10000 
     type => tcp 
    } 
} 

filter { 
    if [type] == "kinesis" { 
     json { 
      source => "message" 
     } 
    } 

    if [type] == "tcp" { 
     grok { 
      match => { "message" => "Hello, %{WORD:name}"} 
     } 
    } 
} 

output{ 
    if [type] == "kinesis" 
    { 
     elasticsearch{ 
      hosts => "http://localhost:9200" 
      user => "elastic" 
      password => "changeme" 
      index => elasticpoc 
     } 
    } 
    if [type] == "tcp" 
    { 
     elasticsearch{ 
      hosts => "http://localhost:9200" 
      user => "elastic" 
      password => "changeme" 
      index => elkpoc 
     } 
    } 
} 

Antwort

0

Ich habe nicht den Logstash Weg versucht, aber wenn Sie auf AWS laufen. Es gibt eine Kinesis Firehose zu Elasticsearch Einnahme als

bei http://docs.aws.amazon.com/firehose/latest/dev/basic-create.html#console-to-es dokumentierten Sie können sehen, ob das als alternatives arbeiten würde logstash

+0

Vielen Dank für Ihre Antwort @ dejavu013. Wir müssen Daten aus mehreren Quellen (einschließlich Kinesis-Stream) aufnehmen, also suchen wir nach etwas, das damit umgehen kann. Das Konvertieren aller Datenquellen in Kinesis-Stream ist derzeit keine Option. – rishabhmdh7985