Kibana:如何使用 Kibana 可视化地理位置数据
Posted Elastic 中国社区官方博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kibana:如何使用 Kibana 可视化地理位置数据相关的知识,希望对你有一定的参考价值。
在今天的文章中,我讲一下如何使用 Kibana 可视化地理数据。在我之前有些文章已经介绍过许多这方面的。在这篇文章中,给一些还不是很熟悉的开发者做个简单的介绍。首先我们必须清楚在我们的索引中,必须含有一个叫做 geo_point 类型的字段。比如:
GET kibana_sample_data_logs/_mapping
{
"kibana_sample_data_logs" : {
"mappings" : {
"properties" : {
"@timestamp" : {
"type" : "alias",
"path" : "timestamp"
},
...
"geo" : {
"properties" : {
"coordinates" : {
"type" : "geo_point"
},
"dest" : {
"type" : "keyword"
},
"src" : {
"type" : "keyword"
},
"srcdest" : {
"type" : "keyword"
}
}
},
...
}
}
}
}
这个是表示地理位置的。如果你对这个数据类型不是很熟的话,请参阅我之前的文章 “理解 Elastic Maps 中的 geohash 及其聚合”。
在今天的例子中,我将使用 Elastic Stack 7.13,并使用 Kibana 中自带的索引来进行展示。
准备数据
打开 Kibana:
这样在 Elasticsearch 中,我们可以看到一个叫做 kibana_sample_data_logs 的索引。这索引含有一个叫做 geo.coordinates 的 geo_point 数据类型:
可视化地理位置数据
接下来,我们使用 Maps 应用来对地理位置进行可视化:
在地图应用中,我们可以通过 Add layer 来添加不同的层。这些层的位置也可以从上到下进行调整,也可以选择让它们在不同的 zoom 级别可见或者不可见。这个都是我们可以控制的。
我们选择好时间过滤器。Kibana 会自动选择 geo.coordinates 作为 Geospatial field 的默认值。点击上面的 Add layer:
点击上面的 Save & close:
当我们把 zoom 的级别放大到5倍时,我们才可以看到上面的图。
接下来,我们添加另外一个 layer。我们想显示每个国家的情况。颜色的深浅代表该国文档数目的多少。
上面的 ISO 3166-1 alpha-2 code 指的是两个字母代表的国家编码,比如 US,CN, IN 等。我们其实可以在 kibana_sample_data_logs 里查看一下文档:
从上面,我们可以看出 geo.dest 及 geo.src 是以 ISO 3166-1 alpha-2 code 形式出现的。我们可以通过这个进行关联文档,并在 World Countries 地图中进行显示:
点击上面的 Save & close。这样我们就生产了两层的地图:
当然我们也可以针对它们取不同的名字。我们甚至可以调节它们的上下层关系。当我们把 zoom 级别调低时,我们只看到 World Countries 这个层。当我们把 zoom 级别调高至高于5时,我们可以看到文档的更为详细的情况。在这种情况下,World Countries 这个层就不见了:
好了。今天关于地理位置可视化的教程就先讲到这里。你们可以添加任意一个你们想要的层到地图应用中,并生成你们想要的地图应用。
以上是关于Kibana:如何使用 Kibana 可视化地理位置数据的主要内容,如果未能解决你的问题,请参考以下文章
Kibana:圣诞老人使用 Kibana Dashboards 驾驶他的雪橇!