.NET Aspire Seq 통합
이 문서에서는 .NET AspireSeq 통합을 이용해 로그 및 추적을 SeqServer로 보내는 OTLP(OpenTelemetry Protocol) 익스포터를 추가하는 방법을 알아봅니다. 통합은 구성을 통해 애플리케이션을 다시 시작하는 동안 영구 로그 및 추적을 지원합니다.
시작
.NET Aspire Seq 통합을 시작하려면 📦Aspire를 설치하세요. 그런 다음,Seq NuGet 패키지를 Seqclient를 사용하는 애플리케이션 프로젝트, 즉 client소비 프로젝트에 설치하세요.
dotnet add package Aspire.Seq
자세한 내용은 dotnet add package 또는 .NET 응용 프로그램에서 패키지 종속성 관리를 참조하세요.
예제 사용
프로젝트의 Program.cs 파일에서 AddSeqEndpoint
확장 메서드를 호출하여 OpenTelemetry 프로토콜 내보내기를 등록하여 로그 및 추적을 Seq.NET Aspire 대시보드에 보냅니다. 메서드는 연결 이름 매개 변수를 사용합니다.
builder.AddSeqEndpoint("seq");
앱 호스트 사용
앱 호스트에서 Seq 리소스를 모델링하려면 앱 호스트 프로젝트에 📦Aspire.Hosting.Seq NuGet 패키지를 설치합니다.
앱 호스트 프로젝트에서 Seq 데이터베이스를 등록하고 다음 방법을 사용하여 연결을 사용합니다.
var builder = DistributedApplication.CreateBuilder(args);
var seq = builder.AddSeq("seq")
.ExcludeFromManifest();
var myService = builder.AddProject<Projects.MyService>()
.WithReference(seq);
앞의 코드는 Seqserver 등록하고 해당 구성을 전파합니다.
중요하다
Seq을 시작하려면 Seq 최종 사용자 라이선스 계약에 동의해야 합니다.
Program.cs 파일에서, MyService 프로젝트의 로깅 및 추적을 다음 코드를 사용하여 Seq 구성합니다.
builder.AddSeqEndpoint("seq");
.NET Aspire 매니페스트 안의 Seq
Seq는 .NET Aspire 배포 매니페스트의 일부가 되어서는 안 되므로, 그 결과로 ExcludeFromManifest
에 대한 연결된 호출이 발생합니다.
.NET Aspire외부에서 안전한 프로덕션 Seqserver 설정하는 것이 좋습니다.
영구 로그 및 추적
AppHost 프로젝트의 데이터 디렉터리에 Seq 등록하여 애플리케이션을 다시 시작할 때 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
참고하기
.NET Aspire