0
我剛剛安裝了RabbitMQ,我正在使用它與logstash。 我一直在發送消息,但我失去了大量的數據。我不知道我怎麼能解決它。我在rabbitMQ中使用默認配置。RabbitMQ正在丟失消息
這些都是logstash輸出和logstash輸入:
output {
rabbitmq {
host => "IPHOST"
exchange => "logstash-rabbitmq"
exchange_type => "direct"
key => "logstash-key"
workers =>4
durable => true
persistent => true
}
}
input
{
rabbitmq {
host => "IPHOST"
queue => "logstash-queue"
durable => true
key => "logstash-key"
threads => 8
prefetch_count => 100
port => 5672
user => "test"
password => "test"
ack => false
exchange => "logstash-rabbitmq"
}
}
我使用RabbitMQ的管理才能看到我的隊列的演變。 當我發送10,000條消息時,我只收到不到一半的消息。 是否有任何參數需要改變以改善rabbitMQ的行爲?我會按順序使用它,這樣我就不會丟失信息,但是我比沒有它時損失更多。
I can't see any message in the queue
將'ack'參數更改爲'true'。這意味着消費者必須發回一個接收消息的確認,然後再轉到隊列中的另一條消息。 – idbehold
我已經嘗試過,但我有同樣的問題。我收到更多的消息,而不使用rabbitMQ。這是廢話 – billy6
如果由於事務失敗或任何其他原因(如交換失敗信息)而未能首次交付消息,請添加此功能以重新將消息推送到隊列中。確保消息是持久的。確認是真實的,隊列是耐用的。如果服務器出現故障,應該沒有數據丟失。 – underdog