Wizualizowanie danych z usługi Azure Data Explorer w usłudze Kibana za pomocą łącznika open source K2Bridge
Rozwiązanie K2Bridge (Kibana-Kusto Bridge) umożliwia korzystanie z usługi Azure Data Explorer jako źródła danych i wizualizowanie tych danych w narzędziu Kibana. K2Bridge to aplikacja typu open source, konteneryzowana. Działa jako serwer proxy między wystąpieniem Kibana i klastrem usługi Azure Data Explorer. W tym artykule opisano sposób tworzenia tego połączenia za pomocą rozwiązania K2Bridge.
K2Bridge tłumaczy zapytania Kibana na język zapytań Kusto (KQL) i wysyła wyniki usługi Azure Data Explorer z powrotem do narzędzia Kibana.
K2Bridge obsługuje karty Odnajdywanie, wizualizowanie i pulpit nawigacyjny Kibana.
Za pomocą karty Odnajdywanie możesz wykonywać następujące czynności:
- Wyszukiwanie i eksplorowanie danych.
- Filtruj wyniki.
- Dodaj lub usuń pola w siatce wyników.
- Wyświetl zawartość rekordu.
- Zapisywanie i udostępnianie wyszukiwań.
Za pomocą karty Wizualizowanie można wykonywać następujące czynności:
- Twórz wizualizacje, takie jak: wykresy słupkowe, wykresy kołowe, tabele danych, mapy cieplne i inne.
- Zapisywanie wizualizacji
Za pomocą karty Pulpit nawigacyjny możesz wykonywać następujące czynności:
- Utwórz panele przy użyciu nowych lub zapisanych wizualizacji.
- Zapisz pulpit nawigacyjny.
Na poniższej ilustracji przedstawiono wystąpienie Kibana powiązane z usługą Azure Data Explorer firmy K2Bridge. Środowisko użytkownika w narzędziu Kibana pozostaje niezmienione.
Wymagania wstępne
Aby można było wizualizować dane z usługi Azure Data Explorer w narzędziu Kibana, przygotuj następujące elementy:
- Subskrypcja Azure. Utwórz bezpłatne konto platformy Azure.
- Klaster i baza danych usługi Azure Data Explorer. Będzie potrzebny adres URL klastra i nazwa bazy danych.
- Helm w wersji 3— menedżer pakietów Kubernetes.
- Klaster usługi Azure Kubernetes Service (AKS) lub dowolny inny klaster Kubernetes. Użyj wersji 1.21.2 lub nowszej z co najmniej trzema węzłami usługi Azure Kubernetes Service. Wersja 1.21.2 została przetestowana i zweryfikowana. Jeśli potrzebujesz klastra usługi AKS, zobacz, jak wdrożyć klaster usługi AKS przy użyciu interfejsu wiersza polecenia platformy Azure lub za pomocą witryny Azure Portal.
- Jednostka usługi Entra firmy Microsoft autoryzowana do wyświetlania danych w usłudze Azure Data Explorer, w tym identyfikator klienta i klucz tajny klienta. Alternatywnie można użyć tożsamości zarządzanej przypisanej przez system.
Jeśli zdecydujesz się użyć jednostki usługi Microsoft Entra, musisz utworzyć jednostkę usługi Microsoft Entra. W przypadku instalacji potrzebny będzie identyfikator ClientID i wpis tajny. Zalecamy jednostkę usługi z uprawnieniami przeglądarki i zniechęcić cię do korzystania z uprawnień wyższego poziomu. Aby przypisać uprawnienia, zobacz Zarządzanie uprawnieniami bazy danych w witrynie Azure Portal lub użyj poleceń zarządzania do zarządzania rolami zabezpieczeń bazy danych.
Jeśli zdecydujesz się użyć tożsamości przypisanej przez system, musisz pobrać identyfikator ClientID tożsamości zarządzanej puli agentów (znajdujący się w wygenerowanej grupie zasobów "[MC_xxxx]"
Uruchamianie rozwiązania K2Bridge w usłudze Azure Kubernetes Service (AKS)
Domyślnie pakiet Helm K2Bridge odwołuje się do publicznie dostępnego obrazu znajdującego się w usłudze Microsoft Container Registry (MCR). McR nie wymaga żadnych poświadczeń.
Pobierz wymagane wykresy programu Helm.
Dodaj zależność Elasticsearch do programu Helm. Zależność jest wymagana, ponieważ K2Bridge używa małego wewnętrznego wystąpienia elasticsearch. Żądania dotyczące metadanych usług wystąpień, takie jak zapytania dotyczące indeksów i zapisane zapytania. To wystąpienie wewnętrzne nie zapisuje żadnych danych biznesowych. Możesz rozważyć, że wystąpienie będzie szczegółem implementacji.
Aby dodać zależność Elasticsearch do programu Helm, uruchom następujące polecenia:
helm repo add elastic https://helm.elastic.co helm repo update
Aby uzyskać wykres K2Bridge z katalogu charts repozytorium GitHub:
Sklonuj repozytorium z usługi GitHub.
Przejdź do katalogu głównego repozytorium K2Bridges.
Uruchom następujące polecenie:
helm dependency update charts/k2bridge
Wdróż rozwiązanie K2Bridge.
Ustaw zmienne na prawidłowe wartości dla danego środowiska.
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]
Uwaga
W przypadku korzystania z tożsamości zarządzanej wartość ADX_CLIENT_ID jest identyfikatorem klienta tożsamości zarządzanej znajdującym się w wygenerowanej grupie zasobów "[MC_xxxx]". Aby uzyskać więcej informacji, zobacz MC_ grupę zasobów. ADX_SECRET_ID jest wymagany tylko wtedy, gdy używasz jednostki usługi Microsoft Entra.
Opcjonalnie włącz telemetrię usługi Application Insights. Jeśli używasz usługi Application Insights po raz pierwszy, utwórz zasób usługi Application Insights. Skopiuj klucz instrumentacji do zmiennej.
APPLICATION_INSIGHTS_KEY=[INSTRUMENTATION_KEY] COLLECT_TELEMETRY=true
Zainstaluj wykres K2Bridge. Wizualizacje i pulpity nawigacyjne są obsługiwane tylko w wersji Kibana 7.10. Najnowsze tagi obrazów to: 6.8_latest i 7.16_latest, które obsługują odpowiednio kibana 6.8 i Kibana 7.10. Obraz "7.16_latest" obsługuje system Kibana OSS 7.10.2, a jego wewnętrzne wystąpienie elasticsearch to 7.16.2.
Jeśli użyto jednostki usługi Entra firmy Microsoft:
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]
Lub, jeśli została użyta tożsamość zarządzana:
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]
W obszarze Konfiguracja można znaleźć pełny zestaw opcji konfiguracji.
Dane wyjściowe poprzedniego polecenia sugerują kolejne polecenie narzędzia Helm w celu wdrożenia narzędzia Kibana. Opcjonalnie uruchom następujące polecenie:
helm install kibana elastic/kibana --version 7.17.3 -n k2bridge --set image=docker.elastic.co/kibana/kibana-oss --set imageTag=7.10.2 --set elasticsearchHosts=http://k2bridge:8080
Użyj przekierowania portów, aby uzyskać dostęp do narzędzia Kibana na hoście lokalnym.
kubectl port-forward service/kibana-kibana 5601 --namespace k2bridge
Połącz się z usługą Kibana, przechodząc do .http://127.0.0.1:5601
Udostępnianie aplikacji Kibana użytkownikom. Istnieje wiele metod, które należy wykonać. Metoda używana w dużej mierze zależy od przypadku użycia.
Możesz na przykład uwidocznić usługę jako usługę load balancer. W tym celu dodaj parametr --set service.type=LoadBalancer do wcześniejszego polecenia instalacji narzędzia Kibana Helm.
Następnie uruchom następujące polecenie:
kubectl get service -w -n k2bridge
Dane wyjściowe powinny wyglądać podobnie do poniższych:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kibana-kibana LoadBalancer xx.xx.xx.xx <pending> 5601:30128/TCP 4m24s
Następnie możesz użyć wygenerowanej wartości EXTERNAL-IP, która zostanie wyświetlona. Użyj go, aby uzyskać dostęp do narzędzia Kibana, otwierając przeglądarkę i przechodząc do <adresu EXTERNAL-IP>:5601.
Konfigurowanie wzorców indeksów w celu uzyskania dostępu do danych.
W nowym wystąpieniu Kibana:
- Otwórz aplikację Kibana.
- Przejdź do strony Zarządzanie.
- Wybierz pozycję Wzorce indeksu.
- Utwórz wzorzec indeksu. Nazwa indeksu musi być dokładnie zgodna z nazwą tabeli lub nazwą funkcji bez gwiazdki (*). Odpowiedni wiersz można skopiować z listy.
Uwaga
Aby uruchomić K2Bridge u innych dostawców kubernetes, zmień wartość Elasticsearch storageClassName w pliku values.yaml, aby dopasować wartość sugerowaną przez dostawcę.
Odnajdywanie danych
Gdy usługa Azure Data Explorer jest skonfigurowana jako źródło danych dla rozwiązania Kibana, możesz użyć narzędzia Kibana do eksplorowania danych.
W aplikacji Kibana wybierz kartę Odnajdywanie .
Z listy wzorców indeksu wybierz wzorzec indeksu, który definiuje źródło danych do eksplorowania. Tutaj wzorzec indeksu jest tabelą usługi Azure Data Explorer.
Jeśli dane mają pole filtru czasu, możesz określić zakres czasu. W prawym górnym rogu strony Odnajdź wybierz filtr czasu. Domyślnie na stronie są wyświetlane dane z ostatnich 15 minut.
W tabeli wyników przedstawiono pierwsze 500 rekordów. Możesz rozwinąć dokument, aby zbadać dane pól w formacie JSON lub tabeli.
Możesz dodać określone kolumny do tabeli wyników, wybierając pozycję Dodaj obok nazwy pola. Domyślnie tabela wyników zawiera kolumnę _source i kolumnę Czas , jeśli istnieje pole czasu.
Na pasku zapytania można wyszukiwać dane, wykonując następujące czynności:
- Wprowadzanie terminu wyszukiwania.
- Korzystając ze składni zapytania Lucene. Na przykład: .
- Wyszukaj ciąg "error", aby znaleźć wszystkie rekordy zawierające tę wartość.
- Wyszukaj ciąg "status: 200", aby pobrać wszystkie rekordy z wartością stanu 200.
- Używanie operatorów logicznych AND, OR i NOT.
- Używając gwiazdki (*) i symbolu zapytania (?) symboli wieloznacznych. Na przykład zapytanie "destination_city: L*" pasuje do rekordów, w których wartość miejsca docelowego zaczyna się od "L" lub "l". (K2Bridge nie uwzględnia wielkości liter).
Uwaga
Obsługiwana jest tylko składnia zapytań Lucene w usłudze Kibana. Nie używaj opcji KQL, która oznacza Język zapytań Kibana.
Napiwek
W obszarze Wyszukiwanie można znaleźć więcej reguł wyszukiwania i logiki.
Aby filtrować wyniki wyszukiwania, użyj listy Dostępne pola . Lista pól zawiera następujące informacje:
- Pięć pierwszych wartości dla pola.
- Liczba rekordów zawierających pole.
- Procent rekordów zawierających każdą wartość.
Napiwek
Użyj lupy, aby znaleźć wszystkie rekordy, które mają określoną wartość.
Możesz również użyć lupy, aby filtrować wyniki i wyświetlać widok w formacie tabeli wyników dla każdego rekordu w tabeli wyników.
Wybierz pozycję Zapisz lub Udostępnij , aby zachować wyszukiwanie.
Wizualizowanie danych
Użyj wizualizacji Kibana, aby uzyskać błyskawiczne widoki danych usługi Azure Data Explorer.
Tworzenie wizualizacji na karcie Odnajdywanie
Aby utworzyć wizualizację paska pionowego, na karcie Odnajdywanie znajdź pasek boczny Dostępne pola .
Wybierz nazwę pola, a następnie kliknij pozycję Visualize (Wizualizacja).
Zostanie otwarta karta Wizualizacja i zostanie wyświetlona wizualizacja. Aby edytować dane i metryki wizualizacji, zobacz również Tworzenie wizualizacji na karcie Wizualizacja.
Tworzenie wizualizacji na karcie Wizualizacja
Wybierz kartę Wizualizacja i kliknij pozycję Utwórz wizualizację.
W oknie Nowa wizualizacja wybierz typ wizualizacji.
Po wygenerowaniu wizualizacji można edytować metryki i dodać je do jednego zasobnika.
Uwaga
K2Bridge obsługuje jedną agregację zasobnika. Niektóre agregacje obsługują opcje wyszukiwania. Użyj składni Lucene, a nie opcji KQL, która oznacza składnię języka zapytań Kibana.
Ważne
- Obsługiwane są następujące wizualizacje:
Vertical bar
, ,Area chart
Gauge
Horizontal bar
Line chart
Data table
Heat map
Pie chart
Goal chart
, i .Metric chart
- Obsługiwane są następujące metryki:
Average
, ,Max
Percentiles
Min
Standard deviation
Median
Count
, ,Sum
Top hits
, i .Unique count
- Metryka
Percentiles ranks
nie jest obsługiwana. - Użycie agregacji zasobników jest opcjonalne. Można wizualizować dane bez agregacji zasobnika.
- Obsługiwane są następujące zasobniki:
No bucket aggregation
, ,Date histogram
,Filters
,Range
,Date range
,Histogram
, iTerms
. - Zasobniki
IPv4 range
iSignificant terms
nie są obsługiwane.
Tworzenie pulpitów nawigacyjnych
Pulpity nawigacyjne można tworzyć za pomocą wizualizacji Kibana w celu podsumowania, porównywania i kontrastowania widoków danych usługi Azure Data Explorer.
Aby utworzyć pulpit nawigacyjny, wybierz kartę Pulpit nawigacyjny , a następnie kliknij pozycję Utwórz nowy pulpit nawigacyjny.
Nowy pulpit nawigacyjny zostanie otwarty w trybie edycji.
Aby dodać nowy panel wizualizacji, kliknij pozycję Utwórz nowy.
Aby dodać już utworzoną wizualizację, kliknij pozycję Dodaj istniejącą i wybierz wizualizację.
Aby rozmieścić panele, zorganizować panele według priorytetu, zmienić rozmiar paneli i nie tylko, kliknij przycisk Edytuj, a następnie użyj następujących opcji:
- Aby przenieść panel, kliknij i przytrzymaj nagłówek panelu, a następnie przeciągnij do nowej lokalizacji.
- Aby zmienić rozmiar panelu, kliknij kontrolkę zmiany rozmiaru, a następnie przeciągnij do nowych wymiarów.