Kibana - Lavorare con la mappa della regione

Con questa visualizzazione, vedi i dati rappresentati sulla mappa geografica del mondo. In questo capitolo, vediamo questo in dettaglio.

Crea indice per mappa regionale

Creeremo un nuovo indice per lavorare con la visualizzazione della mappa della regione. I dati che andremo a caricare sono mostrati qui -

{"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"}

Tieni presente che utilizzeremo _bulk upload negli strumenti di sviluppo per caricare i dati.

Ora vai su Kibana Dev Tools ed esegui le seguenti query:

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"}

Successivamente, creiamo index allcountries. Abbiamo specificato il tipo di campo del paese comekeyword -

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

Note - Per lavorare con le mappe regionali, dobbiamo specificare il tipo di campo da utilizzare con l'aggregazione come tipo come parola chiave.

Al termine, carica i dati utilizzando il comando _bulk.

Creeremo ora un modello di indice. Vai alla scheda Gestione Kibana e seleziona Crea modello indice.

Ecco i campi visualizzati dall'indice di tutti i paesi.

Guida introduttiva alle mappe regionali

Creeremo ora la visualizzazione utilizzando le mappe regionali. Vai a Visualizzazione e seleziona Mappe regionali.

Una volta fatto, seleziona index come allcountries e procedi.

Seleziona Metriche di aggregazione e Metriche di bucket come mostrato di seguito -

Qui abbiamo selezionato il campo come paese, poiché voglio mostrare lo stesso sulla mappa del mondo.

Mappa vettoriale e unisciti al campo per la mappa della regione

Per le mappe regionali dobbiamo anche selezionare le schede delle opzioni come mostrato di seguito:

La scheda delle opzioni ha la configurazione delle impostazioni dei livelli che sono necessarie per tracciare i dati sulla mappa del mondo.

Una mappa vettoriale ha le seguenti opzioni:

Qui selezioneremo i paesi del mondo poiché ho i dati dei paesi.

Il campo Join ha i seguenti dettagli:

Nel nostro indice abbiamo il nome del paese, quindi selezioneremo il nome del paese.

Nelle impostazioni dello stile puoi scegliere il colore da visualizzare per i paesi -

Selezioneremo i rossi. Non toccheremo il resto dei dettagli.

Ora, fai clic sul pulsante Analizza per vedere i dettagli dei paesi tracciati sulla mappa del mondo come mostrato di seguito -

Mappa vettoriale self-hosted e Join Field in Kibana

Puoi anche aggiungere le tue impostazioni Kibana per la mappa vettoriale e il campo di unione. Per farlo vai su kibana.yml dalla cartella di configurazione di kibana e aggiungi i seguenti dettagli:

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

La mappa vettoriale dalla scheda delle opzioni avrà i dati sopra popolati invece di quelli predefiniti. Tieni presente che l'URL fornito deve essere abilitato a CORS in modo che Kibana possa scaricare lo stesso. Il file json utilizzato dovrebbe essere in modo tale che le coordinate siano in continuazione. Ad esempio:

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

La scheda delle opzioni quando i dettagli della mappa vettoriale della mappa regionale sono ospitati autonomamente è mostrata di seguito: