ELK 地理分佈熱度圖

地理分佈熱度圖

GrafanaKibana繪製地理分佈熱度圖,需要對ELK組件進行相關設置

在這裏插入圖片描述

Logstash geoip插件

geoip過濾器根據來自Maxmind GeoLite2數據庫的數據添加有關IP地址的地理位置的信息。

詳細配置見Geoip filter plugin

geoip {
  source => "[request_ip]"
  remove_field => ["tags", "[geoip][latitude]", "[geoip][longitude]", "[geoip][continent_code]", "[geoip][country_code3]", "[geoip][country_code2]"]
}

Logstash輸出

{
"nginx.access.http_version" => "1.1",
   "geoip" => {
     "city_name" => "Hebei",            #城市地址
      "timezone" => "Asia/Shanghai",       #時區
            "ip" => "123.183.135.141",   #IP地址
      "latitude" => 39.8897,           #緯度
      "longitude" => 115.275,           #經度
  "country_name" => "China",      #國家的名字
 "country_code2" => "CN",         #國家簡寫
"continent_code" => "AS",         #洲
 "country_code3" => "CN",          
   "region_name" => "Hebei",      #地區名稱 
      "location" => {             #位置
            "lon" => 115.275,           #經度
            "lat" => 39.8897            #維度
      }
}

ES索引模板

通過配置 ES索引模板 或 ES索引mapping 設置geoip的類型

使用nginx-*kong-*的es模板已設置geoip的類型

ES索引模板

使用ES索引模板設置geo_point類型

"properties" : {
  "geoip" : {
    "dynamic" : true,
    "properties" : {
      "ip" : {
        "type" : "ip"
      },
      "location" : {
        "type" : "geo_point"
      },
      "latitude" : {
        "type" : "half_float"
      },
      "longitude" : {
        "type" : "half_float"
      }
    }
  }
}

ES索引mapping

"geoip" : {
    "properties" : {
        "location" : {
            "type" : "geo_point",
            "ignore_malformed": "true"  
        }
    }
}

ignore_malformed若爲true,格式錯誤的地理位置被忽略。若爲false,格式錯誤的地理位置引發異常並拒絕整個文檔。

Grafana/Kibana繪圖

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章