2014-11-25 9 views
8

Logstash kann eine gebündelte GeoLiteCity.dat-Datenbank für geographische IP-Adresssuche verwenden. Ist diese Datenbank die gleiche wie the one provided by MaxMind? MaxMind aktualisiert die Datenbank am ersten Dienstag jedes Monats.Soll ich GeoLiteCity.dat regelmäßig aktualisieren?

Wäre es schlau, einen Job einzurichten, um die Datenbank automatisch zu aktualisieren, anstatt auf Aktualisierungen von Logstash von ElasticSearch zu warten?

EDIT: 1. Dezember 2014 Hier ist das Bash-Skript, das ich schrieb, um die automatische Aktualisierung der Datenbanken durchzuführen. Mein Lesevorgang von the source code for this filter ist, dass ein Dienstneustart wahrscheinlich erforderlich ist, um die aktualisierten Datenbankdateien aufzunehmen.

#!/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

Die Quelle für den Geo-Filter gefunden: https://github.com/logstash-plugins/logstash-filter-geoip.blob/master/lib/logstash/filters/geoip.rb Es erinnerte mich daran, dass ich anfangen könnte Konfigurieren Sie einen alternativen Speicherort für diese Datenbanken, der wahrscheinlich eine bessere Lösung wäre als das Überschreiben der verteilten Datenbanken. –

+0

Es ist albern, Logstash jedes Mal neu starten zu müssen, wenn eine neue GeoLiteCity.dat an ihren Platz fällt. Ich sehe, es gibt eine Option, um "periodic_flush" zu haben, aber ich bin nicht sicher, was das genau oder wie oft alles sagt: "Rufen Sie die Filter-Flush-Methode in regelmäßigen Abständen auf" (https://www.elastic.co/ guide/de/logstash/2.4/plugins-filter-geoip.html # plugins-filters-geoip-periodic_flush) – totalflux

Antwort

4

Ja, es ist die gleiche Datenbank, und ja, können Sie Updates von MaxMind Website. Ich benutze das geoip-database-contrib Paket in ubuntu, das einen Cronjob enthält, um die Datenbankdateien von maxmind automatisch zu aktualisieren.

Ich weiß nicht, wie schnell sich das maxmind-Dataset ändert, aber da logstash (das die Datenbankdatei enthält) einen langsamen Release-Plan hat (aktuelles 1.4.2 wurde vor 5 Monaten veröffentlicht), verwende ich ein up-to-date Datenbank.

+0

Sie benötigen eine kommerzielle Lizenz, um regelmäßige Updates zu erhalten? –

+1

Siehe http://dev.maxmind.com/geoip/legacy/geolite/: kostenlose Updates jeden Monat. Wenn Sie mehr Updates benötigen, müssen Sie zahlen. – whyscream

+0

Sieht gut aus. Letzte Frage: Müssen Sie logstash neu starten, um die aktualisierten .dat-Dateien aufzunehmen? –

Verwandte Themen