标签归档:geoip

logstash filter/geoip 插件

GeoIP 是最常见的免费 IP 地址归类查询库,同时也有收费版可以采购。GeoIP 库可以根据 IP 地址提供对应的地域信息,包括国别,省市,经纬度等,对于可视化地图和区域统计非常有用。

配置如下:
geoip {
source => “client”
#database => “/var/geoip/GeoLiteCity.dat” 如果没有设置这个参数,默认使用GeoLiteCity数据库。
}
解析后的Geoip地址数据,默认是geoip这个字段。
logstash1.4.2下搜索geoip库
[root@web40 etc]# locate GeoLiteCity.dat
/web/logstash/logstash-1.4.2/vendor/geoip/GeoLiteCity.dat
但是在logstash-2.3.3中没有搜到GeoLiteCity.dat。
在logstash-2.3.3中运行结果如下:

GeoIP 库数据较多,如果你不需要这么多内容,可以通过 fields 选项指定自己所需要的。
例如:
fields => [“country_name”, “city_name”, “real_region_name”, “latitude”, “longitude”]
那么结果如下:

geoip 库内只存有公共网络上的 IP 信息,查询不到结果的,会直接返回 null,而 logstash 的 geoip 插件对 null 结果的处理是:不生成对应的 geoip字段。如果使用内网地址,会发现没有对应输出!

geoip包更新方式:
1)直接下载geoip包
https://dev.maxmind.com/geoip/legacy/geolite/
每个月的第一个周二会更新一次。
下载最新http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
放到/soft/GeoLiteCity.dat,配置如下:
geoip {
source => “client”
#fields => [“country_name”, “city_name”, “real_region_name”, “latitude”, “longitude”]
database => “/soft/GeoLiteCity.dat”
}
2)下载更新程序更新:
https://dev.maxmind.com/geoip/geoipupdate/
下载geoipupdate-2.2.2.tar.gz并安装。
[root@localhost geoipupdate-2.2.2]# vim /usr/local/etc/GeoIP.conf
改为
# The following UserId and LicenseKey are required placeholders:
UserId 999999
LicenseKey 000000000000

# Include one or more of the following ProductIds:
# * GeoLite2-City – GeoLite 2 City
# * GeoLite2-Country – GeoLite2 Country
# * GeoLite-Legacy-IPv6-City – GeoLite Legacy IPv6 City
# * GeoLite-Legacy-IPv6-Country – GeoLite Legacy IPv6 Country
# * 506 – GeoLite Legacy Country
# * 517 – GeoLite Legacy ASN
# * 533 – GeoLite Legacy City
ProductIds GeoLite2-City GeoLite2-Country GeoLite-Legacy-IPv6-City GeoLite-Legacy-IPv6-Country 506 517 533

执行程序:
[root@localhost geoipupdate-2.2.2]# /usr/local/bin/geoipupdate -d /soft/geoip/
下载包的内容:
GeoIPv6.dat
GeoLite2-City.mmdb
GeoLite2-Country.mmdb
GeoLiteASNum.dat
GeoLiteCity.dat
GeoLiteCityv6.dat
GeoLiteCountry.dat