Filebeat,Logstash,Elasticserchを使用してAPサーバで発行するログをログ管理サーバで取得しているのですが、APサーバで発行したログ数と、ElasticSearchに取り込まれたログ数が一致しないという事象が発生しています。ElasticSearchのメモリを増強しましたが事象が解決せず、Logstashが問題なのではないかと考えているのですが、原因が特定できていません。どなたかアドバイス頂けないでしょうか?
grokでのメッセージの抽出は問題なくできていることは確認しています。
messageの内容ですが、タイムスタンプとuuidが含まれており中身が重複するメッセージは存在しないはずです。
input {
beats {
port => 5045
}
}
filter {
fingerprint {
source => "message"
target => "[@metadata][fingerprint]"
method => "MURMUR3"
}
grok {
match => { "message" => '%{GREEDYDATA:messages}'}
}
grok {
match => { "messages" => "grokの処理を記述しています。" }
}
date {
match => [ "timestamp", "ISO8601" ]
}
mutate {
remove_field => "message"
}
}
output {
elasticsearch {
document_id => "%{[@metadata][fingerprint]}"
index => "online-ap-%{+yyyy.MM}"