2017-08-25 3 views
0

Ich habe einen Logstash Prozess in einem Knoten ausgeführt wird aus einer Liste Redis raubend, aber ich habe Angst, dass nur ein Prozess nicht den Datendurchsatz ohne große Verzögerung verarbeiten kann.Viele Logstash Instanzen von Redis Lesen

Ich habe mich gefragt, ob ich ein weiteres Verfahren zur Logstash innerhalb derselben Maschine ein wenig besser werde ausführen laufen, aber ich bin darüber nicht sicher. Ich weiß, dass mein ES-Index kein Flaschenhals ist.

Would Logstash meine Daten duplizieren, wenn ich die gleiche Liste verbrauchen? Dieser Ansatz scheint richtig zu sein?

Danke!

Hier meine Eingangskonfiguration:

input { 
    redis { 
     data_type => "list" 
     batch_count => 300 
     key => "flight_pricing_stats" 
     host => "my-redis-host" 
    } 
} 
+1

'Würde Logstash meine Daten duplizieren, wenn ich die gleiche Liste verbrauchen' Nein wird es nicht. Wenn logstash eine Nachricht aus der redis Liste zieht, wird die Nachricht von redis gelöscht. (Wir haben mehrere Logstashs in der Produktion verwendet, die Nachrichten von einem Redis ziehen). – baudsp

Antwort

1

Sie könnten versuchen, logstash Eingabe-Threads Einstellung, wenn Sie einen anderen logstash Prozess in der gleichen Maschine laufen soll. Voreinstellung ist 1.

input { 
    redis { 
     data_type => "list" 
     batch_count => 300 
     key => "flight_pricing_stats" 
     host => "my-redis-host" 
     threads => 2 
    } 
} 

Sie könnten mehr als eine Logstash gegen die selbe Redis ausführen, Ereignisse sollten nicht dupliziert werden. Aber ich bin mir nicht sicher, dass das helfen würde.

Wenn Sie nicht sicher sind, was los ist, empfehle ich die logstash monitoring API. Es kann dir helfen, deinen echten Flaschenhals einzugrenzen.

Und auch ein interessanter Beitrag aus elastischem zum Thema: Logstash Lines Introducing a benchmarking tool for Logstash