配置 GeoIP 数据库管理
编辑配置 GeoIP 数据库管理
编辑要配置 GeoIP 数据库管理
-
请验证您正在使用的许可证是否包含 geoip 数据库管理功能。
有关更多信息,请参阅 https://elastic.ac.cn/subscriptions 和 许可证管理。
- 在
logstash.yml
文件中指定 geoip 数据库管理设置,以根据需要调整配置。
Logstash 中的 GeoIP 数据库管理设置
编辑您可以在 logstash.yml
中设置以下 xpack.geoip
设置,以配置 geoip 数据库管理器。有关配置 Logstash 的更多信息,请参阅 logstash.yml。
-
xpack.geoip.downloader.enabled
- (布尔值) 如果为
true
,Logstash 会自动从xpack.geoip.downloader.endpoint
下载并管理 GeoIP2 数据库的更新。 如果为false
,Logstash 将不管理 GeoIP2 数据库,并且需要 GeoIP2 数据库的插件必须配置为提供自己的数据库。 -
xpack.geoip.downloader.endpoint
- (字符串) 用于下载 GeoIP2 数据库更新的端点 URL。例如,
https://mydomain.com/overview.json
。默认为https://geoip.elastic.co/v1/database
。请注意,Logstash 将定期向${xpack.geoip.downloader.endpoint}?elastic_geoip_service_tos=agree
发出 GET 请求,并期望获得通常在overview.json
中找到的有关数据库的元数据列表。 -
xpack.geoip.downloader.poll.interval
- (时间值) Logstash 在
xpack.geoip.downloader.endpoint
检查 GeoIP2 数据库更新的频率。例如,6h
表示每六小时检查一次。默认为24h
(24 小时)。
离线和气隙环境
编辑如果 Logstash 无法访问互联网,或者您想禁用数据库管理器,请在 logstash.yml
中将 xpack.geoip.downloader.enabled
值设置为 false
。禁用数据库管理器后,需要 GeoIP 查找的插件必须配置为使用自己的 GeoIP 数据库源。
使用 HTTP 代理
编辑如果您无法直接连接到 Elastic GeoIP 端点,请考虑设置 HTTP 代理服务器。然后,您可以使用 http_proxy
环境变量指定代理。
export http_proxy="http://PROXY_IP:PROXY_PORT"
使用自定义端点
编辑如果您在气隙环境中工作,并且无法从 Elastic 端点更新数据库,则可以从 MaxMind 下载数据库并引导服务。
- 从 MaxMind 站点下载
GeoLite2-ASN.mmdb
和GeoLite2-City.mmdb
数据库文件。 - 将两个数据库文件复制到单个目录。
- 下载 Elasticsearch.
-
从您的 Elasticsearch 目录中,运行
./bin/elasticsearch-geoip -s my/database/dir
-
从您的目录提供静态数据库文件。 例如,您可以使用 Docker 从 nginx 服务器提供文件
docker run -p 8080:80 -v my/database/dir:/usr/share/nginx/html:ro nginx
- 使用
logstash.yml
中的xpack.geoip.download.endpoint=https://127.0.0.1:8080/overview.json
设置,在 Logstash 中指定服务的端点 URL。
Logstash 会从此服务获取自动更新。