Я использую Elastic Stack для обработки файлов журналов, но генерирую дубликаты документов в Elasticsearch.
Я провел опрос и уже пытался добавить «document_id», но это не помогло.
Это конфигурация моего Logstash:
input {
beats {
port => 5044
}
}
filter {
fingerprint {
source => "message"
target => "[fingerprint]"
method => "SHA1"
key => "key"
base64encode => true
}
if [doctype] == "audit-log" {
grok {
match => { "message" => "^\(%{GREEDYDATA:loguser}@%{IPV4:logip}\) \[%{DATESTAMP:logtimestamp}\] %{JAVALOGMESSAGE:logmessage}$" }
}
mutate {
remove_field => ["host"]
}
date {
match => [ "logtimestamp" , "dd/MM/yyyy HH:mm:ss" ]
target => "@timestamp"
locale => "EU"
timezone => "America/Sao_Paulo"
}
}
}
output {
elasticsearch {
hosts => "192.168.0.200:9200"
document_id => "%{[fingerprint]}"
}
}
Вот дубликаты документов:
{
"_index": "logstash-2019.05.02-000001",
"_type": "_doc",
"_id": "EbncP00tf9yMxXoEBU4BgAAX/gc=",
"_version": 1,
"_score": null,
"_source": {
"@version": "1",
"fingerprint": "EbncP00tf9yMxXoEBU4BgAAX/gc=",
"message": "(thiago.alves@192.168.0.200) [06/05/2019 18:50:08] Logout do usuário 'thiago.alves'. (cookie=9d6e545860c24a9b8e3004e5b2dba4a6). IP=192.168.0.200",
...
}
######### DUPLICATED #########
{
"_index": "logstash-2019.05.02-000001",
"_type": "_doc",
"_id": "V7ogj2oB8pjEaraQT_cg",
"_version": 1,
"_score": null,
"_source": {
"@version": "1",
"fingerprint": "EbncP00tf9yMxXoEBU4BgAAX/gc=",
"message": "(thiago.alves@192.168.0.200) [06/05/2019 18:50:08] Logout do usuário 'thiago.alves'. (cookie=9d6e545860c24a9b8e3004e5b2dba4a6). IP=192.168.0.200",
...
}
Вот и все. Я не знаю, почему дублирует еще. У кого-нибудь есть идеи?
Заранее спасибо ...