Отключение ведения журнала зависимостей для аналитики приложения в службе приложений Azure (веб-приложение) - PullRequest
5 голосов
/ 29 апреля 2019

Мое приложение записывает много журналов и зависимостей, из-за чего оно стало очень дорогим (даже дороже, чем мои серверные фермы + база данных), и мы не использовали его в течение нескольких месяцев. Как я могу отключить зависимости, но оставить остальные (запросы, исключения, пользовательские события и т. Д.)?

В документации добавление сведений о приложении не отделено от добавления зависимостей. https://docs.microsoft.com/en-us/azure/azure-monitor/app/asp-net-dependencies

В то же время

в приложении insights resource> Использование и сметные расходы

Доступны только следующие опции:

  • Дневная шапка

-Дискретизация данных

Но пользовательские события (и запросы) имеют большое значение для бизнеса, и я не хочу, чтобы они не регистрировались из-за ограничения или выборки. enter image description here

Ответы [ 2 ]

3 голосов
/ 29 апреля 2019

Если вам это не нужно, просто удалите DependencyTrackingTelemetryModule из файла ApplicationInsights.config.

Найдите эту запись:

<Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector">
    .....
</Add>

И удалитеэто или комментарий:

<!--<Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector">
    .....
</Add>-->

Другой способ - установить выборку на 100% только для зависимостей.См. документацию для получения дополнительной информации об этом.Но я думаю, что всегда лучше не загружать что-либо или не запускать то, что вам не нужно.

2 голосов
/ 29 апреля 2019

Я думаю, что вы можете достичь этого, создав процессор телеметрии и отключив данные телеметрии в методе Process.

Пример:

public void Process(ITelemetry item)
{
    var request = item as DependencyTelemetry;

    // Don't process dependency telemetry
    if (request != null)
    {
        return;
    }

    this.Next.Process(item);
}

См. Также: Фильтрация и предварительная обработка телеметрии в Application Insights SDK

...