Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().

Data Observability : Jobs Monitoring]7 offre une visibilité sur les performances et la fiabilité de vos jobs et workflows Databricks s’exécutant sur des clusters ou des ressources de calcul serverless.

Configuration

Si votre espace de travail Databricks a des restrictions réseau activées, ajoutez Datadog à votre liste d'autorisation. webhook IP ranges à votre liste d'autorisation. Si votre espace de travail utilise Private Link, consultez l'onglet Connectivité Private Link ci-dessous.

Suivez ces étapes pour activer Data Observability : Jobs Monitoring pour Databricks.

  1. Configurez l’intégration Datadog-Databricks pour un espace de travail Databricks.
  2. Installez le Datadog Agent sur votre ou vos clusters Databricks dans l’espace de travail.

Configurez l’intégration Datadog-Databricks

Les nouvelles intégrations d'espace de travail doivent s'authentifier à l'aide d'OAuth. Les espaces de travail déjà intégrés avec un jeton d'accès personnel continuent de fonctionner et peuvent passer à OAuth à tout moment. Une fois qu'un espace de travail commence à utiliser OAuth, il ne peut pas revenir à un jeton d'accès personnel.

Créez et configurez le principal de service dans Databricks

  1. En tant qu’administrateur de l’espace de travail Databricks, accédez à Settings en cliquant sur votre profil dans le coin supérieur droit de l’espace de travail.

  2. Sous l’onglet Identity and access, cliquez sur Manage à côté de Service principals.

  3. Cliquez sur Add service principal, puis cliquez sur Add new.

    Pour Azure Databricks, sélectionnez le type de gestion « Databricks managed ». Datadog ne prend PAS en charge les principaux de service « Microsoft Entra ID managed ».
  4. Saisissez un nom et activez les droits d’accès à l’espace de travail suivants pour le principal de service :

    • Workspace access
    • Databricks SQL access
    • Admin access : Accorde l’accès administrateur de l’espace de travail requis par Datadog. Cela équivaut à ajouter le principal de service au groupe admins.
    Si vous ne pouvez pas accorder le droit d'accès Admin access, provisionnez un accès granulaire à la place, comme décrit dans la section Permissions sous Configuration avancée.
  5. Cliquez sur Add.

  6. Cliquez sur le nom de votre nouveau principal de service. Sous l’onglet Secrets, cliquez sur Generate secret.

    1. Définissez Lifetime (days) sur la valeur maximale autorisée (730).

    2. Cliquez sur Generate.

    3. Notez votre ID client et votre secret client.

    Dans Databricks, une fenêtre modale affichant l'ID client et le secret associés à un nouveau secret OAuth s'affiche.
  7. Sur l’onglet Permissions, cliquez sur Grant access. Recherchez le nouveau principal de service, accordez-lui l’autorisation Manage, et cliquez sur Save.

Ajoutez l’espace de travail Databricks à Datadog

  1. Dans Datadog, ouvrez la tuile d’intégration Databricks.

  2. Sous l’onglet Configure, cliquez sur Add Databricks Workspace.

  3. Saisissez un nom d’espace de travail, l’URL de votre espace de travail Databricks, ainsi que l’ID client et le secret que vous avez générés.

    Dans la tuile d'intégration Datadog-Databricks, un espace de travail Databricks s'affiche. Cet espace de travail possède un nom, une URL, un ID client et un secret client.
  4. Indiquez l’ID d’un Databricks SQL Warehouse que Datadog doit interroger. Cela vous donne une visibilité sur vos coûts Databricks dans Jobs Monitoring ou Cloud Cost Management et alimente Quality Monitoring.

    1. Dans Databricks, accédez à SQL Warehouses et sélectionnez l’entrepôt que Datadog doit utiliser. Il doit s’agir d’un entrepôt Pro ou Serverless. Les entrepôts classiques ne sont pas pris en charge. Pour réduire les coûts, utilisez un entrepôt 2XS dédié, avec l’arrêt automatique configuré sur 5 à 10 minutes.

    2. Copiez l’ID depuis la page de présentation de l’entrepôt (il s’agit également du dernier segment de l’URL de l’entrepôt) et saisissez-le dans la tuile d’intégration.

    3. Sous l’onglet Permissions de l’entrepôt (en haut à droite), accordez CAN USE au principal de service.

    4. Accordez au principal de service un accès en lecture aux tables système du catalogue Unity. Dans SQL Editor, exécutez les commandes suivantes en utilisant l’ID client du principal de service (et non son nom d’affichage) :

      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>`;
      
      L'utilisateur qui exécute ces commandes doit disposer du MANAGE privilège sur CATALOG system.
  5. Dans la section Sélectionnez les produits pour configurer l’intégration, assurez-vous que Data Observability: Jobs Monitoring est Enabled.

  6. Dans la section Datadog Agent Setup, choisissez soit

Si votre espace de travail Databricks est déployé à l’aide de Private Link Connectivity, Datadog ne peut pas accéder directement aux API Databricks. Cela nécessite l’utilisation d’un Private Action Runner déployé dans votre environnement.

Consultez Private Link Connectivity (Preview) pour obtenir les instructions de configuration complètes.

Cette option est uniquement disponible pour les intégrations d'espace de travail créées avant le 7 juillet 2025. Les nouvelles intégrations d'espace de travail doivent s'authentifier à l'aide d'OAuth.
  1. Dans votre espace de travail Databricks, cliquez sur votre profil dans le coin supérieur droit et accédez à Settings. Sélectionnez Developer dans la barre latérale gauche. À côté de Access tokens, cliquez sur Manage.

  2. Cliquez sur Generate new token, saisissez « Datadog Integration » dans le champ Comment, définissez la valeur Lifetime (days) au maximum autorisé (730 jours) et créez un rappel pour mettre à jour le jeton avant qu’il n’expire. Cliquez ensuite sur Generate. Prenez note de votre jeton.

    Important :

    • Pour l’installation du script d’initialisation géré par Datadog (recommandé), assurez-vous que le Principal du jeton est un Workspace Admin.
    • Pour une installation manuelle du script d’initialisation, assurez-vous que le Principal du jeton dispose de l’accès CAN VIEW pour les jobs et clusters Databricks que vous souhaitez surveiller.

    Sinon, suivez la documentation officielle de Databricks pour générer un jeton d’accès pour un principal de service. Le principal de service doit avoir le droit Accès à l’espace de travail activé et les autorisations Workspace Admin ou CAN VIEW access comme décrit ci-dessus.

  3. Dans Datadog, ouvrez la tuile d’intégration Databricks.

  4. Sous l’onglet Configure, cliquez sur Add Databricks Workspace.

  5. Saisissez un nom d’espace de travail, l’URL de votre espace de travail Databricks et le jeton Databricks que vous avez généré.

    Dans la tuile d'intégration Datadog-Databricks, un espace de travail Databricks s'affiche. Cet espace de travail possède un nom, une URL et un jeton d'API.
  6. Indiquez l’ID d’un Databricks SQL Warehouse que Datadog doit interroger. Cela vous donne une visibilité sur vos coûts Databricks dans Jobs Monitoring ou Cloud Cost Management et alimente Quality Monitoring.

    1. Dans Databricks, accédez à SQL Warehouses et sélectionnez l’entrepôt que Datadog doit utiliser. Il doit s’agir d’un entrepôt Pro ou Serverless. Les entrepôts classiques ne sont pas pris en charge. Pour réduire les coûts, utilisez un entrepôt 2XS dédié, avec l’arrêt automatique configuré sur 5 à 10 minutes.

    2. Copiez l’ID depuis la page de présentation de l’entrepôt (il s’agit également du dernier segment de l’URL de l’entrepôt) et saisissez-le dans la tuile d’intégration.

    3. Dans l’onglet Permissions de l’entrepôt (en haut à droite), accordez CAN USE au principal du jeton.

    4. Accordez au principal du jeton un accès en lecture aux tables système du catalogue Unity. Dans le SQL Editor, exécutez les commandes suivantes en utilisant l’ID client du principal (et non son nom d’affichage) :

      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>`;
      
      L'utilisateur qui exécute ces commandes doit disposer du MANAGE privilège sur CATALOG system.
  7. Dans la section Select products to set up integration, assurez-vous que le produit Data Observability: Jobs Monitoring est Activé.

  8. Dans la section Datadog Agent Setup, choisissez soit

Installez le Datadog Agent

Le Datadog Agent doit être installé sur les clusters Databricks pour surveiller les jobs Databricks qui s’exécutent sur des clusters polyvalents ou des clusters de jobs. Cette étape n’est pas requise pour surveiller les jobs sur serverless compute.

Datadog peut installer et gérer un script d’initialisation global dans l’espace de travail Databricks. Le Datadog Agent est installé sur tous les clusters de l’espace de travail, au moment de leur démarrage.

  • Cette configuration ne fonctionne pas sur les clusters Databricks en mode d'accès Standard, car les scripts d'initialisation globaux ne peuvent pas être installés sur ces clusters. Si vous utilisez des clusters avec le mode d'accès Standard, Datadog recommande de configurer manuellement une stratégie de cluster sur plusieurs clusters ou de l'installer manuellement sur un cluster spécifique.
  • Cette option d'installation, dans laquelle Datadog installe et gère votre script d'initialisation global Datadog, nécessite un jeton d'accès Databricks avec des autorisations Administrateur d'espace de travail. Un jeton avec un accès CAN VIEW ne permet pas à Datadog de gérer le script d'initialisation global de votre compte Databricks.

Lors de l’intégration d’un espace de travail avec Datadog

  1. Dans la section Select products to set up integration, assurez-vous que le produit Data Observability: Jobs Monitoring est Activé.

  2. Dans la section Datadog Agent Setup, sélectionnez le bouton bascule Managed by Datadog.

  3. Cliquez sur Select API Key pour sélectionner une clé d’API Datadog existante ou pour en créer une nouvelle.

  4. (Facultatif) Désactivez Enable Log Collection si vous ne souhaitez pas collecter les logs du driver et des workers pour les corréler avec les jobs.

  5. Cliquez sur Save Databricks Workspace.

    Dans la tuile d'intégration Datadog-Databricks, configuration du Datadog Agent lors de l'ajout d'un espace de travail Databricks. Datadog peut installer et gérer un script d'initialisation global.

Lors de l’ajout du script d’initialisation à un espace de travail Databricks déjà intégré à Datadog

  1. Sur l’onglet Configure, cliquez sur l’espace de travail dans la liste des espaces de travail.

  2. Cliquez sur l’onglet Configured Products

  3. Assurez-vous que le produit Data Observability: Jobs Monitoring est Activé.

  4. Dans la section Datadog Agent Setup, sélectionnez le bouton bascule Managed by Datadog.

  5. Cliquez sur Select API Key pour sélectionner une clé d’API Datadog existante ou pour en créer une nouvelle.

  6. (Facultatif) Désactivez Enable Log Collection si vous ne souhaitez pas collecter les logs du driver et des workers pour les corréler avec les jobs.

  7. Cliquez sur Save Databricks Workspace en bas de la fenêtre du navigateur.

    Dans la tuile d'intégration Datadog-Databricks, Datadog Agent Setup pour un espace de travail Databricks déjà ajouté à l'intégration. Datadog peut installer et gérer un script d'initialisation global.

Vous pouvez éventuellement ajouter des tags à vos métriques de performance de cluster Databricks et Spark en configurant la variable d’environnement suivante dans la section Advanced Configuration de votre cluster dans l’interface utilisateur Databricks ou en tant que variables d’environnement Spark avec l’API Databricks :

VariableDescription
DD_TAGSAjoutez des tags aux métriques de performance de cluster Databricks et Spark. Paires clé:valeur séparées par des virgules ou des espaces : Suivez les conventions de tags Datadog. Par exemple : env:staging,team:data_engineering
DD_ENVRemplacez le tag d’environnement env sur les métriques, les traces et les logs de ce cluster. Par défaut, le nom de l’espace de travail Databricks est utilisé comme env.
DD_LOGS_CONFIG_PROCESSING_RULESFiltrez les logs collectés avec des règles de traitement. Consultez Collecte avancée de logs pour plus de détails.

Cette approche est recommandée pour les clusters en mode d’accès Standard.

Créez le script d’initialisation

  1. Dans Databricks, créez un fichier de script d’initialisation dans un volume Unity Catalog avec le contenu suivant. Assurez-vous de noter le chemin du volume (par exemple, /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. Accordez des autorisations en lecture seule au script d’initialisation :

    1. Au niveau du volume, accordez l’autorisation READ VOLUME à tous les utilisateurs du compte.
    2. Au niveau du catalogue, accordez l’autorisation USE CATALOG à tous les utilisateurs du compte.
    Databricks évalue les autorisations de volume Unity Catalog par rapport au propriétaire du cluster, et non par rapport au principal exécutant le cluster.
  3. Ajoutez le script d’initialisation à la liste d’autorisation : Pour les clusters en mode d’accès Standard, vous devez ajouter le chemin du script d’initialisation à la liste d’autorisation du Unity Catalog. Suivez les instructions de la documentation Databricks pour ajouter le chemin de votre script d’initialisation à la liste d’autorisation.

Configurez la politique de calcul

  1. Dans Compute, accédez à l’onglet Policies. Si vous avez déjà une politique de cluster appliquée à vos clusters, accédez à cette politique existante pour la modifier. Il s’agit de l’approche la plus simple, car la politique s’applique automatiquement à tous les clusters qui l’utilisent. Sinon, cliquez sur Create Policy pour créer une nouvelle politique.

  2. Pour ajouter le script d’initialisation à la politique de cluster, dans la section Definition, cliquez sur Add Definition. Dans la fenêtre modale qui s’ouvre, remplissez les champs :

    1. Dans la liste déroulante Field, sélectionnez init_scripts.
    2. Dans la liste déroulante Source, sélectionnez Volume.
    3. Sous Destination, saisissez le chemin du volume vers votre script d’initialisation.
    4. Cliquez sur Add.
  3. Configurez les variables d’environnement. Vous devez ajouter chacune des variables d’environnement suivantes à la politique de cluster que vous avez créée :

    CléDescription
    DD_API_KEYVotre clé d’API Datadog.
    DD_SITEVotre site Datadog.
    DATABRICKS_WORKSPACENom de votre espace de travail Databricks. Il doit correspondre au nom fourni à l’étape d’intégration Datadog-Databricks.
    1. Pour chacune des variables ci-dessus, dans la section Definition, cliquez sur Add Definition. Dans la fenêtre modale qui s’ouvre, remplissez les champs :
      1. Dans la liste déroulante Field, sélectionnez spark_env_vars.
      2. Dans le champ Key, saisissez la clé de la variable d’environnement.
      3. Dans le champ Value, saisissez la valeur de la variable d’environnement.
      4. Sous la liste déroulante Type, sélectionnez Fixed.
      5. Cochez la case Hidden pour réduire l’exposition des valeurs sensibles.
    2. Optionnellement, définissez d’autres paramètres de script d’initialisation et variables d’environnement Datadog, tels que DD_ENV et DD_SERVICE. Vous pouvez configurer le script en utilisant les paramètres suivants :
      VariableDescriptionPar défaut
      DRIVER_LOGS_ENABLEDCollectez les logs du driver Spark dans Datadog.false
      WORKER_LOGS_ENABLEDCollectez les logs des workers Spark dans Datadog.false
      DD_TAGSAjoutez des tags aux métriques de performance de cluster Databricks et Spark. Paires clé:valeur séparées par des virgules ou des espaces : Suivez les conventions de tags Datadog. Par exemple : env:staging,team:data_engineering
      DD_ENVRemplacez le tag d’environnement env sur les métriques, les traces et les logs de ce cluster. Par défaut, le nom de l’espace de travail Databricks est utilisé comme env.
      DD_LOGS_CONFIG_PROCESSING_RULESFiltrez les logs collectés avec des règles de traitement. Consultez Collecte avancée de logs pour plus de détails.
  4. Cliquez sur Create si vous créez une nouvelle politique ou sur Save si vous mettez à jour une politique existante. Si vous mettez à jour une politique existante, tous les clusters utilisant cette politique appliquent automatiquement les modifications lors de leur prochain redémarrage. Si vous créez une nouvelle politique, suivez les étapes ci-dessous pour l’appliquer à vos clusters.

Appliquez la politique de cluster aux clusters

  1. Dans Compute, sélectionnez le cluster que vous souhaitez mettre à jour ou cliquez sur Create Compute pour un nouveau cluster.
  2. Dans la liste déroulante Policy en haut, sélectionnez la politique que vous avez créée.
  3. Cliquez sur Confirm pour enregistrer les modifications. Le cluster doit être redémarré pour que la politique prenne effet.
Cette configuration ne fonctionne pas sur les clusters Databricks en mode d'accès Standard, car les scripts d'initialisation globaux ne peuvent pas être installés sur ces clusters. Si vous utilisez des clusters avec le mode d'accès Standard, Datadog recommande de configurer manuellement une politique de cluster ou de l'installer manuellement sur un cluster spécifique.
  1. Dans Databricks, cliquez sur votre nom d’affichage (adresse e-mail) dans le coin supérieur droit de la page.

  2. Sélectionnez Settings et cliquez sur l’onglet Compute.

  3. Dans la section All purpose clusters, à côté de Global init scripts, cliquez sur Manage.

  4. Cliquez sur Add. Nommez votre script. Ensuite, dans le champ Script, copiez et collez le script suivant en remplaçant les espaces réservés par les valeurs de vos paramètres.

    #!/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
    

    Le script ci-dessus définit les paramètres requis, puis télécharge et exécute le dernier script d’initialisation pour Data Observability : Jobs Monitoring dans Databricks. Si vous souhaitez épingler votre script à une version spécifique, vous pouvez remplacer le nom de fichier dans l’URL par install-databricks-0.14.0.sh pour utiliser la version 0.14.0, par exemple. Le code source utilisé pour générer ce script, ainsi que les modifications entre les versions du script, sont disponibles sur le dépôt Datadog Agent.

  5. Pour activer le script pour tous les clusters nouveaux et redémarrés, activez Enabled.

    Interface utilisateur Databricks, paramètres d'administration, scripts d'initialisation globaux. Un script appelé 'install-datadog-agent' figure dans une liste avec un commutateur activé.
  6. Cliquez sur Add.

Définissez les paramètres de script d’initialisation requis

Fournissez les valeurs des paramètres du script d’initialisation au début du script d’initialisation global.

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

En option, vous pouvez également définir d’autres paramètres de script d’initialisation et variables d’environnement Datadog ici, tels que DD_ENV et DD_SERVICE. Le script peut être configuré à l’aide des paramètres suivants :

VariableDescriptionPar défaut
DD_API_KEYVotre clé d’API Datadog.
DD_SITEVotre site Datadog.
DATABRICKS_WORKSPACENom de votre espace de travail Databricks. Il doit correspondre au nom fourni à l’étape d’intégration Datadog-Databricks. Mettez le nom entre guillemets s’il contient des espaces.
DRIVER_LOGS_ENABLEDCollectez les logs du driver Spark dans Datadog.false
WORKER_LOGS_ENABLEDCollectez les logs des workers Spark dans Datadog.false
DD_TAGSAjoutez des tags aux métriques de performance de cluster Databricks et Spark. Paires clé:valeur séparées par des virgules ou des espaces : Suivez les conventions de tags Datadog. Par exemple : env:staging,team:data_engineering
DD_ENVRemplacez le tag d’environnement env sur les métriques, les traces et les logs de ce cluster. Par défaut, le nom de l’espace de travail Databricks est utilisé comme env.
DD_LOGS_CONFIG_PROCESSING_RULESFiltrez les logs collectés avec des règles de traitement. Consultez Collecte avancée de logs pour plus de détails.
  1. Dans Databricks, créez un fichier de script d’initialisation dans un volume Unity Catalog avec le contenu suivant. Assurez-vous de noter le chemin du volume (par exemple, /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
    

    Le script ci-dessus télécharge et exécute le dernier script d’initialisation pour Data Observability: Jobs Monitoring dans Databricks. Si vous souhaitez fixer votre script à une version spécifique, vous pouvez remplacer le nom de fichier dans l’URL (par exemple, install-databricks-0.14.0.sh pour utiliser la version 0.14.0). Vous pouvez trouver le code source utilisé pour générer ce script, ainsi que les modifications entre les versions du script, sur le dépôt Datadog Agent.

  2. Accordez des autorisations en lecture seule au script d’initialisation :

    1. Au niveau du volume, accordez l’autorisation READ VOLUME à tous les utilisateurs du compte.
    2. Au niveau du catalogue, accordez l’autorisation USE CATALOG à tous les utilisateurs du compte.
    Databricks évalue les autorisations de volume Unity Catalog par rapport au propriétaire du cluster, et non par rapport au principal exécutant le cluster.
  3. Ajoutez le script d’initialisation à la liste d’autorisation Unity Catalog (requis pour les clusters en mode d’accès Standard) : Si votre cluster utilise le mode d’accès Standard, vous devez ajouter le chemin du script d’initialisation à la liste d’autorisation Unity Catalog. Suivez les instructions de la documentation Databricks pour ajouter le chemin de votre script d’initialisation à la liste d’autorisation.

  4. Sur la page de configuration du cluster, cliquez sur le bouton Advanced options.

  5. En bas de la page, accédez à l’onglet Init Scripts.

    Interface utilisateur Databricks, options avancées de configuration du cluster, onglet Scripts d'initialisation. Un menu déroulant « Destination » et un sélecteur de fichier « Chemin du script d'initialisation ».
    • Dans le menu déroulant Destination, sélectionnez Volume.
    • Sous Init script path, saisissez le chemin du volume vers votre script d’initialisation.
    • Cliquez sur Add.

Définissez les paramètres requis du script d’initialisation

  1. Dans Databricks, sur la page de configuration du cluster, cliquez sur le bouton Advanced options.

  2. En bas de la page, accédez à l’onglet Spark.

    Interface utilisateur Databricks, options avancées de configuration du cluster, onglet Spark. Une zone de texte intitulée « Variables d'environnement » contient les valeurs pour DD_API_KEY et DD_SITE.

    Environment variablesDans la zone de texte, fournissez les valeurs pour les paramètres du script d’initialisation.

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

    En option, vous pouvez également définir d’autres paramètres de script d’initialisation et variables d’environnement Datadog ici, tels que DD_ENV et DD_SERVICE. Le script peut être configuré à l’aide des paramètres suivants :

VariableDescriptionPar défaut
DD_API_KEYVotre clé d’API Datadog.
DD_SITEVotre site Datadog.
DATABRICKS_WORKSPACENom de votre espace de travail Databricks. Il doit correspondre au nom fourni à l’étape d’intégration Datadog-Databricks.
DRIVER_LOGS_ENABLEDCollectez les logs du driver Spark dans Datadog.false
WORKER_LOGS_ENABLEDCollectez les logs des workers Spark dans Datadog.false
DD_TAGSAjoutez des tags aux métriques de performance de cluster Databricks et Spark. Paires clé:valeur séparées par des virgules ou des espaces : Suivez les conventions de tags Datadog. Par exemple : env:staging,team:data_engineering
DD_ENVRemplacez le tag d’environnement env sur les métriques, les traces et les logs de ce cluster. Par défaut, le nom de l’espace de travail Databricks est utilisé comme env.
DD_LOGS_CONFIG_PROCESSING_RULESFiltrez les logs collectés avec des règles de traitement. Consultez Collecte avancée de logs pour plus de détails.
  1. Cliquez sur Confirm.

Redémarrez les clusters déjà en cours d’exécution

Le script d’initialisation installe l’Agent au démarrage des clusters.

Les clusters polyvalents ou les clusters de jobs à longue durée de vie déjà en cours d’exécution doivent être redémarrés manuellement pour que le script d’initialisation installe le Datadog Agent.

Pour les jobs planifiés qui s’exécutent sur des clusters de jobs, le script d’initialisation installe automatiquement le Datadog Agent lors de la prochaine exécution.

Validation

Dans Datadog, consultez la page Data Observability: Jobs Monitoring pour voir la liste de tous vos jobs Databricks.

Si certains jobs ne sont pas visibles, accédez à la page Configuration pour en comprendre la raison. Cette page répertorie tous vos jobs Databricks qui ne sont pas encore configurés avec l’Agent sur leurs clusters, ainsi que des conseils pour terminer la configuration.

Dépannage

Si vous ne voyez aucune donnée dans Jobs Monitoring après avoir installé le produit, suivez ces étapes.

Le script d’initialisation ne s’exécute pas ou échoue

  1. Redémarrez le cluster : Le script d’initialisation ne s’exécute qu’au démarrage du cluster. Assurez-vous que le cluster a été redémarré depuis l’ajout du script d’initialisation.
  2. Confirmez l’exécution du script d’initialisation : Dans Databricks, cliquez sur le cluster et accédez à l’onglet Event log. Si INIT_SCRIPTS_STARTED n’est pas présent, le script d’initialisation n’a pas été pris en compte par ce cluster. Revenez aux étapes d’installation pour vous assurer que le script d’initialisation a bien été ajouté au cluster.
  3. Confirmez la réussite du script d’initialisation : Recherchez l’action INIT_SCRIPTS_FINISHED dans le log des événements et cliquez dessus pour inspecter le JSON, qui indique si le script d’initialisation s’est terminé par une erreur.
  4. Recherchez les causes des échecs du script d’initialisation : Si INIT_SCRIPTS_FINISHED indique un échec, activez la diffusion des logs de cluster pour envoyer les logs du script d’initialisation vers la destination de votre choix. L’envoi des logs vers un volume Unity Catalog est recommandé.
    La page de configuration du cluster Databricks affichant l'onglet Journalisation avec des options pour configurer une destination de livraison des logs.
    Après avoir redémarré le cluster avec la livraison des logs activée, accédez à la destination des logs. Les logs stdout et stderr se trouvent sous le chemin suivant :
    <cluster-log-path>/<cluster-id>/init_scripts/<cluster-id>_<script-hash>/
    

Données n’apparaissant pas après l’exécution réussie d’un script d’initialisation

  1. Validation de la clé d’API : Si le script d’initialisation a été installé manuellement, utilisez l’endpoint de validation de clé d’API pour vous assurer que la clé d’API Datadog spécifiée dans le script est valide.
  2. Validation de l’agent : Le script d’initialisation installe le Datadog Agent. Pour vous assurer qu’il est correctement installé, connectez-vous au cluster via SSH et exécutez la commande d’état de l’Agent :
sudo datadog-agent status

Configuration avancée

Filtrer la collecte de logs sur les clusters

Exclure toute collecte de logs d’un cluster individuel

Configurez la variable d’environnement suivante dans la section Advanced Configuration de votre cluster dans l’interface utilisateur Databricks ou en tant que variable d’environnement Spark dans l’API Databricks.

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

Autorisations

L’utilisateur ou le principal de service qui se connecte à votre espace de travail Databricks doit disposer des droits d’accès à l’espace de travail suivants, en plus des autorisations décrites ci-dessous :

  • Workspace access
  • Databricks SQL access

Autorisations de l’espace de travail

Choisissez l’une des approches suivantes pour l’utilisateur ou le principal de service :

  • Privilèges d’administrateur de l’espace de travail (recommandé) : Accordez les privilèges Workspace Admin. Cela permet à Datadog de gérer automatiquement les installations et les mises à jour des scripts d’initialisation, réduisant ainsi le risque de mauvaise configuration.
  • Autorisations granulaires : Si vous avez besoin d’un contrôle plus granulaire, accordez ces autorisations minimales aux objets au niveau de l’espace de travail suivants pour pouvoir toujours surveiller tous les jobs, clusters et requêtes au sein d’un espace de travail :
    ObjetAutorisation
    JobPEUT AFFICHER
    ComputePEUT ATTACHER À
    Lakeflow Declarative PipelinesPEUT AFFICHER
    QueryPEUT AFFICHER
    SQL warehousePEUT SURVEILLER

Autorisations des données de coût

De plus, pour que Datadog puisse accéder à vos données de coût Databricks dans Data Observability : Jobs Monitoring ou Cloud Cost Management, l’utilisateur ou le principal de service utilisé pour interroger les tables système doit disposer des autorisations suivantes :

  • CAN USE autorisation sur le SQL Warehouse.
  • Accès en lecture aux tables système au sein d’Unity Catalog. Dans Databricks, ouvrez le SQL Editor et exécutez les commandes suivantes, en utilisant l’ID client du principal de service (et non son nom d’affichage) :
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>`;

L’utilisateur qui accorde ces droits doit disposer du privilège MANAGE sur CATALOG system.

Taguer les étendues au moment de l’exécution

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)

Configurer les balises de cluster

Les balises de cluster personnalisées Databricks sont automatiquement capturées et disponibles dans Data Observability : Jobs Monitoring et la plateforme Datadog. La seule exception concerne les balises provenant des groupes de ressources Azure, qui ne sont pas automatiquement capturées.

Pour ajouter des balises manuellement, définissez la variable d’environnement DD_TAGS dans les variables d’environnement Spark de votre cluster. Cela a le même effet que les balises de cluster personnalisées Databricks, mais nécessite une configuration manuelle. Utilisez des paires clé:valeur séparées par des virgules ou des espaces en suivant les conventions de tags Datadog :

DD_TAGS=env:staging,team:data_engineering

Agréger les métriques de cluster à partir d’exécutions de jobs ponctuelles

Cette configuration est applicable si vous souhaitez obtenir des données sur l’utilisation des ressources de cluster pour vos jobs et créer un nouveau job et un nouveau cluster pour chaque exécution via le endpoint d’API d’exécution unique (courant lors de l’utilisation d’outils d’orchestration en dehors de Databricks tels qu’Airflow ou Azure Data Factory).

Si vous soumettez des jobs Databricks via le endpoint d’API d’exécution unique, chaque exécution de job possède un ID de job unique. Cela peut rendre difficile le regroupement et l’analyse des métriques de cluster pour les jobs qui utilisent des clusters éphémères. Pour agréger l’utilisation du cluster à partir du même job et évaluer les performances sur plusieurs exécutions, vous devez définir la variable DD_JOB_NAME dans le spark_env_vars de chaque new_cluster sur la même valeur que le run_name de la charge utile de votre requête.

Voici un exemple de corps de requête pour une exécution de job unique :

{
   "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"
            }
         }
      }
   ]
}

Configurer Data Observability: Jobs Monitoring avec les restrictions réseau Databricks

Avec les restrictions réseau Databricks, Datadog peut ne pas avoir accès à vos API Databricks, ce qui est nécessaire pour collecter les traces des exécutions de jobs Databricks ainsi que les balises et autres métadonnées.

Si vous contrôlez l’accès à l’API Databricks avec des listes d’accès IP, autorisez les adresses spécifiques de Datadog webhook IP addresses permet à Datadog de se connecter aux API Databricks dans votre espace de travail. Consultez la documentation de Databricks pour configurer les listes d’accès IP pour les espaces de travail individuels afin de donner à Datadog l’accès à l’API.

Pour surveiller les espaces de travail qui utilisent la connectivité Databricks Private Link, consultez Connectivité Private Link (aperçu).

Pour aller plus loin