Información general

La integración de Datadog y GitHub recopila cuatro tipos principales de datos:

  • Registros de auditoría: actividades de seguimiento de datos de seguridad y cumplimiento a nivel de empresa en toda la organización, cambios de acceso de los usuarios y parámetros de seguridad a través de Audit Log Streaming.

  • Eventos de repositorio: seguimiento en tiempo real de las actividades del repositorio, incluyendo solicitudes pull, incidentes, commits y cambios de rama a través de webhooks.

  • Información del código fuente: proporciona acceso al código fuente para potenciar funciones bidireccionales entre Datadog y GitHub, como mostrar fragmentos de código en trazas (traces) de APM, Error Tracking y herramientas de seguridad o habilitar comentarios en solicitudes pull de Code Security y Test Optimization (optimización de tests).

  • Datos de telemetría: recopilación automatizada de alertas de análisis de código, alertas de análisis de secretos y métricas de repositorio para realizar un seguimiento de las tendencias de seguridad y los patrones de workflow (UI) / proceso (generic).

GitHub Apps

La integración de aplicaciones de GitHub te permite conectar tu organización o cuenta personal de GitHub para acceder a la funcionalidad relacionada con el código de source (fuente) y recopilar datos valiosos para ayudarte a monitorizar y proteger tu entorno de GitHub. Gestiona tus aplicaciones de GitHub a través de la pestaña Configuración para empezar.

Configura la integración de GitHub para configurar aplicaciones de GitHub que conectan tu organización o cuenta personal de GitHub a Datadog, lo que te permite acceder a la funcionalidad relacionada con el código source (fuente), recopilar datos valiosos y ayudarte a monitorizar y proteger tu entorno de GitHub.

Funcionalidad del código fuente: cuando se instala con los permisos correctos, la integración de GitHub potencia diferentes funciones de código fuente en productos de Datadog para ayudarte a solucionar problemas y tomar acciones en tu código. Algunos ejemplos incluyen:

  • Acelerar las investigaciones en Error Tracking, Continuous Profiler y Code Security utilizando fragmentos de código en línea para contextualizar de dónde procede un problema en tu código.
  • Potenciar tus revisiones de código con comentarios automáticos y sugerencias de cambios directamente en tus solicitudes pull desde Code Security y Test Optimization (optimización de tests).
  • Tomar acciones en tu código de base con automatizaciones personalizadas creadas con Datadog Actions and Remediations.

Por ejemplo, una vez instalada la aplicación de GitHub con los permisos pertinentes activados, puedes utilizar Datadog integración del código source (fuente) para consultar fragmentos de código en tus stack traces, obtener comentarios automatizados y sugerencias de cambios a través de los comentarios de pull request de CI Visibility y Code Security, y acceder a múltiples definiciones de servicios en GitHub desde Software Catalog.

Información general de las aplicaciones de GitHub

Ya puedes integrar tus equipos de GitHub con tus equipos de Datadog: únete a la vista previa:

Únete a la vista previa

La integración de GitHub para equipos está en vista previa.

Request Access

Eventos de repositorio

Captura eventos de GitHub en Datadog para:

  • Realizar un seguimiento de las nuevas funciones a partir de cambios en el código
  • Identificar cuándo los nuevos cambios de código generan alertas en el sistema o fallos de compilación
  • Discutir los cambios de código con tu equipo
  • Declarar un incidente o exportar un evento a un incidente en curso

Eventos de consumo relacionados con tus acciones en repositorios y/o ramificaciones específicas incluidos:

Nombre del eventoAcciones del evento
Creación de ramificación o tag (etiqueta)
Eliminación de ramificación o tag (etiqueta)
Reglas de protección de ramificacionesSe admiten las siguientes acciones:

- created
- deleted
- edited
Comentarios de confirmación
Alertas de DependabotSe admiten las siguientes acciones:

- auto_dismissed
- auto_reopened
- created
- dismissed
- fixed
- reintroduced
- reopened
Comentarios de problemasSe admiten las siguientes acciones:

- created
- deleted
- edited
ProblemasSe admiten las siguientes acciones:

- assigned
- closed
- deleted
- demilestoned
- edited
- labeled
- locked
- milestoned
- opened
- pinned
- reopened
- transferred
- unassigned
- unlabeled
- unlocked
- unpinned
Comentarios de revisión de solicitud de cambioSe admiten las siguientes acciones:

- created
- deleted
- edited
Solicitudes de cambiosSe admiten las siguientes acciones:

- assigned
- unassigned
- labeled
- unlabeled
- opened
- edited
- closed
- reopened
- synchronize
- converted_to_draft
- locked
- unlocked
- enqueued
- dequeued
- milestoned
- demilestoned
- ready_for_review
- review_requested
- review_request_removed
- auto_merge_enabled
- auto_merge_disabled
Inserciones
RepositoriosSe admiten las siguientes acciones:

- archived
- created
- deleted
- edited
- privatized
- publicized
- renamed
- transferred
- unarchived
Alertas de vulnerabilidad del repositorioSe admiten las siguientes acciones:

- create
- dismiss
- reopen
- resolve
Asesoramiento de seguridadSe admiten las siguientes acciones:

- published
- updated
- withdrawn
Agregados al equipo
Cambios en la visibilidad

Datos de telemetría

Recopilación automatizada de datos mediante rastreadores de métricas y logs:

  • Métricas de alerta del análisis de código
  • Métricas de alerta del análisis de secretos
  • Métricas de repositorio
  • Seguimiento del estado de alertas
  • Tendencias de flujos de trabajo

Registros de auditoría

Datos de seguridad y cumplimiento a nivel de empresa:

  • Audit Log Streaming (recomendado para nuevos clientes)
    • Monitorización de la actividad de toda la organización en tiempo real
    • Cambios en el acceso de los usuarios
    • Modificación de los parámetros de seguridad
    • Eventos a nivel de organización
  • Rastreador de logs de auditoría legacy (disponible solo para clientes que lo hayan configurado previamente)
    • Datos de logs de auditoría históricos
    • Eventos de seguridad de la organización

Nota: Datadog eligió Audit Log Streaming como método preferido para la recopilación de logs de auditoría. Mientras que los rastreadores de análisis de código y de seguridad siguen siendo partes activas de GitHub Telemetry, el rastreador de logs de auditoría solo está disponible para los clientes que lo hayan instalado previamente.

Configuración

Configuración

Cada tipo de datos requiere permisos y pasos de configuración específicos. Consulta la sección de configuración de cada tipo de datos para configurar cada parte de la integración.

GitHub Apps

Dependiendo de la función del producto, puede ser necesaria una configuración adicional, además de la creación de una GitHub App, para habilitar completamente esa función. La creación de una GitHub App para conectar tu cuenta solo concede los permisos de GitHub que estas funciones requieren como requisitos previos. No incurrirás en gastos adicionales por la creación de GitHub Apps y ninguna función asociada a un producto facturable estará habilitada por defecto, aunque concedas los permisos necesarios para dichas funciones.
  1. En el ícono de integración de GitHub, ve a la pestaña Configuration (Configuración).

  2. Haz clic en Connect GitHub Account (Conectar cuenta de GitHub) para crear una GitHub App nueva.

  3. En Configure App (Configurar aplicación), selecciona Organization (Organización) e ingresa un nombre para la organización en GitHub, o selecciona Personal Account (Cuenta personal).

  4. Para despliegues de GitHub autoalojadas, selecciona Running GitHub enterprise server (Ejecutar servidor empresarial de GitHub) e introduce la URL de tu instancia de servidor empresarial de GitHub (versión 2.22 o superior). Asegúrate de que los servidores de Datadog puedan conectarse con tu instancia de GitHub. Las direcciones IP de los servidores están disponibles en la sección Webhooks de Rangos de IP.

  5. Opcionalmente, si no quieres utilizar la configuración recomendada de Datadog, amplía Edit GitHub App permissions (Editar permisos de GitHub App) para ver y personalizar los permisos de GitHub que quieres conceder a Datadog. El resumen contiene estas secciones:

    • Funciones de Datadog enumera las funciones generales y específicas del producto en Datadog que requieren permisos específicos de GitHub. Amplía cada función para obtener detalles sobre su funcionalidad y sus requisitos.

    • Permisos de GitHub enumera los permisos de GitHub relacionados. Puedes utilizar los desplegables Access Level (Nivel de acceso) para cambiar la autorización del acceso a aspectos específicos de tu entorno de GitHub.

    Por defecto, Datadog selecciona los permisos recomendados necesarios para todas las funciones relacionadas con el código fuente. Cambiar los permisos afectará a la funcionalidad de las funciones. La sección Datadog Features (Funciones de Datadog) identifica cualquier función no disponible y sus requisitos faltantes.

“Permisos faltantes de Github”

  1. Haz clic en Create App in GitHub (Crear aplicación en GitHub). Si es necesario, se te pedirá que te autentiques en GitHub.
  2. En GitHub, introduce un nombre para tu GitHub App y haz clic en Create GitHub App (Crear GitHub App).
  3. Elige si quieres instalar la GitHub App para All repositories (Todos los repositorios) o Only select repositories (Solo los repositorios seleccionados) y, a continuación, haz clic en Install & Authorize (Instalar y autorizar).

Cuando termines de instalar la aplicación de GitHub, volverás al punto donde lo dejaste en Datadog. Para activar fragmentos de código en línea en APM, considera configurar la integración del código source (fuente).

Actualizar una GitHub App existente

Si una GitHub App instalada no tiene los permisos o webhooks necesarios para una función, Datadog indica los requisitos que faltan en la pestaña Configuration (Configuración) de la página de la integración. Esta alerta también aparece en otras áreas de Datadog en las que puedes activar y utilizar funciones con tecnología GitHub, como Test Optimization.

Para actualizar tu GitHub App con los requisitos que faltan de la página de la integración:

  1. Haz clic en Review Missing Requirements (Revisar los requisitos que faltan).
  2. Selecciona las funciones de Datadog deseadas. La lista solo incluye las funciones a las que les faltan requisitos.
  3. A medida que selecciones cada función, ten en cuenta los Repository Permissions (Permisos de repositorio), los Organization Permissions (Permisos de organización) o los Webhooks específicos que se indican en el siguiente paso de las instrucciones.
  4. Haz clic en Go to GitHub App Settings (Ir a los parámetros de GitHub App) y autentícate con GitHub.
  5. En GitHub, actualiza los permisos y webhooks necesarios. Revisa las instrucciones en Datadog, si es necesario.
  6. Asegúrate de hacer clic en Save changes (Guardar cambios), en la parte inferior de la página en GitHub.
  7. Datadog intentará verificar que hayas realizado los cambios correctamente. Vuelve a Datadog para confirmar que la verificación se aprobó con una marca de verificación verde. Si sólo necesitas actualizar los webhooks, puedes cerrar las instrucciones y detenerte aquí.

Si actualizaste los permisos

  1. Haz clic en Accept New Permissions (Aceptar nuevos permisos) para volver a GitHub y aceptar los cambios en los permisos.

  2. En GitHub, haz clic en Review request (Revisar solicitud) y acepta los nuevos permisos.

  3. Datadog intentará verificar que tus nuevos permisos hayan sido aceptados con éxito. Vuelve a Datadog para confirmar que la verificación se aprobó con una marca de verificación verde y, a continuación, cierra las instrucciones.

    Permisos de cambio

Notebooks

Si has concedido a tu aplicación de GitHub permisos de lectura para incidencias y solicitudes de cambios, las incidencias y solicitudes de cambios de GitHub generan automáticamente una ventana emergente de previsualización con detalles que incluyen el historial de confirmaciones, el autor y la fecha en Notebooks.

  1. Ve a Notebooks > New Notebook (Notebooks > Notebook nuevo).
  2. Añade una celda Text (Textp) y menciona una incidente o una solicitud pull en GitHub en el campo Editar (Editar). Por ejemplo: https://github.com/project/repository/pull/#.
  3. Haz clic en Done (Listo). Aparecerá el icono de GitHub junto al incidente o la solicitud pull vinculada.
  4. Si es necesario, haz clic en Connect to Preview (Conectar a Vista Previa) y Authorize (Autorizar).
  5. Coloca el cursor sobre la solicitud pull o problema vinculado para ver la vista previa de la descripción.

Notebooks

Conecta GitHub Teams a Datadog Teams

Para vincular GitHub Teams a Datadog Teams , tu aplicación de GitHub debe tener el permiso Miembros leen. En el ícono de integración de GitHub, haz clic en Review Missing Requirements (Revisar los requisitos que faltan) y selecciona Link GitHub Teams (Vincular GitHub Teams) para ver cómo actualizar tu aplicación de GitHub con los permisos necesarios.

Cuando tu aplicación de GitHub tenga el permiso Miembros leen, puedes vincular tu equipo de Datadog a un equipo de GitHub:

  1. En Datadog, ve a Organization Settings (Configuración de la organización) > Teams.
  2. Selecciona el equipo Datadog que desees vincular.
  3. En la page (página) del equipo, haz clic en Settings (Configuración).
  4. Selecciona GitHub Connection (Connection (conexión) con GitHub).
  5. Selecciona el equipo de GitHub que desees vincular.

La connection (conexión) de GitHub Teams a Datadog Teams mejora las siguientes funciones:

Logs de auditoría

Requirement (Requisito): Se requiere una cuenta de GitHub Enterprise para recopilar logs de auditoría.

Los logs de auditoría abarcan todas las actividades y eventos de una organización de GitHub. Sigue las instrucciones de configuración de streaming a Datadog en la documentación de GitHub para reenviar tus logs de auditoría a Datadog. Para obtener más información sobre los logs de auditoría, consulta la documentación de GitHub para acciones de logs de auditoría.

Datos de telemetría

  1. Configura una aplicación siguiendo las instrucciones de la sección GitHub Apps.
  2. Selecciona los permisos respectivos para el acceso de lectura durante la instalación de la aplicación.
  3. Ve a la pestaña Telemetry (Telemetría) en el cuadro de Datadog.
  4. Activar Code Scan Alert (Alerta de análisis de código) o Secret Scan Alerts (Alerta de análisis de secretos). Datos telemétricos

Para excluir las métricas Análisis de códigos o Análisis de secretos:_

  1. Busca la organización correspondiente en la pestaña Telemetry (Telemetría) del cuadro de la integración.
  2. Haz clic en el conmutador de las secciones correspondientes.
  3. Haz clic en Update Account (Actualizar cuenta).

Eventos de repositorio

Prerequisite (Requisito previo): debes ser un administrador de Github de tu repositorio.

En GitHub

  1. Haz clic en la página Settings (Parámetros) de tu proyecto de GitHub.

  2. Haz clic en Webhooks en la sección Code, vplanning automation (Código, planificación de la automatización).

  3. Haz clic en Add Webhook (Añadir webhook).

  4. Añade la siguiente URL en el campo Payload URL (URL de carga útil): https:///intake/webhook/github?api_key=<DATADOG_API_KEY>. No olvides sustituir <DATADOG_API_KEY> por tu clave de la API de Datadog . Esto también se puede generar en el ícono.

  5. Selecciona application/json en el menú desplegable Content type (Tipo de contenido).

  6. De manera opcional, añade un secreto en el campo Secret (Secreto).

  7. Asegúrate de que la casilla Active está seleccionada.

  8. Haz clic en Add Webhook (Añadir webhook).

    “Configuración de Github Webhook

  9. En la sección Which events would you like to trigger this webhook? (¿Qué eventos deseas que activen este webhook?), haz clic en Let me select individual events (Déjame seleccionar eventos individuales). Selecciona eventos de entre las siguientes opciones compatibles para enviar eventos a Datadog:

  • creación de rama o etiqueta
  • eliminación de rama o etiqueta
  • reglas de protección de ramas
  • comentarios de commits
  • commits
  • alertas de dependabot
  • comentarios del incidente
  • incidentes
  • afiliación *Only for Organizations* (Solo para organizaciones)
  • comentarios de revisión de solicitudes pull
  • solicitudes pull
  • envíos
  • repositorios
  • alertas de vulnerabilidad de repositorios
  • consultoría de seguridad
  • agregado de equipos
  • cambios de visibilidad

Nota Si seleccionas un evento que no figura en la lista anterior, Datadog no lo recibirá.

Configurar la integración de eventos de Github

Después de configurar el webhook en GitHub, configura qué repositorios y eventos monitorizar en Datadog.

  1. Ve al ícono de integración de GitHub en Datadog.

  2. Haz clic en la pestaña Events (Eventos).

  3. En la sección Repository Configuration (Configuración del repositorio):

    • Introduce el nombre o los nombres de los repositorios que desees monitorizar.
    • Formato: organization/repository (por ejemplo, Datadog/documentation)
    • Para varios repositorios:
      • Utiliza comodines: Datadog/* monitoriza todos los repositorios de la organización de Datadog.
      • Enumera repositorios específicos: Datadog/documentation, Datadog/integrations-core.
  4. En la sección Branch Configuration (Configuración de la rama):

    • Introduce el nombre o los nombres de las ramas que quieres monitorizar.
    • Ejemplos:
      • Una sola rama: main
      • Varias ramas: main, develop
      • Utiliza comodines: feature/* monitoriza todas las ramas de funciones.
      • Patrón común: dev-* monitoriza todas las ramas de desarrollo.
  5. En la sección Event Types (Tipos de eventos):

    • Selecciona Commits para realizar un seguimiento de los cambios en el código.
    • Selecciona Issues (Incidentes) para monitorizar actividad de incidentes.
    • Ambos pueden seleccionarse para un control exhaustivo
  6. Haz clic en Update Configuration (Actualizar configuración) para guardar la configuración.

Después de la configuración, puedes ver los eventos de tu repositorio en Explorer de eventos:

  • Filtra eventos utilizando source (fuente):github.
  • Utiliza el menú de facetas fuente en Core para filtrar los eventos de GitHub.
  • El flujo de eventos se actualiza en tiempo real a medida que se producen nuevos eventos.

Nota: Los eventos pueden tardar unos minutos en empezar a aparecer luego de la configuración inicial.

Datos recopilados

Recopila datos procesables derivados de logs de auditoría, análisis de código, análisis de secretos y métricas de repositorio de GitHub. Estos datos de telemetría permitirán a tus equipos de ingeniería comprender las tendencias de los workflows / procesos (generic) y eventos de seguridad. Esta integración también recopila eventos de repositorios.

  • Visualiza y realiza un seguimiento de la actividad de los repositorios, de los eventos de auditoría y de tu estado de alerta general.
  • Configura monitores en repositorios específicos para asegurarte de que tu equipo realiza un seguimiento de todas las nuevas alertas de análisis de código y dirígelas directamente a Slack o Jira para tomar medidas inmediatas.
  • Protege tu organización de GitHub de las amenazas utilizando Cloud SIEM de Datadog para detectar señales que puedan indicar actividades sospechosas.

Para empezar a ingerir estos datos, sigue las instrucciones de la pestaña Telemetría después de instalar la aplicación de GitHub de Datadog.

Métricas

Esta integración recopila las siguientes métricas:

  • Alertas de análisis de código: Recopila métricas relacionadas con los distintos tipos de alertas de análisis de código y realiza un seguimiento de sus tendencias a lo largo del tiempo.

  • Alertas de análisis de secretos: Recopila métricas a medida que se detectan alertas de análisis de secretos y monitoriza cómo se resuelven.

Estas métricas proporcionan una información general del estado de las alertas de la organización clasificando su estado, repositorio y tipo de secreto. También proporcionan información a largo plazo sobre las tendencias de las alertas y su progreso general.

Checks de servicio

La integración de GitHub no incluye checks de servicio.

Eventos

Esta integración utiliza webhooks para recopilar eventos del repositorio, que puedes ver en Explorer de eventos.

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con asistencia técnica de Datadog.

Referencias adicionales