Grafana WorldMap

当前使用云平台的CLB,想使用Grafana WorldMap做展示,日志中有IP字段
1、定时到clb拉取IP信息
2、通过全球IP库解析出经纬度和城市存入数据库
3、grafana展示

根据IP获取信息,用于生成world map数据

全球IP库下载
https://github.com/wp-statistics/GeoLite2-City
https://raw.githubusercontent.com/wp-statistics/GeoLite2-City/master/GeoLite2-City.mmdb.gz

归属地查询
https://www.gaizaoren.com/?p=2448

0、编写示例prom exporter

package main

import (
	"fmt"
	"net/http"
)

func HelloHandler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintln(w, "# HELP userip 用户IP分布")
	fmt.Fprintln(w, "# TYPE userip gauge")
	fmt.Fprintln(w, "userip{latitude=\"40.190632\",longitude=\"116.412144\",name=\"北京市\"} 20")
	fmt.Fprintln(w, "userip{latitude=\"31.2322758\",longitude=\"121.4692071\",name=\"上海市\"} 33")
	fmt.Fprintln(w, "userip{latitude=\"30.6667\",longitude=\"104.0667\",name=\"成都市\"} 10")

}

func main() {
	http.HandleFunc("/metrics", HelloHandler)
	http.ListenAndServe(":8000", nil)
}

1、格式化数据,用于prometheus拉数据

# HELP userip 用户IP分布
# TYPE userip gauge
userip{latitude="40.190632",longitude="116.412144",name="北京市"} 20
userip{latitude="31.2322758",longitude="121.4692071",name="上海市"} 33

2、配置world map
参考:https://blog.csdn.net/weixin_29057619/article/details/111316746

3、mac上执行命令修改国外地址
sed -i “_bak” ‘s/https://cartodb-basemaps{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png/http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png/’
grafana-worldmap-panel/src/worldmap.ts
grafana-worldmap-panel/dist/module.js
grafana-worldmap-panel/dist/module.js.map

sed -i “_bak” ‘s/https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png/http://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png/’
grafana-worldmap-panel/src/worldmap.ts
grafana-worldmap-panel/dist/module.js
grafana-worldmap-panel/dist/module.js.map

都弄好,测试部分图片还是有可能显示不出来,因为worldmap中的图片是从用户浏览器发出的。。。大部分都可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值