分享方式:


在 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 受控 Grafana 的執行個體,則必須設定 Azure 監視器資料來源。

  1. 選取 [新增資料來源],依 Azure 名稱篩選,然後選取 [Azure 監視器] 資料來源。

    顯示 Azure 監視器資料來源選取範圍的螢幕擷取畫面。

  2. 命名資料來源,並選擇受控識別或應用程式註冊以進行驗證。

如果您要在自己的 Azure 虛擬機器或已啟用受控識別的 Azure App Service 執行個體上裝載 Grafana,您可以使用此方法進行驗證。 不過,如果您的 Grafana 執行個體未裝載於 Azure 上,或未啟用受控識別,您必須使用應用程式註冊搭配 Azure 服務主體來設定驗證。

使用受控識別

  1. 在您的 VM 或 App Service 執行個體上啟用受控識別,並將 Grafana 伺服器受控識別支援設定變更為 [true]

    • 裝載用 VM 或 App Service 執行個體的受控識別必須獲派訂用帳戶、資源群組或感興趣資源的監視讀者角色
    • 您也需要更新 Grafana 伺服器設定中的 managed_identity_enabled = true 設定。如需詳細資訊,請參閱 Grafana 設定。 完成這兩個步驟之後,您就可以儲存和測試存取權。
  2. 選取 [儲存與測試],Grafana 將會測試該登入資訊。 您應該會看見類似下方的訊息。

    顯示 Azure 監視器資料來源的螢幕擷取畫面,其中包含已設定核准的受控識別。

使用應用程式註冊

  1. 建立服務主體。 Grafana 會使用 Microsoft Entra 服務主體來連線到 Azure 監視器 API 並收集資料。 您必須建立或使用現有的服務主體來管理對 Azure 資源的存取:

  2. 提供您想要使用的連線詳細資料:

    • 當您設定外掛程式時,您可以指出您想要外掛程式監視的 Azure 雲端:公用、Azure 美國政府、Azure 德國或由 21Vianet 營運的 Microsoft Azure。

      注意

      某些資料來源欄位的命名方式,與其相互關聯的 Azure 設定不同:

      • 租用戶識別碼是 Azure Directory 識別碼。
      • 用戶端識別碼是 Microsoft Entra 應用程式識別碼。
      • 用戶端密碼是 Microsoft Entra Application 金鑰值。
  3. 選取 [儲存與測試],Grafana 將會測試該登入資訊。 您應該會看見類似下方的訊息。

    顯示 Azure 監視器資料來源設定的螢幕擷取畫面,其中包含已核准的應用程式註冊。

使用現成可用的儀表板

Azure 監視器包含現成可用的儀表板,可與 Azure 受控 Grafana 和 Azure 監視器外掛程式搭配使用。

顯示現成 Azure 監視器 grafana 儀錶板的螢幕擷取畫面。

Azure 監視器也支援現成可用的儀表板,可與適用於 Prometheus 的 Azure 監視器受管理服務緊密整合。 當連結至適用於 Prometheus 的 Azure 監視器受管理服務時,這些儀表板會自動部署到 Azure 受控 Grafana。

顯示Azure 監視器適用於 Prometheus 的受管理服務之現成 Azure 監視器 grafana 儀錶板的螢幕擷取畫面。

建置 Grafana 儀表板

  1. 移至 Grafana 首頁,然後選取 [新增儀表板]

  2. 在新的儀表板中選取 [圖形]。 您可以嘗試其他圖表選項,但本文使用 [圖形] 作為範例。

  3. 空白的圖形會出現在儀表板中。 選取面板標題,然後選取 [編輯] 輸入您想要在此圖表中繪製的資料詳細資料。

    顯示 Grafana 新面板下拉式清單選項的螢幕擷取畫面。

  4. 選取已設定的 Azure 監視器資料來源。

    • 視覺化 Azure 監視器計量:在服務下拉式清單中選取 [Azure 監視器]。 這會顯示一個選取器清單,您可以在其中選取要在此圖表中監視的資源和計量。 若要從 VM 收集計量,請使用 Microsoft.Compute/VirtualMachines 命名空間。 一旦您選取 VM 和計量後,您就可以開始在儀表板中檢視其資料。

      顯示 Azure 監視器計量之 Grafana 面板設定的螢幕擷取畫面。

    • 視覺化 Azure 監視器記錄資料:在服務下拉式清單中選取 [Azure Log Analytics]。 選取您想要查詢的工作區並設定查詢文字。 您可以在此複製已有的任何記錄查詢,或建立一個新的記錄查詢。 當您輸入查詢時,IntelliSense 會建議自動完成選項。 選取視覺效果類型:[時間序列]>[資料表],然後執行查詢。

      注意

      外掛程式所提供的預設查詢會使用兩個巨集:$__timeFilter()$__interval。 當您放大圖表的一部分時,這些巨集允許 Grafana 動態計算時間範圍和時間資料粒度。 您可以移除這些巨集並使用標準時間篩選條件,例如 TimeGenerated > ago(1h),但這表示圖形不支援縮放功能。

      Azure 監視器記錄之 Grafana 面板設定的螢幕擷取畫面。

  5. 下列儀表板有兩個圖表。 左邊的這份顯示兩個 VM 的 CPU 百分比。 右側的圖表依交易 API 類型細分,顯示 Azure 儲存體帳戶中的交易。

    具有兩個面板之 Grafana 儀錶板的螢幕擷取畫面。

將圖表從 Azure 入口網站釘選至 Azure 受控 Grafana

除了在 Grafana 中組建面板之外,您也可以直接從 Azure 監視器將面板新增至 Grafana 儀表板,以快速將 Azure 監視器視覺效果從 Azure 入口網站釘選至新的或現有的 Grafana 儀表板。 移至資源的計量。 建立圖表,然後選取 [儲存到儀表板],後面接著 [釘選到 Grafana]。 選擇工作區和儀表板,然後選取 [釘選] 以完成作業。

顯示 Azure 監視器計量瀏覽器中 [釘選至 Grafana] 選項的螢幕擷取畫面。

Grafana 進階功能

Grafana 具有進階功能。

變數

可以透過 UI 下拉式清單選取某些查詢值,並在查詢中更新。 請考慮下列查詢作為範例:

Usage 
| where $__timeFilter(TimeGenerated) 
| summarize total_KBytes=sum(Quantity)*1024 by bin(TimeGenerated, $__interval) 
| sort by TimeGenerated

您可以設定一個變數,列出所有可用的解決方案值,然後再更新您的查詢來使用它。 若要建立新的變數,請選取右上方區域中儀表板的 [設定] 按鈕,選取 [變數],然後選取 [新增]。 在 [變數] 頁面上,定義要執行的資料來源和查詢以取得值清單。

顯示 Grafana 設定變數的螢幕擷取畫面。

建立之後,請調整查詢以使用選取的值,您的圖表將相應地做出回應:

Usage 
| where $__timeFilter(TimeGenerated) and Solution in ($Solutions)
| summarize total_KBytes=sum(Quantity)*1024 by bin(TimeGenerated, $__interval) 
| sort by TimeGenerated

顯示 Grafana 使用變數的螢幕擷取畫面。

建立儀表板播放清單

Grafana 有許多實用功能,儀表板播放清單就是其中之一。 您可以建立多個儀表板,並將它們新增至播放清單,設定每個儀表板的顯示間隔。 選取 [播放] 查看循環播放的儀表板。 您可能想要在大型的牆面監視器中顯示它們,為群組提供「狀態面板」。

顯示 Grafana 播放清單範例的螢幕擷取畫面。

選擇性:監視相同 Grafana 儀表板中的其他資料來源

有許多資料來源外掛程式可將這些計量結合在儀表板中。

以下是如何使用 Telegraf、InfluxDB、適用於 Prometheus 的 Azure 監視器受管理服務和 Docker 的良好參考文章:

以下是完整的 Grafana 儀表板映像,具有來自 Azure 監視器和 Application Insights 的計量。

具有多個面板之 Grafana 儀錶板的螢幕擷取畫面。

清除資源

如果您在 Azure 上設定了 Grafana 環境,則無論您是否使用該環境,都會在資源執行時向您收取費用。 為避免產生額外費用,請清除依本文建立的資源群組。

  1. 在 Azure 入口網站的左側功能表上,選取 [資源群組]>[Grafana]
  2. 在資源群組頁面上,選取 [刪除],在文字方塊中輸入 Grafana,然後選取 [刪除]

下一步

Azure 監視器計量概觀