Monitoring Azure 應用程式服務

在安裝 Instana 代理程式之後,會自動部署並安裝 Azure App-Services 感應器。

附註: 請參閱 Azure 文件,以瞭解其他支援的 Azure 服務。

配置

您可以停用 Azure App Service 感應器,並使用標籤和資源群組來過濾 Azure App Service 感應器。 若要配置 Azure App Service 感應器,請編輯代理程式配置檔 <agentinstall_dir>/etc/instana/configuration.yaml ,如下所示:

com.instana.plugin.azure.appservice:
  # Valid values: true, false
  enabled: false # enabled (true) by default
  # Comma separated list of tags in key:value format
  include_tags:
  # Comma separated list of tags in key:value format
  exclude_tags:
  # Comma separated list of resource groups
  include_resource_groups:
  # Comma separated list of resource groups
  exclude_resource_groups:

可以停用 Azure App Service 感應器。 若要停用監視 Azure 應用程式服務,請使用下列配置:

com.instana.plugin.azure.appservice:
  enabled: false

可以定義多個標籤和資源群組,並以逗點區隔。 標籤必須以鍵值組形式提供,以 :區隔。 您也可以定義要在探索中併入或從探索中排除哪些標籤和資源群組。 如果您在兩個清單 (includeexclude 清單) 中定義標籤或資源群組,則 exclude 清單具有較高的優先順序。 如果您不需要使用服務過濾,請不要定義值來啟用過濾。

若要將依標籤的服務併入探索中,請使用下列配置:

com.instana.plugin.azure.appservice:
  include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)

若要從探索中依標籤排除服務,請使用下列配置:

com.instana.plugin.azure.appservice:
  exclude_tags: # Comma separated list of tags in key:value format (e.g. env:dev,env:test)

若要將依資源群組的服務併入探索,請使用下列配置:

com.instana.plugin.azure.appservice:
  include_resource_groups: # Comma separated list of resource groups (e.g. rg_prod,rg_staging)

若要從探索中排除依資源群組列出的服務,請使用下列配置:

com.instana.plugin.azure.appservice:
  exclude_resource_groups: # Comma separated list of resource groups (e.g. rg_dev,rg_test)

您可以在廣域層次啟用所有 Azure 服務的探索過濾器。 您也可以定義特定 Azure 服務的過濾器,然後這些過濾器將置換此 Azure 服務的廣域過濾器。 如需廣域過濾器的相關資訊,請參閱 Azure 配置

度量值集合

若要檢視度量值,請在「Instana 使用者」介面的資訊看板中選取 基礎架構 ,按一下特定的受監視主機,然後您可以看到具有所有已收集度量值及受監視處理程序的主機儀表板。

App-Services 的度量值每分鐘取回一次,這是 Azure 用來監視這些服務的解決方案。

配置資料

應用程式-服務詳細資料 說明
名稱 app-service 的名稱。
資源群組 app-service 所屬的資源群組
位置 應用程式服務所在的地區
訂閱 ID app-service 的訂閱 ID
狀態 app-service 的現行狀態

效能度量

應用程式-服務度量值 說明
回應時間及要求
回應時間 應用程式服務要求的回應時間
要求總計 一分鐘內的要求總數
已排入佇列的要求數 一分鐘內已排入佇列的要求數
HTTP 狀態碼
HTTP 2xx 回應 HTTP 狀態介於 200 與 299 之間的 HTTP 回應數
HTTP 4xx 回應 HTTP 狀態介於 400 與 499 之間的 HTTP 回應數
HTTP 5xx 回應 HTTP 狀態介於 500 與 599 之間的 HTTP 回應數
網路資料流量度量值
已傳送的位元組數 已傳送的位元組數
已接收的位元組數 app-service 收到的位元組數
記憶體回收度量
第 0 代 一分鐘內在第 0 代上執行的 GC 數
第 1 代 一分鐘內第 1 代上的 GC 執行數
第 2 代 一分鐘內第 2 代上的 GC 執行數

設備測試

設定 .Net Framework、.Net Core 及 .Net 的 Windows 工作量

若要在 AppServices的 Windows 變式上啟用 .Net Framework、.Net Core 及 .Net 的檢測,請確保 Instana 代理程式正在您想要監視 AppServices的環境中執行。 如需如何配置 Instana 代理程式以進行 Azure 監視的相關資訊,請參閱 Monitoring and Instrumenting Microsoft Azure

移至 Azure 入口網站,並找出您要檢測的 AppService 。 在 Azure 入口網站中開啟 AppService 之後,請從導覽功能表中按一下 延伸 鏈結。

延伸功能表

在「 延伸 」頁面中,您可以新增延伸、檢查已安裝的延伸,以及更新或移除延伸。 您也可以新增 Instana Tracing AppService 延伸

在安裝「Instana 追蹤 AppService 」延伸之後,您需要先配置它,才能使用它。 若要配置延伸,請跳至「延伸」頁面,然後按一下已安裝延伸表格中 Instana Tracing AppService 延伸的 URL 圖示。 即會顯示新視窗,您可以在其中配置 Instana 延伸。

檢測配置

請完成下列配置:

  1. 選取您是否要使用 啟用追蹤 開關來啟用「Instana 追蹤」特性。

  2. 使用 啟用 64 位元 開關,選取 AppServices 應用程式是 32 位元還是 64 位元。 如需相關資訊,請參閱 應用程式位元

  3. 代理程式金鑰 欄位中,輸入 Instana 主機代理程式的授權金鑰。

  4. 端點 URL 欄位中,輸入 用於無伺服器監視的端點 URL

  5. 記載層次 欄位中,輸入您要使用的記載層次。 值為 NONEDEBUGINFOWARNERROR

    日誌資訊產生在 AppService 應用程式的根資料夾中。

在那裡輸入所有資訊之後,請按一下 更新配置。 然後,該資訊會儲存在 AppService的環境定義內。

現在,唯一需要執行的動作是重新啟動 AppService。 您可以從 AppService的 儀表板 執行此動作。 當您執行應用程式時, Instana 重新編寫程式會附加至應用程式,且您需要開始收集追蹤資料。

如果要查看追蹤資料,請回到 Instana 使用者介面。 您可以開啟 AppService 實體的儀表板,然後從該處按一下 上游/下游。 然後,您可以查看針對此實體收集的追蹤資料。

追蹤

疑難排解

應用程式的位元

當您使用 Azure中已安裝的延伸來配置 Instana 檢測時,您可以看到 啟用 64 位元 勾選框。 一開始這可能令人困惑,但視應用程式的位元數而定,您需要附加適當的重新編寫器。 問題是,你不知道在那個時候你申請的位元數是多少。 依預設,當您透過 Visual Studio 將應用程式部署至 Azure AppService時,應用程式會以 32 位元模式安裝。 您可以移至 配置 > 一般設定,以在 AppService 的配置中變更此設定:

App Service 平台配置

如果您使用 64 位元模式,請在「Instana 追蹤 AppService 延伸」配置中選取 64 位元 。 否則,您將無法連接及收集追蹤資料。

追蹤無法運作

在聯絡 Instana 支援團隊之前,請先完成下列步驟:

  1. 請檢查 AppService 配置及 Instana Tracing AppService 延伸配置中是否已正確配置先前提及的位元數目。

  2. 請確定在 Instana Tracing for AppServices 頁面中已正確設定代理程式金鑰和端點 URL。 如需相關資訊,請參閱 無伺服器監視的端點 URL

  3. 透過開啟 診斷並解決問題 > 應用程式事件日誌,檢查事件日誌中是否有錯誤。

    事件日誌 (event logs)

  4. 從導覽功能表中按一下 進階工具 ,以開啟 Kudu Process Explorer ,然後檢查 w3wp 程序是否與 Instana.Profiler_x64.dll 模組一起連接。

    開啟 Kudu

    程序瀏覽器

  5. 從 Kudu 工具取得 Instana 除錯日誌。 在「Kudu 工具」中,移至「除錯主控台」,然後移至 C:\home\site\wwwroot> 資料夾。 在這裡,您可以找到兩種類型的日誌檔:

  • CLR 除錯日誌: 1.log_YYYY-MM-DD-HH_MM_SS
  • 檢測日誌: YYYY-MM-DD_HH_MM_SSPID

設定 .Net Core 和 .Net 的 Linux 工作量

若要針對在 Linux型 AppServices上執行的 .Net Core 及 .Net 應用程式啟用檢測,請確保 Instana 代理程式在您要監視 AppServices的環境中處於作用中。 如需如何配置 Instana 代理程式以監視 Azure的相關資訊,請參閱 Monitoring and Instrumenting Microsoft Azure

附註: 在 Linux上無法使用自動檢測。

若要擷取追蹤資料,請遵循下列步驟:

  1. 將追蹤 NuGet 套件新增至您的專案: Instana。 追蹤。 Core.Rewriter.Linux.

  2. 新增追蹤 NuGet 套件之後,請將應用程式重新部署至 Azure AppService。

  3. 重新部署應用程式之後, Instana 追蹤會成為應用程式的一部分。 若要啟動追蹤,請如下配置 CLR 引擎:

    1. 移至 Azure AppService 儀表板上的「配置」區段。

    2. 新增下列環境變數:

      CORECLR_ENABLE_PROFILING = 1
      CORECLR_PROFILER = {cf0d821e-299b-5307-a3d8-b283c03916dd}
      CORECLR_PROFILER_PATH = /home/site/wwwroot/instana_tracing/CoreProfiler.so
      DOTNET_STARTUP_HOOKS = /home/site/wwwroot/Instana.Tracing.Core.dll
      INSTANA_AGENT_KEY = the license key of your Instana host agent
      INSTANA_ENDPOINT_URL = one of the following [endpoint URL for serverless monitoring](../../setup_and_manage/endpoints_and_keys.html#endpoints-for-serverless-monitoring)
      
  4. 重新啟動應用程式。 若要確保您的變更處於作用中狀態,請遵循下列步驟:

    1. 停止應用程式。
    2. 等待 1-2 分鐘以清除任何快取狀態。
    3. 重新啟動應用程式。

您現在可以在 Instana 使用者介面中檢視追蹤資料。