2017-08-25 1 views
0

J'ai un processus Logstash exécuté à l'intérieur d'un nœud consommant à partir d'une liste Redis, mais je crains qu'un seul processus ne puisse pas gérer le débit de données sans un grand retard. Je me demandais si je cours un processus de plus pour Logstash à l'intérieur de cette même machine sera un peu mieux, mais je ne suis pas certain à ce sujet. Je sais que mon index ES n'est pas un goulot d'étranglement.Plusieurs instances de Logstash lisant à partir de Redis

Est-ce que Logstash dupliquerait mes données, si je consomme la même liste? Cette approche semble être une bonne chose à faire?

Merci!

Voici ma configuration d'entrée:

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

'Would Logstash dupliquer mes données, si je consomme la même liste' Non, ce ne sera pas. Lorsque logstash tire un message de la liste redis, le message est supprimé de redis. (Nous avons utilisé plusieurs logstash dans la production tirant des messages d'un redis). – baudsp

Répondre

1

Vous pouvez essayer de régler des fils d'entrée logstash, si vous allez exécuter un autre processus logstash dans la même machine. La valeur par défaut est 1.

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

Vous pouvez exécuter plusieurs logstash sur la même redis, les événements ne doivent pas être dupliqués. Mais je ne suis pas sûr que cela aiderait. Si vous n'êtes pas certain de ce qui se passe, je recommande le logstash monitoring API. Cela peut vous aider à affiner votre véritable bottlenck.

Et aussi un poste intéressant élastique sur le sujet: Logstash Lines Introducing a benchmarking tool for Logstash