Hi,
I am using two geoip filters for one message. But the output shows geoip fields only for first geoip filter.
Here is the snippet for filters:
filter {
grep {
match => ["message","^#.*"]
negate => true
}
grok {
match => ["message","%{LOGLINE}"]
patterns_dir=>["/opt/mypatterns"]
}
geoip {
source => "clientip"
fields => ["country_name", "city_name", "continent_code","country_code2"]
target => "client_geoip"
database => "/opt/logstash/vendor/geoip/GeoLiteCity.dat"
}
geoip {
source => "ghostip"
fields => ["country_name", "city_name", "continent_code","country_code2"]
target => "ghost_geoip"
database => "/opt/logstash/vendor/geoip/GeoLiteCity.dat"
}
}
output {
stdout { codec => rubydebug }
}
The output shows geoip fields only for first geoip input .i.e. clientip and does not show geoip fields for second geoip input i.e. ghostip.
"clientip" => "66.249.73.186",
"ghostip" => "23.218.157.187",
"client_geoip" => {
"country_code2" => "US",
"country_name" => "United States",
"continent_code" => "NA",
"city_name" => "Mountain View"
},
"name" => "Other",
"os" => "Other",
"os_name" => "Other",
"device" => "Other",
....