You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 3.1 Azure Function禁用Azure Insights采样无效问题

解决Azure Functions (.NET Core 3.1)中Application Insights日志采样无法禁用的问题

问题分析

目前的情况是:本地生成的日志文本文件数量符合预期,但Azure Insights中的日志条目缺失严重;虽然在host.json中配置了禁用采样,且尝试了代码修改,但运行时ApplicationInsightsLoggerOptions.SamplingSettings仍显示为null,说明采样逻辑未被正确关闭。

有效解决方案

1. 修正host.json配置

针对Azure Functions v2,使用最简且正确的禁用采样配置,避免冗余参数干扰:

{
  "version": "2.0",
  "functionTimeout": "-1",
  "logging": {
    "fileLoggingMode": "always",
    "logLevel": {
      "default": "Information"
    },
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": false
      },
      "enableLiveMetricsFilters": false
    }
  }
}
  • 移除不必要的maxTelemetryItemsPerSecond和全量excludedTypes配置
  • 添加enableLiveMetricsFilters: false,避免实时指标模块的额外过滤逻辑

2. 重构Startup类代码

直接操作TelemetryConfiguration,彻底清除采样处理器:

namespace MyAzureFunction
{
    public class MyStartup : IWebJobsStartup
    {
        public void Configure(IWebJobsBuilder builder)
        {
            builder.Services.Configure<TelemetryConfiguration>(config =>
            {
                // 移除所有已注册的采样处理器
                var samplingProcessors = config.TelemetryProcessors
                    .OfType<SamplingTelemetryProcessor>()
                    .ToList();
                
                foreach (var processor in samplingProcessors)
                {
                    config.TelemetryProcessors.Remove(processor);
                }

                // 显式禁用自适应采样
                config.DisableAdaptiveSampling();
            });
        }
    }
}
  • 直接定位并移除采样相关的处理器,从根源上关闭采样逻辑
  • 使用官方提供的DisableAdaptiveSampling()方法确保采样完全禁用

3. 验证配置生效

本地运行时,查看命令行输出中的ApplicationInsightsLoggerOptions,确认SamplingSettings已正确加载且isEnabled为false;执行函数后,对比本地文本文件数量与Azure Insights中的日志条目数,确认两者一致。

额外注意事项

  • 部署到Azure后,必须重启Function App,确保新配置生效
  • 检查Azure Portal中Application Insights的采样设置,确认门户层面未启用采样(门户配置会覆盖本地代码/文件配置)

内容的提问来源于stack exchange,提问作者Konrad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:36:29