来自rabbitmq的数据未被读入kibana仪表板

时间:2014-03-27 12:51:51

标签: elasticsearch logstash kibana

我刚刚修改了我的logstash-elasticearch设置以包含rabbitmq,因为我无法使用tcp连接将消息快速地写入logstash。现在,当logstash从队列中读取时,它的速度非常快,但我没有看到消息传入kibana。一个错误显示缺少时间戳字段。我使用插件/头来查看数据,这很奇怪:

_index   _type    _id                    ▼_score    @version  @timestamp
pt-index logs Bv4Kp7tbSuy8YyNi7NEEdg     1           1         2014-03-27T12:37:29.641Z

这就是我的conf文件现在和下面的样子:

input {
rabbitmq {
queue => "logstash_queueII"
host => "xxx.xxx.x.xxx"
exchange => "logstash.dataII"
vhost => "/myhost"
}
}
output {
  elasticsearch{
     host => "xxx.xxx.xx.xxx"
     index => "pt-index"
    codec => "json_lines"
 }
}

这就是在rabbitmq之前:

input {
tcp {
    codec => "json_lines"
    port => "1516"
 }
}
output {
   elasticsearch {
        embedded => "true"   
 }
}

现在我唯一的改变是在elasticsearch中创建一个特定的索引并将数据编入索引,但现在看来消息的格式已经改变了。它仍然是带有2/3字段的json消息,但不确定正在读取什么logstash或从rabbitmq更改。我可以看到数据流入直方图,但字段消失了。

"2014-03-18T14:32:02"  "2014-03-18T14:36:24"  "166"   "google"

这些是我期望的领域。就像我在做出改变之前说的一切都有效。

1 个答案:

答案 0 :(得分:-1)

我见过类似配置的例子,但他们没有使用" json_lines"的输出编解码器。进入Elasticsearch。输出编解码器将调整数据的格式,因为它离开了我不认为是nessisary的logstash。尝试删除编解码器并通过向日志添加文件输出来查看正在输出的logstash,请确保这只是简短的示例...