我想将RabbitMQ消息中的某些字段用于Logstah Elasticsearch输出中(例如索引名称等)。
如果我在过滤器中使用Node version - 8.11.2
,则效果很好,但在输出语句(下面的配置)中效果不佳。
我在做什么错了?
[@metadata][rabbitmq_properties][timestamp]
答案 0 :(得分:-1)
使用如下所述的替换功能进行检查。
input {
rabbitmq {
host => "rabbitmq:5672"
user => "user"
password => "password"
queue => "queue "
durable => true
prefetch_count => 1
threads => 3
ack => true
metadata_enabled => true
}
}
filter {
if [@metadata][rabbitmq_properties][timestamp] {
date {
match => ["[@metadata][rabbitmq_properties][timestamp]", "UNIX"]
}
}
mutate {
replace => {
"[@metadata][index]" => "%{[@metadata][rabbitmq_properties][IndexName]}_%{+YYYY.MM.dd}"
}
}
}
output {
elasticsearch {
hosts => ['http://elasticsearch:9200']
index => "%{[@metadata][index]}_%{+YYYY.MM.dd}"
}
stdout {codec => rubydebug}
}