Grafana Worldmap面板:mysql中的经度和纬度无法在地图上显示点

时间:2019-01-15 07:27:11

标签: mysql latitude-longitude grafana

我在Grafana v5.4.2上使用了世界地图面板,我的数据源是mysql数据库,并且我有一些ip地址,城市和位置字符串以及经度和纬度,我想显示地图的城市名称ip地址,该值将是属于一个城市的ip地址计数,以下是我的sql:

SELECT
    any_value(city.city) as metric,
    count(ip.loc) as value,
    CAST(substring(ip.loc, 1, INSTR(ip.loc, “,”) - 1) AS DECIMAL(10,6)) as latitude,
    CAST(substring(ip.loc, INSTR(ip.loc, “,”) + 1) AS DECIMAL(10,6)) as longitude,
    UNIX_TIMESTAMP(now()) as time_sec
FROM ip
    inner join city on city.ctid = ip.ctid
WHERE ip.iptype & 2
group by ip.loc

我可以使用sql查询获得响应,响应类似于以下内容,但地图上没有任何显示:

xhrStatus:“complete”
request:Object
method:“POST”
url:“api/tsdb/query”
data:Object
from:“1541896435220”
to:“1547534884686”
queries:Array[1]
response:Object
results:Object
A:Object
refId:“A”
meta:Object
series:Array[516]
0:Object
1:Object
2:Object
3:Object
    name:“巴西 巴西 value”
    points:Array[1]
        0:Array[1,1547534884000]
4:Object
5:Object
6:Object
7:Object

...

以下是mysql的裁决结果:
±--------±-------±----------±-----------±--------- -+
|指标|价值|纬度|经度| time_sec |
±--------±-------±----------±-----------±--------- -+
|巴西巴西| 1 | -14.242900 | -54.387798 | 1547535460 |
|巴西圣保罗州圣保罗| 1 | -23.550520 | -46.633309 | 1547535460 |
|新加坡新加坡| 16 | 1.352083 | 103.819836 | 1547535460 |
|越南越南| 1 | 10.768451 | 106.694363 | 1547535460 |
|柬埔寨柬埔寨| 7 | 12.547730 | 104.983856 | 1547535460 |

有人能告诉我发生了什么事吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

您的贡献帮助了WorldMap。 并且我会尽力为您解决问题(不幸的是,它仍然不完美,因为当鼠标指向该点时会显示“ n / a”)。

首先:我的源数据来自Postgresql。我有一张桌子,我在那里保持坐标 Coordinates Table

第二:我的SQL查询是: SQL query和查询结果:result

第三:我的世界地图设置 worldmap settings

决赛:可行的世界地图 REsULT

答案 1 :(得分:0)

在将“格式为”更改为“表格”,并从我的sql中删除“指标”后,它将在地图上打印点。 不幸的是,它仍然不是完美的,因为当鼠标点击这些点时会显示“ n / a”,我期望像城市名称这样的东西,这就是为什么我将城市作为度量标准...需要更多调查...