Error while setting up connection for rabbitmq input! Will retry. {:message=>"PRECONDITION_FAILED - inequivalent arg 'durable' for queue 'boot-sis' in vhost '/': received 'true' but current is 'false'"
上述問題場景:
在利用Rabbitmq收集logack日志,經過logstash數據收集與整理,存儲到elasticsearch中。
意思就是:durable收到的是true,但實際是false.
RabbitMQ支持消息的持久化,也就是數據寫在磁盤上,為了數據安全考慮,我想大多數用戶都會選擇持久化。消息隊列持久化包括3個部分:
(1)exchange持久化,在聲明時指定durable => true
(2)queue持久化,在聲明時指定durable =>true
在整合的過程需要注意一下設置的durable都對應為true.
logback.xml設置
logstash.conf設置
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-rabbitmq.html logstash與rabbitmq具體配置官方
代碼中自定義綁定的設置
最后查詢rabbitmq中durable是否正確
微信公眾號