En tu espacio de trabajo de Databricks, haz clic en tu perfil en la esquina superior derecha y ve a Configuración. Selecciona Desarrollador en la barra lateral izquierda. Junto a Tokens de acceso, haz clic en Manage (Gestionar).
Haz clic en Generate new token (Generar nuevo token), introduce “Integración Datadog” en el campo Comentario, elimina el valor predeterminado en Ciclo de vida (días) y haz clic en *Generate (Generar). Toma nota de tu token.
Importante:
Asegúrate de eliminar el valor por defecto en Ciclo de vida (días) para que el token no caduque y no se rompa la integración.
Asegúrate de que la cuenta que genera el token tiene acceso de VISTA para los trabajos y clústeres de Databricks que quieres monitorizar.
Manualmente: Sigue las siguientes instrucciones para instalar y gestionar el script init para instalar el Agent globalmente o en clústeres de Databricks específicos.
El Datadog Agent debe instalarse en clústeres de Databricks para monitorizar trabajos de Databricks que se ejecutan en clústeres multipropósito o de trabajo.
Datadog puede instalar y gestionar un script init global en el espacio de trabajo de Databricks. El Datadog Agent se instala en todos los clústeres del espacio de trabajo, cuando se inician.
En la pestaña Configurar, haz clic en el espacio de trabajo en la lista de espacios de trabajo.
Haz clic en la pestaña Productos configurados.
Asegúrate de que el producto Data Jobs Monitoring está Habilitado.
En la sección Configuración del Datadog Agent, selecciona el conmutador Gestionado por Datadog.
Haz clic en Select API Key (Seleccionar clave de API) para seleccionar una clave de API Datadog existente o crear una nueva clave de API Datadog.
Haz clic en Save (Guardar) en la parte inferior de la ventana del navegador.
En Databricks, haz clic en tu nombre para mostrar (dirección de correo electrónico) en la esquina superior derecha de la página.
Selecciona Configuración y haz clic en la pestaña Cálculo.
En la sección Clústeres multipropósito, junto a Scripts init globales, haz clic en Manage (Gestionar).
Haz clic en Add (Añadir). Asigna un nombre a tu script. A continuación, en el campo Script, copia y pega el siguiente script, recordando sustituir los parámetros por los valores de tus parámetros.
#!/bin/bash
# Required parametersexportDD_API_KEY=<YOUR API KEY>
exportDD_SITE=<YOUR DATADOG SITE>
exportDATABRICKS_WORKSPACE="<YOUR WORKSPACE NAME>"# Download and run the latest init scriptbash -c "$(curl -L https://dd-data-jobs-monitoring-setup.s3.amazonaws.com/scripts/databricks/databricks_init_latest.sh)"||true
El script anterior define los parámetros requeridos, descarga y ejecuta el último script init para Data Jobs Monitoring en Databricks. Si quieres fijar tu script a una versión específica, puedes sustituir el nombre del archivo en la URL por databricks_init_1.5.1.sh para utilizar la última versión estable.
Para habilitar la secuencia de comandos para todos los clústeres nuevos reiniciados, activa el conmutador Habilitado.
Proporciona los valores de los parámetros del script init al principio del script init global.
exportDD_API_KEY=<YOUR API KEY>
exportDD_SITE=<YOUR DATADOG SITE>
exportDATABRICKS_WORKSPACE="<YOUR WORKSPACE NAME>"
También puedes configurar aquí otros parámetros del script init y variables de entorno de Datadog, como DD_ENV y DD_SERVICE. El script puede configurarse utilizando los siguientes parámetros:
Nombre de tu espacio de trabajo de Databricks. Debe coincidir con el nombre proporcionado en el paso de la integración Datadog-Databricks. Encierra el nombre entre comillas dobles si contiene espacios en blanco.
DRIVER_LOGS_ENABLED
Recopila logs de unidades Spark en Datadog.
falso
WORKER_LOGS_ENABLED
Recopila logs de workers Spark en Datadog.
falso
DD_DJM_ADD_LOGS_TO_FAILURE_REPORT
Incluye logs del script init para la depuración cuando informes de un fallo a Datadog.
falso
En Databricks, crea un archivo de script init en Espacio de trabajo con el siguiente contenido. Asegúrate de anotar la ruta del archivo.
#!/bin/bash
# Download and run the latest init scriptbash -c "$(curl -L https://dd-data-jobs-monitoring-setup.s3.amazonaws.com/scripts/databricks/databricks_init_latest.sh)"||true
El script anterior descarga y ejecuta el último script init para Data Jobs Monitoring en Databricks. Si quieres fijar tu script a una versión específica, puedes sustituir el nombre del archivo en la URL por databricks_init_1.3.1.sh para utilizar la última versión estable.
En la página de configuración del clúster, haz clic en el conmutador Opciones avanzadas.
En la parte inferior de la página, ve a la pestaña Scripts init.
En el menú desplegable Destino, selecciona Workspace.
En Ruta del script init, introduce la ruta de tu script init.
En Databricks, en la página de configuración del clúster, haz clic en el conmutador Opciones avanzadas.
En la parte inferior de la página, ve a la pestaña Spark.
En el cuadro de texto Variables de entorno, introduce los valores de los parámetros del script init.
DD_API_KEY=<YOUR API KEY>
DD_SITE=<YOUR DATADOG SITE>
DATABRICKS_WORKSPACE="<YOUR WORKSPACE NAME>"
También puedes configurar aquí otros parámetros del script init y variables de entorno de Datadog, como DD_ENV y DD_SERVICE. El script puede configurarse utilizando los siguientes parámetros:
Nombre de tu espacio de trabajo de Databricks. Debe coincidir con el nombre proporcionado en el paso de la integración Datadog-Databricks. Encierra el nombre entre comillas dobles si contiene espacios en blanco.
DRIVER_LOGS_ENABLED
Recopila logs de unidades Spark en Datadog.
falso
WORKER_LOGS_ENABLED
Recopila logs de workers Spark en Datadog.
falso
DD_DJM_ADD_LOGS_TO_FAILURE_REPORT
Incluye logs del script init para la depuración cuando informes de un fallo a Datadog.
El script init instala el Agent cuando se inician clústeres.
Los clústeres multipropósito en ejecución o los clústeres de trabajos de larga duración deben reiniciarse manualmente para que el script init instale el Datadog Agent.
En los trabajos programados que se ejecutan en clústeres de trabajos, el script init instala el Datadog Agent automáticamente durante la siguiente ejecución.
If you don’t see any data in DJM after installing the product, follow those steps.
The init script installs the Datadog Agent. To make sure it is properly installed, ssh into the cluster and run the Agent status command:
sudo datadog-agent status
Si el Agent no está instalado, consulta los logs de instalación que se encuentran en /tmp/datadog-djm-init.log.
Si necesita más ayuda del servicio de asistencia de Datadog, añade la siguiente variable entorno al script init. Esto asegura que los logs se envíen a Datadog cuando se produce un fallo.
Esta configuración es aplicable si quieres datos de uso de recursos de clúster sobre tus trabajos y crear un nuevo trabajo y clúster para cada ejecución a través del endpoint de la API de ejecución única (común cuando se utilizan herramientas de orquestación fuera de Databricks como Airflow o Azure Data Factory).
Si envías trabajos de Databricks a través del endpoint de la API de ejecución única, cada ejecución de trabajo tiene un ID de trabajo único. Esto puede dificultar la agrupación y el análisis de métricas de clúster de trabajos que utilizan clústeres efímeros. Para agregar el uso de clústeres del mismo trabajo y evaluar el rendimiento de varias ejecuciones, debes configurar la variable DD_JOB_NAME dentro de spark_env_vars de cada new_cluster con el mismo valor de run_name que la carga útil de la solicitud.
A continuación se muestra un ejemplo de cuerpo de solicitud de ejecución única de un trabajo:
{"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"}}}]}
Debido a las restricciones de red de Databricks, es posible que Datadog no tenga acceso a tus API Databricks, algo que es necesario para recopilar trazas (traces) de ejecuciones de trabajos de Databricks junto con etiquetas y otros metadatos.
Si estás controlando el acceso a la API Databricks a través de listas de acceso IP, la lista de autorizaciones específica de Datadog IP addresses permite a tu clúster realizar todas estas interacciones con servicios Datadog. Para ver más detalles sobre cómo gestionar las listas de acceso IP en Databricks, consulta la documentación de Databricks.
Si estás utilizando Databricks Private Connectivity, los pasos para configurar la conexión dependen de tu proveedor de nube.