次の方法で共有


.NET Aspire Seq 統合

この記事では、.NET AspireSeq 統合を使用して、SeqServerにログとトレースを送信する OpenTelemetry Protocol (OTLP) エクスポーターを追加する方法について説明します。 統合では、構成を介したアプリケーションの再起動を通じて永続的なログとトレースがサポートされます。

作業の開始

.NET Aspire Seq 統合を開始するには、📦Aspireをインストールします。clientを使用するプロジェクト (つまり、Seqclientを使用するアプリケーションのプロジェクト) に NuGet パッケージをSeq します。

dotnet add package Aspire.Seq

詳細については、「dotnet パッケージ の追加」または「.NET アプリケーションでのパッケージの依存関係の管理」を参照してください。

使用例

プロジェクトの Program.cs ファイルで、AddSeqEndpoint 拡張メソッドを呼び出してプロトコル エクスポーター OpenTelemetry 登録し、ログとトレースを Seq と .NET Aspire ダッシュボードに送信します。 このメソッドは、接続名パラメーターを受け取ります。

builder.AddSeqEndpoint("seq");

アプリ ホストの使用状況

アプリホストで Seq リソースをモデル化するには、📦Aspire.Hosting.Seq NuGet パッケージを アプリホスト プロジェクトにインストールします。

dotnet add package Aspire.Hosting.Seq

アプリ ホスト プロジェクトで、Seq データベースを登録し、次の方法を使用して接続を使用します。

var builder = DistributedApplication.CreateBuilder(args);

var seq = builder.AddSeq("seq")
                 .ExcludeFromManifest();

var myService = builder.AddProject<Projects.MyService>()
                       .WithReference(seq);

上記のコードは、Seqserver を登録し、その構成を伝達します。

大事な

Seq を開始するには、Seq エンド ユーザー ライセンス契約 に同意する必要があります。

MyService プロジェクトの Program.cs ファイルで、次のコードを使用してログ記録とトレースを Seq するように構成します。

builder.AddSeqEndpoint("seq");

.NET Aspire マニフェストの Seq

Seq は、.NET Aspire 配置マニフェストの一部でないため、ExcludeFromManifestへのチェーン呼び出しになります。 .NET Aspireの外部で安全な運用 Seqserver を設定することをお勧めします。

永続的なログとトレース

Seq を AppHost プロジェクトのデータ ディレクトリに登録して、アプリケーションの再起動後も Seqのデータと構成を保持します。

var seq = builder.AddSeq("seq", seqDataDirectory: "./seqdata")
                 .ExcludeFromManifest();

指定されたディレクトリは既に存在している必要があります。

設定

.NET Aspire Seq 統合には、Seqへの接続を構成するためのオプションが用意されています。

構成プロバイダーを使用する

.NET Aspire Seq 統合では、Microsoft.Extensions.Configurationがサポートされます。 Aspire:Seq キーを使用して、構成から SeqSettings を読み込みます。 いくつかのオプションを構成する appsettings.json の例:

{
  "Aspire": {
    "Seq": {
      "DisableHealthChecks": true,
      "ServerUrl": "http://localhost:5341"
    }
  }
}

インライン デリゲートを使用する

Action<SeqSettings> configureSettings デリゲートを渡して、コードから正常性チェックを無効にするなど、一部またはすべてのオプションをインラインで設定できます。

builder.AddSeqEndpoint("seq", static settings => 
{
    settings.DisableHealthChecks  = true;
    settings.ServerUrl = "http://localhost:5341"
});

正常性チェック

既定では、.NET.NET Aspire 統合により、すべてのサービス 正常性チェック が有効になります。 詳細については、.NET.NET Aspire 統合の概要を参照してください。

.NET Aspire Seq 統合では、次の処理が行われます。

  • /health HTTP エンドポイントと統合されます。このエンドポイントは、アプリがトラフィックを受け入れる準備ができていると見なされるために、登録されているすべての正常性チェックに合格する必要があります。

可観測性とテレメトリ

統合により、ログ記録、トレース、メトリックの構成が自動的に設定されます。これは、監視の柱 とも呼ばれます。 統合の可観測性とテレメトリの詳細については、統合の概要 参照してください。 バッキング サービスによっては、一部の統合でこれらの機能の一部のみがサポートされる場合があります。 たとえば、一部の統合ではログ記録とトレースがサポートされますが、メトリックはサポートされません。 テレメトリ機能は、「構成」セクションに記載されている手法を使用して無効にすることもできます。

伐採

.NET Aspire Seq 統合では、次のログ カテゴリが使用されます。

  • Seq

参照