Share via


如何使用 Dynatrace Java OneAgent 監視 Spring Boot 應用程式

注意

Azure Spring Apps 是 Azure Spring Cloud 服務的新名稱。 雖然服務有新的名稱,但是您暫時還是會在某些位置看到舊的名稱。我們正在致力更新螢幕擷取畫面、影片和圖表等資產。

本文適用於: ✔️標準取用和專用 (預覽) ✔️ 基本/標準 ❌️ 企業版

本文說明如何使用 Dynatrace OneAgent 監視 Azure Spring Apps 中的 Spring Boot 應用程式。

使用 Dynatrace OneAgent,您可以:

  • 使用 Dynatrace OneAgent 監視應用程式。
  • 使用環境變數設定 Dynatrace OneAgent。
  • 從 Dynatrace 儀錶板檢查所有監視數據。

下列影片介紹 Dynatrace OneAgent。


必要條件

啟用 Dynatrace OneAgent

下列各節說明如何啟用 Dynatrace OneAgent。

準備 Azure Spring Apps 環境

  1. 建立 Azure Spring Apps 的實例。
  2. 執行下列命令,以建立您想要向 Dynatrace 報告的應用程式。 將佔位元 <...> 取代為您自己的值。
    az spring app create \
        --resource-group <your-resource-group-name> \
        --service <your-Azure-Spring-Apps-name> \
        --name <your-application-name> \
        --is-public true
    

判斷必要環境變數的值

若要在 Azure Spring Apps 實例上啟用 Dynatrace OneAgent,您必須設定四個環境變數: DT_TENANTDT_TENANTTOKENDT_CONNECTION_POINTDT_CLUSTER_ID。 如需詳細資訊,請參閱 整合 OneAgent 與 Azure Spring Apps

對於具有多個實例的應用程式,Dynatrace 有數種方式可以將它們分組。 DT_CLUSTER_ID 是其中一種方式。 如需詳細資訊,請參閱 進程群組偵測

將環境變數新增至您的應用程式

您可以使用 Azure 入口網站 或 Azure CLI,將環境變數索引鍵/值組新增至您的應用程式。

選項 1:Azure CLI

若要使用 Azure CLI 新增機碼/值組,請執行下列命令,以先前步驟中決定的值取代佔位元 <...>

az spring app deploy \
    --resource-group <your-resource-group-name> \
    --service <your-Azure-Spring-Apps-name> \
    --name <your-application-name> \
    --artifact-path app.jar \
    --env \
        DT_TENANT=<your-environment-ID> \
        DT_TENANTTOKEN=<your-tenant-token> \
        DT_CONNECTION_POINT=<your-communication-endpoint>

選項 2:Azure 入口網站

若要使用 Azure 入口網站 新增機碼/值組,請使用下列步驟:

  1. 在您的 Azure Spring Apps 實例中,選取 瀏覽窗格中的 [應用程式 ]。

    Azure 入口網站 的螢幕快照,其中顯示 Azure Spring Apps 實例的 [應用程式] 頁面。

  2. 從清單中選取應用程式,然後在瀏覽窗格中選取 [組態 ]。

  3. 使用 [ 環境變數] 索引標籤來新增或更新應用程式所使用的變數。

    Azure 入口網站 的螢幕快照,其中顯示已選取 [環境變數] 索引標籤的應用程式 [組態] 頁面。

自動化佈建

您也可以使用 Terraform、Bicep 或 Azure Resource Manager 範本 (ARM 範本),執行布建自動化管線。 此管線可以提供完整的交接體驗,以檢測及監視您建立和部署的任何新應用程式。

使用 Terraform 自動布建

若要在 Terraform 樣本中設定環境變數,請將下列程式代碼新增至範本,並將 <...> 佔位元取代為您自己的值。 如需詳細資訊,請參閱 管理作用中的 Azure Spring Apps 部署

environment_variables = {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

使用 Bicep 檔案自動布建

若要在 Bicep 檔案中設定環境變數,請將下列程式代碼新增至 檔案,並將 <...> 佔位元取代為您自己的值。 如需詳細資訊,請參閱 Microsoft.AppPlatform Spring/apps/deployments

environmentVariables: {
  DT_TENANT: '<your-environment-ID>'
  DT_TENANTTOKEN: '<your-tenant-token>'
  DT_CONNECTION_POINT: '<your-communication-endpoint>'
  DT_CLUSTER_ID: '<your-cluster-ID>'
}

使用ARM範本自動布建

若要在 ARM 範本中設定環境變數,請將下列程式代碼新增至範本,並將 <...> 佔位元取代為您自己的值。 如需詳細資訊,請參閱 Microsoft.AppPlatform Spring/apps/deployments

"environmentVariables": {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

在 Dynatrace 中檢視報表

本節說明如何在 Dynatrace 中尋找各種報告。

注意

Dynatrace 功能表和使用者介面會逐漸發展。 因此,儀錶板可能會移至 Dynatrace 網站中的其他區段,而下列螢幕快照可能不會反映使用者介面的目前版本。

將環境變數新增至應用程式之後,Dynatrace 會開始收集數據。 若要檢視報表,請使用 Dynatrace 功能表,移至 [ 服務],然後選取您的應用程式。

您可以從 your-app-name/Details/Service 流程找到服務流程:><

Dynatrace 服務流程報告的螢幕快照。

您可以從your-app-name/Details/Method hotspots 找到方法熱點<:>

Dynatrace 方法熱點報告的螢幕快照。

您可以從 your-app-name/Details/Response time 分析中找到 Database 語句:><

Dynatrace 回應時間分析報表和 Database 語句區段的螢幕快照。

接下來,移至 多維度分析 區段。

您可以從多維度分析/Top 資料庫語句中找到 Top 資料庫語句

Dynatrace Top 資料庫語句報告的螢幕快照。

您可以從多維度分析/例外狀況概觀中找到例外狀況概觀

Dynatrace 例外狀況概觀報告的螢幕快照。

接下來,移至 [分析與優化 ] 區段。

您可以從分析與最佳化/CPU 分析中找到 CPU 分析

Dynatrace CPU 分析報告的螢幕快照。

接下來,移至 [ 資料庫] 區段。

您可以從資料庫/詳細資料/回溯找到回溯

Dynatrace Backtrace 報表的螢幕快照。

檢視 Dynatrace OneAgent 記錄

根據預設,Azure Spring Apps 會將 Dynatrace OneAgent 的資訊 層級記錄列印至 STDOUT。 記錄會與應用程式記錄混合。 您可以從應用程式記錄中找到明確的代理程式版本。

您也可以從下列位置取得 Dynatrace 代理程式的記錄:

  • Azure Spring Apps 記錄
  • Azure Spring Apps Application Insights
  • Azure Spring Apps LogStream

您可以套用 Dynatrace 提供的一些環境變數,以設定 Dynatrace OneAgent 的記錄。 例如, DT_LOGLEVELCON 控制記錄層級。 DT_LOGLEVELCON 的預設值為 info。 您可以設定 DT_LOGLEVELCONoff,以停用代理程式的記錄。 如果記錄已停用,Dynatrace 支援您第一次啟用記錄以有效診斷任何代理程序問題的要求。 您接著必須重新啟動應用程式,變更才會生效。 如需其他記錄層級,請參閱 Dynatrace 支援小組。

警告

強烈建議您不要覆寫 Azure Spring Apps for Dynatrace 所提供的默認記錄行為。 如果您這樣做,先前所述的記錄案例會遭到封鎖,而且記錄檔可能會遺失。 例如,您不應該將 DT_LOGLEVELFILE 環境變數輸出至您的應用程式。

Dynatrace OneAgent 升級

Dynatrace OneAgent 自動升級已停用,並使用 JDK 每季升級一次。 代理程式升級可能會影響下列案例:

  • 升級前使用 Dynatrace OneAgent 的現有應用程式會保持不變,但需要重新啟動或重新部署,才能與新版本的 Dynatrace OneAgent 互動。
  • 升級后建立的應用程式會使用新版本的 Dynatrace OneAgent。

虛擬網路插入實例輸出流量設定

針對 Azure Spring Apps 的虛擬網路插入實例,您必須確定 Dynatrace 通訊端點的輸出流量已針對 Dynatrace OneAgent 正確設定。 如需如何取得 communicationEndpoints的資訊,請參閱 部署 API - OneAgent 的 GET 連線資訊。 如需詳細資訊,請參閱 在虛擬網路中執行 Azure Spring Apps 的客戶責任。

Dynatrace 支援模型

如需在僅限應用程式模式中部署 Dynatrace OneAgent 時的限制相關信息,請參閱 OneAgent 平臺和功能支援矩陣雲端應用程式平臺一節。

下一步

在 Azure Spring Apps 中使用 Application Insights Java In-Process 代理程式