Orleans 로그

Orleans는 모든 사일로 및 클라이언트 로그에 Microsoft.Extensions.Logging을 활용합니다. 자세한 내용은 .NET에 로깅을 참조하세요.

런타임 모니터링

Orleans는 ITelemetryConsumer 인터페이스를 통해 런타임 통계 및 메트릭을 출력합니다. 애플리케이션은 사일로 및 클라이언트에 대해 하나 이상의 원격 분석 소비자를 등록하여 Orleans 런타임이 주기적으로 게시하는 통계 및 메트릭을 받을 수 있습니다. 이는 인기 있는 원격 분석 솔루션의 소비자이거나 다른 대상 및 목적을 위한 사용자 지정 솔루션일 수 있습니다. 현재 3명의 원격 분석 소비자가 Orleans 코드베이스에 포함되어 있습니다.

별도의 NuGet 패키지로 릴리스됩니다.

  • Microsoft.Orleans.OrleansTelemetryConsumers.AI - Azure Application Insights에 게시하기 위한 것입니다.

  • Microsoft.Orleans.OrleansTelemetryConsumers.Counters - Windows 성능 카운터에 게시하기 위한 것입니다. Orleans 런타임은 여러 항목을 지속적으로 업데이트합니다. Microsoft.Orleans.CounterControl NuGet 패키지에 포함된 CounterControl.exe 도구는 필요한 성능 카운터 범주를 등록하는 데 도움이 됩니다. 관리자 권한으로 실행해야 합니다. 성능 카운터는 표준 모니터링 도구를 사용하여 모니터링할 수 있습니다.

  • Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic - New Relic에 게시하기 위한 것입니다.

원격 분석 소비자를 사용하도록 사일로 및 클라이언트를 구성하기 위한 사일로 구성 코드는 다음과 같습니다.

var siloHostBuilder = new HostBuilder()
    .UseOrleans(c =>
    {
        c.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");
    });

클라이언트 구성 코드는 다음과 같습니다.

var clientBuilder = new ClientBuilder();
clientBuilder.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");

사용자 지정 정의 TelemetryConfiguration(TelemetryProcessors, TelemetrySinks등이 있을 수 있음)을 사용하기 위한 사일로 구성 코드는 다음과 같습니다.

var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
var siloHostBuilder = new HostBuilder()
    .UseOrleans(c =>
    {
        c.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);
    });

클라이언트 구성 코드는 다음과 같습니다.

var clientBuilder = new ClientBuilder();
var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
clientBuilder.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);