Kibana - Trabajar con mapa de región
Con esta visualización, verá los datos representados en el mapa mundial geográfico. En este capítulo, veamos esto en detalle.
Crear índice para mapa de región
Crearemos un nuevo índice para trabajar con la visualización de mapas de regiones. Aquí se muestran los datos que vamos a subir -
{"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"}
Tenga en cuenta que usaremos _bulk upload en las herramientas de desarrollo para cargar los datos.
Ahora, vaya a Kibana Dev Tools y ejecute las siguientes consultas:
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"}
A continuación, creemos un índice de todos los países. Hemos especificado el tipo de campo de país comokeyword -
PUT /allcountries
{
"mappings": {
"_doc": {
"properties": {
"country": {"type": "keyword"},
"population": {"type": "integer"}
}
}
}
}
Note - Para trabajar con mapas de región, necesitamos especificar el tipo de campo que se utilizará con la agregación como tipo como palabra clave.
Una vez hecho esto, cargue los datos usando el comando _bulk.
Ahora crearemos un patrón de índice. Vaya a la pestaña Administración de Kibana y seleccione crear patrón de índice.
Estos son los campos que se muestran en el índice de todos los países.
Introducción a los mapas de regiones
Ahora crearemos la visualización usando mapas de región. Vaya a Visualización y seleccione Mapas de región.
Una vez hecho esto, seleccione el índice como todos los países y continúe.
Seleccione Métricas de agregación y Métricas de depósito como se muestra a continuación:
Aquí hemos seleccionado el campo como país, ya que quiero mostrar lo mismo en el mapa mundial.
Mapa de vectores y campo de unión para mapa de región
Para los mapas de región, también debemos seleccionar las pestañas de opciones como se muestra a continuación:
La pestaña de opciones tiene la configuración de Configuración de capa que se requiere para trazar los datos en el mapa mundial.
Un mapa vectorial tiene las siguientes opciones:
Aquí seleccionaremos países del mundo ya que tengo datos de países.
El campo de unión tiene los siguientes detalles:
En nuestro índice tenemos el nombre del país, por lo que seleccionaremos el nombre del país.
En la configuración de Estilo, puede elegir el color que se mostrará para los países:
Seleccionaremos Rojos. No tocaremos el resto de detalles.
Ahora, haga clic en el botón Analizar para ver los detalles de los países trazados en el mapa mundial como se muestra a continuación:
Mapa vectorial autohospedado y campo de unión en Kibana
También puede agregar su propia configuración de Kibana para el mapa vectorial y el campo de unión. Para hacer eso, vaya a kibana.yml desde la carpeta de configuración de kibana y agregue los siguientes detalles:
regionmap:
includeElasticMapsService: false
layers:
- name: "Countries Data"
url: "http://localhost/kibana/worldcountries.geojson"
attribution: "INRAP"
fields:
- name: "Country"
description: "country names"
El mapa vectorial de la pestaña de opciones tendrá los datos anteriores rellenados en lugar de los predeterminados. Tenga en cuenta que la URL proporcionada debe estar habilitada para CORS para que Kibana pueda descargar la misma. El archivo json utilizado debe ser de tal manera que las coordenadas estén en continuación. Por ejemplo
https://vector.maps.elastic.co/blob/5659313586569216?elastic_tile_service_tos=agreeLa pestaña de opciones cuando los detalles del mapa vectorial del mapa de región son autohospedados se muestra a continuación: