Activer l'observabilité des données : Surveillance des travaux pour Databricks

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

Observabilité des données : Surveillance des travaux offre une visibilité sur la performance et la fiabilité de vos travaux et flux de travail Databricks s’exécutant sur des clusters ou des calculs sans serveur.

Configurer

Si votre espace de travail Databricks a des restrictions réseau activées, webhook IP ranges ajoutez Datadog à 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 l’observabilité des données : Surveillance des travaux pour Databricks.

  1. Configurer l’intégration Datadog-Databricks pour un espace de travail Databricks.
  2. Installer l’agent Datadog sur vos clusters Databricks dans l’espace de travail.

Configurer l’intégration Datadog-Databricks

Les nouvelles intégrations d'espace de travail doivent s'authentifier en utilisant 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. Après qu'un espace de travail commence à utiliser OAuth, il ne peut pas revenir à un jeton d'accès personnel.

Créer et configurer le principal de service dans Databricks

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

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

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

  4. Entrez un nom, puis cliquez sur Ajouter.

    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".
  5. 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. Prenez note de votre ID client et de votre secret client.

    Dans Databricks, une fenêtre modale affichant l'ID client et le secret associés à un nouveau secret OAuth est affichée.
  6. Dans l’onglet Permissions, cliquez sur Grant access. Recherchez le nouveau principal de service, accordez-lui la permission Manage, puis cliquez sur Save.

  7. Retournez à l’onglet Identity and access et cliquez sur Manage à côté de Groups.

  8. Cliquez sur le groupe admins, puis cliquez sur Add members pour ajouter le nouveau principal de service.

Ajoutez l’espace de travail Databricks à Datadog

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

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

  3. Entrez 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 est affiché. Cet espace de travail a un nom, une URL, un ID client et un secret client.
  4. Pour obtenir une visibilité sur vos coûts Databricks dans l’observabilité des données : Surveillance des travaux ou Gestion des Coûts Cloud, fournissez l’ID d’un Entrepôt SQL Databricks que Datadog peut utiliser pour interroger vos tables système.

    • Le principal de service doit avoir accès à l’Entrepôt SQL. Dans la page de configuration de l’Entrepôt, allez à Permissions (en haut à droite) et accordez-lui la permission CAN USE.
    • Accordez au principal de service un accès en lecture aux tables système du Catalogue Unity en exécutant les commandes suivantes :
    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>;
    

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

    • L’Entrepôt SQL Databricks doit être Pro ou Serverless. Les Entrepôts Classiques ne sont PAS pris en charge. Un entrepôt 2XS est recommandé, avec l’Arrêt Automatique réglé sur 5-10 minutes pour réduire les coûts.
  5. Dans la section Sélectionnez les produits pour configurer l’intégration, assurez-vous que l’observabilité des données : Surveillance des travaux est Enabled.

  6. Dans la section Datadog Agent Setup, choisissez soit

Si votre espace de travail Databricks est déployé en utilisant Connectivité par Lien Privé, Datadog ne peut pas accéder directement aux API Databricks. Cela nécessite l’utilisation d’un Exécuteur d’Action Privé déployé dans votre environnement.

Voir Connectivité par Lien Privé (Aperçu) pour des instructions complètes de configuration.

Cette option n'est disponible que 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 en utilisant OAuth.
  1. Dans votre espace de travail Databricks, cliquez sur votre profil dans le coin supérieur droit et allez à Settings. Sélectionnez Developer dans la barre latérale gauche. À côté de Access tokens, cliquez sur Manage.

  2. Cliquez sur Generate new token, entrez “Intégration Datadog” 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 son expiration. Ensuite, cliquez sur Generate. Prenez note de votre jeton.

    Important

    • Pour l’installation du script d’initialisation géré par Datadog (recommandé)](?tab=datadogmanagedglobalinitscriptrecommended#install-the-datadog-agent), assurez-vous que le Principal du jeton est un Administrateur de l’espace de travail.
    • Pour l’installation manuelle du script d’initialisation, assurez-vous que le Principal du jeton a un accès CAN VIEW 9 pour les travaux et clusters Databricks que vous souhaitez surveiller.

    Alternativement, 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 d’accès Accès à l’espace de travail activé et les permissions Administrateur de l’espace de travail ou CAN VIEW 9 comme décrit ci-dessus.

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

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

  5. Entrez 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 est affiché. Cet espace de travail a un nom, une URL et un jeton API.
  6. Pour obtenir une visibilité sur vos coûts Databricks dans l’observabilité des données : Surveillance des travaux ou Gestion des Coûts Cloud, fournissez l’ID d’un Entrepôt SQL Databricks que Datadog peut utiliser pour interroger vos tables système.

    • Le principal du jeton doit avoir accès à l’Entrepôt SQL Databricks. Donnez-lui CAN USE permission depuis Permissions en haut à droite de la page de configuration de l’entrepôt.
    • Accordez au principal de service un accès en lecture aux tables système du Catalogue Unity en exécutant les commandes suivantes :
    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>;
    

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

    • L’Entrepôt SQL doit être Pro ou Serverless. Les Entrepôts Classiques ne sont PAS pris en charge. Un entrepôt de taille 2XS est recommandé, avec un arrêt automatique configuré pour 5 à 10 minutes afin de minimiser les coûts.
  7. Dans la section Sélectionnez les produits pour configurer l’intégration, assurez-vous que le produit Data Observability : Surveillance des travaux est Activé.

  8. Dans la section Datadog Agent Setup, choisissez soit

Installez l’Agent Datadog

L’Agent Datadog doit être installé sur les clusters Databricks pour surveiller les travaux Databricks qui s’exécutent sur des clusters à usage général ou des clusters de travaux. Cette étape n’est pas nécessaire pour surveiller les travaux sur calcul sans serveur.

Datadog peut installer et gérer un script d’initialisation global dans l’espace de travail Databricks. L’Agent Datadog est installé sur tous les clusters de l’espace de travail, lorsqu’ils démarrent.

  • 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 sur plusieurs clusters ou de 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 permissions Administrateur de l'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 Sélectionner les produits pour configurer l’intégration, assurez-vous que le produit Data Observability : Surveillance des travaux est Activé.

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

  3. Cliquez Select API Key pour soit sélectionner une clé API Datadog existante, soit créer une nouvelle clé API Datadog.

  4. (Optionnel) Désactivez Enable Log Collection si vous ne souhaitez pas collecter les journaux du pilote et des travailleurs pour les corréler avec les travaux.

  5. Cliquez Save Databricks Workspace.

    Dans la tuile d'intégration Datadog-Databricks, configuration de l'Agent Datadog 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é avec Datadog

  1. Dans l’onglet Configurer, 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 : Surveillance des travaux est Activé.

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

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

  6. (Optionnel) Désactivez Enable Log Collection si vous ne souhaitez pas collecter les journaux du pilote et des travailleurs pour les corréler avec les travaux.

  7. Cliquez sur Enregistrer l’espace de travail Databricks en bas de la fenêtre du navigateur.

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

En option, vous pouvez ajouter des balises à votre cluster Databricks et aux métriques de performance 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 balises au cluster Databricks et aux métriques de performance Spark. Paires clé:valeur séparées par des virgules ou des espaces. Suivez les conventions de balisage Datadog. Exemple : env:staging,team:data_engineering
DD_ENVDéfinissez la balise d’environnement env sur les métriques, les traces et les journaux de ce cluster.
DD_LOGS_CONFIG_PROCESSING_RULESFiltrez les journaux collectés avec des règles de traitement. Consultez Collecte avancée de journaux 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 du catalogue d’unité 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 permissions en lecture seule au script d’initialisation :

    1. Au niveau du volume, accordez la permission READ VOLUME à tous les utilisateurs du compte.
    2. Au niveau du catalogue, accordez la permission USE CATALOG à tous les utilisateurs du compte.
  3. Ajoutez le script d’initialisation à la liste blanche : Pour les clusters en mode d’accès Standard, vous devez ajouter le chemin du script d’initialisation à la liste blanche du catalogue d’unité. Suivez les instructions dans la documentation de Databricks pour ajouter le chemin de votre script d’initialisation à la liste blanche.

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. C’est 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 le menu déroulant Field, sélectionnez init_scripts.
    2. Dans le menu déroulant Source, sélectionnez Volume.
    3. Sous Destination, entrez 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é API Datadog.
    DD_SITEVotre site Datadog.
    DATABRICKS_WORKSPACENom de votre espace de travail Databricks. Il doit correspondre au nom fourni dans l’étape d’intégration Datadog-Databricks. Entourez le nom de guillemets doubles s’il contient des espaces.
    1. Pour chacune des variables ci-dessus, dans la Definition section, cliquez sur Add Definition. Dans la fenêtre modale qui s’ouvre, remplissez les champs :
      1. Dans le menu déroulant Field, sélectionnez spark_env_vars.
      2. Dans le champ Key, entrez la clé de la variable d’environnement.
      3. Dans le champ Value, entrez la valeur de la variable d’environnement.
      4. Sous le menu déroulant 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_ENABLEDCollecter les journaux du pilote spark dans Datadog.faux
      WORKER_LOGS_ENABLEDCollecter les journaux des travailleurs spark dans Datadog.faux
      DD_TAGSAjouter des balises au cluster Databricks et aux métriques de performance Spark, en utilisant des paires clé:valeur séparées par des virgules ou des espaces. Suivez les conventions de balisage Datadog. Exemple : env:staging,team:data_engineering
      DD_ENVDéfinissez la balise d’environnement env sur les métriques, les traces et les journaux de ce cluster.
      DD_LOGS_CONFIG_PROCESSING_RULESFiltrez les journaux collectés avec des règles de traitement. Consultez Collection avancée de journaux pour plus de détails.
  4. Cliquez Create si vous créez une nouvelle politique ou 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 le menu déroulant Policy en haut, sélectionnez la politique que vous avez créée.
  3. Cliquez 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 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 n’oubliant pas de remplacer les espaces réservés par vos valeurs de 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, télécharge et exécute le dernier init script for Data Observability: Jobs Monitoring in 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, peuvent être trouvés dans le dépôt de l’Agent Datadog.

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

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

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

Fournissez les valeurs pour les 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 des variables d’environnement Datadog ici, telles que DD_ENV et DD_SERVICE. Le script peut être configuré à l’aide des paramètres suivants :

VariableDescriptionPar défaut
DD_API_KEYVotre clé API Datadog.
DD_SITEVotre site Datadog.
DATABRICKS_WORKSPACENom de votre espace de travail Databricks. Il doit correspondre au nom fourni dans l’étape d’intégration Datadog-Databricks. Entourez le nom de guillemets doubles s’il contient des espaces.
DRIVER_LOGS_ENABLEDCollecter les journaux du pilote Spark dans Datadog.faux
WORKER_LOGS_ENABLEDCollecter les journaux des travailleurs Spark dans Datadog.faux
DD_TAGSAjoutez des étiquettes au cluster Databricks et aux métriques de performance Spark. Paires clé:valeur séparées par des virgules ou des espaces. Suivez les conventions de balisage Datadog. Exemple: env:staging,team:data_engineering
DD_ENVDéfinissez l’étiquette d’environnement env sur les métriques, les traces et les journaux de ce cluster.
DD_LOGS_CONFIG_PROCESSING_RULESFiltrer les journaux collectés avec des règles de traitement. Voir Advanced Log Collection 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 init script for Data Observability: Jobs Monitoring in Databricks. Si vous souhaitez épingler 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 changements entre les versions du script, sur le Datadog Agent repository.

  2. Ajoutez le script d’initialisation à la liste blanche (nécessaire 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 blanche de Unity Catalog. Suivez les instructions dans la Databricks documentation pour ajouter le chemin de votre script d’initialisation à la liste blanche.

  3. Sur la page de configuration du cluster, cliquez sur le Advanced options toggle.

  4. En bas de la page, allez à l’onglet Init Scripts.

    Interface 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'.
    • Sous le menu déroulant Destination, sélectionnez Volume.
    • Sous Init script path, entrez 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 Advanced options toggle.

  2. En bas de la page, allez à l’onglet Spark.

    Interface 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.

    Dans la zone de texte Environment variables, 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 des variables d’environnement Datadog ici, telles que DD_ENV et DD_SERVICE. Le script peut être configuré à l’aide des paramètres suivants :

VariableDescriptionPar défaut
DD_API_KEYVotre clé API Datadog.
DD_SITEVotre site Datadog.
DATABRICKS_WORKSPACENom de votre espace de travail Databricks. Il doit correspondre au nom fourni dans l’étape d’intégration Datadog-Databricks. Entourez le nom de guillemets doubles s’il contient des espaces.
DRIVER_LOGS_ENABLEDCollecter les journaux du pilote Spark dans Datadog.faux
WORKER_LOGS_ENABLEDCollecter les journaux des travailleurs Spark dans Datadog.faux
ÉTIQUETTES_DDAjoutez des étiquettes au cluster Databricks et aux métriques de performance Spark. Paires clé:valeur séparées par des virgules ou des espaces. Suivez les conventions de balisage Datadog. Exemplea: env:staging,team:data_engineering
DD_ENVDéfinissez l’étiquette d’environnement env sur les métriques, les traces et les journaux de ce cluster.
RÈGLES_DE_TRAITEMENT_DES_JOURNAUX_DDFiltrez les journaux collectés avec des règles de traitement. Consultez Collection avancée de journaux 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 lorsque les clusters démarrent.

Les clusters polyvalents déjà en cours d’exécution ou les clusters de tâches à long terme doivent être redémarrés manuellement pour que le script d’initialisation installe l’Agent Datadog.

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

Validation

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

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

Dépannage

Si vous ne voyez aucune donnée dans DJM après l’installation du produit, suivez ces étapes.

  1. Validation de la clé API : Si le script d’initialisation a été installé manuellement, mais que les données du cluster n’apparaissent toujours pas dans le produit DJM, utilisez le point de terminaison de validation de la clé API pour vous assurer que la clé API Datadog spécifiée dans le script est valide.
  2. Validation de l’Agent : Le script d’initialisation installe l’Agent Datadog. Pour s’assurer qu’il est correctement installé, connectez-vous au cluster avec SSH et exécutez la commande d’état de l’Agent :
sudo datadog-agent status

Configuration avancée

Filtrer la collecte des journaux sur les clusters

Exclure toute collecte de journaux d’un cluster individuel

Configurez la variable d’environnement suivante dans la section Advanced Configuration de votre cluster dans l’interface utilisateur de 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\": \".*\"}]

Permissions

Accordez Workspace Admin privilèges à l’utilisateur ou au principal de service qui se connecte à votre espace de travail Databricks. Cela permet à Datadog de gérer automatiquement les installations et mises à jour des scripts d’initialisation, réduisant ainsi le risque de mauvaise configuration.

Si vous avez besoin d’un contrôle plus granulaire, accordez ces permissions minimales aux objets de niveau espace de travail pour pouvoir toujours surveiller tous les travaux, clusters et requêtes au sein d’un espace de travail :

ObjetPermission
TravailPEUT VOIR
ComputePEUT S’ATTACHER À
Lakeflow Declarative PipelinesPEUT VOIR
RequêtePEUT VOIR
SQL WarehousePEUT SURVEILLER

De plus, pour que Datadog puisse accéder à vos données de coût Databricks dans l’Observabilité des données : Surveillance des travaux ou Gestion des coûts dans le cloud, l’utilisateur ou le principal de service utilisé pour interroger les tables système doit avoir les permissions suivantes :

  • CAN USE permission sur l’entrepôt SQL.
  • Accès en lecture aux tables système dans Unity Catalog. Cela peut être accordé avec :
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>;

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

Tag spans at runtime

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)

Agrégation des métriques du cluster à partir d’exécutions de travail ponctuelles

Cette configuration est applicable si vous souhaitez des données d’utilisation des ressources du cluster concernant vos travaux et créer un nouveau travail et un cluster pour chaque exécution via le point de terminaison de l’API d’exécution ponctuelle (commun lors de l’utilisation d’outils d’orchestration en dehors de Databricks tels qu’Airflow ou Azure Data Factory).

Si vous soumettez des travaux Databricks via le point de terminaison de l’API d’exécution ponctuelle, chaque exécution de travail a un identifiant de travail unique. Cela peut rendre difficile le regroupement et l’analyse des métriques de cluster pour les travaux qui utilisent des clusters éphémères. Pour agréger l’utilisation du cluster à partir du même travail et évaluer les performances sur plusieurs exécutions, vous devez définir la variable DD_JOB_NAME à l’intérieur de spark_env_vars de chaque new_cluster sur la même valeur que celle du corps de votre requête run_name.

Voici un exemple de corps de requête pour une exécution de travail ponctuel :

{
   "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 l’observabilité des données : Surveillance des travaux avec Databricks Networking Restrictions

Avec Databricks Networking Restrictions, Datadog peut ne pas avoir accès à vos API Databricks, ce qui est nécessaire pour collecter des traces des exécutions de travaux Databricks ainsi que des tags et d’autres métadonnées.

Si vous contrôlez l’accès à l’API Databricks avec des listes d’accès IP, l’ajout de Datadog à la liste blanche spécifique permet à Datadog de se connecter aux API Databricks dans votre espace de travail. 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 accès à l’API Datadog.

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

Lectures complémentaires