observability-edot-dotnet-migrate について
従来の Elastic APM から Elastic Distribution of OpenTelemetry(EDOT)へ .NET アプリケーションを移行するスキルです。削除する旧設定を示し、パッケージ導入、起動時登録、OTLP 設定を案内します。
主な機能
- 01従来の APM パッケージと設定の削除
- 02EDOT NuGet パッケージの追加
- 03起動時の EDOT 登録
- 04必須 OTLP 環境変数の設定
- 05従来の APM と EDOT の同時実行回避
活用シーン
- 01.NET アプリケーションを従来の Elastic APM から移行
- 02旧 APM 設定を EDOT 設定に置き換え
インストール
コマンドをコピーしてターミナルで実行します。
$
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または同等のファイル内)。これを行わないと、テレメトリは収集されません。 - 必須の環境変数をちょうど3つ設定します。
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を含む URL は使用できません)。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 エージェント(
Elastic.Apm.*)と EDOT を同時に実行しないでください。
例
完全な例については、EDOT .NET 移行ガイドをご覧ください。
コメント
Markdown 対応