ELK7.4-坐标地图映射Nginx用户地理位置
2019-10-21 11:24
2895 查看
小生博客:http://xsboke.blog.51cto.com
-------谢谢您的参考,如有疑问,欢迎交流
目录
- 需求
- 环境
- logstash配置
- kibana配置
需求
使用Geoip解析nginx用户IP地理位置,然后通过kibana的"coordinates map"实现映射用户地理位置可视化
环境
这里主要展示
logstash filter plugin和
kibana的配置,之前的配置请参考:ELK7.4-快速入门实现数据收集
web 172.16.100.251 nignx/filebeat/logstash elasticsearch 172.16.100.252 elasticsearch/kibana
Web
配置
-
添加
pipelines
配置vim /etc/logstash/conf.d/nginx.conf input { beats { port => 5044 } } filter { if "nginx_access" in [tags] { grok { match => { "message" => "%{NUMBER:request_time}\|%{IPORHOST:access_domain}\|%{IPORHOST:remote_addr}\|%{USERNAME:remote_user}\|\[%{HTTPDATE:time_local}\]\|%{NOTSPACE:request_method} %{NOTSPACE:request} (?:HTTP/%{NUMBER:http_version})\|%{NUMBER:status}\|%{NUMBER:upstream_status}\|%{NUMBER:upstream_response_time}\|%{NOTSPACE:upstream_addr}\|%{NUMBER:body_bytes_sent}\|%{NOTSPACE:request_body}\|%{NOTSPACE:http_referer}\|%{GREEDYDATA:http_user_agent}\|%{NOTSPACE:http_x_forwarded_path}\|%{NOTSPACE:upstream_cache_status}" } } geoip { source => "remote_addr" target => "geoip" # 要发送的字段,默认为此 add_field => ["[geoip][coordinates]","%{[geoip][longitude]}"] # 获取经度 add_field => ["[geoip][coordinates]","%{[geoip][latitude]}"] # 获取纬度 } mutate { convert => ["[geoip][coordinates]","float"] # 修改经纬度为浮点数 } } } output { if "nginx_access" in [tags] { elasticsearch { hosts => ["elk.elasticsearch:80"] index => "logstash-nginx_access-%{+YYYY.MM.dd}" # 使用以logstash索引可以免除手动指定geoip为geo_point类型. } } }
elasticsearch
配置
-
kibana
配置默认情况下kibana使用"Elastic Maps Service"显示地图模块,要使用其他服务提供商的模块可以通过修改"map.tilemap.url"实现,下面是修改为高德地图 # map.tilemap.url: 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}' 7.4版本的kibana对中文兼容性更好,个人建议使用Kibana默认的"Elastic Maps Service"显示地图模块,可以修改kibana的语言从而显示中文: # i18n.locale: "zh-CN"
-
kibana Web
配置新建
可视化
->坐标地图
-> 选择logstash索引
根据下图进行配置然后保存即可
相关文章推荐
- 微信公众号开发,获取用户的地理位置坐标,经纬度
- 根据用户坐标返回用户地理位置,并且统计用户
- iphone 反向地理解析 从坐标获得用户的具体位置信息
- Android基于mAppWidget实现手绘地图(八)–获取用户地理位置
- 【Android】手机地图功能——利用手机GPS获取用户地理坐标
- iphone 反向地理解析 从坐标获得用户的具体位置信息
- 栅格像元做地理坐标映射后的坐标值是像元中心点还是其他位置?
- 根据经纬度在地图上添加标记,实现登陆用户分布地理位置,显示用户信息
- 利用Nginx加GeoIP MaxMind数据库获取用户的地理位置
- 用户Ip地址和百度地图api接口获取用户地理位置(经纬度坐标,城市)
- js 百度地图 根据地理位置坐标地图定位到地理位置
- 微信公众号开发之用户地理位置坐标转百度坐标
- H5 定位用户坐标并通过经纬度显示用户的地理位置
- java调用百度地图api接口---转换非百度坐标和根据百度坐标转换地理位置
- 通过poi获取到了商店的地理位置之后,如何获取商店的详细信息。是需要商店提供还是地图提供
- IOS-OC-高德地图-反向地理编码 - 坐标转位置
- 百度地图API,用户拒绝获取地理位置getStatus()还是等于BMAP_STATUS_SUCCESS
- 微信小程序--获取用户地理位置名称(无须用户授权)
- JS获取用户地理位置
- 读取本地XML文件信息,在地图上添加标注,显示当前位置详细地理信息