Grafana Worldmap外網用戶request地圖監控

1.grafana的worldmmap面板插件
Worldmap面板是世界的平鋪地圖,可以用表示查詢數據點的圓圈覆蓋。它可以與時間序列度量一起使用,包括來自Elasticsearch的geohash數據或表格格式的數據。
2.grafana的數據源
(1)一個位置的經緯度(geoip.location)
(2)另一個是你要顯示的field(geoip.city_name)
3.理解一下插件的request的原理

"query":{
   "bool":{
    "filter":[{
      "aggs":{
        "4":{
        "geohash_grid":{ 
           "field":"geoip.location","precision":3},
     "aggs":{
         "3":{
          "terms":{
            "field":"geoip.city_name.keyword","size":10},

1)從上面可以看出,我們的worldmap插件把我們的配置具體化一elasticsearch的查詢語句,我們的map的顯示一般需要我們配置geoip.location和geoip.city_name.keyword兩個參數。
2)其中的grafana能用geoip.city_name.keyword和kibana能用geoip.city_name,grafana用geoip.city_name作爲field時,會報以下錯誤:

Fielddata is disabled on text fields by default. Set fielddata=true on [keyword.city_name] in order to load fielddata in memory by uninverting the inverted index.

報錯讓我開啓fielddata,elasticsearch官方文檔解釋:“fielddata開啓後會佔用大量的內存,所以默認是關閉的,同時官方也給出瞭解決這個問題的辦法,
Use the my_field.keyword field for aggregations, sorting, or in scripts,就是使用geoip.city_name.keyword字段進行查詢聚合。
4.以geohashes作爲數據源
這是我Logstash的filter利用geoip查詢數據庫解析IP地址位置信息的配置:

geoip {
      source => "client_IP"
      target => "geoip"
     database => "/usr/share/logstash/GeoIP/GeoLite2-City.mmdb"
     fields => ["location", "country_name", "city_name"]
}

下面是kibana的以json格式展示出來的地理信息


     "geoip": {
          "city_name": "Beijing",
          "country_name": "China",
          "location": {
            "lat": 39.9289,
            "lon": 116.3883
          }

location獲取經緯度,country_name和city_name分別取出國家和城市,我們grafana可以通過location的經緯度來顯示數據。
grafana支持的數據庫:ElasticSearch,The Geo-point data type with geohash indexing in Elasticsearch can also be used as a datasource for the worldmap panel. Grafana has a new bucket aggregate for Elasticsearch queries - Geo Hash Grid that allows grouping of coordinates. The Geo Hash Grid has a precision option where 1 is the highest level and 7 is the lowest.
grafana有一個新的buchet的聚合爲 Geo Hash Grid,同時可以進行精度設置precision(1-7)。
5.下面我們進行配置
(1)進入worldmap的設置界面,
Grafana Worldmap外網用戶request地圖監控
上面說我們以geohashes作爲數據源的格式,location Data選取“geohash”,同時我們也要指定經緯度的字段,填寫經緯度所在的“geoip.location”field,這個field必須設置,因爲grafana通過這個字段才能找到經緯度的filed。
(2)metrics界面設置
Grafana Worldmap外網用戶request地圖監控
(3)顯示效果
Grafana Worldmap外網用戶request地圖監控

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