在Logstash

时间:2015-10-27 19:49:04

标签: logstash logstash-configuration

我有一个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消息来优化有效载荷/开销比率。

我正在查看像collat​​e或aggregate这样的过滤器,但它们似乎并没有完全符合我的需要。我正在寻找的是一种传输格式,其中一条AMQP消息包含来自此输入的20或30行。

1 个答案:

答案 0 :(得分:0)

我自己想出来了,我现在使用multiline作为输入编解码器:

tcp {
  host => localhost
  codec => multiline { pattern => "\r" max_lines => 100 what => "next" }
  type => carbon
  port => 22003
}