码迷,mamicode.com
首页 > 其他好文 > 详细

Grafana Worldmap外网用户request地图监控

时间:2018-09-21 12:28:00      阅读:1822      评论:0      收藏:0      [点我收藏+]

标签:indexing   where   term   开启   文档   evel   51cto   logs   f11   

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的设置界面,
技术分享图片
上面说我们以geohashes作为数据源的格式,location Data选取“geohash”,同时我们也要指定经纬度的字段,填写经纬度所在的“geoip.location”field,这个field必须设置,因为grafana通过这个字段才能找到经纬度的filed。
(2)metrics界面设置
技术分享图片
(3)显示效果
技术分享图片

Grafana Worldmap外网用户request地图监控

标签:indexing   where   term   开启   文档   evel   51cto   logs   f11   

原文地址:http://blog.51cto.com/11078047/2178120

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!