EDOT .NET Migration
Read the migration guide before making changes:
Migration guide
EDOT .NET setup
EDOT .NET configuration
Guidelines
Remove ALL classic APM references:
Elastic.Apm.
NuGet packages (including
Elastic.Apm.NetCoreAll
),
UseAllElasticApm()
/
AddAllElasticApm()
calls, the
ElasticApm
section from
appsettings.json
, and all
ELASTIC_APM_
env vars
Add NuGet packages:
Elastic.OpenTelemetry
and
OpenTelemetry.Instrumentation.AspNetCore
(for ASP.NET Core apps)
Register EDOT in startup: call
builder.AddElasticOpenTelemetry()
on the
IHostApplicationBuilder
(in
Program.cs
or equivalent). Without this, no telemetry is collected
Set exactly three required environment variables:
OTEL_SERVICE_NAME
(replaces
ELASTIC_APM_SERVICE_NAME
/
ElasticApm:ServiceName
)
OTEL_EXPORTER_OTLP_ENDPOINT
— must be the
managed OTLP endpoint
or
EDOT Collector
URL. Do NOT reuse the
old
ELASTIC_APM_SERVER_URLS
value. Never use an APM Server URL (no
apm-server
, no
:8200
, no
/intake/v2/events
)
OTEL_EXPORTER_OTLP_HEADERS
—
"Authorization=ApiKey
observability-edot-dotnet-migrate
安装
npx skills add https://github.com/elastic/agent-skills --skill observability-edot-dotnet-migrate