79bob在线下载 >世界地图面板

面板
grafana

Worldmap面板

  • 概述
  • 安装
  • 更改日志
  • 相关内容

Grafana的世界地图面板插件

Worldmap Panel是一个世界的平铺地图,可以用表示查询数据点的圆圈覆盖。它可以与时间序列度量、Elasticsearch的geohash数据或Table格式的数据一起使用。

Worldmap

世界地图是如何运作的(理论和例子)

Worldmap面板需要两个数据来源:

  • 位置(经纬度)
  • 与某个位置有链接的数据

数据来自一个数据库查询:Prometheus, InfluxDB, Graphite, Elasticsearch, MySQL等。它可以是时间序列格式,也可以是表格格式。

时间序列格式

如果是在时间序列格式然后,度量名称需要匹配位置列表中的一个键。该键通常是国家代码或城市名称。位置列表可以来自文件或HTTP端点。

地点列表可以通过几种方式提供:

  • 带有位置和坐标的json文件(该插件包括国家和美国州的列表)
  • 返回位置及其坐标列表的Json端点

时间序列数据包含时间戳、度量名称和数值。换句话说,这是一个针对时间序列数据库的典型查询。以下是来自Graphite的一些时间序列数据:

[{“目标”:“本身”,“点”:[[183255.0,1529755200]]},{“目标”:“我们”,“点”:[[192224.0,1529755200]]}]

位置数据应该是JSON格式的,应该是一个JSON对象数组,具有四个属性:

[{"key": "SE", "latitude": 60.128161, "longitude": 18.643501, "name": "Sweden"}, {"key": "US", "latitude": 37.09024, "longitude": -95.712891, "name": "United States"}]

然后,Worldmap将把度量名称(示例数据中的目标)与位置数据中的关键字段相匹配。对于这个示例数据,将在地图上绘制两个圆,一个代表瑞典,一个代表美国,值分别为183255和192224。

表格格式

如果数据在表格格式然后它应该有一个geohash列或两个包含经纬度的列(以及用于数据的列)。

表数据是包含列和行的表格数据。以下是来自InfluxDB的表格数据示例:

"series": [{"name": "login . "Count ", "tags": {"geohash": "9wvfgzurfzb"}, "columns": ["time", "metric"], "values": [[1529762933815, 75.654324173059]]}]

此查询包含两个数据(值75.654324173059)和一个位置(geohash9 wvfgzurfzb位于科罗拉多州)。因此,使用这些,Worldmap面板将在美国科罗拉多州画一个圆,值为75.654324173059。

以时间序列数据为数据源

支持数据库:

  • 石墨
  • InfluxDB
  • OpenTSDB
  • 普罗米修斯
  • MySQL
  • Postgres
  • 该软件
  • Elasticsearch

以下位置文件包含在插件中:

  • 国家(2个字母代码)
  • 国家(3个字母代码)
  • 美国

或者,你可以使用以下方法提供你自己的位置列表:

  • 返回位置列表的JSON端点
  • 返回位置列表的JSONP端点

这是通过将国家代码(如US、GB或FR)或美国州代码(TX或NY)与度量名称匹配来实现的。如果度量名称与国家列表中的国家匹配,则在该位置画一个圈。

如果您希望匹配除国家或州以外的其他数据,则必须提供自定义位置数据。目前的方法是通过JSON端点返回一个带有位置数据的JSON文件(参见地图数据选项)

圆的大小取决于匹配的度量值。圆圈的大小是相对的,例如,如果你有3个国家,它们的值分别是1、2和3或100、200和300,那么你会得到一个小圆圈、一个中圆和一个大圆圈。

时间序列-石墨和InfluxDB

下面是一些时间序列查询的例子

石墨查询

使用aliasByNode函数指向包含国家代码的字段。参见下图中的石墨查询示例。

石墨查询国家

使用石墨查询的Worldmap示例指示板格拉弗纳演出场地

InfluxDB查询

Group By子句应该是国家代码,还需要别名。别名应该在表单中美元tag_ <字段名称>

国家人口流入查询

Elasticsearch查询国家

在包含国家代码的字段上使用Group By子句,并使用带有日期直方图By的Then By子句@timestamp(或相应的日期字段)。

Elasticsearch查询国家

时间序列数据的映射数据选项

在Worldmap选项卡下,选择国家选择。

各国的世界地图选项

使用JSON端点返回自定义的位置列表:

JSON的Worldmap选项

这里使用的端点用于worldPing -的演示版本https://worldpingdemo.grafana.net/api/plugin-proxy/raintank-worldping-app/api/v2/probes/locations.如果您定义了自己的端点,那么它必须可以从客户端访问,因为它是由客户端的浏览器访问的。

使用JSONP端点(如果你需要包装JSON来解决CORS问题):

JSONP的世界地图选项

有关排除JSON/JSONP故障的详细信息,请检查# 47

geohash作为数据源

支持数据库:

  • ElasticSearch

Geo-pointElasticsearch中带有geohash索引的数据类型也可以用作worldmap面板的数据源。Grafana为Elasticsearch查询提供了一个新的桶聚合——Geo Hash Grid,它允许对坐标进行分组。Geo Hash Grid有一个精度选项,其中1是最高级别,7是最低级别。

Elasticsearch查询世界地图

ElasticSearch查询需要提供三个字段:

  • 一个度量。这是自由文本,应该匹配使用的聚合(计数,平均,和,唯一计数等)。
  • 位置名称(可选-如果未选中将显示geohash值)
  • 提供geohash值的Geo_point字段。

Elasticsearch查询世界地图

表格数据作为数据源

支持数据库:

  • InfluxDB
  • Elasticsearch
  • MySQL, Postgres, MSSQL
  • 任何可以返回表格格式数据的数据库

如果数据源可以返回表数据,那么在Grafana的Metrics选项卡上选择格式表选择。

带有Geohash列的表数据

与上面的Elasticsearch查询类似,需要3个字段(其中2个是必须的)

  • 一个度规字段。这用于给圆赋一个值并确定圆的大小。
  • 一个geohash字段。这是用来计算圆应该画在哪里。
  • 可选的位置名称字段(在鼠标上方显示)。用于标记地图上的每个圆。如果为空,则使用geohash值作为标签。

字段映射必须在Worldmap设置选项卡上指定。

使用实例fluxdb查询

带有经纬度列的表数据

Table Data格式也可以使用两列来表示经度和纬度,而不是geohash列。

  • 一个度规字段。这用于给圆赋一个值并确定圆的大小。
  • 纬度/经度字段。它们被用来计算圆应该画在哪里。
  • 可选的位置名称字段(在鼠标上方显示)。用于标记地图上的每个圆。如果为空,则使用geohash值作为标签。

JSON结果作为数据源

支持数据库:

它支持任何能够生成带有自定义位置列表的JSON响应的数据源(与JSON端点的格式相同)。

地图数据选项

位置数据

为worldmap面板提供数据的方法有四种:

  • 国家这是一张世界上所有国家的名单。它的工作原理是将国家代码(US、FR、AU)与时间序列查询中的节点别名匹配。
  • :类似于国家,但在美国的州,例如CA的加州
  • geohash:一个返回geohash的ElasticSearch查询。
  • json:返回自定义json的json端点。格式的例子有第一个选项中使用的国家数据以下是城市列表
  • jsonp:一个返回自定义json包装为jsonp的jsonp端点。如果您在使用CORS时遇到问题,请使用此方法。
  • 表格:这期望度量查询返回一个名为geohash的字段或两个名为geohash的字段/列的数据点纬度而且经度.的字符串中包含一个字符串geohash形式.例如:London -> "gcpvh3zgu992"。

聚合

如果你选择国家表格作为位置数据的来源,你可以在这里选择一个聚合:avg, total等。

对于Graphite,请注意Max Data Points的默认值是1。这是以最精确的方式将每个国家的数据点汇总为一个值。默认情况下,这将按平均值合并。要更改合并,可以像这样使用consolidateBy函数:

石墨固化剂

或者只是从最大数据点字段中删除1,并使用地图数据选项中的整合功能(尽管取决于时间范围和数据点的数量,由于石墨整合,这通常不太准确)。

最大数据点

ES度量/位置名称/geo_point字段

ElasticSearch查询需要提供三个字段。它们是文本字段,应该是Metrics选项卡下查询的字段名。

  • Elasticsearch中的度量是平均总和等。
  • Location Name是给圆圈命名的字段。如果为空,则在弹出窗口中显示geohash值而不是位置。
  • geo_point是提供geohash值的GeoHashGrid字段。

地图可视选项设置

中心

此设置配置映射的默认中心。有5个中心可供选择,或者您可以选择一个自定义中心或最后一个GeoHash中心。对于自定义中心,有两个字段:纬度和经度。值的例子是37.09024,-95.712891(美国中部)或55.378051,-3.435973(英国)。最后一个GeoHash中心将以从数据接收到的最后一个GeoHash为中心的映射。

初始缩放

地图的初始缩放因子。这是一个介于1到18之间的值,其中1是缩小最多的。

最小圆尺寸

这是以像素为单位的圆的最小大小。

最大圆尺寸

这是以像素为单位的圆的最大大小。根据缩放级别的不同,您可能需要较大或较小的最大圆大小,以避免重叠。

单位

当你将鼠标悬停在一个圆上时,单位会显示在弹出窗口中。有两个字段:单数形式和复数形式。例如visit/访问或error/错误

显示的传说

显示/隐藏左下方显示阈值范围及其相关颜色的图例。

阈值的选择

阈值控制圆的颜色。

如果指定一个值,则使用两种颜色。例如,如果阈值设置为10,那么小于10的值将获得第一个颜色,大于或等于10的值将获得第二个颜色。

阈值字段还接受两个或多个逗号分隔的值。例如,如果您有2个值,表示对应于3种颜色的3个范围。例如:如果阈值是70,90,那么第一种颜色表示< 70,第二种颜色表示70到90之间,第三种颜色表示> 90。

更新日志

最新的变化可以在这里找到:CHANGELOG.md

在Grafana Cloud上安装Worldmap面板:

欲了解更多信息,请访问docs插件安装

更新日志

条目

v0.3.0

  • 带有插件签名的Grafana 7.0版本

v0.2.1

  • 修复了编辑模式下所有内容消失的错误处理,# 213
  • 修复第一次渲染时的局部(不是全高度)地图# 212

v0.2.0

  • 转换为TypeScript, webpack和Jest
  • 使用纱线在CircleCI
  • 添加缺失的开发依赖项
  • 调整渲染高度错误,这在Grafana 6.0中很常见

v0.1.2

v0.1.1

  • 包含经纬度列的表数据的新映射选项。# 144谢谢@kylios
  • 对于无法将列别名/重命名为Worldmap面板所期望的名称的数据源,表数据的更多映射选项。度规对于米制列)
  • 自述文件更新

v0.1.0

v0.0.21

  • 支持新的数据源集成,动态JSON端点# 103,谢谢@LostInBrittany
  • 修复了在阈值中使用浮动的问题# 79,谢谢@fabienpomerol
  • 修复了新创建的世界地图面板溢出边界的问题。
  • 修复图例css
  • 关闭鼠标滚轮变焦

v0.0.20

小的修复。

v0.0.19

修复了Grafana 4.5中Elasticsearch geohash映射的错误。

v0.0.18

  • 修复国家位置数据中的一些坐标。
  • 最后一个Geohash作为地图的中心——它将地图以接收到的最后一个Geohash位置为中心。用于实时跟踪(在Grafana中自动刷新)。

v.0.0.17

  • 添加带有3个字母国家代码的国家数据。

v.0.0.16

  • 可选择粘性标签。修复https://github.com/grafana/worldmap-panel/issues/27

  • 隐藏null或0值的能力。修复https://github.com/grafana/worldmap-panel/issues/13

  • 背景颜色变化。修复https://github.com/grafana/worldmap-panel/issues/36

  • 实现的动态阈值山姆哈契.现在可以有2个以上的阈值。谢谢!修复https://github.com/grafana/worldmap-panel/issues/25

  • 选项字段的验证和默认值。修复https://github.com/grafana/worldmap-panel/issues/29

v.0.0.15

v.0.0.14

v.0.0.13

  • 新的位置数据选项->表数据。位置数据现在可以来自石墨和Elasticsearch以外的数据源(例如,InfluxDb)。关于如何使用它,请参见上面的表数据说明。

v.0.0.12

v.0.0.11

  • 缩放问题修复,并增加了美国州位置数据的州选项。

v.0.0.10

  • 快照的性能修复。将maxdatpoints设置为1,以最小化需要保存在快照中的数据。

v.0.0.9

  • 修复了在编辑器中更改位置数据后不刷新的错误。它需要刷新页面来重新加载它。

v.0.0.8

  • 快照时在仪表板json中保存位置数据。这意味着即使使用自定义端点返回位置数据json文件,快照也可以工作。

v.0.0.7

  • 更新瓷砖地图url到https,以避免https网站上的混合内容警告。

v.0.0.6

  • 在圆弹窗中为数据值添加了小数位选项。

v.0.0.5

  • 为位置数据增加了对json和jsonp端点的支持。

v0.0.4

  • 修复快照。

v0.0.3

  • 对非elasticsearch数据源支持小写国家代码。

v0.0.2

  • 修复了在国家数据中找不到国家代码的时间序列使面板崩溃的错误。
  • 向国家数据添加一些额外的国家代码,使其更类似于MaxMind国家数据库。