observability-edot-dotnet-instrument は何をしますか?
Elastic Distribution of OpenTelemetry (EDOT) .NET SDKを使用して.NETアプリケーションを自動トレース、メトリクス、ログで計装します。既存のAPMエージェントがない.NETサービスに可観測性を追加する場合に使用します。
概要
このスキルは、Elastic Distribution of OpenTelemetry (EDOT) .NET SDKを利用して、.NETアプリケーションに可観測性を導入するための手順を提供します。
前提条件
- .NET 6.0 以降
- Elastic Cloud または Elasticsearch クラスターへのアクセス
- Elastic Observability の設定が完了していること
インストール
以下のNuGetパッケージをプロジェクトに追加します:
dotnet add package Elastic.OpenTelemetry
設定
アプリケーションの起動時にEDOT SDKを初期化します:
using Elastic.OpenTelemetry;
var builder = WebApplication.CreateBuilder(args);
// EDOT SDKの自動構成を追加
builder.Services.AddElasticOpenTelemetry();
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
環境変数
| 環境変数 | 説明 | 必須 |
|---|---|---|
ELASTIC_APM_SERVER_URL | Elastic APMサーバーのURL | はい |
ELASTIC_APM_API_KEY | APIキーまたはシークレットトークン | はい |
ELASTIC_APM_SERVICE_NAME | サービス名(デフォルト: アセンブリ名) | いいえ |
カスタム計装
EDOT SDKは多くの一般的なライブラリを自動計装しますが、手動でカスタムスパンを作成することも可能です:
using OpenTelemetry;
// アクティビティソースの作成
var activitySource = new ActivitySource("MyApp");
// カスタムスパンの作成
using var activity = activitySource.StartActivity("CustomOperation");
// ビジネスロジックをここに記述
注意事項
- EDOT .NET SDKは現在ベータ版です。本番環境での使用には注意が必要です。
- 既存のAPMエージェントと競合する可能性があるため、共存は推奨されません。
- 詳細なドキュメントは公式Elasticドキュメントを参照してください。