Logstash模块之geoip
在对Logstash的实际应用中,为了从日志中ip获取到用户访问时的所在地,用到了geoip这个模块。刚开始使用时并未注意到一些细节,但在做数据分析的时候发现了geoip的坑
配置
关于geoip的配置这里就不阐述了,有兴趣的可以看看 logstash配置文件详解 或者查阅Logstash的官方文档
分析
如果配置正确,那么在logstash分析日志并输出的时候,通过geoip能获取到很多的信息,包括经纬度,国家,城市,地区等信息,需要注意的是这些信息并不是用户当前访问的实际地址,而是IP所在地(包括经纬度也只是当前城市)。例如,用户在北京故宫访问了你的站点,根据日志中的IP查询出来的结果只会显示北京。
那么问题来了,这是为什么呢?
在logstash中找到geoip相关的文件夹找到了答案,路径是/logstash-5.2.0/vendor/bundle/jruby/1.9/gems/logstash-filter-geoip-4.0.4-java/vendor/,在这个文件夹