Share via


診断ログの配信を構成する

この記事では、Azure Databricks ワークスペースの診断ログ配信を有効にする方法について説明します。

Note

診断ログには、Premium プランが必要です。

  1. Azure Databricks ワークスペースの所有者または共同作成者として Azure portal にログインし、Azure Databricks サービス リソースをクリックします。

  2. サイドバーの [監視] セクションで、[診断設定] タブをクリックします。

  3. [診断を有効にする] をクリックします。

    Azure Databricks で診断を有効にする

  4. [診断設定] ページで、次の構成を指定します。

    名前

    作成するログの名前を入力します。

    ストレージ アカウントへのアーカイブ

    このオプションを使用するには、接続先として既存のストレージ アカウントが必要です。 Portal で新しいストレージ アカウントを作成するには、ストレージ アカウントの作成に関するページを参照し、Azure Resource Manager の汎用アカウントの作成手順を実行します。 Portal でこのページに戻り、ストレージ アカウントを選択します。 新しく作成されたストレージ アカウントがドロップダウン メニューに表示されるまでには、数分かかる場合があります。 ストレージ アカウントへの書き込みによって生じる追加コストの詳細については、Azure Storage の価格に関するページを参照してください。

    イベント ハブへのストリーム

    このオプションを使用するには、接続する既存の Azure Event Hubs 名前空間とイベント ハブが必要です。 Event Hubs 名前空間を作成するには、「Azure Portal を使用して Event Hubs 名前空間とイベント ハブを作成する」をご覧ください。 ポータルでこのページに戻り、Event Hubs 名前空間とポリシー名を選択します。 イベント ハブへの書き込みによって生じる追加コストの詳細については、Azure Event Hubs の価格に関するページを参照してください。

    Log Analytics への送信

    このオプションを使用するには、既存の Log Analytics ワークスペースを使用するか、ポータルで新しいワークスペースを作成する手順に従って新しいものを作成します。 Log Analytics にログを送信することによって生じる追加コストについては、Azure Monitor の価格に関するページを参照してください。

    Azure Databricks の診断設定

  5. 診断ログの対象となるサービスを選択します。

  6. [保存] を選択します。

  7. 以下のエラーを受信した場合: "<workspace name> の診断を更新できませんでした。 <subscription id> サブスクリプションは microsoft.insights を使用するように登録されていません。" Azure Diagnostics のトラブルシューティングに関する指示に従ってアカウントを登録してから、この手順を再試行してください。

  8. 今後、診断ログを保存する方法を変更する場合は、このページに戻ってアカウントの診断ログの設定を変更します。

Note

ストレージ保持ポリシーを設定する場合は、Azure ライフサイクル管理ポリシーを構成します。

PowerShell を使用してログ記録を有効にする

  1. Azure PowerShell セッションを開始し、次のコマンドで Azure アカウントにサインインします。

     Connect-AzAccount
    

    ユーザーとして Azure アカウントにサインインするには、「Azure Databricks ユーザー アカウントで PowerShell にログインする」を参照してください。 Azure アカウントにサービス プリンシパルとしてサインインするには、「Microsoft Entra ID サービス プリンシパルを使用した PowerShell ログイン」を参照してください。

    Azure PowerShell がまだインストールされていない場合は、次のコマンドを使用して Azure PowerShell をインストールしてください。

     Install-Module -Name Az -AllowClobber
    
  2. ポップアップ ブラウザー ウィンドウで、Azure アカウントのユーザー名とパスワードを入力します。 Azure PowerShell は、このアカウントに関連付けられているすべてのサブスクリプションを取得し、既定で最初のサブスクリプションを使います。

    複数のサブスクリプションがある場合は、Azure Key Vault を作成するときに使って特定のサブスクリプションを指定することが必要なことがあります。 アカウントのサブスクリプションを確認するには、次のコマンドを入力します。

    Get-AzSubscription
    

    ログを記録する Azure Databricks アカウントに関連付けられているサブスクリプションを指定するには、次のコマンドを入力します。

    Set-AzContext -SubscriptionId <subscription ID>
    
  3. Log Analytics リソース名を logAnalytics という名前の変数に設定します。ここで、ResourceName は Log Analytics ワークスペースの名前です。

    $logAnalytics = Get-AzResource -ResourceGroupName <resource group name> -ResourceName <resource name> -ResourceType "Microsoft.OperationalInsights/workspaces"
    
  4. Azure Databricks サービスのリソース名を databricks という名前の変数に設定します。ここで、ResourceName は Azure Databricks サービスの名前です。

    $databricks = Get-AzResource -ResourceGroupName <your resource group name> -ResourceName <your Azure Databricks service name> -ResourceType "Microsoft.Databricks/workspaces"
    
  5. Azure Databricks のログを有効にするには、新しいストレージ アカウント、Azure Databricks サービス、およびログを有効にするカテゴリの変数を指定して、New-AzDiagnosticSetting コマンドレットを使います。 次のコマンドを実行し、-Enabled フラグを $true に設定します。

    New-AzDiagnosticSetting -ResourceId $databricks.ResourceId -WorkspaceId $logAnalytics.ResourceId -Enabled $true -name "<diagnostic setting name>" -Category <comma separated list>
    

Azure CLI を使用してログを有効にする

  1. PowerShell を開きます。

  2. 次のコマンドを使用して、Azure アカウントに接続します。

    az login
    

    Microsoft Entra ID サービス プリンシパルを使用して接続するには、「Microsoft Entra ID サービス プリンシパルを使用した Azure CLI ログイン」参照してください。

    Azure Databricks ユーザー アカウントを使用して接続するには、「Azure Databricks ユーザー アカウントを使用した Azure CLI のログイン」を参照してください。

  3. 次の診断設定コマンドを実行します。

    az monitor diagnostic-settings create --name <diagnostic name>
    --resource-group <log analytics workspace resource group>
    --workspace <log analytics name or object ID>
    --resource <target resource object ID>
    --logs '[
    {
     \"category\": <category name>,
      \"enabled\": true
    }
    ]'
    

REST API

LogSettings API を使用します。

要求

PUT https://management.azure.com/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}?api-version=2017-05-01-preview

要求本文

{
    "properties": {
    "workspaceId": "<log analytics resourceId>",
    "logs": [
      {
        "category": "<category name>",
        "enabled": true,
        "retentionPolicy": {
          "enabled": false,
          "days": 0
        }
      }
    ]
  }
}

診断ログの待機時間

アカウントでログが有効になると、Azure Databricks は配信場所へ診断ログを自動的に送信します。 ログは通常、アクティブ化して 15 分以内に利用可能になります。 Azure Databricks の監査可能イベントは、通常、Azure Commercial リージョン内では 15 分以内に診断ログに表示されます。

SSH ログインのログは、長い待機時間で配信されます。

Note

ほとんどのログは 15 分以内に配信されることが期待できますが、Azure Databricks はログ配信の時間を保証していません。