ELK7.4——坐标地图映射Nginx用户地理位置

  

小生博客:http://xsboke.blog.51cto.com

  
 <代码> - - - - - - -谢谢您的参考,如有疑问,欢迎交流 
  <人力资源/>   

目录   

      <李>需求李   <李>环境李   <李> logstash配置李   <李> kibana配置李   
  <人力资源/>   

需求

  
 <代码>使用Geoip解析nginx用户IP地理位置,然后通过kibana的“坐标图”实现映射用户地理位置可视化 
  

环境

  

这里主要展示<代码> logstash过滤器插件代码和<代码> kibana>   

 <代码> web 172.16.100.251 nignx/filebeat/logstash
  elasticsearch 172.16.100.252 elasticsearch/kibana  
  

<代码>网络>   
      <李>   

    添加<代码> 管道配置

      
     <代码> vim/etc/logstash/conf.d/nginx.conf
      
      输入{
      节拍{
      端口=比;5044
      }
      }
      
      过滤器{
      如果在[标记]“nginx_access”{
      神交{
      匹配=比;{“消息”=比;“%{号码:request_time} \ | % {IPORHOST: access_domain} \ | % {IPORHOST: remote_addr} \ | %{用户名:remote_user} \ | \ [% {HTTPDATE: time_local} \] \ | % {NOTSPACE: request_method} % {NOTSPACE:请求}(?:HTTP/%{号码:http_version}) %{号码:地位}\ \ | | %{号码:upstream_status} \ | %{号码:upstream_response_time} \ | % {NOTSPACE: upstream_addr} \ | %{号码:body_bytes_sent} \ | % {NOTSPACE: request_body} \ | % {NOTSPACE: http_referer} \ | % {GREEDYDATA: http_user_agent} \ | % {NOTSPACE: http_x_forwarded_path} \ | % {NOTSPACE: upstream_cache_status} "}
      }
      
      geoip {
      源=比;“remote_addr”
      目标=比;“geoip”#要发送的字段,默认为此
      add_field=比;[" [geoip](坐标)”,“% {[geoip][经度]}”)#获取经度
      add_field=比;[" [geoip](坐标)”,“% {[geoip](纬度)}”)#获取纬度
      }
      
      变异{
      转换=比;[" [geoip](坐标)”,“浮动”)#修改经纬度为浮点数
      }
      }
      }
      
      输出{
      如果在[标记]“nginx_access”{
      elasticsearch {
      主机=比;[" 172.16.100.252:9200 "]
      指数=比;“logstash-nginx_access——% {+ YYYY.MM。dd}“#使用以logstash索引可以免除手动指定geoip为geo_point类型。
      }
      }
      }
       
      李   
  

<代码> elasticsearch>   
      <李>   

    <代码> kibana>   

     <代码>默认情况下kibana使用“弹性地图服务”显示地图模块,要使用其他服务提供商的模块可以通过修改“map.tilemap.url”实现,下面是修改为高德地图
      # map.tilemap。url: http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&大?1,规模=1,风格=7,x={x}, y={y}, z={z} '
      
      7.4版本的kibana对中文兼容性更好,个人建议使用kibana默认的“弹性地图服务”显示地图模块,可以修改kibana的语言从而显示中文:
      # i18n。地区:“应用” 
      李   <李>   

    <代码> kibana Web>   

    新建<代码>可视化> 坐标地图→选择<代码> logstash索引

      

     ELK7.4 -坐标地图映射Nginx用户地理位置

      

    根据下图进行配置然后保存即可

      

     ELK7.4 -坐标地图映射Nginx用户地理位置

      李   

ELK7.4——坐标地图映射Nginx用户地理位置