Databricks の Data Observability: Jobs Monitoring を有効にする
This product is not supported for your selected
Datadog site. (
).
Data Observability: Jobs Monitoring は、クラスターまたはサーバーレスコンピュートで実行される Databricks ジョブとワークフローのパフォーマンスと信頼性を可視化します。
セットアップ
Databricks ワークスペースで
ネットワーク制限が有効になっている場合は、Datadog の
webhook IP ranges を許可リストに追加します。ワークスペースで Private Link を使用している場合は、以下の
Private Link Connectivity タブを参照してください。
以下の手順に従って、Databricks の Data Observability: Jobs Monitoring を有効にします。
- Databricks ワークスペースの Datadog-Databricks インテグレーションを構成します。
- ワークスペース内の Databricks クラスターに Datadog Agent をインストールします。
新しいワークスペースインテグレーションは、OAuth を使用して認証する必要があります。Personal Access Token ですでに統合されているワークスペースは引き続き機能し、いつでも OAuth に切り替えることができます。ワークスペースで OAuth の使用を開始すると、Personal Access Token に戻すことはできません。
Databricks ワークスペース管理者として、ワークスペースの右上隅にあるプロフィールをクリックして Settings に移動します。
Identity and accessタブで、Service principals の横にある Manage をクリックします。
Add service principal をクリックし、次に Add new をクリックします。
Azure Databricks の場合は、[Databricks managed] 管理タイプを選択します。Datadog は [Microsoft Entra ID managed] サービスプリンシパルをサポートしていません。
名前を入力し、サービスプリンシパルに対して次のワークスペースエンタイトルメントを有効にします。
- Workspace access
- Databricks SQL access
- Admin access: Datadog が必要とするワークスペース管理者アクセス権を付与します。これは、サービスプリンシパルを
admins グループに追加することと同等です。
管理者アクセスエンタイトルメントを付与できない場合は、代わりに高度な構成の
権限セクションで説明されているように、きめ細かなアクセス権をプロビジョニングします。
Add をクリックします。
新しいサービスプリンシパルの名前をクリックします。Secrets タブで、Generate secret をクリックします。
Lifetime (days) を許可される最大値 (730) に設定します。
Generate をクリックします。
クライアント ID とクライアントシークレットを控えておきます。
Permissions タブで、Grant access をクリックします。新しいサービスプリンシパルを検索し、Manage 権限を付与して、Save をクリックします。
Databricks ワークスペースを Datadog に追加する
Datadog で、Databricks インテグレーションタイルを開きます。
Configure タブで、Add Databricks Workspace をクリックします。
ワークスペース名、Databricks ワークスペース URL、および生成したクライアント ID とシークレットを入力します。
Datadog がクエリを実行するための Databricks SQL Warehouse の ID を指定します。これにより、Jobs Monitoring または Cloud Cost Management で Databricks のコストを可視化し、Quality Monitoring を強化できます。
Databricks で SQL Warehouses に移動し、Datadog が使用するウェアハウスを選択します。Pro または Serverless である必要があります。Classic Warehouses はサポートされていません。コストを削減するには、Auto Stop を 5~10 分に設定した専用の 2XS ウェアハウスを使用します。
ウェアハウスの概要ページから ID をコピーし (ウェアハウスの URL の最後のセグメントでもあります)、インテグレーションタイルに入力します。
ウェアハウスの Permissions タブ (右上) で、サービスプリンシパルに CAN USE を付与します。
サービスプリンシパルに、Unity Catalog の システムテーブル への読み取りアクセス権を付与します。SQL Editor で、サービスプリンシパルのクライアント ID (表示名ではありません) を使用して、次のコマンドを実行します。
GRANT USE CATALOG ON CATALOG system TO `<CLIENT-ID>`;
GRANT USE SCHEMA ON CATALOG system TO `<CLIENT-ID>`;
GRANT SELECT ON CATALOG system TO `<CLIENT-ID>`;
これらのコマンドを実行するユーザーには、 MANAGE ( CATALOG systemにおける) の権限が必要です。
インテグレーションを設定する製品を選択セクションで、Data Observability: Jobs Monitoring が Enabled になっていることを確認します。
Datadog Agent Setup セクションで、以下のいずれかを選択します。
- Datadog による管理 (推奨): Datadog がワークスペース内のグローバル init script を使用して Agent をインストールおよび管理します。
- 手動: 以下の手順に従って、Agent をグローバルまたは特定の Databricks クラスターにインストールするための init script をインストールおよび管理します。
このオプションは、2025 年 7 月 7 日より前に作成されたワークスペースインテグレーションでのみ利用できます。新しいワークスペースインテグレーションでは、OAuth を使用して認証する必要があります。
Databricks ワークスペースで、右上隅のプロフィールをクリックし、Settings に移動します。左側のサイドバーで Developer を選択します。Access tokens の横にある Manage をクリックします。
Generate new token をクリックし、Comment フィールドに「Datadog Integration」と入力し、Lifetime (days) の値を最大許容値 (730 日) に設定して、トークンの有効期限前に更新するリマインダーを作成します。次に Generate をクリックします。トークンを控えておきます。
重要:
代わりに、公式の Databricks ドキュメント に従って、サービスプリンシパル のアクセストークンを生成します。サービスプリンシパルでは、Workspace access エンタイトルメント が有効になっており、かつ、上記で説明した Workspace Admin または CAN VIEW access の権限が付与されている必要があります。
Datadog で、Databricks インテグレーションタイルを開きます。
Configure タブで、Add Databricks Workspace をクリックします。
ワークスペース名、Databricks ワークスペース URL、および生成した Databricks トークンを入力します。
Datadog がクエリを実行するための Databricks SQL Warehouse の ID を指定します。これにより、Jobs Monitoring または Cloud Cost Management で Databricks のコストを可視化し、Quality Monitoring を強化できます。
Databricks で SQL Warehouses に移動し、Datadog が使用するウェアハウスを選択します。Pro または Serverless である必要があります。Classic Warehouses はサポートされていません。コストを削減するには、Auto Stop を 5~10 分に設定した専用の 2XS ウェアハウスを使用します。
ウェアハウスの概要ページから ID をコピーし (ウェアハウスの URL の最後のセグメントでもあります)、インテグレーションタイルに入力します。
ウェアハウスの Permissions タブ (右上) で、トークンの Principal に CAN USE を付与します。
トークンの Principal に、Unity Catalog の システムテーブル への読み取りアクセス権を付与します。SQL Editor で、Principal のクライアント ID (表示名ではありません) を使用して、次のコマンドを実行します。
GRANT USE CATALOG ON CATALOG system TO `<CLIENT-ID>`;
GRANT USE SCHEMA ON CATALOG system TO `<CLIENT-ID>`;
GRANT SELECT ON CATALOG system TO `<CLIENT-ID>`;
これらのコマンドを実行するユーザーには、 MANAGE ( CATALOG systemにおける) の権限が必要です。
インテグレーションを設定する製品を選択セクションで、Data Observability: Jobs Monitoring 製品が Enabled になっていることを確認します。
Datadog Agent Setup セクションで、以下のいずれかを選択します。
- Datadog による管理 (推奨): Datadog がワークスペース内のグローバル init script を使用して Agent をインストールおよび管理します。
- 手動: 以下の手順に従って、Agent をグローバルまたは特定の Databricks クラスターにインストールするための init script をインストールおよび管理します。
Datadog Agent をインストールする
Datadog Agent は、All-Purpose クラスターまたは Job クラスターで実行される Databricks ジョブを監視するために、Databricks クラスターにインストールする必要があります。この手順は、サーバーレスコンピューティング 上のジョブを監視する場合には不要です。
Datadog は、Databricks ワークスペース内でグローバル init script をインストールおよび管理できます。Datadog Agent は、ワークスペース内のすべてのクラスターの起動時にインストールされます。
- この設定は、Standard アクセスモードの Databricks クラスターでは機能しません。これは、それらのクラスターにはグローバル init script をインストールできないためです。Standard アクセスモードのクラスターを使用している場合、Datadog では、複数のクラスターにわたってクラスターポリシーを手動で構成するか、特定のクラスターに手動でインストールすることを推奨しています。
- Datadog が Datadog グローバル init script をインストールおよび管理するこのインストールオプションには、Workspace Admin 権限を持つ Databricks アクセストークンが必要です。CAN VIEW access 権限を持つトークンでは、Datadog が Databricks アカウントのグローバル init script を管理することはできません。
ワークスペースを Datadog とインテグレーションする場合
インテグレーションを設定する製品を選択セクションで、Data Observability: Jobs Monitoring 製品が Enabled になっていることを確認します。
Datadog Agent Setup セクションで、Managed by Datadog トグルボタンを選択します。
Select API Key をクリックして、既存の Datadog API キーを選択するか、新しい Datadog API キーを作成します。
(オプション) ジョブとの関連付けに使用するドライバーおよびワーカーのログを収集しない場合は、Enable Log Collection を無効にします。
Save Databricks Workspace をクリックします。
Datadog とすでにインテグレーションされている Databricks ワークスペースに init script を追加する場合
Configure タブで、ワークスペースのリストからワークスペースをクリックします。
Configured Products タブをクリックします。
Data Observability: Jobs Monitoring 製品が Enabled になっていることを確認します。
Datadog Agent Setup セクションで、Managed by Datadog トグルボタンを選択します。
Select API Key をクリックして、既存の Datadog API キーを選択するか、新しい Datadog API キーを作成します。
(オプション) ジョブとの関連付けに使用するドライバーおよびワーカーのログを収集しない場合は、Enable Log Collection を無効にします。
ブラウザウィンドウの下部にある Save Databricks Workspace をクリックします。
オプションで、Databricks UI のクラスターの Advanced Configuration セクションで、または Databricks API を使用して Spark env vars として以下の環境変数を構成することにより、Databricks クラスターおよび Spark パフォーマンスメトリクスにタグを追加できます。
| 変数 | 説明 |
|---|
| DD_TAGS | Databricks クラスターおよび Spark パフォーマンスメトリクスにタグを追加します。カンマまたはスペースで区切られた key:value ペア。Datadog タグ規則 に従います。例: env:staging,team:data_engineering |
| DD_ENV | このクラスターからのメトリクス、トレース、およびログの env 環境タグを上書きします。デフォルトでは、Databricks ワークスペース名が env として使用されます。 |
| DD_LOGS_CONFIG_PROCESSING_RULES | 処理ルールを使用して収集されたログをフィルタリングします。詳細については、高度なログ収集 を参照してください。 |
この方法は、Standard アクセスモードのクラスターに推奨されます。
init script を作成する
Databricks で、以下の内容を含む init script ファイルを 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.
init script への読み取り専用権限を付与します。
- ボリュームレベルで、すべてのアカウントユーザーに
READ VOLUME 権限を付与します。 - カタログレベルで、すべてのアカウントユーザーに
USE CATALOG 権限を付与します。
Databricks は、Unity Catalog ボリュームの権限を、クラスターを実行している Principal ではなく、クラスター所有者に対して評価します。
init script を許可リストに追加する: Standard アクセスモードのクラスターの場合、init script のパスを Unity Catalog の許可リストに追加する必要があります。Databricks ドキュメント の手順に従って、init script のパスを許可リストに追加します。
コンピューティングポリシーを構成する
Compute で、Policies タブに移動します。クラスターにすでにクラスターポリシーが適用されている場合は、その既存のポリシーに移動して編集します。このポリシーは、それを使用するすべてのクラスターに自動的に適用されるため、こちらの方が簡単な方法です。それ以外の場合は、Create Policy をクリックして新しいポリシーを作成します。
init script をクラスターポリシーに追加するには、Definition セクションで Add Definition をクリックします。開いたモーダルで、各フィールドに入力します。
- Field ドロップダウンで、init_scripts を選択します。
- Source ドロップダウンで、Volume を選択します。
- Destination の下に、init script へのボリュームパスを入力します。
- Add をクリックします。
環境変数を構成します。作成したクラスターポリシーに、以下の各環境変数を追加する必要があります。
- 上記の各変数について、Definition セクションで Add Definition をクリックします。開いたモーダルで、各フィールドに入力します。
- Field ドロップダウンで、spark_env_vars を選択します。
- Key フィールドに、環境変数キーを入力します。
- Value フィールドに、環境変数の値を入力します。
- Type ドロップダウンで、Fixed を選択します。
- 機密値の露出を減らすには、Hidden チェックボックスをオンにします。
- 必要に応じて、その他の init script パラメータや Datadog 環境変数 (例:
DD_ENV や DD_SERVICE) を設定します。以下のパラメータを使用してスクリプトを構成できます。| 変数 | 説明 | デフォルト |
|---|
| DRIVER_LOGS_ENABLED | Datadog で Spark ドライバーログを収集します。 | false |
| WORKER_LOGS_ENABLED | Datadog で Spark ワーカーログを収集します。 | false |
| DD_TAGS | Databricks クラスターおよび Spark パフォーマンスメトリクスにタグを追加します。カンマまたはスペースで区切られた key:value ペア。Datadog タグ規則 に従います。例: env:staging,team:data_engineering | |
| DD_ENV | このクラスターからのメトリクス、トレース、およびログの env 環境タグを上書きします。デフォルトでは、Databricks ワークスペース名が env として使用されます。 | |
| DD_LOGS_CONFIG_PROCESSING_RULES | 処理ルールを使用して収集されたログをフィルタリングします。詳細については、高度なログ収集 を参照してください。 | |
新しいポリシーを作成する場合は Create を、既存のポリシーを更新する場合は Save をクリックします。既存のポリシーを更新した場合、そのポリシーを使用しているすべてのクラスターに、次回の再起動時に変更が自動的に適用されます。新しいポリシーを作成した場合は、以下の手順に従ってクラスターに適用します。
クラスターにクラスターポリシーを適用する
- Compute で、更新するクラスターを選択するか、新しいクラスターの場合は Create Compute をクリックします。
- 上部の Policy ドロップダウンで、作成したポリシーを選択します。
- Confirm をクリックして変更を保存します。ポリシーを有効にするには、クラスターを再起動する必要があります。
この設定は、
Standard アクセスモードの Databricks クラスターでは機能しません。Standard アクセスモードのクラスターには、グローバル init script をインストールできないためです。
Standard アクセスモードのクラスターを使用している場合、Datadog では
クラスターポリシーを手動で構成するか
特定のクラスターに手動でインストールすることを推奨しています。
Databricks で、ページ右上の表示名 (メールアドレス) をクリックします。
Settings を選択し、Compute タブをクリックします。
All purpose clusters セクションで、Global init scripts の横にある Manage をクリックします。
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 script をダウンロードして実行します。スクリプトを特定のバージョンに固定する場合は、URL 内のファイル名を install-databricks-0.14.0.sh に置き換えて、バージョン 0.14.0 を使用します。たとえば、次のようにします。このスクリプトの生成に使用されたソースコードと、スクリプトのバージョン間の変更点は、Datadog Agent リポジトリ で確認できます。
すべての新規クラスターおよび再起動されたクラスターでスクリプトを有効にするには、Enabled をオンにします。
Add をクリックします。
必要な init script パラメータを設定する
グローバル init script の冒頭で、init script パラメータ値を指定します。
export DD_API_KEY=<YOUR API KEY>
export DD_SITE=<YOUR DATADOG SITE>
export DATABRICKS_WORKSPACE="<YOUR WORKSPACE NAME>"
必要に応じて、ここで他の init script パラメータや Datadog 環境変数 (DD_ENV や DD_SERVICE など) を設定することもできます。スクリプトは、次のパラメータを使用して構成できます。
| 変数 | 説明 | デフォルト |
|---|
| DD_API_KEY | Datadog API キー。 | |
| DD_SITE | Datadog サイト。 | |
| DATABRICKS_WORKSPACE | Databricks ワークスペースの名前。これは、Datadog-Databricks インテグレーションの手順で指定した名前と一致している必要があります。名前に空白が含まれる場合は、二重引用符で囲みます。 | |
| DRIVER_LOGS_ENABLED | Datadog で Spark ドライバーログを収集します。 | false |
| WORKER_LOGS_ENABLED | Datadog で Spark ワーカーログを収集します。 | false |
| DD_TAGS | Databricks クラスターおよび Spark パフォーマンスメトリクスにタグを追加します。カンマまたはスペースで区切られた key:value ペア。Datadog タグ規則 に従います。例: env:staging,team:data_engineering | |
| DD_ENV | このクラスターからのメトリクス、トレース、およびログの env 環境タグを上書きします。デフォルトでは、Databricks ワークスペース名が env として使用されます。 | |
| DD_LOGS_CONFIG_PROCESSING_RULES | 処理ルールを使用して収集されたログをフィルタリングします。詳細については、高度なログ収集 を参照してください。 | |
Databricks で、以下の内容を含む init script ファイルを 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 script スクリプトをダウンロードして実行します。スクリプトを特定のバージョンに固定したい場合は、URL 内のファイル名を置き換えます (例えば、install-databricks-0.14.0.sh に置き換えると、バージョン 0.14.0 を使用できます)。このスクリプトの生成に使用されたソースコードと、スクリプトのバージョン間の変更点は、Datadog Agent リポジトリ で確認できます。
init script への読み取り専用権限を付与します。
- ボリュームレベルで、すべてのアカウントユーザーに
READ VOLUME 権限を付与します。 - カタログレベルで、すべてのアカウントユーザーに
USE CATALOG 権限を付与します。
Databricks は、Unity Catalog ボリュームの権限を、クラスターを実行している Principal ではなく、クラスター所有者に対して評価します。
init script を許可リストに追加します (Standard アクセスモードのクラスターで必須): クラスターで Standard アクセスモードを使用している場合は、init script のパスを Unity Catalog の許可リストに追加する必要があります。Databricks ドキュメント の手順に従って、init script のパスを許可リストに追加します。
クラスター構成ページで、Advanced options トグルをクリックします。
ページ下部で、Init Scripts タブを開きます。
- Destination ドロップダウンで、Volume を選択します。
- Init script path の下に、init script へのボリュームパスを入力します。
- Add をクリックします。
必要な init script パラメータを設定する
Databricks のクラスター構成ページで、Advanced options トグルをクリックします。
ページ下部で、Spark タブを開きます。
Environment variables テキストボックスに、init script パラメータの値を入力します。
DD_API_KEY=<YOUR API KEY>
DD_SITE=<YOUR DATADOG SITE>
DATABRICKS_WORKSPACE=<YOUR WORKSPACE NAME>
必要に応じて、ここで他の init script パラメータや Datadog 環境変数 (DD_ENV や DD_SERVICE など) を設定することもできます。スクリプトは、次のパラメータを使用して構成できます。
| 変数 | 説明 | デフォルト |
|---|
| DD_API_KEY | Datadog API キー。 | |
| DD_SITE | Datadog サイト。 | |
| DATABRICKS_WORKSPACE | Databricks ワークスペースの名前。これは、Datadog-Databricks インテグレーションの手順で指定した名前と一致している必要があります。 | |
| DRIVER_LOGS_ENABLED | Datadog で Spark ドライバーログを収集します。 | false |
| WORKER_LOGS_ENABLED | Datadog で Spark ワーカーログを収集します。 | false |
| DD_TAGS | Databricks クラスターおよび Spark パフォーマンスメトリクスにタグを追加します。カンマまたはスペースで区切られた key:value ペア。Datadog タグ規則 に従います。例: env:staging,team:data_engineering | |
| DD_ENV | このクラスターからのメトリクス、トレース、およびログの env 環境タグを上書きします。デフォルトでは、Databricks ワークスペース名が env として使用されます。 | |
| DD_LOGS_CONFIG_PROCESSING_RULES | 処理ルールを使用して収集されたログをフィルタリングします。詳細については、高度なログ収集 を参照してください。 | |
- Confirm をクリックします。
実行中のクラスターを再起動する
init script は、クラスターの起動時に Agent をインストールします。
実行中の汎用クラスターや長時間稼働するジョブクラスターは、init script で Datadog Agent をインストールするために手動で再起動する必要があります。
ジョブクラスターで実行されるスケジュール済みジョブの場合、init script は次回の実行時に Datadog Agent を自動的にインストールします。
検証
Datadog で Data Observability: Jobs Monitoring ページを表示し、すべての Databricks ジョブの一覧を確認します。
一部のジョブが表示されない場合は、構成 ページを開いて、その理由を確認します。このページには、クラスターに Datadog Agent がまだ構成されていないすべての Databricks ジョブと、セットアップを完了するための手順が一覧表示されます。
トラブルシューティング
製品のインストール後に Jobs Monitoring にデータが表示されない場合は、次の手順に従います。
init script が実行されない、または失敗する
- クラスターを再起動する: init script はクラスターの起動時にのみ実行されます。init script を追加してからクラスターを再起動したことを確認します。
- init script が実行されたことを確認する: Databricks でクラスターをクリックし、Event log タブを開きます。
INIT_SCRIPTS_STARTED が存在しない場合、このクラスターで init script が読み込まれていません。インストール手順に戻り、init script がクラスターに追加されていることを確認します。 - init script が正常に完了したことを確認する: イベントログで
INIT_SCRIPTS_FINISHED アクションを見つけてクリックし、JSON を確認します。これにより、init script が失敗して終了したかどうかを確認できます。 - init script の失敗を調査する:
INIT_SCRIPTS_FINISHED に失敗が表示される場合は、クラスターのログ配信 を有効にして、init script のログを任意の送信先に送信します。ログを Unity Catalog ボリュームに送信することを推奨します。ログ配信を有効にしてクラスターを再起動した後、ログの送信先を開きます。stdout および stderr のログは、次のパスにあります。<cluster-log-path>/<cluster-id>/init_scripts/<cluster-id>_<script-hash>/
init script の実行が成功した後にデータが表示されない
- API キーの検証: init script を手動でインストールした場合は、API キーの検証エンドポイント を使用して、スクリプトで指定した Datadog API キーが有効であることを確認します。
- Agent の検証: init script によって 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 access
- Databricks SQL access
ワークスペース権限
ユーザーまたはサービスプリンシパルに対して、次のいずれかの方法を選択します。
- ワークスペース管理者権限 (推奨): Workspace Admin 権限を付与します。これにより、Datadog が init script のインストールと更新を自動的に管理できるようになり、誤構成のリスクが軽減されます。
- 詳細な権限: より細かい制御が必要な場合は、ワークスペース内のすべてのジョブ、クラスター、クエリを監視できるように、以下の ワークスペースレベルのオブジェクト にこれらの最小限の権限を付与します。
コストデータ権限
さらに、Data Observability: Jobs Monitoring または Cloud Cost Management で Datadog が Databricks のコストデータにアクセスできるようにするには、システムテーブル のクエリに使用するユーザーまたはサービスプリンシパルに、次の権限が必要です。
SQL ウェアハウスに対する - CAN USE 権限
- Unity Catalog 内の システムテーブル への読み取りアクセスDatabricks で SQL Editor を開き、サービスプリンシパルのクライアント ID (表示名ではありません) を使用して、次のコマンドを実行します。
GRANT USE CATALOG ON CATALOG system TO `<CLIENT-ID>`;
GRANT USE SCHEMA ON CATALOG system TO `<CLIENT-ID>`;
GRANT SELECT ON CATALOG system TO `<CLIENT-ID>`;
これらを付与するユーザーは、CATALOG system に対する MANAGE 権限を持っている必要があります。
実行時にスパンにタグを付ける
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)
Databricks のカスタムクラスタータグは自動的に取得され、Data Observability: Jobs Monitoring および Datadog プラットフォーム全体で利用できます。唯一の例外は Azure リソースグループのタグで、これらは自動的に取得されません。
タグを手動で追加するには、クラスターの Spark 環境変数で DD_TAGS 環境変数を構成します。これは Databricks のカスタムクラスタータグと同じ効果がありますが、手動で構成する必要があります。Datadog タグの規則 に従って、カンマまたはスペースで区切った key:value ペアを使用します。
DD_TAGS=env:staging,team:data_engineering
単発ジョブ実行のクラスターからメトリクスを集計する
この構成は、ジョブのクラスターリソース使用率データを取得したい場合や、ワンタイム実行 API エンドポイント を介して実行ごとに新しいジョブとクラスターを作成する場合 (Airflow や Azure Data Factory など、Databricks 外部のオーケストレーションツールを使用する場合に一般的) に適用されます。
ワンタイム実行 API エンドポイント を介して Databricks ジョブを送信する場合、各ジョブ実行には一意のジョブ ID が割り当てられます。これにより、エフェメラルクラスターを使用するジョブのクラスターのメトリクスをグループ化して分析することが難しくなる場合があります。同じジョブのクラスター使用率を集計し、複数回の実行にわたってパフォーマンスを評価するには、すべての new_cluster の spark_env_vars 内で DD_JOB_NAME 変数を、リクエストペイロードの run_name と同じ値に設定する必要があります。
以下は、ワンタイムジョブ実行リクエストボディの例です。
{
"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 Private Link 接続を使用するワークスペースを監視するには、Private Link Connectivity (プレビュー) を参照してください。
詳細情報