Instrument a .NET application with the Elastic Distribution of OpenTelemetry (EDOT) .NET SDK for automatic tracing, metrics, and logs. Use when adding observability to a .NET service that has no existing APM agent.
---
name: observability-edot-dotnet-instrument
description: >
Instrument a .NET application with the Elastic Distribution of OpenTelemetry (EDOT)
.NET SDK for automatic tracing, metrics, and logs. Use when adding observability
to a .NET service that has no existing APM agent.
metadata:
author: elastic
version: 0.1.0
---
# EDOT .NET Instrumentation
Read the setup guide before making changes:
- [EDOT .NET setup](https://www.elastic.co/docs/reference/opentelemetry/edot-sdks/dotnet/setup)
- [EDOT .NET configuration](https://www.elastic.co/docs/reference/opentelemetry/edot-sdks/dotnet/configuration)
- [OpenTelemetry .NET instrumentation](https://opentelemetry.io/docs/zero-code/net/)
## Guidelines
1. Add NuGet packages: `Elastic.OpenTelemetry` and `OpenTelemetry.Instrumentation.AspNetCore` (for ASP.NET Core apps)
1. Register EDOT in startup: call `builder.AddElasticOpenTelemetry()` on the `IHostApplicationBuilder` (in `Program.cs`
or equivalent). Without this, no telemetry is collected
1. Set exactly three required environment variables:… install to load the full skillIn any Claude conversation, say:
Install the Observability Edot Dotnet Instrument skill
It activates automatically in your next session.
Not connected yet? Connect your AI first →
MCP endpoint
https://skillme.dev/api/mcp