J'ai la configuration suivante de logstash avec une entrée kafka
input {
kafka {
bootstrap_servers => "localhost:9092"
topics => ["mytopic"]
}
}
filter {
json {
source => "message"
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => ["localhost:9200"]
index => "my_index"
codec => "json"
document_id => "%{id}"
doc_as_upsert => true
action => "update"
}
}
Le problème auquel je suis confronté est que lorsque je lance le logstash, il ne récupère pas les anciens messages sur ce sujet. J'avais l'impression que la première fois que logstash s'exécute, il récupère tous les messages sur un sujet qui n'ont pas été consommés. J'ai vérifié qu'il s'agissait d'un nouveau sujet et qu'il contenait des messages qui n'ont pas été récupérés par logstash lors de son lancement. Il récupère les messages qui arrivent sur le sujet pendant qu'il est en cours d'exécution, mais pas ceux qui existaient avant son démarrage. Est-ce que je manque quelque chose dans la configuration ou est-ce une bizarrerie de l'entrée elle-même ? La garantie des messages est de la plus haute importance pour les besoins de mon entreprise.