mcpField
O
observability-edot-dotnet-migrate

observability-edot-dotnet-migrate

github.com/elastic云与 DevOps6022.7k 次安装今天更新
代码仓库

关于 observability-edot-dotnet-migrate

用于将 .NET 应用从传统 Elastic APM 迁移到 Elastic Distribution of OpenTelemetry(EDOT)的技能,说明需移除的旧配置,并指导包安装、启动注册和 OTLP 配置。

主要功能

  1. 01移除传统 APM 包和设置
  2. 02添加 EDOT NuGet 包
  3. 03在启动时注册 EDOT
  4. 04设置必需的 OTLP 环境变量
  5. 05避免同时运行传统 APM 和 EDOT

适用场景

  1. 01将 .NET 应用从传统 Elastic APM 迁移
  2. 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 迁移

进行更改前,请先阅读迁移指南:

指南

  1. 移除所有经典 APM 引用:Elastic.Apm.* NuGet 包(包括 Elastic.Apm.NetCoreAll)、 UseAllElasticApm() / AddAllElasticApm() 调用、appsettings.json 中的 ElasticApm 部分,以及所有 ELASTIC_APM_* 环境变量
  2. 添加 NuGet 包:Elastic.OpenTelemetry 和 OpenTelemetry.Instrumentation.AspNetCore(适用于 ASP.NET Core 应用)
  3. 在启动时注册 EDOT:在 IHostApplicationBuilder 上调用 builder.AddElasticOpenTelemetry()(在 Program.cs 或相应文件中)。否则不会收集任何遥测数据
  4. 恰好设置以下三个必需的环境变量:
    • 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)
  5. 请勿设置 OTEL_TRACES_EXPORTER、OTEL_METRICS_EXPORTER 或 OTEL_LOGS_EXPORTER — 默认值已正确设置
  6. 切勿在同一应用中同时运行经典 Elastic APM Agent(Elastic.Apm.*)和 EDOT

示例

完整示例请参阅 EDOT .NET 迁移指南。

评论

支持 Markdown