ELK 之 GeoIP
需求
我们都知道nginx日志里面有域名,同时也有用户的远程ip。但是ip其实我们看不出什么东西,我们知道通过ip其实可以查询一些地理位置信息出来的(很多网站都可以直接查的)。这个过程就是GeoIP:就是通过来访者的IP,定位他的经纬度,国家/地区,省市,甚至街道等位置信息。而在logstash里面就有一个解决这个需求的插件:logstash-filter-geoip
数据格式
logstash-filter-geoip 本身不用安装,logstash默认已经安装了,如果您的没有安装,可以直接执行安装命令
1 | /usr/share/logstash/bin/logstash-plugin install logstash-filter-geoip |
该插件有如下信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | "geoip" => { "ip" => "183.60.92.253" , "country_code2" => "CN" , "country_code3" => "CHN" , "country_name" => "China" , "continent_code" => "AS" , "region_name" => "30" , "city_name" => "Guangzhou" , "latitude" => 23.11670000000001 , "longitude" => 113.25 , "timezone" => "Asia/Chongqing" , "real_region_name" => "Guangdong" , "location" => [ [ 0 ] 113.25 , [ 1 ] 23.11670000000001 ] } |
配置
在filter section 配置 插件
1 2 3 | geoip { source => "ip" } |
本地化汉化
大家观察下 geoip 相关信息和下图 就发现有些字段是汉化的。默认的插件是不带汉化功能的,如果非必要大家可以不用在乎,我就是看着非常别扭,有点强迫症。官方不支持就得另辟出路,还真有人解决了:插件汉化。
汉化过程
1 2 3 4 5 6 | #卸载原有插件 $ /usr/share/logstash/bin/logstash-plugin uninstall logstash-filter-geoip #下载汉化插件 $ wget https: //raw .githubusercontent.com /wjcxk21/logstash-filter-geoip-cn/master/logstash-filter-geoip-6 .0.0-java.gem #安装汉化插件 $ /usr/share/logstash/bin/logstash-plugin install --no-verify -- local /tmp/logstash-filter-geoip-6 .0.0-java.gem |
安装汉化插件过程有可能会漫长,不要急,不要以为出问题了。安装好重启logstash就好了
原文地址:ELK 之 GeoIP
标签:logstash elk geoip
智能推荐
即学即码 分享 PHP、Linux、Python、Go,大数据,机器学习,人工智能等技术。马上学习码上学会。www.jixuejima.cn 公众号:learn_master
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通