0

我正在将 Grafana 与 Prometheus 一起使用,并希望使用 World Map 插件:我的想法是我有几个地理点和一些我想用 World Map 可视化的值。

从 prometheus 返回的数据示例具有以下结构: 普罗米修斯结构

我还编辑了probes.json 并且100% 确保世界地图插件正在使用我自定义的probes.json 文件。这是它的一部分:

…
{
“key”: “taipei”,
“latitude”: 25.105497,
“longitude”: 121.597366,
“name”: “Taipei”
},
{
“key”: “tokyo”,
“latitude”: 35.652832,
“longitude”: 139.839478,
“name”: “Tokyo”
},
{
“key”: “y1918”,
“latitude”: 53.717564,
“longitude”: 91.429317,
“name”: “ABAKAN”
},
{
“key”: “szvpz”,
“latitude”: 44.993166,
“longitude”: 41.103135,
“name”: “ARMAVIR”
},
{
“key”: “ugkz7”,
“latitude”: 64.5562829,
“longitude”: 40.5962809,
“name”: “ARKHANGELSK”
},
{
“key”: “v04pt”,
“latitude”: 46.3432541,
“longitude”: 47.933211,
“name”: “ASTRAKHAN”
},
…

这是 Grafana 设置: 格拉法纳设置

我没有收到错误,但地图上没有圆圈,我做错了什么?如果这是我遇到问题的原因,我应该从 prometheus 向 grafana 提供哪些数据?添加图例格式“{{geohash}}”也无济于事。

4

2 回答 2

1

根据World Panel 文档,Prometheus 不直接支持 geohashes 作为数据源,仅支持国家和州。

但是,如果您还提供带有位置数据的自定义 json 文件来解析它们,那么无论如何您都可以使用它们。

首先,配置您的 Prometheus 数据源并输入您的查询。确保您将图例设置为{{ whatever your geohash field in the Prometheus timeseries is }}. 如果我没有图例,设置则不会显示任何内容。

现在转到“Worldmap”选项卡并将下拉菜单设置为“json endpoint”,并将 URL 指向您将 json 文件与映射一起保存的任何位置。

确保它是有效的 json,并确保网络服务器设置正确的 CORS 标头,以便您的浏览器可以加载文件(通过网络检查器选项卡确认)。

现在刷新地图,您应该会看到您的数据点。

于 2018-03-22T04:28:58.367 回答
0

我在grafana 社区论坛中得到了答案,并将在此处重新发布,以便人们可以找到他们是否需要它。因此,带有 Prometheus 的 Grafana 的 World Map Plugin 似乎支持 geohash,尽管它不是用 doc 编写的。

要使其工作,您必须输入正确的设置,我从 Prometheus 提供的数据是正确的。首先,您需要将指标格式化为表格:

指标 在 Worldmap 面板中,您应该输入以下数据:

在此处输入图像描述

要使 ES Metric Field 与 geohash 一起使用,您始终应该输入“Value”,ES Location Name Field 是您从哪里获取点名称,ES geo_point Filed 您从哪里获取数据 geohash 值。我从 Prometheus 获得的数据可以在问题部分中找到。

于 2018-03-22T11:54:21.023 回答