Para passar dados geográficos para elasticsearch
, é necessário criar um filtro logstash
para processar o campo que faz referência ao endereço IP e criar novo (s) campo (s) com dados geográficos.
Baseado neste artigo Como mapear o local do usuário com o GeoIP e o ELK?
Meu novo /etc/logstash/conf.d
é:
filter {
geoip {
source => "source_ip"
target => "geoip"
database => "/etc/logstash/GeoLiteCity.dat"
add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]
}
mutate {
convert => [ "[geoip][coordinates]", "float"]
}
}
Depois de aplicar esse log, é necessário reiniciar logstash
e verificar novamente os logs em /var/log/logstash
.
Então o resultado final é: