Dzienniki logicznych

Orleans korzysta z pliku Microsoft.Extensions.Logging dla wszystkich dzienników silosów i klientów. Aby uzyskać więcej informacji, zobacz Rejestrowanie na platformie .NET.

Monitorowanie środowiska uruchomieniowego

Wartość orleans wyprowadza statystyki i metryki środowiska uruchomieniowego za pośrednictwem ITelemetryConsumer interfejsu. Aplikacja może zarejestrować co najmniej jednego konsumenta telemetrii dla swoich silosów i klientów, aby otrzymywać statystyki i metryki okresowo publikowane przez środowisko uruchomieniowe Orleans. Mogą to być użytkownicy popularnych rozwiązań do analizy telemetrii lub rozwiązań niestandardowych do innych celów i miejsc docelowych. Trzech odbiorców telemetrii jest obecnie uwzględnionych w bazie kodu Orleans.

Są one zwalniane jako oddzielne NuGet pakietów:

  • Microsoft.Orleans.OrleansTelemetryConsumers.AIdo publikowania Microsoft.Orleans.OrleansTelemetryConsumers.AI.

  • Microsoft.Orleans.OrleansTelemetryConsumers.CountersDo publikowania Windows liczników wydajności. Środowisko uruchomieniowe Orleans stale aktualizuje wiele z nich. Narzędzie CounterControl.exe, zawarte w pakiecie NuGet, ułatwia rejestrowanie niezbędnych kategorii liczników wydajności. Musi działać z podwyższonym poziomem uprawnień. Liczniki wydajności można monitorować przy użyciu dowolnego ze standardowych narzędzi do monitorowania.

  • Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic, do publikowania Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic.

Aby skonfigurować silos i klienta do korzystania z odbiorców telemetrii, kod konfiguracji silosu wygląda następująco:

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

Kod konfiguracji klienta wygląda tak:

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

Aby użyć zdefiniowanej niestandardowej TelemetryConfiguration (która może mieć TelemetryProcessorstyp , TelemetrySinksi tak dalej), kod konfiguracji silosu wygląda następująco:

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

Kod konfiguracji klienta wygląda tak:

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