使用 K2Bridge 開放原始碼連接器將資料從 Kibana 中的 Azure Data Explorer視覺化
K2Bridge (Kibana-Kusto Bridge) 可讓您使用 Azure Data Explorer作為資料來源,並將Kibana中的資料視覺化。 K2Bridge 是 開放原始碼的容器化應用程式。 它可作為 Kibana 實例與 Azure Data Explorer 叢集之間的 Proxy。 本文說明如何使用 K2Bridge 來建立該連線。
K2Bridge 會將 Kibana 查詢轉譯為Kusto 查詢語言 (KQL) ,並將 Azure Data Explorer結果傳回 Kibana。
K2Bridge 支援 Kibana 的 [探索]、[ 視覺化 ] 和 [ 儀表板 ] 索引標籤。
使用 [ 探索] 索引 標籤,您可以:
- 搜尋並探索資料。
- 篩選結果。
- 在結果方格中新增或移除欄位。
- 檢視記錄內容。
- 儲存和共用搜尋。
使用 [ 視覺化] 索引標籤,您可以:
- 建立視覺效果,例如:橫條圖、圓形圖、資料表、熱度圖等等。
- 儲存視覺效果
使用 [儀表板] 索引卷 標,您可以:
- 使用新的或已儲存的視覺效果來建立面板。
- 儲存儀表板。
下圖顯示 K2Bridge 系結至 Azure Data Explorer的 Kibana 實例。 Kibana 中的使用者體驗不會變更。
必要條件
在 Kibana 中將資料從 Azure Data Explorer視覺化之前,請先備妥下列各項:
- Azure 訂用帳戶。 建立 Azure 免費帳戶。
- Azure Data Explorer叢集和資料庫。 您將需要叢集的 URL 和資料庫名稱。
- Helm v3,Kubernetes套件管理員。
- Azure Kubernetes Service (AKS) 叢集或任何其他 Kubernetes 叢集。 使用 1.21.2 版或更新版本,至少有三個Azure Kubernetes Service節點。 1.21.2 版已經過測試和驗證。 如果您需要 AKS 叢集,請參閱如何使用Azure CLI或使用Azure 入口網站來部署 AKS 叢集。
- 授權在 Azure Data Explorer中檢視資料的Microsoft Entra服務主體,包括用戶端識別碼和用戶端密碼。 或者,您可以使用 系統指派的受控識別。
如果您選擇使用Microsoft Entra服務主體,則必須建立Microsoft Entra服務主體。 針對安裝,您將需要 ClientID 和秘密。 建議您使用具有檢視器許可權的服務主體,並不建議您使用較高層級的許可權。 若要指派許可權,請參閱管理Azure 入口網站中的資料庫許可權,或使用管理命令來管理資料庫安全性角色。
如果您選擇使用系統指派的身分識別,您必須取得位於所產生 「[MC_xxxx]」資源) 群組中的代理程式組件區受控識別ClientID (
在 AKS Azure Kubernetes Service () 上執行 K2Bridge
根據預設,K2Bridge 的 Helm 圖表會參考位於 Microsoft Container Registry (MCR) 的公開可用映射。 MCR 不需要任何認證。
下載必要的 Helm 圖表。
將 Elasticsearch 相依性新增至 Helm。 需要相依性,因為 K2Bridge 使用小型的內部 Elasticsearch 實例。 實例服務中繼資料相關的要求,例如索引模式查詢和已儲存的查詢。 這個內部實例不會儲存任何商務資料。 您可以將 實例視為實作詳細資料。
若要將 Elasticsearch 相依性新增至 Helm,請執行下列命令:
helm repo add elastic https://helm.elastic.co helm repo update
若要從 GitHub 存放庫的圖表目錄取得 K2Bridge 圖表:
從 GitHub複製存放庫。
移至 K2Bridges 根存放庫目錄。
執行此命令:
helm dependency update charts/k2bridge
部署 K2Bridge。
將變數設定為環境的正確值。
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。
選擇性地啟用 Application Insights 遙測。 如果您第一次使用 Application Insights,請建立 Application Insights 資源。 將檢測金鑰複製到 變數。
APPLICATION_INSIGHTS_KEY=[INSTRUMENTATION_KEY] COLLECT_TELEMETRY=true
安裝 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]
在 [ 組態] 中,您可以找到一組完整的組態選項。
上一個命令的輸出會建議下一個 Helm 命令來部署 Kibana。 選擇性地執行此命令:
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
使用埠轉送來存取 localhost 上的 Kibana。
kubectl port-forward service/kibana-kibana 5601 --namespace k2bridge
移至 以連線到 http://127.0.0.1:5601 Kibana。
向使用者公開 Kibana。 有許多方法可以這麼做。 您使用的方法主要取決於您的使用案例。
例如,您可以將服務公開為Load Balancer服務。 若要這樣做,請將 --set service.type=LoadBalancer 參數新增至 先前的 Kibana Helm install 命令。
然後執行此命令:
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。
設定索引模式以存取您的資料。
在新 Kibana 實例中:
- 開啟 Kibana。
- 流覽至 [管理]。
- 選取 [索引模式]。
- 建立索引模式。 索引的名稱必須與資料表名稱或函式名稱完全相符,而不需星號 (*) 。 您可以從清單中複製相關行。
注意
若要在其他 Kubernetes 提供者上執行 K2Bridge,請變更 values.yaml 中的 Elasticsearch storageClassName 值,以符合提供者建議的值。
探索資料
當 Azure Data Explorer設定為 Kibana 的資料來源時,您可以使用 Kibana 來探索資料。
在 Kibana 中,選取 [ 探索] 索引卷 標。
從索引模式清單中,選取定義要探索之資料來源的索引模式。 在這裡,索引模式是 Azure Data Explorer 資料表。
如果您的資料具有時間篩選欄位,您可以指定時間範圍。 在 [ 探索] 頁面右上方,選取時間篩選準則。 根據預設,頁面會顯示過去 15 分鐘的資料。
結果資料表會顯示前 500 筆記錄。 您可以展開檔,以 JSON 或資料表格式檢查欄位資料。
您可以選取功能變數名稱旁的 [新增], 將特定資料行新增至結果資料表。 根據預設,結果資料表會包含 _source 資料行,如果時間欄位存在, 則為 Time 資料行。
在查詢列中,您可以透過下列方式搜尋資料:
- 輸入搜尋字詞。
- 使用 Lucene 查詢語法。 例如:
- 搜尋「錯誤」以尋找包含此值的所有記錄。
- 搜尋「狀態:200」,以取得狀態值為 200 的所有記錄。
- 使用邏輯運算子 AND、 OR和 NOT。
- 使用星號 (*) 和問號 (?) 萬用字元。 例如,查詢 「destination_city: L*」 會比對目的地城市值開頭為 「L」 或 「l」 的記錄。 (K2Bridge 不區分大小寫。)
注意
僅支援 kibana 的 Lucene 查詢語法。 請勿使用 KQL 選項,這代表 Kibana 查詢語言。
提示
在 [搜尋] 中,您可以找到更多搜尋規則和邏輯。
若要篩選搜尋結果,請使用 [可用] 欄位 清單。 欄位清單是您可以看到的位置:
- 欄位的前五個值。
- 包含欄位的記錄數目。
- 包含每個值的記錄百分比。
提示
使用放大鏡來尋找具有特定值的所有記錄。
您也可以使用放大鏡來篩選結果,並查看結果資料表中每個記錄的結果資料表格式檢視。
選取 [ 儲存 ] 或 [ 共用 ] 以保留您的搜尋。
視覺化資料
使用 Kibana 視覺效果來快速檢視 Azure Data Explorer資料。
從 [探索] 索引標籤建立視覺效果
若要建立垂直列視覺效果,請在 [ 探索 ] 索引標籤中,找出 [可用的欄位 ] 側邊列。
選取功能變數名稱,然後按一下 [ 視覺化]。
[ 視覺化] 索引標籤隨即開啟,並顯示視覺效果。 若要編輯視覺效果的資料和計量,請參閱 從 [視覺化] 索引標籤建立視覺效果。
從 [視覺化] 索引標籤建立視覺效果
選取 [ 視覺化] 索引標籤,然後按一下 [ 建立視覺效果]。
在 [ 新增視覺效果] 視窗中,選取視覺效果類型。
視覺效果產生之後,您可以編輯計量,並新增最多一個貯體。
注意
K2Bridge 支援一個貯體匯總。 某些匯總支援搜尋選項。 使用 Lucene 語法,而非代表 Kibana 查詢語言語法的 KQL 選項。
重要
- 支援下列視覺效果:
Vertical bar
、、Area chart
Line chart
、Horizontal bar
、Pie chart
、Heat map
Data table
Gauge
Goal chart
和 。Metric chart
- 支援下列計量:
Average
、Count
、Max
、Median
、Min
、Percentiles
、Standard deviation
Sum
、、Top hits
和Unique count
。 - 不支援計量
Percentiles ranks
。 - 使用貯體匯總是選擇性的,您可以在沒有貯體匯總的情況下將資料視覺化。
- 支援下列貯體:
No bucket aggregation
、、Date histogram
、Range
Filters
、、Date range
、Histogram
和Terms
。 - 不支援貯體
IPv4 range
和Significant terms
。
建立儀表板
您可以使用 Kibana 視覺效果建立儀表板,以摘要、比較和對比 Azure Data Explorer資料的概覽檢視。
若要建立儀表板,請選取 [ 儀表板] 索引卷 標,然後按一下 [ 建立新的儀表板]。
新的儀表板會在編輯模式中開啟。
若要新增視覺效果面板,請按一下 [ 新建]。
若要新增您已建立的視覺效果,請按一下 [ 新增現有的 ],然後選取視覺效果。
若要排列面板、依優先順序組織面板、調整面板大小等等,請按一下 [ 編輯],然後使用下列選項:
- 若要移動面板,請按一下並按住面板標頭,然後拖曳至新的位置。
- 若要調整面板大小,請按一下調整大小控制項,然後拖曳至新的維度。