Microsoft Azure Diagnostics (WAD) 拡張機能の構成スキーマのバージョンと履歴

この記事では、Microsoft Azure SDKの一部として出荷されるWindows (WAD) スキーマ バージョンの Azure Diagnostics 拡張機能のバージョン履歴について説明します。

Important

Azure Diagnostics拡張機能は 2026 年 3 月 31 日にに示され、サポートされなくなりました。 拡張機能の新しいデプロイは推奨されません。 継続的なサポートと新機能へのアクセスを確保するには、ここで推奨される代替ソリューションに移行します

Azure SDKと診断のバージョンの出荷チャート

Azure SDK バージョン 診断拡張機能のバージョン モデル
1.x 1.0 プラグイン
2.0 ~ 2.4 1.0 プラグイン
2.5 1.2 拡張子
2.6 1.3 「」
2.7 1.4 「」
2.8 1.5 「」
2.9 1.6 「」
2.96 1.7 「」
2.96 1.8 「」
2.96 1.8.1 「」
2.96 1.9 「」
2.96 1.11 「」
2.96 1.21 「」

バージョン 1.0 Azure Diagnostics最初にプラグイン モデルに付属しています。つまり、Azure SDKをインストールしたときに、Azure diagnosticsのバージョンが付属しています。

SDK 2.5 (診断バージョン 1.2) 以降、Azure診断は拡張機能モデルに進みました。 新機能を利用するツールは新しいAzure SDKでのみ使用できますが、Azure診断を使用するサービスでは、最新の出荷バージョンがAzureから直接取得されます。 たとえば、まだ SDK 2.5 を使用しているユーザーは、新しい機能を使用しているかどうかに関係なく、前の表に示した最新バージョンを読み込みます。

スキーマのインデックス

Azure診断のバージョンが異なると、異なる構成スキーマが使用されます。 スキーマ 1.0 と 1.2 は非推奨です。 バージョン 1.3 以降の詳細については、「 診断 1.3 以降の構成スキーマ」を参照してください。

バージョン履歴

次のセクションでは、診断拡張機能の各バージョンで行われた変更について説明します。

診断拡張機能 1.11

Azure Monitor シンクのサポートが追加されました。 このシンクはパフォーマンス カウンターにのみ適用されます。 VM、Virtual Machine Scale Sets、またはクラウド サービスで収集されたパフォーマンス カウンターを、カスタム メトリックとしてAzure Monitorに送信できるようにします。 Azure Monitor シンクでは、次の機能がサポートされています。

診断拡張機能の構成で新しいシンクとしてAzure Monitorを定義する

"SinksConfig": {
    "Sink": [
        {
            "name": "AzureMonitorSink",
            "AzureMonitor": {}
        },
    ]
}
<SinksConfig>  
  <Sink name="AzureMonitorSink">
      <AzureMonitor/>
  </Sink>
</SinksConfig>

クラシック VM とクラシック クラウド サービスのAzure Monitor シンクを構成するには、診断拡張機能のプライベート構成でより多くのパラメーターを定義する必要があります。

詳細については、 詳細な診断拡張機能スキーマのドキュメントを参照してください。

次に、Azure Monitor シンクにルーティングされるようにパフォーマンス カウンターを構成できます。

"PerformanceCounters": {
    "scheduledTransferPeriod": "PT1M",
    "sinks": "AzureMonitorSink",
    "PerformanceCounterConfiguration": [
        {
            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
            "sampleRate": "PT1M",
            "unit": "percent"
        }
    ]
},
<PerformanceCounters scheduledTransferPeriod="PT1M", sinks="AzureMonitorSink">  
  <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT1M" unit="percent" />  
</PerformanceCounters>

診断拡張機能 1.9

Docker のサポートが追加されました。

診断拡張機能 1.8.1

ストレージ アカウント キーの代わりに SAS トークンをプライベート構成に指定できます。SAS トークンを指定した場合、ストレージ アカウント キーは無視されます。

{
    "storageAccountName": "diagstorageaccount",
    "storageAccountEndPoint": "https://core.windows.net",
    "storageAccountSasToken": "{sas token}",
    "SecondaryStorageAccounts": {
        "StorageAccount": [
            {
                "name": "secondarydiagstorageaccount",
                "endpoint": "https://core.windows.net",
                "sasToken": "{sas token}"
            }
        ]
    }
}
<PrivateConfig>
    <StorageAccount name="diagstorageaccount" endpoint="https://core.windows.net" sasToken="{sas token}" />
    <SecondaryStorageAccounts>
        <StorageAccount name="secondarydiagstorageaccount" endpoint="https://core.windows.net" sasToken="{sas token}" />
    </SecondaryStorageAccounts>
</PrivateConfig>

診断拡張機能 1.8

PublicConfig にストレージの種類が追加されました。 StorageType は、TableBlobTableAndBlob が可能です。 既定値は Table です。

{
    "WadCfg": {
    },
    "StorageAccount": "diagstorageaccount",
    "StorageType": "TableAndBlob"
}
<PublicConfig>
    <WadCfg />
    <StorageAccount>diagstorageaccount</StorageAccount>
    <StorageType>TableAndBlob</StorageType>
</PublicConfig>

診断拡張機能 1.7

Azure Event Hubsにルーティングする機能を追加しました。

診断拡張機能 1.5

Sink 要素と、診断データを Application Insights に送信することで、アプリケーションとシステムおよびインフラストラクチャのレベル全体の問題を診断しやすくする機能が追加されました。

Azure SDK 2.6 と診断拡張機能 1.3

Visual Studioのクラウド サービス プロジェクトでは、次の変更が行われました。 (これらの変更は、以降のバージョンのAzure SDKにも適用されます)。

  • ローカル エミュレーターで診断がサポートされるようになりました。 この変更により、Visual Studioでの開発とテスト中に診断データを収集し、アプリケーションが適切なトレースを作成できることを確認できます。 接続文字列 UseDevelopmentStorage=true を使用すると、Azure Storage エミュレーターを使用してクラウド サービス プロジェクトをVisual Studioで実行しているときに、診断データを収集できます。 すべての診断データは、(開発ストレージ) ストレージ アカウントに収集されます。
  • 診断ストレージ アカウント接続文字列 (Microsoft。WindowsAzure.Plugins.Diagnostics.ConnectionString) は、サービス構成 (.cscfg) ファイルにもう一度格納されます。 Azure SDK 2.5 では、diagnostics.wadcfgx ファイルに診断ストレージ アカウントが指定されました。

Azure SDK 2.4 以前での接続文字列のしくみと、Azure SDK 2.6 以降での動作には、いくつかの顕著な違いがあります。

  • Azure SDK 2.4 以前では、接続文字列は診断プラグインによって実行時に使用され、診断ログを転送するためのストレージ アカウント情報を取得しました。
  • Azure SDK 2.6 以降では、Visual Studioは診断接続文字列を使用して、発行時に適切なストレージ アカウント情報を使用して診断拡張機能を構成します。 接続文字列を使用すると、発行時に使用Visual Studioサービス構成ごとに異なるストレージ アカウントを定義できます。 ただし、診断プラグインは使用できなくなったため (Azure SDK 2.5 以降)、.cscfg ファイル自体で診断拡張機能を有効にすることはできません。 Visual Studioや PowerShell などのツールを使用して拡張機能を個別に有効にする必要があります。
  • PowerShell を使用して診断拡張機能を構成するプロセスを簡略化するために、Visual Studioからのパッケージ出力には、各ロールの診断拡張機能のパブリック構成 XML も含まれています。 Visual Studioでは、診断接続文字列を使用して、パブリック構成に存在するストレージ アカウント情報を設定します。 パブリック構成ファイルは拡張機能フォルダーに作成され、PaaSDiagnostics.<RoleName>.PubConfig.xml というパターンに従います。 このファイルを PowerShell ベースのデプロイで使用し、各構成をロールにマップすることができます。
  • .cscfg ファイルの接続文字列は、診断データにアクセスするためにAzure ポータルでも使用されるため、Monitoring タブに表示されます。ポータルで詳細監視データを表示するようにサービスを構成するには、接続文字列が必要です。

Azure SDK 2.6 以降へのプロジェクトの移行

Azure SDK 2.5 から Azure SDK 2.6 以降に移行する場合、.wadcfgx ファイルで診断ストレージ アカウントを指定した場合は、そのアカウントはそのまま残ります。 さまざまなストレージ構成に対して異なるストレージ アカウントを使用する柔軟性を利用するには、接続文字列をプロジェクトに手動で追加する必要があります。 Azure SDK 2.4 以前から Azure SDK 2.6 にプロジェクトを移行する場合、診断接続文字列は保持されます。 ただし、前のセクションで指定したAzure SDK 2.6 での接続文字列の処理方法の変更に注意してください。

診断ストレージ アカウントVisual Studio決定する方法

  • 診断接続文字列が .cscfg ファイルで指定されている場合、Visual Studioはそれを使用して、発行時、およびパッケージ化中にパブリック構成 XML ファイルを生成するときに診断拡張機能を構成します。
  • .cscfg ファイルで診断接続文字列が指定されていない場合、Visual Studioは.wadcfgx ファイルで指定されたストレージ アカウントの使用にフォールバックします。 このストレージ アカウントを使用して、発行時に診断拡張機能を構成し、パッケージ化するときにパブリック構成 xml ファイルを生成します。
  • .cscfg ファイルの診断接続文字列は、.wadcfgx ファイル内のストレージ アカウントよりも優先されます。 診断接続文字列が .cscfg ファイルで指定されている場合、Visual Studioはそれを使用し、.wadcfgx のストレージ アカウントを無視します。

"開発ストレージ接続文字列の更新...チェック ボックスは次の処理を行

Microsoft Azureのチェック ボックスをオンにすると、発行時に指定したAzure ストレージ アカウントを使用して、開発用ストレージ アカウントの接続文字列を簡単に更新できます。

たとえば、チェック ボックスをオンにし、診断接続文字列UseDevelopmentStorage=trueを指定するとします。 プロジェクトをAzureに発行すると、Visual Studio発行ウィザードで指定したストレージ アカウントで診断接続文字列が自動的に更新されます。 ただし、実際のストレージ アカウントが診断接続文字列として指定されている場合は、そのアカウントが代わりに使用されます。

Azure SDK 2.4 以前と Azure SDK 2.5 以降の診断機能の違い

プロジェクトを Azure SDK 2.4 から Azure SDK 2.5 以降にアップグレードする場合は、次の診断機能の違いに留意する必要があります。

  • Configuration API は非推奨となりました – プログラムによる診断の構成は、Azure SDK 2.4 以前のバージョンで使用できますが、Azure SDK 2.5 以降では非推奨です。 診断構成がコードで現在定義されている場合は、診断が機能し続けるために、移行されたプロジェクトでこれらの設定を最初から再構成する必要があります。 Azure SDK 2.4 の診断構成ファイルは diagnostics.wadcfg、Azure SDK 2.5 以降の場合は diagnostics.wadcfgx です。
  • クラウド サービス アプリケーションの診断はロール レベルでのみ構成でき、インスタンス レベルでは構成できません。
  • アプリを展開するたびに、診断構成が更新されます 。サーバー エクスプローラーから診断構成を変更し、アプリを再デプロイすると、パリティの問題が発生する可能性があります。
  • Azure SDK 2.5 以降では、クラッシュ ダンプはコードではなく診断構成ファイルで構成されます – クラッシュ ダンプがコードで構成されている場合は、移行中にクラッシュ ダンプが Azure SDK 2.6 に転送されないため、コードから構成ファイルに構成を手動で転送する必要があります。