ELK7.4-坐标地图映射Nginx用户地理位置
admin
2023-03-03 05:20:48
0

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

                -------谢谢您的参考,如有疑问,欢迎交流

目录

  • 需求
  • 环境
  • logstash配置
  • kibana配置

需求

使用Geoip解析nginx用户IP地理位置,然后通过kibana的"coordinates map"实现映射用户地理位置可视化

环境

这里主要展示logstash filter pluginkibana的配置,之前的配置请参考:ELK7.4-快速入门实现数据收集

web             172.16.100.251      nignx/filebeat/logstash 
elasticsearch   172.16.100.252      elasticsearch/kibana

Web配置

  1. 添加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 => ["172.16.100.252:9200"]
               index => "logstash-nginx_access-%{+YYYY.MM.dd}" # 使用以logstash索引可以免除手动指定geoip为geo_point类型.
           }
       }
    }
    

elasticsearch配置

  1. 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"
  2. kibana Web配置

    新建可视化 -> 坐标地图 -> 选择logstash索引

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

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

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

相关内容

热门资讯

农田边毒水直流,比排污更刺眼的... 5月7日,总台《焦点访谈》曝光了徐州贾汪区农谷大道路边沟存在水体污染问题。全长12公里的路边沟满是污...
28岁女子坠亡,施工方谎报 近日,深圳龙岗区应急管理局公布了《龙岗龙城香港中文大学(深圳)医学院项目Ⅰ标“12·26”一般高处坠...
中国没有表演场地,高市早苗不必... 【文/观察者网专栏作者 吕超】56年前,时任西德总理的勃兰特在华沙犹太隔离区起义纪念碑前自发下跪,因...
卢希望当选为信阳市人民政府市长 信阳市第六届人民代表大会公告(第十九号)信阳市第六届人民代表大会第五次会议于2026年5月8日选举卢...
中坚科技及董事长被出具警示函 【大河财立方消息】5月8日消息,浙江证监局对浙江中坚科技股份有限公司及相关人员采取出具警示函措施的决...
今年河南首场高温来袭!淮河以北... 今年首场高温来袭受高空西北气流控制,近期我省以晴好天气为主,由于太阳辐射较强,全省将进入快速升温通道...
极氪回应“低价代购极氪新车”信... 【大河财立方消息】5月8日,极氪法务部发布关于保障用户购车安全及权益的重要提醒。极氪表示,“关注到网...
云南燃气灶维修价格表 燃气灶在日常使用中,由于长期受到高温和燃气的腐蚀,会出现各种故障,如火力不足、起火困难、火苗不稳等问...
涉及眼镜、电视、耳机等 人工智... 工业和信息化部、国家市场监督管理总局、商务部等部门今天(5月8日)联合发布《人工智能终端智能化分级》...
上门维修电视价格表 上门维修电视价格表因地区、品牌、型号等情况而异,以下是一般参考价格,仅供参考: 1. 电视开机无信...