web-dev-qa-db-ja.com

App Insights:SQL依存関係テレメトリを無効にする

Webサイト(Azure App Service)にAzure ApplicationInsightsを使用しています。その上で、私はクラスター化されたUmbracoセットアップとhangfireを使用しています。これら2つだけでも毎分データベースにアクセスし続け、私の「AppInsights」に溢れています。

だから私の質問は、SQL依存性トラッカーを無効にするにはどうすればよいですか? ApplicationInsights.configを確認しましたが、明らかなものは見つかりませんでした。私は見えます Microsoft.ApplicationInsights.DependencyCollectorおそらく責任がありますが、すべてのタイプの依存関係テレメトリを削除したくはありません、のみ sql。

ありがとう

16
Sam7

ここでの最善の策は、テレメトリプロセッサを使用して、特定のタイプの依存関係要求を除外することです。詳細については、以下のリソースを確認してください。

Application Insights SDKでのテレメトリのサンプリング、フィルタリング、および前処理

テレメトリプロセッサを使用した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;
    }
}
26