You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch、Logstash、Kibana 8中GeoIP配置及数据库IP使用咨询

ELK 8+ 配置GeoIP功能及客户端IP地理分析实现步骤

1. Logstash 配置GeoIP过滤

Logstash负责从数据库读取客户端IP并完成地理信息解析:

  • 确认GeoIP插件状态:ELK 8+ 默认内置logstash-filter-geoip插件,若缺失可执行命令安装:
    bin/logstash-plugin install logstash-filter-geoip
    
  • 修改Logstash配置文件(如logstash.conf),在filter段添加GeoIP处理逻辑:
    filter {
      # 替换client_ip为你从数据库读取的客户端IP字段名
      geoip {
        source => "client_ip"
        target => "geoip"
        # 可选:自定义GeoIP数据库路径,默认使用内置的GeoLite2-City库
        # database => "/opt/logstash/vendor/GeoLite2-City.mmdb"
      }
    }
    
    解析后会生成geoip字段,包含纬度、经度、城市、国家等地理信息。

2. Elasticsearch 映射配置

需提前配置索引映射,让Elasticsearch正确识别地理坐标字段:

  • 手动创建索引映射(适用于固定索引):
    PUT /your_index_name
    {
      "mappings": {
        "properties": {
          "client_ip": {
            "type": "ip"
          },
          "geoip": {
            "properties": {
              "location": {
                "type": "geo_point"
              },
              "city_name": {
                "type": "keyword"
              },
              "country_name": {
                "type": "keyword"
              }
            }
          }
        }
      }
    }
    
  • 或创建索引模板(适用于自动生成的批量索引):
    PUT /_index_template/geoip_template
    {
      "index_patterns": ["your_index_prefix*"],
      "template": {
        "mappings": {
          "properties": {
            "client_ip": {"type": "ip"},
            "geoip": {
              "properties": {
                "location": {"type": "geo_point"},
                "city_name": {"type": "keyword"},
                "country_name": {"type": "keyword"}
              }
            }
          }
        }
      }
    }
    

3. Kibana 实现GeoIP分析可视化

  • 创建索引模式:进入Stack Management > Index Patterns,创建匹配你索引的模式,确保geoip.location被识别为Geo Point类型。
  • 制作地图可视化:
    1. 进入Visualize Library,选择Maps类型
    2. 添加Documents图层,关联你的索引模式
    3. 选择Geo Coordinates,字段指定为geoip.location,可设置聚合规则(如按国家计数)生成标记图或热力图
  • 搭建分析仪表盘:将地图可视化添加到仪表盘,同时可搭配柱状图、饼图等面板,分析不同地区的访问量分布、Top访问城市等数据。

注意事项

  • 仅公网IP可解析出有效地理信息,内网IP无法返回数据
  • 如需更精准的地理数据,可前往MaxMind官网注册下载GeoLite2付费版数据库,替换Logstash内置库
  • geoip字段包含丰富衍生信息,如geoip.country_code2(两位国家码)、geoip.region_name(地区名),可按需在Kibana中使用

内容的提问来源于stack exchange,提问作者sandesh Jadhav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 10:20:31