我在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 |
…
谁能告诉我发生了什么事?
最佳答案
您的贡献帮助了WorldMap。
并且我会尽力为您解决问题(不幸的是,它仍然不是完美的,因为当鼠标被击中时会显示“ n / a”)。
第一:我的源数据来自Postgresql。我有一张桌子,我在那里保持坐标
Coordinates Table
第二:我的SQL查询是:
SQL query和查询结果:result
第三:我的世界地图设置
worldmap settings
FINALe:工作世界地图
REsULT