我们是一个在rabbitmq中有三个队列的设置,处理三种不同类型的日志。
队列由logstash处理,并给出一个标记,然后logstash将消息转储到elasticsearch中的相应索引中。
所以我的输入看起来像这样:
input {
rabbitmq {
host => "localhost"
queue => "central_access_logs"
durable => true
codec=> json
threads => 3
prefetch_count => 50
port => 5672
tags => ["central_access_log"]
}
其他两个队列的类似设置:
我的输出是这样的:
if("central_access_log" in [tags]){
elasticsearch {
host => "localhost"
index=> "central_access_logs"
}
}
我怀疑有一段时间并不是所有东西都进入了central_access_log索引(其他两个索引,更多的是,似乎很好),所以我补充说:
file {
path => '/data/out'
}
让它运行几周。
最近,我注意到在过去的一周和一半,没有进入该索引(再次,其他两个完全正常),但是文本文件包含所有丢失的消息。
我该如何调试?这是logstash结束时的错误还是弹性搜索?