Я использую панель карты мира на 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 |
...
Может кто-нибудь обратиться ко мне, что происходит?