关于 observability-edot-dotnet-migrate
用于将 .NET 应用从传统 Elastic APM 迁移到 Elastic Distribution of OpenTelemetry(EDOT)的技能,说明需移除的旧配置,并指导包安装、启动注册和 OTLP 配置。
主要功能
- 01移除传统 APM 包和设置
- 02添加 EDOT NuGet 包
- 03在启动时注册 EDOT
- 04设置必需的 OTLP 环境变量
- 05避免同时运行传统 APM 和 EDOT
适用场景
- 01将 .NET 应用从传统 Elastic APM 迁移
- 02用 EDOT 设置替换旧 APM 配置
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ elastic/ agent-skills --skill observability-edot-dotnet-migrate安装后在 Claude Code 中输入/observability-edot-dotnet-migrate确认已加载。
详细介绍
EDOT .NET 迁移
进行更改前,请先阅读迁移指南:
指南
- 移除所有经典 APM 引用:
Elastic.Apm.*NuGet 包(包括Elastic.Apm.NetCoreAll)、UseAllElasticApm()/AddAllElasticApm()调用、appsettings.json中的ElasticApm部分,以及所有ELASTIC_APM_*环境变量 - 添加 NuGet 包:
Elastic.OpenTelemetry和OpenTelemetry.Instrumentation.AspNetCore(适用于 ASP.NET Core 应用) - 在启动时注册 EDOT:在
IHostApplicationBuilder上调用builder.AddElasticOpenTelemetry()(在Program.cs或相应文件中)。否则不会收集任何遥测数据 - 恰好设置以下三个必需的环境变量:
OTEL_SERVICE_NAME(替代ELASTIC_APM_SERVICE_NAME/ElasticApm:ServiceName)OTEL_EXPORTER_OTLP_ENDPOINT— 必须是托管 OTLP 端点或 EDOT Collector URL。请勿重复使用旧的ELASTIC_APM_SERVER_URLS值。切勿使用 APM Server URL(不能包含apm-server、:8200或/intake/v2/events)OTEL_EXPORTER_OTLP_HEADERS—"Authorization=ApiKey <key>"或"Authorization=Bearer <token>"(替代ELASTIC_APM_SECRET_TOKEN)
- 请勿设置
OTEL_TRACES_EXPORTER、OTEL_METRICS_EXPORTER或OTEL_LOGS_EXPORTER— 默认值已正确设置 - 切勿在同一应用中同时运行经典 Elastic APM Agent(
Elastic.Apm.*)和 EDOT
示例
完整示例请参阅 EDOT .NET 迁移指南。
评论
支持 Markdown