我只是更改了我的 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"
}
}
现在我所做的唯一更改是在弹性搜索中创建一个特定的索引并在那里索引数据,但现在似乎消息的格式已经改变。它仍然是带有 2/3 字段的 json 消息,但不确定 logstash 正在从 rabbitmq 读取或更改什么。我可以看到数据流入直方图,但字段消失了。
"2014-03-18T14:32:02" "2014-03-18T14:36:24" "166" "google"
这些是我期望的领域。就像我说的那样,在我做出改变之前,这一切都奏效了。