Gegevens uit Azure Data Explorer in Kibana visualiseren met de opensource-connector K2Bridge
Met K2Bridge (Kibana-Kusto Bridge) kunt u Azure Data Explorer als gegevensbron gebruiken en deze gegevens visualiseren in Kibana. K2Bridge is een opensource-toepassing in een container. Het fungeert als een proxy tussen een Kibana-exemplaar en een Azure Data Explorer-cluster. In dit artikel wordt beschreven hoe u K2Bridge gebruikt om die verbinding te maken.
K2Bridge vertaalt Kibana-query's naar Kusto-querytaal (KQL) en stuurt de Azure Data Explorer-resultaten terug naar Kibana.
K2Bridge ondersteunt de tabbladen Ontdekken, Visualiseren en Dashboard van Kibana.
Met het tabblad Ontdekken kunt u het volgende doen:
- Zoek en verken de gegevens.
- Resultaten filteren.
- Velden toevoegen aan of verwijderen uit het resultatenraster.
- Recordinhoud weergeven.
- Zoekacties opslaan en delen.
Met het tabblad Visualiseren kunt u het volgende doen:
- Maak visualisaties zoals staafdiagrammen, cirkeldiagrammen, gegevenstabellen, heatmaps en meer.
- Een visualisatie opslaan
Met het tabblad Dashboard kunt u het volgende doen:
- Maak deelvensters met behulp van nieuwe of opgeslagen visualisaties.
- Een dashboard opslaan.
In de volgende afbeelding ziet u een Kibana-exemplaar dat is gebonden aan Azure Data Explorer door K2Bridge. De gebruikerservaring in Kibana is ongewijzigd.
Vereisten
Voordat u gegevens uit Azure Data Explorer in Kibana kunt visualiseren, moet u het volgende bij de hand hebben:
- Een Azure-abonnement. Maak een gratis Azure-account.
- Een Azure Data Explorer-cluster en -database. U hebt de URL van het cluster en de databasenaam nodig.
- Helm v3, de Kubernetes-pakketbeheerder.
- Azure Kubernetes Service (AKS)-cluster of een ander Kubernetes-cluster. Gebruik versie 1.21.2 of hoger, met minimaal drie Azure Kubernetes Service knooppunten. Versie 1.21.2 is getest en geverifieerd. Als u een AKS-cluster nodig hebt, raadpleegt u Een AKS-cluster implementeren met behulp van de Azure CLI of de Azure Portal.
- Een Microsoft Entra service-principal die is gemachtigd om gegevens in Azure Data Explorer weer te geven, inclusief de client-id en het clientgeheim. U kunt ook een door het systeem toegewezen beheerde identiteit gebruiken.
Als u ervoor kiest om een Microsoft Entra service-principal te gebruiken, moet u een Microsoft Entra service-principal maken. Voor de installatie hebt u de ClientID en een Geheim nodig. We raden een service-principal aan met viewermachtigingen en raden u af om machtigingen op een hoger niveau te gebruiken. Zie Databasemachtigingen beheren in de Azure Portal of beheeropdrachten gebruiken om databasebeveiligingsrollen te beheren als u machtigingen wilt toewijzen.
Als u ervoor kiest om een door het systeem toegewezen identiteit te gebruiken, moet u de ClientID van de beheerde identiteit van de agentgroep ophalen (zich in de gegenereerde resourcegroep [MC_xxxx])
K2Bridge uitvoeren op Azure Kubernetes Service (AKS)
Standaard verwijst de Helm-grafiek van K2Bridge naar een openbaar beschikbare installatiekopieën in Microsoft Container Registry (MCR). VOOR MCR zijn geen referenties vereist.
Download de vereiste Helm-grafieken.
Voeg de afhankelijkheid Elasticsearch toe aan Helm. De afhankelijkheid is vereist omdat K2Bridge gebruikmaakt van een kleine interne Elasticsearch-instantie. Het exemplaar biedt metagegevensgerelateerde aanvragen, zoals query's met indexpatronen en opgeslagen query's. Met dit interne exemplaar worden geen bedrijfsgegevens opgeslagen. U kunt het exemplaar beschouwen als een implementatiedetail.
Voer de volgende opdrachten uit om de Elasticsearch-afhankelijkheid toe te voegen aan Helm:
helm repo add elastic https://helm.elastic.co helm repo update
Ga als volgende te werk om de K2Bridge-grafiek op te halen uit de map grafieken van de GitHub-opslagplaats:
Kloon de opslagplaats vanuit GitHub.
Ga naar de hoofdmap van de K2Bridges-opslagplaats.
Voer deze opdracht uit:
helm dependency update charts/k2bridge
K2Bridge implementeren.
Stel de variabelen in op de juiste waarden voor uw omgeving.
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]
Notitie
Wanneer u een beheerde identiteit gebruikt, is de ADX_CLIENT_ID waarde de client-id van de beheerde identiteit, die zich in de gegenereerde resourcegroep [MC_xxxx] bevindt. Zie MC_ resourcegroep voor meer informatie. De ADX_SECRET_ID is alleen vereist als u een Microsoft Entra-service-principal gebruikt.
Schakel desgewenst Application Insights-telemetrie in. Als u Application Insights voor het eerst gebruikt, maakt u een Application Insights-resource. Kopieer de instrumentatiesleutel naar een variabele.
APPLICATION_INSIGHTS_KEY=[INSTRUMENTATION_KEY] COLLECT_TELEMETRY=true
Installeer de K2Bridge-grafiek. Visualisaties en dashboards worden alleen ondersteund met de Kibana 7.10-versie. De meest recente installatiekopieëntags zijn: 6.8_latest en 7.16_latest, die respectievelijk Kibana 6.8 en Kibana 7.10 ondersteunen. De installatiekopieën van '7.16_latest' ondersteunen Kibana OSS 7.10.2 en het interne Elasticsearch-exemplaar is 7.16.2.
Als er een Microsoft Entra service-principal is gebruikt:
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]
Of, als er een beheerde identiteit is gebruikt:
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 Configuratie vindt u de volledige set configuratieopties.
De uitvoer van de vorige opdracht suggereert de volgende Helm-opdracht om Kibana te implementeren. Voer desgewenst deze opdracht uit:
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
Gebruik port forwarding om toegang te krijgen tot Kibana op localhost.
kubectl port-forward service/kibana-kibana 5601 --namespace k2bridge
Maak verbinding met Kibana door naar te http://127.0.0.1:5601gaan.
Kibana beschikbaar maken voor gebruikers. Er zijn meerdere methoden om dit te doen. De methode die u gebruikt, is grotendeels afhankelijk van uw gebruiksscenario.
U kunt de service bijvoorbeeld beschikbaar maken als een Load Balancer service. Hiervoor voegt u de parameter --set service.type=LoadBalancer toe aan de eerdere Kibana Helm-installatieopdracht.
Voer vervolgens deze opdracht uit:
kubectl get service -w -n k2bridge
De uitvoer moet er ongeveer als volgt uitzien:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kibana-kibana LoadBalancer xx.xx.xx.xx <pending> 5601:30128/TCP 4m24s
U kunt vervolgens de gegenereerde EXTERNAL-IP-waarde gebruiken die wordt weergegeven. Gebruik het om toegang te krijgen tot Kibana door een browser te openen en naar EXTERNAL-IP>:5601 te <gaan.
Indexpatronen configureren voor toegang tot uw gegevens.
In een nieuw Kibana-exemplaar:
- Open Kibana.
- Blader naar Beheer.
- Selecteer Indexpatronen.
- Een indexpatroon maken. De naam van de index moet exact overeenkomen met de tabelnaam of functienaam zonder een sterretje (*). U kunt de relevante regel uit de lijst kopiëren.
Notitie
Als u K2Bridge wilt uitvoeren op andere Kubernetes-providers, wijzigt u de waarde elasticsearch storageClassName in values.yaml zodat deze overeenkomt met de waarde die door de provider wordt voorgesteld.
Gegevens verkennen
Wanneer Azure Data Explorer is geconfigureerd als een gegevensbron voor Kibana, kunt u Kibana gebruiken om de gegevens te verkennen.
Selecteer in Kibana het tabblad Ontdekken .
Selecteer in de lijst met indexpatronen een indexpatroon dat de gegevensbron definieert die u wilt verkennen. Hier is het indexpatroon een Azure Data Explorer tabel.
Als uw gegevens een tijdfilterveld hebben, kunt u het tijdsbereik opgeven. Selecteer rechtsboven op de pagina Ontdekken een tijdfilter. Op de pagina worden standaard gegevens weergegeven voor de afgelopen 15 minuten.
De resultatentabel toont de eerste 500 records. U kunt een document uitvouwen om de veldgegevens in JSON- of tabelindeling te bekijken.
U kunt specifieke kolommen toevoegen aan de resultatentabel door Toevoegen naast de veldnaam te selecteren. De resultatentabel bevat standaard de kolom _source en een kolom Tijd als het tijdveld bestaat.
In de querybalk kunt u zoeken naar gegevens door:
- Een zoekterm invoeren.
- De Lucene-querysyntaxis gebruiken. Bijvoorbeeld:
- Zoek naar 'fout' om alle records te vinden die deze waarde bevatten.
- Zoek naar 'status: 200' om alle records met de statuswaarde 200 op te halen.
- De logische operatoren EN, OF en NIET gebruiken.
- Het jokertekens sterretje (*) en vraagteken (?) gebruiken. De query 'destination_city: L*' komt bijvoorbeeld overeen met records waar de waarde van bestemmingsstad begint met 'L' of 'l'. (K2Bridge is niet hoofdlettergevoelig.)
Notitie
Alleen de Lucene-querysyntaxis van Kibana wordt ondersteund. Gebruik niet de KQL-optie, die staat voor Kibana-querytaal.
Tip
In Zoeken vindt u meer zoekregels en logica.
Als u de zoekresultaten wilt filteren, gebruikt u de lijst Beschikbare velden . In de lijst met velden kunt u het volgende zien:
- De vijf belangrijkste waarden voor het veld.
- Het aantal records dat het veld bevat.
- Het percentage records dat elke waarde bevat.
Tip
Gebruik het vergrootglas om alle records te vinden die een specifieke waarde hebben.
U kunt ook het vergrootglas gebruiken om resultaten te filteren en de tabelweergave van de resultaten van elke record in de resultatentabel te bekijken.
Selecteer Opslaan of Delen om uw zoekopdracht te behouden.
Gegevens visualiseren
Gebruik Kibana-visualisaties om in één oogopslag een overzicht te krijgen van Azure Data Explorer-gegevens.
Een visualisatie maken op het tabblad Ontdekken
Als u een verticale balkvisualisatie wilt maken, zoekt u op het tabblad Ontdekken de zijbalk Beschikbare velden .
Selecteer een veldnaam en klik vervolgens op Visualiseren.
Het tabblad Visualiseren wordt geopend en de visualisatie wordt weergegeven. Als u de gegevens en metrische gegevens van de visualisatie wilt bewerken, raadpleegt u ook Een visualisatie maken op het tabblad Visualiseren.
Een visualisatie maken op het tabblad Visualiseren
Selecteer het tabblad Visualiseren en klik op Visualisatie maken.
Selecteer een visualisatietype in het venster Nieuwe visualisatie .
Nadat de visualisatie is gegenereerd, kunt u de metrische gegevens bewerken en maximaal één bucket toevoegen.
Notitie
K2Bridge ondersteunt aggregatie van één bucket. Sommige aggregaties ondersteunen zoekopties. Gebruik de Lucene-syntaxis, niet de optie KQL, die staat voor de syntaxis van de Kibana-querytaal.
Belangrijk
- De volgende visualisaties worden ondersteund:
Vertical bar
,Area chart
,Line chart
,Horizontal bar
,Pie chart
,Gauge
,Data table
, ,Goal chart
Heat map
, enMetric chart
. - De volgende metrische gegevens worden ondersteund:
Average
,Count
,Max
,Median
,Min
,Percentiles
,Standard deviation
,Sum
enUnique count
Top hits
. - De metrische gegevens
Percentiles ranks
worden niet ondersteund. - Het gebruik van bucketaggregaties is optioneel. U kunt gegevens visualiseren zonder bucketaggregatie.
- De volgende buckets worden ondersteund:
No bucket aggregation
,Date histogram
,Filters
,Range
,Date range
,Histogram
, enTerms
. - De buckets
IPv4 range
enSignificant terms
worden niet ondersteund.
Dashboards maken
U kunt dashboards maken met Kibana-visualisaties om weergaven van Azure Data Explorer-gegevens in één oogopslag samen te vatten, te vergelijken en te contrasteren.
Als u een dashboard wilt maken, selecteert u het tabblad Dashboard en klikt u vervolgens op Nieuw dashboard maken.
Het nieuwe dashboard wordt geopend in de bewerkingsmodus.
Als u een nieuw visualisatievenster wilt toevoegen, klikt u op Nieuwe maken.
Als u een visualisatie wilt toevoegen die u al hebt gemaakt, klikt u op Een bestaande toevoegen en selecteert u een visualisatie.
Als u deelvensters wilt rangschikken, deelvensters wilt ordenen op prioriteit, de grootte van de deelvensters wilt wijzigen en meer, klikt u op Bewerken en gebruikt u de volgende opties:
- Als u een deelvenster wilt verplaatsen, houdt u de koptekst van het deelvenster ingedrukt en sleept u naar de nieuwe locatie.
- Als u het formaat van een deelvenster wilt wijzigen, klikt u op het besturingselement formaat wijzigen en sleept u naar de nieuwe afmetingen.