ELK7.4-マップは、マップnginxのユーザの位置を調整します

ニッチのブログ: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 => ["elk.elasticsearch:80"]
               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のユーザの位置を調整します

おすすめ

転載: blog.51cto.com/xsboke/2444094