Visualizzare i dati da Azure Esplora dati in Kibana con il connettore open source K2Bridge

K2Bridge (Kibana-Kusto Bridge) consente di usare Azure Esplora dati come origine dati e visualizzare i dati in Kibana. K2Bridge è un'applicazione open source, in contenitori. Funge da proxy tra un'istanza di Kibana e un cluster di Azure Esplora dati. Questo articolo descrive come usare K2Bridge per creare tale connessione.

K2Bridge converte le query Kibana in Linguaggio di query Kusto (KQL) e invia i risultati di Azure Esplora dati a Kibana.

Connessione Kibana con Azure Esplora dati tramite K2Bridge.

K2Bridge supporta le schede Individuazione, visualizzazione e dashboard di Kibana.

Con la scheda Individua è possibile:

  • Cercare ed esplorare i dati.
  • Filtra i risultati.
  • Aggiungere o rimuovere campi nella griglia dei risultati.
  • Visualizzare il contenuto del record.
  • Salvare e condividere le ricerche.

Con la scheda Visualizza è possibile:

  • Creare visualizzazioni come: grafici a barre, grafici a torta, tabelle dati, mappe termiche e altro ancora.
  • Salvare una visualizzazione

Con la scheda Dashboard è possibile:

  • Creare pannelli usando visualizzazioni nuove o salvate.
  • Salvare un dashboard.

L'immagine seguente mostra un'istanza di Kibana associata ad Azure Esplora dati da K2Bridge. L'esperienza utente in Kibana è invariata.

Pagina Kibana associata ad Azure Esplora dati.

Prerequisiti

Prima di poter visualizzare i dati da Azure Esplora dati in Kibana, è possibile eseguire le operazioni seguenti:

  • Una sottoscrizione di Azure. Creare un account Azure gratuito.
  • Un cluster e un database di Azure Esplora dati. Sarà necessario l'URL del cluster e il nome del database.
  • Helm v3, gestione pacchetti Kubernetes.
  • cluster servizio Azure Kubernetes (AKS) o qualsiasi altro cluster Kubernetes. Usare la versione 1.21.2 o successiva, con almeno tre nodi servizio Azure Kubernetes. La versione 1.21.2 è stata testata e verificata. Se è necessario un cluster del servizio Azure Kubernetes, vedere come distribuire un cluster del servizio Azure Kubernetes usando l'interfaccia della riga di comando di Azure o usando il portale di Azure.
  • Un'entità servizio Microsoft Entra autorizzata a visualizzare i dati in Azure Esplora dati, inclusi l'ID client e il segreto client. In alternativa, è possibile usare un'identità gestita assegnata dal sistema.

Se si sceglie di usare un'entità servizio Microsoft Entra, è necessario creare un'entità servizio Microsoft Entra. Per l'installazione, sarà necessario l'ID client e un segreto. È consigliabile un'entità servizio con autorizzazione visualizzatore e scoraggiare l'uso di autorizzazioni di livello superiore. Per assegnare le autorizzazioni, vedere Gestire le autorizzazioni del database nell'portale di Azure o usare i comandi di gestione per gestire i ruoli di sicurezza del database.

Se si sceglie di usare un'identità assegnata dal sistema, sarà necessario ottenere l'ID client client dell'identità gestita del pool di agenti (situato nel gruppo di risorse "[MC_xxxx]" generato)

Eseguire K2Bridge in servizio Azure Kubernetes (AKS)

Per impostazione predefinita, il grafico Helm di K2Bridge fa riferimento a un'immagine disponibile pubblicamente in Microsoft Container Registry (MCR). MCR non richiede credenziali.

  1. Scaricare i grafici Helm necessari.

  2. Aggiungere la dipendenza elasticsearch a Helm. La dipendenza è necessaria perché K2Bridge usa un'istanza di Elasticsearch interna di piccole dimensioni. Le richieste correlate ai metadati dell'istanza, ad esempio query sui modelli di indice e query salvate. Questa istanza interna non salva dati aziendali. È possibile considerare l'istanza come dettaglio dell'implementazione.

    1. Per aggiungere la dipendenza Elasticsearch a Helm, eseguire questi comandi:

      helm repo add elastic https://helm.elastic.co
      helm repo update
      
    2. Per ottenere il grafico K2Bridge dalla directory dei grafici del repository GitHub:

      1. Clonare il repository da GitHub.

      2. Passare alla directory del repository radice K2Bridges.

      3. Eseguire questo comando:

        helm dependency update charts/k2bridge
        
  3. Distribuire K2Bridge.

    1. Impostare le variabili sui valori corretti per l'ambiente.

      ADX_URL=[YOUR_ADX_CLUSTER_URL] #For example, https://mycluster.westeurope.kusto.windows.net
      ADX_DATABASE=[YOUR_ADX_DATABASE_NAME]
      ADX_CLIENT_ID=[SERVICE_PRINCIPAL_CLIENT_ID]
      ADX_CLIENT_SECRET=[SERVICE_PRINCIPAL_CLIENT_SECRET]
      ADX_TENANT_ID=[SERVICE_PRINCIPAL_TENANT_ID]
      

      Nota

      Quando si usa un'identità gestita, il valore ADX_CLIENT_ID è l'ID client dell'identità gestita, che si trova nel gruppo di risorse "[MC_xxxx]" generato. Per altre informazioni, vedere MC_ gruppo di risorse. La ADX_SECRET_ID è necessaria solo se si usa un'entità servizio Microsoft Entra.

    2. Facoltativamente, abilitare i dati di telemetria di Application Insights. Se si usa Application Insights per la prima volta, creare una risorsa di Application Insights. Copiare la chiave di strumentazione in una variabile.

      APPLICATION_INSIGHTS_KEY=[INSTRUMENTATION_KEY]
      COLLECT_TELEMETRY=true
      
    3. Installare il grafico K2Bridge. Le visualizzazioni e i dashboard sono supportati solo con la versione kibana 7.10. I tag di immagine più recenti sono: 6.8_latest e 7.16_latest, che supportano rispettivamente Kibana 6.8 e Kibana 7.10. L'immagine di "7.16_latest" supporta Kibana OSS 7.10.2 e l'istanza interna di Elasticsearch è 7.16.2.

      Se è stata usata un'entità servizio Microsoft Entra:

      helm install k2bridge charts/k2bridge -n k2bridge --set settings.adxClusterUrl="$ADX_URL" --set settings.adxDefaultDatabaseName="$ADX_DATABASE" --set settings.aadClientId="$ADX_CLIENT_ID" --set settings.aadClientSecret="$ADX_CLIENT_SECRET" --set settings.aadTenantId="$ADX_TENANT_ID" [--set image.tag=6.8_latest/7.16_latest] 
      [--set image.repository=$REPOSITORY_NAME/$CONTAINER_NAME] 
      [--set privateRegistry="$IMAGE_PULL_SECRET_NAME"] [--set settings.collectTelemetry=$COLLECT_TELEMETRY]
      

      In alternativa, se è stata usata l'identità gestita:

      helm install k2bridge charts/k2bridge -n k2bridge --set settings.adxClusterUrl="$ADX_URL" --set settings.adxDefaultDatabaseName="$ADX_DATABASE" --set       settings.aadClientId="$ADX_CLIENT_ID" --set settings.useManagedIdentity=true --set settings.aadTenantId="$ADX_TENANT_ID" [--set image.tag=7.16_latest] [--set  settings.collectTelemetry=$COLLECT_TELEMETRY]
      

      In Configurazione è possibile trovare il set completo di opzioni di configurazione.

    4. L'output del comando precedente suggerisce il comando Helm successivo per distribuire Kibana. Facoltativamente, eseguire questo comando:

      helm install kibana elastic/kibana -n k2bridge --set image=docker.elastic.co/kibana/kibana-oss --set imageTag=7.10.2 --set elasticsearchHosts=http://k2bridge:8080
      
    5. Usare l'inoltro delle porte per accedere a Kibana in localhost.

      kubectl port-forward service/kibana-kibana 5601 --namespace k2bridge
      
    6. Connettersi a Kibana passando a http://127.0.0.1:5601.

    7. Esporre Kibana agli utenti. Esistono più metodi a tale scopo. Il metodo usato dipende in gran parte dal caso d'uso.

      Ad esempio, è possibile esporre il servizio come servizio Load Balancer. A tale scopo, aggiungere il parametro --set service.type=LoadBalancer al comando di installazione di Kibana Helm precedente.

      Eseguire quindi questo comando:

      kubectl get service -w -n k2bridge
      

      L'output sarà simile al seguente:

      NAME            TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
      kibana-kibana   LoadBalancer   xx.xx.xx.xx    <pending>     5601:30128/TCP   4m24s
      

      È quindi possibile usare il valore EXTERNAL-IP generato visualizzato. Usarlo per accedere a Kibana aprendo un browser e passando a <EXTERNAL-IP>:5601.

  4. Configurare i modelli di indice per accedere ai dati.

    In una nuova istanza di Kibana:

    1. Aprire Kibana.
    2. Passare a Gestione.
    3. Selezionare Modelli di indice.
    4. Creare un modello di indice. Il nome dell'indice deve corrispondere esattamente al nome della tabella o al nome della funzione senza un asterisco (*). È possibile copiare la riga pertinente dall'elenco.

Nota

Per eseguire K2Bridge in altri provider Kubernetes, modificare il valore Elasticsearch storageClassName in values.yaml in modo che corrisponda a quello suggerito dal provider.

Individuare i dati

Quando Azure Esplora dati è configurato come origine dati per Kibana, è possibile usare Kibana per esplorare i dati.

Screenshot della scheda Individua in Kibana.

  1. In Kibana selezionare la scheda Individua .

  2. Nell'elenco dei criteri di indice selezionare un criterio di indice che definisce l'origine dati da esplorare. In questo caso, il modello di indice è una tabella di Azure Esplora dati.

    Screenshot dell'elenco dei criteri di origine dati.

  3. Se i dati hanno un campo di filtro temporale, è possibile specificare l'intervallo di tempo. In alto a destra della pagina Individua selezionare un filtro temporale. Per impostazione predefinita, la pagina mostra i dati degli ultimi 15 minuti.

    Screenshot della selezione di un filtro temporale.

  4. La tabella dei risultati mostra i primi 500 record. È possibile espandere un documento per esaminare i dati dei campi in formato JSON o tabella.

    Screenshot di un record espanso nella scheda Individua.

  5. È possibile aggiungere colonne specifiche alla tabella dei risultati selezionando Aggiungi accanto al nome del campo. Per impostazione predefinita, la tabella dei risultati include la colonna _source e una colonna Ora se il campo ora esiste.

    Screenshot dell'aggiunta di colonne.

  6. Nella barra delle query è possibile cercare i dati in base a:

    • Immissione di un termine di ricerca.
    • Uso della sintassi della query Lucene. Ad esempio:
      • Cercare "error" per trovare tutti i record che contengono questo valore.
      • Cercare "status: 200" per ottenere tutti i record con un valore di stato pari a 200.
    • Uso degli operatori logici AND, OR e NOT.
    • Uso dell'asterisco (*) e dei caratteri jolly punto interrogativo (?). Ad esempio, la query "destination_city: L*" corrisponde ai record in cui il valore della città di destinazione inizia con "L" o "l". K2Bridge non fa distinzione tra maiuscole e minuscole.

    Screenshot dell'esecuzione di query.

Nota

È supportata solo la sintassi di query Lucene di kibana. Non usare l'opzione KQL, che corrisponde al linguaggio di query Kibana.

Suggerimento

In Ricerca è possibile trovare altre regole di ricerca e logica.

  1. Per filtrare i risultati della ricerca, usare l'elenco Campi disponibili . L'elenco dei campi è la posizione in cui è possibile visualizzare:

    • I primi cinque valori per il campo.
    • Numero di record che contengono il campo.
    • Percentuale di record che contengono ogni valore.

    Suggerimento

    Usare la lente di ingrandimento per trovare tutti i record con un valore specifico.

    Screenshot di un elenco di campi con la lente di ingrandimento evidenziata.

    È anche possibile usare la lente di ingrandimento per filtrare i risultati e visualizzare la visualizzazione in formato tabella dei risultati di ogni record nella tabella dei risultati.

    Screenshot di un elenco di tabelle con la lente di ingrandimento evidenziata.

  2. Selezionare Salva o Condividi per conservare la ricerca.

    Screenshot di come salvare una ricerca in Kibana.

Visualizzare i dati

Usare le visualizzazioni Kibana per visualizzare in modo immediato i dati di Azure Esplora dati.

Creare una visualizzazione dalla scheda Individua

  1. Per creare una visualizzazione barra verticale, nella scheda Individua individuare la barra laterale Campi disponibili .

    Screenshot della selezione di un campo nei campi disponibili nella scheda Individua.

  2. Selezionare un nome di campo, quindi fare clic su Visualizza.

    Screenshot della creazione di una visualizzazione e della selezione del campo.

  3. Viene visualizzata la scheda Visualizza e viene visualizzata la visualizzazione. Per modificare i dati e le metriche della visualizzazione, vedere anche Creare una visualizzazione dalla scheda Visualizza.

    Screenshot della modifica della visualizzazione nella scheda Visualizza.

Creare una visualizzazione dalla scheda Visualizza

  1. Selezionare la scheda Visualizza e fare clic su Crea visualizzazione.

    Screenshot della selezione della scheda Visualizza.

  2. Nella finestra Nuova visualizzazione selezionare un tipo di visualizzazione.

    Screenshot della selezione di un tipo di visualizzazione.

  3. Dopo aver generato la visualizzazione, è possibile modificare le metriche e aggiungere fino a un bucket.

    Screenshot della modifica delle metriche.

Nota

K2Bridge supporta un'aggregazione di bucket. Alcune aggregazioni supportano le opzioni di ricerca. Usare la sintassi Lucene, non l'opzione KQL, che corrisponde alla sintassi del linguaggio di query Kibana.

Importante

  • Sono supportate le visualizzazioni seguenti: Vertical bar, Area chart, Line chart, Horizontal barGaugeData tablePie chart, Heat map, Goal chart, e .Metric chart
  • Sono supportate le metriche seguenti: Average, Count, Max, MedianMin, Percentiles, Standard deviation, Sume Top hitsUnique count.
  • La metrica Percentiles ranks non è supportata.
  • L'uso delle aggregazioni di bucket è facoltativo, è possibile visualizzare i dati senza aggregazione di bucket.
  • Sono supportati i bucket seguenti: No bucket aggregation, Date histogram, Filters, Range, Date range, Histograme Terms.
  • I bucket IPv4 range e Significant terms non sono supportati.

Creare dashboard

È possibile creare dashboard con visualizzazioni Kibana per riepilogare, confrontare e confrontare viste a colpo d'occhio dei dati di Azure Esplora dati.

  1. Per creare un dashboard, selezionare la scheda Dashboard e quindi fare clic su Crea nuovo dashboard.

    Screenshot della selezione della scheda Dashboard.

    Il nuovo dashboard viene aperto in modalità di modifica.

  2. Per aggiungere un nuovo pannello di visualizzazione, fare clic su Crea nuovo.

    Screenshot dell'aggiunta di una visualizzazione esistente a un dashboard.

  3. Per aggiungere una visualizzazione già creata, fare clic su Aggiungi esistente e selezionare una visualizzazione.

  4. Per disporre i pannelli, organizzare i pannelli in base alla priorità, ridimensionare i pannelli e altro ancora, fare clic su Modifica, quindi usare le opzioni seguenti:

    • Per spostare un pannello, fare clic e tenere premuta l'intestazione del pannello, quindi trascinare nella nuova posizione.
    • Per ridimensionare un pannello, fare clic sul controllo ridimensionamento, quindi trascinare nelle nuove dimensioni.

    Screenshot dei dashboard con visualizzazioni dei dati di Azure Esplora dati.