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" => [
      [0113.25,
      [123.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   

智能推荐

posted on   即学即码+  阅读(295)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示