Logstash IP adresi coğrafi aramaları için bir paketlenmiş GeoLiteCity.dat veritabanından yararlanabilir. Bu veritabanı the one provided by MaxMind ile aynı mı? MaxMind her ayın ilk Salı günü veritabanını günceller.GeoLiteCity.dat'ı periyodik olarak güncellemeli miyim?
ElasticSearch'ten Logstash güncellemelerini beklemek yerine veritabanını otomatik olarak yenilemek için bir iş kurmak akıllıca olur mu?
DÜZENLEME: Ara 1 2014 Veritabanlarının otomatik güncelleştirmesini gerçekleştirmek için yazdığım bash komut dosyası. Benim the source code for this filter okumam, güncelleştirilmiş veritabanı dosyalarını almak için muhtemelen bir hizmet yeniden başlatmanın gerekli olmasıdır.
#!/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
Coğrafi filtrenin kaynağını buldu: https://github.com/logstash-plugins/logstash-filter-geoip/blob/master/lib/logstash/filters/geoip.rb Beni hatırlattı. Bu veritabanları için alternatif bir konum yapılandırın; bu da dağıtılmış veritabanlarının üzerine yazılmasından daha iyi bir çözüm olabilir. –
Yeni bir GeoLiteCity.dat her defasında yere düştüğünde logstash'ı yeniden başlatması aptalca. Görüyorum ki "periodic_flush" seçeneğine sahip olmak için bir seçenek var, ancak tam olarak ne sıklıkta veya ne sıklıkta yaptığından emin değilim: "Filtreli yıkama yöntemini düzenli aralıklarla arayın" (https://www.elastic.co/ kılavuzu/tr/logstash/2.4/plugins-filters-geoip.html # plugins-filters-geoip-periodic_flush) – totalflux