Logstash może korzystać z dołączonej bazy danych GeoLiteCity.dat do wyszukiwania adresów geograficznych adresów IP. Czy ta baza danych jest taka sama jak the one provided by MaxMind? MaxMind aktualizuje bazę danych w pierwszy wtorek każdego miesiąca.Czy powinienem okresowo aktualizować GeoLiteCity.dat?
Czy byłoby mądrze ustawić zadanie, aby automatycznie odświeżyć bazę danych zamiast czekać na aktualizacje do Logstash z ElasticSearch?
EDYCJA: 1 grudnia 2014 Oto skrypt, który napisałem, aby przeprowadzić automatyczną aktualizację baz danych. Moja lektura: the source code for this filter jest taka, że ponowne uruchomienie usługi jest prawdopodobnie wymagane do przejęcia zaktualizowanych plików baz danych.
#!/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
Znaleziono źródło filtra geograficznego: https://github.com/logstash-plugins/logstash-filter-geoip/blob/master/lib/logstash/filters/geoip.rb Przypomniało mi, że mogę ustawić skonfiguruj alternatywną lokalizację dla tych baz danych, która prawdopodobnie byłaby lepszym rozwiązaniem niż nadpisywanie rozproszonych baz danych. –
To głupie, że trzeba ponownie uruchamiać logstash za każdym razem, gdy nowy GeoLiteCity.dat zostanie zrzucony na miejsce. Rozumiem, że istnieje opcja "okresowego" czyszczenia, ale nie jestem pewien, co dokładnie robi lub jak często to wszystko mówi: "Wezwij metodę filtrowania filtra w regularnych odstępach czasu" (https://www.elastic.co/ guide/pl/logstash/2.4/plugins-filters-geoip.html # plugins-filters-geoip-periodic_flush) – totalflux