培训
模块
使用 OpenTelemetry 在 .NET 云原生应用程序中实现可观测性 - Training
了解可观测性以及如何在云原生应用程序中实现它。 使用 OpenTelemetry 包输出日志、指标和跟踪数据,并分析 Application Insights 和第三方应用程序中的数据。
Orleans 对所有 silo 和客户端日志都使用 Microsoft.Extensions.Logging。 有关详细信息,请参阅 .NET 中的日志记录。
Orleans 通过 ITelemetryConsumer 接口输出其运行时统计信息和指标。 应用程序可以为其 silo 和客户端注册一个或多个遥测使用者,以便接收 Orleans 运行时定期发布的统计信息和指标。 这些可以是常用遥测分析解决方案的使用者,也可以是用于任何其他目标和用途的自定义解决方案的使用者。 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。
若要将 silo 和客户端配置为使用遥测使用者,silo 配置代码应如下所示:
var siloHostBuilder = new HostBuilder()
.UseOrleans(c =>
{
c.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");
});
客户端配置代码应如下所示:
var clientBuilder = new ClientBuilder();
clientBuilder.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");
若要使用自定义的 TelemetryConfiguration(可能有 TelemetryProcessors、TelemetrySinks 等),silo 配置代码应如下所示:
var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
var siloHostBuilder = new HostBuilder()
.UseOrleans(c =>
{
c.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);
});
客户端配置代码应如下所示:
var clientBuilder = new ClientBuilder();
var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
clientBuilder.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);
培训
模块
使用 OpenTelemetry 在 .NET 云原生应用程序中实现可观测性 - Training
了解可观测性以及如何在云原生应用程序中实现它。 使用 OpenTelemetry 包输出日志、指标和跟踪数据,并分析 Application Insights 和第三方应用程序中的数据。