將 Grafana 連線至 Azure 監視器 Prometheus 計量
分析和呈現 Prometheus 資料最常見的方式是使用 Grafana 儀表板。 您可以透過下列方式在 Azure 中收集 Prometheus 計量:
本文說明如何將 Azure 裝載的 Prometheus 計量設定為 Azure 受控 Grafana 的數據源 、在 Azure 虛擬機上執行的自我裝載 Grafana,或 Azure 外部執行的 Grafana 實例。
Azure 監視器工作區查詢端點
在 Azure 中,Prometheus 數據會儲存在 Azure 監視器工作區中。 在 Grafana 中設定 Prometheus 數據源時,您可以使用 Azure 監視器工作區的 查詢端點 。 若要尋找查詢端點,請在 Azure 入口網站 中開啟 Azure 監視器工作區的 [概觀] 頁面。
Azure 受控 Grafana
當您建立 Azure 受控 Grafana 實例時,會自動使用受控系統身分識別進行設定。 身分識別具有 在訂用帳戶層級指派給它的監視數據讀取者 角色。 此角色可讓身分識別讀取訂用帳戶的任何監視數據。 此身分識別可用來向 Azure 監視器驗證 Grafana。 您不需要執行任何動作來設定身分識別。
在 Grafana 中建立 Prometheus 數據源。
若要將 Prometheus 設定為數據源,請遵循下列步驟:
- 在 Azure 入口網站中開啟 Azure 受控 Grafana 工作區。
- 選取 [端點] 以檢視 Grafana 工作區。
- 選取 [連線],然後選取 [數據源]。
- 選取 [新增數據源]
- 搜尋並選取 [Prometheus]。
- 將 Azure 監視器工作區中的查詢端點貼到 [Prometheus 伺服器 URL ] 欄位中。
- 在 [驗證] 底下,選取 [Azure 驗證]。
- 在 [Azure 驗證] 下,從 [驗證] 下拉式清單中選取 [受控識別]。
- 捲動到頁面底部,然後選取 [儲存與測試]。
自我管理 Grafana
下一節說明如何在 Azure 虛擬機上設定自我管理 Grafana,以使用 Azure 裝載的 Prometheus 數據。
使用下列步驟來允許存取資源群組或訂用帳戶中的所有 Azure 監視器工作區:
在 Azure 入口網站中開啟虛擬機器的 [身分識別] 頁面。
將 [狀態] 設定為 [開啟]。
選取儲存。
選取 [Azure 角色指派],以檢閱訂用帳戶中的現有存取權。
如果訂用帳戶或資源群組未列出監視數據讀取者角色,請選取 [+ 新增角色指派]
在 [ 範圍] 下拉式清單中,選取 [ 訂用帳戶 ] 或 [資源群組]。 選取 [ 訂 用帳戶] 可讓您存取訂用帳戶中的所有 Azure 監視器工作區。 選取 [資源群組 ] 僅允許存取所選資源群組中的 Azure 監視器工作區。
選取 Azure 監視器工作區所在的特定訂用帳戶或資源群組。
從 [ 角色] 下拉式清單中,選取 [ 監視數據讀取器]。
選取儲存。
9.x 版和更新版本的 Grafana 支援 Azure 驗證,但預設不會啟用。 若要啟用 Azure 驗證,請更新 Grafana 設定,然後重新啟動 Grafana 實例。 若要尋找您的 grafana.ini
檔案,請檢閱 從 Grafana Labs 設定 Grafana 檔。
使用下列步驟啟用 Azure 驗證:
找出並開啟 grafana.ini
虛擬機上的檔案。
在設定檔的 [auth]
區段下,將 azure_auth_enabled
設定變更為 true
。
在設定檔的 [azure]
區段下,將 managed_identity_enabled
設定變更為 true
重新啟動 Grafana 實例。
在 Grafana 中建立 Prometheus 數據源
使用下列步驟將 Prometheus 設定為數據源:
在瀏覽器中開啟 Grafana。
選取 [連線],然後選取 [數據源]。
選取 [新增數據源]
搜尋並選取 [Prometheus]。
將 Azure 監視器工作區中的查詢端點貼到 [Prometheus 伺服器 URL ] 欄位中。
在 [驗證] 底下,選取 [Azure 驗證]。
在 [Azure 驗證] 下,從 [驗證] 下拉式清單中選取 [受控識別]。
捲動到頁面底部,然後選取 [儲存與測試]。
裝載於 Azure 外部的 Grafana
如果您的 Grafana 實體未載入於 Azure 中,您可以使用 Microsoft Entra ID 連線到 Azure 監視器工作區中的 Prometheus 數據。
使用下列步驟設定Microsoft Entra ID 驗證:
- 使用 Microsoft Entra ID 註冊應用程式。
- 將應用程式的存取權授與 Azure 監視器工作區。
- 使用應用程式的認證設定自我裝載 Grafana。
使用 Microsoft Entra ID 註冊應用程式
若要註冊應用程式,請在 Azure 入口網站中開啟 [Active Directory 概觀] 頁面。
選取 [ 應用程式註冊]。
在 [註冊應用程式] 頁面上,輸入應用程式的 [名稱]。
選取註冊。
請記下 [應用程式 (用戶端) 識別碼] 與 [目錄 (租用戶) 識別碼]。 這兩個值會用於 Grafana 驗證設定中。
在應用程式的概觀頁面,選取 [憑證和祕密]。
在 [用戶端密碼] 索引標籤中,選取 [新增用戶端密碼]。
輸入說明。
從下拉式清單中選取 [到期] 期間,然後選取 [新增]。
注意
建立程序以更新秘密,並在秘密到期之前更新您的 Grafana 資料來源設定。
秘密到期之後,Grafana 就無法從 Azure 監視器工作區查詢數據。
複製並儲存用戶端密碼值。
注意
用戶端密碼值只能在建立之後立即檢視。 請務必先儲存該密碼值,再離開頁面。
允許應用程式存取工作區
允許應用程式查詢 Azure 監視器工作區中的資料。
在 Azure 入口網站中開啟 [Azure 監視器] 工作區。
在 [概觀] 頁面上,記下 [查詢端點]。 設定 Grafana 資料來源時會使用此查詢端點。
選取 [存取控制 (IAM)]。
選取 [新增],然後從 [存取控制 (IAM)] 頁面選取 [新增角色指派]。
在 [新增角色指派] 頁面上,搜尋 [監視]。
選取 [監視資料讀取器],然後選取 [成員] 索引標籤。
選取 [選取成員]。
搜尋並選取您在 [使用 Microsoft Entra ID 註冊應用程式] 區段中註冊的應用程式。
按一下 [選取]。
選取檢閱+指派。
您已建立應用程式註冊並指派存取權,讓它可以從 Azure 監視器工作區查詢資料。 下一個步驟是在 Grafana 中設定您的 Prometheus 資料來源。
Grafana 現在支援使用 Prometheus 資料來源連線到 Azure 監視器受控 Prometheus。 在自我裝載 Grafana 執行個體中,必須進行設定變更,以便在 Grafana 中使用 Azure 驗證選項。 針對 Azure 未管理的 Grafana 實例,請進行下列變更:
9.x 版和更新版本的 Grafana 支援 Azure 驗證,但預設不會啟用。 若要啟用 Azure 驗證,請更新 Grafana 設定,然後重新啟動 Grafana 實例。 若要尋找您的 grafana.ini
檔案,請檢閱 從 Grafana Labs 設定 Grafana 檔。
找出並開啟 grafana.ini
虛擬機上的檔案。
識別您的 Grafana 版本。
針對 Grafana 9.0,在 [feature_toggles]
區段中,將 設定 prometheus_azure_auth
為 true
。
針對 Grafana 9.1 和更新版本,在 [auth]
區段中,將 azure_auth_enabled
設定 true
設為 。
重新啟動 Grafana 實例。
在 Grafana 中建立 Prometheus 數據源
使用下列步驟將 Prometheus 設定為數據源:
在瀏覽器中開啟 Grafana。
選取 [連線],然後選取 [數據源]。
選取 [新增數據源]
搜尋並選取 [Prometheus]。
將 Azure 監視器工作區中的 查詢端點貼到 [URL ] 字段中。
在 [驗證] 底下,選取 [Azure 驗證]。針對舊版 Grafana,在 [驗證] 下開啟 Azure 驗證
在 [Azure 驗證] 底下,從 [驗證] 下拉式清單中選取 [應用程式註冊]。
輸入您建立應用程式註冊時所產生的 Direct(tenant) 識別碼、應用程式(用戶端)標識碼和客戶端密碼。
捲動到頁面底部,然後選取 [儲存與測試]。
常見問題集
本節提供常見問題的答案。
我遺漏所有或部分計量。 如何進行疑難排解?
您可以使用這裡的疑難排解指南,從受控代理程式擷取 Prometheus 計量。
為什麼我遺漏的計量有兩個相同名稱但大小寫不同的標籤?
Azure 受控 Prometheus 是不區分大小寫的系統。 如果字串 (例如計量名稱、標籤名稱或標籤值) 與其他時間序列的區別只有字串的大小寫不同,則系統會將這些字串視為相同的時間序列。 如需詳細資訊,請參閱 Prometheus 計量概觀。
我發現計量資料有一些差距,為什麼會發生此狀況?
在節點更新期間,對於從我們的叢集層級收集器所收集的計量,計量資料可能會出現 1 分鐘到 2 分鐘的差距。 發生此差距是因為在正常更新程序中,執行資料的節點正在更新中。 此更新程序會影響整個叢集的目標,例如 kube-state-metrics 和指定的自訂應用程式目標。 手動或透過自動更新來更新您的叢集時,就會發生這種情況。 這是預期的行為,發生的原因是其執行所在的節點正在更新。 此行為不會影響任何建議的警示規則。
下一步