Worldmap插件的数据源的数据形式有两种,表数据和时间序列数据。表数据形式,需要每条记录都有geohash格式的经纬度坐标;时间序列数据形式,要求数据库表内的数据需要有指定的国家或城市的代码(如中国为CN)。
Worldmap可以支持多种数据源,不同的数据源支持的数据形式不同。支持时间序列数据显示的数据库有:Graphite、InfluxDB、OpenTSDB和Prometheus。支持表数据显示的数据库有InfluxDB和ElasticSearch。本篇文档以InfluxDB作为数据源为例,说明Worldmap插件的使用方法。
一、以表数据形式显示的使用方法
1.1 InfluxDB数据存储格式
InfluxDB存储的每一条数据的tag必须带有geohash格式的经纬度坐标,用于显示标记点的位置,host的数据用于显示标记点的名称,内容与geohash一一对应。Worldmap插件支持的最大坐标精度为7位数。示例数据如图1-1所示。
图1-1 InfluxDB示例数据
1.2 Metrics数据查询设置
在Grafana的Data Sources中添加InfluxDB数据源。Panel Data Source 选择相应InfluxDB数据源。添加查询语句,以经纬度坐标geohash和对应的城市名称host分组,对InfluxDB的数据进行count、sum等查询计算,查询内容设置别名为“metric”,作为面板显示的数据,数据显示格式Format as为Table。示例如图1-2所示。