我有一个Logstash配置,我从石墨输入中读取简单的行(但如果这有助于它也可能只是tcp),我将通过AMQP将它们转发到RabbitMQ。
input {
graphite {
host => localhost
type => carbon
port => 22003
}
}
output {
rabbitmq {
codec => json
host => 'localhost'
port => 5672
user => 'guest'
password => 'guest'
vhost => '/'
exchange_type => topic
key => '%{type}'
persistent => true
durable => true
ssl => false
verify_ssl => false
workers => 1
exchange => 'metrics'
}
}
现在我想通过在石墨输入中添加超过一行的AMQP消息来优化有效载荷/开销比率。
我正在查看像collate或aggregate这样的过滤器,但它们似乎并没有完全符合我的需要。我正在寻找的是一种传输格式,其中一条AMQP消息包含来自此输入的20或30行。
答案 0 :(得分:0)
我自己想出来了,我现在使用multiline
作为输入编解码器:
tcp {
host => localhost
codec => multiline { pattern => "\r" max_lines => 100 what => "next" }
type => carbon
port => 22003
}