Logstash模块之geoip
我们在用logstash收集日志时,有时需要将日志中的IP地址映射出具体的地理位置信息,logstash中geoip过滤器提供了这个功能.
logstash中默认的geoip插件位于
logstash/vendor/bundle/jruby/2.5.0/gems/logstash-filter-geoip-7.2.9-java/vendor
GeoLite2-City.mmdb 可在 https://www.maxmind.com/en/accounts/307701/geoip/downloads进行下载,如下图:
logstash中geoip配置
filter {
geoip{
source => "src_ip" //原始事件中src_ip字段为源IP
fields => ["country_name", "region_name", "city_name", "latitude", "longitude"] //通过geoip库将源IP这些字段的信息返回出来
target => "location" //目标字段存在 location 字段下
}
}
使用示例
input {
udp{
port => 15100
}
}
filter {
json{
source => "message"
}
geoip{
source => "src_ip"
fields => ["country_name", "region_name", "city_name", "latitude", "longitude"]
target => "location"
}
}
output{
stdout{
}
}
向logstash的udp 15100端口发送以下测试事件:
{
"src_ip":"125.33.203.100","logid":"1000"}
{
"src_ip"