Kibana - 使用区域地图



通过此可视化,您可以看到在地理世界地图上表示的数据。在本章中,让我们详细了解一下。

为区域地图创建索引

我们将创建一个新的索引来使用区域地图可视化。我们将上传的数据如下所示:

{"index":{"_id":1}}
{"country": "China", "population": "1313973713"}
{"index":{"_id":2}}
{"country": "India", "population": "1095351995"}
{"index":{"_id":3}}
{"country": "United States", "population": "298444215"}
{"index":{"_id":4}}
{"country": "Indonesia", "population": "245452739"}
{"index":{"_id":5}}
{"country": "Brazil", "population": "188078227"}
{"index":{"_id":6}}
{"country": "Pakistan", "population": "165803560"}
{"index":{"_id":7}}
{"country": "Bangladesh", "population": "147365352"}
{"index":{"_id":8}}
{"country": "Russia", "population": "142893540"}
{"index":{"_id":9}}
{"country": "Nigeria", "population": "131859731"}
{"index":{"_id":10}}
{"country": "Japan", "population": "127463611"}

请注意,我们将使用开发工具中的 _bulk 上传来上传数据。

现在,转到 Kibana 开发工具并执行以下查询:

PUT /allcountries
{
   "mappings": {
      "_doc": {
         "properties": {
            "country": {"type": "keyword"},
               "population": {"type": "integer"}
         }
      }
   }
}
POST /allcountries/_doc/_bulk?refresh
{"index":{"_id":1}}
{"country": "China", "population": "1313973713"}
{"index":{"_id":2}}
{"country": "India", "population": "1095351995"}
{"index":{"_id":3}}
{"country": "United States", "population": "298444215"}
{"index":{"_id":4}}
{"country": "Indonesia", "population": "245452739"}
{"index":{"_id":5}}
{"country": "Brazil", "population": "188078227"}
{"index":{"_id":6}}
{"country": "Pakistan", "population": "165803560"}
{"index":{"_id":7}}
{"country": "Bangladesh", "population": "147365352"}
{"index":{"_id":8}}
{"country": "Russia", "population": "142893540"}
{"index":{"_id":9}}
{"country": "Nigeria", "population": "131859731"}
{"index":{"_id":10}}
{"country": "Japan", "population": "127463611"}

接下来,让我们创建索引 allcountries。我们将国家字段类型指定为 **关键字**:

PUT /allcountries
{
   "mappings": {
      "_doc": {
         "properties": {
            "country": {"type": "keyword"},
            "population": {"type": "integer"}
         }
      }
   }
}

**注意** - 要使用区域地图,我们需要将用于聚合的字段类型指定为关键字。

Kibana region maps

完成后,使用 _bulk 命令上传数据。

Kibana using bulk

我们现在将创建索引模式。转到 Kibana 管理选项卡并选择创建索引模式。

Kibana Management tab

以下是 allcountries 索引中显示的字段。

displayed allcountries index

区域地图入门

我们现在将使用区域地图创建可视化。转到可视化并选择区域地图。

visualization_using_Region_Maps

完成后,选择索引为 *allcountries* 并继续。

选择聚合指标和桶指标,如下所示:

Select Aggregation Metrics

Bucket Metrics

在这里,我们选择了国家字段,因为我想在世界地图上显示它。

区域地图的矢量地图和连接字段

对于区域地图,我们还需要选择选项卡,如下所示:

Vector Map

选项卡具有在世界地图上绘制数据所需的图层设置配置。

矢量地图具有以下选项:

Vector Map options

在这里,我们将选择世界各国,因为我拥有国家数据。

连接字段具有以下详细信息:

Join Field

在我们的索引中,我们有国家名称,因此我们将选择国家名称。

在样式设置中,您可以选择要为国家/地区显示的颜色:

Style settings

我们将选择红色。我们将不会更改其余的详细信息。

现在,单击分析按钮以查看绘制在世界地图上的国家/地区的详细信息,如下所示:

click Analyze button

在 Kibana 中自托管矢量地图和连接字段

您还可以为矢量地图和连接字段添加您自己的 Kibana 设置。为此,请从 kibana 配置文件夹转到 kibana.yml 并添加以下详细信息:

regionmap:
   includeElasticMapsService: false
   layers:
      - name: "Countries Data"
      url: "https:///kibana/worldcountries.geojson"
      attribution: "INRAP"
      fields:
         - name: "Country"
         description: "country names"

选项卡中的矢量地图将填充以上数据,而不是默认数据。请注意,给定的 URL 必须启用 CORS,以便 Kibana 可以下载它。使用的 json 文件应以坐标连续的方式。例如:

https://vector.maps.elastic.co/blob/5659313586569216?elastic_tile_service_tos=agree

当区域地图矢量地图详细信息为自托管时,选项卡如下所示:

vector map details
广告
© . All rights reserved.