Vizualizace dat z Azure Data Explorer v Kibaně pomocí opensourcového konektoru K2Bridge

K2Bridge (most Kibana-Kusto) umožňuje používat Azure Data Explorer jako zdroj dat a vizualizovat tato data v Kibaně. K2Bridge je opensourcová kontejnerizovaná aplikace. Funguje jako proxy mezi instancí Kibana a clusterem Azure Data Explorer. Tento článek popisuje, jak pomocí K2Bridge vytvořit toto připojení.

K2Bridge překládá dotazy Kibany na dotazovací jazyk Kusto (KQL) a odesílá výsledky azure Data Explorer zpět do Kibany.

Připojení Kibany s Azure Data Explorer přes K2Bridge.

K2Bridge podporuje karty Kibana Zjišťování, Vizualizace a Řídicí panel .

Pomocí karty Zjistit můžete:

  • Vyhledávejte a prozkoumejte data.
  • Filtrovat výsledky.
  • Přidejte nebo odeberte pole v mřížce výsledků.
  • Umožňuje zobrazit obsah záznamu.
  • Ukládání a sdílení hledání

Na kartě Vizualizovat můžete:

  • Vytvářejte vizualizace, jako jsou pruhové grafy, výsečové grafy, tabulky dat, heat mapy a další.
  • Uložení vizualizace

Na kartě Řídicí panel můžete:

  • Vytváření panelů pomocí nových nebo uložených vizualizací
  • Uložení řídicího panelu

Následující obrázek znázorňuje instanci Kibana vázanou na Azure Data Explorer službou K2Bridge. Uživatelské prostředí v Kibaně se nemění.

Stránka Kibana vázaná na Azure Data Explorer.

Požadavky

Než budete moct vizualizovat data z Azure Data Explorer v Kibaně, připravte si následující:

  • Předplatné Azure. Vytvořte si bezplatný účet Azure.
  • Azure Data Explorer clusteru a databáze. Budete potřebovat adresu URL clusteru a název databáze.
  • Helm v3, správce balíčků Kubernetes.
  • Azure Kubernetes Service cluster (AKS) nebo jakýkoli jiný cluster Kubernetes. Použijte verzi 1.21.2 nebo novější s minimálně třemi uzly Azure Kubernetes Service. Verze 1.21.2 byla otestována a ověřena. Pokud potřebujete cluster AKS, přečtěte si, jak nasadit cluster AKS pomocí Azure CLI nebo Azure Portal.
  • Microsoft Entra instanční objekt autorizovaný k zobrazení dat v Azure Data Explorer, včetně ID klienta a tajného klíče klienta. Případně můžete použít spravovanou identitu přiřazenou systémem.

Pokud se rozhodnete použít Microsoft Entra instanční objekt, budete muset vytvořit Microsoft Entra instanční objekt. Pro instalaci budete potřebovat ID klienta a tajný klíč. Doporučujeme instanční objekt s oprávněním čtenáře a nedoporučujeme používat oprávnění vyšší úrovně. Pokud chcete přiřadit oprávnění, přečtěte si téma Správa oprávnění databáze v Azure Portal nebo použití příkazů pro správu ke správě rolí zabezpečení databáze.

Pokud se rozhodnete použít identitu přiřazenou systémem, budete muset získat id klienta spravované identity fondu agentů (umístěné ve vygenerované skupině prostředků [MC_xxxx]).

Spuštění K2Bridge na Azure Kubernetes Service (AKS)

Ve výchozím nastavení odkazuje chart Helm K2Bridge na veřejně dostupnou image umístěnou ve službě Microsoft Container Registry (MCR). MCR nevyžaduje žádné přihlašovací údaje.

  1. Stáhněte si požadované charty Helm.

  2. Přidejte závislost Elasticsearch do Helmu. Závislost je vyžadována, protože K2Bridge používá malou interní instanci Elasticsearch. Instance obsluhuje požadavky související s metadaty, jako jsou dotazy na vzory indexů a uložené dotazy. Tato interní instance neukládá žádná obchodní data. Instanci můžete považovat za podrobnosti implementace.

    1. Pokud chcete do Helmu přidat závislost Elasticsearch, spusťte tyto příkazy:

      helm repo add elastic https://helm.elastic.co
      helm repo update
      
    2. Získání grafu K2Bridge z adresáře charts v úložišti GitHub:

      1. Naklonujte úložiště z GitHubu.

      2. Přejděte do adresáře kořenového úložiště K2Bridges.

      3. Spusťte tento příkaz:

        helm dependency update charts/k2bridge
        
  3. Nasazení K2Bridge

    1. Nastavte proměnné na správné hodnoty pro vaše prostředí.

      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]
      

      Poznámka

      Při použití spravované identity je ADX_CLIENT_ID hodnota ID klienta spravované identity umístěné ve vygenerované skupině prostředků [MC_xxxx]. Další informace najdete v tématu MC_ skupina prostředků. ADX_SECRET_ID se vyžaduje jenom v případě, že používáte instanční objekt Microsoft Entra.

    2. Volitelně můžete povolit telemetrii Application Insights. Pokud používáte Application Insights poprvé, vytvořte prostředek Application Insights. Zkopírujte instrumentační klíč do proměnné.

      APPLICATION_INSIGHTS_KEY=[INSTRUMENTATION_KEY]
      COLLECT_TELEMETRY=true
      
    3. Nainstalujte graf K2Bridge. Vizualizace a řídicí panely jsou podporovány pouze ve verzi Kibana 7.10. Nejnovější značky obrázků jsou: 6.8_latest a 7.16_latest, které podporují Kibanu 6.8 a Kibanu 7.10. Obrázek 7.16_latest podporuje Kibana OSS 7.10.2 a její interní instance Elasticsearch je 7.16.2.

      Pokud se použil instanční objekt 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]
      

      Nebo pokud se použila spravovaná identita:

      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]
      

      V části Konfigurace najdete úplnou sadu možností konfigurace.

    4. Výstup předchozího příkazu navrhne další příkaz Helm pro nasazení Kibany. Volitelně spusťte tento příkaz:

      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. Pro přístup ke Kibaně na místním hostiteli použijte přesměrování portů.

      kubectl port-forward service/kibana-kibana 5601 --namespace k2bridge
      
    6. Připojte se ke Kibaně tak, že přejdete na http://127.0.0.1:5601.

    7. Zveřejnění Kibany uživatelům Existuje několik metod, jak to provést. Metoda, kterou použijete, závisí do značné míry na vašem případu použití.

      Službu můžete například zveřejnit jako službu Load Balancer. Uděláte to tak, že do předchozího instalačního příkazu Kibana Helm přidáte parametr --set service.type=LoadBalancer.

      Pak spusťte tento příkaz:

      kubectl get service -w -n k2bridge
      

      Výstup by měl vypadat takto:

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

      Pak můžete použít vygenerovanou hodnotu EXTERNAL-IP, která se zobrazí. Použijte ho pro přístup ke Kibaně tak, že otevřete prohlížeč a přejdete na <EXTERNAL-IP>:5601.

  4. Nakonfigurujte vzory indexů pro přístup k vašim datům.

    V nové instanci Kibany:

    1. Otevřete Kibanu.
    2. Přejděte na Správa.
    3. Vyberte Vzory indexů.
    4. Vytvořte vzor indexu. Název indexu musí přesně odpovídat názvu tabulky nebo názvu funkce bez hvězdičky (*). Příslušný řádek můžete zkopírovat ze seznamu.

Poznámka

Pokud chcete spustit K2Bridge u jiných zprostředkovatelů Kubernetes, změňte hodnotu Elasticsearch storageClassName v values.yaml tak, aby odpovídala hodnotě navržené poskytovatelem.

Zjišťování dat

Když je Azure Data Explorer nakonfigurovaný jako zdroj dat pro Kibanu, můžete k prozkoumání dat použít Kibanu.

Snímek obrazovky s kartou Zjistit v Kibaně

  1. V Kibaně vyberte kartu Zjistit .

  2. V seznamu vzorů indexů vyberte vzor indexu, který definuje zdroj dat, který chcete prozkoumat. Vzor indexu je v této tabulce azure Data Explorer.

    Snímek obrazovky se seznamem vzorů zdroje dat

  3. Pokud data mají pole filtru času, můžete zadat časový rozsah. V pravém horním rohu stránky Zjišťování vyberte filtr času. Ve výchozím nastavení se na stránce zobrazují data za posledních 15 minut.

    Snímek obrazovky s výběrem filtru času

  4. Tabulka výsledků zobrazuje prvních 500 záznamů. Dokument můžete rozbalit a prozkoumat data pole ve formátu JSON nebo ve formátu tabulky.

    Snímek obrazovky s rozbaleným záznamem na kartě Zjišťování

  5. Do tabulky výsledků můžete přidat konkrétní sloupce tak, že vyberete přidat vedle názvu pole. Ve výchozím nastavení tabulka výsledků obsahuje sloupec _source a sloupec Čas , pokud pole času existuje.

    Snímek obrazovky s přidáváním sloupců

  6. Na panelu dotazu můžete hledat data podle:

    • Zadání hledaného výrazu
    • Použití syntaxe dotazů Lucene Příklad:
      • Pokud chcete najít všechny záznamy, které obsahují tuto hodnotu, vyhledejte "error".
      • Pokud chcete získat všechny záznamy s hodnotou stavu 200, vyhledejte "status: 200".
    • Použití logických operátorů AND, OR a NOT
    • Použití zástupných znaků hvězdička (*) a otazník (?). Například dotaz "destination_city: L*" odpovídá záznamům, kde hodnota cílového města začíná na "L" nebo "l". (V K2Bridge se nerozlišuje velká a malá písmena.)

    Snímek obrazovky se spouštěním dotazů

Poznámka

Podporuje se pouze syntaxe dotazů Lucene kibany. Nepoužívejte možnost KQL, která je zkratkou pro dotazovací jazyk Kibana.

Tip

V části Hledání najdete další pravidla a logiku hledání.

  1. Pokud chcete filtrovat výsledky hledání, použijte seznam dostupných polí . Seznam polí obsahuje:

    • Prvních pět hodnot pole
    • Počet záznamů obsahujících pole
    • Procento záznamů, které obsahují každou hodnotu.

    Tip

    Pomocí lupy můžete najít všechny záznamy, které mají určitou hodnotu.

    Snímek obrazovky se seznamem polí se zvýrazněnou lupou

    Lupu můžete také použít k filtrování výsledků a zobrazení tabulky výsledků ve formátu jednotlivých záznamů v tabulce výsledků.

    Snímek obrazovky se seznamem tabulek se zvýrazněnou lupou

  2. Pokud chcete hledání zachovat, vyberte Uložit nebo Sdílet .

    Snímek obrazovky znázorňuje, jak uložit hledání v Kibaně

Vizualizace dat

Pomocí vizualizací Kibana získáte přehled o datech Azure Data Explorer.

Vytvoření vizualizace z karty Zjišťování

  1. Pokud chcete vytvořit vizualizaci svislého pruhu, vyhledejte na kartě Zjišťování boční panel Dostupná pole .

    Snímek obrazovky s výběrem pole v dostupných polích na kartě Zjišťování

  2. Vyberte název pole a pak klikněte na Vizualizovat.

    Snímek obrazovky s vytvořením vizualizace a výběrem pole

  3. Otevře se karta Vizualizace a zobrazí vizualizaci. Pokud chcete upravit data a metriky vizualizace, přečtěte si také téma Vytvoření vizualizace na kartě Vizualizace.

    Snímek obrazovky s úpravou vizualizace na kartě Vizualizace

Vytvoření vizualizace z karty Vizualizace

  1. Vyberte kartu Vizualizace a klikněte na Vytvořit vizualizaci.

    Snímek obrazovky s výběrem karty Vizualizace

  2. V okně Nová vizualizace vyberte typ vizualizace.

    Snímek obrazovky s výběrem typu vizualizace

  3. Po vygenerování vizualizace můžete metriky upravit a sečíst do jednoho kontejneru.

    Snímek obrazovky s úpravou metrik

Poznámka

K2Bridge podporuje agregaci jednoho kbelíku. Některé agregace podporují možnosti hledání. Použijte syntaxi Lucene, ne možnost KQL, která je zkratkou pro syntaxi dotazovacího jazyka Kibana.

Důležité

  • Podporují se následující vizualizace: Vertical bar, , Area chart, Line chart, Horizontal bar, Pie chart, Gauge, Data tableHeat map, Goal chart, a Metric chart.
  • Podporují se následující metriky: Average, , Count, Max, Median, PercentilesMin, Standard deviationSum, Top hits a Unique count.
  • Metrika Percentiles ranks se nepodporuje.
  • Použití agregací kbelíků je volitelné. Data můžete vizualizovat bez agregace kbelíků.
  • Podporují se následující kontejnery: No bucket aggregation, , Date histogram, Filters, RangeDate range, Histograma Terms.
  • Kontejnery IPv4 range a Significant terms se nepodporují.

Vytváření řídicích panelů

Můžete vytvořit řídicí panely s vizualizacemi Kibana, které vám pomůžou shrnout, porovnat a porovnat přehledná zobrazení dat Azure Data Explorer.

  1. Pokud chcete vytvořit řídicí panel, vyberte kartu Řídicí panel a pak klikněte na Vytvořit nový řídicí panel.

    Snímek obrazovky s výběrem karty Řídicí panel

    Nový řídicí panel se otevře v režimu úprav.

  2. Pokud chcete přidat nový panel vizualizace, klikněte na Vytvořit novou.

    Snímek obrazovky s přidáním existující vizualizace na řídicí panel

  3. Pokud chcete přidat vizualizaci, kterou jste už vytvořili, klikněte na Přidat existující a vyberte vizualizaci.

  4. Pokud chcete uspořádat panely, uspořádat panely podle priority, změnit jejich velikost a provádět další akce, klikněte na Upravit a pak použijte následující možnosti:

    • Panel přesunete tak, že kliknete na záhlaví panelu, podržíte ho a přetáhnete ho na nové místo.
    • Pokud chcete změnit velikost panelu, klikněte na ovládací prvek pro změnu velikosti a přetáhněte ho na nové rozměry.

    Snímek obrazovky řídicích panelů s vizualizacemi dat Azure Data Explorer