Я новичок в Logstash и хочу хранить сообщения nginx в очереди RabbitMQ следующим образом:
Журналы Nginx - (ввод) -> Logstash - (вывод) -> RabbitMQ
Конфигурация logstash:
filter {
grok {
match => { "message" => "%{IPORHOST:remote_ip} - %{DATA:user_name} \[%{HTTPDATE:access_time}\] \"%{WORD:http_method} %{DATA:url} HTTP/%{NUMBER:http_version}\" %{NUMBER:response_code} %{NUMBER:body_sent_bytes} \"%{DATA:referrer}\" \"%{DATA:agent}\"" }
}
}
output {
rabbitmq {
exchange => "nginx_app"
host => "localhost"
exchange_type => "topic"
persistent => true
passive => true
heartbeat => 10
arguments => {"x-ha-policy" => "all" }
codec => "plain"
port => 5672
}
}
Во время отладки в веб-консоли RabbitMQ я вижу следующее: сообщения видны RabbitMQ, но они не сохраняются в очереди в то же время, когда я использую простой скрипт python для добавления сообщения в очередь, когда все сохраняется), введите описание изображения здесь
что не так с моей конфигурацией? Почему RabbitMQ не сохраняет сообщения?
Заранее спасибо!
Я нашел основную причину своей проблемы, мне нужно было добавить привязку к моей очереди, после добавления привязки каждое сообщение регистрировалось правильно. введите описание изображения здесь