Configure GeoIP Database Management
editConfigure GeoIP Database Management
editTo configure GeoIP Database Management:
-
Verify that you are using a license that includes the geoip database management feature.
For more information, see https://www.elastic.co/subscriptions and License management.
-
Specify
geoip database management settings in the
logstash.yml
file to tune the configuration as-needed.
GeoIP database Management settings in Logstash
editYou can set the following xpack.geoip
settings in logstash.yml
to configure the geoip database manager.
For more information about configuring Logstash, see logstash.yml.
-
xpack.geoip.downloader.enabled
-
(Boolean) If
true
, Logstash automatically downloads and manages updates for GeoIP2 databases from thexpack.geoip.downloader.endpoint
. Iffalse
, Logstash does not manage GeoIP2 databases and plugins that need a GeoIP2 database must be configured to provide their own. -
xpack.geoip.downloader.endpoint
-
(String) Endpoint URL used to download updates for GeoIP2 databases.
For example,
https://mydomain.com/overview.json
. Defaults tohttps://geoip.elastic.co/v1/database
. Note that Logstash will periodically make a GET request to${xpack.geoip.downloader.endpoint}?elastic_geoip_service_tos=agree
, expecting the list of metadata about databases typically found inoverview.json
. -
xpack.geoip.downloader.poll.interval
-
(Time Value) How often Logstash checks for GeoIP2 database updates at the
xpack.geoip.downloader.endpoint
. For example,6h
to check every six hours. Defaults to24h
(24 hours).
Offline and air-gapped environments
editIf Logstash does not have access to the internet, or if you want to disable the database manager, set the xpack.geoip.downloader.enabled
value to false
in logstash.yml
.
When the database manager is disabled, plugins that require GeoIP lookups must be configured with their own source of GeoIP databases.
Using an HTTP proxy
editIf you can’t connect directly to the Elastic GeoIP endpoint, consider setting up an HTTP proxy server.
You can then specify the proxy with http_proxy
environment variable.
export http_proxy="http://PROXY_IP:PROXY_PORT"
Using a custom endpoint
editIf you work in an air-gapped environment and can’t update your databases from the Elastic endpoint, You can then download databases from MaxMind and bootstrap the service.
-
Download both
GeoLite2-ASN.mmdb
andGeoLite2-City.mmdb
database files from the MaxMind site. - Copy both database files to a single directory.
- Download Elasticsearch.
-
From your Elasticsearch directory, run:
./bin/elasticsearch-geoip -s my/database/dir
-
Serve the static database files from your directory. For example, you can use Docker to serve the files from nginx server:
docker run -p 8080:80 -v my/database/dir:/usr/share/nginx/html:ro nginx
-
Specify the service’s endpoint URL in Logstash using the
xpack.geoip.download.endpoint=http://localhost:8080/overview.json
setting inlogstash.yml
.
Logstash gets automatic updates from this service.