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