Grafana worldmap-panel 使用总结 with InfluxDB

Grafana worldmap panel 使用总结

  • worldmap 介绍
  • 如何使用
    • influxDB 表定义
    • Geohash 值怎么计算
    • Worldmap panel 配置 query 数据
    • 视图配置
  • Trouble shooting
    • worldmap-panel出现无法显示地图或者加载非常缓慢

worldmap 介绍

Grafana想必大家都非常熟悉了,不熟悉的话可以到 https://grafana.com/ 详细了解。
Grafana提供了很多插件,极大的方便了我们的开发工作。其中worldmap panel是一个重要的插件。
网址如下:
https://grafana.com/grafana/plugins/grafana-worldmap-panel
worldmap 提供了一个世界地图供我们使用,可以在地图上指定地点画一个圆周并显示相应的数据信息。
它支持各种主流数据源,例如Prometheus, InfluxDB, Graphite, Elasticsearch, MySQL etc.
它可以支持 Time Series 和 Table 两种数据格式。
本文主要总结worldmap与InfluxDB使用Table数据格式时的用法,Time Series 类似的,以后再分享。

如何使用

influxDB 表定义

基于influxDB, 首先要有表,假设表的数据结构如下:
name: execlocGeo
time distance geohash host latitude location longitude


1585706674000000000 19.1 wwmm5ck zd 36.042175 zhongde 120.054013

Geohash:经纬度的geohash值
Distance: 表示安全距离
Location:地点的名称

Geohash 值怎么计算

查询一个地址的geohash值和经纬度坐标
http://www.geohash.cn/ 基于高德地图

根据经纬度查询在不同地图上的位置并生成geohash
http://geohash.org/ 支持openstreetmap, google maps

注意,geohash.cn上查询到的geohash值在openstreetmap 上显示时,位置会有误差,需要对着地图使用临近区域的geohash值代替,手动调吧。所以,最好还是使用geohash.org.

Worldmap panel 配置 query 数据

需要用到的数据是geohash, distance, location, 可以给他们设置别名。
如果设置了别名,后面的配置中就要使用别名。
特别注意的,要使用table format, 所有要使用的字段要写在一个查询语句中。

具体的配置如下图:
Grafana worldmap-panel 使用总结 with InfluxDB_第1张图片

视图配置

Center表示视图中央显示的地图地点,可以手动输入经纬度坐标
Location Data 选择 table
FieldMapping 字段根据query数据时指定的名称填写。下面是例子:

Grafana worldmap-panel 使用总结 with InfluxDB_第2张图片

到此,配置差不多就完成了,看一下效果:
Grafana worldmap-panel 使用总结 with InfluxDB_第3张图片

Trouble shooting

第一次使用时,总会遇到各种各样的问题,这里列举一个

worldmap-panel出现无法显示地图或者加载非常缓慢

这是因为 worldmap使用的地图是openstreetmap, 默认使用的是下面网址:
https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png
https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png

可以替换为CartoDB basemaps。如何替换呢?

首先确认本地网络能正常访问, 输入网址 http://bl.ocks.org/Xatpy/raw/854297419bd7eb3421d0/
如果能正常显示地图,说明可以使用。

然后到grafana的plugins 目录,默认是/var/lib/grafana/plugins/grafana-worldmap-panel
先备份三个文件,然后修改
grafana-worldmap-panel\src\worldmap.ts
grafana-worldmap-panel\dist\module.js
grafana-worldmap-panel\dist\module.js.map

注意,这三个文件都要修改.

将: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
将: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: sudo systemctl restart grafana-server

你可能感兴趣的:(工业互联网+工业BI)