在 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 应用程序中启用跟踪功能,请完成以下步骤:
步骤 1:添加 Instana 的追踪包
请安装以下软件包,以修改您的应用程序并集成 Instana 跟踪SDK:
这些包添加了跟踪逻辑,并启用了运行时插桩功能。
步骤 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 容器应用
- Go 前往 Azure 门户网站。
- 搜索 “容器应用 ”,然后选择 “容器应用 ”。
- 如果不存在资源组,请创建一个:
- 在 “容器应用 ”页面上,点击 “创建”。
- 选择资源组 ,然后单击 “创建新资源组 ”。
myResourceGroup输入名称(例如,),选择一个区域 ,然后单击 “确定”。
- 创建容器化应用环境:
- 在 “基本信息”选项卡中,选择 “订阅 ”以及之前创建的资源组。
myDotnetApp输入容器应用名称 (例如,)。- 选择区域 ,然后单击 “下一步:环境 ”。
myContainerAppEnv在 “环境 ”下,点击 “创建新环境 ”,并输入环境名称 (例如,)。- 选择一个区域和 Log Analytics 工作区。
- 点击 “查看 + 创建 ”,然后点击 “创建 ”。
- 部署.NET Core 应用程序:
- 在 Azure 门户中,访问 AzureContainer Registry (ACR) ,如果尚未创建,请创建一个新的注册表。
mycontainerregistry.azurecr.io/my-dotnet-app:v1将您的 Docker 镜像推送到ACR(例如,)。请确保您的.NET Core 应用程序已通过 Docker 进行容器化。- 在 Azure Container Apps 中,点击 “创建容器应用 ”。
- 选择已创建的资源组和容器应用环境。
- 在 “容器设置 ”下,选择“ Docker Hub ”或 “ Azure Container Registry ”,并指定镜像名称。
80设置容器端口(例如,)。- 启用 Ingress 并选择 “外部访问 ”。
- 单击 “查看 + 创建 ”,然后单击 “创建 ”。
第 4 步:配置 Instana 无服务器代理设置
https://sesandbox-instana.instana.io请登录您的 Instana 账户(例如:)。- 获取 Instana 端点 URL 以及 Instana 的代理密钥:
- 在 Instana 用户界面的导航菜单中,选择 ”。
- 选择 Azure 容器应用。
- 复制 Instana 的端点 URL 以及代理密钥。
- 在 Azure 门户中设置环境变量:
- Go 前往 Azure 查看“ Azure ”门户中的容器应用。
- 选择您的容器应用。
- 单击 。
- 添加以下环境变量:
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 步:验证设置
在 Instana 用户界面的导航菜单中,转到 ”,即可查看已收集的指标和跟踪信息。