我在本地文件系统上运行ELK堆栈。我有以下配置文件设置:
input {
file {
path => "/var/log/rfc5424"
type => "RFC"
}
}
filter {
grok {
match => { "message" => "%{SYSLOG5424LINE}" }
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
}
我也有一个kibana实例正在运行。我在/var/log/rfc5424
写了一行:
$ echo '<11>1' "$(date +'%Y-%m-%dT%H:%M:%SZ')" 'test-machine test-tag f81d4fae-7dec-11d0-a765-00a0c91e6bf6 log [nsId orgID="12 \"hey\" 345" projectID="2345[hehe]6"] this is a test message' >> /var/log/rfc5424
它出现在Kibana。大!然而,奇怪的是,它显示六次:
据我所知,这些消息的一切都是相同的,我只有一个logstash / kibana运行实例,所以我不知道是什么导致这种重复。
答案 0 :(得分:1)
将文档ID添加到文档中:
output {
elasticsearch {
hosts => ["localhost:9200"]
document_id => "%{uuid_field}"
}
}