Logstash可以使用捆绑的GeoLiteCity.dat数据库进行IP地址查找。此数据库是否与the one provided by MaxMind相同? MaxMind会在每个月的第一个星期二更新数据库。
设置作业以自动刷新数据库而不是等待来自ElasticSearch的Logstash更新是否明智?
编辑:2014年12月1日 这是我编写的用于执行数据库自动更新的bash脚本。我对the source code for this filter的解读是,可能需要重新启动服务才能占用更新的数据库文件。
#!/bin/bash
# Downloads the latest GeoLight DBs from maxmind.
# Updates/replaces the databases that logstash uses.
# These are the IP-to-location databases that logstash uses.
# Maxmind updates them once a month on the first Tuesday of the month.
# See http://dev.maxmind.com/geoip/legacy/geolite/
echo Beginning update of GeoIP databases for logstash.
cd /tmp
rm -f GeoIPASNum.dat.gz GeoIPASNum.dat GeoLiteCity.dat.gz GeoLiteCity.dat
echo Downloading latest files.
wget --quiet --output-document GeoIPASNum.dat.gz http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz || { echo 'Download of GeoIPASNum.dat.gz failed' ; exit 1; }
wget --quiet --output-document GeoLiteCity.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz || { echo 'Download of GeoLiteCity.dat.gz failed' ; exit 1; }
echo Unzipping
gunzip GeoIPASNum.dat.gz
gunzip GeoLiteCity.dat.gz
echo Setting permissions
chmod 664 GeoIPASNum.dat GeoLiteCity.dat
chown logstash:logstash GeoIPASNum.dat GeoLiteCity.dat
echo Replacing existing files and backing up the old.
cd /opt/logstash/vendor/geoip/
mv -f GeoIPASNum.dat GeoIPASNum.dat.bak && mv /tmp/GeoIPASNum.dat .
mv -f GeoLiteCity.dat GeoLiteCity.dat.bak && mv /tmp/GeoLiteCity.dat .
echo Restarting logstash
# Modify for your distro services model.
service logstash restart
echo Done
答案 0 :(得分:4)
是的,它是相同的数据库,是的,您可以使用maxmind网站的更新。我在ubuntu中使用geoip-database-contrib
包,其中包含一个cronjob,可以自动更新maxmind中的数据库文件。
我不知道maxmind数据集的变化有多快,但由于logstash(包括数据库文件)的发布时间表很慢(当前1.4.2在5个月前发布),我使用了最新的数据库