【问题标题】:Should I update GeoLiteCity.dat periodically?我应该定期更新 GeoLiteCity.dat 吗?
【发布时间】:2015-01-23 17:19:44
【问题描述】:

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

【问题讨论】:

  • 找到地理过滤器的来源:github.com/logstash-plugins/logstash-filter-geoip/blob/master/… 它提醒我可以在配置中为这些数据库设置一个备用位置,这可能是比覆盖分布式数据库更好的解决方案。跨度>
  • 每次新的 GeoLiteCity.dat 就位时都必须重新启动 logstash 是很愚蠢的。我看到有一个选项可以使用“periodic_flush”,但我不确定它的确切作用或频率,正如它所说的那样:“定期调用过滤器刷新方法”(elastic.co/guide/en/logstash/2.4/…

标签: elasticsearch logstash geoip kibana


【解决方案1】:

是的,它是同一个数据库,是的,您可以使用来自 maxmind 网站的更新。我在 ubuntu 中使用 geoip-database-contrib 包,其中包含一个 cronjob 来自动从 maxmind 更新数据库文件。

我不知道 maxmind 数据集的变化有多快,但由于 logstash(包括数据库文件)的发布计划很慢(当前 1.4.2 是 5 个月前发布的),所以我使用最新的数据库.

【讨论】:

  • 您似乎需要商业许可证才能接收定期更新?
  • dev.maxmind.com/geoip/legacy/geolite:每月免费更新。如果您需要更多更新,则需要付费。
  • 看起来不错。最后一个问题:是否需要重启logstash才能占用更新的.dat文件?
  • 编辑了问题。我对源代码的阅读使我认为需要重新启动。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多