在 Grafana 中監視 Azure 服務
您可以使用 Grafana 以及包含在內的 Azure 監視器資料來源外掛程式,監視 Azure 服務和應用程式。 外掛程式會從下列 Azure 服務擷取資料:
- Azure 資源中數值時間序列資料的 Azure 監視器計量。
- 適用於 Azure 資源的記錄和效能資料的 Azure 監視器記錄,可讓您使用功能強大的 Kusto 查詢語言 (KQL) 進行查詢。 您可以使用 Application Insights 記錄查詢來擷取 Application Insights 記錄型計量
- Application Insights 記錄型計量可讓您分析受監視應用程式的健康情況。 您可以使用 Grafana 中的 Application Insights 記錄查詢來使用 Application Insights 記錄計量資料。
- Azure Resource Graph 可跨訂用帳戶快速查詢和識別 Azure 資源。
然後,您可以在 Grafana 儀表板上顯示此效能及可用性資料。
使用下列步驟設定 Grafana 伺服器,並為 Azure 監視器中的計量和記錄建置儀表板。
設定 Grafana
請遵循下列步驟來設定 Grafana。
設定 Azure 受控 Grafana
Azure 受控 Grafana 已針對 Azure 環境最佳化,並可順暢地與 Azure 監視器搭配運作。 您可以:
- 使用 Microsoft Entra 身分識別來管理使用者驗證和存取控制。
- 將圖表從 Azure 入口網站直接釘選至 Azure 受控 Grafana 儀表板。
使用此快速入門指南,來使用 Azure 入口網站建立 Azure 受控 Grafana 工作區。
在本機設定 Grafana
若要設定本機的 Grafana 伺服器,請在您的本機環境中下載並安裝 Grafana。
登入 Grafana
重要
Internet Explorer 和較舊的 Microsoft Edge 瀏覽器無法與 Grafana 相容。 您必須使用以 Chromium 為基礎的瀏覽器,包括 Microsoft Edge。 如需詳細資訊,請參閱 Grafana 支援的網頁瀏覽器。
使用 Azure 受控 Grafana 工作區的端點 URL 或您伺服器的 IP 位址來登入 Grafana。
設定 Azure 監視器資料來源外掛程式
Azure 受控 Grafana 包含 Azure 監視器資料來源外掛程式。 根據預設,外掛程式會預先設定受控識別,其可查詢和視覺化來自部署 Grafana 工作區之訂用帳戶中所有資源的監視資料。 直接跳到<建置 Grafana 儀表板>一節。
您可以藉由設定其他權限,將包含的受控識別指派給其他訂用帳戶或資源上的監視讀者角色,來擴充 Azure 受控 Grafana 工作區可檢視的資源。
如果您使用非 Azure 受控 Grafana 的執行個體,則必須設定 Azure 監視器資料來源。
如果您要在自己的 Azure 虛擬機器或已啟用受控識別的 Azure App Service 執行個體上裝載 Grafana,您可以使用此方法進行驗證。 不過,如果您的 Grafana 執行個體未裝載於 Azure 上,或未啟用受控識別,您必須使用應用程式註冊搭配 Azure 服務主體來設定驗證。
使用受控識別
在您的 VM 或 App Service 執行個體上啟用受控識別,並將 Grafana 伺服器受控識別支援設定變更為 [true]。
- 裝載用 VM 或 App Service 執行個體的受控識別必須獲派訂用帳戶、資源群組或感興趣資源的監視讀者角色。
- 您也需要更新 Grafana 伺服器設定中的
managed_identity_enabled = true
設定。如需詳細資訊,請參閱 Grafana 設定。 完成這兩個步驟之後,您就可以儲存和測試存取權。
選取 [儲存與測試],Grafana 將會測試該登入資訊。 您應該會看見類似下方的訊息。
使用應用程式註冊
建立服務主體。 Grafana 會使用 Microsoft Entra 服務主體來連線到 Azure 監視器 API 並收集資料。 您必須建立或使用現有的服務主體來管理對 Azure 資源的存取:
- 請參閱在入口網站中建立 Microsoft Entra 應用程式和服務主體來建立服務主體。 複製並儲存您的租用戶識別碼 (目錄識別碼)、用戶端識別碼 (應用程式識別碼) 和用戶端密碼 (應用程式機碼值)。
- 檢視 [將應用程式指派至角色],以將監視讀者角色指派給要監視的訂用帳戶、資源群組或資源上的 AMicrosoft Entra 應用程式。
提供您想要使用的連線詳細資料:
- 當您設定外掛程式時,您可以指出您想要外掛程式監視的 Azure 雲端:公用、Azure 美國政府、Azure 德國或由 21Vianet 營運的 Microsoft Azure。
注意
某些資料來源欄位的命名方式,與其相互關聯的 Azure 設定不同:
- 租用戶識別碼是 Azure Directory 識別碼。
- 用戶端識別碼是 Microsoft Entra 應用程式識別碼。
- 用戶端密碼是 Microsoft Entra Application 金鑰值。
- 當您設定外掛程式時,您可以指出您想要外掛程式監視的 Azure 雲端:公用、Azure 美國政府、Azure 德國或由 21Vianet 營運的 Microsoft Azure。
選取 [儲存與測試],Grafana 將會測試該登入資訊。 您應該會看見類似下方的訊息。
使用現成可用的儀表板
Azure 監視器包含現成可用的儀表板,可與 Azure 受控 Grafana 和 Azure 監視器外掛程式搭配使用。
Azure 監視器也支援現成可用的儀表板,可與適用於 Prometheus 的 Azure 監視器受管理服務緊密整合。 當連結至適用於 Prometheus 的 Azure 監視器受管理服務時,這些儀表板會自動部署到 Azure 受控 Grafana。
建置 Grafana 儀表板
移至 Grafana 首頁,然後選取 [新增儀表板]。
在新的儀表板中選取 [圖形]。 您可以嘗試其他圖表選項,但本文使用 [圖形] 作為範例。
空白的圖形會出現在儀表板中。 選取面板標題,然後選取 [編輯] 輸入您想要在此圖表中繪製的資料詳細資料。
選取已設定的 Azure 監視器資料來源。
視覺化 Azure 監視器計量:在服務下拉式清單中選取 [Azure 監視器]。 這會顯示一個選取器清單,您可以在其中選取要在此圖表中監視的資源和計量。 若要從 VM 收集計量,請使用
Microsoft.Compute/VirtualMachines
命名空間。 一旦您選取 VM 和計量後,您就可以開始在儀表板中檢視其資料。視覺化 Azure 監視器記錄資料:在服務下拉式清單中選取 [Azure Log Analytics]。 選取您想要查詢的工作區並設定查詢文字。 您可以在此複製已有的任何記錄查詢,或建立一個新的記錄查詢。 當您輸入查詢時,IntelliSense 會建議自動完成選項。 選取視覺效果類型:[時間序列]>[資料表],然後執行查詢。
注意
外掛程式所提供的預設查詢會使用兩個巨集:
$__timeFilter()
和$__interval
。 當您放大圖表的一部分時,這些巨集允許 Grafana 動態計算時間範圍和時間資料粒度。 您可以移除這些巨集並使用標準時間篩選條件,例如TimeGenerated > ago(1h)
,但這表示圖形不支援縮放功能。
下列儀表板有兩個圖表。 左邊的這份顯示兩個 VM 的 CPU 百分比。 右側的圖表依交易 API 類型細分,顯示 Azure 儲存體帳戶中的交易。
將圖表從 Azure 入口網站釘選至 Azure 受控 Grafana
除了在 Grafana 中組建面板之外,您也可以直接從 Azure 監視器將面板新增至 Grafana 儀表板,以快速將 Azure 監視器視覺效果從 Azure 入口網站釘選至新的或現有的 Grafana 儀表板。 移至資源的計量。 建立圖表,然後選取 [儲存到儀表板],後面接著 [釘選到 Grafana]。 選擇工作區和儀表板,然後選取 [釘選] 以完成作業。
Grafana 進階功能
Grafana 具有進階功能。
變數
可以透過 UI 下拉式清單選取某些查詢值,並在查詢中更新。 請考慮下列查詢作為範例:
Usage
| where $__timeFilter(TimeGenerated)
| summarize total_KBytes=sum(Quantity)*1024 by bin(TimeGenerated, $__interval)
| sort by TimeGenerated
您可以設定一個變數,列出所有可用的解決方案值,然後再更新您的查詢來使用它。 若要建立新的變數,請選取右上方區域中儀表板的 [設定] 按鈕,選取 [變數],然後選取 [新增]。 在 [變數] 頁面上,定義要執行的資料來源和查詢以取得值清單。
建立之後,請調整查詢以使用選取的值,您的圖表將相應地做出回應:
Usage
| where $__timeFilter(TimeGenerated) and Solution in ($Solutions)
| summarize total_KBytes=sum(Quantity)*1024 by bin(TimeGenerated, $__interval)
| sort by TimeGenerated
建立儀表板播放清單
Grafana 有許多實用功能,儀表板播放清單就是其中之一。 您可以建立多個儀表板,並將它們新增至播放清單,設定每個儀表板的顯示間隔。 選取 [播放] 查看循環播放的儀表板。 您可能想要在大型的牆面監視器中顯示它們,為群組提供「狀態面板」。
選擇性:監視相同 Grafana 儀表板中的其他資料來源
有許多資料來源外掛程式可將這些計量結合在儀表板中。
以下是如何使用 Telegraf、InfluxDB、適用於 Prometheus 的 Azure 監視器受管理服務和 Docker 的良好參考文章:
- 如何針對 Azure 受控 Grafana 設定資料來源
- 使用適用於 Prometheus 的 Azure 監視器受管理服務作為使用受控系統身分識別的 Grafana 資料來源
- 如何在 Ubuntu 16.04 上使用刻度堆疊監視系統計量
- A monitoring solution for Docker hosts, containers, and containerized services (Docker 主機、容器和容器化服務的監視解決方案)
以下是完整的 Grafana 儀表板映像,具有來自 Azure 監視器和 Application Insights 的計量。
清除資源
如果您在 Azure 上設定了 Grafana 環境,則無論您是否使用該環境,都會在資源執行時向您收取費用。 為避免產生額外費用,請清除依本文建立的資源群組。
- 在 Azure 入口網站的左側功能表上,選取 [資源群組]>[Grafana]。
- 在資源群組頁面上,選取 [刪除],在文字方塊中輸入 Grafana,然後選取 [刪除]。