在 Azure 容器应用中配置 .NET 跟踪

您可以通过在应用程序中配置 Instana 追踪SDK,并使用 Instana 无服务器代理将其连接到 Instana ,从而为在 Azure 容器应用上运行的.NET Core 应用程序启用追踪功能。

如需了解 Instana 如何监控.NET 应用程序,请参阅 《.NET 监控的工作原理》

准备工作

在 Azure Container Apps 上为 .NET Core 应用程序启用跟踪功能之前,请确保满足以下先决条件:

  • 您拥有一个有效的 Instana 账户,并可访问 Instana 用户界面。
  • 您拥有一个 Azure 订阅,其中包含 Azure 容器应用。
  • 请查阅支持信息 ,以确保与您的.NET 版本及运行环境兼容。

启用.NET 跟踪

要在托管于 Azure Container App Service 的 .NET Core 应用程序中启用跟踪功能,请完成以下步骤:

步骤 2:更新 Dockerfile

在 Dockerfile 中设置 .NET Core 跟踪环境变量:

# set .NET Core tracing environment variables
ENV CORECLR_ENABLE_PROFILING="1"
ENV CORECLR_PROFILER="{cf0d821e-299b-5307-a3d8-b283c03916dd}"
ENV CORECLR_PROFILER_PATH="/app/instana_tracing/CoreProfiler.so"
ENV DOTNET_STARTUP_HOOKS="/app/Instana.Tracing.Core.dll"

步骤 3:创建并部署一个 Azure 容器应用

  1. Go 前往 Azure 门户网站。
  2. 搜索 “容器应用 ”,然后选择 “容器应用 ”。
  3. 如果不存在资源组,请创建一个:
    1. “容器应用 ”页面上,点击 “创建”
    2. 选择资源组 ,然后单击 “创建新资源组 ”。
    3. myResourceGroup输入名称(例如,),选择一个区域 ,然后单击 “确定”
  4. 创建容器化应用环境:
    1. “基本信息”选项卡中,选择 “订阅 ”以及之前创建的资源组。
    2. myDotnetApp输入容器应用名称 (例如,)。
    3. 选择区域 ,然后单击 “下一步:环境 ”。
    4. myContainerAppEnv“环境 ”下,点击 “创建新环境 ”,并输入环境名称 (例如,)。
    5. 选择一个区域Log Analytics 工作区
    6. 点击 “查看 + 创建 ”,然后点击 “创建 ”。
  5. 部署.NET Core 应用程序:
    1. 在 Azure 门户中,访问 AzureContainer Registry (ACR) ,如果尚未创建,请创建一个新的注册表。
    2. mycontainerregistry.azurecr.io/my-dotnet-app:v1将您的 Docker 镜像推送到ACR(例如,)。请确保您的.NET Core 应用程序已通过 Docker 进行容器化。
    3. Azure Container Apps 中,点击 “创建容器应用 ”。
    4. 选择已创建的资源组和容器应用环境。
    5. “容器设置 ”下,选择“ Docker Hub ”或 “ Azure Container Registry ”,并指定镜像名称。
    6. 80设置容器端口(例如,)。
    7. 启用 Ingress 并选择 “外部访问 ”。
    8. 单击 “查看 + 创建 ”,然后单击 “创建 ”。

第 4 步:配置 Instana 无服务器代理设置

  1. https://sesandbox-instana.instana.io请登录您的 Instana 账户(例如:)。
  2. 获取 Instana 端点 URL 以及 Instana 的代理密钥:
    1. 在 Instana 用户界面的导航菜单中,选择 “更多 ”> “代理 ”> “安装代理 ”。
    2. 选择 Azure 容器应用
    3. 复制 Instana 的端点 URL 以及代理密钥
  3. 在 Azure 门户中设置环境变量:
    1. Go 前往 Azure 查看“ Azure ”门户中的容器应用。
    2. 选择您的容器应用。
    3. 单击 “设置” > “环境变量”
    4. 添加以下环境变量:
      CORECLR_ENABLE_PROFILING = 1
      CORECLR_PROFILER = {cf0d821e-299b-5307-a3d8-b283c03916dd}
      CORECLR_PROFILER_PATH = /app/instana_tracing/CoreProfiler.so
      DOTNET_STARTUP_HOOKS = /app/Instana.Tracing.Core.dll
      INSTANA_ENDPOINT_URL = instana_endpoint_url
      AZURE_SUBSCRIPTION_ID = your_azure_subscription_id
      AZURE_RESOURCE_GROUP = your_azure_resource_group
      INSTANA_SERVICE_NAME = your_service_name
      INSTANA_AGENT_KEY = your_instana_agent_key
      注: INSTANA_SERVICE_NAME 是您要监控的服务名称,例如 dotnetcore-webapp
    5. 保存您的更改。

第 5 步:验证设置

在 Instana 用户界面的导航菜单中,转到 “应用程序” > “服务 ”,即可查看已收集的指标和跟踪信息。