Databricks の Data Observability: Jobs Monitoring を有効にする

This product is not supported for your selected Datadog site. ().

Data Observability: Jobs Monitoring は、クラスターまたはサーバーレスコンピュート上で実行される Databricks ジョブとワークフローのパフォーマンスおよび信頼性を可視化します。

セットアップ

Databricks ワークスペースで Networking Restrictions が有効になっている場合、Datadog の webhook IP ranges を許可リストに追加します。ワークスペースがプライベートリンクを使用している場合は、以下のプライベートリンク接続タブを参照してください。

以下の手順に従って、Databricks の Data Observability: Jobs Monitoring を有効にします。

  1. Databricks ワークスペースの Datadog-Databricks インテグレーションを構成します。
  2. Datadog Agent をワークスペース内の Databricks クラスターにインストールします。

Datadog-Databricks インテグレーションの構成

新しいワークスペースインテグレーションは、OAuth を使用して認証する必要があります。すでに個人用アクセストークンで統合されているワークスペースは引き続き機能し、いつでも OAuth に切り替えることができます。ワークスペースが OAuth の使用を開始した後は、個人用アクセストークンに戻すことができません。

Databricks でサービスプリンシパルを作成および構成する

  1. Databricks ワークスペース管理者として、ワークスペースの右上隅にあるプロフィールをクリックして Settings に移動します。

  2. Identity and access タブで、Service principals の隣にある Manage をクリックします。

  3. Add service principal をクリックし、その後 Add new をクリックします。

  4. 名前を入力し、その後追加をクリックします。

    Azure Databricks の場合は、「Databricks 管理」の管理タイプを選択します。Datadog は「Microsoft Entra ID 管理」サービスプリンシパルをサポートしていません。
  5. 新しいサービスプリンシパルの名前をクリックします。Secrets タブで、Generate secret をクリックします。

    1. Lifetime (days) を最大値 (730) に設定します。

    2. Generate をクリックします。

    3. クライアント ID とクライアントシークレットをメモします。

    Databricks では、新しい OAuth シークレットに関連付けられたクライアント ID とシークレットを表示するモーダルが表示されます。
  6. Permissions タブで、Grant access をクリックします。新しいサービスプリンシパルを検索し、Manage の権限を付与して、Save をクリックします。

  7. Identity and access タブに戻り、Groups の隣にある Manage をクリックします。

  8. admins グループをクリックし、Add members をクリックして新しいサービスプリンシパルを追加します。

Databricks ワークスペースを Datadog に追加します。

  1. Datadog で、Databricks インテグレーションタイルを開きます。

  2. Configure タブで、Add Databricks Workspace をクリックします。

  3. ワークスペース名、Databricks ワークスペース URL、および生成したクライアント ID とシークレットを入力します。

    Datadog-Databricks インテグレーションタイルに Databricks ワークスペースが表示されます。このワークスペースには、名前、URL、クライアント ID、およびクライアントシークレットがあります。
  4. Data Observability: Jobs Monitoring または Cloud Cost Management で Databricks のコストを可視化するには、Datadog がシステムテーブルをクエリするために使用できる Databricks SQL Warehouse の ID を提供します。

    • サービスプリンシパルは SQL Warehouse へのアクセス権を持っている必要があります。Warehouse の構成ページで、Permissions (右上) に移動し、CAN USE の権限を付与します。
    • 次のコマンドを実行して、サービスプリンシパルに Unity Catalog システムテーブルへの読み取りアクセス権限を付与します。
    GRANT USE CATALOG ON CATALOG system TO <service_principal>;
    GRANT SELECT ON CATALOG system TO <service_principal>;
    GRANT USE SCHEMA ON CATALOG system TO <service_principal>;
    

    権限を付与するユーザーは、CATALOG systemMANAGE の権限を持っている必要があります。

    • SQL Warehouse は Pro または Serverless である必要があります。Classic Warehouses はサポートされていません。コストを削減するために、Auto Stop を 5 〜 10 分に設定した 2XS ウェアハウスを推奨します。
  5. インテグレーションを設定する製品を選択するセクションで、Data Observability: Jobs Monitoring が Enabled であることを確認します。

  6. Datadog Agent Setup セクションで、次のいずれかを選択します

    • Datadog 管理 (推奨): Datadog は、ワークスペース内のグローバル init スクリプトで Agent をインストールおよび管理します。
    • 手動: 以下の手順に従って、Agent をグローバルにまたは特定の Databricks クラスターにインストールするための init スクリプトをインストールおよび管理します。

Databricks ワークスペースがプライベートリンク接続を使用してデプロイされている場合、Datadog は Databricks API に直接アクセスできません。これには、環境にデプロイされたプライベートアクションランナーを使用する必要があります。

完全なセットアップ手順については、プライベートリンク接続 (プレビュー)を参照してください。

このオプションは、2025 年 7 月 7 日以前に作成されたワークスペースインテグレーションにのみ利用可能です。新しいワークスペースインテグレーションは OAuth を使用して認証する必要があります。
  1. Databricks ワークスペースで、右上隅のプロフィールをクリックし、Settings に移動します。左側のサイドバーで Developer を選択します。Access tokens の隣にある Manage をクリックします。

  2. Generate new token をクリックし、Comment フィールドに「Datadog Integration」と入力し、Lifetime (days) の値を最大許可値 (730 日) に設定し、期限切れになる前にトークンを更新するリマインダーを作成します。その後、Generate をクリックします。トークンをメモします。

    重要:

    • Datadog 管理の init スクリプトインストール (推奨) の場合、トークンのプリンシパルがワークスペース管理者であることを確認します。
    • 手動 init スクリプトインストールの場合、モニター対象の Databricks のジョブとクラスターに対してトークンのプリンシパルが CAN VIEW アクセス権限を持っていることを確認します。

    また、公式の Databricks ドキュメントに従ってサービスプリンシパル用のアクセストークンを生成することもできます。サービスプリンシパルは、ワークスペースアクセスエンタイトルメントが有効であり、上記のようにワークスペース管理者または CAN VIEW アクセス権限を持っている必要があります。

  3. Datadog で、Databricks インテグレーションタイルを開きます。

  4. Configure タブで、Add Databricks Workspace をクリックします。

  5. ワークスペース名、Databricks ワークスペース URL、生成した Databricks トークンを入力します。

    Datadog-Databricks インテグレーションタイルに Databricks ワークスペースが表示されます。このワークスペースには、名前、URL、および API トークンがあります。
  6. Data Observability: Jobs Monitoring または Cloud Cost Management で Databricks のコストを可視化するには、Datadog がシステムテーブルをクエリするために使用できる Databricks SQL Warehouse の ID を提供します。

    • トークンのプリンシパルは、SQL Warehouse へのアクセス権を持っている必要があります。Warehouse 構成ページの右上にあるアクセス許可から CAN USE の権限を付与します。
    • 次のコマンドを実行して、サービスプリンシパルに Unity Catalog システムテーブルへの読み取りアクセス権限を付与します。
    GRANT USE CATALOG ON CATALOG system TO <token_principal>;
    GRANT SELECT ON CATALOG system TO <token_principal>;
    GRANT USE SCHEMA ON CATALOG system TO <token_principal>;
    

    権限を付与するユーザーは、CATALOG systemMANAGE の権限を持っている必要があります。

    • SQL Warehouse は Pro または Serverless である必要があります。Classic Warehouses はサポートされていません。コストを最小限に抑えるために、Auto Stop を 5 〜 10 分に設定した 2XS サイズのウェアハウスを推奨します。
  7. インテグレーションを設定する製品を選択するセクションで、Data Observability: Jobs Monitoring 製品が有効であることを確認します。

  8. Datadog Agent Setup セクションで、次のいずれかを選択します

    • Datadog 管理 (推奨): Datadog は、ワークスペース内のグローバル init スクリプトで Agent をインストールおよび管理します。
    • 手動: 以下の手順に従って、Agent をグローバルにまたは特定の Databricks クラスターにインストールするための init スクリプトをインストールおよび管理します。

Datadog Agent をインストールする

Datadog Agent は、全用途またはジョブクラスターで実行される Databricks のジョブをモニターするために Databricks クラスターにインストールする必要があります。このステップは、サーバーレスコンピュート上のジョブをモニターすることには必要ありません。

Datadog は、Databricks ワークスペースでグローバル init スクリプトをインストールおよび管理できます。Datadog Agent は、ワークスペース内のすべてのクラスターが起動する際にインストールされます。

  • このセットアップは、スタンダードアクセスモードの Databricks クラスターでは機能しません。グローバル init スクリプトはそれらのクラスターにインストールできないからです。スタンダードアクセスモードのクラスターを使用している場合、Datadog は複数のクラスターにわたってクラスターポリシーを手動で構成するまたは特定のクラスターに手動でインストールすることを推奨します。
  • このインストールオプションでは、Datadog が Datadog グローバル init スクリプトをインストールおよび管理します。Databricks アクセストークンがワークスペース管理者の権限を持っている必要があります。CAN VIEW アクセス権限を持つトークンでは、Datadog が Databricks アカウントのグローバル init スクリプトを管理することはできません。

ワークスペースを Datadog と統合する場合

  1. インテグレーションを設定する製品を選択するセクションで、Data Observability: Jobs Monitoring 製品が有効であることを確認します。

  2. Datadog Agent Setup セクションで、Managed by Datadog トグルボタンを選択します。

  3. Select API Key をクリックして、既存の Datadog API キーを選択するか、新しい Datadog API キーを作成します。

  4. (オプション) ジョブと相関させるためにドライバーおよびワーカーログを収集したくない場合は、Enable Log Collection を無効にします。

  5. Save Databricks Workspace をクリックします。

    Datadog-Databricks インテグレーションタイルにおける Databricks ワークスペースを追加する場合の Datadog Agent のセットアップ。Datadog は、グローバル init スクリプトをインストールおよび管理できます。

Datadog と統合済みの Databricks ワークスペースに init スクリプトを追加する場合

  1. 構成タブで、ワークスペースのリストからワークスペースをクリックします

  2. Configured Products タブをクリックします

  3. Data Observability: Jobs Monitoring 製品が有効になっていることを確認します。

  4. Datadog Agent Setup セクションで、Managed by Datadog トグルボタンを選択します。

  5. Select API Key をクリックして、既存の Datadog API キーを選択するか、新しい Datadog API キーを作成します。

  6. (オプション) ジョブと相関させるためにドライバーおよびワーカーログを収集したくない場合は、Enable Log Collection を無効にします。

  7. ブラウザウィンドウの下部にある Databricks Workspace を保存をクリックします。

    Datadog-Databricks インテグレーションタイルにおけるインテグレーションに追加された Databricks ワークスペースの Datadog Agent のセットアップ。Datadog は、グローバル init スクリプトをインストールおよび管理できます。

必要に応じて、Databricks UI のクラスターの Advanced Configuration セクションで、または Databricks API で Spark 環境変数として以下の環境変数を構成することにより、Databricks クラスターおよび Spark パフォーマンスメトリクスにタグを追加できます。

変数説明
DD_TAGSDatabricks クラスターと Spark パフォーマンスメトリクスにタグを追加します。カンマまたはスペースで区切られた key:value ペア。Datadog タグ規約に従います。例: env:staging,team:data_engineering
DD_ENVこのクラスターからのメトリクス、トレース、およびログに env 環境タグを設定します。
DD_LOGS_CONFIG_PROCESSING_RULES処理ルールで収集されたログをフィルタリングします。詳細については、高度なログ収集を参照してください。

このアプローチはスタンダードアクセスモードのクラスターに推奨されます。

init スクリプトを作成する

  1. Databricks で、次の内容の init スクリプトファイルを Unity Catalog ボリュームに作成します。ボリュームパスをメモしておくことを忘れないでください (例: /Volumes/catalog_name/schema_name/volume_name/datadog-init-script.sh)。

    #!/bin/bash
    
    # Download and run the latest init script
    curl -L https://install.datadoghq.com/scripts/install-databricks.sh > djm-install-script
    bash djm-install-script || true
    

    The script above downloads and runs the latest init script for Data Observability: Jobs Monitoring in Databricks. If you want to pin your script to a specific version, you can replace the filename in the URL with install-databricks-0.14.0.sh to use version 0.14.0, for example. The source code used to generate this script, and the changes between script versions, can be found on the Datadog Agent repository.

  2. init スクリプトに読み取り専用権限を付与します。

    1. ボリュームレベルですべてのアカウントユーザーに READ VOLUME 権限を付与します。
    2. カタログレベルですべてのアカウントユーザーに USE CATALOG 権限を付与します。
  3. init スクリプトを許可リストに追加する: スタンダードアクセスモードのクラスターでは、init スクリプトパスを Unity Catalog 許可リストに追加する必要があります。Databricks のドキュメントの指示に従って、init スクリプトパスを許可リストに追加します。

コンピュートポリシーを構成する

  1. Compute で、Policies タブに移動します。すでにクラスターに適用済みのクラスターポリシーがある場合は、その既存のポリシーに移動して編集します。このポリシーはそれを使用するすべてのクラスターに自動的に適用されるため、より簡単なアプローチとなります。そうでない場合は、Create Policy をクリックして新しいポリシーを作成します。

  2. init スクリプトをクラスターポリシーに追加するには、Definition セクションで Add Definition をクリックします。開いたモーダルで、フィールドに入力します。

    1. Field ドロップダウンで init_scripts を選択します。
    2. Source ドロップダウンで Volume を選択します。
    3. Destination で init スクリプトへのボリュームパスを入力します。
    4. Add をクリックします。
  3. 環境変数を構成します。作成したクラスターポリシーに以下の環境変数を追加する必要があります。

    キー説明
    DD_API_KEYDatadog API キー
    DD_SITEYour Datadog サイト
    DATABRICKS_WORKSPACEDatabricks ワークスペースの名前。Datadog-Databricks インテグレーションステップで提供された名前と一致する必要があります。名前に空白が含まれている場合は、二重引用符で囲みます。
    1. 上記の各変数について、Definition セクションで Add Definition をクリックします。開いたモーダルで、フィールドに入力します。
      1. Field ドロップダウンで spark_env_vars を選択します。
      2. Key フィールドで環境変数キーを入力します。
      3. Value フィールドで環境変数の値を入力します。
      4. Type ドロップダウンで Fixed を選択します。
      5. 機密性の高い値の露出を減らすために Hidden チェックボックスをオンにします。
    2. オプションで、他の init スクリプトパラメーターや Datadog 環境変数を設定できます。例えば、DD_ENV および DD_SERVICE などです。次のパラメーターを使用してスクリプトを構成できます。
      変数説明デフォルト
      DRIVER_LOGS_ENABLEDDatadog でスパークドライバーログを収集します。false
      WORKER_LOGS_ENABLEDDatadog でスパークワーカーログを収集します。false
      DD_TAGSカンマまたはスペースで区切られた key:value ペアを使用して、Databricks クラスターおよび Spark パフォーマンスメトリクスにタグを追加します。Datadog タグ規約に従います。例: env:staging,team:data_engineering
      DD_ENVこのクラスターからのメトリクス、トレース、およびログに env 環境タグを設定します。
      DD_LOGS_CONFIG_PROCESSING_RULES処理ルールで収集されたログをフィルタリングします。詳細については、高度なログ収集を参照してください。
  4. 新しいポリシーを作成する場合は Create をクリックし、既存のポリシーを更新する場合は Save をクリックします。既存のポリシーを更新する場合、そのポリシーを使用しているすべてのクラスターは次回の再起動時に自動的に変更を適用します。新しいポリシーを作成する場合は、以下の手順に従ってクラスターに適用します。

クラスターポリシーをクラスターに適用する

  1. Computeで、更新したいクラスターを選択するか、新しいクラスター用に Create Compute をクリックします。
  2. 上部の Policy ドロップダウンで、作成したクラスターポリシーを選択します。
  3. Confirm をクリックして変更を保存します。ポリシーを有効にするには、クラスターを再起動する必要があります。
このセットアップは、スタンダードアクセスモードの Databricks クラスターでは機能しません。グローバル init スクリプトはそれらのクラスターにインストールできないからです。スタンダードアクセスモードのクラスターを使用している場合、Datadog はクラスターポリシーを手動で構成するまたは特定のクラスターに手動でインストールすることを推奨します。
  1. Databricks で、ページの右上隅にある表示名 (メールアドレス) をクリックします。

  2. Settings を選択し、Compute タブをクリックします。

  3. All purpose clusters セクションで、Global init scriptsの隣にある Manage をクリックします。

  4. Add をクリックします。スクリプトに名前を付けます。その後、Script フィールドに以下のスクリプトをコピーして貼り付け、プレースホルダーをパラメーター値に置き換えることを忘れないでください。

    #!/bin/bash
    
    # Required parameters
    export DD_API_KEY=<YOUR API KEY>
    export DD_SITE=<YOUR DATADOG SITE>
    export DATABRICKS_WORKSPACE="<YOUR WORKSPACE NAME>"
    
    # Download and run the latest init script
    curl -L https://install.datadoghq.com/scripts/install-databricks.sh > djm-install-script
    bash djm-install-script || true
    

    上記のスクリプトは必要なパラメーターを設定し、Databricks の Data Observability: Jobs Monitoring の最新の init スクリプトをダウンロードして実行します。特定のバージョンにスクリプトを固定したい場合は、URL 内のファイル名を install-databricks-0.14.0.sh に置き換えてバージョン 0.14.0 を使用することができます。このスクリプトを生成するために使用されたソースコードと、スクリプトバージョン間の変更については、Datadog Agent リポジトリで確認できます。

  5. すべての新しいクラスターと再起動したクラスターでスクリプトを有効にするには、Enabled に切り替えます。

    Databricks UI、管理設定、グローバル init スクリプト。「install-datadog-agent」というスクリプトが、有効になっているトグルを持つリストに含まれます。
  6. Add をクリックします。

必要な init スクリプトパラメーターを設定する

グローバル init スクリプトの最初に init スクリプトパラメーターの値を指定します。

export DD_API_KEY=<YOUR API KEY>
export DD_SITE=<YOUR DATADOG SITE>
export DATABRICKS_WORKSPACE="<YOUR WORKSPACE NAME>"

オプションとして、ここで DD_ENVDD_SERVICE などの他の init スクリプトパラメーターおよび Datadog 環境変数を設定することもできます。以下のパラメーターを使用してスクリプトを構成できます。

変数説明デフォルト
DD_API_KEYDatadog API キー
DD_SITEDatadog サイト
DATABRICKS_WORKSPACEDatabricks ワークスペースの名前。Datadog-Databricks インテグレーションステップで提供された名前と一致する必要があります。名前に空白が含まれている場合は、二重引用符で囲みます。
DRIVER_LOGS_ENABLEDDatadog でスパークドライバーログを収集します。false
WORKER_LOGS_ENABLEDDatadog でスパークワーカーログを収集します。false
DD_TAGSDatabricks クラスターと Spark パフォーマンスメトリクスにタグを追加します。カンマまたはスペースで区切られた key:value ペア。Datadog タグ規約に従います。例: env:staging,team:data_engineering
DD_ENVこのクラスターからのメトリクス、トレース、およびログに env 環境タグを設定します。
DD_LOGS_CONFIG_PROCESSING_RULES処理ルールで収集されたログをフィルタリングします。詳細については、高度なログ収集を参照してください。
  1. Databricks で、次の内容の init スクリプトファイルを Unity Catalog ボリュームに作成します。ボリュームパスをメモしておくことを忘れないでください (例: /Volumes/catalog_name/schema_name/volume_name/datadog-init-script.sh)。

    #!/bin/bash
    
    # Download and run the latest init script
    curl -L https://install.datadoghq.com/scripts/install-databricks.sh > djm-install-script
    bash djm-install-script || true
    

    上記のスクリプトは、Databricks の Data Observability: Jobs Monitoring の最新の init スクリプトをダウンロードして実行します。特定のバージョンにスクリプトを固定したい場合は、URL 内のファイル名を置き換えることができます (例: バージョン 0.14.0 を使用するための install-databricks-0.14.0.sh)。このスクリプトを生成するために使用されたソースコードと、スクリプトバージョン間の変更については、Datadog Agent リポジトリで確認できます。

  2. init スクリプトを許可リストに追加する (スタンダードアクセスモードクラスターに必要): クラスターがスタンダードアクセスモードを使用している場合、init スクリプトのパスを Unity Catalog 許可リストに追加する必要があります。Databricks のドキュメントの指示に従って、init スクリプトパスを許可リストに追加します。

  3. クラスター構成ページで、Advanced options トグルをクリックします。

  4. ページ下部の Init Scripts タブに移動します。

    Databricks UI、クラスター構成の高度なオプション、Init スクリプトタブ。「Destination」ドロップダウンと「Init スクリプトパス」ファイルセレクター。
    • Destination ドロップダウンで Volume を選択します。
    • Init script path で init スクリプトへのボリュームパスを入力します。
    • Add をクリックします。

必要な init スクリプトパラメーターを設定する

  1. Databricks のクラスター構成ページで、Advanced options トグルをクリックします。

  2. ページ下部の Spark タブに移動します。

    Databricks UI、クラスター構成の高度なオプション、Spark タブ。「環境変数」というタイトルのテキストボックスには、DD_API_KEY と DD_SITE の値が含まれます。

    Environment variables テキストボックスに、init スクリプトパラメーターの値を入力します。

    DD_API_KEY=<YOUR API KEY>
    DD_SITE=<YOUR DATADOG SITE>
    DATABRICKS_WORKSPACE="<YOUR WORKSPACE NAME>"
    

    オプションとして、ここで DD_ENVDD_SERVICE などの他の init スクリプトパラメーターおよび Datadog 環境変数を設定することもできます。以下のパラメーターを使用してスクリプトを構成できます。

変数説明デフォルト
DD_API_KEYDatadog API キー
DD_SITEDatadog サイト
DATABRICKS_WORKSPACEDatabricks ワークスペースの名前。Datadog-Databricks インテグレーションステップで提供された名前と一致する必要があります。名前に空白が含まれている場合は、二重引用符で囲みます。
DRIVER_LOGS_ENABLEDDatadog でスパークドライバーログを収集します。false
WORKER_LOGS_ENABLEDDatadog でスパークワーカーログを収集します。false
DD_TAGSDatabricks クラスターと Spark パフォーマンスメトリクスにタグを追加します。カンマまたはスペースで区切られた key:value ペア。Datadog タグ規約に従います。例: env:staging,team:data_engineering
DD_ENVこのクラスターからのメトリクス、トレース、およびログに env 環境タグを設定します。
DD_LOGS_CONFIG_PROCESSING_RULES処理ルールで収集されたログをフィルタリングします。詳細については、高度なログ収集を参照してください。
  1. Confirm をクリックします。

すでに実行中のクラスターを再起動する

init スクリプトは、クラスターが起動する際に Agent をインストールします。

すでに実行中の all-purpose クラスターまたは long-lived ジョブクラスターは、init スクリプトが Datadog Agent をインストールするために手動で再起動する必要があります。

ジョブクラスターで実行されるスケジュールされたジョブについては、init スクリプトが次回の実行時に自動的に Datadog Agent をインストールします。

検証

Datadog で Data Observability: Jobs Monitoring ページを表示すると、Databricks のすべてのジョブリストが表示されます。

一部のジョブが表示されない場合は、構成ページに移動して理由を確認してください。このページには、Agent がクラスターにまだ構成されていないすべての Databricks ジョブがリストされており、セットアップを完了するためのガイダンスが含まれています。

トラブルシューティング

製品をインストールした後、DJM にデータが表示されない場合は、以下の手順に従います。

  1. API キーの検証: init スクリプトが手動でインストールされたもののクラスターデータが DJM 製品に表示されない場合は、API key エンドポイントを検証するを使用して、スクリプトに指定された Datadog API キーが有効であることを確認します。
  2. エージェントの検証: init スクリプトが Datadog Agent をインストールします。正しくインストールされていることを確認するために、SSH でクラスターに接続し、Agent ステータスコマンドを実行します。
sudo datadog-agent status

高度な構成

クラスターでログ収集をフィルタリングする

個々のクラスターからすべてのログ収集を除外する

Databricks UI のクラスターの Advanced Configuration セクションで、または Databricks API の Spark 環境変数として、次の環境変数を構成します。

DD_LOGS_CONFIG_PROCESSING_RULES=[{\"type\": \"exclude_at_match\",\"name\": \"drop_all_logs\",\"pattern\": \".*\"}]

権限

Databricks ワークスペースに接続するユーザーまたはサービスプリンシパルに、Workspace Admin 権限を付与します。これにより、Datadog は init スクリプトのインストールと更新を自動的に管理でき、構成ミスのリスクが軽減されます。

より詳細な制御が必要な場合は、ワークスペース内のすべてのジョブ、クラスター、およびクエリを引き続きモニターできるように、次のワークスペースレベルのオブジェクトにこれらの最小限の権限を付与します。

オブジェクト権限
ジョブCAN VIEW
コンピュートCAN ATTACH TO
Lakeflow Declarative PipelinesCAN VIEW
クエリCAN VIEW
SQL ウェアハウスCAN MONITOR

さらに、Datadog が Data Observability: Jobs Monitoring または Cloud Cost Management で Databricks コストデータにアクセスするには、システムテーブルをクエリするために使用されるユーザーまたはサービスプリンシパルに次の権限が必要です。

  • CAN USE 権限 (SQL ウェアハウス)。
  • Unity Catalog 内のシステムテーブルに対する読み取りアクセス。これは次のように付与できます。
GRANT USE CATALOG ON CATALOG system TO <service_principal>;
GRANT SELECT ON CATALOG system TO <service_principal>;
GRANT USE SCHEMA ON CATALOG system TO <service_principal>;

権限を付与するユーザーは、CATALOG systemMANAGE の権限を持っている必要があります。

ランタイムでのタグスパン

You can set tags on Spark spans at runtime. These tags are applied only to spans that start after the tag is added.

// Add tag for all next Spark computations
sparkContext.setLocalProperty("spark.datadog.tags.key", "value")
spark.read.parquet(...)

To remove a runtime tag:

// Remove tag for all next Spark computations
sparkContext.setLocalProperty("spark.datadog.tags.key", null)

1 回限りのジョブ実行からクラスターメトリクスを集約する

この構成は、ジョブに関するクラスターリソース使用状況データを取得し、1 回限りの実行 API エンドポイントを介して各実行のために新しいジョブとクラスターを作成する場合に適用されます (Databricks の外部で Airflow や Azure Data Factory などのオーケストレーションツールを使用する場合によく適用されます)。

1 回限りの実行 API エンドポイントを介して Databricks ジョブを送信する場合、各ジョブ実行には一意のジョブ ID が付与されます。これにより、エフェメラルクラスターを使用するジョブのクラスターメトリクスをグループ化して分析することが難しくなる場合があります。同じジョブからのクラスター利用率を集約し、複数回の実行にわたるパフォーマンスを評価するには、すべての new_clusterspark_env_vars 内に DD_JOB_NAME 変数を設定し、リクエストペイロードの run_name と同じ値にする必要があります。

1 回限りのジョブ実行リクエスト本文の例は次のとおりです。

{
   "run_name": "Example Job",
   "idempotency_token": "8f018174-4792-40d5-bcbc-3e6a527352c8",
   "tasks": [
      {
         "task_key": "Example Task",
         "description": "Description of task",
         "depends_on": [],
         "notebook_task": {
            "notebook_path": "/Path/to/example/task/notebook",
            "source": "WORKSPACE"
         },
         "new_cluster": {
            "num_workers": 1,
            "spark_version": "13.3.x-scala2.12",
            "node_type_id": "i3.xlarge",
            "spark_env_vars": {
               "DD_JOB_NAME": "Example Job"
            }
         }
      }
   ]
}

Databricks Networking Restrictions を使用した Data Observability: Jobs Monitoring の設定

Databricks Networking Restrictions により、Datadog は Databricks API にアクセスできない場合があり、これにより、Databricks ジョブ実行のトレース、タグ、およびその他のメタデータの収集ができなくなります。

IP アクセスリストで Databricks API アクセスを制御している場合は、許可リスト Datadog の特定の webhook IP addresses を許可すると、Datadog がワークスペース内の Databricks API に接続できるようになります。Datadog API アクセスを提供するための個別のワークスペースの IP アクセスリストの構成については、Databricks のドキュメントを参照してください。

Databricks プライベートリンク接続を使用するワークスペースをモニターするには、プライベートリンク接続 (プレビュー)を参照してください。

参考資料