Azure Traffic Manager でリソースログを有効にする

この記事では、Traffic Manager プロファイルの診断リソース ログの収集を有効にしてログ データにアクセスする方法について説明します。

Azure Traffic Manager のリソース ログからは、Traffic Manager プロファイル リソースの動作に関する分析情報が提供されます。 たとえば、プロファイルのログ データを使用すると、個々のプローブがエンドポイントに対してタイムアウトした理由を判断できます。

前提条件

Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。

Azure Cloud Shell を開始するには、以下のようにします。

オプション 例とリンク
コードまたはコマンド ブロックの右上隅にある [使ってみる] を選択します。 [使ってみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にはコピーされません。 Screenshot that shows an example of Try It for Azure Cloud Shell.
https://shell.azure.com に移動するか、[Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。 Button to launch Azure Cloud Shell.
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。 Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell を使用するには、以下のようにします。

  1. Cloud Shell を開始します。

  2. コード ブロック (またはコマンド ブロック) の [コピー] ボタンを選択し、コードまたはコマンドをコピーします。

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードまたはコマンドを Cloud Shell セッションに貼り付けます。

  4. Enter キーを選択して、コードまたはコマンドを実行します。

PowerShell をインストールしてローカルで使用する場合、この記事では Azure PowerShell モジュール バージョン 5.4.1 以降が必要になります。 インストールされているバージョンを確認するには、Get-Module -ListAvailable Az を実行します。 アップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。 PowerShell をローカルで実行している場合、Connect-AzAccount を実行して Azure との接続を作成することも必要です。

リソース ログの有効化

  1. Traffic Manager プロファイルを取得する:

    リソース ログを有効にするには、Traffic Manager プロファイルの ID が必要です。 Get-AzTrafficManagerProfile を使用して、リソース ログを有効にする Traffic Manager プロファイルを取得します。 出力には、Traffic Manager プロファイルの ID 情報が含まれます。

    Get-AzTrafficManagerProfile -Name <TrafficManagerprofilename> -ResourceGroupName <resourcegroupname>
    
  2. Traffic Manager プロファイルのリソース ログを有効にする:

    前のステップで取得した ID を使って Traffic Manager プロファイルのリソース ログを有効にするには、New-AzDiagnosticSetting を使います。 次のコマンドでは、指定した Azure ストレージ アカウントに、Traffic Manager プロファイルの詳細ログが格納されます。

    $subscriptionId = (Get-AzContext).Subscription.Id
    $metric = @()
    $log = @()
    $categories = Get-AzDiagnosticSettingCategory -ResourceId  <TrafficManagerprofileResourceId>
    $categories | ForEach-Object {if($_.CategoryType -eq "Metrics"){$metric+=New-AzDiagnosticSettingMetricSettingsObject -Enabled $true -Category $_.Name -RetentionPolicyDay 7 -RetentionPolicyEnabled $true} else{$log+=New-AzDiagnosticSettingLogSettingsObject -Enabled $true -Category $_.Name -RetentionPolicyDay 7 -RetentionPolicyEnabled $true}}
    New-AzDiagnosticSetting -Name <DiagnosticSettingName> -ResourceId <TrafficManagerprofileResourceId> -StorageAccountId <storageAccountId> -Log $log -Metric $metric
    
    
  3. 診断の設定を検証する:

    Get-AzDiagnosticSetting を使用して、Traffic Manager プロファイルの診断の設定を検証します。 次のコマンドでは、リソースのログに記録されるカテゴリが表示されます。

    Get-AzDiagnosticSetting -ResourceId <TrafficManagerprofileResourceId>
    

    Traffic Manager プロファイル リソースに関連付けられているすべてのログ カテゴリが有効と表示されることを確認します。 また、ストレージ アカウントが正しく設定されていることを検証します。

アクセス ログ ファイル

ログ ファイルにアクセスするには、以下の手順を実行します。

  1. Azure portal にサインインします。

  2. ポータルで Azure ストレージ アカウントに移動します。

  3. Azure Storage アカウントの左ペインで、[データ ストレージ] の下の [コンテナー] を選びます。

  4. [コンテナー]$logs を選び、PT1H.json ファイルに移動し、[ダウンロード] を選んでこのログ ファイルのコピーをダウンロードして保存します。

    Access log files of your Traffic Manager profile from a blob storage

Traffic Manager のログのスキーマ

Azure Monitor を通じて使用できるすべてのリソース ログには、共通の上位スキーマが共有されます。各サービスが、独自のイベントに固有のプロパティを出力するための柔軟性も備わっています。 最上位のリソース ログのスキーマについては、「Azure リソース ログでサポートされているサービス、スキーマ、カテゴリ」をご覧ください。

次の表には、Azure Traffic Manager プロファイル リソースに固有のログ スキーマが含まれています。

フィールド名 フィールドの型 定義
EndpointName String 正常性の状態が記録されている Traffic Manager エンドポイントの名前。 myPrimaryEndpoint
Status String プローブされた Traffic Manager エンドポイントの正常性の状態。 状態は Up または Down のいずれかです。 Up

次のステップ