共用方式為


使用 K2Bridge 開放原始碼連接器將數據從 Kibana 中的 Azure 數據總管可視化

K2Bridge (Kibana-Kusto Bridge) 可讓您使用 Azure 數據總管作為數據源,並將 Kibana 中的數據可視化。 K2Bridge 是開放 原始碼的容器化應用程式。 它可作為 Kibana 實例與 Azure 數據總管叢集之間的 Proxy。 本文說明如何使用 K2Bridge 來建立該連線。

K2Bridge 會將Kibana查詢轉譯為 Kusto 查詢語言 (KQL),並將 Azure 數據總管結果傳回 Kibana。

透過 K2Bridge 與 Azure 資料總管的 Kibana 連線。

K2Bridge 支援 Kibana 的 [ 探索]、[ 可視化 ] 和 [儀錶板 ] 索引標籤。

使用 [ 探索] 索引標籤,您可以:

  • 搜尋和探索數據。
  • 篩選結果。
  • 在結果方格中新增或移除欄位。
  • 檢視記錄內容。
  • 儲存和共用搜尋。

使用 [ 可視化] 索引標籤,您可以:

  • 建立視覺效果,例如:條形圖、餅圖、數據表、熱度圖等等。
  • 儲存視覺效果

您可以使用 [ 儀錶板] 索引標籤:

  • 使用新的或已儲存的視覺效果建立面板。
  • 儲存儀錶板。

下圖顯示 K2Bridge 系結至 Azure 數據總管的 Kibana 實例。 Kibana 中的用戶體驗不會變更。

系結至 Azure 數據總管的 Kibana 頁面。

必要條件

您必須先備妥下列專案,才能在 Kibana 中將 Azure 數據總管的數據可視化:

  • Azure 訂用帳戶。 建立免費的 Azure 帳戶
  • Azure 數據總管叢集和資料庫。 您將需要叢集的網址和資料庫名稱。
  • Helm v3,Kubernetes 套件管理員。
  • Azure Kubernetes Service (AKS) 叢集或任何其他 Kubernetes 叢集。 使用 1.21.2 版或更新版本,至少有三個 Azure Kubernetes Service 節點。 1.21.2 版已經過測試並驗證。 如果您需要 AKS 叢集,請參閱如何使用 Azure CLI 或使用 Azure 入口網站 部署 AKS 叢集。
  • 已獲授權在 Azure 數據總管中檢視數據的Microsoft Entra 服務主體,包括用戶端標識碼和客戶端密碼。 或者,您可以使用 系統指派的受控識別

如果您選擇使用 Microsoft Entra 服務主體,則必須 建立Microsoft Entra 服務主體。 針對安裝,您將需要 ClientID 和秘密。 建議您使用具有查看器許可權的服務主體,並禁止您使用較高層級的許可權。 若要指派許可權,請參閱管理 Azure 入口網站 中的資料庫許可權,或使用管理命令來管理資料庫安全性角色

如果您選擇使用系統指派的身分識別,則必須取得代理程式集區受控識別 ClientID (位於產生的 “[MC_xxxx]” 資源群組中)

在 Azure Kubernetes Service 上執行 K2Bridge (AKS)

根據預設,K2Bridge 的 Helm 圖表會參考位於 Microsoft Container Registry (MCR) 中的公開可用映像。 MCR 不需要任何認證。

  1. 下載必要的 Helm 圖表。

  2. 將 Elasticsearch 相依性新增至 Helm。 因為 K2Bridge 使用小型的內部 Elasticsearch 實例,因此需要相依性。 實例會服務元數據相關的要求,例如索引模式查詢和已儲存的查詢。 此內部實例不會儲存任何商務數據。 您可以將 實例視為實作詳細數據。

    1. 若要將 Elasticsearch 相依性新增至 Helm,請執行下列命令:

      helm repo add elastic https://helm.elastic.co
      helm repo update
      
    2. 若要從 GitHub 存放庫的圖表目錄取得 K2Bridge 圖表:

      1. GitHub 複製存放庫。

      2. 移至 K2Bridges 根存放庫目錄。

      3. 執行此命令:

        helm dependency update charts/k2bridge
        
  3. 部署 K2Bridge。

    1. 將變數設定為您環境的正確值。

      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]
      

      注意

      使用受控識別時,ADX_CLIENT_ID值是受控識別的用戶端標識符,位於產生的 “[MC_xxxx]” 資源群組中。 如需詳細資訊,請參閱 MC_資源群組。 只有在您使用Microsoft Entra 服務主體時,才需要ADX_SECRET_ID。

    2. 選擇性地啟用Application Insights 遙測。 如果您第一次使用Application Insights, 請建立Application Insights 資源將檢測金鑰 複製到變數。

      APPLICATION_INSIGHTS_KEY=[INSTRUMENTATION_KEY]
      COLLECT_TELEMETRY=true
      
    3. 安裝 K2Bridge 圖表。 只有 Kibana 7.10 版本支援視覺效果和儀錶板。 最新的影像標記包括:6.8_latest和7.16_latest,分別支援Kibana 6.8和Kibana 7.10。 '7.16_latest' 的映射支援 Kibana OSS 7.10.2,其內部 Elasticsearch 實例為 7.16.2。

      如果使用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]
      

      或者,如果使用受控識別:

      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]
      

      在 [ 組態] 中,您可以找到一組完整的組態選項。

    4. 上一個命令的輸出會建議下一個 Helm 命令來部署 Kibana。 選擇性地執行此指令:

      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
      
    5. 使用埠轉送來存取localhost上的Kibana。

      kubectl port-forward service/kibana-kibana 5601 --namespace k2bridge
      
    6. 前往 以連線到 http://127.0.0.1:5601Kibana。

    7. 向使用者公開Kibana。 有多個方法可以執行此動作。 您所使用的方法主要取決於您的使用案例。

      例如,您可以將服務公開為Load Balancer服務。 若要這樣做,請將 --set service.type=LoadBalancer 參數新增至先前的 Kibana Helm 安裝 命令

      然後執行此命令:

      kubectl get service -w -n k2bridge
      

      輸出應該看起來像這樣:

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

      然後,您可以使用出現的產生的 EXTERNAL-IP 值。 開啟瀏覽器並移至 <EXTERNAL-IP>:5601,以使用它來存取 Kibana。

  4. 設定索引模式來存取您的數據。

    在新 Kibana 實例中:

    1. 開啟 Kibana。
    2. 流覽至 [ 管理]。
    3. 選取 [索引模式]。
    4. 建立索引模式。 索引的名稱必須完全符合數據表名稱或函式名稱,而不需星號 。。 您可以從清單中複製相關行。

注意

若要在其他 Kubernetes 提供者上執行 K2Bridge,請變更 values.yaml 中的 Elasticsearch storageClassName 值,以符合提供者建議的值。

探索資料

當 Azure 數據總管設定為 Kibana 的數據源時,您可以使用 Kibana 來探索數據。

Kibana 中 [探索] 索引卷標的螢幕快照。

  1. 在 Kibana 中,選取 [ 探索] 索引標籤。

  2. 從索引模式清單中,選取定義要探索之數據源的索引模式。 在這裡,索引模式是 Azure 數據總管數據表。

    數據源模式清單的螢幕快照。

  3. 如果您的資料具有時間篩選欄位,您可以指定時間範圍。 在 [探索] 頁面右上方,選取時間篩選。 根據預設,頁面會顯示過去 15 分鐘的數據。

    選取時間篩選的螢幕快照。

  4. 結果數據表會顯示前 500 筆記錄。 您可以展開檔,以 JSON 或資料表格式檢查欄位數據。

    [探索] 索引標籤中展開記錄的螢幕快照。

  5. 您可以選取 功能變數名稱旁的 [新增 ],將特定資料行新增至結果數據表。 根據預設,如果時間欄位存在,結果數據表會包含 _source數據行Time 數據行。

    新增數據行的螢幕快照。

  6. 在查詢欄中,您可以依下列方式搜尋資料:

    • 輸入搜尋字詞。
    • 使用 Lucene 查詢語法。 例如:
      • 搜尋「錯誤」,以尋找包含此值的所有記錄。
      • 搜尋「狀態:200」,以取得狀態值為 200 的所有記錄。
    • 使用邏輯運算元 ANDORNOT
    • 使用星號 • 和問號 (?) 通配符。 例如,查詢 「destination_city: L*」 會比對目的地城市值以 「L」 或 「l」 開頭的記錄。 (K2Bridge 不區分大小寫。

    執行查詢的螢幕快照。

注意

僅支援 kibana 的 Lucene 查詢語法。 請勿使用代表 Kibana 查詢語言的 KQL 選項。

提示

在 [搜尋],您可以找到更多搜尋規則和邏輯。

  1. 若要篩選搜尋結果,請使用 [可用的欄位 ] 清單。 欄位清單是您可以看到的位置:

    • 欄位的前五個值。
    • 包含欄位的記錄數目。
    • 包含每個值的記錄百分比。

    提示

    使用放大鏡來尋找具有特定值的所有記錄。

    已醒目提示放大鏡的欄位清單螢幕快照。

    您也可以使用放大鏡來篩選結果,並查看結果數據表中每個記錄的結果數據表格式檢視。

    醒目提示放大鏡的數據表清單螢幕快照。

  2. 選取 [儲存] 或 [共用]保留您的搜尋。

    如何在Kibana中儲存搜尋的螢幕快照。

將資料視覺化

使用 Kibana 視覺效果來取得 Azure 數據總管數據的快速檢視。

從 [探索] 索引標籤建立視覺效果

  1. 若要建立垂直列視覺效果,請在 [ 探索 ] 索引標籤中,找出 [ 可用的欄位 ] 側邊列。

    在 [探索] 索引標籤中選取可用欄位的螢幕快照。

  2. 選取功能變數名稱,然後按兩下 [ 可視化]。

    建立視覺效果並選取欄位的螢幕快照。

  3. [可視化] 索引標籤隨即開啟,並顯示視覺效果。 若要編輯視覺效果的數據和計量,另 請參閱從 [可視化] 索引標籤建立視覺效果。

    在 [可視化] 索引卷標中編輯視覺效果的螢幕快照。

從 [可視化] 索引卷標建立視覺效果

  1. 選取 [可視化] 索引卷標,然後按兩下 [建立視覺效果]。

    選取 [可視化] 索引卷標的螢幕快照。

  2. 在 [ 新增視覺效果] 視窗中,選取視覺效果類型。

    選取視覺效果類型的螢幕快照。

  3. 視覺效果產生之後,您可以編輯計量,並新增至一個貯體。

    編輯計量的螢幕快照。

注意

K2Bridge 支援一個貯體匯總。 某些匯總支持搜尋選項。 使用 Lucene 語法,而不是代表 Kibana 查詢語言語法的 KQL 選項。

重要

  • 支援下列視覺效果:Vertical barArea chart、、Line chartHorizontal bar、、Pie chartGaugeHeat mapData tableGoal chartMetric chart
  • 支援下列計量:AverageCountMedianMax、、、MinPercentilesStandard deviation、、 SumTop hitsUnique count
  • 不支援計量 Percentiles ranks
  • 使用貯體匯總是選擇性的,您可以可視化數據,而不需要貯體匯總。
  • 支援下列貯體:No bucket aggregationDate histogram、、FiltersRange、、Date rangeHistogramTerms
  • 不支援貯體 IPv4 rangeSignificant terms

建立儀表板

您可以使用 Kibana 視覺效果建立儀錶板,以摘要、比較和對比 Azure 數據總管數據的概覽檢視。

  1. 若要建立儀錶板,請選取 [儀錶板 ] 索引卷標,然後按兩下 [ 建立新的儀錶板]。

    選取 [儀錶板] 索引卷標的螢幕快照。

    新的儀錶板會以編輯模式開啟。

  2. 若要新增視覺效果面板,請按兩下 [ 新建]。

    將現有視覺效果新增至儀錶板的螢幕快照。

  3. 若要新增您已建立的視覺效果,請按兩下 [新增現有的 ],然後選取視覺效果。

  4. 若要排列面板、依優先順序組織面板、調整面板大小等等,請按兩下 [ 編輯],然後使用下列選項:

    • 若要移動面板,請按住面板標頭,然後拖曳至新的位置。
    • 若要調整面板大小,請按兩下重設大小控制件,然後拖曳至新的維度。

    具有 Azure 數據總管數據視覺效果的儀錶板螢幕快照。