79bob在线下载 >世界地图面板
Worldmap面板
Grafana的世界地图面板插件
Worldmap Panel是一个世界的平铺地图,可以用表示查询数据点的圆圈覆盖。它可以与时间序列度量、Elasticsearch的geohash数据或Table格式的数据一起使用。
世界地图是如何运作的(理论和例子)
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
(或相应的日期字段)。
时间序列数据的映射数据选项
在Worldmap选项卡下,选择国家
或州
选择。
使用JSON端点返回自定义的位置列表:
这里使用的端点用于worldPing -的演示版本https://worldpingdemo.grafana.net/api/plugin-proxy/raintank-worldping-app/api/v2/probes/locations.如果您定义了自己的端点,那么它必须可以从客户端访问,因为它是由客户端的浏览器访问的。
使用JSONP端点(如果你需要包装JSON来解决CORS问题):
有关排除JSON/JSONP故障的详细信息,请检查# 47.
geohash作为数据源
支持数据库:
- ElasticSearch
的Geo-pointElasticsearch中带有geohash索引的数据类型也可以用作worldmap面板的数据源。Grafana为Elasticsearch查询提供了一个新的桶聚合——Geo Hash Grid,它允许对坐标进行分组。Geo Hash Grid有一个精度选项,其中1是最高级别,7是最低级别。
ElasticSearch查询需要提供三个字段:
- 一个度量。这是自由文本,应该匹配使用的聚合(计数,平均,和,唯一计数等)。
- 位置名称(可选-如果未选中将显示geohash值)
- 提供geohash值的Geo_point字段。
表格数据作为数据源
支持数据库:
- InfluxDB
- Elasticsearch
- MySQL, Postgres, MSSQL
- 任何可以返回表格格式数据的数据库
如果数据源可以返回表数据,那么在Grafana的Metrics选项卡上选择格式
表选择。
带有Geohash列的表数据
与上面的Elasticsearch查询类似,需要3个字段(其中2个是必须的)
- 一个度规字段。这用于给圆赋一个值并确定圆的大小。
- 一个geohash字段。这是用来计算圆应该画在哪里。
- 可选的位置名称字段(在鼠标上方显示)。用于标记地图上的每个圆。如果为空,则使用geohash值作为标签。
字段映射必须在Worldmap设置选项卡上指定。
带有经纬度列的表数据
Table Data格式也可以使用两列来表示经度和纬度,而不是geohash列。
- 一个度规字段。这用于给圆赋一个值并确定圆的大小。
- 纬度/经度字段。它们被用来计算圆应该画在哪里。
- 可选的位置名称字段(在鼠标上方显示)。用于标记地图上的每个圆。如果为空,则使用geohash值作为标签。
JSON结果作为数据源
支持数据库:
- 曲速10经grafana-warp10-datasource插件
它支持任何能够生成带有自定义位置列表的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 Advanced / Grafana Enterprise
- 可与Grafana Cloud Advanced计划或Grafana Enterprise许可证一起使用
- 访问所有企业插件
- 在您自己的基础架构上运行完全管理或自我管理
在Grafana Cloud上安装Worldmap面板:
在Grafana Cloud实例上安装插件是一键式安装;更新也是一样。很酷,对吧?
注意,可能需要1分钟才能看到插件显示在Grafana中。
在Grafana Cloud实例上安装插件是一键式安装;更新也是一样。很酷,对吧?
注意,可能需要1分钟才能看到插件显示在Grafana中。
在Grafana Cloud实例上安装插件是一键式安装;更新也是一样。很酷,对吧?
注意,可能需要1分钟才能看到插件显示在Grafana中。
在Grafana Cloud实例上安装插件是一键式安装;更新也是一样。很酷,对吧?
注意,可能需要1分钟才能看到插件显示在Grafana中。
在Grafana Cloud实例上安装插件是一键式安装;更新也是一样。很酷,对吧?
注意,可能需要1分钟才能看到插件显示在Grafana中。
欲了解更多信息,请访问docs插件安装.
安装在本地Grafana上:
对于本地实例,通过一个简单的CLI命令安装和更新插件。插件不会自动更新,但是当您的Grafana中有更新可用时,您会收到通知。
1.安装面板
使用grafana-cli工具从命令行安装Worldmap Panel:
安装Grafana-cli插件
插件将被安装到你的grafana plugins目录中;默认是/var/lib/grafana/plugins.关于cli工具的更多信息.
2.将面板添加到仪表板
安装的面板可以立即在Grafana主菜单的Dashboards部分中找到,并且可以像Grafana中的任何其他核心面板一样添加。
要查看已安装面板的列表,请单击插件项目在主菜单。核心面板和已安装的面板都会出现。
更新日志
条目
v0.3.0
- 带有插件签名的Grafana 7.0版本
v0.2.1
v0.2.0
- 转换为TypeScript, webpack和Jest
- 使用纱线在CircleCI
- 添加缺失的开发依赖项
- 调整渲染高度错误,这在Grafana 6.0中很常见
v0.1.2
v0.1.1
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
- 修正了Grafana的变化使用Geohash或Table Data破坏Worldmap面板.
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国家数据库。