You need to enable JavaScript to run this app. 如何为Application Insights Telemetry事件添加自定义namespace
优惠活动
大模型
产品
解决方案
定价
更多

如何为Application Insights Telemetry事件添加自定义namespace

自定义遥测Namespace配置方案

TelemetryClient.TrackEvent的便捷重载未暴露Namespace参数,是因为该属性属于遥测对象本身的通用配置,可通过以下两种官方支持的方式实现自定义namespace设置:

方法1:手动构造EventTelemetry对象(单次定制场景)

不要直接调用TrackEvent的便捷重载,先实例化EventTelemetry对象,直接给它的Namespace属性赋值后再调用TelemetryClient.Track()上报,示例代码:

// 构造事件遥测对象
var customEvent = new EventTelemetry("你的自定义事件名称");
// 指定自定义namespace,禁止使用azure.*前缀(该前缀为微软保留)
customEvent.Namespace = "myorg.myproduct.telemetry";
// 原本要传递的自定义属性、指标照常设置
customEvent.Properties.Add("自定义属性键", "自定义属性值");
customEvent.Metrics.Add("关联指标", 100.5);
// 上报遥测
telemetryClient.Track(customEvent);

方法2:自定义ITelemetryInitializer(全局批量定制场景)

如果需要给所有/特定类型的遥测统一设置namespace,不需要每次手动构造对象,可以实现ITelemetryInitializer接口,在遥测初始化阶段批量赋值:

public class CustomNamespaceTelemetryInitializer : ITelemetryInitializer
{
    public void Initialize(ITelemetry telemetry)
    {
        // 可按需筛选需要设置namespace的遥测类型,示例为仅给事件遥测设置
        if (telemetry is EventTelemetry eventTelemetry)
        {
            eventTelemetry.Namespace = "myorg.myproduct.telemetry";
        }
    }
}

之后在应用的依赖注入配置或Application Insights初始化代码中注册该Initializer即可全局生效。

注意事项

  • 自定义namespace禁止使用azure.*前缀,该前缀为微软官方保留,仅可使用自有标识作为前缀
  • 若设置后未生效,请先确认使用的Microsoft.ApplicationInsights SDK版本不低于2.12.0,该版本起正式支持遥测对象的Namespace属性透传
  • 上报后等待5-10分钟,数据同步到Azure Monitor后即可在对应自定义namespace下查询到事件遥测

内容的提问来源于stack exchange,提问作者David S.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.29 20:06:04