logo资料库

ELK实现GeoIP定位全球访客.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
ELK 实现 GeoIP 定位全球访客 logstash 配置 geoip 画访问地域热图 如果对于 ELK 不是很熟悉的兄弟,需要先构建好 ELK,熟悉 Logstash 和 Kibana 的常规使用。geoip 主要用于 kibana 绘制地理区域图时使用, 原理就是通过一个 IP 库,根据 IP 直接获取对应的地理坐标等信息, 从而在地图上进行展示。 01 【 下载库】 既然依赖库,那么就先下载一下对应的库: 网盘链接: https://pan.baidu.com/s/1Jcr6thDoNJICG8MigUE3Ag 提取码:dd5d 这个库是每周一更新的,在生产环境当中如果想要保证最终结果的准 确性,可能需要周期性更新这个库。 解压: [root@elk1 ~]# tar xf GeoLite2-City_20200602.tar.gz [root@elk1 ~]# mv GeoLite2-City_20200602/GeoLite2-City.mmdb /etc/logstash/ logstash 查看可用插件 /usr/share/logstash/bin/logstash-plugin list --verbose 安装插件 /usr/share/logstash/bin/logstash-plugin install logstash-filter-geoip
/usr/share/logstash/bin/logstash-plugin install logstash-filter-mutate /usr/share/logstash/bin/logstash-plugin install logstash-filter-useragent 02 【正式配置】 input { file { path => "/var/log/nginx/access.log" type => "Nginx" codec => json } filter { geoip { source => "remote_addr" database => "/etc/logstash/GeoLite2-City.mmdb" fields => ["country_name","region_name","city_name","location"] } } output { elasticsearch { hosts => ["http://192.168.1.100:9200"] index => "logstash-nginx-%{+YYYY.MM}" } }
只保留了国家,省份,城市,坐标这四个信息,在绘制地理坐标图的 时候,已经够用了。 此 处需 要注 意 的一 个 地方 就是 最 后输 出 的索 引名 称 ,必 须 是以 logstash 开头才行,否则在 kibana 当中绘制的时候,将无法解析到 IP 的坐标信息。 03【 绘图 】 创建一个坐标地图类型的可视化,然后选择对应的索引,进入到配置 界面,指标就用默认的计数,主要的配置是下边的存储桶当中,聚合 选择 Geohash,字段选择 geoip.location(如果此处看不到这个字段, 应该就是上边注意点没有遵守,需要让索引名称以 logstash 开头), 然后点击播放,即可看到对应访问热图呈现在了右侧地图当中了。 绘制地理热图如下:
分享到:
收藏