Este producto no es compatible con el sitio Datadog seleccionado. ().
Información general
Jenkins es un servidor de automatización con funciones de integración y entrega continuas. Gracias a su arquitectura de complementos, Jenkins puede personalizarse para adaptarse a cualquier necesidad de Continuous Integration Continuous Delivery y automatiza todos los aspectos del desarrollo, los tests y el despliegue de project (proyecto).
Configura CI Visibility para que Jenkins recopile datos en distintas fases de las ejecuciones de pipeline, identifique cuellos de botella en el rendimiento, resuelva problemas operativos y perfeccione los procesos de despliegue.
Mira la cantidad de tiempo que los pipelines han estado ejecutando jobs (generic).
Se admiten las siguientes versiones de Jenkins:
Jenkins >= 2.346.1
Esta integración admite tanto la instalación Agentless y con tecnología del Agent.
La instalación del Agent es necesaria para la correlación de métricas de infraestructura.
Terminología
En esta tabla se muestra la correspondencia de conceptos entre CI Visibility de Datadog y Jenkins:
Datadog
Jenkins
Pipeline
Pipeline
Etapa
Etapa
Job (generic)
Step (UI) / paso (generic)
Instalar el Datadog Agent
Omite este step (UI) / paso (generic) si no necesitas correlación de métricas de infraestructura.
Si el controlador Jenkins y el Datadog Agent se han desplegado en un clúster de Kubernetes, Datadog recomienda utilizar el Controlador de admisión, que configura automáticamente la variable de entorno DD_AGENT_HOST en el pod del controlador de Jenkins para comunicarse con el Datadog Agent local.
Si deseas informar de los logs de tus jobs (generic) de Jenkins a Datadog, asegúrate de que la recopilación de logs personalizados a través de TCP está activada y configurada en el Agent.
Si tu Agent se ejecuta en un contenedor, añádele la variable de entorno DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true y asegúrate de que los siguientes puertos sean accesibles por el controlador de Jenkins:
Puerto de DogStadsD, en forma predeterminada es 8125/udp
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Manage Plugins (Gestionar Jenkins > Gestionar complementos).
En Update Center (Centro de actualizaciones), en la pestaña Available (Disponibles), busca Datadog Plugin (Complemento de Datadog).
Selecciona la casilla junto al complemento e instálalo mediante uno de los dos botones de instalación situados en la parte inferior de la pantalla.
Para verificar que el complemento está instalado, busca Datadog Plugin (Complemento de Datadog) en la pestaña Installed (Instalados).
Configurar el complemento de Jenkins para Datadog
Existen varias formas de configurar el complemento de Jenkins para Datadog.
Configurar con la interfaz de usuario de configuración de Jenkins
Informe a través del Datadog Agent (recomendado)
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Configure System (Gestionar Jenkins > Configurar sistema).
Desplázate por la pantalla de configuración hasta la sección Datadog Plugin (Complemento de Datadog).
Selecciona el modo Use the Datadog Agent to report to Datadog (Utilizar el Datadog Agent para enviar datos a Datadog).
Configura el host Agent.
Configurar CI Visibility:
Configura el Traces Collection Port (Puerto de recopilación de trazas) si no utilizas el puerto predeterminado 8126.
Haz clic en el botón Test traces connection (Probar conexión de trazas) para verificar que tu configuración es válida.
Activa la casilla Enable CI Visibility (Activar CI Visibility).
(Opcional) Configura el nombre de tu instancia de CI.
(Opcional) Configura la recopilación de logs:
Configura el puerto Log Collection (Recopilación de logs) como está configurado en el Datadog Agent.
Haz clic en el botón Test logs connection (Probar conexión de logs) para verificar que tu configuración es válida.
Activa la casilla Enable Log Collection (Activar la recopilación de logs).
(Opcional) Ingresa el nombre del host que utilizas para acceder a la interfaz de usuario de Datadog (por ejemplo, app.datadoghq.com) en el campo Datadog App hostname (Nombre de host de la aplicación Datadog).
Guarda tu configuración.
Agentless (utilizando una clave de API)
Usa esta opción para hacer que el complemento de Jenkins envíe datos directamente a Datadog sin usar el Datadog Agent. Esto requiere una clave de API.
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Configure System (Gestionar Jenkins > Configurar sistema).
Desplázate por la pantalla de configuración hasta la sección Datadog Plugin (Complemento de Datadog).
Selecciona el modo Use Datadog site and API key to report to Datadog (Utilizar el sitio de Datadog y la clave de API para enviar datos a Datadog).
Selecciona tu sitio de Datadog en el menú desplegable Pick a site (Elegir un sitio).
Ingresa una Datadog API Key (Clave de API de Datadog) válida (o utiliza la opción Select from credentials [Seleccionar desde las credenciales]).
Haz clic en el botón Test Key (Probar clave) para verificar que tu clave de API es válida.
Configurar CI Visibility:
Activa la casilla Enable CI Visibility (Activar CI Visibility).
(Opcional) Configura el nombre de tu instancia de CI.
(Opcional) Configura la recopilación de logs:
Activa la casilla Enable Log Collection (Activar la recopilación de logs).
(Opcional) Ingresa el nombre del host que utilizas para acceder a la interfaz de usuario de Datadog (por ejemplo, app.datadoghq.com) en el campo Datadog App hostname (Nombre de host de la aplicación Datadog).
Crea o modifica el archivo YAML de configuración mediante la adición de una entrada para datadogGlobalConfiguration:
unclassified:datadogGlobalConfiguration:datadogClientConfiguration:# Select the `Datadog Agent` modedatadogAgentConfiguration:# Configure Datadog Agent hostagentHost:'<your-agent-host>'# Configure Datadog Agent portagentPort:8125# (Optional) Configure logs collection port as configured in your Datadog AgentagentLogCollectionPort:10518# Configure traces collection portagentTraceCollectionPort:8126# Enable CI Visibility flagenableCiVisibility:true# (Optional) Configure your CI Instance nameciInstanceName:'jenkins'# (Optional) Configure the name of the host that you use to access Datadog UIdatadogAppHostname:'app.datadoghq.com'# (Optional) Enable logs collectioncollectBuildLogs:true
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Configuration as Code (Gestionar Jenkins > Configuración como código).
Aplica o vuelve a cargar la configuración.
Comprueba la configuración mediante el botón View Configuration (Ver configuración).
Crea o modifica el archivo YAML de configuración mediante la adición de una entrada para datadogGlobalConfiguration:
unclassified:datadogGlobalConfiguration:datadogClientConfiguration:# Select the `Agentless` mode (using API key).datadogApiConfiguration:intake:datadogIntakeSite:# Configure your Datadog sitesite:''apiKey:datadogCredentialsApiKey:# Configure ID of Jenkins credentials that store your API keycredentialsId:'my-api-key-credentials-id'# Enable CI Visibility flagenableCiVisibility:true# (Optional) Configure your CI Instance nameciInstanceName:'jenkins'# (Optional) Configure the name of the host that you use to access Datadog UIdatadogAppHostname:''# (Optional) Enable logs collectioncollectBuildLogs:true
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Configuration as Code (Gestionar Jenkins > Configuración como código).
Aplica o vuelve a cargar la configuración.
Comprueba la configuración mediante el botón View Configuration (Ver configuración).
Configurar con Groovy
Informe a través del Datadog Agent (recomendado)
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Script Console (Gestionar Jenkins > Consola de scripts).
Ejecuta el script de configuración:
importjenkins.model.Jenkinsimportorg.datadog.jenkins.plugins.datadog.DatadogGlobalConfigurationimportorg.datadog.jenkins.plugins.datadog.configuration.DatadogAgentConfigurationdefjenkins=Jenkins.getInstance()defdatadog=jenkins.getDescriptorByType(DatadogGlobalConfiguration)defagentHost='localhost'// Configure your Datadog Agent host
defagentPort=8125defagentLogCollectionPort=10518// (Optional) Configure logs collection port as configured in your Datadog Agent
defagentTraceCollectionPort=8126// Configure traces collection port
datadog.datadogClientConfiguration=newDatadogAgentConfiguration(agentHost,agentPort,agentLogCollectionPort,agentTraceCollectionPort)datadog.datadogAppHostname='app.datadoghq.com'// the name of the host that you use to access Datadog UI
datadog.enableCiVisibility=truedatadog.collectBuildLogs=true// (Optional) Enable logs collection
datadog.ciInstanceName='jenkins'// (Optional) Set your CI Instance name
// Save config
datadog.save()
Agentless (utilizando una clave de API)
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Script Console (Gestionar Jenkins > Consola de scripts).
Ejecuta el script de configuración:
importhudson.util.Secretimportjenkins.model.Jenkinsimportorg.datadog.jenkins.plugins.datadog.DatadogGlobalConfigurationimportorg.datadog.jenkins.plugins.datadog.configuration.DatadogApiConfigurationimportorg.datadog.jenkins.plugins.datadog.configuration.api.intake.DatadogIntakeSiteimportorg.datadog.jenkins.plugins.datadog.configuration.api.intake.DatadogSiteimportorg.datadog.jenkins.plugins.datadog.configuration.api.key.DatadogTextApiKeydefjenkins=Jenkins.getInstance()defdatadog=jenkins.getDescriptorByType(DatadogGlobalConfiguration)defsite=newDatadogIntakeSite(DatadogSite.)// Pick your Datadog site
defapiKey=newDatadogTextApiKey(Secret.fromString('<YOUR_API_KEY>'))// or `new DatadogCredentialsApiKey('<YOUR_CREDENTIALS_ID>')`
datadog.datadogClientConfiguration=newDatadogApiConfiguration(site,apiKey)datadog.datadogAppHostname=''// the name of the host that you use to access Datadog UI
datadog.enableCiVisibility=truedatadog.collectBuildLogs=true// (Optional) Enable logs collection
datadog.ciInstanceName='jenkins'// (Optional) Set your CI Instance name
// Save config
datadog.save()
Utilizar variables de entorno
Informe a través del Datadog Agent (recomendado)
Establece las siguientes variables de entorno en la máquina de tu instancia de Jenkins:
# Select the Datadog Agent modeDATADOG_JENKINS_PLUGIN_REPORT_WITH=DSD
# Configure the Agent hostDATADOG_JENKINS_PLUGIN_TARGET_HOST=your-agent-host
# Configure the Traces Collection port (default 8126)DATADOG_JENKINS_PLUGIN_TARGET_TRACE_COLLECTION_PORT=8126# Enable CI VisibilityDATADOG_JENKINS_PLUGIN_ENABLE_CI_VISIBILITY=true# (Optional) Configure your CI Instance nameDATADOG_JENKINS_PLUGIN_CI_VISIBILITY_CI_INSTANCE_NAME=jenkins
# (Optional) Configure Log Collection port as configured in your Datadog AgentDATADOG_JENKINS_PLUGIN_TARGET_LOG_COLLECTION_PORT=10518# (Optional) Enable logs collectionDATADOG_JENKINS_PLUGIN_COLLECT_BUILD_LOGS=true# (Optional) Configure the name of the host that you use to access Datadog UIDATADOG_JENKINS_PLUGIN_DATADOG_APP_HOSTNAME=app.datadoghq.com
Reinicia tu instancia de Jenkins.
Agentless (utilizando una clave de API)
Establece las siguientes variables de entorno en la máquina de tu instancia de Jenkins:
# Select the Datadog Agent modeDATADOG_JENKINS_PLUGIN_REPORT_WITH=HTTP
# Configure your Datadog siteDATADOG_JENKINS_PLUGIN_DATADOG_SITE=# Configure your API keyDATADOG_JENKINS_PLUGIN_TARGET_API_KEY=your-api-key
# Enable CI VisibilityDATADOG_JENKINS_PLUGIN_ENABLE_CI_VISIBILITY=true# (Optional) Configure your CI Instance nameDATADOG_JENKINS_PLUGIN_CI_VISIBILITY_CI_INSTANCE_NAME=jenkins
# (Optional) Enable logs collectionDATADOG_JENKINS_PLUGIN_COLLECT_BUILD_LOGS=true# (Optional) Configure the name of the host that you use to access Datadog UIDATADOG_JENKINS_PLUGIN_DATADOG_APP_HOSTNAME=
Reinicia tu instancia de Jenkins.
Recopilar logs de trabajos
La recopilación de logs de trabajos puede activarse de manera opcional cuando se configura el complemento de Jenkins (ver sección anterior).
Se admiten las opciones sin el Agent y con el Agent.
Los logs se facturan por separado de CI Visibility.
La retención, la exclusión y los índices de logs se configuran en Log Management (Gestión de logs). Los logs para los trabajos de Jenkins se pueden identificar por la etiqueta source:jenkins.
Correlacionar las métricas de infraestructura
Si utilizas workers de Jenkins, puedes correlacionar los pipelines con la infraestructura que los ejecuta. Para que esta característica funcione, haz lo siguiente:
Instala el Datadog Agent en todos los workers de Jenkins.
Establece y exporta una nueva variable de entorno llamada DD_CI_HOSTNAME en cada worker de Jenkins con el nombre de host del worker.
Debe ser el mismo nombre de host que envía datos al Datadog Agent en las métricas de infraestructura para ese worker.
Puedes utilizar valores fijos u otras variables de entorno como valores válidos.
exportDD_CI_HOSTNAME=my-hostname
Si utilizas Kubernetes para gestionar tus instancias de Jenkins, añade la variable de entorno DD_CI_HOSTNAME al pod que ejecuta el trabajo de Jenkins. El valor de esta variable de entorno depende de lo que utilices en el daemonset de tu Datadog Agent al enviar los datos de las métricas de infraestructura.
Esto solo es necesario para los workers de Jenkins. Para el controlador de Jenkins, la correlación de métricas de infraestructura no requiere acciones adicionales.
Nota: La correlación de métricas de infraestructura es compatible con la versión 5.0.0 del complemento de Jenkins o una posterior.
Activar Test Optimization
Se trata de un paso de opcional que permite recopilar los datos de los tests mediante Test Optimization.
Hay diferentes maneras de activar Test Optimization dentro de un trabajo o pipeline de Jenkins:
con la interfaz de usuario de configuración de Jenkins;
con la adición del paso datadog dentro del script del pipeline;
con la configuración manual del rastreador.
En el caso de los pipelines que activan un contenedor de Docker para ejecutar tests, solo puedes configurar el rastreador manualmente.
Activar con la interfaz de usuario de configuración de Jenkins
La configuración de Test Optimization basada en la interfaz de usuario está disponible en la versión 5.6.0 del complemento de Jenkins para Datadog o una posterior.
Esta opción no es adecuada para los pipelines que se configuran por completo en Jenkinsfile (por ejemplo, pipelines de Multibranch o de Organization Folder).
Para estos pipelines, utiliza la configuración declarativa con el paso datadog (descrito en la siguiente sección).
Para activar Test Optimization a través de la interfaz de usuario, haz lo siguiente:
En la interfaz web de tu instancia de Jenkins, ve al trabajo o pipeline que deseas instrumentar y elige la opción Configure (Configurar).
En la sección de configuración General, marca la casilla Enable Datadog Test Optimization (Activar Datadog Test Optimization).
Ingresa el nombre del servicio o la biblioteca que se está sometiendo a un test en la entrada Service Name (Nombre de servicio). Puedes elegir cualquier valor que tenga sentido para ti.
Elige los lenguajes para los que deseas activar la instrumentación de los tests. Algunos de los lenguajes no admiten la configuración a través de la interfaz de usuario. Para configurar Test Optimization con estos lenguajes, sigue las instrucciones de configuración manuales.
Esta opción de configuración está disponible en la versión 5.6.2 del complemento de Jenkins para Datadog o una posterior.
En los pipelines declarativos, añade el paso a un bloque de nivel superior de options del siguiente modo:
pipeline{agentanyoptions{datadog(testOptimization:[enabled:true,serviceName:"my-service",// el nombre del servicio o la biblioteca que se está sometiendo a un test
languages:["JAVA"],// lenguajes que deben instrumentarse (las opciones disponibles son "Java", "JavaScript", "Python", "DOTNET", "Ruby")
additionalVariables:["my-var":"value"]// parámetros de configuración adicionales del rastreador (opcional)
])}stages{stage('Example'){steps{echo"Hello world."}}}}
En un pipeline con script, envuelve la sección correspondiente con el paso datadog de la siguiente manera:
Algunas características del complemento de Jenkins para Datadog requieren la información de Git asociada a las compilaciones de Jenkins para funcionar correctamente.
La información de Git mínima requerida para una compilación es la URL del repositorio, la rama, el SHA de confirmación y el correo electrónico del autor de la confirmación.
Esta información puede determinarse mediante el complemento de manera automática, propagarse desde SCM, proporcionarse manualmente con variables de entorno u obtenerse combinando estos enfoques.
Nota: Si un pipeline extrae varios repositorios, la información de Git de los repositorios que se extraen más tarde en el pipeline tiene mayor prioridad.
Propagar la información de Git desde SCM
El complemento de Jenkins puede detectar automáticamente la información de Git asociada a una compilación o a un pipeline.
Sin embargo, dependiendo de la versión de Jenkins y de los detalles del pipeline, puede haber casos en los que la detección automática de datos de Git no sea posible.
En tales casos, puedes hacer que la información de Git esté disponible para el complemento mediante la función .each {k,v -> env.setProperty(k, v)} después de ejecutar los pasos checkout o git. Por ejemplo:
Utilización de pipelines declarativos
Si estásutilizando un pipeline declarativo para configurar tu pipeline, propaga la información de Git utilizando un bloque script como se indica a continuación:
Utilización del step (UI) / paso (generic) checkout:
En caso de que el complemento no pueda detectar la información de Git de manera automática y propagar los datos de Git a través de SCM no sea una opción,
la información de Git necesaria puede establecerse manualmente.
Para ello, configura las siguientes variables de entorno.
Nota: Estas variables son opcionales, pero si se establecen, tienen prioridad sobre la información de Git establecida en otros complementos de Jenkins.
DD_GIT_REPOSITORY_URL (opcional)
la URL del repositorio de tu servicio. Ejemplo: https://github.com/my-org/my-repo.git
DD_GIT_BRANCH (opcional)
el nombre de la rama. Ejemplo: main
DD_GIT_TAG (opcional)
la etiqueta de la confirmación (si existe). Ejemplo: 0.1.0
DD_GIT_COMMIT_SHA (opcional)
la confirmación expresada en forma hexadecimal de 40 caracteres de longitud. Ejemplo: faaca5c59512cdfba9402c6e67d81b4f5701d43c
DD_GIT_COMMIT_MESSAGE (opcional)
el mensaje de la confirmación. Ejemplo: Initial commit message
DD_GIT_COMMIT_AUTHOR_NAME (opcional)
el nombre del autor de la confirmación. Ejemplo: John Smith
DD_GIT_COMMIT_AUTHOR_EMAIL (opcional)
el correo electrónico del autor de la confirmación. Ejemplo: john@example.com
DD_GIT_COMMIT_AUTHOR_DATE (opcional)
la fecha en la que el autor envió la confirmación expresada en formato ISO 8601. Ejemplo: 2021-08-16T15:41:45.000Z
DD_GIT_COMMIT_COMMITTER_NAME (opcional)
el nombre de la autora de la confirmación. Ejemplo: Jane Smith
DD_GIT_COMMIT_COMMITTER_EMAIL (opcional)
el correo electrónico de la autora de la confirmación. Ejemplo: jane@example.com
DD_GIT_COMMIT_COMMITTER_DATE (opcional)
la fecha en la que la autora envió la confirmación expresada en formato ISO 8601. Ejemplo: 2021-08-16T15:41:45.000Z
Si solo estableces el repositorio, la rama y la confirmación, el complemento intentará extraer el resto de la información de Git de la carpeta .git.
Un ejemplo de uso:
pipeline{agentanystages{stage('Checkout'){steps{script{defgitVars=giturl:'https://github.com/my-org/my-repo.git',branch:'some/feature-branch'// Establece manualmente la información de Git a través de las variables de entorno.
env.DD_GIT_REPOSITORY_URL=gitVars.GIT_URLenv.DD_GIT_BRANCH=gitVars.GIT_BRANCHenv.DD_GIT_COMMIT_SHA=gitVars.GIT_COMMIT}}}stage('Test'){steps{// Ejecuta el resto del pipeline.
}}}}
Incluir o excluir pipelines
Puedes configurar el complemento de Jenkins para incluir o excluir pipelines específicos:
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Configure System (Gestionar Jenkins > Configurar sistema).
Desplázate por la pantalla de configuración hasta la sección Datadog Plugin (Complemento de Datadog).
Haz clic en el botón Advanced (Avanzada).
Configura los Excluded Jobs (Trabajos excluidos).
Configura los Included Jobs (Trabajos incluidos).
Guarda tu configuración.
Trabajos excluidos
una lista separada por comas de los trabajos de Jenkins que no se deben monitorizar. La exclusión se aplica a todas métricas, trazas, eventos y checks de servicio. Los trabajos excluidos pueden contener expresiones regulares para hacer referencia a varios trabajos. Variable de entorno: DATADOG_JENKINS_PLUGIN_EXCLUDED Ejemplo: susans-job,johns-.*,prod_folder/prod_release
Trabajos incluidos
una lista separada por comas de los nombres de los trabajos de Jenkins que se deben monitorizar. Si la lista de trabajos incluidos está vacía, se monitorizarán todos los trabajos que no se excluyan explícitamente. La inclusión se aplica a todas las métricas, trazas, eventos y checks de servicio. Los trabajos incluidos pueden contener expresiones regulares para hacer referencia a varios trabajos. Variable de entorno: DATADOG_JENKINS_PLUGIN_INCLUDED Ejemplo: susans-job,johns-.*,prod_folder/prod_release
Las listas de trabajos incluidos y excluidos pueden contener expresiones regulares, pero no patrones glob. Para incluir un trabajo con un prefijo específico, utiliza prefix-.*, no prefix-*.
Configuración avanzada
Establecer el nombre de la rama predeterminada
Para enviar los datos de los resultados del pipeline, adjunta el nombre de la rama predeterminada (por ejemplo, main) a los tramos del pipeline en un atributo llamado git.default_branch. Esto se hace de forma automática, pero en algunos casos el complemento no puede extraer esta información porque podría no provenir de Jenkins.
Si esto ocurre, establece la rama predeterminada de forma manual mediante la variable de entorno DD_GIT_DEFAULT_BRANCH en tu compilación. Por ejemplo:
Para mostrar y filtrar los equipos asociados a tus pipelines, añade team:<your-team> como una etiqueta personalizada. El nombre de etiqueta personalizada debe coincidir exactamente con el nombre de tu equipo en Equipos de Datadog.
Personalizar etiquetas globales
Puedes configurar el complemento de Jenkins para enviar etiquetas personalizadas (como etiquetas globales y etiquetas de trabajo globales) en todas las trazas de los pipelines:
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Configure System (Gestionar Jenkins > Configurar sistema).
Desplázate por la pantalla de configuración hasta la sección Datadog Plugin (Complemento de Datadog).
Haz clic en el botón Advanced (Avanzada).
Configura las Global Tags (Etiquetas globales).
Configura las Global Job Tags (Etiquetas de trabajo globales).
Guarda tu configuración.
Etiquetas globales
una lista separada por comas de etiquetas para aplicar a todas las métricas, trazas, eventos y checks de servicio. Las etiquetas pueden incluir variables de entorno que se definen en la instancia del controlador de Jenkins. Variable de entorno: DATADOG_JENKINS_PLUGIN_GLOBAL_TAGS Ejemplo: key1:value1,key2:${SOME_ENVVAR},${OTHER_ENVVAR}:value3
Etiquetas de trabajo globales
una lista separada por comas de expresiones regulares que coinciden con un trabajo y una lista de etiquetas para aplicar a ese trabajo. Las etiquetas pueden incluir variables de entorno que se definen en la instancia del controlador de Jenkins. Las etiquetas pueden hacer referencia a grupos coincidentes en la expresión regular mediante el símbolo $. Variable de entorno: DATADOG_JENKINS_PLUGIN_GLOBAL_JOB_TAGS Ejemplo: (.*?)_job_(.*?)_release, owner:$1, release_env:$2, optional:Tag3
Visualizar los datos de los pipelines en Datadog
Una vez que la integración se ha configurado correctamente, las páginas CI Pipeline List (Lista de pipelines de CI) y Executions (Ejecuciones) se rellenan con datos después de que los pipelines finalizan.
En la página CI Pipeline List (Lista de pipelines de CI) solo se muestran datos para la rama predeterminada de cada repositorio. Para obtener más información, consulta Buscar y gestionar pipelines de CI.
Solucionar problemas
Generar un flare de diagnóstico
Cuando informes un problema al equipo de asistencia de Datadog, genera un flare de diagnóstico del complemento y facilítalo junto con la descripción del problema.
Para generar el flare, haz lo siguiente:
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Troubleshooting > Datadog (Gestionar Jenkins > Solucionar problemas > Datadog).
En el formulario Diagnostic Flare (Flare de diagnóstico), comprueba qué información deseas incluir en el flare. La selección predeterminada es la más adecuada. Cuanta más información facilites, más fácil será diagnosticar tu problema.
Haz clic en Download (Descargar) para generar y descargar el archivo del flare.
Activar el nivel de logs DEBUG para el complemento de Datadog
Si tienes algún problema con el complemento de Datadog, puedes configurar los logs del complemento en el nivel DEBUG. En este nivel, puedes ver los detalles del stacktrace si se genera una excepción.
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > System log (Gestionar Jenkins > Log del sistema).
Haz clic en el botón Add new log recorder (Añadir nuevo registrador de logs).
Escribe el nombre del registrador de logs. Por ejemplo: Datadog Plugin Logs (Logs del complemento de Datadog).
Añade los siguientes loggers a la lista:
Logger: org.datadog.jenkins.plugins.datadog.clients -> Nivel de log ALL
Logger: org.datadog.jenkins.plugins.datadog.traces -> Nivel de log ALL
Logger: org.datadog.jenkins.plugins.datadog.logs -> Nivel de log ALL
Logger: org.datadog.jenkins.plugins.datadog.model -> Nivel de log ALL
Logger: org.datadog.jenkins.plugins.datadog.listeners -> Nivel de log ALL
Guarda la configuración.
También puedes querer dividir los loggers en diferentes registradores de logs.
Una vez que los registradores de logs se han configurado correctamente, puedes comprobar los logs en el modo DEBUG mediante el acceso al registrador de logs deseado a través de Manage Jenkins > System log (Gestionar Jenkins > Log del sistema).
Si activas un pipeline de Jenkins, puedes buscar el mensaje Send pipeline traces (Enviar trazas de pipeline) en los Datadog Plugin Logs (Logs del complemento de Datadog). Este mensaje indica que el complemento envía datos de CI Visibility al Datadog Agent.
Los datos de las ejecuciones de pipelines no están disponibles en Datadog
Check de conectividad HTTP
Si tu instancia de Jenkins está en un proxy HTTP, ve a Manage Jenkins > Manage Plugins > Advanced tab (Administrar Jenkins > Administrar complementos > Pestaña Avanzado) y asegúrate de que la configuración del proxy es la correcta:
Si el complemento de Datadog está configurado para enviar datos al Datadog Agent, comprueba que el host del Agent se haya añadido a la sección No Proxy Hosts (Hosts sin proxy).
Si el complemento de Datadog está configurado para enviar datos directamente a Datadog (modo Agentless), comprueba que el host de Datadog se haya añadido a la sección No Proxy Hosts (Hosts sin proxy). En la siguiente tabla, se muestran los sitios de Datadog admitidos y sus correspondientes valores de host:
Sitio Datadog
Valor del host
US1
datadoghq.com
US3
us3.datadoghq.com
US5
us5.datadoghq.com
UE1
datadoghq.eu
AP1
ap1.datadoghq.com
El complemento de Datadog no puede escribir cargas útiles en el servidor
Si aparece el siguiente mensaje de error en Jenkins Log (Log de Jenkins), asegúrate de que la configuración del complemento es la correcta.
Error writing to server
Si utilizas localhost como nombre de host, cámbialo por el nombre de host del servidor.
Los logs de Jenkins no están disponibles en Datadog
Si el complemento de Datadog está configurado para enviar datos al Datadog Agent, haz lo siguiente:
Asegúrate de que la recopilación personalizada de logs a través de TCP está activada y configurada en el Agent.
Ve a la interfaz de usuario de configuración del complemento y haz clic en Test logs connection (Probar conexión de logs) para verificar la conectividad de los logs.
La sección Datadog Plugin (Complemento de Datadog) no aparece en la configuración de Jenkins
Si la sección Datadog Plugin (Complemento de Datadog) no aparece en la sección de configuración de Jenkins, asegúrate de que el complemento está activado. Para ello, haz lo siguiente:
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Manage Plugins (Gestionar Jenkins > Gestionar complementos).
Busca Datadog Plugin (Complemento de Datadog) en la pestaña Installed (Instalados).
Comprueba que la casilla Enabled (Activado) esté marcada.
Si activas el complemento aquí, reinicia tu instancia de Jenkins mediante la ruta de la URL /safeRestart.
La opción CI Visibility no aparece en la sección Datadog Plugin (Complemento de Datadog).
Si la opción CI Visibility no aparece en la sección Datadog Plugin (Complemento de Datadog), asegúrate de que está instalada la versión correcta y reinicia la instancia de Jenkins. Para ello, haz lo siguiente:
En la interfaz web de tu instancia de Jenkins, ve a Manage Jenkins > Manage Plugins (Gestionar Jenkins > Gestionar complementos).
Busca Datadog Plugin (Complemento de Datadog) en la pestaña Installed (Instalados).
Comprueba que la versión instalada es la correcta.
Reinicia tu instancia de Jenkins mediante la ruta de la URL /safeRestart.
Las métricas de infraestructura no se correlacionan con los pipelines de Jenkins
Si, incluso después de seguir los pasos, las métricas de infraestructura siguen sin correlacionarse con los pipelines de Jenkins,
intenta reiniciar la instancia de Jenkins.