App Insights: отключить телеметрию зависимостей SQL


Я использую Azure Application Insights для веб-сайта (Службы приложений Azure). На этом я использую кластерную установку Umbraco и hangfire. Эти двое в одиночку продолжают попадать в базу данных каждую минуту и наводняют мои "App Insights".

Итак, мой вопрос заключается в том, как отключить отслеживание зависимостей Sql? Я просмотрел документы по заявке.конфиг и не смог найти ничего очевидного. Я могу видеть Microsoft.ApplicationInsights.DependencyCollector, который, вероятно, несет ответственность, но я не хочу удалять все типы зависимостей телеметрия, только sql.

Спасибо

1 12

1 ответ:

Здесь лучше всего использовать телеметрический процессор для фильтрации определенных типов запросов зависимостей. Проверьте эти ресурсы ниже для получения информации.

Выборка, фильтрация и предварительная обработка телеметрии в пакете SDK Application Insights

Фильтрация запросов в Application Insights с помощью процессора телеметрии

Пример процессора может выглядеть следующим образом.

using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights.DataContracts;

public class NoSQLDependencies : ITelemetryProcessor
{
    private ITelemetryProcessor Next { get; set; }

    // Link processors to each other in a chain.
    public NoSQLDependencies(ITelemetryProcessor next)
    {
        this.Next = next;
    }
    public void Process(ITelemetry item)
    {
        if (IsSQLDependency(item)) { return; }
        this.Next.Process(item);
    }

    private bool IsSQLDependency(ITelemetry item)
    {
        var dependency = item as DependencyTelemetry;
        if (dependency?.DependencyTypeName == "SQL")
        {
            return true;
        }
        return false;
    }
}