自动为来自 .Net 应用程序的所有 Application Insights 遥测添加标签

Automatically add a tag for all Application Insights telemetry from .Net Applications

我们有几个逻辑上组合在一起的 .Net 5 项目/应用程序,我想根据每个应用程序发送的每个遥测数据全局应用一个标签,具体取决于其逻辑组标识符到特定标签中。

是否有任何方法可以在每个项目级别执行此操作?如果可以,怎么做?

您可以添加一个 TelemetryInitializer 类似于:

internal class MyTelemetryInitializer : ITelemetryInitializer
{
    public void Initialize(ITelemetry telemetry)
    {           
        telemetry.Context.GlobalProperties.Add("mytagname", "mytagvalue");
    }
}

注册它:

using Microsoft.ApplicationInsights.Extensibility;
using CustomInitializer.Telemetry;
public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
}

这将确保此应用发出的每个遥测项目都具有上述标签。