Wizualizowanie danych z usługi Azure Data Explorer w usłudze Kibana przy użyciu łącznika typu open source K2Bridge

K2Bridge (Kibana-Kusto Bridge) umożliwia korzystanie z usługi Azure Data Explorer jako źródła danych i wizualizowania tych danych w usłudze Kibana. K2Bridge to aplikacja typu open source, konteneryzowana. Działa jako serwer proxy między wystąpieniem Kibana a klastrem usługi Azure Data Explorer. W tym artykule opisano sposób tworzenia tego połączenia za pomocą narzędzia K2Bridge.

K2Bridge tłumaczy zapytania Kibana na język zapytań Kusto (KQL) i wysyła wyniki usługi Azure Data Explorer z powrotem do kibany.

Połączenie Kibana z usługą Azure Data Explorer za pośrednictwem rozwiązania K2Bridge.

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:

  • Tworzenie wizualizacji, takich jak: wykresy słupkowe, wykresy kołowe, tabele danych, mapy cieplne i nie tylko.
  • 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 przez K2Bridge. Środowisko użytkownika w usłudze Kibana jest niezmienione.

Strona Kibana powiązana z usługą Azure Data Explorer.

Wymagania wstępne

Przed wizualizowanie danych z usługi Azure Data Explorer w usłudze Kibana można przygotować następujące elementy:

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 uprawnieniem osoby przeglądającej i zniechęcić cię do korzystania z uprawnień wyższego poziomu. Aby przypisać uprawnienia, zobacz Zarządzanie uprawnieniami bazy danych w Azure Portal lub użyj poleceń zarządzania do zarządzania rolami zabezpieczeń bazy danych.

Jeśli zdecydujesz się używać 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 aplikacji K2Bridge na 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ń.

  1. Pobierz wymagane wykresy programu Helm.

  2. Dodaj zależność Elasticsearch do programu Helm. Zależność jest wymagana, ponieważ K2Bridge używa małego wewnętrznego wystąpienia elasticsearch. Żądania związane z metadanymi usług wystąpień, takie jak zapytania indeksu i zapisane zapytania. To wystąpienie wewnętrzne nie zapisuje żadnych danych biznesowych. Możesz rozważyć wystąpienie jako szczegóły implementacji.

    1. Aby dodać zależność elasticsearch do programu Helm, uruchom następujące polecenia:

      helm repo add elastic https://helm.elastic.co
      helm repo update
      
    2. Aby uzyskać wykres K2Bridge z katalogu charts repozytorium GitHub:

      1. Sklonuj repozytorium z usługi GitHub.

      2. Przejdź do katalogu głównego repozytorium K2Bridges.

      3. Uruchom następujące polecenie:

        helm dependency update charts/k2bridge
        
  3. Wdróż K2Bridge.

    1. Ustaw zmienne na prawidłowe wartości ś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.

    2. 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
      
    3. 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 operacyjny Kibana OSS 7.10.2, a jego wewnętrzne wystąpienie elasticsearch to 7.16.2.

      Jeśli użyto jednostki usługi 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]
      

      Lub jeśli użyto tożsamości zarządzanej:

      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.

    4. Dane wyjściowe poprzedniego polecenia sugerują następne polecenie helm w celu wdrożenia narzędzia Kibana. Opcjonalnie uruchom następujące polecenie:

      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. Użyj przekazywania portów, aby uzyskać dostęp do aplikacji Kibana na hoście lokalnym.

      kubectl port-forward service/kibana-kibana 5601 --namespace k2bridge
      
    6. Połącz się z usługą Kibana, przechodząc do http://127.0.0.1:5601folderu .

    7. Udostępnianie aplikacji Kibana użytkownikom. Istnieje wiele metod do wykonania. Używana metoda 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 aplikacji Kibana, otwierając przeglądarkę i przechodząc do <adresu EXTERNAL-IP>:5601.

  4. Skonfiguruj wzorce indeksów w celu uzyskania dostępu do danych.

    W nowym wystąpieniu Kibana:

    1. Otwórz aplikację Kibana.
    2. Przejdź do strony Zarządzanie.
    3. Wybierz pozycję Wzorce indeksu.
    4. Utwórz wzorzec indeksu. Nazwa indeksu musi być dokładnie zgodna z nazwą tabeli lub nazwą funkcji bez gwiazdki (*). Możesz skopiować odpowiedni wiersz z listy.

Uwaga

Aby uruchomić K2Bridge u innych dostawców platformy Kubernetes, zmień wartość Elasticsearch storageClassName w pliku values.yaml, aby pasowała do wartości sugerowanej przez dostawcę.

Odnajdywanie danych

Gdy usługa Azure Data Explorer jest skonfigurowana jako źródło danych dla platformy Kibana, możesz użyć narzędzia Kibana do eksplorowania danych.

Zrzut ekranu przedstawiający kartę Odnajdywanie w usłudze Kibana.

  1. W aplikacji Kibana wybierz kartę Odnajdywanie .

  2. Z listy wzorców indeksu wybierz wzorzec indeksu, który definiuje źródło danych do zbadania. Tutaj wzorzec indeksu jest tabelą usługi Azure Data Explorer.

    Zrzut ekranu przedstawiający listę wzorców źródła danych.

  3. Jeśli dane mają pole filtru czasu, możesz określić zakres czasu. W prawym górnym rogu strony Odnajdywanie wybierz filtr czasu. Domyślnie na stronie są wyświetlane dane z ostatnich 15 minut.

    Zrzut ekranu przedstawiający wybieranie filtru czasu.

  4. W tabeli wyników przedstawiono pierwsze 500 rekordów. Możesz rozwinąć dokument, aby zbadać dane pól w formacie JSON lub tabeli.

    Zrzut ekranu przedstawiający rozwinięty rekord na karcie Odnajdywanie.

  5. 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.

    Zrzut ekranu przedstawiający dodawanie kolumn.

  6. Na pasku zapytania można wyszukiwać dane według:

    • Wprowadzanie terminu wyszukiwania.
    • Przy użyciu składni zapytań 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 znaków wieloznacznych znaku zapytania (?). Na przykład zapytanie "destination_city: L*" pasuje do rekordów, w których wartość miejsca docelowego zaczyna się od "L" lub "l". (Funkcja K2Bridge nie uwzględnia wielkości liter).

    Zrzut ekranu przedstawiający uruchamianie zapytań.

Uwaga

Obsługiwana jest tylko składnia zapytań Lucene w programie kibana. Nie należy używać opcji KQL, która oznacza język zapytań Kibana.

Porada

W obszarze Wyszukiwanie można znaleźć więcej reguł wyszukiwania i logiki.

  1. 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ść.

    Porada

    Użyj lupy, aby znaleźć wszystkie rekordy, które mają określoną wartość.

    Zrzut ekranu przedstawiający listę pól z wyróżnionym lupą.

    Możesz również użyć lupy do filtrowania wyników i wyświetlić widok formatu tabeli wyników dla każdego rekordu w tabeli wyników.

    Zrzut ekranu przedstawiający listę tabel z wyróżnionym lupą.

  2. Wybierz pozycję Zapisz lub Udostępnij , aby zachować wyszukiwanie.

    Zrzut ekranu przedstawiający sposób zapisywania wyszukiwania w narzędziu Kibana.

Wizualizowanie danych

Użyj wizualizacji Kibana, aby uzyskać błyskawiczne widoki danych Data Explorer platformy Azure.

Tworzenie wizualizacji na karcie Odnajdywanie

  1. Aby utworzyć pionową wizualizację paska, na karcie Odnajdywanie znajdź pasek boczny Dostępne pola .

    Zrzut ekranu przedstawiający wybieranie pola w dostępnych polach na karcie Odnajdywanie.

  2. Wybierz nazwę pola, a następnie kliknij pozycję Visualize (Wizualizacja).

    Zrzut ekranu przedstawiający tworzenie wizualizacji i wybieranie pola.

  3. Zostanie otwarta karta Wizualizacja i zostanie wyświetlona wizualizacja. Aby edytować dane i metryki wizualizacji, zobacz również Tworzenie wizualizacji na karcie Wizualizacja.

    Zrzut ekranu przedstawiający edytowanie wizualizacji na karcie Wizualizacja.

Tworzenie wizualizacji na karcie Wizualizacja

  1. Wybierz kartę Visualize (Wizualizacja ) i kliknij pozycję Create visualization (Utwórz wizualizację).

    Zrzut ekranu przedstawiający wybieranie karty Wizualizacja.

  2. W oknie Nowa wizualizacja wybierz typ wizualizacji.

    Zrzut ekranu przedstawiający wybieranie typu wizualizacji.

  3. Po wygenerowaniu wizualizacji możesz edytować metryki i dodać je do jednego zasobnika.

    Zrzut ekranu przedstawiający edytowanie metryk.

Uwaga

K2Bridge obsługuje agregację jednego 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 chartGaugeHorizontal barLine chartData tableHeat mapPie chart, Goal chart, i .Metric chart
  • Obsługiwane są następujące metryki: Average, , MaxMinCountMedianPercentiles, Standard deviation, Sum, Top hits i .Unique count
  • Metryka Percentiles ranks nie jest obsługiwana.
  • Agregacje zasobników są opcjonalne, można wizualizować dane bez agregacji zasobnika.
  • Obsługiwane są następujące zasobniki: No bucket aggregation, , Date histogram, Filters, Range, Date range, Histogrami Terms.
  • Zasobniki IPv4 range i Significant 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.

  1. Aby utworzyć pulpit nawigacyjny, wybierz kartę Pulpit nawigacyjny , a następnie kliknij pozycję Utwórz nowy pulpit nawigacyjny.

    Zrzut ekranu przedstawiający wybieranie karty Pulpit nawigacyjny.

    Nowy pulpit nawigacyjny zostanie otwarty w trybie edycji.

  2. Aby dodać nowy panel wizualizacji, kliknij pozycję Utwórz nowy.

    Zrzut ekranu przedstawiający dodawanie istniejącej wizualizacji do pulpitu nawigacyjnego.

  3. Aby dodać już utworzoną wizualizację, kliknij pozycję Dodaj istniejącą i wybierz wizualizację.

  4. 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.

    Zrzut ekranu przedstawiający pulpity nawigacyjne z wizualizacjami danych usługi Azure Data Explorer.