Connection strings

概要

接続文字列を使用すると、Application Insights ユーザーは 1 つの構成設定を使用でき、複数のプロキシ設定が不要になります。 監視サービスにデータを送信することを検討しているイントラネット Web サーバー、ソブリン クラウド環境またはハイブリッド クラウド環境で非常に便利です。

キーと値のペアを使用すると、ユーザーが各 Application Insights (AI) サービスまたは製品のプレフィックスとサフィックスの組み合わせを簡単に定義できます。

重要

接続文字列とインストルメンテーション キーの両方を設定することはお勧めしません。 ユーザーが両方を設定した場合は、最後に設定した方が優先されます。

ヒント

インストルメンテーション キーに対して接続文字列を使用することをお勧めします。

シナリオの概要

これが最も影響があると考えられるお客様のシナリオ:

  • ファイアウォールの例外またはプロキシのリダイレクト

    イントラネット Web サーバーの監視が必要な場合、以前のソリューションでは、お使いの構成に個々のサービスエンド ポイントを追加するようにお客様に求めていました。 詳細については、このページを参照してください。 接続文字列により、この作業の設定が 1 つですみ、より優れた代替方法が提供されます。 プレフィックスとサフィックスを修正するだけで、すべてのエンドポイントを適切なサービスに自動的に設定してリダイレクトすることができます。

  • ソブリン クラウド環境またはハイブリッド クラウド環境

    ユーザーは、定義された Azure Government リージョンにデータを送信できます。 接続文字列を使用すると、イントラネット サーバーまたはハイブリッド クラウド設定のエンドポイント設定を定義できます。

作業の開始

接続文字列を見つける

接続文字列は、Application Insights リソースの [概要] ブレードに表示されます。

概要ブレードの接続文字列

スキーマ

最大長

接続でサポートされている最大長は 4096 文字です。

キー/値ペア

接続文字列は、キーと値のペアがセミコロンで区切られた設定のリストで構成されます: key1=value1;key2=value2;key3=value3

構文

  • InstrumentationKey (例: 00000000-0000-0000-0000-000000000000) 接続文字列はInstrumentationKeyフィールドです。
  • Authorization (例: ikey) (現時点では ikey 認証のみがサポートされているため、この設定は省略可能です)。
  • EndpointSuffix (例: applicationinsights.azure.cn) エンドポイント サフィックスを設定すると、接続先の Azure クラウドが SDK に指示されます。 SDK により、個々のサービスに対してエンドポイントの残りの部分がアセンブルされます。
  • 明示的なエンドポイント。 どのサービスも、接続文字列内で明示的にオーバーライドできます。
    • IngestionEndpoint (例: https://dc.applicationinsights.azure.com)
    • LiveEndpoint (例: https://live.applicationinsights.azure.com)
    • ProfilerEndpoint (例: https://profiler.monitor.azure.com)
    • SnapshotEndpoint (例: https://snapshot.monitor.azure.com)

エンドポイント スキーマ

<prefix>.<suffix>

  • プレフィックス:サービスを定義します。
  • サフィックス:共通ドメイン名を定義します。
有効なサフィックス

有効なサフィックスの一覧を次に示します

  • applicationinsights.azure.cn
  • applicationinsights.us

関連項目: エンドポイントの変更が必要なリージョン

有効なプレフィックス

接続文字列の例

最小の有効な接続文字列

InstrumentationKey=00000000-0000-0000-0000-000000000000;

この例では、インストルメンテーション キーだけが設定されています。

  • 認証方式の既定値は "ikey" です
  • インストルメンテーション キー:00000000-0000-0000-0000-000000000000
  • リージョン サービスの URI は、SDK の既定値 に基づき、パブリック グローバル Azure に接続されます。
    • インジェスト: https://dc.services.visualstudio.com/
    • Live Metrics: https://rt.services.visualstudio.com/
    • Profiler: https://profiler.monitor.azure.com/
    • デバッガー: https://snapshot.monitor.azure.com/

エンドポイント サフィックスが付いた接続文字列

InstrumentationKey=00000000-0000-0000-0000-000000000000;EndpointSuffix=ai.contoso.com;

この例では、この接続文字列で、エンドポイント サフィックスを指定し、SDK によりサービス エンドポイントが構築されます。

  • 認証方式の既定値は "ikey" です
  • インストルメンテーション キー:00000000-0000-0000-0000-000000000000
  • リージョン サービスの URI は、指定されたエンドポイント サフィックスに基づきます。
    • インジェスト: https://dc.ai.contoso.com
    • Live Metrics: https://live.ai.contoso.com
    • Profiler: https://profiler.ai.contoso.com
    • デバッガー: https://snapshot.ai.contoso.com

明示的なエンドポイント オーバーライドを含む接続文字列

InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://custom.com:111/;LiveEndpoint=https://custom.com:222/;ProfilerEndpoint=https://custom.com:333/;SnapshotEndpoint=https://custom.com:444/;

この例では、この接続文字列で、すべてのサービスに明示的なオーバーライドを指定しています。 SDK により、変更なしで提供される正確なエンドポイントが使用されます。

  • 認証方式の既定値は "ikey" です
  • インストルメンテーション キー:00000000-0000-0000-0000-000000000000
  • リージョン サービスの URI は、明示的なオーバーライド値に基づきます。
    • インジェスト: https://custom.com:111/
    • Live Metrics: https://custom.com:222/
    • Profiler: https://custom.com:333/
    • デバッガー: https://custom.com:444/

接続文字列を追加する方法

接続文字列は、次の SDK バージョンでサポートされています。

  • .NET および .NET Core v2.12.0
  • Java v2.5.1 および Java 3.0
  • JavaScript v2.3.0
  • NodeJS v1.5.0
  • Python v1.0.0

接続文字列は、コード、環境変数、または構成ファイルのいずれかで設定できます。

環境変数

  • 接続文字列: APPLICATIONINSIGHTS_CONNECTION_STRING

コード サンプル

プロパティ TelemetryConfiguration.ConnectionString または ApplicationInsightsServiceOptions.ConnectionString を設定します

.NET の明示的な設定:

var configuration = new TelemetryConfiguration
{
    ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;"
};

.NET 構成ファイル:

<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
    <ConnectionString>InstrumentationKey=00000000-0000-0000-0000-000000000000</ConnectionString>
</ApplicationInsights>

NetCore の明示的な設定:

public void ConfigureServices(IServiceCollection services)
{
    var options = new ApplicationInsightsServiceOptions { ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;" };
    services.AddApplicationInsightsTelemetry(options: options);
}

NetCore config.json:

{
  "ApplicationInsights": {
    "ConnectionString" : "InstrumentationKey=00000000-0000-0000-0000-000000000000;"
    }
  }

次のステップ

実行時に開始する:

開発時に開始する: