Как отключить удаленное отслеживание зависимостей App Insights в основном веб-задании. net - PullRequest
1 голос
/ 17 февраля 2020

У меня есть веб-задание. net core 3.0, в котором используется пакет Microsoft. Azure .WebJobs.Logging.ApplicationInsights для регистрации его журналов в Application Insights.

Все это было здорово, пока Я видел счет azure, который мы генерировали, и стоимость журналов была больше, чем что-либо еще! После небольшой диагностики я обнаружил, что это связано с удаленным ведением журнала зависимостей.

Согласно этой статье ведение журнала sql запросов и космоса включаются автоматически:

https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-dependencies

и, просматривая эти журналы, я вижу, как выполняется каждый sql запрос. Теперь я уверен, что при правильных обстоятельствах это очень полезно для отладки, но, поскольку природа приложения такова, что он запускает много запросов, что, следовательно, вызывает много концертов журналов, которые мне не нужны.

Что я не вижу, хотя это простой способ выключить его?

1 Ответ

0 голосов
/ 17 февраля 2020

Вы должны установить EnableDependencyTracking на false в builder.ConfigureLogging.

Пример:

    static void Main(string[] args)
    {
        var builder = new HostBuilder();
        builder.ConfigureWebJobs(b =>
        {
            b.AddAzureStorageCoreServices();
            b.AddAzureStorage();
        });
        builder.ConfigureLogging((context, b) =>
        {
            b.AddConsole();
            string instrumentationKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
            if (!string.IsNullOrEmpty(instrumentationKey))
            {
                //set EnableDependencyTracking to false
                b.AddApplicationInsightsWebJobs(o=> { o.InstrumentationKey = instrumentationKey;o.EnableDependencyTracking = false; });
            }
        });


        var host = builder.Build();
        using (host)
        {
            host.Run();
        }
    }
...