logstash利用geoip获取IP地理位置信息

Logstash的geoip过滤器允许用户从日志中的IP地址提取地理位置信息,如国家、地区、城市和经纬度。配置中指定source字段为IP来源,fields字段选择要提取的地理信息,target字段定义新字段来存储结果。示例展示了如何处理UDP端口上的日志事件,输出包含IP对应的地理位置详情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Logstash模块之geoip

我们在用logstash收集日志时,有时需要将日志中的IP地址映射出具体的地理位置信息,logstash中geoip过滤器提供了这个功能.

logstash中默认的geoip插件位于
logstash/vendor/bundle/jruby/2.5.0/gems/logstash-filter-geoip-7.2.9-java/vendor
在这里插入图片描述
GeoLite2-City.mmdb 可在 https://www.maxmind.com/en/accounts/307701/geoip/downloads进行下载,如下图:
在这里插入图片描述

logstash中geoip配置

filter {
   
   geoip{
   
        source => "src_ip" //原始事件中src_ip字段为源IP
        fields => ["country_name", "region_name", "city_name", "latitude", "longitude"] //通过geoip库将源IP这些字段的信息返回出来
        target => "location"  //目标字段存在 location 字段下
     }  
}

使用示例

input {
   
        udp{
   
           port => 15100
       }
}

filter {
   
     json{
   
        source => "message"
     }
     
     geoip{
   
        source => "src_ip"
        fields => ["country_name", "region_name", "city_name", "latitude", "longitude"]
        target => "location"    
     }  
}

output{
   
     stdout{
   }
}

向logstash的udp 15100端口发送以下测试事件:

{
   "src_ip":"125.33.203.100","logid":"1000"}
{
   "src_ip"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jepson2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值