在 Grafana 中從 Azure 資料總管將資料視覺化
本文內容
Grafana 是一個分析平臺,您可以在其中查詢和可視化數據,然後根據您的視覺效果建立和共用儀錶板。 Grafana 提供 Azure Data Explorer 外掛程式 ,可讓您從 Azure Data Explorer 連線並可視化數據。 外掛程式可與 Azure 受控 Grafana 和自我裝載 Grafana 搭配運作。
在本文中,您將瞭解如何將 叢集設定為 Grafana 的數據源 ,並將 Grafana 中適用於 Azure Managed Grafana 和自我裝載 Grafana 的數據可視化。 若要遵循本文中的範例, 請擷取 StormEvents 範例數據 。 StormEvents 範例數據集包含 來自國家環境資訊中心 天氣相關數據。
必要條件
若要將 Azure Data Explorer 設定為數據源,請遵循 Grafana 環境的步驟。
將受控識別新增至查看器角色
受控 Grafana 預設會為每個新的工作區建立系統指派的受控識別。 您可以使用它來存取 Azure Data Explorer 叢集。
在 Azure 入口網站中,移至您的 Azure 資料總管叢集。
在 [ 概觀 ] 區段中,選取具有 StormEvents 範例數據的資料庫。
選取 [許可權 >新增 >查看器 ]。
在搜尋方塊中,輸入您的Managed Grafana工作區名稱。
在搜尋結果中,選取符合您工作區名稱的結果,然後選擇 [ 選取 ]。
將 Azure Data Explorer 設定為 Grafana 數據源
受控 Grafana 工作區隨附預安裝 Azure Data Explorer 外掛程式。
在 Azure 入口網站 中,移至您的 Managed Grafana 工作區。
在 [ 概觀 ] 底下,選取 [端點 ] 鏈接以開啟 Grafana UI。
在 Grafana 的左側功能表上,選取齒輪圖示。 然後選取 [數據源 ]。
選取 [Azure Data Explorer 數據源 ]。
在 [連線詳細數據] 中,輸入您的 Azure Data Explorer 叢集 URL。
選取 [儲存並測試] 。
建立服務主體
您可以在 Azure 入口網站 或使用 Azure CLI 命令行體驗來建立服務主體。 建立服務主體之後,您會取得四個連接屬性的值,您將在後續步驟中使用。
Azure 入口網站
請遵循 Azure 入口網站 檔中 的指示。 使用此特定資訊:
在將應用程式指派給角色 的區段中,將讀者 角色類型指派給您的 Azure 資料總管叢集。
在 [取得登入的值 ] 區段中,複製步驟中涵蓋之三個屬性的值: 目錄 標識碼 (租使用者標識符) 、 應用程式 標識符和 密碼 。
在 Azure 入口網站中,選取 [訂用帳戶] 。 然後複製您建立服務主體之訂用帳戶的標識碼。
Azure CLI
使用下列命令來建立服務主體。 設定適當的範圍和 reader
角色類型。
az ad sp create-for-rbac --name "https://{UrlToYourDashboard}:{PortNumber}" --role "reader" \
--scopes /subscriptions/{SubID}/resourceGroups/{ResourceGroupName}
如需詳細資訊,請參閱 使用 Azure CLI 建立 Azure 服務主體 。
此命令會傳回結果集,例如下列範例。 複製、 password
和 tenant
屬性的值appId
。
{
"appId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"displayName": "{UrlToYourDashboard}:{PortNumber}",
"name": "https://{UrlToYourDashboard}:{PortNumber}",
"password": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"tenant": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
取得訂用帳戶清單:
az account list --output table
複製正確的訂用帳戶識別碼。
將服務主體新增至查看器角色
現在您已擁有服務主體,請將它新增至 Azure Data Explorer 資料庫中的查看器 角色。 您可以在 Azure 入口網站中的 [權限] 底下執行此工作,或在 [查詢] 底下使用管理命令來執行。
Azure 入口網站:許可權
在 Azure 入口網站中,移至您的 Azure 資料總管叢集。
在 [ 概觀 ] 區段中,選取具有 StormEvents 範例數據的資料庫。
選取 [權限]>[新增]。
在 [新增資料庫許可權] 底下,選取 [查看器 ] 角色,然後選擇 [ 選取主體 ]。
搜尋您所建立的服務主體。 選取主體,然後選擇 [ 選取 ]。
選取 [儲存]。
管理命令:查詢
在 Azure 入口網站 中,移至您的 Azure Data Explorer 叢集,然後選取 [查詢 ]。
在查詢視窗中執行下列命令。 使用來自 Azure 入口網站 或 Azure CLI 的應用程式識別碼和租使用者識別碼。
.add database {TestDatabase} viewers ('aadapp={ApplicationID};{TenantID}')
命令會傳回結果集。 在下列範例中,第一個數據列適用於資料庫中的現有使用者。 第二個數據列適用於您剛才新增的服務主體。
指定屬性並測試連線
使用指派給查看器 角色的服務主體,您現在會在 Grafana 實例中指定屬性,並測試與 Azure Data Explorer 的連線。
在 Grafana 的左側功能表上,選取齒輪圖示。 然後選取 [數據源 ]。
選取 [新增資料來源] 。
在 [數據源/ 新增 ] 頁面上,輸入數據源的名稱,然後選取 [Azure Data Explorer 數據源 ] 類型。
在 [ 設定 >連線詳細數據 ] 中,以 表單 https://{ClusterName}.{Region}.kusto.windows.net
輸入叢集的名稱。 輸入 Azure 入口網站 或 Azure CLI 中的其他值。 使用下列對應信息作為指南。
Grafana UI
Azure 入口網站
Azure CLI
訂用帳戶標識碼
訂用帳戶標識碼
SubscriptionId
租用戶標識碼
目錄識別碼
tenant
用戶端識別碼
應用程式識別碼
appId
用戶端密碼
密碼
password
選取 [儲存並測試] 。
如果測試成功,請移至下一節。 如果您有任何問題,請檢查您在 Grafana 中指定的值,並檢閱先前的步驟。
最佳化查詢
您可以使用兩個功能進行查詢優化:
若要執行優化,請在 [數據源 >設定 >查詢優化 ] 中,進行所需的變更。
當儀錶板或視覺效果由一或多個使用者多次轉譯時,Grafana 預設會將至少一個查詢傳送至 Azure Data Explorer。 啟用查詢結果快取 以改善儀錶板轉譯效能,並減少 Azure Data Explorer 叢集上的負載。
在指定的時間範圍內,Azure Data Explorer 會使用結果快取來擷取先前的結果,而且不會執行不必要的查詢。 當多個使用者使用相同的儀錶板時,這項功能在減少資源負載並改善效能時特別有效。
若要啟用結果快取轉譯,請在 [ 查詢優化 ] 窗格上執行下列動作:
關閉 [使用動態快取 ]。
在 [ 快取最大存留期 ] 中,輸入您想要使用快取結果的分鐘數。
啟用弱式一致性
叢集會以強式一致性進行設定。 此預設組態可確保查詢結果是叢集中所有變更的最新狀態。
當您啟用弱式一致性時,查詢結果在叢集變更之後可能會有 1 到 2 分鐘的延遲。 不過,弱式一致性可能會提升視覺轉譯時間。 如果立即一致性不重要,且效能為臨界,請啟用弱式一致性以改善效能。 如需詳細資訊,請參閱 查詢一致性 。
若要啟用弱式一致性,請在 [ 查詢優化 ] 窗格中,選取 [ 數據一致性 >弱式 ]。
視覺化資料
您已完成將 Azure Data Explorer 設定為 Grafana 的數據源。 現在是時候將數據可視化。
下列基本範例會使用查詢產生器模式和查詢編輯器的原始模式。 建議您檢視 Azure Data Explorer 的撰寫查詢 ,以取得針對數據集執行的其他查詢範例。
在 Grafana 的左側功能表上,選取加號圖示。 然後選取 [ 儀錶板 ]。
在 [新增] 索引標籤底下,選取 [圖表] 。
在圖形窗格中,選取 [ 面板標題 >編輯 ]。
在窗格底部,選取 [數據源 ],然後選取您設定的數據源。
查詢產生器模式
使用查詢產生器模式來定義您的查詢。
在數據源下方,選取 [ 資料庫 ],然後從下拉式清單中選擇您的資料庫。
選取 [來源 ],然後從下拉式清單中選擇您的數據表。
現在已定義資料表,請篩選資料:
選取 + [ 位置] (篩選) 右側,以選取數據表中的一或多個數據行。
針對每個篩選條件,請使用適用的運算符來定義值。 此選取範圍類似於使用 Kusto 查詢語言 中的 where 運算符 。
選取資料表中要呈現的值:
選取 + [ 值 ] 資料行右邊,以選取將出現在窗格上的值數據行。
針對每個值數據行,設定匯總類型。
您可以設定一或多個值資料行。 這個選取範圍相當於使用 summarize運算元 。
選取 + [ 群組] 的右邊, (摘要) 選取一或多個數據行,以便用來將值排列成群組。 這個選取範圍相當於運算符中的 summarize
群組表達式。
選取 [執行查詢]。
提示
當您在查詢產生器中完成設定時,就會建立 Kusto 查詢語言 查詢。 此查詢會顯示您使用圖形化查詢編輯器所建構的邏輯。
選取 [編輯 KQL ] 以移至原始模式。 使用 Kusto 查詢語言 的彈性和功能來編輯查詢。
原始模式
使用原始模式編輯查詢。
在查詢窗格中,貼上下列查詢,然後選取 [ 執行 ]。 查詢會將範例數據集的事件計數貯體。
StormEvents
| summarize event_count=count() by bin(StartTime, 1d)
圖表不會顯示任何結果,因為其範圍預設為 (,) 過去六小時的數據。 在頂端功能表上,選取 [過去 6 小時] 。
指定涵蓋 2007 的自定義範圍,也就是 StormEvents 範例數據集中包含的年份。 然後選取 [套用]。
現在圖表會顯示 2007 中的資料,並依據日期分佈。
在頂端選單上,選取儲存圖示: 。
若要切換至查詢產生器模式,請選取 [ 切換至產生器 ]。 Grafana 會將查詢轉換成查詢產生器中的可用邏輯。 查詢產生器邏輯有限,因此您可能會失去對查詢所做的手動變更。
建立警示
在 [首頁儀錶板 ] 中,選取 [ 警示 >通知通道 ] 以建立新的通知通道。
在 [ 新增通知通道 ] 下輸入名稱和輸入 ,然後選取 [ 儲存 ]。
在儀錶板上,從下拉式清單中選取 [ 編輯 ]。
選取警示鈴鐺圖示以開啟 [ 警示 ] 窗格。 選取 [建立警示 ],然後完成警示的屬性。
選取 [ 儲存儀錶板 ] 圖示以儲存變更。
相關內容