我有以下 Logstash 过滤器:
...
if [type] == "binarysize" {
if ([file] =~ /svn/) {
drop {} }
grok {
match => {
"file" => "\A/home/data/binaries_size_stats/%{WORD:branch}/%{WORD:binary}/%{WORD:architecture}/%{WORD}"
}
}
grok {
match => {
"message" => "\A%{INT:commit_number},%{INT:binary_size},%{TIMESTAMP_ISO8601:date_and_time_of_commit}"
}
}
date {
match => ["date_and_time_of_commit", "ISO8601"]
#timezone => "CET"
}
}
...
我启动了它,将一些数据推送到 Elasticsearch,在 Kibana 中绘制了一些绘图,然后让一切都在周末正常工作。
当我返回时,我的绘图没有用新数据更新,并且无论我在浏览器中重新加载多少页面,我都会收到恒定的“ 14 Courier Fetch: 15 of 2465 shards failed. ”消息。
重新加载字段列表后,我发现我在“binary_size”字段中有一个冲突。我正在根据这个字段绘制数据,所以我的猜测是周末发生了一些奇怪的事情,新文档被 Logstash 推送到 Elasticsearch。
我的问题是:“我怎样才能找到那些字段冲突的文档? ”。或者我应该怎么做才能再次绘制新数据。