GeoIP 数据库管理

编辑

Logstash 提供了一种机制来配置和维护 GeoIP 数据库,插件可以使用该机制来确保它们能够访问始终最新的且符合 EULA 的地理位置增强数据库。此机制需要互联网访问或到 Elastic GeoIP 数据库服务的网络路由。

如果数据库管理器在 logstash.yml 中启用(默认情况下启用),则插件可以订阅数据库,并在尚未提供有效数据库时触发下载。Logstash 每天检查更新。当发现更新的数据库时,它会在后台下载并提供给依赖它的插件。

GeoIP 数据库根据最终用户许可协议 (EULA) 的条款从 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"
    }
  }
}