GeoIP 数据库管理
编辑GeoIP 数据库管理
编辑Logstash 提供了一种用于配置和维护 GeoIP 数据库的机制,插件可以使用该机制来确保它们能够访问始终保持最新且符合 EULA(最终用户许可协议)的数据库,以进行地理位置丰富化。此机制需要互联网访问或到 Elastic GeoIP 数据库服务的网络路由。
如果数据库管理器在 logstash.yml
中启用(默认情况下是启用的),插件可以订阅数据库,如果有效的数据库尚未可用,则会触发下载。Logstash 每天检查更新。当发现更新的数据库时,它会在后台下载并使其可供依赖它的插件使用。
GeoIP 数据库是根据最终用户许可协议从 MaxMind 单独许可的,该协议禁止在更新可用超过 30 天后使用数据库。当 Logstash 30 天或更长时间无法访问数据库服务以验证托管数据库是否为最新时,该数据库将被删除并使其无法供订阅它的插件使用。
GeoIP 数据库管理是 Logstash 的一项许可功能,仅在 Elastic 许可的完整 Logstash 发行版中可用。
数据库指标
编辑您可以通过 节点统计 API 监控托管数据库的状态。
以下请求返回一个 JSON 文档,其中包含数据库管理器统计信息,包括:
-
数据库状态和新鲜度
-
geoip_download_manager.database.*.status
-
init
:初始 CC 数据库状态 -
up_to_date
:使用最新的 EULA 数据库 -
to_be_expired
:25 天没有调用服务 -
expired
:30 天没有调用服务
-
-
fail_check_in_days
:自上次成功以来 Logstash 未能调用服务的天数
-
-
有关下载成功和失败的信息
-
geoip_download_manager.download_stats.successes
:成功检查和下载的次数 -
geoip_download_manager.download_stats.failures
:失败的检查或下载次数 -
geoip_download_manager.download_stats.status
-
updating
:当前正在检查和下载 -
succeeded
:上次下载成功 -
failed
:上次下载失败
-
-
curl -XGET 'localhost:9600/_node/stats/geoip_download_manager?pretty'
示例响应
{ "geoip_download_manager" : { "database" : { "ASN" : { "status" : "up_to_date", "fail_check_in_days" : 0, "last_updated_at": "2021-06-21T16:06:54+02:00" }, "City" : { "status" : "up_to_date", "fail_check_in_days" : 0, "last_updated_at": "2021-06-21T16:06:54+02:00" } }, "download_stats" : { "successes" : 15, "failures" : 1, "last_checked_at" : "2021-06-21T16:07:03+02:00", "status" : "succeeded" } } }