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"
    }
  }
}