diff --git a/content/es/account_management/billing/pricing.md b/content/es/account_management/billing/pricing.md index e9cf1ca110d..b377b71ba0e 100644 --- a/content/es/account_management/billing/pricing.md +++ b/content/es/account_management/billing/pricing.md @@ -1,109 +1,108 @@ --- -description: Comprender los modelos de precios de Datadog y los cálculos de facturación - de varios productos, incluidos Infrastructure Monitoring, APM, Logs y Synthetic - Monitoring Tests. +description: Entienda los modelos de precios de Datadog y los cálculos de facturación + para varios productos, incluyendo Infrastructure Monitoring, APM, Logs y Synthetic + Tests. further_reading: - link: https://www.datadoghq.com/pricing tag: Precios text: Precios de Datadog title: Precios --- +Datadog tiene muchos planes de precios para adaptarse a sus necesidades. Para más información, consulte la página de [Precios][1]. A menos que se indique lo contrario en su pedido, Datadog calcula las tarifas basadas en el uso del producto durante cada mes calendario. Aquí están las unidades de precios más comunes: -Datadog ofrece varios planes de precios que se adaptan a tus necesidades. Para obtener más información, consulta la página de [precios][1]. Salvo que indiques lo contrario en tu pedido, el precio que te cobra Datadog se calcula en función del uso que haces del producto durante cada mes calendario. Las unidades de tarificación más comunes son: +## Infrastructure Monitoring {#infrastructure-monitoring} -## Monitorización de la infraestructura +* Un **host** es una instancia de sistema operativo físico o virtual. Cada hora, Datadog registra el número de hosts únicos que está monitoreando en el servicio de Infraestructura. + * En un plan de alta marca de agua (HWMP), el conteo facturable de hosts se calcula al final del mes utilizando el conteo máximo (marca de agua alta) del 99 por ciento inferior de uso durante esas horas. Datadog excluye el 1 por ciento superior para reducir el impacto de los picos de uso en su factura. + * En un plan híbrido mensual/hora (MHP), Datadog cobra su compromiso mensual mínimo, y por cualquier hora de host por encima de ese compromiso, Datadog cobra una tarifa por hora. +* Un **contenedor** es un entorno operativo autónomo que incluye software de aplicación y bibliotecas y configuraciones limitadas del sistema operativo. Cada cinco minutos, Datadog registra el número de contenedores únicos que está monitoreando en el servicio de Infraestructura de Datadog. Datadog cobra mensualmente basado en las horas fraccionarias de contenedores monitoreados. +* Una [**métrica personalizada**][2] es una combinación única y singular de un nombre de métrica, ID de host y cualquier etiqueta. Datadog cobra basado en el promedio mensual de métricas personalizadas únicas enviadas por hora al servicio de Infraestructura de Datadog. +* Un **dispositivo** es un sensor físico que comprende una o más computadoras de placa única en un marco. Datadog registra y cobra por el número de dispositivos y hosts que está monitoreando simultáneamente en el servicio de Infraestructura de Datadog. +* Una tarea de AWS **Fargate** es una colección de contenedores configurados a través de la plataforma de orquestación de contenedores ECS de AWS. Datadog registra el número de instancias de tarea que está monitoreando en el servicio de Infraestructura (o APM) de Datadog en intervalos de cinco minutos. Datadog agrega las mediciones basadas en intervalos al final del mes y le cobra según el número total de horas que sus aplicaciones estuvieron en funcionamiento y monitoreadas. -* Un **host** es una instancia de sistema operativo físico o virtual. Cada hora, Datadog registra el número de hosts únicos que estás monitorizando en el servicio de la infraestructura. - * En un plan de marca de agua alta (HWMP), el recuento facturable de hosts se calcula al final del mes utilizando el recuento máximo (marca de agua alta) del 99% inferior del consumo de esas horas. Datadog excluye el 1% superior para reducir el impacto de los picos de consumo en tu factura. - * Con un plan híbrido mensual/hora (MHP), Datadog cobra por el compromiso mensual mínimo que seleccionas y aplica una tarifa horaria por cada hora de host que supera ese compromiso. -* Un **contenedor** es un entorno operativo autónomo que incluye software de aplicación, además de bibliotecas y configuraciones del sistema operativo limitadas. Cada cinco minutos, Datadog registra el número de contenedores únicos que estás monitorizando en el servicio de la infraestructura de Datadog. Cada mes, Datadog te cobra en función del número de horas proporcionales dedicadas a la monitorización de tus contenedores. -* Una [**métrica personalizada**][2] es una combinación única de un nombre de métrica, un ID de host y cualquier etiqueta (tag). Datadog te cobra en función del promedio mensual de métricas personalizadas únicas, enviadas al servicio de la infraestructura de Datadog por hora. -* Un **dispositivo** es un sensor físico que incluye uno o más ordenadores monoplaca en un solo gabinete. Datadog registra y cobra en función del número de dispositivos y hosts que estás monitorizando de forma simultánea en el servicio de la infraestructura de Datadog. -* Una **tarea de Fargate** de AWS es una recopilación de contenedores configurados a través de la plataforma de orquestación de contenedores ECS de AWS. Datadog registra cada cinco minutos el número de instancias de tareas que estás monitorizando en el servicio Infrastructure (o APM) de Datadog. Datadog suma estas mediciones a final de mes y cobra en función del número total de horas que tus aplicaciones se estuvieron ejecutando y monitorizando. +## APM {#apm} -## APM +* Si una aplicación que se ejecuta en un host (definido en [Infrastructure Monitoring](#infrastructure-monitoring)) genera trazas y las envía a la aplicación SaaS de Datadog, Datadog cuenta ese host como un **APM host**. + * En un plan de alta marca de agua (HWMP), Datadog mide la cantidad de hosts por hora. El conteo facturable de hosts se calcula al final del mes utilizando el conteo máximo (marca de agua alta) del 99 por ciento inferior de uso durante esas horas. Datadog excluye el 1 por ciento superior para reducir el impacto de los picos de uso en su factura. + * En un plan híbrido mensual/hora (MHP), Datadog cobra su compromiso mensual mínimo, y por cualquier hora de host por encima de ese compromiso, Datadog cobra una tarifa por hora. +* Un **tramo indexado** es una solicitud individual contra un servicio individual en su pila. Datadog cobra según el número total de tramos indexados por [filtros de retención][3] dentro de Datadog APM. +* Un **tramo ingerido** es una solicitud individual contra un servicio individual en su pila. Datadog cobra según el número total de gigabytes de tramos ingeridos en Datadog APM. -* Si una aplicación que se ejecuta en un host (definido en la [monitorización de la infraestructura](#infrastructure-monitoring)) genera trazas (traces) y las envía a la aplicación Datadog SaaS, Datadog contabiliza ese host como un **host de APM**. - * En un plan de marca de agua alta (HWMP), Datadog mide el recuento de hosts cada hora. El recuento facturable de hosts se calcula al final del mes utilizando el recuento máximo (marca de agua alta) del 99% inferior del uso durante esas horas. Datadog excluye el 1% superior para reducir el impacto de los picos de consumo en tu factura. - * Con un plan híbrido mensual/hora (MHP), Datadog cobra por el compromiso mensual mínimo que seleccionas y aplica una tarifa horaria por cada hora de host que supera ese compromiso. -* Un **tramo indexado** es una solicitud individual realizada a un servicio individual de tu stack. Datadog cobra en función del número total de tramos indexados con [filtros de retención][3] en el servicio APM de Datadog. -* Un **tramo ingerido** es una solicitud individual realizada a un servicio individual de tu stack. Datadog cobra en función del número total de gigabytes de tramos ingeridos en APM de Datadog. +Puede implementar controles tanto para volúmenes de tramos indexados como ingeridos. Para más información, lea la documentación de [Ingesta de traza][4] y [Retención][5]. -Puedes establecer sistemas de control tanto para los volúmenes de tramos indexados como para los de ingeridos. Para obtener más información, consulta la documentación sobre [Ingesta de trazas][4] y [Retención][5]. +## Database Monitoring {#database-monitoring} -## Database Monitoring +* Datadog registra el número de hosts de base de datos únicos que está monitoreando con Database Monitoring de Datadog cada hora. + * En un plan de alta marca de agua (HWMP), el conteo facturable de hosts se calcula al final del mes utilizando el conteo máximo (marca de agua alta) del 99 por ciento inferior de uso durante esas horas. Datadog excluye el 1 por ciento superior para reducir el impacto de los picos de uso en su factura. + * En un plan híbrido mensual/hora (MHP), Datadog cobra su compromiso mensual mínimo, y por cualquier hora de host por encima de ese compromiso, Datadog cobra una tarifa por hora. +* Datadog cobra según el número total de [consultas normalizadas][6] configuradas que se están siguiendo en cualquier momento. -* Datadog registra cada hora el número de hosts de bases de datos únicos que estás monitorizando con la herramienta de monitorización de bases de datos de Datadog. - * En un plan de marca de agua alta (HWMP), el recuento facturable de hosts se calcula al final del mes utilizando el recuento máximo (marca de agua alta) del 99% inferior del consumo de esas horas. Datadog excluye el 1% superior para reducir el impacto de los picos de consumo en tu factura. - * Con un plan híbrido mensual/hora (MHP), Datadog cobra por el compromiso mensual mínimo que seleccionas y aplica una tarifa horaria por cada hora de host que supera ese compromiso. -* Datadog cobra en función del número total de [consultas normalizadas][6] configuradas que se rastrean en un momento dado. +## Log Management {#log-management} -## Gestión de logs +* Un **registro** es un registro basado en texto de la actividad generada por un sistema operativo, una aplicación o por otras fuentes. Datadog cobra por los registros ingeridos en función del número total de gigabytes enviados al servicio de Logs de Datadog. +* Un **evento de registro** es un registro que es indexado por el servicio de Logs de Datadog. Datadog cobra por cada millón de eventos de registro enviados para indexación a la tarifa designada para la política de retención que seleccionó. -* Un **log** es un registro basado en texto de la actividad generada por un sistema operativo, una aplicación u otra fuente. Datadog cobra por los logs ingeridos en función del número total de gigabytes enviados al servicio de logs de Datadog. -* Un **evento de log** es un log indexado por el servicio de logs de Datadog. Datadog cobra por cada millón de eventos de logs enviados para su indexación al precio establecido en la política de retención que hayas elegido. +## Cloud SIEM {#cloud-siem} -## Cloud SIEM +* Un **registro analizado** es un registro en texto de la actividad generada por un sistema operativo, una aplicación o por otras fuentes analizadas para detectar posibles amenazas de seguridad. Datadog cobra por los registros analizados en función de los millones de eventos por mes analizados por el servicio Cloud SIEM de Datadog. -* Un **log analizado** es un registro basado en texto de la actividad generada por un sistema operativo, una aplicación o por otras fuentes analizadas para detectar posibles amenazas a la seguridad. Datadog cobra por los logs analizados en función de los millones de eventos al mes analizados por el servicio Datadog Cloud SIEM. +## Synthetic Monitoring {#synthetic-monitoring} -## Monitorización Synthetic +* Una **prueba de API** es una solicitud HTTP o HTTPS contra una única URL. Datadog cobra por cada diez mil ejecuciones de pruebas de API realizadas en el servicio Synthetic Monitoring de Datadog. +* Una **prueba de navegador** es una simulación de una secuencia de acciones de usuario guionadas en una aplicación web utilizando un navegador web virtualizado. Datadog cobra por cada mil pruebas de navegador ejecutadas en el Synthetic Monitoring de Datadog. + servicio. -* Un **test de API** es una solicitud HTTP o HTTPS a través de una única URL. Datadog cobra por cada diez mil tests de API ejecutados al servicio de monitorización Synthetic de Datadog. -* Un **test de navegador** permite simular una secuencia de comandos de acciones de usuario en una aplicación web utilizando un navegador web virtualizado. Datadog cobra por cada mil tests de navegador ejecutados al servicio de monitorización Synthetic - de Datadog. +## Cloud Network Monitoring {#cloud-network-monitoring} -## Monitorización de redes en la nube +* Datadog registra el número de **hosts de Cloud Network Monitoring** (CNM) que está monitoreando simultáneamente con el servicio CNM de Datadog una vez por hora. + * El conteo facturable de hosts se calcula al final del mes utilizando el conteo máximo (marca de agua alta) del 99 por ciento inferior de uso durante esas horas. Datadog excluye el 1 por ciento superior para reducir el impacto de los picos de uso en su factura. +* Además, Datadog mide el número total de flujos utilizados por todos los hosts de CNM por mes. Un **flujo** es un registro del tráfico enviado y recibido entre una fuente (IP:Puerto) y un destino (IP:Puerto), medido durante un período de cinco minutos. -* Datadog registra el número de hosts de **Monitorización de red en la nube** (CNM) que estás monitorizando simultáneamente con el servicio de CNM de Datadog una vez por hora. - * El recuento facturable de hosts se calcula al final del mes utilizando el recuento máximo (marca de agua alta) del 99% inferior del consumo de esas horas. Datadog excluye el 1% superior para reducir el impacto de los picos de consumo en tu factura. -* Además, Datadog mide el número total de flujos utilizados por todos los hosts de CNM al mes. Un **flujo** es un registro del tráfico enviado y recibido entre un origen (IP:Puerto) y un destino (IP:Puerto), medido en un periodo de tiempo de cinco minutos. +## Real User Monitoring {#real-user-monitoring} -## Real User Monitoring +* Una **sesión** es un recorrido del usuario en su aplicación web. Expira después de 15 minutos de inactividad o 4 horas de actividad continua. -* Una **sesión** es un recorrido del usuario en tu aplicación web. Expira tras 15 minutos de inactividad o 4 horas de actividad continua. +* Datadog recopila todas las páginas visitadas por sus usuarios finales junto con la telemetría que importa: carga de recursos (XHRs, imágenes, archivos CSS, scripts JS, etc.), errores en el frontend y tareas largas. Todo esto está incluido en la sesión del usuario. Datadog cobra por cada mil (1,000) sesiones ingeridas en el servicio de RUM (Real User Monitoring) de Datadog con la siguiente distinción: -* Datadog recopila todas las páginas visitadas por tus usuarios finales junto con la telemetría que importa: carga de recursos (XHRs, imágenes, archivos CSS, scripts JS, etc), errores de frontend y tareas largas. Todo ello se incluye en la sesión de usuario. Datadog cobra por cada mil (1000) sesiones ingestadas en el servicio Datadog Real User Monitoring (RUM) con la siguiente distinción: +- [RUM Measure][10]: Se le cobra por las sesiones que se rastrean mediante el SDK y enviadas a Datadog. +- [RUM without Limits][11]: Se le cobra por separado según el volumen de sesiones que fluyen del SDK a Datadog y el volumen de sesiones que mantiene después de los filtros de retención. -- [Medida RUM][10]: se te cobran las sesiones rastreadas por kit de desarrollo de software (SDK) y enviadas a Datadog. -- [RUM without Limits][11]: se te cobra por separado en función del volumen de sesiones que fluyen desde el kit de desarrollo de software (SDK) a Datadog, y del volumen de sesiones que mantienes después de los filtros de retención. +## Continuous Profiler {#continuous-profiler} -## Continuous Profiler +* Datadog registra el número de servidores únicos de Continuous Profiler que se están monitoreando simultáneamente con el servicio de Continuous Profiler de Datadog una vez por hora. + * El conteo facturable de servidores se calcula al final del mes utilizando el conteo máximo (marca de agua alta) del 99 por ciento inferior de uso durante esas horas. Datadog excluye el 1 por ciento superior para reducir el impacto de los picos de uso en su factura. + * Cada servidor puede tener hasta cuatro contenedores perfilados de forma gratuita. Los contenedores adicionales se cobran a $2 por contenedor. + **Nota**: Esta asignación se agrega a nivel global en todos los servidores, por lo que, si en promedio tiene cuatro contenedores en total, no se le cobra como si tuviera más en cada servidor. +* Datadog mide el número total de contenedores que están siendo perfilados. Un contenedor es un entorno operativo autónomo que incluye software de aplicación y bibliotecas y configuraciones limitadas del sistema operativo. Cada cinco minutos, Datadog registra el número de contenedores únicos que se están monitoreando en el servicio Continuous Profiler de Datadog. Datadog cobra mensualmente basado en las horas fraccionarias de contenedores monitoreados. Para Continuous Profiler, Datadog solo cuenta para el total de contenedores monitoreados aquellos que están ejecutando el servicio de Continuous Profiler. -* Datadog registra una vez por hora el número de hosts únicos de Continuous Profiler que estás monitorizando de forma simultánea con el servicio Continuous Profiler de Datadog. - * El recuento facturable de hosts se calcula al final del mes utilizando el recuento máximo (marca de agua alta) del 99% inferior del consumo de esas horas. Datadog excluye el 1% superior para reducir el impacto de los picos de consumo en tu factura. - * Cada host incluye hasta cuatro contenedores perfilados de forma gratuita. Cada contenedor adicional cuesta 2 $. - **Nota**: Esta cuota se acumula para todos los hosts. Si tienes un promedio de cuatro contenedores en todos tus hosts, no se te cobrará si en algún host tienes contenedores adicionales. -* Datadog mide el número total de contenedores que están siendo perfilados. Un contenedor es un entorno operativo autónomo que incluye software de aplicación y bibliotecas y configuraciones del sistema operativo limitadas. Una vez cada cinco minutos, Datadog registra el número de contenedores únicos que estás monitorizando en el servicio Continuous Profiler de Datadog. Cada mes, Datadog cobra en función del número de horas que dedica a la monitorización de tus contenedores, calculado de forma proporcional. Para Continuous Profiler, Datadog solo contabiliza aquellos contenedores que ejecutan el servicio Continuous Profiler en el recuento total de contenedores monitorizados. +## Incident Management {#incident-management} -## Gestión de incidencias +* Para organizaciones en un plan basado en asientos, Datadog cobra según el compromiso de asientos de su organización. +* Para organizaciones en el plan legado basado en uso, Datadog rastrea el número de usuarios activos mensuales de Incident Management. + * Datadog cuenta a un usuario como un **usuario activo** si ha utilizado las capacidades de Datadog para contribuir de manera sustantiva a la respuesta a incidentes. Por ejemplo, usted se convierte en un usuario activo durante el mes cuando: + * Actualice el estado, la gravedad u otros campos de un incidente + * Comente en la línea de tiempo del incidente + * Envíe notificaciones de incidentes + * Agregue respondedores o asigne tipos de respondedores + * Cree, modifique o asigne seguimientos de incidentes + * Genere un postmortem + * _No se convierte en un usuario activo cuando:_ + * Declare, visualice o busque incidentes + * Únase a canales, reuniones o llamadas de terceros que estén conectados al incidente + * Publique mensajes en el canal de Slack del incidente o en el canal de Microsoft Teams (incluso si el mensaje se sincroniza automáticamente con la línea de tiempo del incidente) -* Para las organizaciones con un plan basado en el número de plazas, Datadog cobra en función del número de plazas comprometidas por la organización. -* En el caso de las organizaciones con el antiguo plan basado en el uso, Datadog realiza un seguimiento del número de usuarios activos mensuales de Incident Management. - * Datadog cuenta a un usuario como **usuario activo** si ha utilizado las funciones de Datadog para contribuir sustancialmente a la respuesta ante incidentes. Por ejemplo, te conviertes en un usuario activo para el mes al: - * Actualizar el estado, la gravedad u otros campos del incidente - * Comentar la cronología del incidente - * Enviar notificaciones del incidente - * Añadir respondedores o asignar tipos de respondedores - * Crear, modificar o asignar seguimientos del incidente) - * Generar un informe retrospectivo - * _No_ te conviertes en usuario activo cuando: - * Declarar, visualizar o buscar incidentes - * Unirse a canales, reuniones o llamadas de terceros que estén conectados al incidente - * Publicar mensajes en el canal de Slack del incidente o en el canal de Microsoft Teams (incluso si el mensaje se sincroniza automáticamente con la cronología del incidente). +## CI Visibility {#ci-visibility} -## CI Visibility +* Datadog rastrea el número de contribuyentes únicos que envían datos de prueba y de pipeline al servicio CI Visibility. +* Un **contribuyente** se define como un contribuyente activo de git, identificado por su dirección de correo electrónico de autor de git. Un contribuyente se cuenta para la facturación si realiza al menos tres confirmaciones en un mes determinado. + * En el caso de que un pipeline no esté asociado con un repositorio de git, o si los metadatos de git no están disponibles, se utiliza el nombre de usuario de la persona que activa la ejecución del pipeline como el contribuyente facturable. +* Para Pipeline Visibility, cada pipeline, etapa de pipeline y trabajo de pipeline cuenta como un **span de pipeline**. Para Testing Visibility, cada ejecución de prueba individual cuenta como un **span de prueba**. -* Datadog rastrea el número de responsables de commit únicos que envían datos de tests y pipelines al servicio CI Visibility. -* Un **responsable de commit** es un desarrollador git activo, identificado por su dirección de correo electrónico git. Un responsable de commit se contabiliza a efectos de facturación si realiza al menos tres commits en un mes determinado. - * Si un pipeline no está asociado a un repositorio git, o los metadatos git no están disponibles, se utilizará como responsable de commit facturable el nombre de usuario de la persona que activó la ejecución del pipeline. -* Con respecto a la visibilidad del pipeline, cada pipeline, cada fase del pipeline y cada tarea del pipeline se contabiliza como un **tramo de pipeline**. En lo que respecta a la visibilidad de los tests, cada ejecución de test se contabiliza como un **tramo de test**. +## Solución de problemas {#troubleshooting} -## Solucionar problemas +Para preguntas técnicas, contacte a [Datadog support][7]. -Si tienes alguna pregunta técnica, ponte en contacto con el [equipo de asistencia de Datadog][7]. - -Contacta con [ventas][8] o con tu gestor de [satisfacción al cliente][9] para informarte sobre los precios por hora o la facturación de tu cuenta. +Contacte a [Sales][8] o a su [Customer Success][9] Manager para discutir precios por hora o facturación de su cuenta. [1]: https://www.datadoghq.com/pricing [2]: /es/metrics/custom_metrics/ diff --git a/content/es/account_management/saml/_index.md b/content/es/account_management/saml/_index.md index bd5790ae389..45af470a310 100644 --- a/content/es/account_management/saml/_index.md +++ b/content/es/account_management/saml/_index.md @@ -4,187 +4,145 @@ algolia: - saml aliases: - /es/guides/saml -description: Configura la autenticación SAML para Datadog con proveedores de identidad +description: Configure la autenticación SAML para Datadog con proveedores de identidad como Active Directory, Auth0, Google, Okta y Microsoft Entra ID para un inicio de sesión único seguro. further_reading: - link: /account_management/multi_organization/ tag: Documentación - text: Configurar equipos y organizaciones con varias cuentas -title: Inicio de sesión único con SAML + text: Configurando Teams y Organizaciones con Múltiples Cuentas +title: Inicio de Sesión Único con SAML --- -{{< site-region region="gov" >}} -
El sitio Datadog for Government solo admite el inicio de sesión SAML.
+{{< site-region region="gov,gov2" >}} +
El sitio de Datadog para Gobierno solo admite inicio de sesión SAML.
{{< /site-region >}} -## Información general +## Descripción general {#overview} -La configuración de [SAML (Security Assertion Markup Language)][1] para tu cuenta Datadog te permite a ti y a todos tus compañeros de equipo iniciar sesión en Datadog utilizando las credenciales almacenadas en Active Directory, LDAP u otro almacén de identidades de tu organización que se haya configurado con un proveedor de identidades SAML. +Configurar [SAML (Security Assertion Markup Language)][1] para su cuenta de Datadog permite que usted y todos sus compañeros inicien sesión en Datadog utilizando las credenciales almacenadas en el Active Directory de su organización, LDAP u otro almacén de identidad que haya sido configurado con un Proveedor de Identidad SAML. **Notas**: {{% site-region region="us,us3,us5,eu,ap1,ap2" %}} -- Si no tienes SAML activado en tu cuenta de Datadog, ponte en contacto con el [servicio de asistencia][2] para activarlo. -- Esta documentación asume que ya tienes un proveedor de identidad (IdP) SAML. Si no tienes un IdP SAML, hay varios IdP que tienen integraciones con Datadog como [Active Directory][3], [Auth0][4], [Google][5], [LastPass][6], [Microsoft Entra ID][3], [Okta][7] y [SafeNet][8]. -- La configuración de SAML requiere acceso a [Datadog Administrator][9]. +- Si no tiene SAML habilitado en su cuenta de Datadog, contacte a [soporte][2] para habilitarlo. {{% /site-region %}} +- Esta documentación asume que ya tiene un Proveedor de Identidad SAML (IdP). Si no tiene un IdP SAML, hay varios IdPs que tienen integraciones con Datadog, como [Active Directory][3], [Auth0][4], [Google][5], [LastPass][6], [Microsoft Entra ID][3], [Okta][7] y [SafeNet][8]. +- La configuración de SAML requiere acceso de [Datadog Administrator][9]. -{{% site-region region="gov" %}} -- Esta documentación asume que ya tienes un proveedor de identidad (IdP) SAML. Si no tienes un IdP SAML, hay varios IdP que tienen integraciones con Datadog, como [Active Directory][3], [Auth0][4], [Google][5], [LastPass][6], [Microsoft Entra ID][3], [Okta][7] y [SafeNet][8]. -- La configuración de SAML requiere acceso a [Datadog Administrator][9]. -{{% /site-region %}} - -## Configuración de SAML - -1. Para comenzar la configuración, consulta la documentación de tu IdP: - - * [Active Directory][10] - * [Auth0][11] - * [Google][13] - * [Microsoft Entra ID][12] - * [NoPassword][14] - * [Okta][15] - * [SafeNet][16] - -2. En la aplicación Datadog, coloca el cursor sobre tu nombre de usuario en la esquina inferior izquierda y selecciona Organization Settings (Parámetros de la organización). Selecciona [Login Methods (Métodos de inicio de sesión)][17] y haz clic en **Configure** (Configurar) en SAML. - -3. Carga los metadatos de IdP de tu proveedor de identidad SAML haciendo clic en el botón **Choose File** (Seleccionar archivo). Después de elegir el archivo, haz clic en **Upload File** (Cargar archivo). - -**Nota:** Los metadatos de IdP deben contener únicamente caracteres ASCII. - -4. Descarga [metadatos del proveedor de servicios][18] de Datadog para configurar tu IdP de modo que reconozca a Datadog como proveedor de servicios. - -5. Después de cargar los metadatos IdP y configurar su IdP, active SAML en Datadog haciendo clic en el botón **Cargar y activar**. - {{< img src="account_management/saml/saml_enable_cropped.png" alt="Configurar SAML cargando los metadatos de tu IdP" >}} - -6. Después de cargar los metadatos de IdP, vuelve a la página Login Methods (Métodos de inicio de sesión) y activa SAML `on` por defecto. +## Configuración de SAML {#configuring-saml} -**Nota**: Para configurar SAML para varias organizaciones, consulta [Gestión de cuentas de varias organizaciones][21]. +Consulte [Configurar el inicio de sesión único con SAML][2] para obtener instrucciones. -## Uso de SAML +## Uso de SAML {#using-saml} -Una vez que SAML está configurado en Datadog y tu IdP está configurado para aceptar solicitudes de Datadog, los usuarios pueden acceder a log. +Después de que SAML esté configurado en Datadog y su IdP esté configurado para aceptar solicitudes de Datadog, los usuarios pueden iniciar sesión. -### Inicio de sesión por el PS +### Inicio de sesión iniciado por SP {#sp-initiated-login} -Iniciado por el PS o por el Proveedor de servicio se refiere a un inicio de sesión iniciado desde Datadog. Los usuarios inician sesión a través de la **URL de inicio de sesión único** mostrada en el cuadro de estado en la parte superior de la [página Configuración de SAML][19]. La **URL de inicio de sesión único** también se muestra en la [página Equipo][20]. Al cargar esta URL se inicia una autenticación SAML con tu IdP. **Nota**: Esta URL solo se muestra si SAML está habilitado para tu cuenta y estás utilizando el inicio de sesión iniciado por el PS. +SP-initiated, o iniciado por el Proveedor de Servicios, significa que el inicio de sesión se realiza desde Datadog. Los usuarios inician sesión a través del {{< ui >}}Single Sign-on URL{{< /ui >}} que se muestra en el cuadro de estado en la parte superior de la [SAML Configuration page][4]. Cargar esta URL inicia una autenticación SAML contra su IdP. **Nota**: Esta URL solo se muestra si SAML está habilitado para su cuenta y está utilizando inicio de sesión iniciado por SP. {{< img src="account_management/saml/saml_enabled_cropped.png" alt="Confirmación de que SAML está habilitado" >}} -Cuando un usuario inicia sesión a través de SAML iniciado por el PS y la organización no tiene un subdominio personalizado, Datadog requiere seguridad adicional. Los usuarios reciben un único código de verificación por correo electrónico que es necesario para iniciar la sesión. +Cuando un usuario inicia sesión a través de SAML iniciado por SP y la organización no tiene un subdominio personalizado, Datadog requiere seguridad adicional. Los usuarios reciben un código de verificación por correo electrónico de un solo uso que es necesario para iniciar sesión. -### Inicio de sesión iniciado por el IdP +### Inicio de sesión iniciado por IdP {#idp-initiated-login} -Iniciado por el IdP o por el Proveedor de identidad se refiere a un inicio de sesión iniciado desde tu portal de aplicaciones. Los usuarios inician sesión haciendo clic en el icono de la aplicación en tu portal de aplicaciones, por ejemplo, en el cajón de Google App o en el portal de aplicaciones de Okta. Los usuarios con inicio de sesión iniciado por el PS también pueden utilizar el inicio de sesión iniciado por el IdP, dependiendo de la configuración de su proveedor de identidad. +IdP-initiated, o iniciado por el Proveedor de Identidad, significa que el inicio de sesión se realiza desde el portal de su aplicación. Los usuarios inician sesión haciendo clic en el ícono de la app en su app portal, por ejemplo, en el Google App drawer o en el Okta App Portal. Los usuarios de inicio de sesión iniciado por SP también pueden utilizar el inicio de sesión iniciado por IdP, dependiendo de la configuración de su Proveedor de Identidad. -## Aserciones y atributos +## Afirmaciones y Atributos {#assertions-and-attributes} -Cuando se produce un inicio de sesión, el proveedor de identidad envía a Datadog una aserción SAML que contiene la autorización del usuario. +Cuando ocurre un inicio de sesión, una Afirmación SAML que contiene la autorización del usuario se envía desde el proveedor de identidad a Datadog. -### Capacidades +### Capacidades {#capabilities} -* Datadog soporta el enlace **HTTP-POST** para **SAML2**: +* Datadog admite el enlace **HTTP-POST** para **SAML2**: `urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST`. -* Datadog especifica `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress` para el formato del **NameIDPolicy** en solicitudes de aserción. +* Datadog especifica `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress` para el formato de la **NameIDPolicy** en las solicitudes de afirmación. -### Requisitos +### Requisitos {#requirements} -* Las aserciones deben estar firmadas. -* Las aserciones pueden estar cifradas, pero se aceptan aserciones sin cifrar. -* Consulta los [metadatos de proveedores de servicios de Datadog][18] para obtener más información. Debes iniciar sesión en Datadog para acceder al archivo. +* Las Afirmaciones deben estar firmadas. +* Las Afirmaciones pueden estar encriptadas, pero se aceptan Afirmaciones no encriptadas. +* Referencia [metadatos del Proveedor de Servicio de Datadog][3] para más información. Debe haber iniciado sesión en Datadog para acceder al archivo. -### Atributos compatibles +### Atributos Soportados {#supported-attributes} -Es posible incluir atributos en una aserción SAML. Datadog busca tres atributos en un `AttributeStatement`: +Los atributos pueden incluirse en una afirmación SAML. Datadog busca tres atributos en un `AttributeStatement`: - 1. **eduPersonPrincipalName**: Si se especifica, el eduPersonPrincipalName debe corresponder al nombre de usuario del usuario Datadog. El nombre de usuario suele ser la dirección de correo electrónico del usuario. - 2. **sn**: Es opcional y debe configurarse con el apellido del usuario. - 3. **givenName**: Es opcional y debe ser el nombre del usuario. + 1. **eduPersonPrincipalName**: Si se especifica, el eduPersonPrincipalName debe corresponder al nombre de usuario de Datadog del usuario. El nombre de usuario es típicamente la dirección de correo electrónico del usuario. + 2. **sn**: Esto es opcional y debe establecerse como el apellido del usuario. + 3. **givenName**: Esto es opcional y debe establecerse como el nombre de pila del usuario. -
Para el IdP de Microsoft Entra ID, utiliza el atributo `surname` en lugar de `sn` en la aserción.
+
Para el IdP de Microsoft Entra ID, utilice el atributo `surname` en lugar de `sn` en la afirmación.
-Datadog espera que los atributos utilicen el URI NameFormat `urn:oasis:names:tc:SAML:2.0:attrname-format:uri` o el NameFormat básico `urn:oasis:names:tc:SAML:2.0:attrname-format:basic`. El nombre utilizado para cada atributo depende del NameFormat que utilice tu IdP. +Datadog espera que los atributos usen el URI NameFormat `urn:oasis:names:tc:SAML:2.0:attrname-format:uri` o el Basic NameFormat `urn:oasis:names:tc:SAML:2.0:attrname-format:basic`. El nombre utilizado para cada atributo depende del NameFormat que utiliza su IdP. -Si tu IdP está configurado para utilizar el URI NameFormat `urn:oasis:names:tc:SAML:2.0:attrname-format:uri`: +Si su IdP está configurado para usar el URI NameFormat `urn:oasis:names:tc:SAML:2.0:attrname-format:uri`: - 1. **eduPersonPrincipalName**: el IdP debe establecer `urn:oid:1.3.6.1.4.1.5923.1.1.1.6` como nombre del atributo. - 2. **sn**: el IdP debe establecer `urn:oid:2.5.4.4` como nombre del atributo. - 3. **givenName**: el IdP debe establecer `urn:oid:2.5.4.42` como nombre del atributo. + 1. **eduPersonPrincipalName**: El IdP debe establecer `urn:oid:1.3.6.1.4.1.5923.1.1.1.6` como el nombre del atributo. + 2. **sn**: El IdP debe establecer `urn:oid:2.5.4.4` como el nombre del atributo. + 3. **givenName**: El IdP debe establecer `urn:oid:2.5.4.42` como el nombre del atributo. -Si tu IdP está configurado para utilizar el NameFormat básico `urn:oasis:names:tc:SAML:2.0:attrname-format:basic`: +Si su IdP está configurado para usar el Basic NameFormat `urn:oasis:names:tc:SAML:2.0:attrname-format:basic`: - 1. **eduPersonPrincipalName**: el IdP debe establecer `urn:mace:dir:attribute-def:eduPersonPrincipalName` como nombre del atributo. - 2. **sn**: el IdP debe establecer `urn:mace:dir:attribute-def:sn` como nombre del atributo. - 3. **givenName**: el IdP debe establecer `urn:mace:dir:attribute-def:givenName` como nombre del atributo. + 1. **eduPersonPrincipalName**: El IdP debe establecer `urn:mace:dir:attribute-def:eduPersonPrincipalName` como el nombre del atributo. + 2. **sn**: El IdP debe establecer `urn:mace:dir:attribute-def:sn` como el nombre del atributo. + 3. **givenName**: El IdP debe establecer `urn:mace:dir:attribute-def:givenName` como el nombre del atributo. -Si **eduPersonPrincipalName** existe en el AttributeStatement, el valor de este atributo se utiliza para el nombre de usuario. Si **eduPersonPrincipalName** no está incluido en el AttributeStatement, el nombre de usuario se toma del NameID en el Subject. El NameID debe utilizar el formato `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`. +Si **eduPersonPrincipalName** existe en el AttributeStatement, el valor de este atributo se utiliza para el nombre de usuario. Si **eduPersonPrincipalName** no está incluido en el AttributeStatement, el nombre de usuario se toma del NameID en el Subject. El NameID debe usar el formato `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`. -Si se proporcionan **sn** y **givenName**, se utilizan para actualizar el nombre del usuario en su perfil de Datadog. +Si **sn** y **givenName** son proporcionados, se utilizan para actualizar el nombre del usuario en su perfil de Datadog. -## Funciones adicionales +## Características adicionales {#additional-features} -Para asignar atributos en la respuesta de tu proveedor de identidad a los roles y equipos de Datadog, consulta [asignación de grupo SAML][22]. +Para mapear atributos en la respuesta de su proveedor de identidad a los roles y Teams de Datadog, consulte [mapeo de grupos SAML][5]. -Las siguientes funciones pueden activarse a través del [cuadro de diálogo de configuración de SAML][19]: +Las siguientes características se pueden habilitar a través del [SAML Configuration dialog][4]: -**Nota:** Debes tener permisos de administrador para ver el cuadro de diálogo de configuración de SAML. +**Nota:** Debe tener permisos de administrador para ver el SAML Configuration dialog. -### Suministro justo a tiempo (JIT) +### Provisionamiento justo a tiempo (JIT) {#just-in-time-jit-provisioning} -Con el suministro JIT, un usuario se crea en Datadog la primera vez que intenta iniciar sesión. Esto elimina la necesidad de que los administradores creen manualmente las cuentas de usuario una a la vez. En este caso, no se envía el correo electrónico de invitación. +Con el provisionamiento JIT, un usuario se crea dentro de Datadog la primera vez que intenta iniciar sesión. Esto elimina la necesidad de que los administradores creen cuentas de usuario manualmente una por una. El correo electrónico de invitación no se envía en este caso. -Es posible que algunas organizaciones no deseen invitar a todos sus usuarios a Datadog. Si deseas realizar cambios en el funcionamiento de SAML para tu cuenta, ponte en contacto con el [soporte de Datadog][2]. Depende de la organización configurar que su IdP no envíe aserciones a Datadog si no desea que un usuario concreto acceda a Datadog. +Algunas organizaciones pueden no querer invitar a todos sus usuarios a Datadog. Si desea realizar cambios en cómo funciona SAML para su cuenta, comuníquese con [Datadog support][2]. Corresponde a la organización configurar su IdP para que no envíe afirmaciones a Datadog si no desea que un usuario en particular acceda a Datadog. -Los administradores pueden establecer la función por defecto de los nuevos usuarios JIT. El rol por defecto es **Standard** (Estándar), pero puedes elegir añadir nuevos usuarios JIT como **Read-Only** (Solo lectura), **Administrators** (Administradores) o cualquier rol personalizado. +Los administradores pueden establecer el rol predeterminado para nuevos usuarios JIT. El rol predeterminado es {{< ui >}}Standard{{< /ui >}}, pero puede optar por agregar nuevos usuarios JIT como {{< ui >}}Read-Only{{< /ui >}}, {{< ui >}}Administrators{{< /ui >}} o cualquier rol personalizado.
- Importante: Si Role Mapping está activado, tiene prioridad sobre los roles definidos durante el aprovisionamiento de JIT. Sin las sentencias de atributo de grupo adecuadas, los usuarios podrían quedarse sin roles y perder el acceso a Datadog. Para evitar que los usuarios queden bloqueados tras el aprovisionamiento de JIT, asegúrate de revisar las definiciones de asignación y comprobar las aserciones antes de habilitar tanto las asignaciones como JIT. + Importante: Si el mapeo de roles está habilitado, tiene prioridad sobre los roles establecidos durante el provisionamiento JIT. Sin las declaraciones de atributo de grupo adecuadas, los usuarios pueden terminar sin roles y perder el acceso a Datadog. Para evitar que los usuarios queden bloqueados después del provisionamiento JIT, asegúrese de revisar sus definiciones de mapeo y verificar sus afirmaciones antes de habilitar tanto los Mapeos como JIT.
-{{< img src="account_management/saml/saml_jit_default.png" alt="saml JIT predeterminado" style="width:50%;" >}} +{{< img src="account_management/saml/saml_jit_default.png" alt="SAML JIT Predeterminado" style="width:50%;" >}} -### Inicio de sesión iniciado por IdP +### Inicio de sesión iniciado por IdP {#idp-initiated-login-1} -Cuando se carga la URL de Datadog, el navegador es redirigido al IdP del cliente donde el usuario introduce sus credenciales, después el IdP lo redirige de nuevo a Datadog. Algunos IdP tienen la capacidad de enviar una aserción directamente a Datadog sin obtener primero una AuthnRequest (inicio de sesión iniciado por el IdP). +Cuando se carga la URL de Datadog, el navegador es redirigido al IdP del cliente donde el usuario introduce sus credenciales, luego el IdP redirige de vuelta a Datadog. Algunos IdP tienen la capacidad de enviar una aserción directamente a Datadog sin primero obtener una AuthnRequest (inicio de sesión iniciado por el IdP). -Tras activar la función de inicio de sesión iniciado por el IdP y guardar tu configuración, puedes descargar la última versión de los metadatos del proveedor de servicio (SP) para tu proveedor de identidades. Tus nuevos metadatos SP contienen un endpoint `AssertionConsumerService` diferente y específico de la organización al que enviar aserciones. +Después de habilitar la función de inicio de sesión iniciado por el IdP y guardar su configuración, puede descargar la última versión de los metadatos del Proveedor de Servicios (SP) para su Proveedor de Identidad. Sus nuevos metadatos de SP contienen un punto de conexión específico de la organización `AssertionConsumerService` para enviar aserciones. -Si no utilizas los metadatos del SP actualizados, Datadog no podrá asociar la aserción con tu organización y mostrará una página de error con el mensaje de que a la respuesta SAML le falta el atributo "InResponseTo". +Si no utiliza los metadatos de SP actualizados, Datadog no podrá asociar la aserción con su organización y mostrará una página de error con un mensaje que indica que a la respuesta SAML le falta el atributo "InResponseTo". -### SAML estricto +### SAML estricto {#saml-strict} -Puedes hacer que tu organización sea SAML Strict deshabilitando otros tipos de métodos de inicio de sesión en la interfaz de usuario **Login Methods** (Métodos de inicio de sesión). Cuando se configura esta opción, todos los usuarios deben, por defecto, iniciar sesión con SAML. Un nombre de usuario/contraseña existente o un inicio de sesión Google OAuth no funcionan. Esto garantiza que todos los usuarios con acceso a Datadog deben tener credenciales válidas en el servicio de proveedor/directorio de identidad de tu empresa para acceder a tu cuenta Datadog. Los administradores de la organización pueden establecer [overrides (anulaciones)][23] por usuario para permitir que determinados usuarios estén exentos de SAML Strict. +Puede hacer que su organización sea SAML estricto deshabilitando otros tipos de métodos de inicio de sesión en la UI {{< ui >}}Login Methods{{< /ui >}}. Cuando esta opción está configurada, todos los usuarios deben, por defecto, iniciar sesión con SAML. Un nombre de usuario y contraseña existentes, o el inicio de sesión de Google OAuth, no funcionan. Esto asegura que todos los usuarios con acceso a Datadog deben tener credenciales válidas en el proveedor de identidad o servicio de directorio de su empresa para acceder a su cuenta de Datadog. Los administradores de la organización pueden establecer [excepciones][6] por usuario para permitir que ciertos usuarios estén exentos de SAML Estricto. -### Metadatos del SP de Datadog autoactualizables +### Metadatos de SP de Datadog autoactualizables {#self-updating-datadog-sp-metadata} -Algunos proveedores de identidades (como ADFS de Microsoft) pueden configurarse para obtener los últimos metadatos del proveedor de servicio SAML de Datadog. Después de configurar SAML en Datadog, puedes obtener la URL de metadatos para tu organización de la página configuración de SAML y utilizarla con tu Proveedor de identidades para obtener los últimos metadatos del proveedor de servicio cada vez que se publiquen cambios. +Ciertos Proveedores de Identidad (como ADFS de Microsoft) pueden configurarse para obtener los últimos metadatos del proveedor de servicios SAML de Datadog. Después de configurar SAML en Datadog, puede obtener la URL de metadatos para su organización desde la página de Configuración de SAML y usarla con su Proveedor de Identidad para obtener los últimos metadatos del proveedor de servicios cada vez que se publiquen cambios. -{{< img src="account_management/saml/saml_metadata_url.png" alt="URL de metadatos de SAML" style="width:50%;" >}} +{{< img src="account_management/saml/saml_metadata_url.png" alt="URL de Metadatos SAML" style="width:50%;" >}} -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language -[2]: /es/help/ -[3]: https://learn.microsoft.com/en-us/entra/architecture/auth-saml -[4]: https://auth0.com/docs/protocols/saml-protocol -[5]: https://cloud.google.com/architecture/identity/single-sign-on -[6]: https://support.logmeininc.com/lastpass/help/lastpass-admin-toolkit-using-single-sign-on-sso +[2]: /es/account_management/saml/configuration +[3]: https://app.datadoghq.com/account/saml/metadata.xml +[4]: https://app.datadoghq.com/organization-settings/login-methods/saml +[5]: /es/account_management/saml/mapping/ +[6]: /es/account_management/login_methods/#reviewing-user-overrides [7]: https://developer.okta.com/docs/concepts/saml/ [8]: https://thalesdocs.com/sta/operator/applications/apps_saml/index.html -[9]: /es/account_management/users/default_roles/ -[10]: /es/account_management/saml/activedirectory/ -[11]: /es/account_management/saml/auth0/ -[12]: /es/account_management/saml/entra/ -[13]: /es/account_management/saml/google/ -[14]: /es/account_management/saml/nopassword/ -[15]: /es/account_management/saml/okta/ -[16]: /es/account_management/saml/safenet/ -[17]: https://app.datadoghq.com/organization-settings/login-methods -[18]: https://app.datadoghq.com/account/saml/metadata.xml -[19]: https://app.datadoghq.com/saml/saml_setup -[20]: https://app.datadoghq.com/account/team -[21]: /es/account_management/multi_organization/#setting-up-saml -[22]: /es/account_management/saml/mapping/ -[23]: /es/account_management/login_methods/#reviewing-user-overrides \ No newline at end of file +[9]: /es/account_management/users/default_roles/ \ No newline at end of file diff --git a/content/es/agent/configuration/proxy.md b/content/es/agent/configuration/proxy.md index 5d55537620f..43869b71b16 100644 --- a/content/es/agent/configuration/proxy.md +++ b/content/es/agent/configuration/proxy.md @@ -1,1305 +1,111 @@ --- algolia: tags: - - proxy del Agent + - agent proxy aliases: - /es/account_management/faq/can-i-use-a-proxy-to-connect-my-servers-to-datadog/ - /es/agent/proxy +description: Configure el Datadog Agent para enviar tráfico a través de proxies HTTP/HTTPS, + con opciones de autenticación y de omisión. further_reading: - link: /logs/ tag: Documentación - text: Recopilar logs + text: Recopile sus registros - link: /infrastructure/process/ tag: Documentación - text: Recopilar procesos + text: Recopile sus procesos - link: /tracing/ tag: Documentación - text: Recopilar trazas (traces) y perfiles -- link: /agent/configuration/agent-fips-proxy + text: Recopile sus trazas y perfiles +- link: /agent/configuration/fips-compliance tag: Documentación text: Cumplimiento de FIPS de Datadog -title: Configuración del proxy del Agent +title: Configuración del Proxy del Agente de Datadog --- +Puede configurar el Datadog Agent para enviar tráfico a través de un proxy HTTP/HTTPS. Un proxy se utiliza típicamente para enviar tráfico desde un servidor que no está conectado directamente a la Internet pública. -## Información general +## Configure el Datadog Agent {#configure-the-datadog-agent} -Si tu configuración de red restringe el tráfico de salida, redirige mediante proxy todo el tráfico del Agent a través de uno o varios hosts que tengan políticas de salida más permisivas. +Hay dos opciones para configurar el Datadog Agent para usar un proxy. +- Puede usar el archivo de configuración del Datadog Agent. +- Puede usar variables de entorno. Las variables de entorno anulan la configuración del archivo de configuración. -En el caso de los hosts que no están directamente conectados a Internet, se puede enviar tráfico a Datadog a través de SSL/TLS de las siguientes maneras: +### Archivo de configuración {#configuration-file} -1. Mediante un proxy web, como Squid o Microsoft Web Proxy, que ya se haya desplegado en tu red -2. Mediante HAProxy (en caso de que quieras redirigir **más de 16 a 20 Agents** a través del mismo proxy) -3. Mediante el Agent como un proxy (para **un máximo de 16 Agents** por proxy y **solo con el Agent v5**) - -## Cumplimiento de FIPS - -Para obtener información sobre la configuración de Datadog Agent FIPS Proxy con el Datadog Agent, consulta el [cumplimiento de FIPS de Datadog][1]. El FIPS proxy solo se encuentra disponible en la región US1-FED. El Datadog Agent FIPS Proxy no se puede utilizar junto con un proxy normal. - -## Proxy web - -Para obtener información específica sobre Squid, consulta la sección [Squid](#squid) de esta página. - -El Agent es compatible de forma nativa con los proxies web tradicionales. Si necesitas conectarte a Internet mediante un proxy, edita tu archivo de configuración del Agent. - -**Agent v6 y v7** - -Configura varios servidores proxy para solicitudes `https` y `http` en tu archivo de configuración `datadog.yaml` del Agent. El Agent utiliza `https` para enviar datos a Datadog, pero es probable que las integraciones utilicen `http` para recopilar métricas. Independientemente de las solicitudes que se redirijan mediante proxy, puedes activar el protocolo SSL en tu servidor proxy. A continuación, te mostramos algunos ejemplos de configuración que pueden servirte para tu archivo `datadog.yaml`. - -
-Si se encuentra habilitada la recopilación de logs, asegúrate de exigir un transporte específico. -Se recomienda utilizar HTTPS. En ese caso, el <HOST>:<PORT> que se utiliza para redirigir mediante proxy las métricas también se utilizará para redirigir los logs. -Si utilizas el transporte TCP, consulta la sección Proxy TCP para logs. -
- -Cómo configurar un proxy HTTP para todas las solicitudes `https`: - -```yaml -proxy: - https: "http://:" -``` - -Nota: Cuando se configura un proxy HTTP para solicitudes `https`, se cifra de forma integral la comunicación entre el Agent y Datadog con TLS de tal forma que el proxy no pueda descifrarla. La única comunicación que no se cifra es la solicitud `HTTP CONNECT` que realizan el Agent y el proxy para establecer la conexión TCP inicial entre el Agent y Datadog. Por tanto, cuando se utiliza un proxy para solicitudes `https`, no es necesario utilizar un proxy HTTPS para cifrar la comunicación entre el Agent y Datadog. - -Cómo configurar un proxy HTTPS para las solicitudes `https` y `http`: - -```yaml -proxy: - https: "https://:" - http: "https://:" -``` - -Cómo configurar un `` y `` a fin de contactar con el servidor proxy para las solicitudes `https` y `http`: +Para configurar un proxy mediante un archivo de configuración, edite o agregue la sección `proxy` al archivo de configuración principal del Datadog Agent (`datadog.yaml`) y luego [reinicie el Datadog Agent][1]. ```yaml proxy: - https: "http://:@:" - http: "http://:@:" -``` - -Cómo utilizar la lista `no_proxy` para especificar los hosts que deben omitir el proxy: - -```yaml -proxy: - https: "http://:@:" - http: "http://:@:" - no_proxy: - - host1 - - host2 -``` - -**Nota**: Todas las integraciones que realicen solicitudes HTTP(S) adoptarán por defecto la configuración del proxy que se define en el archivo de configuración `datadog.yaml` si no se especifica otra en la integración. Si no estás de acuerdo con esto, establece `skip_proxy` en true o `use_agent_proxy` en false en la configuración de cada instancia o en la reserva `init_config` de tu integración. - -##### Valores aceptados NO_PROXY - -Por defecto, `no_proxy`/`NO_PROXY` debe figurar tal cual en los endpoints de las solicitudes HTTP(S) del Agent (excepto en aquellas realizadas por integraciones del Agent). Se recomienda habilitar `no_proxy_nonexact_match` para que el Agent se ajuste a los valores `NO_PROXY` siguiendo las mismas reglas (consúltalas más abajo) que se utilizan en las integraciones del Agent. - -```yaml + # Required: Proxy endpoint for HTTP connections + http: http://:@: + # Required: Proxy endpoint for HTTPS connections (most Datadog traffic) + https: http://:@: + + # Optional: List of hosts or CIDR ranges to bypass the proxy + # Example: + # no_proxy: + # - 192.168.0.0/24 + # - localhost + # - .myinternaldomain.com + no_proxy: + - + - + +# Recommended: Set to true to ensure no_proxy behaves in a standard way no_proxy_nonexact_match: true -``` - -Las siguientes reglas se aplican a las integraciones del Agent (y a todo el Agent cuando `no_proxy_nonexact_match` se encuentra habilitado): -* El nombre de un dominio coincide con ese nombre y con todos los subdominios. Por ejemplo: - - `datadoghq.com` coincide con `app.agent.datadoghq.com`, `www.datadoghq.com` y `datadoghq.com`, pero **no** con `www.notdatadoghq.com` - - `datadoghq` coincide con `frontend.datadoghq` y `backend.datadoghq`, pero **no** con `www.datadoghq.com` ni `www.datadoghq.eu` -* El nombre de un dominio con un «.» inicial solo coincide con los subdominios. Por ejemplo: - - `.datadoghq.com` coincide con `app.agent.datadoghq.com`y `www.datadoghq.com`, pero **no** con `datadoghq.com` -* Un intervalo CIDR coincide con una dirección IP de la subred. Por ejemplo: - - `192.168.1.0/24` coincide con el intervalo de IP `192.168.1.1` mediante `192.168.1.254` -* Una dirección IP exacta. Por ejemplo: - - `169.254.169.254` -* Un nombre de host. Por ejemplo: - - `webserver1` - -#### Variables de entorno - -A partir del Agent v6.4, puedes ajustar la configuración de tu proxy mediante variables de entorno: - -* `DD_PROXY_HTTPS`: establece un servidor proxy para solicitudes `https`. -* `DD_PROXY_HTTP`: establece un servidor proxy para solicitudes `http`. -* `DD_PROXY_NO_PROXY`: establece una lista de hosts que deben omitir el proxy. Los elementos de la lista se separan entre sí con espacios. - -Las variables de entorno tienen precedencia sobre los valores del archivo `datadog.yaml`. Si las variables de entorno presentan un valor vacío, como ``DD_PROXY_HTTP=""``, el Agent utilizará los valores vacíos en lugar de otras opciones secundarias. - -En los hosts de Unix, existe la posibilidad de definir un proxy para todo el sistema mediante variables de entorno estándar, como `HTTPS_PROXY`, `HTTP_PROXY` y `NO_PROXY`. El Agent las utilizará siempre que estén presentes. Sin embargo, debes tener cuidado, ya que estas variables también influirán en las solicitudes de las integraciones, incluido las de orquestadores como Docker, ECS y Kubernetes. - -El Agent utiliza los siguientes valores en orden de precedencia: - -1. Variables de entorno `DD_PROXY_HTTPS`, `DD_PROXY_HTTP` y `DD_PROXY_NO_PROXY` -2. Variables de entorno `HTTPS_PROXY`, `HTTP_PROXY`, y `NO_PROXY` -3. Valores en `datadog.yaml` - -**Agent v5** - -
-El <HOST>:<PORT> que se utiliza para redirigir mediante proxy las métricas NO se utilizará para redirigir los logs. Consulta la página Proxy para logs. -
- -Edita el archivo `datadog.conf` con la información de tu proxy: - -```text -# If you need a proxy to connect to the Internet, provide the settings here -proxy_host: my-proxy.example.com -proxy_port: 3128 -proxy_user: my_user -proxy_password: my_password -``` - -No olvides [reiniciar el Agent][2] para que se aplique la configuración nueva. - -### Squid - -[Squid][3] es un proxy de reenvío para la web compatible con HTTP, HTTPS y FTP, entre otros protocolos. Funciona en la mayoría de los sistemas operativos disponibles, incluido Windows, y cuenta con la autorización de la Licencia Pública General de GNU. Squid es una opción sencilla si aún no tienes ningún proxy web configurado en tu red. - -#### Reenvío mediante proxy con Squid - -##### Configurar Squid solo para enviar tráfico a Datadog - -Instala Squid en un host que tenga conectividad tanto con tus Agents internos como con Datadog. Utiliza el gestor de paquetes de tu sistema operativo o instala el software directamente desde la [página de proyectos de Squid][3]. - -Para configurar Squid, edita el archivo de configuración. Por lo general, este archivo se encuentra en `/etc/squid/squid.conf` en Linux o en `C:\squid\etc\squid.conf` en Windows. - -Edita tu archivo de configuración `squid.conf` para que Squid pueda aceptar tráfico local y reenviarlo a las ingestas necesarias de Datadog: - -```conf -http_port 0.0.0.0:3128 - -acl local src 127.0.0.1/32 - -acl Datadog dstdomain .{{< region-param key="dd_site" >}} - -http_access allow Datadog -http_access allow local manager -``` - -##### Iniciar Squid - -Inicia (o reinicia) Squid para que se apliquen tus configuraciones nuevas. - -{{< tabs >}} -{{% tab "Linux" %}} - -```bash -sudo systemctl start squid -``` - -Si Squid ya se está ejecutando, es mejor reiniciarlo con el siguiente comando: - -```bash -sudo systemctl restart squid -``` - -{{% /tab %}} -{{% tab "Windows" %}} - -Si vas a configurar Squid en Windows, primero debes [configurarlo como un servicio del sistema][1]. Luego, puedes ejecutar lo siguiente en un símbolo del sistema de administrador: - -```bash -net start squid -``` - -Si Squid ya se está ejecutando, es mejor reiniciarlo con los siguientes comandos: - -```bash -net stop squid -net start squid -``` - -[1]: https://wiki.squid-cache.org/KnowledgeBase/Windows -{{% /tab %}} -{{< /tabs >}} - -##### Configuración del Datadog Agent - -**Agent v6 y v7** - -Modifica el archivo de configuración del Agent (`datadog.yaml`) para incluir lo siguiente: - -```yaml -proxy: - http: http://127.0.0.1:3128 - https: http://127.0.0.1:3128 -``` - -Después de guardar estos cambios, [reinicia el Agent][2]. - -Consulta la [información general de tu infraestructura][4] para verificar que Datadog puede recibir datos de tus Agents. - -**Agent v5** - -Modifica el archivo de configuración del Agent (`datadog.conf`) para incluir lo siguiente: - -```conf -proxy_host: 127.0.0.1 -proxy_port: 3128 -``` - -Después de guardar estos cambios, [reinicia el Agent][2]. - -Consulta la [información general de tu infraestructura][4] para verificar que Datadog puede recibir datos de tus Agents. - -## HAProxy - -[HAProxy][4] es una solución gratuita, rápida y fiable que ofrece conexiones proxy para aplicaciones TCP y HTTP. A pesar de que HAProxy suele utilizarse como un equilibrador de carga para distribuir las solicitudes entrantes hacia servidores de grupo, también puedes utilizarlo para redirigir mediante proxy el tráfico del Agent a Datadog desde hosts que no tengan conectividad externa: - -`agent ---> haproxy ---> Datadog` - -Se trata de otra opción recomendable si no tienes un proxy web de fácil acceso disponible en tu red y quieres redirigir mediante proxy una gran cantidad de Agents. En algunos casos, basta una sola instancia de HAProxy para gestionar todo el tráfico de Agents local de tu red, dado que cada proxy puede distribuir más de 1000 Agents. - -**Nota**: Esta cifra es una estimación conservadora basada, específicamente, en el rendimiento de instancias `m3.xl`. Existe una gran cantidad de variables relacionadas con redes y hosts que pueden alterar el funcionamiento de HAProxy, por lo que deberías supervisar el despliegue de tu proxy tanto antes como después de ponerlo en marcha. Para más información, consulta la [documentación sobre HAProxy][5]. - -La comunicación entre HAProxy y Datadog se cifra siempre con TLS. No obstante, la comunicación entre el host del Agent y el host de HAProxy no se cifra por defecto, dado que se parte del principio de que el proxy y el Agent se encuentran en el mismo host. Si el host de HAProxy y el host del Agent no comparten la misma red local aislada, te recomendamos proteger dicha comunicación con el cifrado TLS. -Para cifrar datos entre el Agent y HAProxy, será necesario que crees un certificado x509 con la extensión de nombre alternativo del firmante (SAN) del host de HAProxy. Lo normal es que este paquete de certificados (*.pem) contenga tanto el certificado público como la clave privada. Para más información, consulta esta [entrada del blog de HAProxy][6]. - - -**Nota**: Descarga el certificado de Datadog con uno de los siguientes comandos: - -```shell -sudo apt-get install ca-certificates # (Debian, Ubuntu) -yum install ca-certificates # (CentOS, Red Hat) -``` - -La ruta hacia el certificado es `/etc/ssl/certs/ca-certificates.crt` en el caso de Debian y Ubuntu, o `/etc/ssl/certs/ca-bundle.crt` en el caso de CentOS y Red Hat. - -### Reenvío mediante proxy con HAProxy - -#### Configuración de HAProxy - -HAProxy se debe instalar en un host que tenga conectividad con Datadog. Puedes utilizar uno de los siguientes archivos de configuración si aún no lo tienes configurado. La configuración depende del servicio y sitio de Datadog. Para ver las configuraciones basadas en tu [sitio de Datadog][7], utiliza el selector `DATADOG SITE` de la derecha. - -**Nota**: Se recomienda utilizar el archivo de configuración `HTTPS` si el Agent y HAProxy no forman parte de la misma red local aislada. - -##### HTTP - -```conf -# Basic configuration -global - log 127.0.0.1 local0 - maxconn 4096 - stats socket /tmp/haproxy - -# Some sane defaults -defaults - log global - option dontlognull - retries 3 - option redispatch - timeout client 5s - timeout server 5s - timeout connect 5s - -# This declares a view into HAProxy statistics, on port 3833 -# You do not need credentials to view this page and you can -# turn it off once you are done with setup. -listen stats - bind *:3833 - mode http - stats enable - stats uri / - -# This section is to reload DNS Records -# Replace and with your DNS Server IP addresses. -# For HAProxy 1.8 and newer -resolvers my-dns - nameserver dns1 :53 - nameserver dns2 :53 - resolve_retries 3 - timeout resolve 2s - timeout retry 1s - accepted_payload_size 8192 - hold valid 10s - hold obsolete 60s - -# This declares the endpoint where your Agents connects for -# sending metrics (for example, the value of "dd_url"). -frontend metrics-forwarder - bind *:3834 - mode http - option tcplog - default_backend datadog-metrics - - use_backend datadog-api if { path_beg -i /api/v1/validate } - use_backend datadog-flare if { path_beg -i /support/flare/ } - -# This declares the endpoint where your Agents connects for -# sending traces (for example, the value of "endpoint" in the APM -# configuration section). -frontend traces-forwarder - bind *:3835 - mode tcp - option tcplog - default_backend datadog-traces - -# This declares the endpoint where your Agents connects for -# sending profiles (for example, the value of "apm_config.profiling_dd_url"). -frontend profiles-forwarder - bind *:3836 - mode tcp - option tcplog - default_backend datadog-profiles - -# This declares the endpoint where your agents connects for -# sending processes (for example, the value of "url" in the process -# configuration section). -frontend processes-forwarder - bind *:3837 - mode tcp - option tcplog - default_backend datadog-processes - -# This declares the endpoint where your Agents connects for -# sending Logs (e.g the value of "logs.config.logs_dd_url") -# If sending logs with force_use_http: true -frontend logs_http_frontend - bind *:3838 - mode http - option tcplog - default_backend datadog-logs-http - -# If sending logs with force_use_tcp: true -# frontend logs_frontend -# bind *:10514 -# mode tcp -# option tcplog -# default_backend datadog-logs - -# This declares the endpoint where your Agents connects for -# sending database monitoring metrics and activity (e.g the value of "database_monitoring.metrics.dd_url" and "database_monitoring.activity.dd_url") -frontend database_monitoring_metrics_frontend - bind *:3839 - mode http - option tcplog - default_backend datadog-database-monitoring-metrics - -# This declares the endpoint where your Agents connects for -# sending database monitoring samples (e.g the value of "database_monitoring.samples.dd_url") -frontend database_monitoring_samples_frontend - bind *:3840 - mode http - option tcplog - default_backend datadog-database-monitoring-samples - -# This declares the endpoint where your Agents connects for -# sending Network Devices Monitoring metadata (e.g the value of "network_devices.metadata.dd_url") -frontend network_devices_metadata_frontend - bind *:3841 - mode http - option tcplog - default_backend datadog-network-devices-metadata - -# This declares the endpoint where your Agents connects for -# sending Network Devices SNMP Traps data (e.g the value of "network_devices.snmp_traps.forwarder.dd_url") -frontend network_devices_snmp_traps_frontend - bind *:3842 - mode http - option tcplog - default_backend datadog-network-devices-snmp-traps - -# This declares the endpoint where your Agents connect for -# sending Instrumentation Telemetry data (e.g. the value of "apm_config.telemetry.dd_url") -frontend instrumentation_telemetry_data_frontend - bind *:3843 - mode tcp - option tcplog - default_backend datadog-instrumentations-telemetry - -# This declares the endpoint where your Agents connects for -# sending Network Devices Monitoring NetFlow flows (for example, the value of "network_devices.netflow.dd_url") -frontend network_devices_netflow_frontend - bind *:3845 - mode http - option tcplog - default_backend datadog-network-devices-netflow - -# This declares the endpoint where your Agents connects for -# receiving Remote Configurations (for example, the value of "remote_configuration.rc_dd_url") -frontend remote_configuration_frontend - bind *:3846 - mode http - option tcplog - default_backend datadog-remote-configuration - -# This is the Datadog server. In effect, any TCP request coming -# to the forwarder frontends defined above are proxied to -# Datadog's public endpoints. -backend datadog-metrics - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 metrics.agent.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership metrics.agent.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-api - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 api.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership api.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-flare - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 flare.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership flare.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-traces - balance roundrobin - mode tcp - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 trace.agent.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership trace.agent.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-profiles - balance roundrobin - mode tcp - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 intake.profile.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership profile.agent.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-processes - balance roundrobin - mode tcp - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 process.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership process.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-logs-http - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 agent-http-intake.logs.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server datadog agent-http-intake.logs.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-database-monitoring-metrics - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 dbm-metrics-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server datadog agent-http-intake.logs.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-database-monitoring-samples - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 dbquery-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server datadog agent-http-intake.logs.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-network-devices-metadata - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 ndm-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership ndm-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-network-devices-snmp-traps - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 snmp-traps-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership snmp-traps-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-instrumentations-telemetry - balance roundrobin - mode tcp - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 instrumentation-telemetry-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership instrumentation-telemetry-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-network-devices-netflow - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 ndmflow-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership ndmflow-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-remote-configuration - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 config.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership config.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file -``` - -##### HTTPS - -Esta configuración añade el cifrado SSL/TLS a la comunicación entre el Agent y HAProxy. Reemplaza la variable `` por la ruta de acceso al paquete de certificados del proxy (*.pem). - -```conf -# Basic configuration -global - log 127.0.0.1 local0 - maxconn 4096 - stats socket /tmp/haproxy - -# Some sane defaults -defaults - log global - option dontlognull - retries 3 - option redispatch - timeout client 5s - timeout server 5s - timeout connect 5s - -# This declares a view into HAProxy statistics, on port 3833 -# You do not need credentials to view this page and you can -# turn it off once you are done with setup. -listen stats - bind *:3833 - mode http - stats enable - stats uri / - -# This section is to reload DNS Records -# Replace and with your DNS Server IP addresses. -# For HAProxy 1.8 and newer -resolvers my-dns - nameserver dns1 :53 - nameserver dns2 :53 - resolve_retries 3 - timeout resolve 2s - timeout retry 1s - accepted_payload_size 8192 - hold valid 10s - hold obsolete 60s - -# This declares the endpoint where your Agents connect for -# sending metrics (for example, the value of "dd_url"). -frontend metrics-forwarder - bind *:3834 ssl crt - mode http - option tcplog - default_backend datadog-metrics - - use_backend datadog-api if { path_beg -i /api/v1/validate } - use_backend datadog-flare if { path_beg -i /support/flare/ } - -# This declares the endpoint where your Agents connect for -# sending traces (for example, the value of "endpoint" in the APM -# configuration section). -frontend traces-forwarder - bind *:3835 ssl crt - mode tcp - option tcplog - default_backend datadog-traces - -# This declares the endpoint where your Agents connect for -# sending profiles (for example, the value of "apm_config.profiling_dd_url"). -frontend profiles-forwarder - bind *:3836 ssl crt - mode tcp - option tcplog - default_backend datadog-profiles - -# This declares the endpoint where your Agents connect for -# sending processes (for example, the value of "url" in the process -# configuration section). -frontend processes-forwarder - bind *:3837 ssl crt - mode tcp - option tcplog - default_backend datadog-processes - -# This declares the endpoint where your Agents connect for -# sending Logs (e.g the value of "logs.config.logs_dd_url") -# If sending logs with force_use_http: true -frontend logs_http_frontend - bind *:3838 ssl crt - mode http - option tcplog - default_backend datadog-logs-http - -# If sending logs with force_use_tcp: true -# frontend logs_frontend -# bind *:10514 ssl crt -# mode tcp -# option tcplog -# default_backend datadog-logs - -# This declares the endpoint where your Agents connect for -# sending database monitoring metrics and activity (e.g the value of "database_monitoring.metrics.dd_url" and "database_monitoring.activity.dd_url") -frontend database_monitoring_metrics_frontend - bind *:3839 ssl crt - mode http - option tcplog - default_backend datadog-database-monitoring-metrics - -# This declares the endpoint where your Agents connect for -# sending database monitoring samples (e.g the value of "database_monitoring.samples.dd_url") -frontend database_monitoring_samples_frontend - bind *:3840 ssl crt - mode http - option tcplog - default_backend datadog-database-monitoring-samples - -# This declares the endpoint where your Agents connect for -# sending Network Devices Monitoring metadata (e.g the value of "network_devices.metadata.dd_url") -frontend network_devices_metadata_frontend - bind *:3841 ssl crt - mode http - option tcplog - default_backend datadog-network-devices-metadata - -# This declares the endpoint where your Agents connect for -# sending Network Devices SNMP Traps data (e.g the value of "network_devices.snmp_traps.forwarder.dd_url") -frontend network_devices_snmp_traps_frontend - bind *:3842 ssl crt - mode http - option tcplog - default_backend datadog-network-devices-snmp-traps - - -# This declares the endpoint where your Agents connect for -# sending Instrumentation Telemetry data (e.g. the value of "apm_config.telemetry.dd_url") -frontend instrumentation_telemetry_data_frontend - bind *:3843 ssl crt - mode tcp - option tcplog - default_backend datadog-instrumentations-telemetry - -# This declares the endpoint where your Agents connect for -# sending Network Devices Monitoring NetFlow flows (for example, the value of "network_devices.netflow.dd_url") -frontend network_devices_netflow_frontend - bind *:3845 ssl crt - mode http - option tcplog - default_backend datadog-network-devices-netflow - -# This declares the endpoint where your Agents connects for -# receiving Remote Configurations (for example, the value of "remote_configuration.rc_dd_url") -frontend remote_configuration_frontend - bind *:3846 ssl crt - mode http - option tcplog - default_backend datadog-remote-configuration - -# This is the Datadog server. In effect any TCP request coming -# to the forwarder frontends defined above are proxied to -# Datadog's public endpoints. -backend datadog-metrics - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 metrics.agent.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership metrics.agent.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-api - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 api.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership api.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-flare - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 flare.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership flare.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-traces - balance roundrobin - mode tcp - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 trace.agent.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership trace.agent.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-profiles - balance roundrobin - mode tcp - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 intake.profile.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership profile.agent.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-processes - balance roundrobin - mode tcp - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 process.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership process.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-logs-http - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 agent-http-intake.logs.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server datadog agent-http-intake.logs.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-database-monitoring-metrics - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 dbm-metrics-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server datadog agent-http-intake.logs.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-database-monitoring-samples - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 dbquery-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server datadog agent-http-intake.logs.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-network-devices-metadata - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 ndm-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership ndm-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-network-devices-snmp-traps - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 snmp-traps-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership snmp-traps-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-instrumentations-telemetry - balance roundrobin - mode tcp - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 instrumentation-telemetry-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership instrumentation-telemetry-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-network-devices-netflow - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 ndmflow-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership ndmflow-intake.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -backend datadog-remote-configuration - balance roundrobin - mode http - # The following configuration is for HAProxy 1.8 and newer - server-template mothership 5 config.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file check resolvers my-dns init-addr none resolve-prefer ipv4 - # Uncomment the following configuration for older HAProxy versions - # server mothership config.{{< region-param key="dd_site" >}}:443 check port 443 ssl verify required ca-file - -``` - -**Nota**: Puedes utilizar `verify none` en lugar de `verify required ca-file ` si no logras obtener los certificados en el host del proxy, pero ten en cuenta que, en ese caso, HAProxy no podrá verificar el certificado de ingesta de Datadog. - -HAProxy 1.8 y sus versiones posteriores permiten que la detección de servicios DNS identifique los cambios del servidor y los aplique automáticamente en tu configuración. -Si utilizas una versión de HAProxy anterior, tendrás que recargar o reiniciar HAProxy. **Se recomienda tener una versión de HAProxy que recargue una tarea `cron` cada 10 minutos** (como `service haproxy reload`) para forzar la actualización de la caché del DNS de HAProxy en caso de que {{< region-param key="dd_full_site" code="true" >}} cambie a otra IP. - -#### Configuración del Datadog Agent - -**Agent v6 y v7** - -Edita cada Agent para dirigir datos hacia HAProxy al configurar su `dd_url` en la dirección de HAProxy. Ejemplo: `haproxy.example.com`. -Este parámetro `dd_url` se podrá encontrar en el archivo `datadog.yaml`. - -`dd_url: ://haproxy.example.com:3834` - -Reemplaza `` por `https` si optaste por la configuración HTTPS de HAProxy con anterioridad, o bien por `http` si no optaste por HTTPS. - -Para enviar trazas (traces), perfiles, procesos y logs mediante el proxy, efectúa la siguiente configuración en el archivo `datadog.yaml`: - -```yaml -apm_config: - apm_dd_url: ://haproxy.example.com:3835 - profiling_dd_url: ://haproxy.example.com:3836/api/v2/profile - telemetry: - dd_url: ://haproxy.example.com:3843 - -process_config: - process_dd_url: ://haproxy.example.com:3837 +# Recommended: Force the Agent to use HTTP to send logs (if logs is enabled) logs_config: - force_use_http: true - logs_dd_url: haproxy.example.com:3838 - # Comment the line below to use encryption between the Agent and HAProxy - logs_no_ssl: true - -database_monitoring: - metrics: - logs_dd_url: haproxy.example.com:3839 - # Comment the line below to use encryption between the Agent and HAProxy - logs_no_ssl: true - activity: - logs_dd_url: haproxy.example.com:3839 - # Comment the line below to use encryption between the Agent and HAProxy - logs_no_ssl: true - samples: - logs_dd_url: haproxy.example.com:3840 - # Comment the line below to use encryption between the Agent and HAProxy - logs_no_ssl: true - -network_devices: - metadata: - logs_dd_url: haproxy.example.com:3841 - # Comment the line below to use encryption between the Agent and HAProxy - logs_no_ssl: true - snmp_traps: - forwarder: - logs_dd_url: haproxy.example.com:3842 - # Comment the line below to use encryption between the Agent and HAProxy - logs_no_ssl: true - netflow: - forwarder: - logs_dd_url: haproxy.example.com:3845 - # Comment the line below to use encryption between the Agent and HAProxy - logs_no_ssl: true - -remote_configuration: - rc_dd_url: haproxy.example.com:3846 - # Comment the line below to use encryption between the Agent and HAProxy - no_tls: true + force_use_http: true ``` -Cuando se utiliza el cifrado entre el Agent y HAProxy, si el Agent no tiene acceso al certificado del proxy, no puede validarlo o no necesita validarlo, puedes editar el archivo de configuración del Agent `datadog.yaml` y establecer `skip_ssl_validation` como `true`. -Cuando se establece esta opción como `true`, el Agent omite el paso correspondiente a la validación del certificado y no verifica la identidad del proxy, pero se sigue cifrando la comunicación con SSL/TLS. - -```yaml -skip_ssl_validation: true -``` - -Por último, [reinicia el Agent][2]. - -Para verificar que todo funcione de manera adecuada, revisa las estadísticas de HAProxy en `http://haproxy.example.com:3833` y la [información general de la infraestructura][4]. - -**Agent v5** - -Edita cada Agent para dirigir datos hacia HAProxy al configurar su `dd_url` en la dirección de HAProxy. Ejemplo: `haproxy.example.com`. -Este parámetro `dd_url` se podrá encontrar en el archivo `datadog.conf`. - -`dd_url: http://haproxy.example.com:3834` - -Para enviar trazas o procesos mediante el proxy, efectúa la siguiente configuración en el archivo `datadog.conf`: - -```conf -[trace.api] -endpoint = http://haproxy.example.com:3835 - -[process.api] -endpoint = http://haproxy.example.com:3837 -``` +* Reemplace ``, ``, `` y `` con sus credenciales y dirección del proxy. +* Un nombre de usuario y una contraseña son opcionales. +* Especifique `http`, `https` o ambos, dependiendo de la configuración y necesidades de su proxy. La mayoría del tráfico de Datadog utiliza HTTPS. +* Utilice `no_proxy` para especificar los servidores a los que el Datadog Agent debe conectarse directamente, evitando el proxy. +* **[Reinicie el Datadog Agent][1]** para que los cambios surtan efecto. -Edita la configuración del supervisor para deshabilitar la verificación del certificado SSL. Este paso es necesario para que Python no señale la discrepancia entre el nombre de host que figura en el certificado SSL (`app.datadoghq.com`) y tu nombre de host de HAProxy. La configuración del supervisor se encuentra en: +Para obtener más información sobre cómo localizar el archivo de configuración en su sistema operativo, consulte [Archivos de Configuración del Datadog Agent][2]. -* `/etc/dd-agent/supervisor_ddagent.conf` en sistemas basados en Debian -* `/etc/dd-agent/supervisor.conf` en sistemas basados en Red Hat -* `/opt/local/datadog/supervisord/supervisord.conf` en SmartOS -* `/usr/local/etc/datadog/supervisord/supervisord.conf` en FreeBSD -* `~/.datadog-agent/supervisord/supervisord.conf` en macOS +### Variables de entorno {#environment-variables} -Supongamos que el archivo del supervisor se encuentra en `` +Alternativamente, puede configurar un proxy estableciendo las siguientes variables de entorno. Cuando haya terminado, [reinicie el Datadog Agent][1]. ```bash -sed -i 's/ddagent.py/ddagent.py --sslcheck=0/' -``` - -En el Windows Agent, edita tu archivo de configuración `datadog.conf` y añade esta opción: - -```conf -skip_ssl_validation: yes -``` - -Por último, [reinicia el Agent][2]. - -Para verificar que todo funcione de manera adecuada, revisa las estadísticas de HAProxy en `http://haproxy.example.com:3833` y la [información general de la infraestructura][4]. - -## NGINX - -[NGINX][8] es un servidor web que también se puede utilizar como proxy inverso, equilibrador de carga, proxy de correo electrónico y caché HTTP. Asimismo, puedes utilizar NGINX como proxy en tus Datadog Agents: - -`agent ---> nginx ---> Datadog` - -La comunicación entre NGINX y Datadog se cifra siempre con TLS. No obstante, la comunicación entre el host del Agent y el host de NGINX no se cifra por defecto, dado que se parte del principio de que el proxy y el Agent se encuentran en el mismo host. Si no comparten la misma red local aislada, te recomendamos proteger dicha comunicación con el cifrado TLS. -Para cifrar datos entre el Agent y NGINX, será necesario que crees un certificado x509 con la extensión de nombre alternativo del firmante (SAN) del host de NGINX. - -**Nota**: Descarga el certificado de Datadog con uno de los siguientes comandos: - -```shell -sudo apt-get install ca-certificates # (Debian, Ubuntu) -yum install ca-certificates # (CentOS, Red Hat) -``` - -La ruta hacia el certificado es `/etc/ssl/certs/ca-certificates.crt` en el caso de Debian y Ubuntu, o `/etc/ssl/certs/ca-bundle.crt` en el caso de CentOS y Red Hat. - -### Reenvío mediante proxy con NGINX - -#### Configuración de NGINX - -NGINX se debe instalar en un host que tenga conectividad con Datadog. Puedes utilizar uno de los siguientes archivos de configuración si aún no lo tienes configurado. La configuración depende del servicio y sitio de Datadog. Para ver las configuraciones basadas en tu [sitio de Datadog][7], utiliza el selector `DATADOG SITE` de la derecha. - -**Nota**: Se recomienda utilizar el archivo de configuración `HTTPS` si el Agent y NGINX no forman parte de la misma red local aislada. - -##### HTTP - -```conf -user nginx; -worker_processes auto; -error_log /var/log/nginx/error.log; -pid /run/nginx.pid; - -events { - worker_connections 1024; -} -# HTTP Proxy for Datadog Agent -http { - - proxy_ssl_trusted_certificate ; - - server { - listen 3834; #listen for metrics - access_log off; - - location /api/v1/validate { - proxy_ssl_verify on; - proxy_pass https://api.{{< region-param key="dd_site" >}}:443/api/v1/validate; - } - location /support/flare/ { - proxy_ssl_verify on; - proxy_pass https://flare.{{< region-param key="dd_site" >}}:443/support/flare/; - } - location / { - proxy_ssl_verify on; - proxy_pass https://metrics.agent.{{< region-param key="dd_site" >}}:443/; - } - } -} -# TCP Proxy for Datadog Agent -stream { - - proxy_ssl_trusted_certificate ; - - server { - listen 3835; #listen for traces - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass trace.agent.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3836; #listen for profiles - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass intake.profile.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3837; #listen for processes - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass process.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3838; #listen for logs with force_use_http: true - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass agent-http-intake.logs.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3839; #listen for database monitoring metrics - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass dbm-metrics-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3840; #listen for database monitoring samples - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass dbquery-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3841; #listen for network devices metadata - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass ndm-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3842; #listen for network devices traps - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass snmp-traps-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3843; #listen for instrumentations telemetry data - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass instrumentation-telemetry-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3845; #listen for network devices netflow - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass ndmflow-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3846; #listen for Remote Configuration requests - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass config.{{< region-param key="dd_site" >}}:443; - } -} -``` - -##### HTTPS - - -Esta configuración añade el cifrado SSL/TLS a la comunicación entre el Agent y NGINX. Reemplaza `` por la ruta de acceso al certificado público del proxy y `` por la ruta de acceso a la clave privada. - -```conf -user nginx; -worker_processes auto; -error_log /var/log/nginx/error.log; -pid /run/nginx.pid; - -events { - worker_connections 1024; -} -# HTTP Proxy for Datadog Agent -http { - - proxy_ssl_trusted_certificate ; +DD_PROXY_HTTP="http://:@:" +DD_PROXY_HTTPS="http://:@:" - ssl_certificate ; - ssl_certificate_key ; +DD_PROXY_NO_PROXY=" " +DD_NO_PROXY_NONEXACT_MATCH=true - server { - listen 3834 ssl; #listen for metrics - access_log off; - - location /api/v1/validate { - proxy_ssl_verify on; - proxy_pass https://api.{{< region-param key="dd_site" >}}:443/api/v1/validate; - } - location /support/flare/ { - proxy_ssl_verify on; - proxy_pass https://flare.{{< region-param key="dd_site" >}}:443/support/flare/; - } - location / { - proxy_ssl_verify on; - proxy_pass https://metrics.agent.{{< region-param key="dd_site" >}}:443/; - } - } -} -# TCP Proxy for Datadog Agent -stream { - - proxy_ssl_trusted_certificate ; - - ssl_certificate ; - ssl_certificate_key ; - - server { - listen 3835 ssl; #listen for traces - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass trace.agent.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3836 ssl; #listen for profiles - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass intake.profile.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3837 ssl; #listen for processes - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass process.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3838 ssl; #listen for logs with force_use_http: true - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass agent-http-intake.logs.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3839 ssl; #listen for database monitoring metrics - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass dbm-metrics-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3840 ssl; #listen for database monitoring samples - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass dbquery-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3841 ssl; #listen for network devices metadata - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass ndm-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3842 ssl; #listen for network devices traps - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass snmp-traps-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3843 ssl; #listen for instrumentations telemetry data - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass instrumentation-telemetry-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3845 ssl; #listen for network devices netflow - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass ndmflow-intake.{{< region-param key="dd_site" >}}:443; - } - server { - listen 3846 ssl; #listen for Remote Configuration requests - proxy_ssl_verify on; - proxy_ssl on; - proxy_pass config.{{< region-param key="dd_site" >}}:443; - } -} -``` - -**Nota**: Puedes eliminar `proxy_ssl_verify on` si no consigues obtener los certificados en el host del proxy, pero ten en cuenta que, si lo haces, NGINX no podrá verificar el certificado de ingesta de Datadog. - -#### Configuración del Datadog Agent - -Edita el archivo de configuración de cada Agent para dirigir datos hacia NGINX al configurar su `dd_url` en la dirección de NGINX. Ejemplo: `nginx.example.com`. -Este parámetro `dd_url` se podrá encontrar en el archivo `datadog.yaml`. - -`dd_url: "://nginx.example.com:3834"` - -Reemplaza `` por `https` si optaste por la configuración HTTPS de HAProxy con anterioridad, o bien por `http` si no optaste por HTTPS. - -Para enviar trazas, perfiles, procesos y logs mediante el proxy, efectúa la siguiente configuración en el archivo `datadog.yaml`: - -```yaml -apm_config: - apm_dd_url: ://nginx.example.com:3835 - profiling_dd_url: ://nginx.example.com:3836/api/v2/profile - telemetry: - dd_url: ://nginx.example.com:3843 - -process_config: - process_dd_url: ://nginx.example.com:3837 - -logs_config: - force_use_http: true - logs_dd_url: nginx.example.com:3838 - # Comment the line below to use encryption between the Agent and NGINX - logs_no_ssl: true - -database_monitoring: - metrics: - logs_dd_url: nginx.example.com:3839 - # Comment the line below to use encryption between the Agent and NGINX - logs_no_ssl: true - activity: - logs_dd_url: nginx.example.com:3839 - # Comment the line below to use encryption between the Agent and NGINX - logs_no_ssl: true - samples: - logs_dd_url: nginx.example.com:3840 - # Comment the line below to use encryption between the Agent and NGINX - logs_no_ssl: true - -network_devices: - metadata: - logs_dd_url: nginx.example.com:3841 - # Comment the line below to use encryption between the Agent and NGINX - logs_no_ssl: true - snmp_traps: - forwarder: - logs_dd_url: nginx.example.com:3842 - # Comment the line below to use encryption between the Agent and NGINX - logs_no_ssl: true - netflow: - forwarder: - logs_dd_url: nginx.example.com:3845 - # Comment the line below to use encryption between the Agent and NGINX - logs_no_ssl: true - -remote_configuration: - rc_dd_url: nginx.example.com:3846 - # Comment the line below to use encryption between the Agent and NGINX - no_tls: true +DD_LOGS_CONFIG_FORCE_USE_HTTP=true ``` +## Ejemplos de Configuración del Servidor Proxy {#proxy-server-setup-examples} -Cuando se utiliza el cifrado entre el Agent y NGINX, si el Agent no tiene acceso al certificado del proxy, no puede validarlo o no necesita validarlo, puedes editar el archivo de configuración del Agent `datadog.yaml` y establecer `skip_ssl_validation` como `true`. -Cuando se establece esta opción como `true`, el Agent omite el paso correspondiente a la validación del certificado y no verifica la identidad del proxy, pero se sigue cifrando la comunicación con SSL/TLS. - -```yaml -skip_ssl_validation: true -``` - -Cuando envíes logs a través de TCP, consulta la sección acerca del [proxy de TCP para logs][7]. - -## Datadog Agent - -{{< tabs >}} -{{% tab "Agent v6 y v7" %}} - -**Esta característica solo se encuentra disponible en el Agent v5**. +Si no tiene un servidor proxy existente, Datadog recomienda usar un proxy HTTP como **Squid**. -{{% /tab %}} -{{% tab "Agent v5" %}} +1. **Squid (Recomendado)**: Un proxy HTTP/HTTPS robusto que simplifica la configuración al redirigir de forma transparente todo el tráfico saliente del Datadog Agent. [Usando un proxy Squid][3]. +2. **HAProxy (No Recomendado)**: Puede reenviar tráfico a Datadog, pero esto requiere mantener una lista actualizada de dominios de Datadog y es más complejo de gestionar. [Ver Ejemplo de Configuración de HAProxy][4]. +3. **NGINX (No Recomendado)**: Similar a HAProxy, se desaconseja usar NGINX para reenviar tráfico a Datadog debido a la carga de mantenimiento de mantener actualizadas las listas de dominios. [Ver Ejemplo de Configuración de NGINX][5]. -Se recomienda utilizar un proxy real (un proxy web o HAProxy) para reenviar el tráfico hacia Datadog. No obstante, si no dispones de esas opciones, puedes configurar una instancia del **Agent v5** para que actúe como un proxy. +Datadog desaconseja reenviar tráfico utilizando software como HAProxy o NGINX, ya que esto requiere configurar y mantener manualmente la lista de puntos de conexión específicos de Datadog a los que el Datadog Agent debe conectarse. Esta lista puede cambiar, lo que puede llevar a la pérdida de datos si no se mantiene actualizada. La única excepción es si necesita capacidades de Inspección Profunda de Paquetes (DPI), en cuyo caso podría considerar usar HAProxy o NGINX, ya que le permiten deshabilitar TLS o usar sus propios certificados TLS e inspeccionar el tráfico. -1. Designa como proxy un nodo **que ejecute datadog-agent**. - En este ejemplo, supongamos que el nombre del proxy es `proxy-node`. El nodo **debe** poder llegar a `https://app.datadoghq.com`. +## Verificación {#verification} -2. Verifica la conectividad SSL de `proxy-node`: +Verifique el comando de estado del Agente y revise los registros del Agente (`agent.log`, `trace-agent.log`, etc.) en busca de errores de conexión después de reiniciar. - ```shell - curl -v https://app.datadoghq.com/account/login 2>&1 | grep "200 OK" - ``` +## Proxy FIPS (US1-FED) {#fips-proxy-us1-fed} -3. Modifica la siguiente línea de `datadog.conf` para permitir que haya tráfico no local en `proxy-node`. - `# non_local_traffic: no` debería ser `non_local_traffic: yes`. +Para obtener información sobre cómo configurar el Proxy FIPS del Datadog Agent, consulte [Datadog FIPS Compliance][6]. El proxy FIPS solo está disponible en la región US1-FED. El Proxy FIPS del Datadog Agent no se puede utilizar junto con un proxy regular. -4. Asegúrate de que se pueda llegar a `proxy-node` desde los demás nodos a través del puerto 17123. Inicia el Agent en `proxy-node` y ejecútalo en los demás nodos: - - `curl -v http://proxy-node:17123/status 2>&1 | grep "200 OK"` - -5. Actualiza los nodos que no actúen como proxies para reenviarlos a `proxy-node`. Cambia la siguiente línea de `datadog.conf` de: - - `dd_url: https://app.datadoghq.com` - a - `dd_url: http://proxy-node:17123` - -6. En la [página de la infraestructura][1], verifica que todos los nodos envíen datos a Datadog. - - -[1]: https://app.datadoghq.com/infrastructure#overview -{{% /tab %}} -{{< /tabs >}} - -## Lectura adicional +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} - -[1]: /es/agent/configuration/agent-fips-proxy -[2]: /es/agent/configuration/agent-commands/ -[3]: http://www.squid-cache.org/ -[4]: https://app.datadoghq.com/infrastructure -[5]: http://haproxy.1wt.eu -[6]: https://www.haproxy.com/blog/haproxy-ssl-termination/ -[7]: /es/getting_started/site/ -[8]: https://www.nginx.com -[9]: /es/agent/logs/proxy +[1]: /es/agent/configuration/agent-commands/#restart-the-agent +[2]: /es/agent/configuration/agent-configuration-files/#main-configuration-file +[3]: /es/agent/configuration/proxy_squid/ +[4]: /es/agent/faq/proxy_example_haproxy/ +[5]: /es/agent/faq/proxy_example_nginx/ +[6]: /es/agent/configuration/fips-compliance/ \ No newline at end of file diff --git a/content/es/agent/fleet_automation/_index.md b/content/es/agent/fleet_automation/_index.md index 18cc4ba5d26..9f4b0fca523 100644 --- a/content/es/agent/fleet_automation/_index.md +++ b/content/es/agent/fleet_automation/_index.md @@ -1,132 +1,77 @@ --- -description: Controla de forma centralizada y gestiona de forma remota Datadog Agents - y OpenTelemetry Collectors a escala con vistas de configuración, actualizaciones, - recopilación de flares y rotación de claves de API. +aliases: +- /es/agent/fleet_automation/remote_management +description: Gobierne centralmente y gestione de forma remota los Agentes de Datadog + y los Colectores de OpenTelemetry a gran escala con vistas de configuración, actualizaciones, + recolección de flares y rotación de claves de API. disable_toc: false further_reading: - link: https://www.datadoghq.com/blog/fleet-automation-central-configuration tag: Blog - text: Configurar y ampliar de forma centralizada la monitorización de tu infraestructura - y aplicaciones con Datadog Fleet Automation + text: Configure y escale centralmente el seguimiento de su infraestructura y aplicaciones + con la Automatización de Flota de Datadog. - link: https://www.datadoghq.com/blog/manage-opentelemetry-collectors-with-datadog-fleet-automation tag: Blog - text: Gestionar todos tus OpenTelemetry Collectors con Datadog Fleet Automation + text: Gestione todos sus Colectores de OpenTelemetry con la Automatización de Flota + de Datadog. - link: https://www.datadoghq.com/blog/ddot-gateway tag: Blog - text: Centralizar y controlar tu pipeline OpenTelemetry con la puerta de enlace - de DDOT + text: Centralice y gobierne su canalización de OpenTelemetry con la puerta de enlace + DDOT. - link: /remote_configuration tag: Documentación - text: Más información sobre la configuración remota + text: Descubra más sobre Remote Configuration. - link: /infrastructure/list/#agent-configuration tag: Documentación - text: Más información sobre la vista de configuración del Agent + text: Aprenda sobre la vista de configuración del Agent. - link: https://www.datadoghq.com/blog/fleet-automation/ tag: Blog - text: Controlar de forma centralizada y gestionar de forma remota Datadog Agents - a escala con Fleet Automation -title: Fleet Automation + text: Gobierne centralmente y gestione de forma remota los Agentes de Datadog a + gran escala con la Automatización de Flota. +title: Automatización de Flota --- +## Descripción general {#overview} -## Información general +Datadog Fleet Automation permite gobernar centralmente y gestionar de forma remota a los Agentes de Datadog y a los Colectores de OpenTelemetry (OTel) a gran escala para apoyar sus necesidades de observabilidad en evolución. -Datadog Fleet Automation te permite controlar de forma centralizada y gestionar de forma remota Datadog Agents y OpenTelemetry (OTel) Collectors a escala para acompañar la evolución de tus necesidades de observabilidad. +{{< img src="/agent/fleet_automation/fleet-automation-main.png" alt="La página de Automatización de Flota muestra una lista de Agentes con sus versiones, estados y productos habilitados." style="width:100%;" >}} -{{< img src="/agent/fleet_automation/fleet_automation2.png" alt="Página de Fleet Automation" style="width:100%;" >}} +## Capacidades clave {#key-capabilities} -## Casos prácticos +Con la Automatización de Flota, puede: +- **[Ver configuraciones de Agentes y Colectores de OTel][3]** junto con cambios históricos para confirmar actualizaciones de implementación y verificar la consistencia de la configuración. +- **[Configure Agentes de Datadog][4]** para centralizar la configuración y obtener visibilidad en sus entornos más rápido. +- **[Mantenga su flota actualizada][5]** identificando y actualizando versiones obsoletas de Agentes y Colectores de OTel. +- **[Envíe un flare de soporte de forma remota][6]**, reduciendo el tiempo que toma depurar problemas en un Agente o Colector DDOT. -Para los siguientes casos de uso, asegúrate de que tu flota de Datadog Agents y OTel Collectors utiliza las últimas mejoras de funciones. Con Fleet Automation, podrás: -- **Visualizar las últimas configuraciones del Agent y el OTel Collector** junto con los cambios históricos para ayudarte a confirmar actualizaciones de despliegues y garantizar la consistencia de la configuración. -- **Asegurarte de que tu flota de Agents y OTel Collectors utiliza las últimas mejoras de funciones** identificando y actualizando las versiones obsoletas. -- **Configurar tus Datadog Agents directamente desde Fleet Automation** para permitir a tus equipos centralizar la configuración y obtener una visibilidad de tus entornos de forma más rápida. -- **Enviar un flare de asistencia de forma remota desde la interfaz de usuario de Datadog** para reducir el tiempo que lleva depurar problemas en un Agent o DDOT Collector. +## API de Automatización de Flota {#fleet-automation-api} -## Instalación - -### Gestionar tu flota de forma remota - -Fleet Automation te permite gestionar Datadog Agents de forma centralizada en todos tus hosts, directamente desde la interfaz de usuario de Datadog. Con la gestión remota, puedes ver el estado actual de cada Agent, aplicar cambios de configuración y lanzar actualizaciones de versión sin necesidad de acceder directamente a los sistemas individuales. Esto permite garantizar un flujo de trabajo constante y controlado para mantener tu flota segura, actualizada y en línea con los estándares de tu organización. - -- **Actualizar y configurar Agents de forma remota**: Para conocer los pasos de configuración y activación, consulta [Activar la gestión remota del Agent][3]. -- **Ver las configuraciones del Agent y el OTel Collector**: - - La vista de configuración del Agent y de la distribución del OTel Collector (DDOT) está activada por defecto en las versiones 7.47.0 o posteriores del Agent. Para activar la configuración del Agent manualmente, configura `inventories_configuration_enabled` en tu [archivo de configuración del Agent][2] como `true`. También puedes utilizar la variable de entorno `DD_INVENTORIES_CONFIGURATION_ENABLED`. - - La vista de configuración del OTel Collector ascendente se activa configurando la [extensión Datadog][8] en el archivo de configuración del Collector. -- **Ver configuración de una integración del Agent**: la configuración de una integración del Agent está habilitada por defecto en las versiones 7.49/6.49 o posteriores del Agent. Para habilitar la configuración de una integración del Agent manualmente, define`inventories_checks_configuration_enabled` en tu [archivo de configuración del Agent][2] como `true`. También puedes utilizar la variable de entorno `DD_INVENTORIES_CHECKS_CONFIGURATION_ENABLED`. - -### API de Fleet Automation -Fleet Automation ofrece una API pública que te permite ver y gestionar mediante programación los Datadog Agents a escala. Para obtener información completa sobre endpoints y ejemplos de uso, consulta la [documentación de la API de Fleet Automation][9]. - -**Nota**: La API de Fleet Automation no admite todas las funciones de configuración del Datadog Agent. +La Automatización de Flota proporciona una API pública que permite ver y gestionar programáticamente los Agentes de Datadog a gran escala. Para obtener detalles completos sobre los puntos de conexión y ejemplos de uso, consulte la [documentación de la API de Automatización de Flota][1].
-La gestión remota de Agents no es compatible con cargas de trabajo en contenedores. +La API de Automatización de Flota no admite todas las capacidades de configuración de los Agentes de Datadog.
+## Controle el acceso a la Automatización de Flota {#control-access-to-fleet-automation} -## Observar tu flota - -Utiliza la página de [**Fleet Automation**][1] para obtener información sobre lagunas de observabilidad en tus hosts, Agents o OTel Collectors obsoletos, y Agents con problemas de integraciones. - -Para cada Datadog Agent, puedes ver: -- La versión del Agent -- Si el Agent tiene alguna integración no configurada o mal configurada -- Los servicios que está monitorizando el Agent -- El estado de configuración remota del Agent -- Los productos habilitados en el Agent -- Eventos de Agent de Audit Trail, incluidos cambios de configuración, actualizaciones y flares - -Para cada OTel Collector, puedes ver: -- La versión del Collector -- La distribución del Collector -- El YAML de configuración del Collector - -### Examinar un Datadog Agent o un OpenTelemetry Collector - -Al seleccionar un Datadog Agent o un OTel Collector obtendrás más información sobre ellos, incluida su configuración, las integraciones conectadas, los eventos de auditoría y una pestaña de asistencia que puedes utilizar para enviar un flare remoto. - -{{< img src="agent/fleet_automation/fleet-automation-view-config.png" alt="Información de integración de un Agent" style="width:100%;" >}} - -### Ver los eventos de Agent de Audit Trail - -La pestaña Eventos de auditoría muestra eventos de Audit Trail asociados con el Agent seleccionado. -Utiliza esta pestaña para: -- Identificar los cambios de configuración, las actualizaciones de claves de API, las instalaciones, las actualizaciones y los flares de asistencia. -- Determinar cuándo se hicieron los cambios y desde dónde - -La visibilidad de los eventos de Audit Trail depende de tu plan. Cuando Audit Trail está habilitado en tu organización, puedes ver los eventos de Agent durante un máximo de 90 días según la configuración de retención de Audit Trail. Si Audit Trail no está habilitado en tu organización, puedes ver los eventos de las últimas 24 horas. - -### Enviar un flare remoto - -Puedes enviar un flare desde el Datadog Agent o el DDOT Collector después de activar la configuración remota en el Agent. Para obtener instrucciones sobre cómo enviar un flare, consulta [Enviar un flare desde el sitio Datadog][7]. - -Cuando te pongas en contacto con el servicio de asistencia de Datadog con la configuración remota activada para el Agent, el equipo podrá iniciar un flare desde tu entorno para poder ayudarte mejor y de forma más rápida. Los flares proporcionan información de solución de problemas al servicio de asistencia de Datadog para ayudarte a resolver tu problema. - -{{< img src="agent/fleet_automation/fleet_automation_remote_flare.png" alt="Enviar un flare remoto" style="width:100%;" >}} - -## Controlar el acceso a Fleet Automation - -Fleet Automation está disponible para todos los usuarios de una organización Datadog. Puedes controlar el acceso a funciones específicas: +La Automatización de Flota está disponible para todos los usuarios en una organización de Datadog. Puede controlar el acceso a funcionalidades específicas: | Permiso | Descripción | |--------------|---------------| -| `API Keys Read`| Determina qué usuarios pueden visualizar y buscar Agents por clave API. | +| `API Keys Read`| Restringe qué usuarios pueden ver y buscar Agentes por clave de API. | | `Agent Flare Collection` | Restringe qué usuarios pueden enviar flares de forma remota desde Fleet Automation. | -| `Agent Upgrade` | Restringe qué usuarios tienen acceso a la actualización de Agents desde Fleet Automation. | -| `Agent Configuration Management` | Restringe qué usuarios tienen acceso a configurar Agents desde Fleet Automation. | +| `Agent Upgrade` | Restringe qué usuarios tienen acceso para actualizar Agentes desde Fleet Automation. | +| `Agent Configuration Management` | Restringe qué usuarios tienen acceso para configurar Agentes desde Fleet Automation. | -Para obtener información sobre la configuración de funciones y permisos, consulta [Control de acceso][5]. +Para obtener información sobre cómo configurar roles y permisos, consulte [Access Control][2]. -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[1]: https://app.datadoghq.com/fleet -[2]: /es/agent/configuration/agent-configuration-files/ -[3]: /es/agent/fleet_automation/remote_management/#setup -[4]: /es/infrastructure/list/#agent-configuration -[5]: /es/account_management/rbac/ -[6]: /es/agent/fleet_automation/remote_management/ -[7]: /es/agent/troubleshooting/send_a_flare/#send-a-flare-from-the-datadog-site -[8]: https://docs.datadoghq.com/es/opentelemetry/integrations/datadog_extension/#setup -[9]: https://docs.datadoghq.com/es/api/latest/fleet-automation/ \ No newline at end of file +[1]: /es/api/latest/fleet-automation/ +[2]: /es/account_management/rbac/ +[3]: /es/agent/fleet_automation/fleet_view/ +[4]: /es/agent/fleet_automation/configure_agents/ +[5]: /es/agent/fleet_automation/upgrade_agents/ +[6]: /es/agent/troubleshooting/send_a_flare/#send-a-flare-from-the-datadog-site \ No newline at end of file diff --git a/content/es/agent/troubleshooting/send_a_flare.md b/content/es/agent/troubleshooting/send_a_flare.md index a55a4aa455e..c397dbc7f5d 100644 --- a/content/es/agent/troubleshooting/send_a_flare.md +++ b/content/es/agent/troubleshooting/send_a_flare.md @@ -1,117 +1,120 @@ --- algolia: tags: - - Flare del Agent + - agent flare aliases: - /es/agent/faq/send-logs-and-configs-to-datadog-via-flare-command further_reading: - link: /agent/troubleshooting/debug_mode/ tag: Documentación - text: Modo de depuración del Agent + text: Modo de depuración del agente - link: /agent/troubleshooting/agent_check_status/ tag: Documentación - text: Consultar el estado de un check del Agent -title: Flare del Agent + text: Obtener el estado de una verificación de agente +title: Flare de agente --- - -Un flare permite enviar la información necesaria para que el equipo de asistencia de Datadog pueda solucionar tu problema. +Una señal te permite enviar información necesaria para la solución de problemas al equipo de soporte de Datadog. Esta página cubre: -- [Envío de un flare utilizando el comando `flare`](#send-a-flare-using-the-flare-command). -- [Envío de un flare desde el sitio de Datadog](#send-a-flare-from-the-Datadog-site), utilizando la configuración remota. +- [Enviando un flare usando el comando `flare`](#send-a-flare-using-the-flare-command). +- [Enviando un flare desde el sitio de Datadog](#send-a-flare-from-the-datadog-site) usando Remote Configuration. - [Envío manual](#manual-submission). -Un flare reúne todos los archivos de configuración y registros del Agent en un archivo de almacenamiento. Elimina información confidencial, incluyendo contraseñas, claves de API, credenciales proxy y cadenas de comunidad SNMP. Si APM está habilitado, el flare incluye [logs de depuración del rastreador][4] cuando están disponibles. +Un flare reúne todos los archivos de configuración y registros del agente en un archivo. Elimina información sensible, incluyendo contraseñas, claves de API, credenciales de proxy y cadenas de comunidad SNMP. Si APM está habilitado, la señal incluye [registros de depuración de trazadores][4] cuando están disponibles. -El Datadog Agent funciona en su totalidad con código abierto, lo que permite [comprobar el comportamiento del código][1]. Si es necesario, puedes revisar el flare antes de enviarlo, ya que este solicita una confirmación antes de subirlo. +El agente de Datadog es completamente de código abierto, lo que te permite [verificar el comportamiento del código][1]. Si es necesario, la señal puede ser revisada antes de enviarla, ya que la señal solicita una confirmación antes de cargarla. -Cuando te pongas en contacto con el servicio de asistencia de Datadog con la configuración remota activada para el Agent, el equipo podrá iniciar un flare desde tu entorno para poder ayudarte mejor y de forma más rápida. Los flares proporcionan información de solución de problemas al servicio de asistencia de Datadog para ayudarte a resolver tu problema. +Al contactar al Soporte de Datadog con Remote Configuration habilitado para un agente, el equipo de soporte puede iniciar un flare desde su entorno para ayudarle de manera oportuna. Los flares proporcionan información de solución de problemas al Soporte de Datadog para ayudarle a resolver su problema. -## Enviar un flare desde el sitio de Datadog +## Enviar un flare desde el sitio de Datadog {#send-a-flare-from-the-datadog-site} -{{< site-region region="gov" >}} -
El envío de un Flare del Agent desde Fleet Automation no es compatible con este sitio.
+{{< site-region region="gov,gov2" >}} +
Enviar un flare de agente desde Fleet Automation no es compatible con su sitio de Datadog seleccionado ({{< region-param key="dd_datacenter" >}}). Usa envío manual de flares en su lugar.
{{< /site-region >}} -Para enviar un flare desde el sitio de Datadog, asegúrate de haber habilitado la [automatización de flotas][2] y la [configuración remota][3] en el Agent. +Para enviar un flare desde el sitio de Datadog, asegúrese de haber habilitado [Fleet Automation][2] y [Remote Configuration][3] en el Agente. {{% remote-flare %}} -{{< img src="agent/fleet_automation/fleet_automation_remote_flare.png" alt="El botón Enviar tique lanza un formulario para eviar un flare para un tique de asistencia nuevo o existente" style="width:70%;" >}} +{{< img src="agent/fleet_automation/fleet_automation_remote_flare.png" alt="El botón Send Ticket lanza un formulario para enviar un flare para un ticket de soporte existente o nuevo." style="width:70%;" >}} + +## Envía un flare usando el comando `flare` {#send-a-flare-using-the-flare-command} -## Envía un flare utilizando el comando `flare` +{{< site-region region="gov,gov2" >}} +
Enviando un flare de agente usando el flare el subcomando no es compatible con su sitio de Datadog seleccionado ({{< region-param key="dd_datacenter" >}}). Usa envío manual de flares en su lugar.
+{{< /site-region >}} -Utiliza el subcomando `flare` para enviar un flare. En los comandos siguientes, sustituye `` por tu ID de caso de asistencia Datadog, si tienes uno, y luego introduce la dirección de correo electrónico asociada a él. +Usa el subcomando `flare` para enviar un flare. En los comandos a continuación, reemplace `` con su ID de caso de soporte de Datadog, si tiene uno, y luego ingrese la dirección de correo electrónico asociada con él. -Si no tienes un ID de caso, introduce la dirección de correo electrónico que utilizaste para iniciar sesión en Datadog para crear un nuevo caso de asistencia. +Si no tiene un ID de caso, ingrese la dirección de correo electrónico utilizada para iniciar sesión en Datadog para crear un nuevo caso de soporte. -**Confirma la carga del archivo para enviarlo inmediatamente al servicio de asistencia de Datadog**. +**Confirme la carga del archivo para enviarlo de inmediato al Soporte de Datadog**. {{< tabs >}} -{{% tab "Agent" %}} +{{% tab "Agente" %}} | Plataforma | Comando | |------------|---------------------------------------------------------| | AIX | `datadog-agent flare ` | | Docker | `docker exec -it dd-agent agent flare ` | -| macOS | `datadog-agent flare ` o a través de la [web de GUI][1] | +| macOS | `datadog-agent flare ` o a través de la [interfaz web][1] | | CentOS | `sudo datadog-agent flare ` | | Debian | `sudo datadog-agent flare ` | | Kubernetes | `kubectl exec -it -- agent flare ` | | Fedora | `sudo datadog-agent flare ` | -| RedHat | `sudo datadog-agent flare ` | +| Redhat | `sudo datadog-agent flare ` | | Suse | `sudo datadog-agent flare ` | | Fuente | `sudo datadog-agent flare ` | | Windows | `& "$env:ProgramFiles\Datadog\Datadog Agent\bin\agent.exe" flare ` | -| Heroku | Consulta la [documentación de Heroku][3] específica. | +| Heroku | Consulte la [documentación dedicada de Heroku][3] | | PCF | `sudo /var/vcap/jobs/dd-agent/packages/dd-agent/bin/agent/agent flare ` | -## Contenedores exclusivos +## Contenedores dedicados {#dedicated-containers} -Cuando utilizas el Agent v7.19 o posterior y el gráfico de Helm de Datadog con la [última versión][4] o un DaemonSet donde el Datadog Agent y Trace Agent están en contenedores separados, se implementa un pod del Agent que contiene: +Al usar el Agente v7.19+ y el Chart de Helm de Datadog con la [última versión][4] o un DaemonSet donde el Agente de Datadog y el Agente de Trazas están en contenedores separados, despliega un Pod de Agente que contiene: -* Un contenedor con el proceso del Agent (Agent + Log Agent) -* Un contenedor con el proceso del Agent de proceso -* Un contenedor con el proceso del Agent de rastreo -* Un contenedor con el proceso de system-probe +* Un contenedor con el proceso del Agente (Agent + Log Agent) +* Un contenedor con el proceso Process Agent +* Un contenedor con el proceso Trace Agent +* Un contenedor con el proceso system-probe -Para obtener un flare de cada contenedor, ejecuta los siguientes comandos: +Para obtener un flare de cada contenedor, ejecute los siguientes comandos: -### Agent +### Agente {#agent} ```bash kubectl exec -it -c agent -- agent flare ``` -### Agent de proceso +### Process Agent {#process-agent} ```bash kubectl exec -it -c process-agent -- agent flare --local ``` -### Trace Agent +### Agente de Trazas {#trace-agent} ```bash kubectl exec -it -c trace-agent -- agent flare --local ``` -### Agent de seguridad +### Agente de Seguridad {#security-agent} ```bash kubectl exec -it -c security-agent -- security-agent flare ``` -### System-probe +### Sondeo del sistema {#system-probe} -El contenedor system-probe no puede enviar un flare, por lo que obtiene logs del contenedor: +El contenedor system-probe no puede enviar un flare, así que obtenga los registros del contenedor en su lugar: ```bash kubectl logs -c system-probe > system-probe.log ``` -## ECS Fargate +## ECS Fargate {#ecs-fargate} -Cuando utilizas la plataforma ECS Fargate v1.4.0, puedes configurar tareas y servicios de ECS para permitir el acceso a contenedores Linux en ejecución, habilitando [Amazon ECS Exec][5]. Después de habilitar Amazon ECS Exec, ejecuta el siguiente comando para enviar un flare: +Al usar la plataforma ECS Fargate v1.4.0, las tareas y servicios de ECS pueden configurarse para permitir el acceso a contenedores de Linux en ejecución habilitando [Amazon ECS Exec][5]. Después de habilitar Amazon ECS exec, ejecute el siguiente comando para enviar una señal: ```bash aws ecs execute-command --cluster \ @@ -121,7 +124,7 @@ aws ecs execute-command --cluster \ --command "agent flare " ``` -**Nota:** ECS Exec solo puede habilitarse para tareas nuevas. Hay que volver a crear las tareas existentes para utilizar ECS Exec. +**Nota:** ECS Exec solo se puede habilitar para nuevas tareas. Debe recrear las tareas existentes para usar ECS Exec. [1]: /es/agent/basic_agent_usage/#gui [2]: /es/agent/basic_agent_usage/windows/#agent-v6 @@ -130,7 +133,7 @@ aws ecs execute-command --cluster \ [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html {{% /tab %}} -{{% tab "Cluster Agent" %}} +{{% tab "Agente del clúster" %}} | Plataforma | Comando | |---------------|-----------------------------------------------------------------------------| @@ -140,18 +143,19 @@ aws ecs execute-command --cluster \ {{% /tab %}} {{< /tabs >}} -## Envío manual +## Envío manual {#manual-submission} + +El protocolo de flare del Agente recopila archivos de configuración y registros en un archivo ubicado inicialmente en el directorio local `/tmp`. +Obtenga manualmente este archivo y proporciónelo al soporte si hay algún problema con la conectividad del Agente. -El protocolo de flares del Agent recopila configuraciones y logs en un archivo de almacenamiento ubicado en primer lugar en el directorio local `/tmp`. -Si tienes algún problema con la conectividad del Agent, recupera este archivo de forma manual y envíalo al servicio de asistencia. +### Kubernetes {#kubernetes} +Para obtener el archivo en Kubernetes, use el comando kubectl: -### Kubernetes -Para obtener el archivo de almacenamiento en Kubernetes, utiliza el comando kubectl: ``` kubectl cp datadog-:tmp/datadog-agent-.zip flare.zip -c agent ``` -## Referencias adicionales +## Para saber más {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/es/cloud_cost_management/_index.md b/content/es/cloud_cost_management/_index.md index dc61cee2259..d6e9d228663 100644 --- a/content/es/cloud_cost_management/_index.md +++ b/content/es/cloud_cost_management/_index.md @@ -7,114 +7,164 @@ cascade: rank: 70 subcategory: Cloud Cost Management tags: - - coste de la nube - - integraciones en la nube + - cloud cost + - cloud integrations - cloud cost management - - coste de la nube aws - - coste de la nube azure - - coste de la nube google cloud - - coste de la nube gcp - - datos recopilados aws - - datos recopilados azure - - datos recopilados google cloud + - cloud cost aws + - cloud cost azure + - cloud cost google cloud + - cloud cost gcp + - data collected aws + - data collected azure + - data collected google cloud further_reading: +- link: /monitors/types/cloud_cost/ + tag: Documentación + text: Cree un monitor de Costos en la Nube +- link: /cloud_cost_management/tags/ + tag: Documentación + text: Aprenda sobre las etiquetas en Cloud Cost Management +- link: /cloud_cost_management/cloud_cost_skill/ + tag: Documentación + text: Utilice el Cloud Cost Skill en Bits AI Assistant - link: https://www.datadoghq.com/blog/control-your-cloud-spend-with-datadog-cloud-cost-management/ tag: Blog - text: Obtener visibilidad y control de tus gastos en la nube con Datadog Cloud Cost + text: Obtenga visibilidad y control de su gasto en la nube con Datadog Cloud Cost Management +- link: https://www.datadoghq.com/blog/manage-ai-cost-and-performance-with-datadog/ + tag: Blog + text: 'Impulsando el ROI de IA: Cómo Datadog conecta costos, rendimiento e infraestructura + para que pueda escalar de manera responsable' - link: https://www.datadoghq.com/blog/cloud-cost-management-container-support/ tag: Blog - text: Comprender tus gastos de Kubernetes y ECS con Datadog Cloud Cost Management + text: Comprenda su gasto en Kubernetes y ECS con Datadog Cloud Cost Management - link: https://www.datadoghq.com/blog/google-cloud-cost-management/ tag: Blog - text: Permitir a los ingenieros hacerse cargo de los costes de Google Cloud con - Datadog + text: Empodere a los ingenieros para que asuman la responsabilidad de los costos + de Google Cloud con Datadog - link: https://www.datadoghq.com/blog/total-cost-of-service-ownership-ccm/ tag: Blog - text: Analizar de forma rápida y exhaustiva los costes de la nube y de SaaS de tus + text: Analice rápida y exhaustivamente los costos de la nube y SaaS detrás de sus servicios -- link: /monitors/types/cloud_cost/ - tag: Documentación - text: Crear un monitor de costes de la nube -- link: /cloud_cost_management/tag_pipelines/ - tag: Documentación - text: Más información sobre Tag Pipelines -- link: /cloud_cost_management/tag_pipelines - tag: Documentación - text: Estandarizar etiquetas en Cloud Cost Management con Tag Pipelines - link: https://www.datadoghq.com/blog/cloud-costs-study-learnings/ tag: Blog - text: Principales aprendizajes del estudio sobre el estado de los costes de la nube + text: Aprendizajes clave del estudio sobre el estado de los costos en la nube +- link: https://www.datadoghq.com/blog/unit-economics-ccm/ + tag: Blog + text: Monitoree la economía unitaria con Datadog Cloud Cost Management +- link: https://www.datadoghq.com/blog/finops-at-datadog/ + tag: Blog + text: Cómo hemos creado una práctica exitosa de FinOps en Datadog +- link: https://www.datadoghq.com/blog/cloud-cost-management-saved-millions/ + tag: Blog + text: Cómo ahorramos $1.5 millones al año con Cloud Cost Management +- link: https://www.datadoghq.com/blog/cloud-cost-management-oci/ + tag: Blog + text: Administre y optimice sus costos de OCI con Datadog Cloud Cost Management +- link: https://www.datadoghq.com/blog/cambia-health-cost-optimization + tag: Blog + text: Cómo Cambia Health Solutions ahorró $30,000 mensuales con Cloud Cost Management + y el Datadog Resource Catalog title: Cloud Cost Management --- - -{{< learning-center-callout header="Unirse a una sesión de un seminario web de habilitación" hide_image="true" btn_title="Inscribirse" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=Cloud+Cost+Management">}} -Explora los costes de tu proveedor de nube y correlaciónalos con datos telemétricos en tiempo real. Obtén información práctica y alertas sobre la procedencia de tus costes de nube, cómo están cambiando y dónde encontrar posibles optimizaciones. +{{< learning-center-callout header="Únase a una sesión de seminario web de habilitación" hide_image="true" btn_title="Regístrese" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=Cloud+Cost+Management">}} + Explore los costos de su proveedor de nube y correlacione con datos de telemetría en tiempo real. Obtenga información útil y alertas sobre de dónde provienen sus costos en la nube, cómo están cambiando y dónde encontrar posibles optimizaciones. {{< /learning-center-callout >}} -## Información general +## Resumen {#overview} -Cloud Cost Management proporciona información a los equipos de ingeniería y finanzas para que comprendan cómo afectan los cambios de infraestructura a los costes, asignen gastos en toda la organización e identifiquen ineficiencias. +Cloud Cost Management proporciona información para los equipos de ingeniería y finanzas para entender cómo los cambios en la infraestructura impactan los costos, asignar gastos en toda su organización e identificar ineficiencias. -{{< img src="cloud_cost/overview_2.png" alt="Obtener información de costes y uso de tu proveedor de nube en la página de Datadog Información general de costes de la nube" style="width:100%;" >}} +{{< img src="cloud_cost/summary.png" alt="Obtenga información sobre todos los costos y el uso de su proveedor de nube en la página de Cost Summary en Datadog." style="width:100%;" >}} -Datadog ingiere tus datos de costes de la nube y los transforma en métricas que puedes utilizar en una consulta de búsqueda en la página [**Analytics**][1]. Si los costes aumentan, puedes correlacionar el aumento con las métricas de uso para determinar la causa raíz. +Datadog ingiere sus datos de costos en la nube y los transforma en métricas que puede utilizar en una consulta de búsqueda en la página de [**Explorer**][1]. Si los costos aumentan, puede correlacionar el incremento con las métricas de uso para determinar la causa raíz. -## Configuración +## Configuración {#setup} -{{< whatsnext desc="Para empezar a gestionar tus costes en la nube con Cloud Cost Management, consulta la siguiente documentación.">}} - {{< nextlink href="/cloud_cost_management/aws">}}AWS: Configura Cloud Cost Management para tu factura de AWS.{{< /nextlink >}} - {{< nextlink href="/cloud_cost_management/azure">}}Azure: Configura Cloud Cost Management para tu factura de Azure. {{< /nextlink >}} - {{< nextlink href="/cloud_cost_management/google_cloud">}}Google Cloud: Configura Cloud Cost Management para tu factura de Google Cloud. {{< /nextlink >}} - {{< nextlink href="/cloud_cost_management/saas_costs">}}Integraciones de costes SaaS: Envía datos de costes desde un proveedor de costes SaaS compatible a Datadog. {{< /nextlink >}} - {{< nextlink href="/cloud_cost_management/custom">}}Costes personalizados: Carga cualquier fuente de datos de costes en Datadog. {{< /nextlink >}} - {{< nextlink href="/cloud_cost_management/datadog_costs">}}Costes de Datadog: Visualiza métricas de gastos y uso diarios de Datadog. {{< /nextlink >}} +{{< whatsnext desc="Para comenzar a gestionar sus costos en la nube con Cloud Cost Management, consulte la siguiente documentación.">}} + {{< nextlink href="/cloud_cost_management/setup/aws">}}AWS: Configure Cloud Cost Management para su factura de AWS.{{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/setup/azure">}}Azure: Configure Cloud Cost Management para su factura de Azure. {{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/setup/google_cloud">}}Google Cloud: Configure Cloud Cost Management para su factura de Google Cloud. {{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/setup/oracle">}}Oracle: Configure Cloud Cost Management para su factura de Oracle. {{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/setup/saas_costs">}}Integraciones de Costos de SaaS: Envíe datos de costos desde un proveedor de costos de SaaS compatible a Datadog. {{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/setup/custom">}}Costos Personalizados: Suba cualquier fuente de datos de costos a Datadog. {{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/datadog_costs">}}Costos de Datadog: Visualice el gasto diario de Datadog y las métricas de utilización. {{< /nextlink >}} {{< /whatsnext >}} -## Uso de los datos de costes de la nube +## Use cloud cost data {#use-cloud-cost-data} → ## Utilice datos de costos en la nube {#use-cloud-cost-data} + +Visualice el gasto en infraestructura junto con métricas de utilización relacionadas con un período de retención de 15 meses para detectar posibles ineficiencias y oportunidades de ahorro. + +Al crear un tablero, seleccione {{< ui >}}Cloud Cost{{< /ui >}} como la fuente de datos para su consulta de búsqueda. + +{{< img src="cloud_cost/cloud_cost_data_source-1.png" alt="Costos en la nube disponibles como fuente de datos en la creación de widgets de tablero." style="width:80%;" >}} + +Opcionalmente, puede exportar programáticamente un gráfico de series temporales de sus datos de costos en la nube utilizando la [Metrics API][2]. + +## Utilice los datos de costos de Datadog diariamente {#use-daily-datadog-cost-data} + +Visualice el gasto diario de Datadog junto con métricas de utilización relacionadas, con un período de retención de 15 meses para identificar posibles ineficiencias y oportunidades de ahorro. Aprenda más sobre [Datadog Costs][8]. + +Al crear un tablero, seleccione {{< ui >}}Cloud Cost{{< /ui >}} como la fuente de datos y luego elija {{< ui >}}Datadog{{< /ui >}} de los tipos de costos disponibles. + +{{< img src="cloud_cost/datadog_costs/dashboard-updated.png" alt="Costos de Datadog como una opción para la fuente de datos de Cloud Cost en un tablero." style="width:80%;" >}} + +Opcionalmente, puede exportar programáticamente un gráfico de series temporales de sus datos de costos de Datadog utilizando la [Metrics API][2]. + +## Etiquetado y asignación de costos {#tagging-and-cost-allocation} -Visualiza las métricas de gastos de infraestructura junto a las métricas de uso asociadas con un periodo de conservación de 15 meses para detectar posibles ineficiencias y oportunidades de ahorro. +Aprende cómo se obtienen, enriquecen y gestionan las etiquetas en la Gestión de Costos en la Nube leyendo la [documentación de Etiquetas][5]. -Al crear un dashboard, selecciona **Costes de la nube** como fuente de datos para tu consulta de búsqueda. +Puede crear reglas de etiquetas para corregir etiquetas faltantes o incorrectas, y agregar etiquetas inferidas que se alineen con la lógica empresarial de su organización. -{{< img src="cloud_cost/cloud_cost_data_source.png" alt="Costes de la nube disponibles como fuente de datos durante la creación del widget de dashboard" style="width:100%;" >}} +## Cree un monitor de costos {#create-a-cost-monitor} -Opcionalmente, puedes exportar mediante programación un gráfico de series temporales de tus datos de costes de nube utilizando la [API de métricas][2]. +Gestione y optimice proactivamente su gasto en la nube creando un [Cloud Cost Monitor][3]. Puede elegir {{< ui >}}Cost Changes{{< /ui >}} o {{< ui >}}Cost Threshold{{< /ui >}} para monitorear sus gastos en la nube. -## Uso de los datos de costes diarios de Datadog +{{< img src="cloud_cost/monitor.png" alt="Cree un monitor de Costos en la Nube que alerte sobre cambios en los costos." style="width:100%;" >}} -Visualiza las métricas de gastos de Datadog junto a las métricas de uso asociadas con un periodo de conservación de 15 meses para detectar posibles ineficiencias y oportunidades de ahorro. +## Asigne costos {#allocate-costs} -Al crear un dashboard, selecciona **Costes de la nube** como fuente de datos para tu consulta de búsqueda. +Utilice [métricas de Asignación de Costos de Contenedores][4] para descubrir costos asociados con clústeres y cargas de trabajo en Kubernetes, Amazon ECS, Azure y Google Cloud. Puede obtener visibilidad sobre los costos a nivel de pod, identificar costos de recursos inactivos y analizar costos por tipo de recurso. -{{< img src="cloud_cost/datadog_costs/dashboard.png" alt="Costes de Datadog como opción de fuente de datos de Costes de nube en un dashboard" style="width:100%;" >}} +## Permisos {#permissions} -Opcionalmente, puedes exportar mediante programación un gráfico de series temporales de tus datos de costes de Datadog utilizando la [API de métricas][2]. +Cloud Cost Management utiliza los siguientes permisos para controlar el acceso a los datos de costos y la mayoría de las configuraciones de CCM: +- `cloud_cost_management_read` +- `cloud_cost_management_write` -## Crear reglas de etiquetado +Para un desglose detallado de los requisitos por página, consulte [Permisos][9]. -Utiliza [Tag Pipelines][5] para garantizar un seguimiento exhaustivo de los costes mediante la estandarización de etiquetas (tags) en todos los recursos de la nube. Esto evita que se pase por alto cualquier dato de costes. +## Revise el historial de datos {#review-data-history} -{{< img src="cloud_cost/tags_addnew.png" alt="Crear una regla de etiquetado en Tag Pipelines para asegurarse de que los recursos en la nube utilicen etiquetas (tags) estándar" style="width:60%;" >}} +{{< img src="cloud_cost/ccm-data-history.png" alt="Vea el historial de datos de Cloud Cost en la configuración de Cloud Cost." style="width:100%;" >}} -Puede crear reglas de etiquetado para corregir etiquetas omitidas o incorrectas y añadir etiquetas inferidas que se ajusten a la lógica empresarial de tu organización. +Monitoree la frescura y el estado de procesamiento de sus datos de costos en la página {{< ui >}}Cloud Cost{{< /ui >}} > {{< ui >}}Settings{{< /ui >}} > {{< ui >}}Data History{{< /ui >}}. -## Crear un monitor de costes +- {{< ui >}}Last Bill Received{{< /ui >}}: Cuando su proveedor de nube o SaaS generó los datos de facturación visibles en CCM. +- {{< ui >}}Last Processed{{< /ui >}}: Cuando Datadog procesó por última vez los datos de facturación de su proveedor de nube, incluyendo: + - Reglas de canalización de etiquetas (procesa retroactivamente hasta 3 meses de datos históricos por defecto) + - Reglas de asignación de costos (procesa retroactivamente hasta 1 mes de datos históricos por defecto) -Gestiona y optimiza de forma proactiva tus gastos en la nube creando un [monitor de costes en la nube][3]. Puedes elegir **Cambios en costes** o **Umbral de costes** para monitorizar tus gastos en la nube. +Utilice esta página para solucionar retrasos en los datos o confirmar que las recientes canalizaciones de etiquetas y cambios en la asignación de costos han tenido efecto. -{{< img src="cloud_cost/monitor.png" alt="Crear un monitor de costes en la nube para generar alertas cuando hay cambios en los costes" style="width:100%;" >}} +## Utilice IA para el análisis de costos {#use-ai-for-cost-analysis} -## Asignar costes +Utilice el [Cloud Cost Skill en Bits AI Assistant][10] para investigar cambios en los costos, identificar propietarios probables, comparar el gasto con los presupuestos, correlacionar costos con métricas de observabilidad y crear handoff notebooks para equipos de ingeniería. -Utiliza [métricas de asignación de costes de contenedor][4] para detectar costes asociados a clústeres y cargas de trabajo en Kubernetes, AWS ECS, Azure y Google Cloud. Obtén una visibilidad de los costes a nivel de pod, identifica los costes de recursos ociosos y analiza los costes por tipo de recurso. +{{< img src="cloud_cost/cc_skill_cost_summary.png" alt="Resumen de investigación de Bits AI Assistant que muestra un análisis inicial." style="width:60%;" >}} -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[1]: https://app.datadoghq.com/cost/analytics +[1]: https://app.datadoghq.com/cost/explorer [2]: /es/api/latest/metrics/#query-timeseries-data-across-multiple-products [3]: /es/monitors/types/cloud_cost/ [4]: /es/cloud_cost_management/container_cost_allocation -[5]: /es/cloud_cost_management/tag_pipelines \ No newline at end of file +[5]: /es/cloud_cost_management/tags/ +[6]: /es/account_management/rbac/data_access/ +[7]: https://www.datadoghq.com/product-preview/data-access-control/ +[8]: /es/cloud_cost_management/datadog_costs +[9]: /es/cloud_cost_management/setup/permissions +[10]: /es/cloud_cost_management/cloud_cost_skill/ \ No newline at end of file diff --git a/content/es/cloud_cost_management/setup/google_cloud.md b/content/es/cloud_cost_management/setup/google_cloud.md index 94ed51b5ab4..74e759cc7b4 100644 --- a/content/es/cloud_cost_management/setup/google_cloud.md +++ b/content/es/cloud_cost_management/setup/google_cloud.md @@ -8,79 +8,114 @@ further_reading: text: Cloud Cost Management - link: /cloud_cost_management/setup/aws tag: Documentación - text: Obtener información sobre tu factura de AWS + text: Obtenga información sobre su factura de AWS - link: /cloud_cost_management/azure tag: Documentación - text: Obtener información sobre tu factura de Azure + text: Obtenga información sobre su factura de Azure +- link: /cloud_cost_management/oracle + tag: Documentación + text: Obtenga información sobre su factura de Oracle title: Google Cloud --- +## Resumen {#overview} +Para usar Cloud Cost Management en Datadog, siga estos pasos: +1. Configure la [Integración de Google Cloud Platform][12] +2. Configure la [exportación de costos de uso detallados][13] con los permisos necesarios (Google Service APIs, acceso al proyecto de exportación y acceso al conjunto de datos de BigQuery) +3. Cree o seleccione un [bucket de Google Cloud Storage][15] con los permisos necesarios (acceso al bucket) -## Información general - -Para utilizar Google Cloud Cost Management en Datadog, sigue estos pasos: -1. Configura la [integración Google Cloud Platform][12]. -2. Configura la [exportación de costes detallados de uso][13] con los permisos necesarios (API de Google Service, acceso a la exportación de proyectos y acceso a conjuntos de datos de BigQuery). -3. Crea o selecciona un [bucket de Google Cloud Storage][15] con los permisos necesarios (acceso a buckets). +## Configuración {#setup} -## Configuración +Puede configurar usando la [API][18], [Terraform][19], o directamente en Datadog siguiendo las instrucciones a continuación. -### Configurar la integración Google Cloud Platform -Ve a [Configuración][3] y selecciona una integración Google Cloud Platform. -Si no ves la cuenta de servicio que buscas en la lista, ve a la [integración Google Cloud Platform][4] para configurarla. +### Configure la integración de Google Cloud Platform {#configure-the-google-cloud-platform-integration} +Navegue a [Setup & Configuration][3], agregue una cuenta de Google Cloud Platform y siga los pasos para configurar la integración de Google Cloud Platform.
-La integración Datadog Google Cloud Platform permite a Cloud Cost monitorizar automáticamente todos los proyectos a los que esta cuenta de servicio tiene acceso. -Para limitar los hosts de monitorización de infraestructuras a estos proyectos, aplica etiquetas (tags) a los hosts. Luego, decide si las etiquetas deben incluirse o excluirse de la monitorización, en la sección Limitar los filtros para la recopilación de métricas de la página de la integración. +La integración de Google Cloud Platform de Datadog permite que Cloud Cost realice el seguimiento automático de todos los proyectos a los que esta cuenta de servicio tiene acceso. +Para limitar los hosts de monitoreo de infraestructura para estos proyectos, aplique etiquetas a los hosts. Luego defina si las etiquetas deben ser incluidas o excluidas del monitoreo en la sección {{< ui >}}Limit Metric Collection Filters{{< /ui >}} de la página de integración.
-{{< img src="cloud_cost/gcp_integration_limit_metric_collection.png" alt="Sección Limitar los filtros para la recopilación de métricas, configurada en la página de la integración Google Cloud Platform" >}} +{{< img src="cloud_cost/gcp_integration_limit_metric_collection.png" alt="Limite la sección de filtros de colección de métricas configurada en la página de integración de Google Cloud Platform" >}} -### Habilitar la exportación de costes detallados de uso +### Habilite la exportación detallada de costos de uso {#enable-detailed-usage-cost-export}
-Los datos de costes detallados de uso proporcionan toda la información incluida en los datos de costes de uso estándar, junto con campos adicionales que proporcionan datos granulares de costes a nivel de los recursos. +Los datos de costos de uso detallados proporcionan toda la información incluida en los datos estándar de costos de uso, junto con campos adicionales que ofrecen datos de costos a nivel de recurso.
- 1. Ve a [Exportación de la facturación][1] en la consola de Google Cloud *Facturación*. - 2. Habilita la exportación de [costes detallados de uso][2] (selecciona o crea un proyecto y un conjunto de datos de BigQuery). - 3. Documenta el `Billing Account ID` de la cuenta de facturación donde se configuró la exportación, así como la exportación `Project ID` y `Dataset Name`. + 1. Navegar a [Exportación de Facturación][1] en la consola de Google Cloud *Facturación*. + 2. Habilitar la exportación de [Costo de Uso Detallado][2] (seleccionar o crear un proyecto y un conjunto de datos de BigQuery). + 3. Documente el {{< ui >}}Billing Account ID{{< /ui >}} para la cuenta de facturación donde se configuró la exportación, así como la exportación {{< ui >}}Project ID{{< /ui >}} y {{< ui >}}Dataset Name{{< /ui >}}. + +{{< img src="cloud_cost/billing_export.png" alt="Información del proyecto de Google Cloud y del conjunto de datos resaltada" >}} + +_Los conjuntos de datos de exportación de facturación de BigQuery recién creados solo contienen los dos meses más recientes de datos. Puede tardar uno o dos días en que estos datos se completen en BigQuery._ + +#### Habilitar las API de Servicios de Google {#enable-google-service-apis} +Los siguientes permisos permiten a Datadog acceder y transferir la exportación de facturación al bucket de almacenamiento utilizando una consulta programada de BigQuery. + +- Habilitar la [API de BigQuery][5]. + 1. En la consola de Google Cloud, vaya a la página de selección de proyecto y seleccione su proyecto de Google Cloud. + 2. Habilite la facturación en su proyecto para todas las transferencias. + +- Habilite el [Servicio de Transferencia de Datos de BigQuery][5]. + 1. Abra la página de la API de Transferencia de Datos de BigQuery en la biblioteca de API. + 2. En el menú desplegable, seleccione el proyecto que contiene la cuenta de servicio. + 3. Haga clic en el botón {{< ui >}}ENABLE{{< /ui >}}. + + **Nota:** La API de Transferencia de Datos de BigQuery debe habilitarse en el proyecto de Google que contiene la cuenta de servicio. + +{{< tabs >}} -{{< img src="cloud_cost/billing_export.png" alt="Información resaltada del conjunto de datos y del proyecto de Google Cloud" >}} +{{% tab "Terraform" %}} -_La exportación de conjuntos de datos de facturación de BigQuery recién creada sólo contiene los datos de los dos meses más recientes. Estos datos pueden tardar uno o dos días en rellenarse en BigQuery._ +{{< img src="cloud_cost/setup/gcp_terraform_setup.png" alt="Formulario de configuración de Cloud Cost Management en modo Terraform" style="width:100%" >}} -#### Habilitar las API de Google Service -Los siguientes permisos permiten a Datadog acceder a la exportación de la facturación y transferirla al bucket de almacenamiento mediante una consulta programada a BigQuery. +### Defina detalles de configuración {#define-configuration-details} -- Habilita la [API de BigQuery][5]. - 1. En la consola de Google Cloud, ve a la página del selector de proyectos y selecciona tu proyecto de Google Cloud. - 2. Habilita la facturación en tu proyecto para todas las transferencias. +Ingrese los siguientes detalles para su configuración: -- Habilita el [servicio de transferencia de datos de BigQuery][5]. - 1. Abre la página de la API de transferencia de datos de BigQuery en la librería de la API. - 2. En el menú desplegable, selecciona el proyecto que contiene la cuenta de servicio. - 3. Haz clic en el botón ENABLE (Habilitar). +* **Bucket de almacenamiento de GCP**: Seleccione **Sí** para crear un bucket de almacenamiento, o seleccione **No** para usar un bucket existente. - **Nota:** La API de transferencia de datos de BigQuery debe estar habilitada en el proyecto de Google que contiene la cuenta de servicio. + **Nota**: Si utiliza un bucket existente, verifique que el bucket esté ubicado junto con el conjunto de datos de exportación de BigQuery. +* **Nombre del bucket**: El nombre de su nuevo bucket de almacenamiento de GCP o de uno existente. +* **Región**: La región de GCP de su bucket. Por ejemplo, `northamerica-northeast1`. +* **ID de cuenta de facturación**: El ID de la cuenta de facturación que reporta los costos de su exportación de uso. +* **Nombre e ID del proyecto de exportación**: El nombre y el ID de su proyecto de exportación. +* **Nombre e ID del conjunto de datos de exportación**: El nombre y el ID de su conjunto de datos de exportación. -#### Configurar el acceso a la exportación de proyectos -[Añade la cuenta de servicio como elemento principal en el recurso del proyecto de exportación de conjuntos de datos][7]: -1. Ve a la página de IAM en la consola de Google Cloud y selecciona el proyecto de exportación de conjuntos de datos. -2. Selecciona la cuenta de servicio como elemento principal. -3. Selecciona un rol con los siguientes permisos para otorgar desde la lista desplegable: +### Crear exportación de costos y habilitar APIs de Google Service {#create-cost-export-and-enable-google-service-apis} + +Complete los pasos de [Habilitar exportación de costos de uso detallado](#enable-detailed-usage-cost-export) y [Habilitar APIs de Google Service](#enable-google-service-apis) anteriores, luego regrese a CCM. + +### Copie el HCL de Terraform generado y aplique los cambios {#copy-generated-terraform-hcl-and-apply-changes} + +En la interfaz de usuario de configuración de Terraform de CCM, siga las instrucciones en el paso **Aplicar configuración de Terraform**. Resuelva cualquier problema que aparezca al ejecutar `terraform plan` o `terraform apply` antes de regresar a CCM para confirmar la creación de la cuenta. + +{{% /tab %}} + +{{% tab "Manual" %}} + +{{< img src="cloud_cost/setup/gcp_manual_setup.png" alt="Formulario de configuración de Cloud Cost Management en modo manual" style="width:100%" >}} + +#### Configure el acceso al proyecto de exportación {#configure-export-project-access} +[Agregue la cuenta de servicio como un principal en el recurso del proyecto del conjunto de datos de exportación][7]: +1. Navegue a la página de IAM en la consola de Google Cloud y seleccione el proyecto del conjunto de datos de exportación. +2. Seleccione la cuenta de servicio como un principal. +3. Seleccione un rol con los siguientes permisos para otorgar desde la lista desplegable: * `bigquery.jobs.create` * `bigquery.transfers.get` * `bigquery.transfers.update` - **Nota:** Puede ser un rol personalizado o puedes utilizar el rol de Google Cloud `roles/bigquery.admin` existente. + **Nota:** Esto puede ser un rol personalizado, o puede usar el rol existente de Google Cloud `roles/bigquery.admin`. -#### Configurar el acceso a la exportación de conjuntos de datos de BigQuery -[Añade la cuenta de servicio como elemento principal en el recurso de exportación de conjuntos de datos de BigQuery][8]: -1. En el panel del Explorador de la página de BigQuery, expande tu proyecto y selecciona la exportación de conjuntos de datos de BigQuery. -2. Haz clic en **Sharing > Permissions** (Compartir > Permisos) y luego en **add principal** (añadir elemento principal). -3. En el campo de nuevos elementos principales, introduce la cuenta de servicio. -4. Utilizando la lista de selección de un rol, asigna un rol con los siguientes permisos: +#### Configure el acceso al conjunto de datos de exportación de BigQuery {#configure-export-bigquery-dataset-access} +[Agregue la cuenta de servicio como un principal en el recurso del conjunto de datos de exportación de BigQuery][8]: +1. En el panel del explorador en la página de BigQuery, expanda su proyecto y seleccione el conjunto de datos de exportación de BigQuery. +2. Haz clic en {{< ui >}}Sharing{{< /ui >}} > {{< ui >}}Permissions{{< /ui >}} y luego en {{< ui >}}add principal{{< /ui >}}. +3. En el nuevo campo de principales, ingrese la cuenta de servicio. +4. Usando la lista de selección de roles, asigne un rol con los siguientes permisos: * `bigquery.datasets.get` * `bigquery.tables.create` * `bigquery.tables.delete` @@ -91,111 +126,122 @@ Los siguientes permisos permiten a Datadog acceder a la exportación de la factu * `bigquery.tables.update` * `bigquery.tables.updateData` - **Nota:** Puede ser un rol personalizado o puedes utilizar el rol de Google Cloud `roles/bigquery.dataEditor` existente. - -### Crear o seleccionar un bucket de Google Cloud Storage -Utiliza un bucket de Google Cloud Storage existente o crea uno nuevo. -Los datos se extraen periódicamente de tu conjunto de datos detallados de uso de BigQuery y se transfieren al bucket seleccionado, que tiene el prefijo `datadog_cloud_cost_detailed_usage_export`. + **Nota:** Esto puede ser un rol personalizado, o puede usar el rol existente de Google Cloud `roles/bigquery.dataEditor`. -**Nota:** El bucket [debe estar ubicado junto][9] al conjunto de datos de exportación de BigQuery. - -#### Configurar el acceso al bucket -[Añade la cuenta de servicio como elemento principal en el recurso del bucket de GCS][6]: -1. Accede a la página de buckets de Cloud Storage en la consola de Google Cloud y selecciona tu bucket. -2. Selecciona la pestaña de permisos y haz clic en el botón **grant access** (conceder acceso). -3. En el campo de nuevos elementos principales, introduce la cuenta de servicio. -4. Asigna un rol con los siguientes permisos: +#### Configure el acceso al bucket {#configure-bucket-access} +[Agregue la cuenta de servicio como un principal en el recurso del bucket de GCS][6]: +1. Navegue a la página de Buckets de Cloud Storage en la consola de Google Cloud y seleccione su bucket. +2. Seleccione la pestaña de permisos y haga clic en el botón {{< ui >}}grant access{{< /ui >}}. +3. En el nuevo campo de principales, ingrese la cuenta de servicio. +4. Asigne un rol con los siguientes permisos: * `storage.buckets.get` * `storage.objects.create` * `storage.objects.delete` * `storage.objects.get` * `storage.objects.list` - **Nota:** Puede ser un rol personalizado o puedes utilizar los roles de Google Cloud `roles/storage.legacyObjectReader` y `roles/storage.legacyBucketWriter` existentes. + **Nota:** Esto puede ser un rol personalizado, o puedes usar los roles existentes de Google Cloud `roles/storage.legacyObjectReader` y `roles/storage.legacyBucketWriter`. + +[6]: https://cloud.google.com/storage/docs/access-control/using-iam-permissions#bucket-add +[7]: https://cloud.google.com/iam/docs/granting-changing-revoking-access#grant-single-role +[8]: https://cloud.google.com/bigquery/docs/control-access-to-resources-iam#grant_access_to_a_dataset + +{{% /tab %}} + +{{< /tabs >}} + +### Cree o seleccione un bucket de Google Cloud Storage {#create-or-select-a-google-cloud-storage-bucket} +Cloud Cost Management utiliza un bucket de GCP para recibir datos extraídos de su conjunto de datos de costos de uso detallado de BigQuery (prefijado con `datadog_cloud_cost_detailed_usage_export`). Puedes crear un nuevo bucket o usar uno existente. -### (Opcional) Configura la autorización de servicios entre proyectos: -Si tu cuenta de servicio integrada ya existe en un proyecto de Google Cloud Platform diferente al de exportación del conjunto de datos de la facturación, debes [conceder una autorización de cuenta de servicio entre proyectos][10]: +**Nota:** El bucket [debe estar co-localizado][9] con el conjunto de datos de exportación de BigQuery. -1. Activa la creación del agente de servicio siguiendo la [documentación oficial][11] y utilizando los siguientes valores: - * ENDPOINT: `bigquerydatatransfer.googleapis.com` - * TIPO_DE_RECURSO: `project` - * ID_DE_RECURSO: exportar el proyecto de conjunto de datos

+### (Opcional) Configure la autorización de servicio entre proyectos: {#optional-configure-cross-project-service-authorization} +Si su Cuenta de Servicio integrada existe en un proyecto diferente de Google Cloud Platform que su conjunto de datos de exportación de facturación, necesita [otorgar autorización de cuenta de servicio entre proyectos][10]: - Esto crea un nuevo agente de servicio similar a `service-@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com`. +1. Active la creación del agente de servicio siguiendo la [documentación oficial][11] utilizando los siguientes valores: + * PUNTO DE CONEXIÓN: `bigquerydatatransfer.googleapis.com` + * TIPO DE RECURSO: `project` + * ID DE RECURSO: proyecto del conjunto de datos de exportación

+ Esto crea un nuevo agente de servicio que se parece a `service-@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com`. -2. Añade el rol de cuenta de servicio de transferencia de datos de BigQuery creado por el activador como elemento principal en tu cuenta de servicio. -3. Asígnale el rol `roles/iam.serviceAccountTokenCreator`. -### Configurar Cloud Cost -Sigue los pasos indicados en [Configuración][3]. +2. Agregue el rol de Cuenta de Servicio del Servicio de Transferencia de Datos de BigQuery creado por el disparador como un principal en su cuenta de servicio +3. Asigne el rol `roles/iam.serviceAccountTokenCreator`. -**Nota**: Los datos pueden tardar entre 48 y 72 horas en estabilizarse en Datadog. +### Configure el Cloud Cost {#configure-cloud-cost} +Siga los pasos indicados en [Setup & Configuration][3]. -## Tipos de costes -Puedes visualizar tus datos ingeridos utilizando los siguientes tipos de costes: +**Nota**: Los datos pueden tardar de 48 a 72 horas después de la configuración para estabilizarse en Datadog. -| Tipo de coste | Descripción | +### Obteniendo datos históricos {#getting-historical-data} + +Los conjuntos de datos de exportación de facturación de BigQuery recién creados solo contienen los 2 meses más recientes de datos. Puede tardar uno o dos días en que estos datos se rellenen en BigQuery. Datadog ingiere automáticamente hasta 15 meses de datos históricos de costos disponibles una vez que aparecen en la tabla de BigQuery. + +Google Cloud no proporciona un proceso para rellenar datos históricos adicionales, más allá de los 2 meses que se incluyen automáticamente cuando se crea por primera vez la exportación de BigQuery. + +## Tipos de costo {#cost-types} +Puede visualizar sus datos ingeridos utilizando los siguientes tipos de costo: + +| Tipo de Costo | Descripción | |-------------------------------------------------| ----------------------------------| -| `gcp.cost.amortized` | Coste total de los recursos asignados en el momento del uso en un intervalo. Los costes incluyen los créditos de promoción, así como los créditos de descuento por compromiso de uso. | -| `gcp.cost.amortized.shared.resources.allocated` | Todos tus costes de Google Cloud Platform amortizados, con desgloses e información adicional de las cargas de trabajo de contenedor. Requiere la [asignación de costes de contenedor][14].| -| `gcp.cost.ondemand` | Coste total público y a la carta de los recursos antes de aplicar los descuentos públicos y privados en un intervalo. | +| `gcp.cost.amortized` | Costo total de los recursos asignados en el momento de uso durante un intervalo. Los costos incluyen créditos de promoción así como créditos de descuento por uso comprometido. | +| `gcp.cost.amortized.shared.resources.allocated` | Todos sus costos amortizados de Google Cloud Platform, con desgloses e información adicional para cargas de trabajo en contenedores. Requiere [Asignación de Costos de Contenedores][14].| +| `gcp.cost.ondemand` | Costo total público y bajo demanda de los recursos antes de que se apliquen los descuentos públicos y privados durante un intervalo. | -### Etiquetas predefinidas -Datadog añade etiquetas a los datos de costes ingeridos para ayudarte a desglosar y asignar mejor tus costes. Estas etiquetas provienen de tu [informe de costes detallados de uso][16] y facilitan la detección y la comprensión de los datos de costes. +### Etiquetas predeterminadas {#out-of-the-box-tags} -Las siguientes etiquetas predefinidas están disponibles para filtrar y agrupar datos: +Datadog enriquece automáticamente sus datos de costos de Google Cloud con etiquetas de múltiples fuentes. Para una visión general completa de cómo se aplican las etiquetas a los datos de costos, consulte [Etiquetas][17]. + +Las siguientes etiquetas predeterminadas se derivan de su [informe detallado de costos de uso][16] y facilitan el descubrimiento y la comprensión de los datos de costos: | Nombre de la etiqueta | Descripción de la etiqueta | | ---------------------------- | ----------------- | -| `google_product` | Servicio Google que se está facturando.| -| `google_cost_type` | Tipo de cargo cubierto por esta partida (por ejemplo, regular, impuesto, ajuste o error de redondeo).| -| `google_usage_type` | Detalles de uso de la partida (por ejemplo, Almacenamiento estándar US).| -| `google_location` | Localización asociada a la partida a nivel de varias regiones, país, región o zona.| -| `google_region` | Región asociada a la partida.| -| `google_zone` | Zona de disponibilidad asociada a la partida.| -| `google_pricing_usage_unit` | Unidad de precio utilizada para calcular el coste de uso (por ejemplo, gibibyte, tebibyte o año).| -| `google_is_unused_reservation`| Si el uso se reservó pero no se utilizó.| -| `service_description` | Servicio Google Cloud (como Compute Engine o BigQuery). | -| `project_id` | ID del proyecto de Google Cloud que generó los datos de facturación de Cloud. | -| `project_name` | Nombre del proyecto de Google Cloud que generó los datos de facturación de Cloud. | -| `cost_type` | Tipo de coste que representa esta partida: `regular`, `tax`, `adjustment` o `rounding error`. | -| `sku_description` | Descripción del tipo de recurso utilizado, que describe los detalles de uso del recurso. | -| `resource_name` | Nombre que los clientes añaden a los recursos. Puede que no aparezca en todos los recursos. | -| `global_resource_name` | Identificador de recurso único global generado por Google Cloud. | - -#### Correlación entre costes y observabilidad - -Visualizar los costes en el contexto de los datos de observabilidad es importante para comprender cómo afectan los cambios de infraestructura a los costes, identificar por qué cambian los costes y optimizar la infraestructura, tanto en los costes como en el rendimiento. Datadog actualiza el recurso identificando etiquetas en los datos de costes de los principales productos Google para simplificar la correlación entre la observabilidad y las métricas de costes. - -Por ejemplo, para ver el coste y el uso de cada base de datos Cloud SQL, puedes crear una tabla con `gcp.cost.amortized`, `gcp.cloudsql.database.cpu.utilization` y `gcp.cloudsql.database.memory.utilization` (o cualquier otra métrica de Cloud SQL) y agrupar por `database_id`. O, para ver el uso y los costes de Cloud Function uno al lado del otro, puedes hacer un gráfico con `gcp.cloudfunctions.function.execution_count` y `gcp.cost.amortized` agrupados por `function_name`. - -Están disponibles las siguientes etiquetas predefinidas: -| Producto Google | Etiqueta(s) | +| `google_product` | El servicio de Google que se está facturando.| +| `google_cost_type` | El tipo de cargo cubierto por este ítem (por ejemplo, regular, impuesto, ajuste o error de redondeo).| +| `google_usage_type` | Los detalles de uso del ítem (por ejemplo, Almacenamiento Estándar EE. UU.).| +| `google_location` | La ubicación asociada con el ítem a nivel de multi-región, país, región o zona.| +| `google_region` | La región asociada con el ítem.| +| `google_zone` | La zona de disponibilidad asociada con el ítem.| +| `google_pricing_usage_unit` | La unidad de precio utilizada para calcular el costo de uso (por ejemplo, gibibyte, tebibyte o año).| +| `google_is_unused_reservation`| Si el uso fue reservado pero no utilizado.| +| `service_description` | El servicio de Google Cloud (como Compute Engine o BigQuery). | +| `project_id` | El ID del proyecto de Google Cloud que generó los datos de facturación en la nube. | +| `project_name` | El nombre del proyecto de Google Cloud que generó los datos de facturación en la nube. | +| `cost_type` | El tipo de costo que representa este ítem: `regular`, `tax`, `adjustment` o `rounding error`. | +| `sku_description` | Una descripción del tipo de recurso utilizado, que detalla el uso del recurso. | +| `resource_name` | Un nombre que los clientes añaden a los recursos. Esto puede no estar en todos los recursos. | +| `global_resource_name` | Un identificador de recurso globalmente único generado por Google Cloud. | + +#### Correlación de costos y observabilidad {#cost-and-observability-correlation} + +Ver los costos en el contexto de los datos de observabilidad es importante para entender cómo los cambios en la infraestructura impactan los costos, identificar por qué cambian los costos y optimizar la infraestructura tanto para costos como para rendimiento. Datadog actualiza las etiquetas identificativas de recursos en los datos de costos para los principales productos de Google para simplificar la correlación entre métricas de observabilidad y costos. + +Por ejemplo, para ver el costo y la utilización de cada base de datos de Cloud SQL, puede crear una tabla con `gcp.cost.amortized`, `gcp.cloudsql.database.cpu.utilization` y `gcp.cloudsql.database.memory.utilization` (o cualquier otra métrica de Cloud SQL) y agrupar por `database_id`. O, para ver el uso y los costos de Cloud Functions lado a lado, puede graficar `gcp.cloudfunctions.function.execution_count` y `gcp.cost.amortized` agrupados por `function_name`. + +Las siguientes etiquetas listas para usar están disponibles: +| Producto de Google | Etiqueta(s) | | -------------------| ----------------------------- | -| Compute Engine | `instance_id`, `instance-type` | -| Cloud Functions | `function_name` | -| Cloud Run | `job_name`, `service_name` | -| Cloud SQL | `database_id` | -| Cloud Spanner | `instance_id` | -| App Engine | `module_id` | -| BigQuery | `project_id`, `dataset_id` | -| Kubernetes Engine | `cluster_name` | - -### Asignación de contenedor -Las métricas de **Asignación de contenedor** contienen todos los mismos costes que las métricas de Google Cloud Platform, pero con desgloses e información adicional de las cargas de trabajo de contenedor. Para obtener más información, consulta [Asignación de costes de contenedor][14]. - -## Referencias adicionales +| Compute Engine | `instance_id`, `instance-type`| +| Cloud Functions | `function_name` | +| Cloud Run | `job_name`, `service_name` | +| Cloud SQL | `database_id` | +| Cloud Spanner | `instance_id` | +| App Engine | `module_id` | +| BigQuery | `project_id`, `dataset_id` | +| Kubernetes Engine | `cluster_name` | + +### Asignación de contenedores {#container-allocation} +**Las métricas de asignación de contenedores** contienen todos los mismos costos que las métricas de Google Cloud Platform, pero con desgloses e información adicional para cargas de trabajo de contenedores. Consulte [Asignación de Costos de Contenedores][14] para más detalles. + +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: https://console.cloud.google.com/billing/export/ [2]: https://cloud.google.com/billing/docs/how-to/export-data-bigquery-setup -[3]: https://app.datadoghq.com/cost/setup?cloud=gcp +[3]: https://app.datadoghq.com/cost/setup [4]: https://app.datadoghq.com/integrations/google-cloud-platform [5]: https://cloud.google.com/bigquery/docs/enable-transfer-service -[6]: https://cloud.google.com/storage/docs/access-control/using-iam-permissions#bucket-add -[7]: https://cloud.google.com/iam/docs/granting-changing-revoking-access#grant-single-role -[8]: https://cloud.google.com/bigquery/docs/control-access-to-resources-iam#grant_access_to_a_dataset [9]: https://cloud.google.com/bigquery/docs/exporting-data#data-locations [10]: https://cloud.google.com/bigquery/docs/enable-transfer-service#cross-project_service_account_authorization [11]: https://cloud.google.com/iam/docs/create-service-agents#create @@ -204,3 +250,6 @@ Las métricas de **Asignación de contenedor** contienen todos los mismos costes [14]: /es/cloud_cost_management/container_cost_allocation/ [15]: /es/cloud_cost_management/setup/google_cloud/#create-or-select-a-google-cloud-storage-bucket [16]: https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables/detailed-usage +[17]: /es/cloud_cost_management/tags +[18]: /es/api/latest/cloud-cost-management/#create-google-cloud-usage-cost-config +[19]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/gcp_uc_config \ No newline at end of file diff --git a/content/es/containers/autoscaling/_index.md b/content/es/containers/autoscaling/_index.md new file mode 100644 index 00000000000..2a44410e1fe --- /dev/null +++ b/content/es/containers/autoscaling/_index.md @@ -0,0 +1,657 @@ +--- +aliases: +- /es/containers/monitoring/autoscaling +description: Escala automáticamente las cargas de trabajo de Kubernetes utilizando + métricas de Datadog y recomendaciones inteligentes de escalado. +further_reading: +- link: /infrastructure/containers/kubernetes_resource_utilization + tag: Documentación + text: Utilización de Recursos de Kubernetes +- link: /account_management/rbac/permissions + tag: Documentación + text: Permisos de Rol de Datadog +- link: /agent/remote_config/ + tag: Documentación + text: Remote Configuration +- link: https://www.datadoghq.com/blog/autoscaling-custom-metrics + tag: Blog + text: Escalando cargas de trabajo de Kubernetes con métricas personalizadas +- link: https://www.datadoghq.com/blog/kubernetes-custom-query-autoscaling + tag: Blog + text: Optimiza las cargas de trabajo de Kubernetes con Custom Query Scaling. +- link: https://www.datadoghq.com/blog/ddot-gateway + tag: Blog + text: Centraliza y gobierna tu canalización de OpenTelemetry con el gateway DDOT. +- link: https://www.datadoghq.com/blog/datadog-kubernetes-autoscaling/ + tag: Blog + text: Ajusta las cargas de trabajo y reduce costos con el escalado automático de + Kubernetes de Datadog +title: Kubernetes Autoscaling +--- +{{< site-region region="gov,gov2" >}} +
+ Esta función no está disponible para Datadog for Government ({{< region-param key="dd_datacenter" >}}) site. +
+{{< /site-region >}} + +Datadog Kubernetes Autoscaling monitorea continuamente sus recursos de Kubernetes para proporcionar recomendaciones de escalado inmediatas y un escalado multidimensional de sus cargas de trabajo de Kubernetes. Puede implementar Datadog Kubernetes Autoscaling a través de la interfaz web de Datadog, o con un recurso personalizado `DatadogPodAutoscaler`. + +## Cómo funciona {#how-it-works} +Datadog utiliza métricas de utilización en tiempo real e históricas y señales de eventos de sus Datadog Agents existentes para hacer recomendaciones. Luego puede examinar estas recomendaciones y elegir implementarlas. + +Por defecto, Datadog Kubernetes Autoscaling utiliza valores estimados del costo de CPU y memoria para mostrar oportunidades de ahorro y estimaciones de impacto. También puede usar Datadog Kubernetes Autoscaling junto con [Cloud Cost Management](#idle-cost-and-savings-estimates) para obtener informes basados en los costos exactos de su tipo de instancia. + +El escalado automatizado de cargas de trabajo es impulsado por un `DatadogPodAutoscaler` recurso personalizado que define el comportamiento de escalado a nivel de cada carga de trabajo. El Datadog Cluster Agent actúa como el controlador de este recurso personalizado. + +**Nota:** Cada clúster puede tener un máximo de 1000 cargas de trabajo optimizadas con Datadog Kubernetes Autoscaling. + +### Compatibilidad {#compatibility} + +- **Distribuciones**: Esta función es compatible con todas las [distribuciones de Kubernetes soportadas][5] por Datadog. +- **Autoscaling de cargas de trabajo**: Esta función es una alternativa al Horizontal Pod Autoscaler (HPA) y al Vertical Pod Autoscaler (VPA). Datadog recomienda que elimine cualquier HPA o VPA de una carga de trabajo al habilitar Datadog Kubernetes Autoscaling para optimizarla. Estas cargas de trabajo son identificadas en la aplicación en su nombre. +**Nota:** Puede experimentar con Datadog Kubernetes Autoscaling mientras mantiene su HPA y/o VPA creando un `DatadogPodAutoscaler` con `mode: Preview` en la sección `applyPolicy`. + +### Requisitos {#requirements} + +- [Remote Configuration][1] debe estar habilitado tanto a nivel de organización como en los Agentes de su clúster objetivo. Consulte [Enabling Remote Configuration][2] para obtener instrucciones de configuración. +- [Helm][3], para actualizar su Datadog Agent. +- (Para usuarios de Datadog Operator) [`kubectl` CLI][4], para actualizar el Datadog Agent. +- Cuando esté utilizando autoscaling en vivo, Datadog recomienda usar la última versión del Datadog Agent. Esto ayuda a garantizar el acceso a las últimas mejoras y optimizaciones. Las recomendaciones de escalado requieren que la integración [Kubernetes State Core][9] esté habilitada.

+ + | Función | Versión Mínima del Agente | + |---------|----------------------| + | Recomendaciones de escalado de carga de trabajo en la aplicación | 7.50+ | + | Escalado de carga de trabajo en vivo | 7.66.1+ | + | Recomendaciones de Argo Rollout y escalado automático | 7.71+ | + | Escalado automático de clúster ([inscripción previa][10]) | 7.72+ | + | Redimensionamiento vertical de pod en su lugar (opción activa) | 7.78+ | + | Activación del perfil del clúster, etiqueta de carga de trabajo | 7.78+ | + | Activación del perfil del clúster, etiqueta de espacio de nombres | 7.79+ | + +- Los siguientes permisos de usuario: + - Gestión de organización (requerido para configuración remota) + - Escritura de clave de API (requerido para configuración remota) + - Escritura de escalado de carga de trabajo + - Gestión de escalado automático +- (Recomendado) Núcleo de Linux v5.19+ y cgroup v2 + +## Configuración {#setup} + +{{< tabs >}} +{{% tab "Datadog Operator" %}} + +1. Asegúrese de estar utilizando Datadog Operator v1.16.0+. Para actualizar su Datadog Operator: + +```shell +helm upgrade datadog-operator datadog/datadog-operator +``` + +2. Agregue lo siguiente a su archivo de configuración `datadog-agent.yaml`: + +```yaml +spec: + features: + autoscaling: + workload: + enabled: true + eventCollection: + unbundleEvents: true + override: + clusterAgent: + env: + - name: DD_AUTOSCALING_FAILOVER_ENABLED + value: "true" + nodeAgent: + env: + - name: DD_AUTOSCALING_FAILOVER_ENABLED + value: "true" +``` + +3. [Admission Controller][1] está habilitado por defecto con Datadog Operator. Si lo deshabilitó, vuelva a habilitarlo agregando las siguientes líneas resaltadas a `datadog-agent.yaml`: + +{{< highlight yaml "hl_lines=4-5" >}} +... +spec: + features: + admissionController: + enabled: true +... +{{< /highlight >}} + +4. Aplique la configuración actualizada de `datadog-agent.yaml`: + +```shell +kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml +``` + +[1]: /es/containers/cluster_agent/admission_controller/ + +{{% /tab %}} +{{% tab "Helm" %}} + +1. Asegúrese de estar utilizando Agent y Cluster Agent v7.66.1+. Agregue lo siguiente a su archivo de configuración `datadog-values.yaml`: + +```yaml +datadog: + autoscaling: + workload: + enabled: true + kubernetesEvents: + unbundleEvents: true +``` + +2. [Admission Controller][1] está habilitado por defecto en el Datadog Helm chart. Si lo deshabilitó, vuelva a habilitarlo agregando las siguientes líneas resaltadas a `datadog-values.yaml`: +{{< highlight yaml "hl_lines=5-6" >}} +... +clusterAgent: + admissionController: + enabled: true +... +{{< /highlight >}} + +3. Actualice su versión de Helm: + +```shell +helm repo update +``` + +4. Vuelva a desplegar Datadog Agent con su `datadog-values.yaml` actualizado: + +```shell +helm upgrade -f datadog-values.yaml datadog/datadog +``` + +[1]: /es/containers/cluster_agent/admission_controller/ + +{{% /tab %}} +{{< /tabs >}} + +### Estimaciones de costos y ahorros inactivos {#idle-cost-and-savings-estimates} + +{{< tabs >}} +{{% tab "Con Cloud Cost Management" %}} +Si [Cloud Cost Management][1] está habilitado en una organización, Datadog Kubernetes Autoscaling muestra estimaciones de costos inactivos y ahorros basados en el costo exacto de su factura de las instancias monitoreadas subyacentes. + +Consulta las instrucciones de configuración de Cloud Cost para [AWS][2], [Azure][3] o [Google Cloud][4]. + +Los datos de Cloud Cost Management mejoran Datadog Kubernetes Autoscaling, pero no son obligatorios. Todas las recomendaciones de carga de trabajo y decisiones de autoscaling de Datadog son válidas y funcionales sin Cloud Cost Management. + +[1]: /es/cloud_cost_management +[2]: /es/cloud_cost_management/aws +[3]: /es/cloud_cost_management/azure +[4]: /es/cloud_cost_management/google_cloud +{{% /tab %}} + +{{% tab "Predeterminado" %}} +Si Cloud Cost Management **no** está habilitado, Datadog Kubernetes Autoscaling muestra estimaciones de costos inactivos y ahorros utilizando las siguientes fórmulas y valores fijos: + +**Inactividad del clúster**: + +``` + (cpu_capacity - max(cpu_usage, cpu_requests)) * core_rate_per_hour ++ (mem_capacity - max(mem_usage, mem_requests)) * memory_rate_per_hour +``` + +**Carga de trabajo inactiva**: + +``` + (max(cpu_usage, cpu_requests) - cpu_usage) * core_rate_per_hour ++ (max(mem_usage, mem_requests) - mem_usage) * memory_rate_per_hour +``` + +**Valores fijos**: +- tasa_núcleo_por_hora = $0.0295 por hora de núcleo de CPU +- tasa_memoria_por_hora = $0.0053 por hora de GB de memoria + + +_Los valores de costo fijo están sujetos a refinamiento con el tiempo._ +{{% /tab %}} +{{< /tabs >}} + +## Uso {#usage} + +### Identificar recursos para ajustar {#identify-resources-to-rightsize} + +La [página de Resumen de Escalado Automático][6] proporciona un punto de partida para que los equipos de plataforma comprendan las oportunidades de ahorro total de Recursos de Kubernetes en una organización, y filtren hacia clústeres y espacios de nombres clave. + +La [página de Configuración][11] ofrece la opción de seleccionar múltiples cargas de trabajo para escalar y gestionar su optimización en lotes. + +La [vista de Escalado de Clúster][7] proporciona información por clúster sobre el total de CPU inactiva, total de memoria inactiva y costos. + +Haga clic en un clúster para obtener información detallada y una tabla de las cargas de trabajo del clúster ordenadas por ahorros estimados. Si usted es un propietario de aplicación o servicio individual, también puede filtrar por el nombre de su equipo o servicio directamente desde la [vista de lista de Escalado de Carga de Trabajo][8]. + +Desde cualquiera de estas vistas, haga clic en {{< ui >}}Optimize{{< /ui >}} en una carga de trabajo para ver su recomendación de escalado, luego proceda a [Habilitar Escalado Automático para una carga de trabajo](#enable-autoscaling-for-a-workload). + +### Habilitar Escalado Automático para una carga de trabajo {#enable-autoscaling-for-a-workload} + +Después de identificar una carga de trabajo para optimizar, inspeccione su {{< ui >}}Scaling Recommendation{{< /ui >}}. Haga clic en {{< ui >}}Configure Recommendation{{< /ui >}} para agregar restricciones o ajustar los niveles de utilización objetivo antes de habilitar. + +Hay tres formas de habilitar el escalado automático para una carga de trabajo. Elija el camino que coincida con la forma en que despliega cargas de trabajo hoy. + +| Ruta | Mejor para | Dónde comenzar | Gestión continua | +|------|----------|-----------------|--------------------| +| **A. Asistente de configuración de la interfaz de usuario de Datadog** | Comience rápidamente y ajuste la configuración con retroalimentación visual inmediata, o empodere a sus equipos de aplicación para tomar mejores decisiones de configuración de escalado | [Página de configuración][11] en la interfaz de usuario de Datadog | Edite la carga de trabajo `DatadogPodAutoscaler` desde la interfaz o su clúster | +| **B. Redacte un `DatadogPodAutoscaler` manifiesto** | Flujos de trabajo existentes para enviar manifiestos de Kubernetes (`kubectl`, Helm, ArgoCD, Terraform u otras herramientas de GitOps) | YAML escrito a mano o generado a partir de plantillas aplicado a través de la herramienta que ya utiliza | Edite el manifiesto y reaplique a través de la misma herramienta | +| **C. Aplicar un [perfil de clúster](#cluster-profiles) etiqueta** | Activar el escalado automático en muchas cargas de trabajo o espacios de nombres con una única política compartida | Etiquete la carga de trabajo o el espacio de nombres con `autoscaling.datadoghq.com/profile` | Edite el perfil para actualizar cada carga de trabajo que gestiona, o mueva cargas de trabajo entre perfiles cambiando la etiqueta | + +#### Ruta A: Datadog UI {#path-a-datadog-ui} + +La forma más rápida de comenzar es la [Setup page][11] en Datadog UI. El asistente lo guía a través de cinco pasos: seleccionar un clúster, verificar los requisitos del agente y de permisos, elegir un método de instalación, seleccionar una plantilla de escalado y desplegar. Plantillas disponibles en el asistente: + +- **Optimizar costo**: objetivo de alta utilización de CPU, reducción agresiva, piso de réplicas más bajo. Mejor para cargas de trabajo sin estado y sensibles al costo. +- **Optimizar balance**: objetivo de utilización moderada, escalado equilibrado hacia arriba y hacia abajo. Mejor para la mayoría de las cargas de trabajo sin estado. +- **Optimizar rendimiento**: objetivo de utilización conservadora, reducción lenta, piso de réplicas más alto. Mejor para servicios con estado o críticos. +- **Personalizar**: comience desde cualquiera de los anteriores y ajuste el objetivo de CPU, réplicas y ventanas de estabilización usted mismo. + +El asistente de configuración es mejor para probar el escalado automático en una sola carga de trabajo, interactuar con una recomendación o incorporar un pequeño conjunto de cargas de trabajo. (Requiere `Workload Scaling Write` y `Autoscaling Manage` permisos.) + +#### Ruta B: GitOps {#path-b-gitops} + +Defina un `DatadogPodAutoscaler` recurso personalizado que apunte a su carga de trabajo y aplíquelo a través de cualquier herramienta que ya use para enviar manifiestos de Kubernetes, ya sea `kubectl apply`, Helm, ArgoCD, Terraform u otra herramienta de GitOps. La redacción del manifiesto es la misma independientemente del mecanismo de entrega. Vea las [configuraciones de ejemplo](#example-datadogpodautoscaler-configurations) a continuación para puntos de partida listos para editar que cubren optimización de costos, escalado equilibrado, redimensionamiento vertical únicamente y escalado horizontal de consulta personalizada. + +Para guías específicas de herramientas, consulte: + +- [Gestionar DatadogPodAutoscaler con ArgoCD][12] +- [Gestionar DatadogPodAutoscaler con Terraform][13] + +### Ejemplos de configuraciones de DatadogPodAutoscaler {#example-datadogpodautoscaler-configurations} + +Los siguientes ejemplos demuestran configuraciones comunes `DatadogPodAutoscaler` para diferentes estrategias de escalado. Úselos como puntos de partida y ajuste los valores para que coincidan con los requisitos de su carga de trabajo. Si prefiere elegir una plantilla en la interfaz de usuario, siga [Ruta A](#path-a-datadog-ui-setup-wizard) arriba. + +{{< tabs >}} +{{% tab "Optimizar Costo" %}} + +Elija esta plantilla para una carga de trabajo sin estado, sensible a costos, donde el controlador debe eliminar capacidad rápidamente cuando la carga disminuye. La configuración definitoria es el objetivo de alta utilización de CPU (85%), combinado con una regla de reducción agresiva y un mínimo de una réplica. + +```yaml +apiVersion: datadoghq.com/v1alpha2 +kind: DatadogPodAutoscaler +metadata: + name: + namespace: +spec: + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: + owner: Local + applyPolicy: + mode: Apply + scaleDown: + rules: + # Aggressive: allow 50% reduction every 2 minutes + - periodSeconds: 120 + type: Percent + value: 50 + stabilizationWindowSeconds: 300 + scaleUp: + rules: + - periodSeconds: 120 + type: Percent + value: 50 + stabilizationWindowSeconds: 300 + update: + strategy: Auto + constraints: + maxReplicas: 100 + # Allow scaling down to 1 replica for maximum savings + minReplicas: 1 + objectives: + # High utilization target to maximize cost efficiency + - type: PodResource + podResource: + name: cpu + value: + type: Utilization + utilization: 85 +``` + +{{% /tab %}} +{{% tab "Optimizar Balance" %}} + +Elija esta plantilla cuando desee ahorros sin sacrificar disponibilidad. Es un valor predeterminado sensato para la mayoría de las cargas de trabajo sin estado. La configuración definitoria es el objetivo moderado de utilización de CPU (70%) emparejado con una reducción conservadora (20% cada 20 minutos) y un mínimo de dos réplicas. El controlador agrega capacidad rápidamente pero la elimina lentamente. + +```yaml +apiVersion: datadoghq.com/v1alpha2 +kind: DatadogPodAutoscaler +metadata: + name: + namespace: +spec: + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: + owner: Local + applyPolicy: + mode: Apply + scaleDown: + rules: + # Conservative: allow only 20% reduction every 20 minutes + - periodSeconds: 1200 + type: Percent + value: 20 + stabilizationWindowSeconds: 600 + scaleUp: + rules: + - periodSeconds: 120 + type: Percent + value: 50 + stabilizationWindowSeconds: 600 + update: + strategy: Auto + constraints: + maxReplicas: 100 + # Maintain at least 2 replicas for availability + minReplicas: 2 + objectives: + # Moderate utilization target balances cost and performance + - type: PodResource + podResource: + name: cpu + value: + type: Utilization + utilization: 70 +``` + +{{% /tab %}} +{{% tab "Vertical: CPU y memoria" %}} + +Elija esta plantilla cuando una carga de trabajo no pueda escalarse horizontalmente, o cuando desee un ajuste puro sin cambiar el número de réplicas. Los casos comunes son servicios singleton, cargas de trabajo con estado y componentes elegidos por un líder. La configuración definitoria es `scaleDown.strategy: Disabled` y `scaleUp.strategy: Disabled`, lo que deja solo `update.strategy: Auto` para aplicar recomendaciones de CPU y memoria. + +Por defecto, el controlador aplica recomendaciones verticales al activar un despliegue (desalojar y recrear pods). El Cluster Agent **7.78+** también admite **redimensionamiento de pods en su lugar**, lo que actualiza las solicitudes y límites de CPU y memoria de un pod sin reiniciarlo. El redimensionamiento en su lugar es opcional: configure `autoscaling.workload.in_place_vertical_scaling.enabled: true` en el Cluster Agent (o establezca la variable de entorno `DD_AUTOSCALING_WORKLOAD_IN_PLACE_VERTICAL_SCALING_ENABLED=true`). + +Su clúster también debe exponer el `pods/resize` subrecurso. Este es el valor predeterminado en Kubernetes 1.33+ donde la puerta de características `InPlacePodVerticalScaling` está en beta. En Kubernetes 1.27 a 1.32, la puerta de características debe estar habilitada en `kube-apiserver` y cada `kubelet`. + +Cuando se cumplen ambos requisitos previos: + +- **Predeterminado**: Las cargas de trabajo con `applyPolicy.update.strategy: Auto` (el predeterminado) se redimensionan en su lugar. +- **Reversión**: Si el kubelet informa un redimensionamiento como `Infeasible`, el controlador recurre a un rollout. +- **Opt-out**: Para forzar a una carga de trabajo a utilizar siempre el escalado vertical basado en rollout independientemente de la configuración del clúster, configure `applyPolicy.update.strategy: TriggerRollout` en su `DatadogPodAutoscaler`. + +```yaml +apiVersion: datadoghq.com/v1alpha2 +kind: DatadogPodAutoscaler +metadata: + name: + namespace: +spec: + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: + owner: Local + applyPolicy: + mode: Apply + # Horizontal scaling disabled; only vertical resizing + scaleDown: + strategy: Disabled + scaleUp: + strategy: Disabled + update: + strategy: Auto + constraints: + maxReplicas: 100 +``` + +{{% /tab %}} +{{% tab "Consulta Personalizada Horizontal" %}} + +Elija esta plantilla cuando la CPU y la memoria no sean la señal de escalado adecuada. Los ejemplos incluyen un trabajador de cola que debería escalar según la profundidad de la cola, o un servicio API que debería escalar según la latencia de las solicitudes. La configuración definitoria es el bloque `objectives`, que hace referencia a una consulta de métrica de Datadog y a un `AbsoluteValue` objetivo en lugar de un porcentaje de utilización. Reemplace la consulta de ejemplo con una que coincida con su carga de trabajo. + +```yaml +apiVersion: datadoghq.com/v1alpha2 +kind: DatadogPodAutoscaler +metadata: + name: + namespace: +spec: + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: + owner: Local + applyPolicy: + mode: Apply + scaleDown: + rules: + - periodSeconds: 1200 + type: Percent + value: 20 + stabilizationWindowSeconds: 600 + scaleUp: + rules: + - periodSeconds: 120 + type: Percent + value: 50 + stabilizationWindowSeconds: 600 + # Vertical updates disabled — horizontal only + update: + strategy: Disabled + constraints: + maxReplicas: 100 + minReplicas: 2 + objectives: + - type: CustomQuery + customQuery: + # Replace with your own Datadog metric query + request: + formula: usage + queries: + - name: usage + source: Metrics + metrics: + query: avg:redis.info.latency_ms{kube_cluster_name:,kube_namespace:,kube_deployment:} + value: + type: AbsoluteValue + absoluteValue: 500M + window: 5m0s + fallback: + horizontal: + # With custom queries, local fallback is not activated by default + enabled: false + # Direction can be ScaleUp, ScaleDown or All + direction: ScaleUp + # When using custom queries, a CPU or Memory fallback objective is required + objectives: + - type: PodResource + podResource: + name: cpu + value: + type: Utilization + utilization: 70 + triggers: + staleRecommendationThresholdSeconds: 600 +``` + +{{% /tab %}} +{{< /tabs >}} + +### Perfiles de clúster {#cluster-profiles} + +Un `DatadogPodAutoscalerClusterProfile` es un recurso de ámbito de clúster que contiene una plantilla `DatadogPodAutoscaler`. El Cluster Agent observa los recursos `Deployment` y `StatefulSet` (y, en 7.79+, los espacios de nombres que los contienen) para la etiqueta `autoscaling.datadoghq.com/profile`, y crea un `DatadogPodAutoscaler` administrado para cada carga de trabajo coincidente. Un perfil se aplica a muchas cargas de trabajo; una carga de trabajo aún se asigna a un `DatadogPodAutoscaler`. + +Los perfiles de clúster y la etiqueta a nivel de carga de trabajo requieren Datadog Cluster Agent 7.78.0+. La activación a nivel de espacio de nombres (etiquetando un espacio de nombres para optar por cada carga de trabajo compatible dentro de él en un perfil) requiere Datadog Cluster Agent 7.79.0+. Los Cluster Agents más antiguos ignoran la etiqueta de perfil. + +#### Perfiles integrados {#built-in-profiles} + +El Cluster Agent envía tres perfiles integrados y los recrea al iniciar, por lo que no necesita comprometer ningún YAML de CRD para usarlos. Los nombres están reservados. + +| Perfil | Objetivo de CPU | Mínimo de réplicas | Perfil de comportamiento | +|---|---|---|---| +| `datadog-optimize-cost` | 85% | 1 | Cargas de trabajo sin estado, sensibles al costo. Escalado rápido hacia arriba y hacia abajo (ventanas de estabilización de 5 minutos, paso del 50% cada 2 minutos). | +| `datadog-optimize-balance` | 70% | 2 | Predeterminado para la mayoría de las cargas de trabajo sin estado. Ventanas de estabilización equilibradas de 10 minutos, escalado hacia abajo conservador (paso del 20% cada 20 minutos). | +| `datadog-optimize-performance` | 60% | 3 | Cargas de trabajo con estado o sensibles a la latencia. Escalado hacia abajo muy conservador (ventanas de estabilización de 15 minutos, paso del 10% cada 30 minutos). | + +Para activar un perfil en una sola carga de trabajo, agregue la etiqueta a la `metadata.labels` de la carga de trabajo: + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: web-app + namespace: production + labels: + autoscaling.datadoghq.com/profile: datadog-optimize-balance +spec: + # ...rest of the Deployment spec +``` + +Para activar un perfil en cada carga de trabajo soportada en un espacio de nombres, etiquete el espacio de nombres en su lugar (requiere Cluster Agent 7.79.0+): + +```yaml +apiVersion: v1 +kind: Namespace +metadata: + name: production + labels: + autoscaling.datadoghq.com/profile: datadog-optimize-balance +``` + +#### Perfiles personalizados {#custom-profiles} + +Cree un `DatadogPodAutoscalerClusterProfile` cuando ningún perfil integrado coincida con su política de escalado. Los perfiles son de ámbito de clúster, así que aplíquelos sin una bandera `--namespace` (o colóquelos en la capa a nivel de clúster de su repositorio de configuración). + +```yaml +apiVersion: datadoghq.com/v1alpha2 +kind: DatadogPodAutoscalerClusterProfile +metadata: + name: cost-optimized-strict-floor +spec: + template: + applyPolicy: + mode: Apply + scaleUp: + stabilizationWindowSeconds: 300 + rules: + - type: Percent + value: 50 + periodSeconds: 120 + scaleDown: + stabilizationWindowSeconds: 300 + rules: + - type: Percent + value: 50 + periodSeconds: 120 + constraints: + minReplicas: 1 + objectives: + - type: PodResource + podResource: + name: cpu + value: + type: Utilization + utilization: 85 +``` + +Referencie el perfil personalizado desde una carga de trabajo o espacio de nombres usando la misma etiqueta: + +```yaml +metadata: + labels: + autoscaling.datadoghq.com/profile: cost-optimized-strict-floor +``` + +El cuerpo de la plantilla acepta los mismos campos que una especificación `DatadogPodAutoscaler`, menos `targetRef` (el Cluster Agent lo completa para cada carga de trabajo coincidente). Vea las [configuraciones de ejemplo](#example-datadogpodautoscaler-configurations) anteriores para ver el rango completo de campos que puede colocar en `spec.template`. + +#### Precedencia de activación {#activation-precedence} + +Cluster Agent 7.79.0+ agrega activación a nivel de espacio de nombres, la `excluded` opción de exclusión y la regla de precedencia entre ellos. En Cluster Agent 7.78.0, solo se lee la etiqueta a nivel de carga de trabajo — las reglas que involucran espacios de nombres o el valor `excluded` no se aplican. + +- **Las etiquetas de carga de trabajo tienen precedencia sobre las etiquetas de espacio de nombres.** Si un espacio de nombres está etiquetado como `autoscaling.datadoghq.com/profile=ns-profile` y una carga de trabajo dentro de él está etiquetada como `autoscaling.datadoghq.com/profile=workload-profile`, la carga de trabajo utiliza `workload-profile`. +- **Exclúyase con `excluded`.** Establezca `autoscaling.datadoghq.com/profile: excluded` en una carga de trabajo para eximirla cuando su espacio de nombres esté etiquetado. Esto es útil para cargas de trabajo con estado o críticas en un espacio de nombres que de otro modo está incluido. + + ```yaml + apiVersion: apps/v1 + kind: StatefulSet + metadata: + name: payments-ledger + namespace: production + labels: + autoscaling.datadoghq.com/profile: excluded + ``` + +- **Los nombres de perfil desconocidos son ignorados.** Si una carga de trabajo o espacio de nombres hace referencia a un perfil que no existe, Cluster Agent no crea un `DatadogPodAutoscaler` administrado y no informa un error. La reconciliación recoge la asignación tan pronto como se crea un perfil con ese nombre. +- **La reconciliación es automática.** Agregar, cambiar o eliminar la etiqueta se propaga a un `DatadogPodAutoscaler` administrado en segundos. + +#### Tipos de carga de trabajo soportados {#supported-workload-kinds} + +La activación de perfil soporta `Deployment` y `StatefulSet`. Para otros tipos (por ejemplo, Argo `Rollout`), utilice [Ruta B: GitOps](#path-b-gitops) para crear un `DatadogPodAutoscaler` directamente. + +### Despliegue de recomendaciones manualmente {#deploy-recommendations-manually} + +Si desea las recomendaciones de Datadog sin habilitar el escalado automático, puede aplicarlas manualmente de forma puntual. Cuando configure recursos para sus implementaciones de Kubernetes, utilice los valores sugeridos en la recomendación de escalado. También puede hacer clic en {{< ui >}}Export Recommendation{{< /ui >}} para ver un comando `kubectl patch` generado. Datadog continúa actualizando la recomendación, pero el clúster solo cambia cuando la reaplica. + +## Gestione cargas de trabajo a gran escala {#manage-workloads-at-scale} + +Después de que una carga de trabajo se haya escalado automáticamente, las operaciones del día dos se gestionan a través de una combinación del recurso `DatadogPodAutoscaler` y la Datadog UI: + +- **Cambie la plantilla de escalado.** Edite la especificación `DatadogPodAutoscaler` de la carga de trabajo (objetivo de CPU, límites de réplicas, reglas de escalado hacia arriba y hacia abajo) directamente, o elija una plantilla diferente de la vista de lista de [Escalado de Cargas de Trabajo][8]. Los cambios entran en efecto en la próxima reconciliación. +- **Pause el escalado automático sin eliminar el recurso.** Establezca `applyPolicy.mode: Preview` para mantener las recomendaciones visibles en `.status` mientras evita que el controlador las aplique. Esto es útil cuando se ejecuta junto a un HPA o VPA durante la evaluación. +- **Observe el despliegue.** La vista de lista de Escalado de cargas de trabajo muestra el estado en vivo de la recomendación de cada carga de trabajo, la última acción aplicada y cualquier error de reconciliación. +- **Elimine el escalado automático de manera limpia.** Elimine el recurso `DatadogPodAutoscaler` para detener el escalado automático. Los recursos de pod existentes permanecen en sus últimos valores aplicados, y la carga de trabajo vuelve a lo que su controlador padre (Deployment, StatefulSet, etc.) especifica en el próximo despliegue. + +## Referencia {#reference} + +### Cómo se calculan las recomendaciones verticales {#how-vertical-recommendations-are-calculated} + +Datadog calcula recomendaciones de escalado vertical para CPU y memoria analizando datos históricos de uso de contenedores durante los últimos 8 días. La metodología utilizada para cada recurso depende de si la solicitud de ese recurso es igual a su límite, reflejando el concepto de [clase de Calidad de Servicio (QoS) de Kubernetes][14]. La CPU y la memoria se evalúan de manera independiente: una carga de trabajo puede utilizar la metodología Burstable para la CPU y la metodología Garantizada para la memoria, o viceversa. + +#### Recomendaciones de memoria {#memory-recommendations} + +**Burstable** (la solicitud de memoria es menor que el límite de memoria): + +| | Cómo se calcula | +|---|---| +| **Recomendación de solicitud** | Basada en el **p95** del uso de memoria durante los últimos 8 días, con un peso decreciente aplicado a muestras más antiguas para que los patrones de uso recientes sean priorizados. Se añade un **margen de seguridad del 10%**. | +| **Recomendación de límite** | Basada en el **máximo pico de uso de memoria** observado durante los últimos 8 días. Se añade un **margen de seguridad del 5%**. | + +**Guaranteed** (la solicitud de memoria es igual al límite de memoria): + +| | Cómo se calcula | +|---|---| +| **Recomendación de solicitud y límite** | Basada en el **máximo pico de uso de memoria** observado durante los últimos 8 días. Se añade un **margen de seguridad del 5%**. Si se detecta un **OOMKill**, se aplica un **aumento adicional del 20%** para ayudar a prevenir futuros eventos de falta de memoria. | + +**Nota:** El seguimiento del uso máximo de memoria captura el mayor uso de memoria registrado por cualquier contenedor que haya existido dentro de la ventana de retroceso de 8 días. Esto significa que incluso si un contenedor comenzó antes de esa ventana, su uso máximo (por ejemplo, al inicio) aún se tiene en cuenta en la recomendación. + +#### Recomendaciones de CPU {#cpu-recommendations} + +**Burstable** (la solicitud de CPU es menor que el límite de CPU): + +| | Cómo se calcula | +|---|---| +| **Recomendación de solicitud** | Basada en el **p90** del uso de CPU en relación con la solicitud actual durante los últimos 8 días, con un peso decreciente aplicado a muestras más antiguas para que los patrones de uso recientes tengan prioridad. Se añade un **margen de seguridad del 10 %**. | +| **Recomendación de límite** | Basada en el **p95** del uso de CPU en relación con la solicitud actual durante los últimos 8 días. Se añade un **margen de seguridad del 5 %**. Si la recomendación de solicitud resultante alguna vez excede la recomendación de límite, se utiliza el valor de solicitud para ambos. | + +**Guaranteed** (la solicitud de CPU es igual al límite de CPU): + +| | Cómo se calcula | +|---|---| +| **Recomendación de solicitud y límite** | Basada en el **p95** del uso de CPU en relación con la solicitud actual durante los últimos 8 días. Se añade un **margen de seguridad del 5 %**. | + +#### Principios de diseño clave {#key-design-principles} + +- **Ventana de retroceso de 8 días**: Todas las recomendaciones consideran datos de uso de los últimos 8 días, proporcionando suficiente historial para capturar patrones de tráfico semanales mientras se mantiene sensible a los cambios. +- **Pesos en decadencia**: Para recomendaciones de solicitudes de clase Burstable (CPU o memoria), las muestras más antiguas tienen un peso menor, por lo que la recomendación se adapta más rápido a los cambios recientes en el uso. +- **Márgenes de seguridad**: Cada recomendación incluye un margen por encima del uso observado (5 a 10 %) para proporcionar un colchón contra picos inesperados. +- **Respuesta OOMKill**: Cuando la memoria es de clase Guaranteed (la solicitud es igual al límite) y ocurre un OOMKill, se aplica un aumento del 20 % para reducir la probabilidad de fallos repetidos por falta de memoria. +- **Preservación de clase Guaranteed**: Cuando un recurso tiene una solicitud igual al límite, Datadog utiliza el cálculo más conservador (a nivel de límite) para ambos, asegurando que las recomendaciones no introduzcan una brecha entre la solicitud y el límite. + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /es/agent/remote_config +[2]: /es/agent/remote_config/?tab=configurationyamlfile#enable-remote-configuration +[3]: https://helm.sh/ +[4]: https://kubernetes.io/docs/tasks/tools/install-kubectl/ +[5]: /es/containers/kubernetes/distributions +[6]: https://app.datadoghq.com/orchestration/scaling/summary +[7]: https://app.datadoghq.com/orchestration/scaling/cluster +[8]: https://app.datadoghq.com/orchestration/scaling/workload +[9]: /es/integrations/kubernetes_state_core/ +[10]: https://www.datadoghq.com/product-preview/kubernetes-cluster-autoscaling/ +[11]: https://app.datadoghq.com/orchestration/scaling/setup +[12]: /es/containers/guide/manage-datadogpodautoscaler-with-argocd/ +[13]: /es/containers/guide/manage-datdadogpodautoscaler-with-terraform/ +[14]: https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/ \ No newline at end of file diff --git a/content/es/containers/datadog_operator/_index.md b/content/es/containers/datadog_operator/_index.md index dd5e8f17817..17517eb36f3 100644 --- a/content/es/containers/datadog_operator/_index.md +++ b/content/es/containers/datadog_operator/_index.md @@ -2,52 +2,53 @@ aliases: - /es/agent/kubernetes/operator_configuration - /es/containers/kubernetes/operator_configuration +description: Despliega y gestiona el Datadog Agent en Kubernetes utilizando el Datadog + Operator further_reading: - link: /getting_started/containers/datadog_operator tag: guía - text: Empezando con el Datadog Operator + text: Introducción al Datadog Operator - link: https://github.com/DataDog/datadog-operator/blob/main/docs/installation.md tag: Código fuente - text: 'Datadog Operator: instalación avanzada' + text: 'Datadog Operator: Instalación avanzada' - link: https://github.com/DataDog/datadog-operator/blob/main/docs/configuration.v2alpha1.md tag: Código fuente - text: 'Datadog Operator: configuración' + text: 'Datadog Operator: Configuración' - link: https://www.datadoghq.com/architecture/instrument-your-app-using-the-datadog-operator-and-admission-controller/ tag: Centro de arquitectura - text: Instrumentar tu aplicación utilizando Datadog Operator y Admission Controller + text: Instrumente su aplicación utilizando el Datadog Operator y Admission Controller title: Datadog Operator --- +[Datadog Operator][1] es un [Kubernetes Operator][2] de código abierto que le permite desplegar y configurar el Datadog Agent en un entorno de Kubernetes. -El [Datadog Operator][1] es un [operador Kubernetes][2] de código abierto que te permite implementar y configurar el Datadog Agent en un entorno Kubernetes. +Al utilizar el Operator, puede usar una única Definición de Recurso Personalizado (CRD) para desplegar el Datadog Agent basado en nodos, el [Cluster Agent][3] y el [cluster checks runner][4]. El Operator informa sobre el estado de despliegue, salud y errores en el estado de la CRD del Operator. Debido a que el Operator utiliza opciones de configuración de nivel superior, limita el riesgo de mala configuración. -Si utilizas el Operator, bastará con que utilices una sola definición de recursos personalizados (CRD) para implementar el Agent basado en nodos, el [Cluster Agent][3] y el [ejecutor de checks del clúster][4]. El Operator ofrece información sobre el estado y los errores de la implementación a través del estado de su CRD. Debido a que el Operator utiliza opciones de configuración de alto nivel, el riesgo de que se produzcan errores de configuración es bajo. +Una vez que haya desplegado el Datadog Agent, el Datadog Operator proporciona lo siguiente: -Una vez que hayas implementado el Agent, el Datadog Operator te proporcionará lo siguiente: +- Validación de sus configuraciones de Datadog Agent +- Mantener todos los Datadog Agent actualizados con su configuración +- Orquestación para crear y actualizar recursos de Datadog Agent +- Informe del estado de configuración de Datadog Agent en el estado de la CRD del Operator +- Opcionalmente, uso de un despliegue avanzado de DaemonSet utilizando el [ExtendedDaemonSet][5] de Datadog -- Validación de las configuraciones del Agent -- Actualización constante de todos los Agents con tu configuración -- Orquestación para crear y actualizar los recursos del Agent -- Información sobre el estado de configuración de Agent a través del estado de la CRD del Operator -- Opcionalmente, uso de una implementación avanzada de un DaemonSet utilizando [ExtendedDaemonSet][5] de Datadog +### ¿Por qué usar el Datadog Operator en lugar de un gráfico de Helm o DaemonSet? {#why-use-the-datadog-operator-instead-of-a-helm-chart-or-daemonset} -### ¿Por qué debería usar el Datadog Operator en vez de un Helm chart o un DaemonSet? +También puede usar un gráfico de Helm o un DaemonSet para instalar el Datadog Agent en Kubernetes. Sin embargo, el uso del Datadog Operator ofrece las siguientes ventajas: -Si quieres, también puedes usar un Helm chart o un DaemonSet para instalar el Datadog Agent en Kubernetes. Sin embargo, el Datadog Operator te ofrece estas ventajas: +- El Operator tiene valores predeterminados integrados basados en las mejores prácticas de Datadog. +- La configuración del Operator es más flexible para futuras mejoras. +- Como un [Kubernetes Operator][2], el Datadog Operator es tratado como un recurso de primera clase por la API de Kubernetes. +- A diferencia del gráfico de Helm, el Operator está incluido en el ciclo de reconciliación de Kubernetes. -- Los valores predeterminados del Operator parten de las prácticas recomendadas de Datadog. -- La configuración del Operator presenta una mayor flexibilidad de cara a futuras mejoras. -- Debido a que el Datadog Operator es un [operador Kubernetes][2], la API de Kubernetes lo trata como un recurso de primera clase. -- Al contrario de lo que ocurre con los Helm charts, el Operator forma parte del bucle de conciliación de Kubernetes. +Datadog admite completamente el uso de un DaemonSet para desplegar el Datadog Agent, pero la configuración manual del DaemonSet deja un margen significativo para errores. Por lo tanto, no se recomienda encarecidamente el uso de un DaemonSet. -Datadog admite sin problemas el uso de un DaemonSet para desplegar el Agent. Sin embargo, no es una opción muy recomendada, dado que la configuración manual de un DaemonSet conlleva un significante margen de error +## Uso {#usage} -## Utilización +Consulte la guía de [Introducción al Datadog Operator][6] para aprender cómo usar el Operator para desplegar el Datadog Agent. -Consulta la guía [Empezando con el Datadog Operator][6] para obtener información sobre cómo utilizar el Operator para implementar el Datadog Agent. +Para todas las opciones de instalación y configuración, consulte las páginas detalladas de [instalación][7] y de [configuración][8] en el repositorio [`datadog-operator`][1]. -Para conocer todas las opciones de configuración, consulta las páginas detalladas de [instalación][7] y [configuración][8] del repositorio [`datadog-operator`][1]. - -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/es/containers/docker/apm.md b/content/es/containers/docker/apm.md index 2b1bfbc834b..6091e480c12 100644 --- a/content/es/containers/docker/apm.md +++ b/content/es/containers/docker/apm.md @@ -4,43 +4,42 @@ aliases: - /es/tracing/setup/docker/ - /es/agent/apm/docker - /es/agent/docker/apm -description: Configura la recopilación de traces (trazas) de APM para las aplicaciones - que se ejecutan en los contenedores de Docker mediante el Datadog Agent +description: Configura la recolección de trazas de APM para aplicaciones que se ejecutan + en contenedores Docker utilizando el Agente de Datadog further_reading: - link: https://github.com/DataDog/datadog-agent/tree/main/pkg/trace tag: Código fuente - text: Código de origen + text: Código fuente - link: /integrations/amazon_ecs/#trace-collection tag: Documentación - text: Rastrear tus aplicaciones de ECS + text: Traza tus aplicaciones de ECS - link: /agent/docker/log/ tag: Documentación - text: Recopilar tus logs de aplicación + text: Recoge los registros de tu aplicación - link: /agent/docker/integrations/ tag: Documentación - text: Recopila las métricas de tus aplicaciones y logs automáticamente + text: Recoge automáticamente las métricas y registros de tus aplicaciones - link: /agent/guide/autodiscovery-management/ tag: Documentación - text: Limita la recopilación de datos solo a un subconjunto de contenedores + text: Limita la recolección de datos a un subconjunto de contenedores solamente - link: /agent/docker/tag/ tag: Documentación - text: Asignar etiquetas a todos los datos emitidos por un contenedor -title: Rastrear aplicaciones Docker + text: Asigna etiquetas a todos los datos emitidos por un contenedor +title: Trazando aplicaciones Docker --- +A partir de la versión 6.0.0 del Agente, el Agente de Trazas está habilitado por defecto. Si se ha desactivado, puedes volver a habilitarlo en el contenedor `registry.datadoghq.com/agent` pasando `DD_APM_ENABLED=true` como una variable de entorno. -A partir de Agent 6.0.0, el Trace Agent se activa por defecto. Si ha sido desactivado, se puede reactivar en el contenedor `gcr.io/datadoghq/agent` al pasar `DD_APM_ENABLED=true` como una variable de entorno. +Los comandos de CLI en esta página son para el tiempo de ejecución de Docker. Reemplaza `docker` con `nerdctl` para el tiempo de ejecución de containerd, o `podman` para el tiempo de ejecución de Podman. -Los comandos de CLI en esta página son para el tiempo de ejecución de Docker. Sustituye `docker` por `nerdctl` para el tiempo de ejecución del containerd, o `podman` para el tiempo de ejecución del Podman. +
Si estás recolectando trazas de una aplicación en contenedores (tu Agente y aplicación ejecutándose en contenedores separados), como alternativa a las siguientes instrucciones, puedes inyectar automáticamente el SDK en tu aplicación. Lee Inyectando bibliotecas para instrucciones.
-
Si estás recopilando trazas de una aplicación contenedorizada (tu Agent y tu app se están ejecutando en contenedores separados), una alternativa a las siguientes instrucciones es inyectar la biblioteca de trazas automáticamente en tu aplicación. Consulta Inyectar bibliotecas para ver las instrucciones.
+## Trazando desde el host {#tracing-from-the-host} -## Rastrear desde el host - -La opción de rastrear está disponible en el puerto `8126/tcp` desde _tu host únicamente_ al añadir la opción de comando `-p 127.0.0.1:8126:8126/tcp` to the `docker run`. +La trazabilidad está disponible en el puerto `8126/tcp` desde _tu host solamente_ añadiendo la opción `-p 127.0.0.1:8126:8126/tcp` al comando `docker run`. Para hacerlo disponible desde _cualquier host_, usa `-p 8126:8126/tcp` en su lugar. -Por ejemplo, el comando siguiente permite al Agent recibir trazas de tu host únicamente: +Por ejemplo, el siguiente comando permite que el Agente reciba trazas solo de tu host: {{< tabs >}} {{% tab "Linux" %}} @@ -55,9 +54,9 @@ docker run -d --cgroupns host \ -e DD_API_KEY= \ -e DD_APM_ENABLED=true \ -e DD_SITE= \ - gcr.io/datadoghq/agent:latest + registry.datadoghq.com/agent:latest ``` -Donde tu `` es {{< region-param key="dd_site" code="true" >}} (por defecto, `datadoghq.com`). +Donde se encuentra tu `` {{< region-param key="dd_site" code="true" >}} (por defecto es `datadoghq.com`). {{% /tab %}} {{% tab "Windows" %}} @@ -67,113 +66,113 @@ docker run -d -p 127.0.0.1:8126:8126/tcp \ -e DD_API_KEY= \ -e DD_APM_ENABLED=true \ -e DD_SITE= \ - gcr.io/datadoghq/agent:latest + registry.datadoghq.com/agent:latest ``` -Donde tu `` es {{< region-param key="dd_site" code="true" >}} (por defecto, `datadoghq.com`). +Donde se encuentra tu `` {{< region-param key="dd_site" code="true" >}} (por defecto es `datadoghq.com`). {{% /tab %}} {{< /tabs >}} -## Variables de entorno del Docker APM Agent +## Variables de entorno del agente APM de Docker {#docker-apm-agent-environment-variables} -Utiliza las siguientes variables de entorno para configurar la traza del Docker Agent. Consulta el [archivo de ejemplo `config_template.yaml`][8] para obtener más detalles. +Utiliza las siguientes variables de entorno para configurar el trazado para el Datadog Agent en Docker. Consulta el [archivo de muestra `config_template.yaml`][8] para más detalles. `DD_API_KEY` -: obligatorio - _cadena_ -
tu [clave API de Datadog][1]. +: requerido - _cadena_ +
Tu [clave API de Datadog][1]. `DD_SITE` -: opcional; _cadena_ -
Tu [sitio de Datadog][7]. Establécelo en `{{< region-param key="dd_site" >}}`. -
**Predeterminado**: `datadoghq.com` +: opcional - _cadena_ +
Tu [sitio de Datadog][7]. Establece esto en `{{< region-param key="dd_site" >}}`. +
**Default**: `datadoghq.com` -`DD_APM_ENABLED` -: opcional; _booleano_ - **por defecto**: `true` +`DD_APM_ENABLED` +: opcional - _Booleano_ - **por defecto**: `true`
Cuando se establece en `true` (por defecto), el Datadog Agent acepta trazas y métricas de traza. -`DD_APM_RECEIVER_PORT` -: opcional - _entero_ - **por defecto**: `8126` -
Establece el puerto en el que escucha el receptor de la traza del Datadog Agent. Establece `0` para desactivar el receptor HTTP. +`DD_APM_RECEIVER_PORT` +: opcional - _entero_ - **predeterminado**: `8126` +
Establece el puerto en el que escucha el receptor de trazas del Agente de Datadog. Establezca en `0` para deshabilitar el receptor HTTP. -`DD_APM_RECEIVER_SOCKET` -: opcional: _cadena_ -
Para recopilar tus trazas a través de UNIX Domain Sockets, proporciona la ruta al socket UNIX. Si se establece, tiene prioridad sobre el nombre de host y la configuración del puerto, y debe apuntar a un archivo de socket válido. +`DD_APM_RECEIVER_SOCKET` +: opcional - _cadena_ +
Para recopilar sus trazas a través de Sockets de Dominio UNIX, proporcione la ruta al socket UNIX. Si se establece, esto tiene prioridad sobre la configuración de nombre de host y puerto, y debe apuntar a un archivo de socket válido. -`DD_APM_NON_LOCAL_TRAFFIC` -: opcional - _Booleano_ - **por defecto**: `false` -
Cuando se establece en `true`, el Datadog Agent escucha el tráfico no local. Si estás [rastreando desde otros contenedores](#tracing-from-other-containers), establece esta variable de entorno en `true`. +`DD_APM_NON_LOCAL_TRAFFIC` +: opcional - _Booleano_ - **predeterminado**: `false` +
Cuando se establece en `true`, el Agente de Datadog escucha tráfico no local. Si está [trazando desde otros contenedores](#tracing-from-other-containers), establezca esta variable de entorno en `true`. -`DD_APM_DD_URL` +`DD_APM_DD_URL` : opcional - _cadena_ -
Para utilizar un proxy para APM, proporciona el endpoint y el puerto como `:`. El proxy debe poder manejar conexiones TCP. +
Para usar un proxy para APM, proporcione el punto final y el puerto como `:`. El proxy debe ser capaz de manejar conexiones TCP. -`DD_APM_CONNECTION_LIMIT` -: obligatorio - _entero_ - **por defecto**: `2000` -
Establece el máximo de conexiones APM para una ventana temporal de 30 segundos. Consulta [Límites de frecuencia del Agent][6] para obtener más detalles. +`DD_APM_CONNECTION_LIMIT` +: requerido - _entero_ - **predeterminado**: `2000` +
Establece el número máximo de conexiones APM para un intervalo de 30 segundos. Consulte [Límites de Tasa del Agente][6] para más detalles. -`DD_APM_IGNORE_RESOURCES` +`DD_APM_IGNORE_RESOURCES` : opcional - _[cadena]_ -
Proporciona una lista de exclusión de recursos para que Datadog Agent los ignore. Si el nombre de recurso de una traza coincide con una o más de las expresiones regulares de esta lista, la traza no se envía a Datadog. -
Ejemplo: `"GET /ignore-me","(GET\|POST) and-also-me"`. +
Proporciona una lista de exclusión de recursos que el Agente de Datadog debe ignorar. Si el nombre del recurso de una traza coincide con una o más de las expresiones regulares en esta lista, la traza no se envía a Datadog. +
Ejemplo: `"GET /ignore-me","(GET\|POST) and-also-me"`. -`DD_APM_FILTER_TAGS_REQUIRE` +`DD_APM_FILTER_TAGS_REQUIRE` : opcional - _objeto_ -
Define reglas para el filtrado de trazas basadas en etiqueta. Para enviarlas a Datadog, las trazas deben tener estas etiquetas (tags). Consulta [Ignorar recursos no deseados en APM][5]. +
Define reglas para el filtrado de trazas basado en etiquetas. Para ser enviados a Datadog, las trazas deben tener estas etiquetas. Ver [Ignorando Recursos No Deseados en APM][5]. `DD_APM_FILTER_TAGS_REGEX_REQUIRE` : opcional - _objeto_ -
Compatible con Agent 7.49+. Define reglas para el filtrado de trazas basadas en etiquetas con expresiones regulares. Para enviarlas a Datadog, las trazas deben tener etiquetas que coincidan con estos patrones regex. +
Compatible en Agente 7.49+. Define reglas para el filtrado de trazas basado en etiquetas con expresiones regulares. Para ser enviados a Datadog, las trazas deben tener etiquetas que coincidan con estos patrones regex. -`DD_APM_FILTER_TAGS_REJECT` +`DD_APM_FILTER_TAGS_REJECT` : opcional - _objeto_ -
Define reglas para el filtrado de trazas basadas en etiquetas. Si una traza tiene estas etiquetas, no se envía a Datadog. Consulta [Ignorar recursos no deseados en APM][5] para obtener más detalles. +
Define reglas para el filtrado de trazas basado en etiquetas. Si una traza tiene estas etiquetas, no se envía a Datadog. Ver [Ignorando Recursos No Deseados en APM][5] para más detalles. -`DD_APM_FILTER_TAGS_REGEX_REJECT` +`DD_APM_FILTER_TAGS_REGEX_REJECT` : opcional - _objeto_ -
Compatible con Agent 7.49+. Define reglas para el filtrado de trazas basadas en etiquetas con expresiones regulares. Si una traza tiene etiquetas que coinciden con estos patrones regex, la traza no se envía a Datadog. +
Compatible con Agent 7.49+. Define reglas para el filtrado de trazas basado en etiquetas con expresiones regulares. Si una traza tiene etiquetas que coinciden con estos patrones de expresión regular, la traza no se envía a Datadog. -`DD_APM_REPLACE_TAGS` +`DD_APM_REPLACE_TAGS` : opcional - _[objeto]_
Define un conjunto de reglas para [reemplazar o eliminar etiquetas que contienen información potencialmente sensible][2]. -`DD_HOSTNAME` -: opcional - _cadena_ - **por defecto**: detectado automáticamente -
Establece el nombre de host que se utilizará para métricas si falla la detección automática del nombre de host, o cuando se ejecuta el Datadog Cluster Agent. +`DD_HOSTNAME` +: opcional - _cadena_ - **predeterminado**: detectado automáticamente +
Establece el servidor a utilizar para métricas si la detección automática de servidor falla, o al ejecutar el Agent de clúster de Datadog. -`DD_DOGSTATSD_PORT` -: opcional - _entero_ - **por defecto**: `8125` -
Establece el puerto DogStatsD. +`DD_DOGSTATSD_PORT` +: opcional - _entero_ - **predeterminado**: `8125` +
Establece el puerto de DogStatsD. -`DD_PROXY_HTTPS` +`DD_PROXY_HTTPS` : opcional - _cadena_ -
Para utilizar un [proxy][4] para conectarse a Internet, indica la URL. +
Para usar un [proxy][4] para conectarse a Internet, proporcione la URL. -`DD_BIND_HOST` -: opcional - _cadena_ - **por defecto**: `localhost` -
Establece el host para escuchar en DogStatsD y trazas. +`DD_BIND_HOST` +: opcional - _cadena_ - **predeterminado**: `localhost` +
Establece el servidor para escuchar en DogStatsD y trazas. -`DD_LOG_LEVEL` -: opcional - _cadena_ - **por defecto**: `info` +`DD_LOG_LEVEL` +: opcional - _cadena_ - **predeterminado**: `info`
Establece el nivel mínimo de registro. Opciones válidas: `trace`, `debug`, `info`, `warn`, `error`, `critical` y `off`. -## Rastreando desde otros contenedores +## Trazas desde otros contenedores {#tracing-from-other-containers} -Al igual que con DogStatsD, se pueden enviar trazas al Agent desde otros contenedores usando [redes de Docker](#docker-network) o [IP de Docker host](#docker-host-ip). +Al igual que con DogStatsD, las trazas pueden ser enviadas al Agent desde otros contenedores utilizando [redes de Docker](#docker-network) o con la [IP del servidor de Docker](#docker-host-ip). -### Red de Docker +### Red de Docker {#docker-network} -El primer paso es crear una red puente definida por el usuario: +Como primer paso, crea una red de puente definida por el usuario: ```bash docker network create ``` -Los comandos de CLI en esta página son para el tiempo de ejecución de Docker. Sustituye `docker` por `nerdctl` para el tiempo de ejecución del containerd, o `podman` para el tiempo de ejecución del Podman. +Los comandos de CLI en esta página son para el tiempo de ejecución de Docker. Reemplaza `docker` con `nerdctl` para el tiempo de ejecución de containerd, o `podman` para el tiempo de ejecución de Podman. -Luego, inicia el Agent y el contenedor de la aplicación, conectados a la red que se ha creado previamente: +Luego inicia el Agente y el contenedor de la aplicación, conectados a la red previamente creada: {{< tabs >}} -{{% tab "Estándar" %}}a +{{% tab "Estándar" %}} ```bash # Datadog Agent @@ -188,7 +187,7 @@ docker run -d --name datadog-agent \ -e DD_APM_ENABLED=true \ -e DD_SITE= \ -e DD_APM_NON_LOCAL_TRAFFIC=true \ - gcr.io/datadoghq/agent:latest + registry.datadoghq.com/agent:latest # Application docker run -d --name app \ --network \ @@ -196,7 +195,7 @@ docker run -d --name app \ company/app:latest ``` -Donde tu `` es {{< region-param key="dd_site" code="true" >}} (por defecto, `datadoghq.com`). +Donde se encuentra tu `` {{< region-param key="dd_site" code="true" >}} (por defecto es `datadoghq.com`). {{% /tab %}} {{% tab "Windows" %}} @@ -211,30 +210,30 @@ docker run -d --name datadog-agent \ -e DD_APM_ENABLED=true \ -e DD_SITE= \ -e DD_APM_NON_LOCAL_TRAFFIC=true \ - gcr.io/datadoghq/agent:latest + registry.datadoghq.com/agent:latest # Application docker run -d --name app \ --network "" \ -e DD_AGENT_HOST=datadog-agent \ company/app:latest ``` -Donde tu `` es {{< region-param key="dd_site" code="true" >}} (por defecto, `datadoghq.com`). +Donde se encuentra tu `` {{< region-param key="dd_site" code="true" >}} (por defecto es `datadoghq.com`). {{% /tab %}} {{< /tabs >}} -Esto expone el nombre del host `datadog-agent` en tu contenedor `app`. -Si estás usando `docker-compose`, los parámetros `` son los que están definidos en la sección `networks` de tu `docker-compose.yml`. +Esto expone el servidor `datadog-agent` en tu contenedor `app`. +Si estás usando `docker-compose`, los parámetros `` son los definidos en la sección `networks` de tu `docker-compose.yml`. -Las trazas de tu aplicación deben estas configuradas para que puedan enviar trazas a esta dirección. Configura las variables de entorno con el `DD_AGENT_HOST` como el nombre del contenedor del Agent y `DD_TRACE_AGENT_PORT` como el puerto del Agent Trace en tus contenedores de aplicación. Los ejemplos anteriores usan el host `datadog-agent` y el puerto `8126` (el valor por defecto para que no tengas que configurarlo). +Tus SDKs de aplicación deben estar configurados para enviar trazas a esta dirección. Establece variables de entorno con `DD_AGENT_HOST` como el nombre del contenedor del Agent, y `DD_TRACE_AGENT_PORT` como el puerto de trazas del Agent en tus contenedores de aplicación. El ejemplo anterior utiliza el host `datadog-agent` y el puerto `8126` (el valor predeterminado, por lo que no tienes que configurarlo). -Opcionalmente, consulta los ejemplos a continuación para configurar el host del Agent manualmente en cada lenguaje compatible. +Alternativamente, consulta los ejemplos a continuación para establecer manualmente el host del Agente en cada lenguaje soportado: {{< programming-lang-wrapper langs="java,python,ruby,go,nodeJS,.NET" >}} {{< programming-lang lang="java" >}} -Se puede actualizar la configuración del Java Agent con variables de entorno: +Actualice la configuración del Java Agent mediante variables de entorno: ```bash DD_AGENT_HOST=datadog-agent \ @@ -242,7 +241,7 @@ DD_TRACE_AGENT_PORT=8126 \ java -javaagent:/path/to/the/dd-java-agent.jar -jar /your/app.jar ``` -o mediante propiedades de sistema: +o a través de propiedades del sistema: ```bash java -javaagent:/path/to/the/dd-java-agent.jar \ @@ -296,7 +295,7 @@ func main() { {{< /programming-lang >}} -{{< programming-lang lenguaje="nodeJS" >}} +{{< programming-lang lang="nodeJS" >}} ```javascript const tracer = require('dd-trace').init({ @@ -309,7 +308,7 @@ const tracer = require('dd-trace').init({ {{< programming-lang lang=".NET" >}} -Establece las variables de entorno antes de ejecutar tu app instrumentado: +Establezca las variables de entorno antes de ejecutar su aplicación instrumentada: ```bash # Environment variables @@ -326,28 +325,28 @@ export DD_TRACE_AGENT_PORT=8126 dotnet example.dll ``` -El valor de la variable de entorno `CORECLR_PROFILER_PATH` varia, dependiendo del sistema en el se esté ejecutando la aplicación: +El valor de la variable de entorno `CORECLR_PROFILER_PATH` varía según el sistema donde se está ejecutando la aplicación: Sistema Operativo y Arquitectura de Proceso | Valor de CORECLR_PROFILER_PATH ------------------------------------------|---------------------------- Alpine Linux x64 | `/datadog/linux-musl-x64/Datadog.Trace.ClrProfiler.Native.so` - Linux x64 | `/datadog/linux-x64/Datadog.Trace.ClrProfiler.Native.so` - Linux ARM64 | `/datadog/linux-arm64/Datadog.Trace.ClrProfiler.Native.so` - Windows x64 | `\datadog\win-x64\Datadog.Trace.ClrProfiler.Native.dll` - Windows x86 | `\datadog\win-x86\Datadog.Trace.ClrProfiler.Native.dll` + Linux x64 | `/datadog/linux-x64/Datadog.Trace.ClrProfiler.Native.so` + Linux ARM64 | `/datadog/linux-arm64/Datadog.Trace.ClrProfiler.Native.so` + Windows x64 | `\datadog\win-x64\Datadog.Trace.ClrProfiler.Native.dll` + Windows x86 | `\datadog\win-x86\Datadog.Trace.ClrProfiler.Native.dll` -En la tabla de arriba, `` se refiere al directorio que contiene los archivos `.dll` de la aplicación. +En la tabla anterior, `` se refiere al directorio que contiene los archivos `.dll` de la aplicación. {{< /programming-lang >}} {{< /programming-lang-wrapper >}} -### IP del Docker host +### IP del host de Docker {#docker-host-ip} -El puerto del contenedor del Agent `8126` debería estar vinculado al host directamente. -Configura el rastreador de tu aplicación a la ruta por defecto de este contenedor (usa el comando `ip route` para obtenerlo). +El puerto del contenedor del Agent `8126` debe estar vinculado directamente al host. +Configure su application tracer para informar a la ruta predeterminada de este contenedor (determine esto usando el comando `ip route`). -A continuación hay un ejemplo para el Python Tracer, suponiendo que `172.17.0.1` es la ruta por defecto: +Lo siguiente es un ejemplo para el Python Tracer, asumiendo que `172.17.0.1` es la ruta predeterminada: ```python from ddtrace import tracer @@ -355,8 +354,8 @@ from ddtrace import tracer tracer.configure(hostname='172.17.0.1', port=8126) ``` -### Unix Domain Socket (UDS) -Para enviar trazas mediante un socket, éste debe estar montado en el contenedor del Agent y su contenedor de aplicación. +### Socket de dominio Unix (UDS) {#unix-domain-socket-uds} +Para enviar trazas a través de socket, el socket debe estar montado en el contenedor del Agent y en el contenedor de su aplicación. ```bash # Datadog Agent @@ -373,7 +372,7 @@ docker run -d --name datadog-agent \ -e DD_SITE= \ -e DD_APM_NON_LOCAL_TRAFFIC=true \ -e DD_APM_RECEIVER_SOCKET=/var/run/datadog/apm.socket \ - gcr.io/datadoghq/agent:latest + registry.datadoghq.com/agent:latest # Application docker run -d --name app \ --network \ @@ -382,9 +381,9 @@ docker run -d --name app \ company/app:latest ``` -Consulta la [documentación específica en tu idioma de la Instrumentación de APM][3] para conocer la configuración del trazador. +Consulte la [documentación de instrumentación APM específica del lenguaje][3] para la configuración del tracer. -## Referencias adicionales +## Lectura Adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/es/containers/guide/container-discovery-management.md b/content/es/containers/guide/container-discovery-management.md index cfd2c0fb1ec..053dc8e6aa4 100644 --- a/content/es/containers/guide/container-discovery-management.md +++ b/content/es/containers/guide/container-discovery-management.md @@ -4,68 +4,67 @@ aliases: - /es/agent/kubernetes/management - /es/agent/guide/autodiscovery-management - /es/containers/guide/autodiscovery-management -description: Controla qué contenedores monitoriza el Datadog Agent mediante la configuración - de reglas de detección y patrones de inclusión/exclusión. +description: Controle qué contenedores el Datadog Agent monitorea configurando reglas + de Autodiscovery y patrones de inclusión/exclusión. further_reading: - link: /containers/kubernetes/integrations/ tag: Documentación - text: Configurar integraciones con Autodiscovery en Kubernetes + text: Configure integraciones con Autodiscovery en Kubernetes. - link: /containers/docker/integrations/ tag: Documentación - text: Configurar integraciones con Autodiscovery en Docker -title: Gestión de detección de contenedores + text: Configure integraciones con Autodiscovery en Docker. +title: Gestión del Descubrimiento de Contenedores --- +Por defecto, el Datadog Agent descubre automáticamente todos los contenedores disponibles. Este documento describe cómo restringir el perímetro de descubrimiento del Datadog Agent y limitar la recolección de datos a un subconjunto de contenedores. -En forma predeterminada, el Datadog Agent detecta automáticamente todos los contenedores disponibles. En este documento se describe cómo restringir el perímetro de detección del Datadog Agent y limitar la recopilación de datos a un subconjunto de contenedores. +## Patrones de descubrimiento de contenedores {#container-discovery-patterns} -## Patrones de detección de contenedores +En un entorno de contenedores, debe desplegar el Datadog Agent una vez por servidor. Cada Datadog Agent desplegado descubre y monitorea automáticamente todos los contenedores en su respectivo servidor. Cuando se habilita la opción de registros [`containerCollectAll` opción][1], el Datadog Agent recolecta registros de todos los contenedores descubiertos. -En un entorno de contenedores, debes desplegar el Datadog Agent una vez por host. Cada Datadog Agent desplegado detecta y monitoriza en forma automática todos los contenedores en tu respectivo host. Cuando se activa la [opción `containerCollectAll`][1] de logs, el Agent recopila los logs de todos los contenedores detectados. +Puede ajustar las reglas de descubrimiento para el Datadog Agent y restringir la recolección de métricas y registros. Cualquier contenedor restringido de la recolección de métricas también está restringido para cualquier integración del Datadog Agent basada en [Autodiscovery][2]. -Puedes ajustar las reglas de detección del Agent para restringir la recopilación de métricas y logs. Cualquier contenedor que tenga restringida la recopilación de métricas también está restringido para cualquier integración del Agent basada en [Autodiscovery][2]. +Puede establecer excepciones de dos maneras: -Puedes establecer excepciones de dos maneras: +- Proporcione variables de entorno al contenedor del Datadog Agent como una lista de permitidos/bloqueados de contenedores. Recomendado si tiene una lista de nombres de contenedores, imágenes o namespaces para excluir en todo el clúster. +- Agregue anotaciones a sus pods de Kubernetes para bloquear pods o contenedores individuales. Recomendado si necesita exclusiones más precisas. -- Proporciona variables de entorno al contenedor del Datadog Agent como una lista de contenedores permitidos/bloqueados. Recomendado si tienes una lista de nombres de contenedores, imágenes o espacios de nombres que excluir para todo el clúster. -- Añade anotaciones a tus pods de Kubernetes para bloquear pods o contenedores individuales. Recomendado si necesitas exclusiones precisas. +**Nota**: Las métricas `kubernetes.containers.running`, `kubernetes.pods.running`, `docker.containers.running`, `.stopped`, `.running.total` y `.stopped.total` no se ven afectadas por estas configuraciones y siempre cuentan todos los contenedores. -**Nota**: Las métricas `kubernetes.containers.running`, `kubernetes.pods.running`, `docker.containers.running`, `.stopped`, `.running.total` y `.stopped.total` no se verán afectadas por estos ajustes y siempre contabilizan todos los contenedores. +## Coincidencia de patrones simple {#simple-pattern-matching} -## Concordancia de patrones simple - -Utiliza las variables de entorno de la tabla siguiente para configurar el filtrado de contenedores. Cada inclusión o exclusión se define como una lista de cadenas de expresiones regulares separadas por espacios. Puedes incluir o excluir contenedores en función de su: +Utilice las variables de entorno en la tabla a continuación para configurar el filtrado de contenedores. Cada inclusión o exclusión se define como una lista de cadenas regex separadas por espacios. Puede incluir o excluir contenedores según su: - nombre del contenedor (`name`) - nombre de la imagen del contenedor (`image`) -- Espacio de nombres (`kube_namespace`) de Kubernetes +- espacio de nombres de Kubernetes (`kube_namespace`)
-El parámetro `name` solo se aplica a los nombres de contenedor, no a los nombres de pod, aunque el contenedor se ejecute en un pod de Kubernetes. +El parámetro `name` solo se aplica a los nombres de contenedores, no a los nombres de pods, incluso si el contenedor se ejecuta en un pod de Kubernetes.
-### Variables de entorno +### Variables de entorno {#environment-variables} -En el **Agent v7.20 o posterior**, utiliza las siguientes variables de entorno para excluir contenedores por nombre de imagen, nombre de contenedor o espacio de nombres de Kubernetes. Los logs y las métricas no se recopilan de los contenedores excluidos. +En **Datadog Agent v7.20+**, utilice las siguientes variables de entorno para excluir contenedores por nombre de imagen, nombre de contenedor o espacio de nombres de Kubernetes. No se recopilan registros ni métricas de los contenedores excluidos. | Variable de entorno | Descripción | | ------------------------------ | --------------------------------------------------- | -| `DD_CONTAINER_EXCLUDE` | Lista de contenedores a excluir. | -| `DD_CONTAINER_EXCLUDE_METRICS` | Lista de contenedores cuyas métricas están excluidas. | -| `DD_CONTAINER_EXCLUDE_LOGS` | Lista de contenedores cuyos logs están excluidos. | -| `DD_CONTAINER_INCLUDE` | Lista de contenedores a incluir. | -| `DD_CONTAINER_INCLUDE_METRICS` | Lista de contenedores cuyas métricas están incluidas. | -| `DD_CONTAINER_INCLUDE_LOGS` | Lista de contenedores cuyos logs están incluidos. | +| `DD_CONTAINER_EXCLUDE` | Lista de bloqueo de contenedores a excluir. | +| `DD_CONTAINER_EXCLUDE_METRICS` | Lista de bloqueo de contenedores cuyas métricas están excluidas. | +| `DD_CONTAINER_EXCLUDE_LOGS` | Lista de bloqueo de contenedores cuyos registros están excluidos. | +| `DD_CONTAINER_INCLUDE` | Lista de permitidos de contenedores a incluir. | +| `DD_CONTAINER_INCLUDE_METRICS` | Lista de permitidos de contenedores cuyas métricas están incluidas. | +| `DD_CONTAINER_INCLUDE_LOGS` | Lista de permitidos de contenedores cuyos registros están incluidos. | -{{% collapse-content title="Setting environment variables" level="h4" expanded=false id="setting-environment-variables" %}} +{{% collapse-content title="Configuración de variables de entorno" level="h4" expanded=false id="setting-environment-variables" %}} {{< tabs >}} {{% tab "Datadog Operator" %}} -En Datadog Operator, configura estas variables de entorno en `spec.override.nodeAgent.env`. +En el Datadog Operator, configure estas variables de entorno bajo `spec.override.nodeAgent.env`. -##### Ejemplo +##### Ejemplo {#example} ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -86,7 +85,7 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -En su gráfico de Helm, suministre una cadena separada por espacios a uno o más de los siguientes: +En su gráfico de Helm, proporcione una cadena separada por espacios a uno o más de los siguientes: - `datadog.containerExclude` - `datadog.containerInclude` - `datadog.containerExcludeLogs` @@ -94,7 +93,7 @@ En su gráfico de Helm, suministre una cadena separada por espacios a uno o más - `datadog.containerExcludeMetrics` - `datadog.containerIncludeMetrics` -##### Ejemplo +##### Ejemplo {#example-1} ```yaml datadog: @@ -103,17 +102,17 @@ datadog: ``` {{% /tab %}} -{{% tab "Agent en contenedores" %}} +{{% tab "Agente en contenedor" %}} -En entornos en los que no se utiliza Datadog Operator ni Helm, se pueden pasar las siguientes variables de entorno al contenedor del Agent al inicio. +En entornos en los que no utiliza el Datadog Operator o Helm, las siguientes variables de entorno pueden pasarse al contenedor del Datadog Agent al inicio. -##### Ejemplo de Docker +##### Ejemplo de Docker {#example-docker} ```shell docker run -e DD_CONTAINER_EXCLUDE=image: ... ``` -##### Ejemplo de ECS +##### Ejemplo de ECS {#example-ecs} ```json "environment": [ @@ -132,11 +131,11 @@ docker run -e DD_CONTAINER_EXCLUDE=image: ...
-Los filtros de nombre de imagen (`image`) coinciden en todos los nombres completos de la imagen, incluido el registro y la tag (etiqueta) o resumen de la imagen (por ejemplo, `dockerhub.io/NGINX:1.13.1`). +Los filtros de nombre de imagen (`image`) se aplican a todo el nombre de la imagen, incluyendo el registro y la etiqueta o digest de la imagen (por ejemplo, `dockerhub.io/nginx:1.13.1`).
-#### Ejemplos +#### Ejemplos {#examples} Para excluir el contenedor con el nombre `dd-agent`: @@ -144,13 +143,13 @@ Para excluir el contenedor con el nombre `dd-agent`: DD_CONTAINER_EXCLUDE = "name:^dd-agent$" ``` -Para excluir los contenedores que utilizan la imagen `dockercloud/network-daemon`, incluidas todas las tags (etiquetas) y los resúmenes: +Para excluir contenedores que utilizan la imagen `dockercloud/network-daemon`, incluyendo todas las etiquetas y digests: ``` DD_CONTAINER_EXCLUDE = "image:^dockercloud/network-daemon(@sha256)?:.* ``` -Para excluir contenedores mediante la imagen `dockercloud/network-daemon:1.13.0`: +Para excluir contenedores que utilizan la imagen `dockercloud/network-daemon:1.13.0`: ``` DD_CONTAINER_EXCLUDE = "image:^dockercloud/network-daemon:1.13.0$" @@ -162,7 +161,7 @@ Para excluir cualquier contenedor cuya imagen contenga la palabra `agent`: DD_CONTAINER_EXCLUDE = "image:agent" ``` -Para excluir cualquier contenedor que utilice la imagen `foo` independientemente del registro: +Para excluir cualquier contenedor que utilice la imagen `foo` sin importar el registro: ``` DD_CONTAINER_EXCLUDE = "image:^.*/foo(@sha256)?:.*" @@ -174,27 +173,27 @@ Para excluir todos los contenedores: DD_CONTAINER_EXCLUDE = "name:.*" ``` -También puedes utilizar `image:.*` o `kube_namespace:.*`. La configuración de `.*` sin un prefijo `name:`, `image:` o `kube_namespace:` no funciona. +Alternativamente, también puede usar `image:.*` o `kube_namespace:.*`. Configurar `.*` sin un prefijo `name:`, `image:` o `kube_namespace:` no funciona. -### Comportamiento de inclusión y exclusión +### Comportamiento de inclusión y exclusión {#inclusion-and-exclusion-behavior} -En general, la inclusión tiene prioridad sobre la exclusión. Por ejemplo, para sólo monitorizar las imágenes `ubuntu` o `debian`, primero excluye todas las demás imágenes y luego especifique qué imágenes incluir: +Generalmente, la inclusión tiene prioridad sobre la exclusión. Por ejemplo, para monitorear solo imágenes `ubuntu` o `debian`, primero excluya todas las demás imágenes y luego especifique cuáles imágenes incluir: ``` DD_CONTAINER_EXCLUDE = "image:.*" DD_CONTAINER_INCLUDE = "image:^docker.io/library/ubuntu(@sha256)?:.* image:^docker.io/library/debian(@sha256)?:.*" ``` -La única excepción a esta regla son las anotaciones de exclusión de pods como `ad.datadoghq.com/exclude`. Cuando una aplicación tiene una anotación de exclusión configurada en `true`, esta tiene prioridad y el contenedor queda excluido de ser autodetectado para su monitorización. Por ejemplo, tener una condición que incluya cada contenedor como `DD_CONTAINER_INCLUDE = "image:.*"` no garantiza que un contenedor sea incluido si tiene una anotación de exclusión establecida en él. Consulta [Gestión de detección de contenedores - configuración de exclusión de pods](#pod-exclude-configuration) para obtener más información. +La única excepción a esta regla son las anotaciones de exclusión de pod como `ad.datadoghq.com/exclude`. Cuando una aplicación tiene una anotación de exclusión establecida en `true`, esto tiene prioridad, y el contenedor es excluido de ser autodetectado para monitoreo. Por ejemplo, tener una condición que incluya todos los contenedores como `DD_CONTAINER_INCLUDE = "image:.*"` no garantiza que un contenedor esté incluido si tiene una anotación de exclusión establecida en él. Consulte [Gestión de Descubrimiento de Contenedores - Configuración de exclusión de Pod](#pod-exclude-configuration) para más información. -No puedes mezclar reglas de inclusión/exclusión entre categorías. Por ejemplo, si quieres incluir un contenedor con el nombre de imagen `foo` y excluir solo las métricas de un contenedor con el nombre de imagen `bar`, lo siguiente **no es suficiente**: +No puede mezclar reglas de inclusión/exclusión entre categorías. Por ejemplo, si desea incluir un contenedor con el nombre de imagen `foo` y excluir solo las métricas de un contenedor con el nombre de imagen `bar`, lo siguiente es **no suficiente**: ``` DD_CONTAINER_EXCLUDE_METRICS = "image:^docker.io/library/bar(@sha256)?:.*" DD_CONTAINER_INCLUDE = "image:^docker.io/library/foo(@sha256)?:.*" ``` -Será mejor que utilices lo siguiente: +En su lugar, usa: ``` DD_CONTAINER_EXCLUDE_METRICS = "image:^docker.io/library/bar(@sha256)?:.*" @@ -202,20 +201,20 @@ DD_CONTAINER_INCLUDE_METRICS = "image:^docker.io/library/foo(@sha256)?:.*" DD_CONTAINER_INCLUDE_LOGS = "image:^docker.io/library/foo(@sha256)?:.*" ``` -No existe una interacción entre las listas globales y las listas selectivas (logs y métricas). En otras palabras, no se puede excluir un contenedor globalmente (`DD_CONTAINER_EXCLUDE`) y luego incluirlo con `DD_CONTAINER_INCLUDE_LOGS` y `DD_CONTAINER_INCLUDE_METRICS`. +No hay interacción entre las listas globales y las listas selectivas (registros y métricas). En otras palabras, no puedes excluir un contenedor globalmente (`DD_CONTAINER_EXCLUDE`) y luego incluirlo con `DD_CONTAINER_INCLUDE_LOGS` y `DD_CONTAINER_INCLUDE_METRICS`. -### Contenedores pausados +### Pausar contenedores {#pause-containers} -El Datadog Agent excluye los contenedores de Kubernetes y OpenShift pausados en forma predeterminada. Esto impide la recopilación de sus métricas y su recuento como contenedores facturables. De todas maneras, se siguen contabilizando en las métricas de count de contenedores como `kubernetes.containers.running` y `docker.containers.running`. +El Agente de Datadog excluye los contenedores de pausa de Kubernetes y OpenShift por defecto. Esto impide su recolección de métricas y que se cuenten como contenedores facturables. Aún se cuentan en las métricas de conteo de contenedores como `kubernetes.containers.running` y `docker.containers.running`. -Para desactivar este comportamiento e incluir la monitorización de los contenedores pausados: +Para deshabilitar este comportamiento e incluir la monitorización de los contenedores de pausa: {{< tabs >}} -{{% tab "Datadog Operator" %}} +{{% tab "Operador de Datadog" %}} -En el Datadog Operator, configura estas variables de entorno como `spec.override.nodeAgent.env`. +En Datadog Operator, establece estas variables de entorno bajo `spec.override.nodeAgent.env`. -##### Ejemplo +##### Ejemplo {#example-2} ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -236,9 +235,9 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -En tu gráfico de Helm, establece `datadog.excludePauseContainer` como `true` o `false`. +En su chart de Helm, establezca `datadog.excludePauseContainer` en `true` o `false`. -##### Ejemplo +##### Ejemplo {#example-3} ```yaml datadog: @@ -248,39 +247,39 @@ datadog: ``` {{% /tab %}} -{{% tab "Agent en contenedores" %}} +{{% tab "Agente en contenedor" %}} -En los entornos en los que no utilizas Helm o el Operator, puedes transferir las siguientes variables de entorno al contenedor del Agent en el inicio. +En entornos en los que no utiliza Helm o el Datadog Operator, las siguientes variables de entorno pueden pasarse al contenedor del Datadog Agent al inicio. -Establece `DD_EXCLUDE_PAUSE_CONTAINER` como `false`. +Establezca `DD_EXCLUDE_PAUSE_CONTAINER` en `false`. {{% /tab %}} {{< /tabs >}} -## Exclusión anticipada del CEL +## Exclusión CEL avanzada {#advanced-cel-exclusion} -En el **Agent v7.73+**, puedes utilizar la opción de configuración `cel_workload_exclude` para filtrar contenedores de Autodiscovery. Esta función te permite definir reglas [Common Expression Langauge][3] para seleccionar contenedores que deben excluirse de la recopilación de telemetría. +En **Datadog Agent v7.73+**, puede usar la opción de configuración `cel_workload_exclude` para filtrar contenedores de Autodiscovery. Esta función le permite definir reglas de [Common Expression Language][3] para identificar contenedores que deben ser excluidos de la recolección de telemetría. -Utiliza los siguientes atributos para representar el objeto de contenedor en tus reglas de filtrado: +Utilice los siguientes atributos para representar el objeto contenedor en sus reglas de filtrado: | Atributo | Descripción | |-----------------------------|-------------------------------------------------------------------------| | `container.name` | El nombre del contenedor. | -| `container.image.reference` | La referencia completa de la imagen del contenedor (registro, repositorio, tag/resumen). | +| `container.image.reference` | La referencia completa de la imagen del contenedor (registro, repositorio, etiqueta/digest). | | `container.pod.name` | El nombre del pod que ejecuta el contenedor. | | `container.pod.namespace` | El espacio de nombres de Kubernetes del pod. | -| `container.pod.annotations` | Las anotaciones aplicadas al pod (mapa clave-valor). | +| `container.pod.annotations` | Las anotaciones aplicadas al pod (mapa de clave-valor). | -### Estructura de la configuración +### Estructura de configuración {#configuration-structure} -La opción de configuración `cel_workload_exclude` se estructura como una lista de conjuntos de reglas evaluadas como OR lógicos, donde un contenedor se excluye si coincide con alguna regla. Cada conjunto de reglas define los `products` que deben excluirse y el CEL correspondiente `rules` que debe coincidir con los contenedores. +La opción de configuración `cel_workload_exclude` está estructurada como una lista de conjuntos de reglas evaluadas como OR lógicos, donde un contenedor es excluido si coincide con alguna regla. Cada conjunto de reglas define el `products` a excluir y el correspondiente CEL `rules` para coincidir con los contenedores. -El campo `products` acepta `metrics`, `logs` y `global` (excluye el contenedor de todos los productos de la lista). +El campo `products` acepta `metrics`, `logs` y `global` (excluir contenedor de todos los productos listados).
-Si la configuración contiene errores estructurales o problemas de sintaxis de CEL, el Agent sale con un error para evitar la recopilación de telemetría no deseada que podría afectar a la facturación. +Si la configuración contiene errores estructurales o problemas de sintaxis CEL, el Datadog Agent sale con un error para evitar la recopilación de telemetría no intencionada que podría afectar la facturación.
-En el siguiente ejemplo, las métricas y los logs se excluyen para cualquier contenedor con `NGINX` en su nombre que se ejecute en el espacio de nombres `staging`. Además, se excluyen los logs de cualquier contenedor que ejecute la imagen `redis` O cualquier contenedor dentro de un pod que tenga la anotación `low_priority: "true"`. El [archivo de configuración del Agent][4] se puede actualizar directamente como se ve en este ejemplo. +En el ejemplo a continuación, se excluyen métricas y registros para cualquier contenedor con `nginx` en su nombre que se ejecute en el espacio de nombres `staging`. Además, se excluyen registros para cualquier contenedor que ejecute la imagen `redis`, o cualquier contenedor dentro de un pod que tenga la anotación `low_priority: "true"`. El [archivo de configuración del Agent][4] se puede actualizar directamente como se ve en este ejemplo. ```yaml # datadog.yaml @@ -296,18 +295,18 @@ cel_workload_exclude: - container.pod.annotations["low_priority"] == "true" ``` -También puedes configurar la exclusión de cargas de trabajo respaldada por CEL utilizando uno de los siguientes métodos: -- Configura la variable de entorno `DD_CEL_WORKLOAD_EXCLUDE` con una cadena con formato JSON que contenga tus reglas, en cualquier configuración del Agent en contenedores. -- Para Datadog Operator o Helm Chart, añade tus reglas de CEL a la opción de configuración correspondiente (como se muestra en los ejemplos siguientes). +También puede configurar la exclusión de carga de trabajo respaldada por CEL utilizando uno de los siguientes métodos: +- Establezca la variable de entorno `DD_CEL_WORKLOAD_EXCLUDE` con una cadena en formato JSON que contenga sus reglas, en cualquier configuración de Agent en contenedores. +- Para el Operador de Datadog o Helm Chart, agregue sus reglas CEL a la opción de configuración apropiada (como se muestra en los ejemplos a continuación). -{{% collapse-content title="Configuring CEL exclusion rules" level="h4" expanded=false id="setting-environment-variables" %}} +{{% collapse-content title="Configurando reglas de exclusión CEL" level="h4" expanded=false id="setting-environment-variables" %}} {{< tabs >}} {{% tab "Datadog Operator" %}} -En Datadog Operator (>=v1.23.0), utiliza las opciones `spec.override.nodeAgent.celWorkloadExclude` y `spec.override.clusterAgent.celWorkloadExclude`. +En Datadog Operator (>=v1.23.0), utilice las opciones `spec.override.nodeAgent.celWorkloadExclude` y `spec.override.clusterAgent.celWorkloadExclude`. -##### Ejemplo +##### Ejemplo {#example-4} ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -336,9 +335,9 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -En tu gráfico de Helm, utiliza la opción de configuración `datadog.celWorkloadExclude`. +En su gráfico de Helm, utilice la opción de configuración `datadog.celWorkloadExclude`. -##### Ejemplo +##### Ejemplo {#example-5} ```yaml datadog: @@ -350,17 +349,17 @@ datadog: ``` {{% /tab %}} -{{% tab "Agent en contenedores" %}} +{{% tab "Agente en contenedor" %}} -En los entornos en los que no utilizas Helm o el Operator, puedes transferir las siguientes variables de entorno al contenedor del Agent en el inicio. +En entornos donde no esté utilizando Helm o el Operator, las siguientes variables de entorno pueden pasarse al contenedor del Agent al inicio. -##### Ejemplo de Docker +##### Ejemplo de Docker {#example-docker-1} ```shell docker run -e DD_CEL_WORKLOAD_EXCLUDE= ... ``` -##### Ejemplo de ECS +##### Ejemplo de ECS {#example-ecs-1} ```json "environment": [ @@ -377,9 +376,9 @@ docker run -e DD_CEL_WORKLOAD_EXCLUDE= ... {{% /collapse-content %}} -{{% collapse-content title="Validating configuration option" level="h4" expanded=false id="validating-configuration-option" %}} +{{% collapse-content title="Validando la opción de configuración" level="h4" expanded=false id="validating-configuration-option" %}} -Utiliza el comando `agent workloadfilter verify-cel` para validar la sintaxis de tu configuración antes del despliegue. Acepta entradas de YAML o JSON a través de stdin. El siguiente ejemplo muestra cómo la validación detecta un error de campo no definido: +Utilice el comando `agent workloadfilter verify-cel` para validar la sintaxis de su configuración antes de la implementación. Acepta entrada en YAML o JSON a través de stdin. El siguiente ejemplo demuestra la validación que captura un error de campo indefinido: ```json ### cel-config.json @@ -424,7 +423,7 @@ Error: CEL compilation failed {{% /collapse-content %}} -#### Ejemplos de normas +#### Reglas de ejemplo {#example-rules} Para excluir el contenedor con una anotación de pod específica: @@ -438,48 +437,54 @@ Para excluir el contenedor en espacios de nombres sin la subcadena `-dev`: !container.pod.namespace.matches("-dev") ``` -Para excluir el contenedor con el nombre `NGINX-server` solo en el espacio de nombres `prod`: +Para excluir el contenedor con el nombre `nginx-server` solo en el espacio de nombres `prod`: ```yaml container.name == "nginx-server" && container.pod.namespace == "prod" ``` -Para excluir el contenedor que ejecuta una imagen con la subcadena `NGINX`: +Para excluir el contenedor que ejecuta una imagen con la subcadena `nginx`: ```yaml container.image.reference.matches("nginx") ``` -Para excluir el contenedor utilizando la lógica agrupada (por ejemplo, un nombre de contenedor específico en cualquiera de los dos espacios de nombres): +Para excluir el contenedor utilizando lógica agrupada (por ejemplo, un nombre de contenedor específico en cualquiera de dos espacios de nombres): ```yaml container.name == "redis" && (container.pod.namespace == "production" || container.pod.namespace == "staging") ``` -Para excluir contenedores en función del nombre del propietario del pod (por ejemplo, dirigirse a todos los contenedores creados por un Deployment o CronJob llamado `my-app`): +Para excluir contenedores basados en el nombre del propietario de su pod (por ejemplo, apuntando a todos los contenedores creados por un Deployment o CronJob llamado `my-app`): ```yaml container.pod.name.startsWith("my-app") ``` -## Configuración de exclusión de pods +Para **incluir únicamente** contenedores en un conjunto particular de namespaces: + +```yaml +!(container.pod.namespace in ["foo", "bar", "baz"]) +``` + +## Configuración de exclusión de pod {#pod-exclude-configuration} -En el **Agent v7.45 o posterior** puedes incluir anotaciones en tus pods de Kubernetes para controlar Autodiscovery. Configura las siguientes anotaciones con el valor `"true"` para añadir reglas de exclusión. +En **Agent v7.45+** puede establecer anotaciones en sus pods de Kubernetes para controlar Autodiscovery. Establezca las siguientes anotaciones con el valor `"true"` para agregar reglas de exclusión. | Anotación | Descripción | | --------------------------------------------------- | -------------------------------------------------------------------------------- | | `ad.datadoghq.com/exclude` | Excluye todo el pod | -| `ad.datadoghq.com/logs_exclude` | Excluye la recopilación de logs de todo el pod | -| `ad.datadoghq.com/metrics_exclude` | Excluye la recopilación de métricas de todo el pod | -| `ad.datadoghq.com/.exclude` | Excluye el contenedor con `` en el pod | -| `ad.datadoghq.com/.logs_exclude` | Excluye la recopilación de logs del contenedor con `` en el pod | -| `ad.datadoghq.com/.metrics_exclude` | Excluye la recopilación de métricas del contenedor con `` en el pod | +| `ad.datadoghq.com/logs_exclude` | Excluye la recolección de registros de todo el pod | +| `ad.datadoghq.com/metrics_exclude` | Excluye la recolección de métricas de todo el pod | +| `ad.datadoghq.com/.exclude` | Excluye el contenedor con `` en el pod | +| `ad.datadoghq.com/.logs_exclude` | Excluye la recolección de registros del contenedor con `` en el pod | +| `ad.datadoghq.com/.metrics_exclude` | Excluye la recolección de métricas del contenedor con `` en el pod | -La anotación `ad.datadoghq.com/exclude` configurada en el pod de aplicación tiene la máxima prioridad. Esto significa que incluso si un contenedor coincide con la inclusión a través de `DD_CONTAINER_INCLUDE`, el Agent sigue ignorando la monitorización para ese contenedor. Lo mismo se aplica para las respectivas configuraciones de filtrado específicas para métricas y logs. +La anotación `ad.datadoghq.com/exclude` establecida en el pod de la aplicación tiene la máxima prioridad. Esto significa que incluso si un contenedor coincide con la inclusión a través de `DD_CONTAINER_INCLUDE`, el Agent aún ignora la supervisión de ese contenedor. Lo mismo se aplica a las configuraciones de filtrado específicas para métricas y registros. -Cuando se aplican exclusiones basadas en anotaciones, el Agent check todas las anotaciones de exclusión relevantes en el contenedor. Por ejemplo, al configurar logs para un contenedor NGINX, el Agent buscará anotaciones `ad.datadoghq.com/exclude`, `ad.datadoghq.com/logs_exclude`, `ad.datadoghq.com/NGINX.exclude` o `ad.datadoghq.com/NGINX.logs_exclude` para ser `true` en el pod. Lo mismo se aplica a las métricas. +Al aplicar exclusiones basadas en anotaciones, el Agent verifica todas las anotaciones de exclusión relevantes en el contenedor. Por ejemplo, al configurar registros para un contenedor NGINX, el Agent buscará las anotaciones `ad.datadoghq.com/exclude`, `ad.datadoghq.com/logs_exclude`, `ad.datadoghq.com/nginx.exclude` o `ad.datadoghq.com/nginx.logs_exclude` que estén `true` en el pod. Lo mismo se aplica a las métricas. -#### Excluir todo el pod +#### Excluye todo el pod {#exclude-the-entire-pod} ```yaml apiVersion: apps/v1 @@ -496,7 +501,7 @@ spec: #(...) ``` -#### Excluir la recopilación de logs de un contenedor +#### Excluye la recolección de registros de un contenedor {#exclude-log-collection-from-a-container} ```yaml apiVersion: apps/v1 @@ -516,9 +521,9 @@ spec: #(...) ``` -### Tolerar pods no listos +### Tolerar pods no listos {#tolerate-unready-pods} -Por defecto, los pods `unready` se ignoran cuando el Datadog Agent programa checks. Por lo tanto, las métricas, los checks de servicios y los logs no se recopilan de estos pods. Para anular este comportamiento, configura la anotación `ad.datadoghq.com/tolerate-unready` como `"true"`. Por ejemplo: +Por defecto, `unready` los pods son ignorados cuando el Datadog Agent programa verificaciones. Por lo tanto, no se recopilan métricas, verificaciones de servicio ni registros de estos pods. Para anular este comportamiento, establezca la anotación `ad.datadoghq.com/tolerate-unready` en `"true"`. Por ejemplo: ```yaml apiVersion: v1 @@ -531,17 +536,17 @@ metadata: ... ``` -## Configuración de seguridad +## Configuración de seguridad {#security-configuration} -En el **Agent v7.70+**, puedes restringir la monitorización de la seguridad para contenedores específicos, de modo que solo se te facturen los contenedores que desees que se monitoricen. Esta funcionalidad no es compatible con Datadog Operator. +En **Agent v7.70+**, puede restringir la supervisión de seguridad para contenedores específicos, de modo que solo se le cobre por los contenedores que desea tener supervisados. Esta funcionalidad no es compatible con el Datadog Operator. {{< tabs >}} {{% tab "Helm" %}} -| Función | Incluir contenedor | Excluir contenedor | +| Funcionalidad | Incluir contenedor | Excluir contenedor | |---------------------------------------|-----------------------------------------------------|-----------------------------------------------------| -| [Errores de configuración de Cloud Security][1] | `datadog.securityAgent.compliance.containerInclude` | `datadog.securityAgent.compliance.containerExclude` | -| [Vulnerabilidades de Cloud Security][2] | `datadog.sbom.containerImage.containerInclude` | `datadog.sbom.containerImage.containerExclude` | +| [Cloud Security Misconfigurations][1] | `datadog.securityAgent.compliance.containerInclude` | `datadog.securityAgent.compliance.containerExclude` | +| [Cloud Security Vulnerabilities][2] | `datadog.sbom.containerImage.containerInclude` | `datadog.sbom.containerImage.containerExclude` | | [Workload Protection][3] | `datadog.securityAgent.runtime.containerInclude` | `datadog.securityAgent.runtime.containerExclude` | [1]: /es/security/cloud_security_management/misconfigurations/ @@ -549,7 +554,7 @@ En el **Agent v7.70+**, puedes restringir la monitorización de la seguridad par [3]: /es/security/workload_protection/ {{% /tab %}} {{% tab "Archivo de configuración" %}} -Para [Vulnerabilidades de Cloud Security][1], puedes utilizar el siguiente formato en tu archivo de configuración para incluir o excluir contenedores: +Para [Cloud Security Vulnerabilities][1], puede usar el siguiente formato en su archivo de configuración para incluir o excluir contenedores: ``` --- @@ -560,13 +565,13 @@ sbom: ``` [1]: /es/security/cloud_security_management/vulnerabilities {{% /tab %}} -{{% tab "Agent en contenedores" %}} -En entornos donde no se utiliza Helm ni el Operator, las siguientes variables de entorno pueden pasarse al contenedor del Agent al inicio. +{{% tab "Agente en contenedor" %}} +En entornos donde no esté utilizando Helm o el Operator, las siguientes variables de entorno pueden pasarse al contenedor del Agent al inicio. -| Función | Incluir contenedor | Excluir contenedor | +| Funcionalidad | Incluir contenedor | Excluir contenedor | |---------------------------------------|------------------------------------------------|------------------------------------------------| -| [Errores de configuración de Cloud Security][1] | `DD_COMPLIANCE_CONFIG_CONTAINER_INCLUDE` | `DD_COMPLIANCE_CONFIG_CONTAINER_EXCLUDE` | -| [Vulnerabilidades de Cloud Security][2] | `DD_SBOM_CONTAINER_IMAGE_CONTAINER_INCLUDE` | `DD_SBOM_CONTAINER_IMAGE_CONTAINER_EXCLUDE` | +| [Cloud Security Misconfigurations][1] | `DD_COMPLIANCE_CONFIG_CONTAINER_INCLUDE` | `DD_COMPLIANCE_CONFIG_CONTAINER_EXCLUDE` | +| [Cloud Security Vulnerabilities][2] | `DD_SBOM_CONTAINER_IMAGE_CONTAINER_INCLUDE` | `DD_SBOM_CONTAINER_IMAGE_CONTAINER_EXCLUDE` | | [Workload Protection][3] | `DD_RUNTIME_SECURITY_CONFIG_CONTAINER_INCLUDE` | `DD_RUNTIME_SECURITY_CONFIG_CONTAINER_EXCLUDE` | [1]: /es/security/cloud_security_management/misconfigurations/ @@ -575,7 +580,7 @@ En entornos donde no se utiliza Helm ni el Operator, las siguientes variables de {{% /tab %}} {{< /tabs >}} -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/es/containers/kubernetes/configuration.md b/content/es/containers/kubernetes/configuration.md index a68c2248e54..dc75fe4b2e8 100644 --- a/content/es/containers/kubernetes/configuration.md +++ b/content/es/containers/kubernetes/configuration.md @@ -3,45 +3,44 @@ aliases: - /es/integrations/faq/gathering-kubernetes-events - /es/agent/kubernetes/event_collection - /es/agent/kubernetes/configuration -description: Opciones de configuración adicionales para APM, logs, procesos, eventos - y otras funciones después de instalar el Datadog Agent -title: Configurar mejor el Datadog Agent en Kubernetes +description: Opciones de configuración adicionales para APM, registros, procesos, + eventos y otras capacidades después de instalar el Agente de Datadog +title: Configurar aún más el Agente de Datadog en Kubernetes --- +## Descripción general {#overview} -## Información general +Después de haber instalado el Agente de Datadog en su entorno de Kubernetes, puede elegir opciones de configuración adicionales. -Después de haber instalado el Datadog Agent en tu entorno de Kubernetes, puedes elegir opciones de configuración adicionales. - -### Habilita a Datadog para recopilar: -- [Trazas (traces) (APM)](#enable-apm-and-tracing) +### Habilitar a Datadog para recopilar: {#enable-datadog-to-collect} +- [Trazas (APM)](#enable-apm-and-tracing) - [Eventos de Kubernetes](#enable-kubernetes-event-collection) - [CNM](#enable-cnm-collection) -- [Logs](#enable-log-collection) +- [Registros](#enable-log-collection) - [Procesos](#enable-process-collection) -### Otras capacidades -- [Datadog Cluster Agent](#datadog-cluster-agent) +### Otras capacidades {#other-capabilities} +- [Agente de Clúster de Datadog](#datadog-cluster-agent) - [Integraciones](#integrations) - [Vista de contenedores](#containers-view) -- [Orchestrator Explorer](#orchestrator-explorer) +- [Explorador de Orquestador](#orchestrator-explorer) - [Servidor de métricas externas](#custom-metrics-server) -### Más configuraciones +### Más configuraciones {#more-configurations} - [Variables de entorno](#environment-variables) -- [Métricas personalizadas de DogStatsD](#configure-dogstatsd) -- [Asignación de etiqueta (tag)](#configure-tag-mapping) +- [DogStatsD para métricas personalizadas](#configure-dogstatsd) +- [Mapeo de etiquetas](#configure-tag-mapping) - [Secretos](#using-secret-files) - [Ignorar contenedores](#ignore-containers) -- [Tiempo de ejecución del servidor de la API de Kubernetes](#kubernetes-api-server-timeout) -- [Configuración del proxy](#proxy-settings) -- [Autodiscovery](#Autodiscovery) -- [Definir nombre de clúster](#set-cluster-name) -- [Miscelánea](#miscellaneous) +- [Tiempo de espera del servidor API de Kubernetes](#kubernetes-api-server-timeout) +- [Configuraciones de proxy](#proxy-settings) +- [Autodiscovery](#autodiscovery) +- [Establecer nombre del clúster](#set-cluster-name) +- [Varios](#miscellaneous) -## Activar APM y rastreo +## Habilitar APM y trazado {#enable-apm-and-tracing} {{< tabs >}} -{{% tab "Datadog Operator" %}} +{{% tab "Operador de Datadog" %}} Edita tu `datadog-agent.yaml` para establecer `features.apm.enabled` en `true`. @@ -65,9 +64,9 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -En Helm, APM está **habilitado por defecto** sobre la canalización de UDS o Windows. +En Helm, APM está **habilitado por defecto** sobre UDS o tubería con nombre de Windows. -Para comprobarlo, asegúrate de que `datadog.apm.socketEnabled` está configurado como `true` en tu `values.yaml`. +Para verificar, asegúrate de que `datadog.apm.socketEnabled` esté establecido en `true` en tu `values.yaml`. ```yaml datadog: @@ -78,16 +77,16 @@ datadog: {{% /tab %}} {{< /tabs >}} -Para obtener más información, consulta [Recopilación de trazas de Kubernetes][16]. +Para más información, consulta [Colección de trazas de Kubernetes][16]. -## Activar la recopilación de eventos de Kubernetes +## Habilitar colección de eventos de Kubernetes {#enable-kubernetes-event-collection} -Utiliza el [Datadog Cluster Agent][2] para recopilar eventos de Kubernetes. +Usa el [Agente de Clúster de Datadog][2] para recopilar eventos de Kubernetes. {{< tabs >}} -{{% tab "Datadog Operator" %}} +{{% tab "Operador de Datadog" %}} -La recopilación de eventos está activada por defecto por el Datadog Operator. Esto se puede gestionar en la configuración `features.eventCollection.collectKubernetesEvents` en tu `datadog-agent.yaml`. +La colección de eventos está habilitada por defecto por el Operador de Datadog. Esto se puede gestionar en la configuración `features.eventCollection.collectKubernetesEvents` en tu `datadog-agent.yaml`. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -108,7 +107,7 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -Para recopilar eventos de Kubernetes con el Datadog Cluster Agent, asegúrate de que las opciones `clusterAgent.enabled`, `datadog.collectEvents` y `clusterAgent.rbac.create` están configuradas como `true` en tu archivo `datadog-values.yaml`. +Para recopilar eventos de Kubernetes con el Agente de Clúster de Datadog, asegúrate de que las opciones `clusterAgent.enabled`, `datadog.collectEvents` y `clusterAgent.rbac.create` estén establecidas en `true` en tu archivo `datadog-values.yaml`. ```yaml datadog: @@ -119,7 +118,7 @@ clusterAgent: create: true ``` -Si no deseas utilizar la opción de Cluster Agent, puedes hacer que un Node Agent recopila eventos de Kubernetes configurando las opciones `datadog.leaderElection`, `datadog.collectEvents` y `agents.rbac.create` como `true` en tu archivo `datadog-values.yaml`. +Si no deseas usar el Agente de Clúster, aún puedes tener un Agente de Nodo que recopile eventos de Kubernetes estableciendo las opciones `datadog.leaderElection`, `datadog.collectEvents` y `agents.rbac.create` en `true` en tu archivo `datadog-values.yaml`. ```yaml datadog: @@ -135,14 +134,14 @@ agents: {{% /tab %}} {{< /tabs >}} -Para la configuración de DaemonSet, consulta [Recopilación de eventos de Cluster Agent en DaemonSet][14]. +Para la configuración de DaemonSet, consulte [Recopilación de eventos del Cluster Agent de DaemonSet][14]. -## Activar la recopilación de CNM +## Habilitar la colección de CNM {#enable-cnm-collection} {{< tabs >}} -{{% tab "Datadog Operator" %}} +{{% tab "Operador de Datadog" %}} -En tu `datadog-agent.yaml`, define `features.npm.enabled` como `true`. +En su `datadog-agent.yaml`, configure `features.npm.enabled` a `true`. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -159,7 +158,7 @@ spec: enabled: true ``` -A continuación, aplica la nueva configuración: +Luego aplique la nueva configuración: ```shell kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml @@ -168,7 +167,7 @@ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml {{% /tab %}} {{% tab "Helm" %}} -Actualiza tu `datadog-values.yaml` con la siguiente configuración: +Actualice su `datadog-values.yaml` con la siguiente configuración: ```yaml datadog: @@ -177,7 +176,7 @@ datadog: enabled: true ``` -A continuación, actualiza tu tabla de Helm: +Luego actualice su gráfico de Helm: ```shell helm upgrade -f datadog-values.yaml datadog/datadog @@ -186,13 +185,13 @@ helm upgrade -f datadog-values.yaml datadog/datadog {{% /tab %}} {{< /tabs >}} -Para ver más información, consulta [Cloud Network Monitoring][18]. +Para más información, consulte [Monitoreo de red en la nube][18]. -## Activar la recopilación de log +## Habilitar la colección de registro {#enable-log-collection} {{< tabs >}} -{{% tab "Datadog Operator" %}} -En tu `datadog-agent.yaml`, establece `features.logCollection.enabled` y `features.logCollection.containerCollectAll` en `true`. +{{% tab "Operador de Datadog" %}} +En su `datadog-agent.yaml`, configure `features.logCollection.enabled` y `features.logCollection.containerCollectAll` a `true`. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -210,7 +209,7 @@ spec: containerCollectAll: true ``` -A continuación, aplica la nueva configuración: +Luego aplique la nueva configuración: ```shell kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml @@ -218,7 +217,7 @@ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml {{% /tab %}} {{% tab "Helm" %}} -Actualiza tu `datadog-values.yaml` con la siguiente configuración: +Actualice su `datadog-values.yaml` con la siguiente configuración: ```yaml datadog: @@ -228,7 +227,7 @@ datadog: containerCollectAll: true ``` -A continuación, actualiza tu tabla de Helm: +Luego actualice su gráfico de Helm: ```shell helm upgrade -f datadog-values.yaml datadog/datadog @@ -236,13 +235,13 @@ helm upgrade -f datadog-values.yaml datadog/datadog {{% /tab %}} {{< /tabs >}} -Para obtener más información, consulta [Recopilación de log de Kubernetes][17]. +Para más información, consulte [Colección de registro de Kubernetes][17]. -## Activar la recopilación de procesos +## Habilitar la colección de procesos {#enable-process-collection} {{< tabs >}} -{{% tab "Datadog Operator" %}} -En tu `datadog-agent.yaml`, establece `features.liveProcessCollection.enabled` en `true`. +{{% tab "Operador de Datadog" %}} +En su `datadog-agent.yaml`, configure `features.liveProcessCollection.enabled` a `true`. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -259,7 +258,7 @@ spec: enabled: true ``` -A continuación, aplica la nueva configuración: +Luego aplique la nueva configuración: ```shell kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml @@ -267,7 +266,7 @@ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml {{% /tab %}} {{% tab "Helm" %}} -Actualiza tu `datadog-values.yaml` con la siguiente configuración: +Actualice su `datadog-values.yaml` con la siguiente configuración: ```yaml datadog: @@ -277,7 +276,7 @@ datadog: processCollection: true ``` -A continuación, actualiza tu tabla de Helm: +Luego actualice su gráfico de Helm: ```shell helm upgrade -f datadog-values.yaml datadog/datadog @@ -285,21 +284,21 @@ helm upgrade -f datadog-values.yaml datadog/datadog {{% /tab %}} {{< /tabs >}} -Para obtener más información, consulta [Live Processes][23] -## Datadog Cluster Agent +Para más información, consulte [Live Processes][23] +## Datadog Cluster Agent {#datadog-cluster-agent} -Datadog Cluster Agent proporciona un enfoque optimizado y centralizado para recopilar datos de monitorización del clúster. Datadog recomienda encarecidamente el uso de Cluster Agent para la monitorización de Kubernetes. +El Datadog Cluster Agent proporciona un enfoque centralizado y simplificado para la recopilación de datos de seguimiento a nivel de clúster. Datadog recomienda encarecidamente utilizar el Cluster Agent para monitorear Kubernetes. -Datadog Operator v1.0.0+ y tabla de Helm v2.7.0+ **habilitan por defecto el Cluster Agent **. No es necesaria ninguna otra configuración. +El operador de Datadog v1.0.0+ y el gráfico de Helm v2.7.0+ **habilitan el Cluster Agent por defecto**. No se requiere configuración adicional. {{< tabs >}} -{{% tab "Datadog Operator" %}} +{{% tab "Operador de Datadog" %}} -El Datadog Operator v1.0.0+ habilita el Cluster Agent por defecto. El Operator crea los RBAC necesarios y despliega Cluster Agent. Ambos Agents utilizan la misma clave de API. +El operador de Datadog v1.0.0+ habilita el agente de clúster por defecto. El operador crea los RBAC necesarios y despliega el agente de clúster. Ambos Agentes utilizan la misma clave de API. -El Operador genera automáticamente un token aleatorio en un `Secret` de Kubernetes que lo compartirán el Datadog Agent y Cluster Agent para una comunicación segura. +El Operador genera automáticamente un token aleatorio en un Kubernetes `Secret` que será compartido por el Datadog Agent y el Cluster Agent para una comunicación segura. -Puedes especificar manualmente este token en el campo `global.clusterAgentToken` de tu `datadog-agent.yaml`: +Puedes especificar manualmente este token en el campo `global.clusterAgentToken` en tu `datadog-agent.yaml`: ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -314,7 +313,7 @@ spec: clusterAgentToken: ``` -También puedes especificar este token haciendo referencia al nombre de un `Secret` existente y a la clave de datos que contiene este token: +Alternativamente, puedes especificar este token haciendo referencia al nombre de un `Secret` existente y la clave de datos que contiene este token: ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -331,9 +330,9 @@ spec: keyName: ``` -**Nota**: Cuando se configura manualmente, este token debe tener 32 caracteres alfanuméricos. +**Nota**: Cuando se establece manualmente, este token debe tener 32 caracteres alfanuméricos. -A continuación, aplica la nueva configuración: +Luego aplique la nueva configuración: ```shell kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml @@ -342,18 +341,18 @@ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml {{% /tab %}} {{% tab "Helm" %}} -La tabla de Helm v2.7.0+ activa por defecto el Cluster Agent. +El gráfico de Helm v2.7.0+ habilita el Cluster Agent por defecto. -Para comprobarlo, asegúrate de que `clusterAgent.enabled` está configurado como `true` en tu `datadog-values.yaml`: +Para verificación, asegúrate de que `clusterAgent.enabled` esté configurado en `true` en tu `datadog-values.yaml`: ```yaml clusterAgent: enabled: true ``` -Helm genera automáticamente un token aleatorio en un `Secret` de Kubernetes compartido por el Datadog Agent y Cluster Agent para una comunicación segura. +Helm genera automáticamente un token aleatorio en un Kubernetes `Secret` que será compartido por el Agente de Datadog y el Agente de Clúster para una comunicación segura. -Puedes especificar manualmente este token en el campo `clusterAgent.token` de tu `datadog-agent.yaml`: +Puedes especificar manualmente este token en el campo `clusterAgent.token` en tu `datadog-agent.yaml`: ```yaml clusterAgent: @@ -361,7 +360,7 @@ clusterAgent: token: ``` -Alternativamente, puedes especificar este token haciendo referencia al nombre de un `Secret` existente, donde el token se encuentra en una clave llamada `token`: +Alternativamente, puedes especificar este token haciendo referencia al nombre de un `Secret` existente, donde el token está en una clave llamada `token`: ```yaml clusterAgent: @@ -372,15 +371,15 @@ clusterAgent: {{% /tab %}} {{< /tabs >}} -Para más información, consulta la [documentación de Datadog Cluster Agent][2]. +Para más información, consulta la [documentación del Agente de Clúster de Datadog][2]. -## Servidor de métricas personalizadas +## Servidor de métricas personalizadas {#custom-metrics-server} -Para utilizar la función [servidor de métricas personalizadas][22] de Cluster Agent, debes proporcionar una [clave de aplicación][24] de Datadog y activar el proveedor de métricas. +Para utilizar la función de [servidor de métricas personalizadas][22] del Agente de Clúster, debes proporcionar una [clave de aplicación][24] de Datadog y habilitar el proveedor de métricas. {{< tabs >}} -{{% tab "Datadog Operator" %}} -En `datadog-agent.yaml`, proporcione una clave de aplicación en `spec.global.credentials.appKey` y establece `features.externalMetricsServer.enabled` en `true`. +{{% tab "Operador de Datadog" %}} +En `datadog-agent.yaml`, proporciona una clave de aplicación bajo `spec.global.credentials.appKey` y establece `features.externalMetricsServer.enabled` en `true`. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -398,14 +397,14 @@ spec: enabled: true ``` -A continuación, aplica la nueva configuración: +Luego aplique la nueva configuración: ```shell kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml ``` {{% /tab %}} {{% tab "Helm" %}} -En `datadog-values.yaml`, proporcione una clave de aplicación en `datadog.appKey` y establece `clusterAgent.metricsProvider.enabled` en `true`. +En `datadog-values.yaml`, proporciona una clave de aplicación bajo `datadog.appKey` y establece `clusterAgent.metricsProvider.enabled` en `true`. ```yaml datadog: @@ -418,7 +417,7 @@ clusterAgent: enabled: true ``` -A continuación, actualiza tu tabla de Helm: +Luego actualice su gráfico de Helm: ```shell helm upgrade -f datadog-values.yaml datadog/datadog @@ -427,20 +426,20 @@ helm upgrade -f datadog-values.yaml datadog/datadog {{% /tab %}} {{< /tabs >}} -## Integraciones +## Integraciones {#integrations} -Una vez que Agent esté funcionando en tu clúster, utiliza [la característica Autodiscovery de Datadog][5] para recopilar métricas y logs automáticamente de tus pods. +Una vez que el Agente esté en funcionamiento en tu clúster, utiliza la función de [Autodiscovery de Datadog][5] para recopilar métricas y registro automáticamente de tus pods. -## Vista de contenedores +## Visualización de contenedores {#containers-view} -Para utilizar el [Explorador de contenedores][3] de Datadog, active el Agent de proceso. Datadog Operator y la tabla de Helm **habilitan el Agent de proceso por defecto**. No es necesario ninguna otra configuración. +Para utilizar el [Explorador de contenedores][3] de Datadog, habilita el Agente de Procesos. El Operador de Datadog y el gráfico de Helm **habilitan el Agente de Procesos por defecto**. No se requiere configuración adicional. {{< tabs >}} -{{% tab "Datadog Operator" %}} +{{% tab "Operador de Datadog" %}} -De manera predeterminada, el Datadog Operator habilita el Process Agent. +El Operador de Datadog habilita el Agente de Procesos por defecto. -Para comprobarlo, asegúrate de que `features.liveContainerCollection.enabled` está configurado como `true` en tu `datadog-agent.yaml`: +Para verificación, asegúrate de que `features.liveContainerCollection.enabled` esté configurado en `true` en tu `datadog-agent.yaml`: ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -456,7 +455,7 @@ spec: liveContainerCollection: enabled: true ``` -En algunas configuraciones, el Process Agent y Cluster Agent no pueden detectar de manera automática un nombre de clúster de Kubernetes. Si esto ocurre, la función no se inicia y aparece la siguiente advertencia en el log del Cluster Agent: `Orchestrator explorer enabled but no cluster name set: disabling`. En este caso, debes definir `datadog.clusterName` con tu nombre de clúster en `values.yaml`. +En algunas configuraciones, el Agente de Procesos y el Agente de Clúster no pueden detectar automáticamente el nombre de un clúster de Kubernetes. Si esto sucede, la función no se inicia y la siguiente advertencia se muestra en el registro del Agente de Clúster: `Orchestrator explorer enabled but no cluster name set: disabling`. En este caso, debes establecer `spec.global.clusterName` como el nombre de tu clúster en `datadog-agent.yaml`: ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -477,9 +476,9 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -La tabla de Helm activa el Agent de proceso por defecto. +El gráfico de Helm habilita el Agente de Proceso por defecto. -Para comprobarlo, asegúrate de que `processAgent.enabled` está configurado como `true` en tu `datadog-values.yaml`: +Para verificación, asegúrate de que `processAgent.enabled` esté configurado en `true` en tu `datadog-values.yaml`: ```yaml datadog: @@ -488,7 +487,7 @@ datadog: enabled: true ``` -En algunas configuraciones, el Process Agent y Cluster Agent no pueden detectar de manera automática un nombre de clúster de Kubernetes. Si esto ocurre, la función no se inicia y aparece la siguiente advertencia en el log del Cluster Agent: `Orchestrator explorer enabled but no cluster name set: disabling.`. En este caso, debes definir`datadog.clusterName` con tu nombre de clúster en `values.yaml`. +En algunas configuraciones, el Agente de Procesos y el Agente de Clúster no pueden detectar automáticamente el nombre de un clúster de Kubernetes. Si esto sucede, la función no se inicia y la siguiente advertencia se muestra en el registro del Agente de Clúster: `Orchestrator explorer enabled but no cluster name set: disabling.`. En este caso, debes establecer `datadog.clusterName` como el nombre de tu clúster en `datadog-values.yaml`. ```yaml datadog: @@ -504,20 +503,20 @@ datadog: {{% /tab %}} {{< /tabs >}} -Para conocer las restricciones de los nombres de clúster válidos, consulta [Definir el nombre de clúster](#set-cluster-name). +Para restricciones sobre nombres de clúster válidos, consulta [Establecer nombre de clúster](#set-cluster-name). -Consulta la documentación [Vista de contenedores][15] para obtener información adicional. +Consulta la documentación de la [Containers view][15] para información adicional. -## Orchestrator Explorer +## Orchestrator Explorer {#orchestrator-explorer} -El Datadog Operator y la tabla de Helm **habilitan por defecto el [Orchestrator Explorer][20] de Datadog**. No es necesario ninguna otra configuración. +El Datadog Operator y el Helm chart **habilitan por defecto [Orchestrator Explorer][20] de Datadog**. No se requiere configuración adicional. {{< tabs >}} {{% tab "Datadog Operator" %}} -Orchestrator Explorer está activado por defecto en el Datadog Operator. +El Orchestrator Explorer está habilitado en el Datadog Operator por defecto. -Para comprobarlo, asegúrate de que el parámetro `features.orchestratorExplorer.enabled` está configurado como `true` en tu `datadog-agent.yaml`: +Para verificación, asegúrese de que el parámetro `features.orchestratorExplorer.enabled` esté establecido en `true` en su `datadog-agent.yaml`: ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -534,7 +533,7 @@ spec: enabled: true ``` -En algunas configuraciones, el Process Agent y Cluster Agent no pueden detectar de manera automática un nombre de clúster de Kubernetes. Si esto ocurre, la función no se inicia y aparece la siguiente advertencia en el log del Cluster Agent: `Orchestrator explorer enabled but no cluster name set: disabling`. En este caso, debes definir `datadog.clusterName` con tu nombre de clúster en `values.yaml`. +En algunas configuraciones, el Agente de Procesos y el Agente de Clúster no pueden detectar automáticamente el nombre de un clúster de Kubernetes. Si esto sucede, la función no se inicia y la siguiente advertencia se muestra en el registro del Agente de Clúster: `Orchestrator explorer enabled but no cluster name set: disabling`. En este caso, debe establecer `spec.global.clusterName` como el nombre de su clúster en `datadog-agent.yaml`: ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -556,9 +555,9 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -La tabla de Helm habilita Orchestrator Explorer por defecto. +El gráfico de Helm habilita el Explorador de Orquestador por defecto. -Para comprobarlo, asegúrate de que el parámetro `orchestratorExplorer.enabled` está configurado como `true` en tu archivo `datadog-values.yaml`: +Para verificación, asegúrate de que el parámetro `orchestratorExplorer.enabled` esté establecido en `true` en tu archivo `datadog-values.yaml`: ```yaml datadog: @@ -569,7 +568,7 @@ datadog: enabled: true ``` -En algunas configuraciones, el Process Agent y Cluster Agent no pueden detectar de manera automática un nombre de clúster de Kubernetes. Si esto ocurre, la función no se inicia y aparece la siguiente advertencia en el log del Cluster Agent: `Orchestrator explorer enabled but no cluster name set: disabling.` En este caso, debes establecer `datadog.clusterName` con tu nombre de clúster en `values.yaml`. +En algunas configuraciones, el Agente de Procesos y el Agente de Clúster no pueden detectar automáticamente el nombre de un clúster de Kubernetes. Si esto sucede, la función no se inicia y la siguiente advertencia se muestra en el registro del Agente de Clúster: `Orchestrator explorer enabled but no cluster name set: disabling.`. En este caso, debe establecer `datadog.clusterName` como el nombre de su clúster en `values.yaml`. ```yaml datadog: @@ -585,81 +584,81 @@ datadog: {{% /tab %}} {{< /tabs >}} -Para conocer las restricciones de los nombres de clúster válidos, consulta [Definir el nombre de clúster](#set-cluster-name). +Para restricciones sobre nombres de clúster válidos, consulta [Establecer nombre de clúster](#set-cluster-name). -Consulta la [documentación de Orchestrator Explorer][21] para obtener información adicional. +Consulta la [Orchestrator Explorer documentation][21] para información adicional. -## Configuración básica +## Configuración básica {#basic-configuration} -Utiliza los siguientes campos de configuración para configurar el Datadog Agent. +Utilice los siguientes campos de configuración para configurar el Agente de Datadog. {{< tabs >}} {{% tab "Datadog Operator" %}} | Parámetro (v2alpha1) | Descripción | | --------------------------- | ----------- | -| `global.credentials.apiKey` | Configura tu clave de API Datadog. | -| `global.credentials.apiSecret.secretName` | En lugar de `global.credentials.apiKey`, indica el nombre de un `Secret` de Kubernetes que contenga tu clave de API de Datadog.| -| `global.credentials.apiSecret.keyName` | En lugar de `global.credentials.apiKey`, proporciona la clave del `Secret` de Kubernetes nombrada en `global.credentials.apiSecret.secretName`.| -| `global.credentials.appKey` | Configura tu clave de aplicación de Datadog. Si utilizas el servidor de métricas externas, debes configurar una clave de aplicación de Datadog para el acceso de lectura a tus métricas. | -| `global.credentials.appSecret.secretName` | En lugar de `global.credentials.apiKey`, indica el nombre de un `Secret` de Kubernetes que contenga la clave de tu aplicación de Datadog.| -| `global.credentials.appSecret.keyName` | En lugar de `global.credentials.apiKey`, proporciona la clave del `Secret` de Kubernetes nombrada en `global.credentials.appSecret.secretName`.| -| `global.logLevel` | Establece la intensidad del registro. Esto puede ser anulado por el contenedor. Los niveles de log válidos son: `trace`, `debug`, `info`, `warn`, `error`, `critical` y `off`. Por defecto: `info`. | -| `global.registry` | Registro de imágenes a utilizar para todas las imágenes de Agent. Por defecto: `gcr.io/datadoghq`. | -| `global.site` | Establece el [sitio de entrada][1] de Datadog al que se envían los datos del Agent. Tu sitio es {{< region-param key="dd_site" code="true" >}}. (Asegúrate de seleccionar el SITIO correcto a la derecha). | -| `global.tags` | Un lista de etiquetas para adjuntar a cada métrica, evento y check de servicio recopilados. | - -Para obtener una lista completa de los campos de configuración del Datadog Operator, consulta la [especificación del Operator v2alpha1][2]. Para ver versiones anteriores, consulta [Migración de CRD de Datadog Agents a v2alpha1][3]. Los campos de configuración también pueden consultarse mediante `kubectl explain datadogagent --recursive`. +| `global.credentials.apiKey` | Configure su clave de API de Datadog. | +| `global.credentials.apiSecret.secretName` | En lugar de `global.credentials.apiKey`, proporcione el nombre de un `Secret` de Kubernetes que contenga su clave de API de Datadog.| +| `global.credentials.apiSecret.keyName` | En lugar de `global.credentials.apiKey`, proporcione la clave del `Secret` de Kubernetes nombrado en `global.credentials.apiSecret.secretName`.| +| `global.credentials.appKey` | Configure su clave de aplicación de Datadog. Si está utilizando el servidor de métricas externo, debe establecer una clave de aplicación de Datadog para el acceso de lectura a sus métricas. | +| `global.credentials.appSecret.secretName` | En lugar de `global.credentials.apiKey`, proporcione el nombre de un `Secret` de Kubernetes que contenga su clave de aplicación de Datadog.| +| `global.credentials.appSecret.keyName` | En lugar de `global.credentials.apiKey`, proporcione la clave del `Secret` de Kubernetes nombrado en `global.credentials.appSecret.secretName`.| +| `global.logLevel` | Establece la verbosidad de los registros. Esto puede ser anulado por el contenedor. Los niveles de registro válidos son: `trace`, `debug`, `info`, `warn`, `error`, `critical` y `off`. Predeterminado: `info`. | +| `global.registry` | Registro de imágenes a utilizar para todas las imágenes del Agente. Predeterminado: `gcr.io/datadoghq`. | +| `global.site` | Establece el [sitio de recepción][1] de Datadog al cual se envían los datos del Agente. Su sitio es {{< region-param key="dd_site" code="true" >}}. (Asegúrese de que el SITIO correcto esté seleccionado a la derecha). | +| `global.tags` | Una lista de etiquetas para adjuntar a cada métrica, evento y verificación de servicio recolectados. | + +Para una lista completa de campos de configuración para el Datadog Operator, consulte la [especificación del Operador v2alpha1][2]. Para versiones anteriores, consulte [Migrar CRDs de DatadogAgent a v2alpha1][3]. Los campos de configuración también se pueden consultar utilizando `kubectl explain datadogagent --recursive`. [1]: /es/getting_started/ [2]: https://github.com/DataDog/datadog-operator/blob/main/docs/configuration.v2alpha1.md [3]: /es/containers/guide/v2alpha1_migration/ {{% /tab %}} {{% tab "Helm" %}} -| Helm | Descripción | -| ---- | ----------- | -| `datadog.apiKey` | Configura tu clave de API de Datadog. | -| `datadog.apiKeyExistingSecret` | En lugar de `datadog.apiKey`, proporciona el nombre de un `Secret` de Kubernetes existente que contenga tu clave de API de Datadog, configurada con el nombre de clave `api-key`. | -| `datadog.appKey` | Configura tu clave de aplicación de Datadog. Si utilizas el servidor de métricas externas, debes configurar una clave de aplicación de Datadog para el acceso de lectura a tus métricas. | -| `datadog.appKeyExistingSecret` | En lugar de `datadog.appKey`, proporciona el nombre de un `Secret` de Kubernetes existente que contenga tu clave de aplicación de Datadog, configurada con el nombre de clave `app-key`. | -| `datadog.logLevel` | Establece la verbosidad del registro. Esto puede ser anulado por el contenedor. Los niveles válidos de log son: `trace`, `debug`, `info`, `warn`, `error`, `critical` y `off`. Por defecto: `info`. | -| `registry` | Registro de imagen a utilizar para todas las imágenes del Agent. Por defecto: `gcr.io/datadoghq`. | -| `datadog.site` | Establece el [sitio de entrada][1] de Datadog al que se envían los datos del Agent. Tu sitio es {{< region-param key="dd_site" code="true" >}}. (Asegúrate de seleccionar el SITIO correcto a la derecha). | -| `datadog.tags` | Un lista de etiquetas para adjuntar a cada métrica, evento y check de servicio recopilados. | - -Si deseas consultar la lista completa de las variables de entorno para la tabla de Helm, consulta la [ lista completa de opciones][2] para `datadog-values.yaml`. +| Helm | Descripción | +| ---- | ----------- | +| `datadog.apiKey` | Configure su clave de API de Datadog. | +| `datadog.apiKeyExistingSecret` | En lugar de `datadog.apiKey`, proporcione el nombre de un `Secret` de Kubernetes existente que contenga su clave de API de Datadog, configurada con el nombre de clave `api-key`. | +| `datadog.appKey` | Configure su clave de aplicación de Datadog. Si está utilizando el servidor de métricas externo, debe establecer una clave de aplicación de Datadog para el acceso de lectura a sus métricas. | +| `datadog.appKeyExistingSecret` | En lugar de `datadog.appKey`, proporcione el nombre de un `Secret` de Kubernetes existente que contenga su clave de aplicación de Datadog, configurada con el nombre de clave `app-key`. | +| `datadog.logLevel` | Establece la verbosidad de los registros. Esto puede ser anulado por el contenedor. Los niveles de registro válidos son: `trace`, `debug`, `info`, `warn`, `error`, `critical` y `off`. Predeterminado: `info`. | +| `registry` | Registro de imágenes a utilizar para todas las imágenes del Agente. Predeterminado: `gcr.io/datadoghq`. | +| `datadog.site` | Establece el [sitio de recepción][1] de Datadog al que se envían los datos del Agente. Su sitio es {{< region-param key="dd_site" code="true" >}}. (Asegúrese de que el SITIO correcto esté seleccionado a la derecha). | +| `datadog.tags` | Una lista de etiquetas para adjuntar a cada métrica, evento y verificación de servicio recolectados. | + +Para una lista completa de variables de entorno para el gráfico de Helm, consulte la [lista completa de opciones][2] para `datadog-values.yaml`. [1]: /es/getting_started/site [2]: https://github.com/DataDog/helm-charts/tree/main/charts/datadog#all-configuration-options {{% /tab %}} {{% tab "DaemonSet" %}} -| Variable de Ent | Descripción | +| Variable de entorno | Descripción | |----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_API_KEY` | Tu Datadog clave de API (**obligatorio**) | -| `DD_ENV` | Establece la etiqueta global `env` para todos los datos emitidos. | -| `DD_HOSTNAME` | Nombre de host a utilizar para métricas (si falla la detección automática) | | | -| `DD_TAGS` | Etiquetas de host separadas por espacios. Por ejemplo: `simple-tag-0 tag-key-1:tag-value-1` | -| `DD_SITE` | Sitio de destino para tus métricas, trazas y logs. Tu `DD_SITE` es {{< region-param key="dd_site" code="true">}}. Por defecto es `datadoghq.com`. | -| `DD_DD_URL` | Opcional para anular la URL de envío de métrica. | -| `DD_URL` (6.36+/7.36+) | Alias para `DD_DD_URL`. Ignorado si `DD_DD_URL` ya está configurado. | -| `DD_CHECK_RUNNERS` | El Agent ejecuta todos los checks de forma concurrente por defecto (valor por defecto = `4` ejecutores). Para ejecutar checks secuencialmente, ajusta el valor en `1`. Si necesitas ejecutar un número elevado de checks (o checks lentos), el componente `collector-queue` podría retrasarse y el check de estado podría fallar. Puede aumentar el número de ejecutores para iniciar checks en paralelo. | -| `DD_LEADER_ELECTION` | Si se están ejecutando múltiples instancias del Agent en tu clúster, establece esta variable en `true` para evitar la duplicación de la recopilación de eventos. | +| `DD_API_KEY` | Su clave de API de Datadog (**requerida**) | +| `DD_ENV` | Establece la etiqueta global `env` para todos los datos emitidos. | +| `DD_HOSTNAME` | Nombre de servidor a utilizar para métricas (si la autodetección falla) | +| `DD_TAGS` | Etiquetas de servidor separadas por espacios. Por ejemplo: `simple-tag-0 tag-key-1:tag-value-1` | +| `DD_SITE` | Sitio de destino para sus métricas, trazas y registros. Su `DD_SITE` es {{< region-param key="dd_site" code="true">}}. Por defecto es `datadoghq.com`. | +| `DD_DD_URL` | Configuración opcional para anular la URL para la presentación de métricas. | +| `DD_URL` (6.36+/7.36+) | Alias para `DD_DD_URL`. Ignorado si `DD_DD_URL` ya está configurado. | +| `DD_CHECK_RUNNERS` | El Agente ejecuta todas las verificaciones de manera concurrente por defecto (valor predeterminado = `4` ejecutores). Para ejecutar las verificaciones de manera secuencial, establezca el valor en `1`. Si necesita ejecutar un gran número de verificaciones (o verificaciones lentas), el componente `collector-queue` podría quedarse atrás y fallar la verificación de salud. Puede aumentar el número de ejecutores para ejecutar verificaciones en paralelo. | +| `DD_LEADER_ELECTION` | Si múltiples instancias del Agente están ejecutándose en su clúster, establezca esta variable en `true` para evitar la duplicación de la recolección de eventos. | {{% /tab %}} {{< /tabs >}} -## Variables de entorno -El Datadog Agent en contenedores puede configurarse utilizando variables de entorno. Para una amplia lista de las variables de entorno compatibles, consulta la sección [variables de entorno][26] de la documentación del Docker Agent. +## Variables de entorno {#environment-variables} +El Agente de Datadog en contenedores se puede configurar utilizando variables de entorno. Para una lista extensa de variables de entorno soportadas, consulte la sección de [Variables de entorno][26] de la documentación del Agente de Docker. -### Ejemplos +### Ejemplos {#examples} {{< tabs >}} {{% tab "Datadog Operator" %}} -Al utilizar el Datadog Operator, puedes establecer variables de entorno adicionales en `override` para un componente con `[key].env []object`, o para un contenedor con `[key].containers.[key].env []object`. Se admiten las siguientes claves: +Al usar el Datadog Operator, puede establecer variables de entorno adicionales en `override` para un componente con `[key].env []object`, o para un contenedor con `[key].containers.[key].env []object`. Las siguientes claves son soportadas: - `nodeAgent` - `clusterAgent` - `clusterChecksRunner` -Los ajustes de contenedor tienen prioridad sobre los ajustes de componente. +Las configuraciones a nivel de contenedor tienen prioridad sobre cualquier configuración a nivel de componente. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -696,7 +695,8 @@ clusterAgent: {{% /tab %}} {{% tab "DaemonSet" %}} -Añade variables de entorno al DaemonSet o al despliegue (para Datadog Cluster Agent). +Agregue variables de entorno al DaemonSet o al Deployment (para el Agente de Clúster de Datadog). + ```yaml apiVersion: apps/v1 kind: DaemonSet @@ -716,38 +716,38 @@ spec: {{% /tab %}} {{< /tabs >}} -## Configurar DogStatsD +## Configurar DogStatsD {#configure-dogstatsd} -DogStatsD puede enviar métricas personalizadas sobre UDP con el protocolo StatsD. **DogStatsD está habilitado por defecto por Datadog Operator y Helm**. Consulta la [documentación de DogStatsD][19] para obtener más información. +DogStatsD puede enviar métricas personalizadas a través de UDP con el protocolo StatsD. **DogStatsD está habilitado por defecto por el Datadog Operator y Helm**. Consulte la [documentación de DogStatsD][19] para más información. -Puedes utilizar las siguientes variables de entorno para configurar DogStatsD con DaemonSet: +Puede usar las siguientes variables de entorno para configurar DogStatsD con DaemonSet: -| Variable de entorno | Descripción | +| Variable de Entorno | Descripción | |----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` | Escucha los paquetes de DogStatsD de otros contenedores (obligatorio para enviar métricas personalizadas). | -| `DD_HISTOGRAM_PERCENTILES` | Los percentiles de histogramas para calcular (separados por espacios). Por defecto es `0.95`. | +| `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` | Escuchar paquetes de DogStatsD de otros contenedores (requerido para enviar métricas personalizadas). | +| `DD_HISTOGRAM_PERCENTILES` | Los percentiles del histograma a calcular (separados por espacios). El valor por defecto es `0.95`. | | `DD_HISTOGRAM_AGGREGATES` | Los agregados del histograma a calcular (separados por espacios). El valor por defecto es `"max median avg count"`. | -| `DD_DOGSTATSD_SOCKET` | La ruta al socket Unix que se va a escuchar. Debe estar en un volumen montado en `rw`. | -| `DD_DOGSTATSD_ORIGIN_DETECTION` | Habilita la detección y el etiquetado de contenedores para las métricas del socket Unix. | -| `DD_DOGSTATSD_TAGS` | Etiquetas adicionales para anexar a todas las métricas, los eventos y los checks de servicios recibidos por este servidor de DogStatsD, por ejemplo: `"env:golden group:retrievers"`. | +| `DD_DOGSTATSD_SOCKET` | Ruta al socket Unix para escuchar. Debe estar en un `rw` volumen montado. | +| `DD_DOGSTATSD_ORIGIN_DETECTION` | Habilitar la detección y etiquetado de contenedores para métricas de socket Unix. | +| `DD_DOGSTATSD_TAGS` | Etiquetas adicionales para agregar a todas las métricas, eventos y verificaciones de servicio recibidos por este servidor DogStatsD, por ejemplo: `"env:golden group:retrievers"`. | -## Configurar la asignación de etiquetas +## Configurar el mapeo de etiquetas {#configure-tag-mapping} Datadog recopila automáticamente etiquetas comunes de Kubernetes. -Además, puedes asignar etiquetas de nodos de Kubernetes, etiquetas de pods y anotaciones a las etiquetas de Datadog. Utiliza las siguientes variables de entorno para configurar esta asignación: +Además, puede mapear las etiquetas de los nodos de Kubernetes, las etiquetas de los pods y las anotaciones a las etiquetas de Datadog. Utilice las siguientes variables de entorno para configurar este mapeo: {{< tabs >}} {{% tab "Datadog Operator" %}} | Parámetro (v2alpha1) | Descripción | | --------------------------- | ----------- | -| `global.namespaceLabelsAsTags` | Proporciona una asignación entre las etiquetas de espacio de nombres de Kubernetes y etiquetas de Datadog. `: ` | -| `global.nodeLabelsAsTags` | Proporciona una asignación entre las etiquetas de nodo de Kubernetes y etiquetas de Datadog. `: ` | -| `global.podAnnotationsAsTags` | Proporciona una asignación entre anotaciones de Kubernetes y etiquetas de Datadog. `: ` | -| `global.podLabelsAsTags` | Proporciona una asignación entre las etiquetas de Kubernetes y las etiquetas de Datadog. `: ` | +| `global.namespaceLabelsAsTags` | Proporcionar un mapeo de las etiquetas de espacio de nombres de Kubernetes a las etiquetas de Datadog. `: ` | +| `global.nodeLabelsAsTags` | Proporcionar un mapeo de las etiquetas de nodos de Kubernetes a las etiquetas de Datadog. `: ` | +| `global.podAnnotationsAsTags` | Proporcionar un mapeo de las anotaciones de Kubernetes a las etiquetas de Datadog. `: ` | +| `global.podLabelsAsTags` | Proporcionar un mapeo de las etiquetas de Kubernetes a las etiquetas de Datadog. `: ` | -### Ejemplos +### Ejemplos {#examples-1} ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -779,12 +779,12 @@ spec: | Helm | Descripción | | --------------------------- | ----------- | -| `datadog.namespaceLabelsAsTags` | Proporciona una asignación entre las etiquetas de espacio de nombres de Kubernetes y etiquetas de Datadog. `: ` | -| `datadog.nodeLabelsAsTags` | Proporciona una asignación entre las etiquetas de nodo de Kubernetes y etiquetas de Datadog. `: ` | -| `datadog.podAnnotationsAsTags` | Proporciona una asignación entre anotaciones de Kubernetes y etiquetas de Datadog. `: ` | -| `datadog.podLabelsAsTags` | Proporciona una asignación entre las etiquetas de Kubernetes y las etiquetas de Datadog. `: ` | +| `datadog.namespaceLabelsAsTags` | Proporcionar un mapeo de las etiquetas de espacio de nombres de Kubernetes a las etiquetas de Datadog. `: ` | +| `datadog.nodeLabelsAsTags` | Proporcionar un mapeo de las etiquetas de nodos de Kubernetes a las etiquetas de Datadog. `: ` | +| `datadog.podAnnotationsAsTags` | Proporcionar un mapeo de las anotaciones de Kubernetes a las etiquetas de Datadog. `: ` | +| `datadog.podLabelsAsTags` | Proporcionar un mapeo de las etiquetas de Kubernetes a las etiquetas de Datadog. `: ` | -### Ejemplos +### Ejemplos {#examples-2} ```yaml datadog: @@ -808,27 +808,27 @@ datadog: {{% /tab %}} {{< /tabs >}} -## Usar archivos secretos +## Usando archivos secretos {#using-secret-files} -Las credenciales de integración pueden almacenarse en los secretos de Docker o Kubernetes y utilizarse en las plantillas de Autodiscovery. Para obtener más información, consulta [Gestión de secretos][12]. +Las credenciales de integración se pueden almacenar en secretos de Docker o Kubernetes y utilizarse en plantillas de Autodiscovery. Para más información, consulte [Gestión de Secretos][12]. -## Ignora los contenedores +## Ignorar contenedores {#ignore-containers} -Excluye contenedores de la recopilación de logs, métricas y Autodiscovery. Datadog excluye los contenedores `pause` de Kubernetes y OpenShift por defecto. Estas listas de permisos y denegaciones se aplican únicamente a Autodiscovery; las trazas y DogStatsD no se ven afectados. Estas variables de entorno admiten expresiones regulares en sus valores. +Excluya contenedores de la recopilación de registros, la recopilación de métricas y la Autodiscovery. Datadog excluye `pause` contenedores de Kubernetes y OpenShift por defecto. Estas listas de permitidos y bloqueados se aplican solo a Autodiscovery; las trazas y DogStatsD no se ven afectados. Estas variables de entorno admiten expresiones regulares en sus valores. -Consulta la página [Gestión de detección de contenedores][13] para ver ejemplos. +Consulte la página de [Gestión de Descubrimiento de Contenedores][13] para ejemplos. -**Nota**: Las métricas `kubernetes.containers.running`, `kubernetes.pods.running`, `docker.containers.running`, `.stopped`, `.running.total` y `.stopped.total` no se ven afectadas por estos ajustes. Se cuentan todos los contenedores. +**Nota**: Las métricas `kubernetes.containers.running`, `kubernetes.pods.running`, `docker.containers.running`, `.stopped`, `.running.total` y `.stopped.total` no se ven afectadas por estas configuraciones. Todos los contenedores son contados. -## Tiempo de espera del servidor de API de Kubernetes +## Tiempo de espera del servidor API de Kubernetes {#kubernetes-api-server-timeout} -Por defecto, [el check de las métricas centrales de estado de Kubernetes][25] espera 10 segundos para recibir una respuesta del servidor de la API de Kubernetes. En el caso de clústeres de gran tamaño, es posible que se agote el tiempo de espera y se pierdan métricas. +Por defecto, la [verificación de Métricas del Estado de Kubernetes][25] espera 10 segundos para una respuesta del servidor API de Kubernetes. Para clústeres grandes, la solicitud puede agotar el tiempo, lo que resulta en métricas faltantes. -Puedes evitarlo al configurar la variable de entorno `DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT` en un valor superior al predeterminado de 10 segundos. +Puede evitar esto configurando la variable de entorno `DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT` a un valor más alto que el tiempo predeterminado de 10 segundos. {{< tabs >}} {{% tab "Datadog Operator" %}} -Actualiza tu `datadog-agent.yaml` con la siguiente configuración: +Actualice su `datadog-agent.yaml` con la siguiente configuración: ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -843,7 +843,7 @@ spec: value: ``` -A continuación, aplica la nueva configuración: +Luego aplique la nueva configuración: ```shell kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml @@ -851,7 +851,7 @@ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml {{% /tab %}} {{% tab "Helm" %}} -Actualiza tu `datadog-values.yaml` con la siguiente configuración: +Actualice su `datadog-values.yaml` con la siguiente configuración: ```yaml clusterAgent: @@ -860,7 +860,7 @@ clusterAgent: value: ``` -A continuación, actualiza tu tabla de Helm: +Luego actualice su Helm chart: ```shell helm upgrade -f datadog-values.yaml datadog/datadog @@ -868,28 +868,28 @@ helm upgrade -f datadog-values.yaml datadog/datadog {{% /tab %}} {{< /tabs >}} -## Parámetros del proxy +## Configuraciones de proxy {#proxy-settings} -A partir del Agent v6.4.0 (y v6.5.0 para el Trace Agent), se pueden sobreescribir los valores de configuración de proxy del Agent con las siguientes variables de entorno: +A partir de la versión 6.4.0 del Agente (y de la 6.5.0 para el Trace Agent), puede anular las configuraciones de proxy del Agente con las siguientes variables de entorno: -| Variable de entorno | Descripción | +| Variable de Entorno | Descripción | |--------------------------|------------------------------------------------------------------------| -| `DD_PROXY_HTTP` | Una URL HTTP para usar como proxy para las solicitudes `http`. | -| `DD_PROXY_HTTPS` | Una URL HTTPS para usar como proxy para las solicitudes `https`. | -| `DD_PROXY_NO_PROXY` | Una lista separada por espacios de las URL para las que no se debe usar ningún proxy. | -| `DD_SKIP_SSL_VALIDATION` | Una opción para comprobar si el Agent tiene problemas para conectarse a Datadog. | +| `DD_PROXY_HTTP` | Una URL HTTP para usar como proxy para solicitudes de `http`. | +| `DD_PROXY_HTTPS` | Una URL HTTPS para usar como proxy para solicitudes de `https`. | +| `DD_PROXY_NO_PROXY` | Una lista de URLs separadas por espacios para las cuales no se debe usar proxy. | +| `DD_SKIP_SSL_VALIDATION` | Una opción para probar si el Agente tiene problemas para conectarse a Datadog. | -## Definir el nombre de clúster +## Establecer el nombre del clúster {#set-cluster-name} -Algunas capacidades requieren que se defina un nombre de clúster Kubernetes. Un nombre de clúster válido debe ser único y debe estar separado por puntos, con las siguientes restricciones: +Algunas capacidades requieren que establezca un nombre de clúster de Kubernetes. Un nombre de clúster válido debe ser único y estar separado por puntos, con las siguientes restricciones: -- Sólo puede contener letras minúsculas, números y guiones -- Debe empezar por una letra -- La longitud total debe ser inferior o igual a 80 caracteres +- Puede contener solo letras minúsculas, números y guiones +- Debe comenzar con una letra +- La longitud total es menor o igual a 80 caracteres {{< tabs >}} {{% tab "Datadog Operator" %}} -Define `spec.global.clusterName` con tu nombre de clúster en `datadog-agent.yaml`: +Establezca `spec.global.clusterName` como el nombre de su clúster en `datadog-agent.yaml`: ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -903,7 +903,7 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -Define `datadog.clusterName` con tu nombre de clúster en `datadog-values.yaml`. +Establezca `datadog.clusterName` como el nombre de su clúster en `datadog-values.yaml`. ```yaml datadog: @@ -913,23 +913,23 @@ datadog: {{% /tab %}} {{< /tabs >}} -## Autodiscovery +## Autodiscovery {#autodiscovery} | Variable de entorno | Descripción | |------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_LISTENERS` | Oyentes de Autodiscovery para ejecutar. | -| `DD_EXTRA_LISTENERS` | Oyentes de Autodiscovery adicionales para ejecutar. Se añaden además de las variables definidas en la sección `listeners` del archivo de configuración `datadog.yaml`. | -| `DD_CONFIG_PROVIDERS` | Los proveedores a los que el Agent debe llamar para recopilar las configuraciones de check. Los proveedores disponibles son:
`kubelet`: maneja plantillas incrustadas en anotaciones de pods.
`docker`: maneja plantillas incrustadas en etiquetas de contenedor.
`clusterchecks`: recupera configuraciones de check de clúster del Cluster Agent .
`kube_services`: controla servicios de Kubernetes para checks de clústeres. | -| `DD_EXTRA_CONFIG_PROVIDERS` | Proveedores de configuración de Autodiscovery adicionales a utilizar. Se añaden además de las variables definidas en la sección `config_providers` del archivo de configuración `datadog.yaml`. | +| `DD_LISTENERS` | Listeners de Autodiscovery para ejecutar. | +| `DD_EXTRA_LISTENERS` | Listeners de Autodiscovery adicionales para ejecutar. Se añaden además de las variables definidas en la sección `listeners` del archivo de configuración `datadog.yaml`. | +| `DD_CONFIG_PROVIDERS` | Los proveedores que el Agente debe llamar para recopilar configuraciones de verificación. Los proveedores disponibles son:
`kubelet` - Maneja plantillas incrustadas en anotaciones de pod.
`docker` - Maneja plantillas incrustadas en etiquetas de contenedor.
`clusterchecks` - Recupera configuraciones de verificación a nivel de clúster desde el Cluster Agent.
`kube_services` - Observa los servicios de Kubernetes para verificaciones de clúster. | +| `DD_EXTRA_CONFIG_PROVIDERS` | Proveedores adicionales de configuración de Autodiscovery para usar. Se añaden además de las variables definidas en la sección `config_providers` del archivo de configuración `datadog.yaml`. | -## Miscelánea +## Varios {#miscellaneous} | Variable de entorno | Descripción | |-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_PROCESS_AGENT_CONTAINER_SOURCE` | Sobreescribe la detección automática del origen del contenedor para forzar un único origen. Por ejemplo: `"docker"`, `"ecs_fargate"`, `"kubelet"`. Esto ya no es necesario a partir de Agent v7.35.0. | -| `DD_HEALTH_PORT` | Configura esto como `5555` para exponer el check de estado del Agent en el puerto `5555`. | -| `DD_CLUSTER_NAME` | Establece un identificador de clústeres de Kubernetes personalizado para evitar colisiones de alias de host. El nombre del clúster puede tener un máximo de 40 caracteres con las siguientes restricciones: solo letras minúsculas, números y guiones. Debe empezar por una letra. Debe terminar con un número o una letra. | -| `DD_COLLECT_KUBERNETES_EVENTS ` | Habilita la recopilación de eventos con el Agent. Si estás ejecutando varias instancias del Agent en tu clúster, configura también `DD_LEADER_ELECTION` en `true`. | +| `DD_PROCESS_AGENT_CONTAINER_SOURCE` | Anula la detección automática de la fuente del contenedor para forzar una única fuente. p. ej. `"docker"`, `"ecs_fargate"`, `"kubelet"`. Esto ya no es necesario desde la versión 7.35.0 del Agente. | +| `DD_HEALTH_PORT` | Establezca esto en `5555` para exponer la verificación de salud del Agente en el puerto `5555`. | +| `DD_CLUSTER_NAME` | Establezca un identificador de clúster de Kubernetes personalizado para evitar colisiones de alias de host. El nombre del clúster puede tener hasta 40 caracteres con las siguientes restricciones: solo letras minúsculas, números y guiones. Debe comenzar con una letra. Debe terminar con un número o una letra. | +| `DD_COLLECT_KUBERNETES_EVENTS ` | Habilitar la recopilación de eventos con el Agente. Si está ejecutando múltiples instancias del Agente en su clúster, establezca `DD_LEADER_ELECTION` en `true` también. | [1]: /es/agent/ @@ -943,7 +943,7 @@ datadog: [16]: /es/containers/kubernetes/apm [17]: /es/containers/kubernetes/log [18]: /es/network_monitoring/cloud_network_monitoring/ -[19]: /es/developers/dogstatsd +[19]: /es/extend/dogstatsd [20]: https://app.datadoghq.com/orchestration/overview [21]: /es/infrastructure/containers/orchestrator_explorer [22]: /es/containers/guide/cluster_agent_autoscaling_metrics/?tab=helm diff --git a/content/es/containers/troubleshooting/log-collection.md b/content/es/containers/troubleshooting/log-collection.md new file mode 100644 index 00000000000..0b96c6be2d6 --- /dev/null +++ b/content/es/containers/troubleshooting/log-collection.md @@ -0,0 +1,693 @@ +--- +aliases: +- /es/logs/guide/docker-logs-collection-troubleshooting-guide/ +description: Solución de problemas comunes con la recolección de registros en entornos + contenedorizados +further_reading: +- link: /containers/kubernetes/log + tag: Documentación + text: Recolección de registros de Kubernetes +- link: /containers/docker/log + tag: Documentación + text: Recolección de registros de Docker +title: Solución de problemas de recolección de registros de contenedores +--- +## Descripción general {#overview} + +Las aplicaciones contenedorizadas escriben registros en las salidas estándar y de error (`stdout` / `stderr`), que el tiempo de ejecución del contenedor y el orquestador capturan y manejan de diversas maneras. El Agente de Datadog se basa en el manejo de archivos predeterminado de Docker y Kubernetes para gestionar estos archivos de registro. A medida que el Agente de Datadog monitoriza los contenedores en su host, descubre, sigue las últimas líneas, etiqueta e informa esos registros a Datadog para cada contenedor. + +Esta documentación cubre los pasos de solución de problemas para la recolección de registros de **Docker** y **Kubernetes**. Para el contexto completo y los pasos generales de configuración para la recolección de registros de contenedores, consulte la documentación de [Docker][1] y [Kubernetes][2]. + +Para la recolección de registros basada en [**ECS Fargate**][3] y [**EKS Fargate**][4], consulte su documentación dedicada de configuración y solución de problemas. + +## Comprensión de la recolección de registros en Docker y Kubernetes {#understanding-log-collection-in-docker-and-kubernetes} + +En entornos contenedorizados, los registros son recopilados por el Agente de Datadog de dos maneras principales: recolección **basada en archivos** y recolección **basada en sockets** a través de la API de Docker. + +La documentación de Docker y Kubernetes utiliza por defecto la recolección basada en archivos, ya que ofrece mejor rendimiento y confiabilidad. La recolección basada en sockets puede utilizarse en entornos Docker como una opción de respaldo. En clústeres de Kubernetes, la recolección basada en sockets requiere el tiempo de ejecución de Docker, el cual está mayormente obsoleto en la mayoría de las distribuciones de Kubernetes. + +En entornos contenedorizados, Datadog recomienda registrar en los flujos `stdout` / `stderr` en lugar de escribir en archivos de registro que están aislados en los contenedores de la aplicación. Estos flujos permiten una recolección más automatizada y confiable. + +### Archivos de registro {#log-files} + +Con el controlador de registro predeterminado de Docker `json-file`, los registros `stdout`/`stderr` se almacenan en `/var/lib/docker/containers`. Estos registros se pueden recopilar montando `/var/lib/docker/containers` (`c:/programdata/docker/containers` en Windows) en el contenedor del Agente. Por ejemplo: + +```bash +/var/lib/docker/containers/68f21cd4e1e703c8b9ecdab67a5a9e359f1fb46ae1ed2e86f9b4f1f243a0a47d/68f21cd4e1e703c8b9ecdab67a5a9e359f1fb46ae1ed2e86f9b4f1f243a0a47d-json.log. +``` + +Si este punto de montaje no existe, el Agente recurre a la recolección basada en sockets. Accediendo a la API de Docker a través del socket en `/var/run/docker.sock`. + +En Kubernetes, los registros `stdout`/`stderr` se almacenan en `/var/log/pods` de forma predeterminada. La estructura de carpetas se configura para cada pod y para cada contenedor dentro de ese pod. Por ejemplo: + +```bash +/var/log/pods/default_my-deployment-55d847444b-2fkch_342819ce-4419-435b-9881-4a3deff618cc/my-container/0.log +``` + +Si el contenedor en el pod se reinicia en Kubernetes, se incrementa automáticamente el nombre del archivo (`0.log` -> `1.log`), lo cual el Agente tiene en cuenta. Consulte [recolección de registros de Kubernetes][2] para más información. + +A medida que el Agente descubre los contenedores correspondientes en el host, busca sus archivos de registro según la estructura de carpetas y archivos esperada por entorno. + +### Autodiscovery del Agente {#agent-autodiscovery} + +Por defecto, el Agente solo recopila registros de contenedores cuando la recopilación de registros está habilitada y ya sea: + +- `logs_config.container_collect_all` está habilitado para recopilar registros de todos los contenedores descubiertos +- El contenedor está configurado para la recopilación de registros desde una integración basada en Autodiscovery + +El Agente también tiene en cuenta cualquier regla de exclusión/inclusión de contenedores que haya configurado desde [Gestión de Descubrimiento de Contenedores][5]. + +Por último, el Agente es responsable de recopilar los registros de los contenedores en el mismo host que él mismo. + +Es importante tener en cuenta estas reglas para entender cómo se configura la recopilación de registros para sus contenedores. Si no ve registros para un contenedor dado, debe verificar: + +- ¿Se ha habilitado el Agente para la recopilación de registros? +- ¿Está habilitado el contenedor para la recopilación de registros en relación con las reglas de descubrimiento? +- ¿Está el Agente ejecutándose en el mismo host que el contenedor deseado? + +#### El contenedor recopila toda la configuración {#container-collect-all-configuration} + +Para instrucciones completas sobre cómo habilitar la recopilación de registros, consulte la documentación de recopilación de registros de [Docker][1] y [Kubernetes][2]. Para referencia rápida, puede ver ejemplos sobre cómo configurar el Agente para habilitar la recopilación de registros y habilitar la función `container_collect_all`, que por defecto está desactivada. + +{{< tabs >}} +{{% tab "Datadog Operator" %}} + +```yaml +apiVersion: datadoghq.com/v2alpha1 +kind: DatadogAgent +metadata: + name: datadog + #(...) +spec: + #(...) + features: + logCollection: + enabled: true + containerCollectAll: true +``` + +{{% k8s-operator-redeploy %}} +{{% /tab %}} + +{{% tab "Helm" %}} + +```yaml +datadog: + #(...) + logs: + enabled: true + containerCollectAll: true +``` + +{{% k8s-helm-redeploy %}} +{{% /tab %}} + +{{% tab "Agente contenedorizado" %}} + +```bash +DD_LOGS_ENABLED=true +DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true +``` + +{{% /tab %}} +{{< /tabs >}} + +Al usar `container_collect_all`, el Agente recopilará todos los registros de los contenedores descubiertos y los etiquetará con las etiquetas `source` y `service`, coincidiendo con la etiqueta `short_image` del contenedor descubierto. + +Si `container_collect_all` no está habilitado, necesita habilitar individualmente la recolección de registros por contenedor con configuraciones basadas en Autodiscovery. + +#### Configuración de Autodiscovery {#autodiscovery-configuration} + +Autodiscovery le permite configurar de qué contenedores recopila registros el Agente. Datadog recomienda usar [etiquetas de contenedor en Docker][6] o [anotaciones de Pod en Kubernetes][7]. Estas son configuraciones de registros basadas en JSON colocadas en el contenedor/pod correspondiente que emite esos registros. Vea el siguiente ejemplo mínimo: + +{{< tabs >}} +{{% tab "Kubernetes" %}} + +Las anotaciones de Kubernetes deben establecerse en el pod, no en la carga de trabajo principal que lo crea. La anotación debe ajustarse para coincidir con el nombre de su contenedor. + +```yaml +spec: + template: + metadata: + annotations: + ad.datadoghq.com/.logs: | + [{ + "source": "example-source", + "service": "example-service" + }] + spec: + containers: + - name: + image: +``` + +{{% /tab %}} +{{% tab "Docker" %}} + +Las etiquetas de Docker se pueden establecer en el comando docker run, en el archivo de Docker Compose, o integradas en la imagen del contenedor. + +Por ejemplo, en un comando de ejecución: + +``` +-l com.datadoghq.ad.logs='[{"source":"example-source","service":"example-service"}]' +``` + +Vea más ejemplos en [Recolección de registros de Docker](/containers/docker/log/?tab=dockerfile#log-integrations). + +{{% /tab %}} +{{< /tabs >}} + +Con ambas configuraciones, asegúrese de que su configuración: +- Tenga al menos la fuente y el servicio configurados +- Sea un JSON válido +- Esté configurado en su pod de Kubernetes o contenedor de Docker correspondiente +- Utilice el nombre de clave correcto para activar la configuración de registros, no necesita ajustar el nombre de clave según su [sitio de Datadog][8]. + +Para más ejemplos de cómo configurar su configuración de registros, consulte [Configuraciones Avanzadas de Recolección de Registros][9]. + +### Etiquetado {#tagging} + +El Agente asigna automáticamente etiquetas a sus registros en el nivel "alto" de [cardinalidad de etiquetas][10] para cada entorno. Puede ver las [etiquetas de Docker predeterminadas aquí][11] y [etiquetas de Kubernetes aquí][12]. Esto también incluye cualquier etiqueta recopilada por [Unified Service Tagging] o diferentes reglas de extracción de etiquetas de los metadatos del contenedor. + +Para personalizar estas etiquetas, cambiar las reglas de recolección de registros o habilitar la recolección de registros en general, puede aplicar Etiquetas o Anotaciones de Autodiscovery a los contenedores respectivos. + +Las etiquetas en sus registros también pueden provenir de [herencia de etiquetas de host][14]. Todos los datos, incluidos los registros, que ingresan a Datadog pasan por este proceso. En la entrada de Datadog, los registros heredan todas las etiquetas a nivel de host que están asociadas con ese host. Puede ver estas etiquetas en la Lista de Infraestructura para su host. Estos son comúnmente establecidos por: + +- El Agente de Datadog y su descubrimiento automático o configuración manual de `DD_TAGS` proporcionado +- Las integraciones del proveedor de la nube que recopilan y establecen etiquetas para sus hosts + +Por ejemplo, las etiquetas `pod_name` y `short_image` provienen del Agente al establecer esta etiqueta en el envío. Otras etiquetas como `region` y `kube_cluster_name` provienen de la herencia de etiquetas del host en la entrada. + +## Solucionando la recolección de registros de contenedores con comandos del Agente {#troubleshooting-container-log-collection-with-agent-commands} + +El Agente de Datadog que se ejecuta en el mismo nodo que su contenedor de aplicación es responsable de recopilar los registros de ese contenedor. Al ejecutar estos comandos, especialmente en entornos de Kubernetes, asegúrese de estar trabajando con el pod del Agente correcto para su contenedor de aplicación deseado. + +Para una lista de comandos útiles de solución de problemas, consulte [Comandos del Agente][15]. + +### Estado del Agente {#agent-status} + +Puede ejecutar el comando de estado del Agente para ver si el Agente de Registros está experimentando algún problema. + +{{< tabs >}} +{{% tab "Kubernetes" %}} + +``` +kubectl exec -it -- agent status +``` + +{{% /tab %}} +{{% tab "Docker" %}} + +``` +docker exec -it agent status +``` + +{{% /tab %}} +{{< /tabs >}} + +Este comando le muestra el estado del Agente de Registros en general y el recolector de registros para cada contenedor que el Agente está monitoreando: + +```text +========== +Logs Agent +========== + Reliable: Sending compressed logs in HTTPS to agent-http-intake.logs.datadoghq.com on port 443 + BytesSent: 8.60922316e+08 + EncodedBytesSent: 3.9744538e+07 + LogsProcessed: 604328 + LogsSent: 60431 + + ============ + Integrations + ============ + + default/my-deployment-55d847444b-2fkch/my-container + --------------------------------------------------- + - Type: file + Identifier: ba778eaff01fc3555b6ad4a809e78949065bd34ebe2c42522a1bdd1d3b684fb5 + Path: /var/log/pods/default_my-deployment-55d847444b-2fkch_342819ce-4419-435b-9881-4a3deff618cc/my-container/*.log + Service: example-service + Source: example-source + Status: OK + 1 files tailed out of 1 files matching + Inputs: + /var/log/pods/default_my-deployment-55d847444b-2fkch_342819ce-4419-435b-9881-4a3deff618cc/my-container/0.log + Bytes Read: 5075 + Pipeline Latency: + Average Latency (ms): 0 + 24h Average Latency (ms): 0 + Peak Latency (ms): 0 + 24h Peak Latency (ms): 0 +``` + +Si el Estado del Agente de Registros no se parece al anterior, consulte los consejos de solución de problemas en las siguientes secciones. + +Cada recolector de registros individual proporciona información detallada sobre cómo el Agente está recolectando registros para un contenedor específico. Usando el ejemplo de Kubernetes anterior, esta salida nos dice: + +- **Nombre del recolector** (`default/my-deployment-55d847444b-2fkch/my-container`) identifica el namespace, pod y contenedor. +- **Identificador** (`ba778eaff...`) es el ID del contenedor individual que se está monitoreando. +- **Ruta** y **Entradas** muestran las ubicaciones donde el Agente buscó e identificó los archivos de registro del contenedor. +- **Servicio** y **Fuente** resumen las etiquetas utilizadas. + +En Docker, la salida es en gran medida la misma, solo que el nombre del recolector de registros individual es diferente. + +Si ve el siguiente mensaje cuando ejecute el comando de estado del Agente: + +``` +========== +Logs Agent +========== + + Logs Agent is not running +``` +Esto significa que no habilitó la recolección de registros en el Agente. + +Si el Estado del Agente de Registros no muestra Integraciones y ve `LogsProcessed: 0` y `LogsSent: 0`: + +``` +========== +Logs Agent +========== + + LogsProcessed: 0 + LogsSent: 0 +``` +Este estado significa que los registros están habilitados, pero no ha especificado de qué contenedores debe recolectar el Agente. + +### Verificación de configuración del agente {#agent-configcheck} + +Puede ejecutar el comando `agent configcheck` para imprimir todas las configuraciones cargadas y resueltas en un Agente en ejecución. + +{{< tabs >}} +{{% tab "Kubernetes" %}} + +``` +kubectl exec -it -- agent configcheck +``` + +{{% /tab %}} +{{% tab "Docker" %}} + +``` +docker exec -it agent configcheck +``` + +{{% /tab %}} +{{< /tabs >}} + +Este comando le muestra la configuración del recolector de registros, utilizando el `Configuration source` que hace referencia al ID del contenedor. Esto se puede usar para coincidir con la salida del `agent status`. + +``` +=== check === +Configuration provider: kubernetes-container-allinone +Configuration source: container:containerd://ba778eaff01fc3555b6ad4a809e78949065bd34ebe2c42522a1bdd1d3b684fb5 +Log Config: +[{"service":"example-service","source":"example-source"}] +Autodiscovery IDs: +* containerd://ba778eaff01fc3555b6ad4a809e78949065bd34ebe2c42522a1bdd1d3b684fb5 +``` + +El `Log Config` aplicado desde Autodiscovery proporciona etiquetas personalizadas `service` y `source` que se muestran como `[{"service":"example-service","source":"example-source"}]`. La salida del `configcheck` es útil para verificar cómo el Agente configuró la recolección de registros para un contenedor dado basado en su ID de contenedor. + +Al usar `logs_config.container_collect_all`, si no se proporciona una configuración única, verá que esto se establece por defecto en `[{}]` para el contenedor. + + +### Agente de registros en flujo {#agent-stream-logs} + +Puede ejecutar el comando `agent stream-logs` para transmitir registros a la consola que el Agente está viendo en tiempo real, junto con los metadatos asociados y el contenido del registro. + +{{< tabs >}} +{{% tab "Kubernetes" %}} + +``` +kubectl exec -it -- agent stream-logs + +# Stream logs relative to "Namespace/Pod Name/Container Name" based name +kubectl exec -it -- agent stream-logs --name +``` + +{{% /tab %}} +{{% tab "Docker" %}} + +``` +docker exec -it agent stream-logs +``` + +{{% /tab %}} +{{< /tabs >}} + +Puede filtrar esta salida con la bandera `--name`, que coincide con el formato de nomenclatura de Kubernetes (Namespace/Nombre del Pod/Contenedor). Alternativamente, puede filtrar según las etiquetas aplicadas con la bandera `--service` o `--source`. + +Para encontrar el ``, use el comando `agent status`. Por ejemplo, `default/my-deployment-55d847444b-2fkch/my-container`: + +``` +========== +Logs Agent +========== + ... + ============ + Integrations + ============ + default/my-deployment-55d847444b-2fkch/my-container + --------------------------------------------------- + ... +``` +Este comando imprimirá continuamente sus registros según lo informado por el Agente: + +```text +$ agent stream-logs --name default/my-deployment-55d847444b-2fkch/my-container +... +Integration Name: default/my-deployment-55d847444b-2fkch/my-container | Type: file | Status: info | Timestamp: 2025-05-12 23:45:09.016005644 +0000 UTC | Hostname: example-0002 | Service: example-service | Source: example-source | Tags: filename:0.log,dirname:/var/log/pods/default_my-deployment-55d847444b-2fkch_342819ce-4419-435b-9881-4a3deff618cc/my-container,image_name:busybox,short_image:busybox,image_tag:latest,kube_namespace:default,kube_qos:BestEffort,kube_container_name:my-container,kube_ownerref_kind:replicaset,image_id:docker.io/library/busybox@sha256:9e2bbca079387d7965c3a9cee6d0c53f4f4e63ff7637877a83c4c05f2a666112,kube_deployment:my-deployment,kube_replica_set:my-deployment-55d847444b,pod_phase:running,pod_name:my-deployment-55d847444b-2fkch,kube_ownerref_name:my-deployment-55d847444b,container_id:ba778eaff01fc3555b6ad4a809e78949065bd34ebe2c42522a1bdd1d3b684fb5,display_container_name:my-container_my-deployment-55d847444b-2fkch,container_name:my-container | Message: 2025-11-20T23:45:08 INFO Sample Info Log +Integration Name: default/my-deployment-55d847444b-2fkch/my-container | Type: file | Status: info | Timestamp: 2025-05-12 23:45:09.016049347 +0000 UTC | Hostname: example-0002 | Service: example-service | Source: example-source | Tags: filename:0.log,dirname:/var/log/pods/default_my-deployment-55d847444b-2fkch_342819ce-4419-435b-9881-4a3deff618cc/my-container,image_name:busybox,short_image:busybox,image_tag:latest,kube_namespace:default,kube_qos:BestEffort,kube_container_name:my-container,kube_ownerref_kind:replicaset,image_id:docker.io/library/busybox@sha256:9e2bbca079387d7965c3a9cee6d0c53f4f4e63ff7637877a83c4c05f2a666112,kube_deployment:my-deployment,kube_replica_set:my-deployment-55d847444b,pod_phase:running,pod_name:my-deployment-55d847444b-2fkch,kube_ownerref_name:my-deployment-55d847444b,container_id:ba778eaff01fc3555b6ad4a809e78949065bd34ebe2c42522a1bdd1d3b684fb5,display_container_name:my-container_my-deployment-55d847444b-2fkch,container_name:my-container | Message: 2025-11-20T23:45:08 ERROR Sample Error Log +``` + +Cada línea debe proporcionar el nombre de la integración, tipo, estado, marca de tiempo, nombre de host, servicio, fuente, etiquetas de contenedor y el mensaje. Esto muestra qué registros está recolectando el Agente, qué metadatos están asociados con esos registros y qué mensaje se envía. + +Presione `Ctrl + C` para salir del proceso de transmisión. + +### Capturando el archivo de registro en bruto {#capturing-the-raw-log-file} + +Para verificar si el Agente está haciendo seguimiento de los registros correctamente, puede copiar el archivo de registro y examinarlo usando el [`agent status`comando](#agent-status). + +Ejecute el comando `agent status` y revise la sección "Agente de Registros" para el contenedor en cuestión. Por ejemplo, para un Pod llamado `my-deployment-98878c5d8-mc2sk` con el contenedor `my-container`, puede verse así: + +```text + default/my-deployment-98878c5d8-mc2sk/my-container + -------------------------------------------------- + - Type: file + Identifier: fa54113fffebc83ffef4bd863c8c1012bd5cfb19311a4dcd7d8e9b5271dc29fe + Path: /var/log/pods/default_my-deployment-98878c5d8-mc2sk_3d602ae0-a0ef-4fe2-b703-3975d2af6947/my-container/*.log + Service: busybox + Source: busybox + Status: OK + 1 files tailed out of 1 files matching + Inputs: + /var/log/pods/default_my-deployment-98878c5d8-mc2sk_3d602ae0-a0ef-4fe2-b703-3975d2af6947/my-container/0.log +``` + +Podemos ver el `Path` donde el Agente está buscando y el `Inputs` mostrando el archivo de registro descubierto como `/var/log/pods/default_my-deployment-98878c5d8-mc2sk_3d602ae0-a0ef-4fe2-b703-3975d2af6947/my-container/0.log`. + +Dado que el enlace está abierto en el Pod del Agente, puede copiar este archivo desde el Pod del Agente a su máquina local, utilizando un comando `kubectl cp`: + +``` +kubectl cp : +``` + +Si el Pod del Agente en el ejemplo se llamara `datadog-agent-xxxxx`, se vería así: + +```text +kubectl cp datadog-agent-xxxxx:/var/log/pods/default_my-deployment-98878c5d8-mc2sk_3d602ae0-a0ef-4fe2-b703-3975d2af6947/my-container/0.log my-container.log +``` +Puede revisar el archivo copiado para ver los registros exactos que el Agente ve para identificar si los registros necesarios son capturados por Kubernetes. Lo mismo se puede hacer para los contenedores de Docker en su ruta `/var/lib/docker/containers` y un comando docker cp. + +## Problemas comunes {#common-issues} + +Existen problemas comunes que pueden interferir al enviar registros a Datadog en entornos contenedorizados. Si experimenta problemas al enviar registros a Datadog, revise los problemas comunes a continuación. Si continúa teniendo problemas, contacte a nuestro equipo de soporte para obtener más ayuda. + +### Preprocesamiento de nombres de host {#hostname-preprocessing} + +Un problema común ocurre si los registros en bruto tienen un atributo JSON para un `host`, `hostname` o `syslog.hostname`. Por ejemplo: + +{{< img src="logs/troubleshooting/hostname_preprocessing.png" alt="ejemplo de preprocesamiento de nombres de host" >}} + +Los registros formateados en JSON pasan por un conjunto de reglas de preprocesamiento relativas a los atributos reservados, como `timestamp` o `level` para establecer la marca de tiempo oficial o el nivel de registro del log. Uno de estos atributos reservados es para [preprocesamiento de servidor][16], donde un atributo JSON de `host`, `hostname` o `syslog.hostname` se convierte en el `host` oficial del registro. Esto resulta en que esas declaraciones de registro se atribuyan al servidor "incorrecto" y, como resultado, no heredan las etiquetas a nivel de servidor esperadas del servidor "original". + +Puede consultar los registros que coinciden con el atributo JSON de `@host:* OR @hostname:* OR @syslog.hostname:*` para mostrar qué registros están utilizando activamente este preprocesamiento. + +Hay algunas opciones para solucionar este problema. +- Si es posible, actualice la aplicación para evitar registrar un atributo JSON `host` o `hostname`, ya sea eliminándolo o cambiándolo a otra clave. +- Actualice sus [reglas de preprocesamiento globales][17] para omitir este comportamiento. Sin embargo, cualquier registro dependiente de esto perdería esa funcionalidad. +- Agregue una configuración de Autodiscovery para crear una [configuración de registro personalizada que enmascare la palabra clave del host][18]. + +{{< tabs >}} +{{% tab "Kubernetes" %}} + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: '' + annotations: + ad.datadoghq.com/.logs: |- + [{ + "source": "example-source", + "service": "example-service", + "log_processing_rules": [{ + "type": "mask_sequences", + "name": "replace_host_key", + "replace_placeholder": "\"app_host\"", + "pattern": "\"host\"" + }] + }] +spec: + containers: + - name: + image: +``` + +{{% /tab %}} +{{% tab "Docker" %}} + +```yaml + labels: + com.datadoghq.ad.logs: >- + [{ + "source": "example-source", + "service": "example-service", + "log_processing_rules": [{ + "type": "mask_sequences", + "name": "replace_host_key", + "replace_placeholder": "\"app_host\"", + "pattern": "\"host\"" + }] + }] +``` + +{{% /tab %}} +{{< /tabs >}} + +Las reglas anteriores buscan la cadena `"host"` (incluidas las comillas) y las reemplazan con `"app_host"` para mantener la estructura JSON. Reemplace el patrón con `hostname` si es necesario para sus registros. + +También puede agregar una [regla de procesamiento global][19] para que el Agente enmascare palabras clave en todos los registros que está procesando utilizando la variable de entorno `DD_LOGS_CONFIG_PROCESSING_RULES`. + +{{< tabs >}} +{{% tab "Datadog Operator" %}} + +```yaml +apiVersion: datadoghq.com/v2alpha1 +kind: DatadogAgent +metadata: + name: datadog +spec: + override: + nodeAgent: + env: + - name: DD_LOGS_CONFIG_PROCESSING_RULES + value: '[{"type":"mask_sequences","name":"replace_host_key","replace_placeholder":"\"app_host\"","pattern":"\"host\""}]' +``` + +{{% /tab %}} +{{% tab "Helm" %}} + +```yaml +datadog: + env: + - name: DD_LOGS_CONFIG_PROCESSING_RULES + value: '[{"type":"mask_sequences","name":"replace_host_key","replace_placeholder":"\"app_host\"","pattern":"\"host\""}]' +``` + +{{% /tab %}} + +{{% tab "Variable de Entorno" %}} + +``` +DD_LOGS_CONFIG_PROCESSING_RULES='[{"type":"mask_sequences","name":"replace_host_key","replace_placeholder":"\"app_host\"","pattern":"\"host\""}]' +``` +{{% /tab %}} +{{< /tabs >}} + + +### Faltan etiquetas a nivel de host en nuevos hosts o nodos {#missing-host-level-tags-on-new-hosts-or-nodes} + +Al enviar registros a Datadog desde un host o nodo recién creado, puede tardar unos minutos en que las etiquetas a nivel de host sean [heredadas][20]. Como resultado, las etiquetas a nivel de host pueden faltar en estos registros. + +Para remediar este problema, puede usar la variable de entorno `DD_LOGS_CONFIG_EXPECTED_TAGS_DURATION` para configurar una duración (en minutos). El Agente de Datadog adjunta manualmente las etiquetas a nivel de host que conoce a cada registro enviado durante esta duración. Después de esta duración, el Agente vuelve a depender de la herencia de etiquetas en la entrada. + +{{< tabs >}} +{{% tab "Datadog Operator" %}} + +```yaml +apiVersion: datadoghq.com/v2alpha1 +kind: DatadogAgent +metadata: + name: datadog +spec: + override: + nodeAgent: + env: + - name: DD_LOGS_CONFIG_EXPECTED_TAGS_DURATION + value: "10m" +``` + +{{% /tab %}} +{{% tab "Helm" %}} + +```yaml +datadog: + env: + - name: DD_LOGS_CONFIG_EXPECTED_TAGS_DURATION + value: "10m" +``` + +{{% /tab %}} + +{{% tab "Variable de Entorno" %}} + +``` +DD_LOGS_CONFIG_EXPECTED_TAGS_DURATION='10m' +``` +{{% /tab %}} +{{< /tabs >}} + +### Faltan etiquetas en nuevos contenedores o pods {#missing-tags-on-new-containers-or-pods} + +Al enviar registros a Datadog desde contenedores o Pods recién creados, el etiquetador interno del Agente de Datadog puede no tener aún las etiquetas relacionadas con el contenedor/pod. Como resultado, las etiquetas pueden faltar en estos registros. + +Para remediar este problema, puede usar la variable de entorno `DD_LOGS_CONFIG_TAGGER_WARMUP_DURATION` para configurar una duración (en segundos) para que el Agente de Datadog espere antes de comenzar a enviar registros desde contenedores y Pods recién creados. El valor predeterminado es `0`. + +{{< tabs >}} +{{% tab "Datadog Operator" %}} + +```yaml +apiVersion: datadoghq.com/v2alpha1 +kind: DatadogAgent +metadata: + name: datadog +spec: + override: + nodeAgent: + env: + - name: DD_LOGS_CONFIG_TAGGER_WARMUP_DURATION + value: "5" +``` + +{{% /tab %}} +{{% tab "Helm" %}} + +```yaml +datadog: + env: + - name: DD_LOGS_CONFIG_TAGGER_WARMUP_DURATION + value: "5" +``` + +{{% /tab %}} + +{{% tab "Variable de Entorno" %}} + +``` +DD_LOGS_CONFIG_TAGGER_WARMUP_DURATION='5' +``` +{{% /tab %}} +{{< /tabs >}} + +### Pods de corta duración {#short-lived-pods} + +Por defecto, el Agente busca cada 5 segundos nuevos contenedores. Para la versión v6.12+ del Agente, los registros de contenedores de corta duración (detenidos o fallidos) se recopilan automáticamente al usar el método de recopilación de registros de archivos. Esto también incluye la recopilación de registros de contenedores de inicialización. Mientras esos archivos aún existan. + +En Kubernetes, la mayoría de los registros de pods y sus contenedores se retienen el tiempo suficiente para que el Agente los informe, incluso para procesos de corta duración. Los CronJobs y trabajos de Kubernetes, por defecto, retendrán el pod el tiempo suficiente para que el Agent informe sus registros, incluso para contenedores completados. Sin embargo, si especifica una [regla de limpieza de trabajo][21] `ttlSecondsAfterFinished`, Datadog recomienda al menos 15 segundos para permitir que el Agent maneje esos. + +### Problemas de recolección de registros de Docker desde archivos {#docker-log-collection-from-file-issues} + +El Agent recolecta registros de Docker desde los archivos de registro en disco por defecto en las versiones 6.33.0/7.33.0+, siempre que los archivos de registro en disco sean accesibles por el Agent. `DD_LOGS_CONFIG_DOCKER_CONTAINER_USE_FILE` se puede establecer en `false` para deshabilitar este comportamiento. + +Al recolectar registros de contenedores de Docker desde archivos, el Agent recurre a la recolección desde el socket de Docker si no puede leer del directorio donde se almacenan los registros de contenedores de Docker (`/var/lib/docker/containers` en Linux). Para diagnosticar esto, verifique el estado del Agent de logs y busque una entrada de tipo archivo que muestre un error similar al siguiente: + +``` +- Type: docker + Service: stable + Source: stable + Status: OK + The log file tailer could not be made, falling back to socket + Inputs: + 68f21cd4e1e703c8b9ecdab67a5a9e359f1fb46ae1ed2e86f9b4f1f243a0a47d + Bytes Read: 160973 +``` + +Este estado significa que el Agent no puede encontrar un archivo de registro para un contenedor dado. Para resolver este problema, verifique que la carpeta que contiene los registros de contenedores de Docker esté correctamente expuesta al contenedor del Datadog Agent. En Linux, corresponde a `-v /var/lib/docker/containers:/var/lib/docker/containers:ro` en la línea de comandos que inicia el contenedor del Agent, mientras que en Windows corresponde a `-v c:/programdata/docker/containers:c:/programdata/docker/containers:ro`. + +Tenga en cuenta que el directorio relativo al host subyacente puede ser diferente debido a la configuración específica del demonio de Docker; esto no es un problema siempre que haya un mapeo correcto de volúmenes de Docker. Por ejemplo, utilice `-v /data/docker/containers:/var/lib/docker/containers:ro` si el directorio de datos de Docker ha sido reubicado a `/data/docker` en el host subyacente. + +Si se recolectan registros pero las líneas individuales parecen estar divididas, verifique que el demonio de Docker esté utilizando el [controlador de registro JSON](#different-docker-log-driver). + +### Agent basado en host {#host-based-agent} + +Si está instalando el Agent en el host en lugar de ejecutarlo en un contenedor de Docker, el usuario `dd-agent` debe ser agregado al grupo de Docker para tener permiso para leer desde el socket de Docker. Si ve los siguientes registros de error del Agent: + +```text + UTC | CORE | INFO | (pkg/autodiscovery/autoconfig.go:360 in initListenerCandidates) | docker listener cannot start, will retry: temporary failure in dockerutil, will retry later: could not determine docker server API version: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/version: dial unix /var/run/docker.sock: connect: permission denied + UTC | CORE | ERROR | (pkg/autodiscovery/config_poller.go:123 in collect) | Unable to collect configurations from provider docker: temporary failure in dockerutil, will retry later: could not determine docker server API version: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/version: dial unix /var/run/docker.sock: connect: permission denied +``` + +Agregue el Agent al grupo de Docker, y ejecute el siguiente comando: + +``` +usermod -a -G docker dd-agent +``` +**Nota:** Cuando instala el Agent en el host, este no tiene permiso para acceder a ` /var/lib/docker/containers` ya que esto requiere acceso de root. Como resultado, recolectará registros del socket de Docker. + + +### Diferente controlador de registro de Docker {#different-docker-log-driver} + +El valor predeterminado de Docker es el [controlador de registro json-file][23], por lo que el Agent intenta leer primero desde esta estructura. Si sus contenedores están configurados para usar un controlador de registro diferente, el Agent de logs indicará que puede encontrar sus contenedores con éxito, pero no puede recopilar sus registros del archivo. En entornos de Docker, Datadog recomienda usar el `json-file` controlador de registro para la experiencia óptima del Agent. Sin embargo, el Agent también puede configurarse para leer desde el `journald` controlador de registro. + +1. Si no está seguro de qué controlador de registro están usando sus contenedores, utilice `docker inspect ` para ver qué controlador de registro ha configurado. El siguiente bloque aparece en Docker Inspect cuando el contenedor está usando el controlador de registro JSON. + + ``` + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + ``` + +2. Si el contenedor está configurado para el controlador de registro journald, el siguiente bloque aparece en el Docker Inspect: + ``` + "LogConfig": { + "Type": "journald", + "Config": {} + }, + ``` + +3. Para recopilar registros del controlador de registro journald, configure la integración journald [siguiendo la documentación de Datadog-Journald][24]. +4. Monte el archivo YAML en su contenedor siguiendo las instrucciones en la [documentación del Docker Agent][25]. Para más información sobre cómo configurar controladores de registro para contenedores de Docker, [vea esta documentación][26]. + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /es/containers/docker/log/ +[2]: /es/containers/kubernetes/log/ +[3]: /es/integrations/aws-fargate/?tab=webui#log-collection +[4]: /es/integrations/eks_fargate/?tab=admissioncontrollerdatadogoperator#log-collection +[5]: /es/containers/guide/container-discovery-management +[6]: /es/containers/docker/log/?tab=dockerfile#log-integrations +[7]: /es/containers/kubernetes/log/?tab=datadogoperator#autodiscovery-annotations +[8]: /es/getting_started/site/ +[9]: /es/agent/logs/advanced_log_collection/?tab=configurationfile +[10]: /es/getting_started/tagging/assigning_tags/?tab=containerizedenvironments#tags-cardinality +[11]: /es/containers/docker/tag/?tab=containerizedagent#out-of-the-box-tagging +[12]: /es/containers/kubernetes/tag/?tab=datadogoperator +[13]: /es/getting_started/tagging/unified_service_tagging/?tab=kubernetes +[14]: /es/getting_started/tagging/#tag-inheritance +[15]: /es/agent/configuration/agent-commands/ +[16]: /es/logs/log_configuration/pipelines/?tab=host#preprocessing +[17]: https://app.datadoghq.com/logs/pipelines +[18]: /es/agent/logs/advanced_log_collection/?tab=kubernetes#scrub-sensitive-data-from-your-logs +[19]: /es/agent/logs/advanced_log_collection/?tab=environmentvariable#global-processing-rules +[20]: /es/getting_started/tagging/assigning_tags/?tab=noncontainerizedenvironments#integration-inheritance +[21]: https://kubernetes.io/docs/concepts/workloads/controllers/ttlafterfinished/#cleanup-for-finished-jobs +[22]: /es/logs/guide/docker-logs-collection-troubleshooting-guide/#your-containers-are-not-using-the-json-logging-driver +[23]: https://docs.docker.com/engine/logging/drivers/json-file/ +[24]: /es/integrations/journald/?tab=host#setup +[25]: /es/containers/docker/#mounting-conf-d +[26]: https://docs.docker.com/engine/logging/drivers/journald/ \ No newline at end of file diff --git a/content/es/dashboards/template_variables.md b/content/es/dashboards/template_variables.md index 5071e870165..0cc2fb0e965 100644 --- a/content/es/dashboards/template_variables.md +++ b/content/es/dashboards/template_variables.md @@ -3,219 +3,212 @@ aliases: - /es/graphing/dashboards/template_variables/correlate-metrics-and-events-using-dashboard-template-variables - /es/graphing/dashboards/template_variables/how-do-i-overlay-events-onto-my-dashboards - /es/graphing/dashboards/template_variables/ -description: Utiliza variables de plantilla para filtrar dinámicamente los widgets - del dashboard por etiquetas, atributos y facetas para una exploración flexible de - los datos. +description: Utilice variables de plantilla para filtrar dinámicamente los widgets + de los tableros por etiquetas, atributos y facetas para una exploración de datos + flexible. further_reading: +- link: /dashboards/ + tag: Documentación + text: Cree tableros en Datadog +- link: /dashboards/sharing/ + tag: Documentación + text: Comparta sus gráficos fuera de Datadog +- link: /dashboards/widgets/ + tag: Documentación + text: Descubra widgets para su tablero - link: https://www.datadoghq.com/blog/datadog-executive-dashboards tag: Blog - text: Diseñar dashboards ejecutivos eficaces con Datadog + text: Diseñe tableros ejecutivos efectivos con Datadog - link: https://www.datadoghq.com/blog/zendesk-cost-optimization tag: Blog - text: 'Optimización de Datadog a escala: Observabilidad rentable en Zendesk' + text: 'Optimizando Datadog a gran escala: Observabilidad rentable en Zendesk' - link: https://www.datadoghq.com/blog/template-variable-associated-values/ tag: Blog - text: Usa variables de plantilla asociadas para redefinir tus dashboards + text: Utilice variables de plantilla asociadas para refinar sus tableros - link: https://www.datadoghq.com/blog/dynamic-template-variable-syntax-dashboards/ tag: Blog - text: Acelerar flujos de trabajo de dashboards con la sintaxis dinámica de variables - de plantilla + text: Acelere los flujos de trabajo de los tableros con la sintaxis dinámica de + variables de plantilla - link: https://www.datadoghq.com/blog/template-variable-available-values/ tag: Blog - text: Filtrar dashboards más rápidamente con los valores disponibles de variables - de plantilla -- link: /dashboards/ - tag: Documentación - text: Crear dashboards en Datadog -- link: /dashboards/sharing/ - tag: Documentación - text: Compartir gráficos fuera de Datadog -- link: /dashboards/widgets/ - tag: Documentación - text: Descubre widgets para tus dashboards -title: Variables de plantilla + text: Filtre tableros más rápido con los valores disponibles de variables de plantilla +title: Variables de Plantilla --- +## Resumen {#overview} -## Información general +Las variables de plantilla le permiten filtrar o agrupar dinámicamente los widgets en un tablero. Cree vistas guardadas a partir de sus selecciones de variables de plantilla para organizar y navegar por sus visualizaciones mediante las selecciones desplegables. -Las variables de plantilla permiten filtrar o agrupar dinámicamente los widgets de un dashboard. Puedes crear vistas guardadas a partir de tus selecciones de variables de plantilla para organizar y navegar por tus visualizaciones a través de las selecciones desplegables. +Una variable de plantilla se define por: -Una variable de plantilla se determina por: +* {{< ui >}}Tag or Attribute{{< /ui >}}: + * Etiqueta: Si sigue el [formato de etiquetado recomendado][1] (`:`), la *Etiqueta* es el ``. + * Atributo: Utiliza una [faceta o medida como la variable de plantilla](#logs-apm-and-rum-queries). +* {{< ui >}}Name{{< /ui >}}: Un nombre único para la variable de plantilla que aparece en las consultas del tablero. Las variables de plantilla se nombran automáticamente según la etiqueta o atributo seleccionado. +* {{< ui >}}Default Value{{< /ui >}}: El valor de la etiqueta o atributo que aparece automáticamente cuando se carga el tablero. Por defecto es `*`. +* {{< ui >}}Available Values{{< /ui >}}: Los valores de la etiqueta o atributo disponibles para selección en el menú desplegable. Por defecto es `(all)`. La lista de valores disponibles siempre incluye `*`, que consulta todos los valores de la etiqueta o atributo. -* **Tag or Attribute** (Etiqueta o atributo): - * Etiqueta: Si aplicas el [formato de etiquetado][1] recomendado (`:`), la *Etiqueta* es la ``. - * Atributo: Usa una [faceta o medida como variable de plantilla](#logs-apm-and-rum-queries). -* **Name** (Nombre): Un nombre único para la variable de plantilla que aparece en las consultas del dashboard. Las variables de plantilla reciben automáticamente el nombre de la etiqueta o atributo seleccionado. -* **Default Value** (Valor predeterminado): El valor de la etiqueta o el atributo que aparece automáticamente cuando se carga el dashboard. El valor por defecto es `*`. -* **Available Values** (Valores disponibles): Los valores de la etiqueta o el atributo disponibles en el menú desplegable. Por defecto, `(all)`. La lista de valores disponibles siempre incluye `*`, que consulta todos los valores de la etiqueta o el atributo. +### Valores de variables de plantilla {#template-variable-values} +Los valores de las variables de plantilla (valores disponibles mediante los menús desplegables de variables de plantilla) se completan según las fuentes que utilizan los widgets en el tablero. Por ejemplo, si su tablero tiene widgets que consultan registros, solo se muestran los valores de los registros. Si su tablero tiene widgets que consultan registros, métricas y RUM, se muestran los valores de registros, métricas y RUM. -### Valores de las variables de plantilla -Los valores de las variables de plantilla (valores disponibles mediante los menús desplegables de variables de plantilla) se rellenan en función de las sources (fuentes) que utilizan los widgets del dashboard. Por ejemplo, si tu dashboard tiene widgets que consultan registros, solo se muestran los valores de los logs. Si tu dashboard tiene widgets que consultan logs, métricas y RUM, se mostrarán los valores de los logs, las métricas y el RUM. +Para la mayoría de las fuentes, los valores de las variables de plantilla son relevantes para el marco de tiempo global de su tablero. Por ejemplo: +- Si el marco de tiempo de su tablero está configurado para los últimos 15 minutos, solo se muestran los valores de las variables de plantilla de los últimos 15 minutos. +- Si el marco de tiempo de su tablero está configurado para el 15 de agosto pasado de 12:00 a.m. a 11:59 p.m., solo se muestran los valores de ese marco de tiempo. -Para la mayoría de las sources (fuentes), los valores de las variables de plantilla son relevantes para el marco temporal global de tu dashboard. Por ejemplo: -- Si el intervalo de tiempo de tu dashboard se configura en los últimos 15 minutos, solo se mostrarán los valores de las variables de plantilla de los últimos 15 minutos. -- Si el marco temporal de tu dashboard está configurado para durar el 15 de agosto de 12:00 a 23:59, solo se mostrarán los valores de ese marco temporal. - -| Fuente de datos | Periodo de consulta de datos | +| Fuente de datos | Período de consulta de datos | |-------------------------------------- |---------------------| | Métricas | Ahora - 48 horas | -| Coste de la nube | Ahora - 48 horas | -| Todas las demás sources (fuentes) | Marco temporal del dashboard | +| Costo en la nube | Ahora - 48 horas | +| Todas las demás fuentes | Marco de tiempo del tablero | + +**Nota**: Si no ve la etiqueta o atributo que está buscando, puede ser porque esos datos no se han reportado a Datadog recientemente. Además, todos los datos consultados para las variables de plantilla están sujetos a la política de retención de datos. Para más información, consulte [Datos Históricos][4]. + +### Diseño del tablero {#dashboard-layout} +Para evitar que las variables saturen el encabezado, el panel muestra un pequeño subconjunto. Puede hacer clic en el botón **+ N** para ver las N variables adicionales presentes en su tablero. -**Nota**: Si no ves la etiqueta o el atributo que buscas, puede deberse a que esos datos no se hayan comunicado a Datadog recientemente. Además, todos los datos consultados para las variables de plantilla están sujetos a la política de conservación de datos. Para más información, consulta [Datos históricos][4]. -## Añadir una variable de plantilla -Si las variables de plantilla ya están definidas, consulta [Editar una variable de plantilla](#edit-a-template-variable). Si tu dashboard no tiene ninguna variable de plantilla, puedes hacer clic en el icono del signo de interrogación para abrir un modal de ayuda sobre cómo utilizar las variables del dashboard. +Si necesita ver todas las variables a la vez mientras se desplaza, haga clic en **Expandir variables de plantilla**. -{{< img src="/dashboards/template_variables/template_variable_menu.png" alt="Menú de Variable de entorno que muestra la opción Configurar los valores desplegables" style="width:70%;" >}} -Para añadir una variable de plantilla en un dashboard: -1. Haz clic en **Add Variable** (Añadir variable). -1. Puedes añadir tipos de variables **Filter** (Filtrar) y **Group by** (Agrupar por). - 1. Filtrar: añade una etiqueta o atributo para filtrar las consultas y visualizaciones del dashboard. - 1. Agrupar por: añade una etiqueta o atributo para mostrar un desglose de los grupos dentro de tus datos.
**Nota**: `Group by` solo es compatible con determinados widgets---Series temporales, Tabla, Mapa de árbol, Gráfico de barras, Comodín, Distribución, Lista principal, Mapa de calor, Gráfico circular, Geomapa, Cambio, Gráfico de dispersión, Valor de consulta, Mapa de hosts y Resumen de SLO. -1. (Opcional) Después de seleccionar una etiqueta, haz clic en el botón **+ Configure Dropdown Values** (+ Configurar valores desplegables), para cambiar el nombre de la variable y establecer valores predeterminados o disponibles. -1. Haz clic en **Save** (Guardar). -1. Para añadir más variables de plantilla, consulta [Editar una variable de plantilla](#edit-a-template-variable) +## Agregue una variable de plantilla {#add-a-template-variable} +Para agregar una variable de plantilla en un tablero: +1. Haga clic en {{< ui >}}Add Variable{{< /ui >}} (o en {{< ui >}}+{{< /ui >}} si ya existen variables de plantilla) +2. Seleccione de una lista de variables de plantilla recomendadas o busque la etiqueta específica que tenga en mente. +4. Seleccione los widgets a los que se aplicará esta variable de plantilla. +6. Haga clic en {{< ui >}}Save{{< /ui >}}. -## Editar una variable de plantilla +### Configure la variable de plantilla {#configure-template-variable} +Cuando el panel lateral de la variable de plantilla esté abierto, puede: +* Aplique (o quite) esta variable a los widgets seleccionados (note las opciones {{< ui >}}Select All{{< /ui >}} o {{< ui >}}Deselect All{{< /ui >}}) +* Alterne entre filtrar y agrupar +* Cambie el nombre de visualización de la variable (mostrado en el encabezado y en la consulta del widget) +* Seleccione un valor predeterminado del menú desplegable +* Previsualice los valores del menú desplegable y configúrelos más a fondo con una consulta de búsqueda -Para editar una variable de plantilla o añadir variables: -1. Pasa el ratón por encima del encabezado del dashboard y haz clic en el botón **Edit** (Editar). -1. En el modo de edición, haz clic en una variable de plantilla y realiza cambios en la ventana emergente. -1. Para reorganizar las variables en el encabezado, pasa el cursor sobre una variable, y luego haz clic y arrastra el asa del icono de arrastre. -1. Haz clic en el icono **+ (plus)** (+ (más)) para añadir una nueva variable de plantilla. -1. (Opcional) Después de seleccionar una etiqueta, haz clic en el botón **+ Configure Dropdown Values** (+ Configurar valores desplegables), para cambiar el nombre de la variable y establecer valores predeterminados o disponibles. - {{< img src="dashboards/template_variables/edit_template_variable_drag.png" alt="Ventana emergente del modo de edición de una variable de plantilla que muestra el icono de arrastre y te permite volver a acomodar el orden" style="width:100%;" >}} -## Aplicar una variable de plantilla a widgets +## Edite una variable de plantilla {#edit-a-template-variable} +1. Pase el cursor sobre la variable de plantilla en el encabezado del tablero y haga clic en **Editar**. El panel lateral de la variable de plantilla aparece. +2. Utilice las opciones del panel para personalizar la variable o aplicarla a más widgets. -Para añadir una variable de plantilla a las consultas de widgets: -1. Haz clic en el botón **Edit** (Editar) del encabezado del dashboard. -1. En el modo de edición, haz clic en una variable de plantilla para abrir su ventana emergente. -1. Haz clic en **Select Widgets** (Seleccionar widgets), para entrar al modo de selección de widgets. -1. El banner muestra el número de fuentes que utilizan la variable. En el ejemplo siguiente, la variable de plantilla `env` se utiliza en 20 gráficos del dashboard: - {{< img src="dashboards/template_variables/apply_template_variable_to_widgets.png" alt="Ejemplo de dashboard que muestra la confirmación para aplicar la variable de plantilla 'env' a 20 widgets" style="width:100%;" >}} -1. Haz clic en widgets individuales para obtener una vista previa del gráfico con la variable de plantilla interpolada. -1. Para añadir o eliminar de todos los widgets de un grupo, selecciona la casilla de verificación situada en la esquina derecha del grupo. -1. Para añadir o eliminar de todos los widgets del dashboard, haz clic en **Select All** (Seleccionar todo) o **Deselect All** (Deseleccionar todo) en el banner de selección. -1. Haz clic en **Save** (Guardar) o en **X** en el banner para salir del modo de selección de widgets. -## Vistas guardadas +## Vistas guardadas {#saved-views} -### Crear +### Cree {#create} -1. Haz clic en el menú desplegable **Saved Views** (Vistas guardadas) a la izquierda de las variables de plantilla en tu dashboard. Al actualizar el valor de una variable de plantilla, dicho valor no se guarda automáticamente en una vista. -1. Para guardar los valores actuales de las variables de plantilla en una vista, selecciona **Save selections as view** (Guardar selecciones como vista) en el menú desplegable **Saved Views** (Vistas guardadas). -1. Introduce un nombre único para la vista con una descripción en opcional. -1. Haz clic en **Save** (Guardar). +1. Haga clic en el menú desplegable {{< ui >}}Saved Views{{< /ui >}} a la izquierda de las variables de plantilla en su tablero. Cuando actualiza el valor de una variable de plantilla, el valor no se guarda automáticamente en una vista. +1. Para guardar los valores actuales de sus variables de plantilla en una vista, seleccione {{< ui >}}Save selections as view{{< /ui >}} del menú desplegable {{< ui >}}Saved Views{{< /ui >}}. +1. Ingrese un nombre único para la vista con una descripción opcional. +1. Haga clic en {{< ui >}}Save{{< /ui >}}. -{{< img src="/dashboards/template_variables/saved_view_create.png" alt="Crear vistas guardadas seleccionando guardar las elecciones como vista" style="width:100%;" >}} +{{< img src="/dashboards/template_variables/saved_view_create.png" alt="Cree vistas guardadas seleccionando guardar selecciones como vista" style="width:100%;" >}} -La vista guardada aparecerá en el menú desplegable. Haz clic en ella para recuperar los valores de las variables de plantilla que habías guardado anteriormente. +Su vista guardada aparece en el menú desplegable. Haga clic en la vista para recuperar los valores de variables de plantilla que guardó previamente. -### Borrar +### Elimine {#delete} -1. Haz clic en el menú desplegable de vistas guardadas y pasa el ratón por encima de la vista guardada que desees. -1. Haz clic en **Delete View** (Eliminar vista). +1. Haga clic en el menú desplegable de vistas guardadas y pase el cursor sobre la vista guardada deseada. +1. Haga clic en {{< ui >}}Delete View{{< /ui >}}. -### Modificar +### Modifique {#modify} -La **vista por defecto** sólo puede editarse cambiando los valores por defecto de las variables de plantilla. Para editar la vista por defecto: -1. Pasa el ratón por encima de las plantillas. -1. Haz clic en **Edit** (Editar) cuando aparezca el botón. -1. Haz clic en **Done** (Listo) para guardar. +El {{< ui >}}Default view{{< /ui >}} solo puede ser editado cambiando los valores predeterminados de las variables de plantilla. Para editar la Vista Predeterminada: +1. Pase el cursor sobre las plantillas. +1. Haga clic en {{< ui >}}Edit{{< /ui >}} cuando aparezca el botón. +Haga clic en para guardar. +1. Haga clic en {{< ui >}}Done{{< /ui >}} para guardar. -Para modificar valores de variables de plantilla para otras vistas guardadas: -1. Selecciona la vista guardada deseada en el menú desplegable. +Para modificar los valores de las variables de plantilla para otras vistas guardadas: +1. Seleccione la vista guardada deseada del menú desplegable. +Edite las variables de plantilla para tener los nuevos modelos deseados. +Abra el menú desplegable nuevamente. +Haga clic en . 1. Edite las variables de plantilla para tener los nuevos modelos deseados. -1. Vuelve a abrir el menú desplegable. -1. Haz clic en **Save Changes** (Guardar cambios). +1. Abra el menú desplegable nuevamente. +1. Haga clic en {{< ui >}}Save Changes{{< /ui >}}. -{{< img src="/dashboards/template_variables/saved_views_update_template_variable.png" alt="Modificar las variables de plantilla de tus vistas guardadas" style="width:100%;" >}} +{{< img src="/dashboards/template_variables/saved_views_update_template_variable.png" alt="Modifique las variables de plantilla de sus vistas guardadas" style="width:100%;" >}} Para editar el título y la descripción: -1. Pasa el ratón por encima de la vista guardada deseada en el menú desplegable. -1. Haz clic en **Edit** (Editar). -1. Modifica el título o la descripción. -1. Haz clic en **Save** (Guardar). +1. Pase el cursor sobre la vista guardada deseada del menú desplegable. +1. Haga clic en {{< ui >}}Edit{{< /ui >}}. +1. Modifique el título o la descripción. +1. Haga clic en {{< ui >}}Save{{< /ui >}}. -## Utilización +## Uso {#usage} Las variables de plantilla se utilizan en widgets y superposiciones de eventos. -### Consultas de logs, APM y RUM +### Registros, consultas de APM y RUM {#logs-apm-and-rum-queries} -Las variables de plantilla funcionan con widgets de logs, APM, y RUM, ya que comparten las mismas etiquetas. Puedes definir variables de plantilla de logs, APM, y RUM, en función de las facetas. Estas variables empiezan por `@`,; por ejemplo: `@http.status_code`. +Las variables de plantilla funcionan con widgets de registros, APM y RUM porque comparten las mismas etiquetas. Puedes definir variables de plantilla de registros, APM y RUM basadas en facetas. Estas variables comienzan con `@`, por ejemplo: `@http.status_code`. -En los widgets de log, APM y RUM, se pueden utilizar comodines en mitad de un valor (por ejemplo, `eng*@example.com`) o varios comodines en un valor (por ejemplo, `*prod*`). +En widgets de registros, APM y RUM, puedes usar comodines en medio de un valor (por ejemplo, `eng*@example.com`) o usar múltiples comodines en un valor (por ejemplo, `*prod*`). -**Nota**: Si se utiliza la opción **Add to all** (Añadir a todos) para este tipo de variable de plantilla, esta se añade a todos los widgets de log, APM y RUM. +**Nota**: Usar {{< ui >}}Add to all{{< /ui >}} para este tipo de variable de plantilla agrega la variable a todos los widgets de log, APM y RUM. -### Widgets +### Widgets {#widgets} -Al crear o editar un widget, las variables de plantilla de filtro existentes se muestran como opciones en el campo `from`, y las variables de plantilla de Agrupar por existentes se muestran como opciones a continuación del campo `by`. Por ejemplo, si configuras la variable de plantilla `environment`, la opción `$environment` estará disponible como variable dinámica en el widget. +Al crear o editar un widget, las variables de plantilla de filtro existentes se muestran como opciones en el campo `from`, y las variables de plantilla de agrupación existentes se muestran como opciones después del campo `by`. Por ejemplo, si configuras la variable de plantilla `environment`, la opción `$environment` está disponible como una variable dinámica en el widget. -{{< img src="dashboards/template_variables/dynamic_template_variable.png" alt="La variable de plantilla puede definirse de forma dinámica en los widgets" style="width:100%;">}} +{{< img src="dashboards/template_variables/dynamic_template_variable.png" alt="La variable de plantilla se puede establecer dinámicamente en los widgets." style="width:100%;">}} -Al seleccionar **production** (producción) para el valor `environment`, los widgets con la variable `$environment` se incluyen en el entorno de producción de forma dinámica. +Al seleccionar **producción** para el valor `environment`, se limitan dinámicamente los widgets con la variable `$environment` al entorno de producción. -Cuando se cambia el valor de una variable de plantilla, la URL del dashboard se actualiza para incluir el nuevo valor con el formato `&tpl_var_=`. Por ejemplo, si en un dashboard la variable de plantilla `$env` se cambia por `prod`, el parámetro URL será `&tpl_var_env=prod`. +Cuando cambia el valor de una variable de plantilla, la URL del tablero se actualiza para reflejar el valor de la variable de plantilla con el formato `&tpl_var_=`. Por ejemplo, un tablero con la variable de plantilla `$env` cambiada a `prod` tendría el parámetro de URL `&tpl_var_env=prod`. -Para incluir el valor en la consulta, añádelo con la sintaxis `$.value`. Por ejemplo, con una variable de plantilla denominada `service`, utiliza `env:staging-$service.value`. +Para incluir el valor en la consulta, añádalo con la sintaxis `$.value`. Por ejemplo, con una variable de plantilla llamada `service`, use `env:staging-$service.value`. -Pasa el ratón por encima de los campos de la variable de plantilla para ver de un rápido vistazo los widgets que utilizan esa variable resaltados en el dashboard. +Pase el cursor sobre los campos de la variable de plantilla para ver de un vistazo los widgets que utilizan esa variable resaltados en el tablero. -#### Variables de plantilla asociadas +#### Variables de plantilla asociadas {#associated-template-variables} -Al seleccionar un valor de una variable de plantilla, los valores asociados se muestran en la parte superior del selector. Los valores asociados se determinan a partir de otros valores de variables de plantilla seleccionados en la página, e identifican perfectamente los valores relacionados sin tener que configurar nada más, +Al seleccionar un valor de variable de plantilla, los valores asociados se muestran en la parte superior del selector. Los valores asociados se calculan a partir de otros valores de variables de plantilla seleccionados en la página, e identifican sin problemas los valores relacionados sin ninguna configuración. -#### Texto +#### Texto {#text} -En el caso de widgets basados en texto, puedes mostrar la etiqueta o el atributo de una variable y su valor con `$`, su clave con `$.key` o su valor con `$.value`. Esto puede ir después de cualquier carácter no alfanumérico y puede ir seguido de un espacio en blanco o de cualquiera de los siguientes caracteres: `#`, `$`, `%`, `=`, `;`, `"`, `(`, `)`, `[`, `]`, `{`, `}`, `^`, `*`, `+`, `|` y `?`. +Para widgets basados en texto, puede mostrar la etiqueta/atributo y el valor de una variable de plantilla con `$`, su clave con `$.key`, o su valor con `$.value`. Esto puede venir después de cualquier carácter no alfanumérico, y puede ser seguido por un espacio en blanco o cualquiera de los siguientes caracteres: `#`, `$`, `%`, `=`, `;`, `"`, `(`, `)`, `[`, `]`, `{`, `}`, `^`, `*`, `+`, `|`, y `?`. -**Nota**: No se admite la sintaxis comodín a continuación de una variable de plantilla. +**Nota**: La sintaxis de comodín no es compatible después de una variable de plantilla. -Por ejemplo, con una variable de plantilla denominada `env`, con una etiqueta o un atributo `environment` y con un valor seleccionado como `dev`: +Por ejemplo, con una variable de plantilla llamada `env`, con etiqueta/atributo `environment`, y con un valor seleccionado de `dev`: * `$env` muestra `environment:dev` * `$env.key` muestra `environment` * `$env.value` muestra `dev` * `$env*` busca el valor exacto `dev*` NO `dev{dynamic-wildcard-value}` -### Superposiciones de eventos +### Superposición de eventos {#events-overlay} -Utiliza la opción de búsqueda de superposiciones de eventos con las variables de plantilla para encontrar eventos que compartan unas etiquetas específicas con las métricas de tu dashboard. Esta búsqueda se aplica a través de un gráfico individual. +Utilice la búsqueda de superposición de eventos con variables de plantilla para encontrar eventos que compartan ciertas etiquetas con las métricas en su tablero. La búsqueda de superposición de eventos se aplica a través de un gráfico individual. -Es posible capturar directamente los valores de las variables de plantilla del dashboard utilizando la sintaxis `$.value` en el campo de búsqueda de eventos. +Los valores de las variables de plantilla del tablero pueden ser capturados directamente utilizando la sintaxis `$.value` en el campo de búsqueda de eventos. -**Nota**: Las variables de plantilla del dashboard deben ser etiquetas de métricas, no de eventos. +**Nota**: Las variables de plantilla del tablero deben ser etiquetas de métricas, no etiquetas de eventos. -#### Dashboard +#### Tablero {#dashboard} -Desde tu dashboard, busca eventos con variables de plantilla. Para ello, utiliza el siguiente formato: +Desde su tablero, busque eventos con variables de plantilla utilizando el formato: ```text :$.value ``` -Por ejemplo, si se busca `region:$region.value` con un valor `us-east1` para la variable de plantilla `region`, se muestran los eventos con la etiqueta `region:us-east1`. Además, el momento en que se produjeron los eventos está marcado con barras rosas en los gráficos. +Por ejemplo, buscar `region:$region.value` con un valor de `us-east1` para la variable de plantilla `region` muestra eventos etiquetados con `region:us-east1`. Además, el tiempo de los eventos está marcado por barras rosas en los gráficos. -comas para hacer búsquedas con múltiples variables de plantilla. Por ejemplo: `role:$role.value,env:$env.value` +Utilice comas para buscar utilizando múltiples variables de plantilla, por ejemplo: `role:$role.value,env:$env.value` -**Nota**: Cuando pulses *enter* (introducir) para buscar, `$region.value` se actualiza al valor del menú desplegable de la variable de plantilla. +**Nota**: Una vez que presione *enter* para buscar, `$region.value` se actualiza al valor en el menú desplegable de la variable de plantilla. -#### Widgets +#### Widgets {#widgets-1} -Desde tus widgets, superpón el cronograma de los eventos. Para ello, utiliza las variables de plantilla con el siguiente formato: +Desde sus widgets, superponga el tiempo de los eventos utilizando variables de plantilla con el formato: ```text $ ``` -Por ejemplo, introduce `$region` en la casilla de búsqueda de eventos superpuestos. De este modo se buscan los eventos con el valor en el menú desplegable de la variable de plantilla `region`. +Por ejemplo, ingrese `$region` en el cuadro de búsqueda de superposición de eventos. Esto busca eventos con el valor en el menú desplegable de la variable de plantilla `region`. -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/es/dashboards/widgets/_index.md b/content/es/dashboards/widgets/_index.md index 575480b1300..0613db14258 100644 --- a/content/es/dashboards/widgets/_index.md +++ b/content/es/dashboards/widgets/_index.md @@ -3,94 +3,98 @@ aliases: - /es/graphing/dashboards/widgets - /es/graphing/faq/widgets - /es/graphing/widgets -description: Bloques de construcción de dashboard para visualizar y correlacionar - datos en toda la infraestructura con varios tipos de gráficos y visualizaciones. +description: Bloques de construcción de Dashboard para visualizar y correlacionar + datos en la infraestructura con varios tipos de gráficos y displays. further_reading: - link: /dashboards/ tag: Documentación - text: Más información sobre dashboards + text: Aprenda más sobre Dashboards - link: /dashboards/widgets/configuration tag: Documentación - text: Conoce las opciones de configuración de los widgets y las mejores prácticas + text: Conozca las opciones de configuración de widgets y las mejores prácticas - link: /dashboards/widgets/types/ tag: Documentación - text: Explorar todos los tipos de widgets disponibles + text: Explore todos los tipos de widgets disponibles title: Widgets --- +## Resumen {#overview} -## Información general +Los Dashboard widgets son representaciones visuales de datos. Sirven como los bloques de construcción para sus [Dashboards][2] para visualizar y correlacionar sus datos a través de su infraestructura. Pueden contener diferentes tipos de información, como gráficos, imágenes, registros y estados, para darle una visión general de sus sistemas y entornos. -Los widgets de dashboard son representaciones visuales de los datos. Sirven como bloques de construcción para tus [dashboards][2] para visualizar y correlacionar tus datos a través de tu infraestructura. Pueden contener distintos tipos de información, como gráficos, imágenes, logs y estados, para ofrecerte una visión general de tus sistemas y entornos. +## Comience {#get-started} -## Para empezar +La forma más rápida de incorporar widgets relevantes a sus datos es clonar un Dashboard de la [lista preestablecida][1], que incluye Dashboards creados por otros miembros de su organización y plantillas listas para usar para sus integraciones instaladas. Después de clonar un Dashboard, puede personalizar los widgets para su caso de uso. -La forma más rápida de incorporar widgets relevantes para tus datos es clonar un dashboard de la [lista de preajustes][1], que incluye dashboards creados por otros miembros de tu organización y plantillas predefinidas para tus integraciones instaladas. Después de clonar un dashboard, puedes personalizar los widgets según tu caso de uso. - -{{< whatsnext desc="Guías adicionales y cursos para conocer sobre widgets:" >}} - {{< nextlink href="/getting_started/dashboards/" >}}Introducción a dashboards: instrucciones para crear un dashboard con widgets{{< /nextlink >}} - {{< nextlink href="https://learn.datadoghq.com/courses/dashboard-graph-widgets" >}}Widgets de gráfico de dashboard: curso del centro de aprendizaje que explica cómo crear, configurar y usar widgets de gráfico de dashboard{{< /nextlink >}} - {{< nextlink href="https://learn.datadoghq.com/courses/intro-dashboards" >}}Introducción a dashboards: curso del centro de aprendizaje que explica cómo crear un dashboard en un entorno de pruebas{{< /nextlink >}} +{{< whatsnext desc="Guías y cursos adicionales para aprender sobre widgets:" >}} + {{< nextlink href="/getting_started/dashboards/" >}}Introducción a Dashboards: Guía para construir un Dashboard con widgets{{< /nextlink >}} + {{< nextlink href="https://learn.datadoghq.com/courses/dashboard-graph-widgets" >}}Dashboard Graph Widgets: Curso del centro de aprendizaje que explica cómo crear, configurar y usar los Dashboard Graph Widgets{{< /nextlink >}} + {{< nextlink href="https://learn.datadoghq.com/courses/intro-dashboards" >}}Introduction to Dashboards: Curso del centro de aprendizaje que explica cómo construir un Dashboard en un entorno de pruebas{{< /nextlink >}} {{< /whatsnext >}} -### Añadir un widget a tu dashboard +### Agregue un widget a su Dashboard {#add-a-widget-to-your-dashboard} + +Para comenzar a usar widgets en sus Dashboards: + +1. Navegue a la [Dashboard List][1] en Datadog. +2. Haga clic en {{< ui >}}New Dashboard{{< /ui >}} o seleccione un Dashboard existente para editar. +3. Haga clic en {{< ui >}}Add Widget{{< /ui >}}. Elija entre una variedad de tipos de widgets, como series temporales, gráfico de barras, tabla o flujo de eventos. +4. Configure su widget: + - Seleccione la fuente de datos: Elija métricas, registros, trazas u otras fuentes de datos. + - Personalice la visualización: Ajuste la configuración de visualización, unidades y períodos de tiempo para adaptarse a sus necesidades. + - Agregue contexto: Utilice enlaces personalizados, formato condicional y agrupación para obtener información mejorada. +5. Guarde su Dashboard y compártalo con su equipo o externamente según sea necesario. -Para empezar a utilizar widgets en tus dashboards: +Para más información, consulte [Widget Configuration][3] y explore los [Widget Types][4] disponibles. -1. Navega hasta la [Lista de dashboards][1] en Datadog. -2. Haz clic en **New Dashboard** (Nuevo dashboards) o selecciona un dashboard existente para editarlo. -3. Haz clic en **Add Widget** (Añadir widget). Elige entre una variedad de tipos de widgets como series de tiempo, gráfico de barras, tabla o flujo de eventos. -4. Configurar tu widget: - - Seleccionar la fuente de datos: elija métricas, logs, trazas u otras fuentes de datos. - - Personalizar la visualización: ajusta la configuración de visualización, las unidades y los plazos para adaptarlos a tus necesidades. - - Añadir contexto: utiliza enlaces personalizados, formato condicional y agrupación para obtener información mejorada. -5. Guarda tu dashboard y compártelo con tu equipo o externamente según sea necesario. +### Organice los widgets con pestañas {#organize-widgets-with-tabs} -Para más información, consulta [Configuración de widgets][3] y explora los [Tipos de widgets][4] disponibles. +A medida que los Dashboards crecen, utilice pestañas para agrupar los widgets en secciones nombradas. En modo de edición, abra el menú de compartir de un widget y seleccione **Mover a pestaña** para asignarlo a una pestaña existente o crear una nueva. Las pestañas aparecen como una barra de navegación en la parte superior del Dashboard, permitiendo a los usuarios navegar directamente a la sección que necesitan. Para más información, consulte [Pestañas][5]. -## Fuentes de datos +## Fuentes de datos {#data-sources} -Los widgets pueden visualizar datos de múltiples fuentes de Datadog, entre ellas: +Los widgets pueden visualizar datos de múltiples fuentes de Datadog, incluyendo: -- **Trazas de APM**: datos de monitorización del rendimiento de las aplicaciones -- **Eventos**: eventos personalizados, despliegues y anotaciones. -- **Logs**: eventos de log, análisis de logs y métricas basadas en logs -- **Métricas**: infraestructura, aplicación y métricas personalizadas -- **RUM**: Real User Monitoring y datos de synthetic test -- **SLOs**: objetivos de nivel de servicio (SLO) y presupuestos de errores -- **Seguridad**: señales de seguridad y datos de cumplimiento +- **APM Traces**: Datos de monitoreo del rendimiento de la aplicación. +- **Eventos**: Eventos personalizados, implementaciones y anotaciones +- **Registros**: Eventos de registro, análisis de registros y métricas basadas en registros +- **Métricas**: Infraestructura, aplicación y métricas personalizadas +- **RUM**: Real User Monitoring y datos de prueba Synthetic +- **SLOs**: Service Level Objectives y error budgets +- **Seguridad**: Señales de seguridad y datos de cumplimiento -## Casos de uso común +## Casos de uso comunes {#common-use-cases} -{{% collapse-content title="Monitorización de infraestructura" level="h4" expanded=false %}} -- Utiliza widgets **Series temporales** para las métricas de CPU, memoria y red a lo largo del tiempo -- Utiliza widgets **Mapa de host** para visualizar el uso de recursos en toda tu infraestructura -- Utiliza los widgets **Lista principal** para identificar los hosts o servicios que consumen más recursos. +{{% collapse-content title="Infrastructure Monitoring" level="h4" expanded=false %}} +- Utilice **widgets de series temporales** para métricas de CPU, memoria y red a lo largo del tiempo +- Utilice **widgets de hostmap** para visualizar el uso de recursos en su infraestructura +- Utilice **widgets de lista principal** para identificar los hosts o servicios más intensivos en recursos {{% /collapse-content %}} -{{% collapse-content title="Rendimiento de las aplicaciones" level="h4" expanded=false %}} -- Utiliza widgets **Series temporales** para realizar un seguimiento de los tiempos de respuesta, las tasas de error y el rendimiento. -- Utiliza los widgets **Resumen de servicios** para obtener una visión general del estado de los servicios. -- Utiliza los widgets **Mapa de topología** para visualizar las dependencias de los servicios y el flujo de datos. +{{% collapse-content title="Rendimiento de Aplicaciones" level="h4" expanded=false %}} +- Utilice **widgets de series temporales** para rastrear tiempos de respuesta, tasas de error y rendimiento +- Utilice **widgets de Service Summary** para obtener una visión general de la salud del servicio a alto nivel. +- Utilice **widgets de Topology Map** para visualizar las dependencias del servicio y el flujo de datos. {{% /collapse-content %}} -{{% collapse-content title="Inteligencia empresarial" level="h4" expanded=false %}} -- Utiliza widgets **Valor de consulta** para indicadores clave de rendimiento y métricas empresariales. -- Utiliza widgets **Embudo** para realizar un seguimiento de la conversión de los usuarios a través de tu aplicación. -- Utiliza widgets de **Retención** para analizar el compromiso y la rotación de los usuarios. +{{% collapse-content title="Inteligencia Empresarial" level="h4" expanded=false %}} +- Utilice **widgets de Query Value** para indicadores clave de rendimiento y métricas empresariales. +- Utilice **widgets de Funnel** para rastrear la conversión de usuarios a través de su aplicación. +- Utilice **widgets de Retention** para analizar el compromiso y la deserción de usuarios. {{% /collapse-content %}} -{{% collapse-content title="Respuesta a incidentes" level="h4" expanded=false %}} -- Utiliza los widgets **Gráfico de alertas** para mostrar el historial y las tendencias de las alertas -- Utiliza los widgets **Resumen de monitor** para conocer el estado actual de las alertas en toda tu infraestructura. -- Utiliza los widgets **Flujo de eventos** para controlar los eventos en tiempo real +{{% collapse-content title="Incident Response" level="h4" expanded=false %}} +- Utilice **widgets de Alert Graph** para mostrar el historial y las tendencias de alertas. +- Utilice **widgets de Monitor Summary** para el estado actual de alertas en su infraestructura. +- Utilice **widgets de Event Stream** para el monitoreo de eventos en tiempo real. {{% /collapse-content %}} -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: https://app.datadoghq.com/dashboard/lists/preset/1 [2]: /es/dashboards/ [3]: /es/dashboards/widgets/configuration/ -[4]: /es/dashboards/widgets/types/ \ No newline at end of file +[4]: /es/dashboards/widgets/types/ +[5]: /es/dashboards/configure/#tabs \ No newline at end of file diff --git a/content/es/data_observability/jobs_monitoring/databricks/_index.md b/content/es/data_observability/jobs_monitoring/databricks/_index.md new file mode 100644 index 00000000000..1a8332dec5d --- /dev/null +++ b/content/es/data_observability/jobs_monitoring/databricks/_index.md @@ -0,0 +1,526 @@ +--- +aliases: +- /es/data_jobs/databricks +description: 'Habilite Data Observability: Jobs Monitoring para espacios de trabajo + de Databricks con autenticación OAuth o Token de Acceso Personal y la instalación + de Datadog Agent.' +further_reading: +- link: /data_jobs + tag: Documentación + text: 'Data Observability: Jobs Monitoring' +- link: https://www.datadoghq.com/blog/databricks-serverless-jobs-datadog/ + tag: Blog + text: Detectar problemas y optimizar gastos con el monitoreo de trabajos sin servidor + de Databricks +title: 'Habilitar la Observabilidad de Datos: Monitoreo de Trabajos para Databricks' +--- +Data Observability: Jobs Monitoring proporciona visibilidad sobre el rendimiento y la confiabilidad de sus trabajos y flujos de trabajo de Databricks que se ejecutan en clústeres o en computación sin servidor. + +## Configurar {#setup} + +
Si su espacio de trabajo de Databricks tiene habilitadas las Restricciones de Red, agregue a Datadog {{< region-param key="ip_ranges_url_webhooks" link="true" text="webhook IP ranges" >}} a su lista de permitidos. Si su espacio de trabajo utiliza Enlace Privado, consulte la pestaña Conectividad de Enlace Privado a continuación.
+ +Siga estos pasos para habilitar Data Observability: Jobs Monitoring para Databricks. + +1. [Configurar la integración de Datadog-Databricks](#configure-the-datadog-databricks-integration) para un espacio de trabajo de Databricks. +1. [Instalar el Agente de Datadog](#install-the-datadog-agent) en su(s) clúster(es) de Databricks en el espacio de trabajo. + + +### Configurar la integración de Datadog-Databricks {#configure-the-datadog-databricks-integration} + +{{< tabs >}} + +{{% tab "Utilizar un Principal de Servicio para OAuth" %}} + +
Las nuevas integraciones de espacio de trabajo deben autenticarse utilizando OAuth. Los espacios de trabajo ya integrados con un Token de Acceso Personal continúan funcionando y pueden cambiar a OAuth en cualquier momento. Después de que un espacio de trabajo comience a usar OAuth, no puede revertir a un Token de Acceso Personal.
+ +#### Crear y configurar el principal de servicio en Databricks {#create-and-configure-the-service-principal-in-databricks} + +1. Como administrador de **Databricks workspace**, ve a {{< ui >}}Settings{{< /ui >}} haciendo clic en tu perfil en la esquina superior derecha del workspace. +1. En la pestaña {{< ui >}}Identity and access{{< /ui >}}, haz clic en {{< ui >}}Manage{{< /ui >}} junto a {{< ui >}}Service principals{{< /ui >}}. +1. Haz clic en {{< ui >}}Add service principal{{< /ui >}}, luego haz clic en {{< ui >}}Add new{{< /ui >}}. +1. Ingresa un nombre, luego haz clic en **Agregar**. + +
Para Azure Databricks, selecciona el tipo de gestión "administrado por Databricks". Datadog NO soporta los principales de servicio "administrados por Microsoft Entra ID".
+ +1. Haz clic en el nombre de tu nuevo principal de servicio. Bajo la pestaña {{< ui >}}Secrets{{< /ui >}}, haz clic en {{< ui >}}Generate secret{{< /ui >}}. + 1. Establece {{< ui >}}Lifetime (days){{< /ui >}} al valor máximo permitido (730). + + 1. Haz clic en {{< ui >}}Generate{{< /ui >}}. + + 1. Toma nota de tu ID de cliente y secreto de cliente. + + {{< img src="data_jobs/databricks/client-id-secret.png" alt="En Databricks, se muestra un modal con el ID de cliente y el secreto asociados a un nuevo secreto OAuth." style="width:70%;" >}} + +1. En la pestaña {{< ui >}}Permissions{{< /ui >}}, haz clic en {{< ui >}}Grant access{{< /ui >}}. Busca el nuevo principal de servicio, otórgale el permiso {{< ui >}}Manage{{< /ui >}} y haz clic en {{< ui >}}Save{{< /ui >}}. +1. Regresa a la pestaña {{< ui >}}Identity and access{{< /ui >}} y haz clic en {{< ui >}}Manage{{< /ui >}} junto a {{< ui >}}Groups{{< /ui >}}. +1. Haz clic en el grupo {{< ui >}}admins{{< /ui >}}, luego haz clic en {{< ui >}}Add members{{< /ui >}} para agregar el nuevo principal de servicio. + +#### Agrega el espacio de trabajo de Databricks a Datadog {#add-the-databricks-workspace-to-datadog} + +1. En Datadog, abre el mosaico de integración de Databricks. +1. En la pestaña {{< ui >}}Configure{{< /ui >}}, haz clic en {{< ui >}}Add Databricks Workspace{{< /ui >}}. +1. Ingresa un nombre de espacio de trabajo, la URL de tu espacio de trabajo de Databricks y el ID de cliente y secreto que generaste. + {{< img src="data_jobs/databricks/connect-workspace-form-m2m.png" alt="En el mosaico de integración de Datadog-Databricks, se muestra un espacio de trabajo de Databricks. Este espacio de trabajo tiene un nombre, URL, ID de cliente y secreto de cliente." style="width:100%;" >}} +1. Para obtener visibilidad sobre tus costos de Databricks en Data Observability: Monitoreo de Trabajos o [Gestión de Costos en la Nube][18], proporciona el ID de un [Almacén SQL de Databricks][19] que Datadog puede usar para consultar tus [tablas del sistema][20]. + - El principal de servicio debe tener acceso al Almacén SQL. En la página de configuración del Almacén, ve a {{< ui >}}Permissions{{< /ui >}} (esquina superior derecha) y otórgale permiso `CAN USE`. + - Otorga al principal de servicio acceso de lectura a las [tablas del sistema][20] del Catálogo de Unity ejecutando los siguientes comandos: + ```sql + GRANT USE CATALOG ON CATALOG system TO ; + GRANT SELECT ON CATALOG system TO ; + GRANT USE SCHEMA ON CATALOG system TO ; + ``` + El usuario que otorga estos permisos debe tener el privilegio `MANAGE` sobre `CATALOG system`. + + - El Almacén SQL debe ser Pro o Serverless. Los Almacenes Clásicos **NO** son compatibles. Se recomienda un almacén 2XS, con Auto Stop configurado de 5 a 10 minutos para reducir costos. +1. En la sección **Seleccionar productos para configurar la integración**, asegúrate de que Data Observability: Monitoreo de Trabajos esté {{< ui >}}Enabled{{< /ui >}}. +1. En la sección {{< ui >}}Datadog Agent Setup{{< /ui >}}, elige entre + - [Gestionado por Datadog (recomendado)](?tab=datadogmanagedglobalinitscriptrecommended#install-the-datadog-agent): Datadog instala y gestiona el Agente con un script de inicio global en el espacio de trabajo. + - [Manualmente](?tab=manuallyinstallaglobalinitscript#install-the-datadog-agent): Sigue las [instrucciones a continuación](?tab=manuallyinstallaglobalinitscript#install-the-datadog-agent) para instalar y gestionar el script de inicio para instalar el Agente globalmente o en clústeres específicos de Databricks. + +[18]: https://docs.datadoghq.com/es/cloud_cost_management/ +[19]: https://docs.databricks.com/aws/en/compute/sql-warehouse/ +[20]: https://docs.databricks.com/aws/en/admin/system-tables/ + +{{% /tab %}} + +{{% tab "Private Link Connectivity" %}} + +Si su espacio de trabajo de Databricks se implementa utilizando [Conectividad de Private Link][25], Datadog no puede acceder a las APIs de Databricks directamente. Esto requiere usar un [Private Action Runner][26] desplegado en su entorno. + +Consulte [Private Link Connectivity (Preview)][15] para obtener instrucciones completas de configuración. + +[15]: /es/data_observability/jobs_monitoring/databricks/private_link +[25]: https://docs.databricks.com/aws/en/security/network/front-end/front-end-private-connect +[26]: https://docs.datadoghq.com/es/actions/private_actions/ + +{{% /tab %}} + +{{% tab "Utilice un Token de Acceso Personal (Legado)" %}} + +
Esta opción solo está disponible para integraciones de espacio de trabajo creadas antes del 7 de julio de 2025. Las nuevas integraciones de espacio de trabajo deben autenticarse usando OAuth.
+ +1. En su espacio de trabajo de Databricks, haga clic en su perfil en la esquina superior derecha y vaya a {{< ui >}}Settings{{< /ui >}}. Seleccione {{< ui >}}Developer{{< /ui >}} en la barra lateral izquierda. Junto a {{< ui >}}Access tokens{{< /ui >}}, haga clic en {{< ui >}}Manage{{< /ui >}}. +1. Haga clic en {{< ui >}}Generate new token{{< /ui >}}, ingrese "Integración de Datadog" en el campo {{< ui >}}Comment{{< /ui >}}, establezca el valor de {{< ui >}}Lifetime (days){{< /ui >}} al máximo permitido (730 días) y cree un recordatorio para actualizar el token antes de que expire. Luego haga clic en {{< ui >}}Generate{{< /ui >}}. Tome nota de su token. + + **Importante:** + * Para la instalación del script de inicialización administrado por Datadog (recomendado)](?tab=datadogmanagedglobalinitscriptrecommended#install-the-datadog-agent), asegúrese de que el Principal del token sea un Administrador de Workspace. + * Para la instalación manual del script de inicialización, asegúrese de que el Principal del token tenga acceso [CAN VIEW][9] para los trabajos y clústeres de Databricks que desea monitorear. + + Como alternativa, siga la [documentación oficial de Databricks][10] para generar un token de acceso para un [principal de servicio][11]. El principal de servicio debe tener habilitado el [acceso al Workspace][17] y los permisos de Administrador de Workspace o [CAN VIEW][9] como se describió anteriormente. +1. En Datadog, abra el mosaico de integración de Databricks. +1. En la pestaña {{< ui >}}Configure{{< /ui >}}, haga clic en {{< ui >}}Add Databricks Workspace{{< /ui >}}. +1. Ingrese un nombre para el espacio de trabajo, la URL de su espacio de trabajo de Databricks y el token de Databricks que generó. + {{< img src="data_jobs/databricks/configure-workspace-form.png" alt="En el mosaico de integración de Datadog-Databricks, se muestra un espacio de trabajo de Databricks. Este espacio de trabajo tiene un nombre, una URL y un token de API." style="width:100%;" >}} +1. Para obtener visibilidad sobre sus costos de Databricks en Data Observability: Jobs Monitoring o [Cloud Cost Management][18], proporcione el ID de un [Almacén SQL de Databricks][19] que Datadog puede usar para consultar sus [tablas del sistema][20]. + + - El principal del token debe tener acceso al Almacén SQL. Otórguele `CAN USE` permiso desde **Permisos** en la parte superior derecha de la página de configuración del Almacén. + - Conceda al principal del servicio acceso de lectura al Unity Catalog [tablas del sistema][20] ejecutando los siguientes comandos: + ```sql + GRANT USE CATALOG ON CATALOG system TO ; + GRANT SELECT ON CATALOG system TO ; + GRANT USE SCHEMA ON CATALOG system TO ; + ``` + El usuario que otorga estos permisos debe tener el privilegio `MANAGE` sobre `CATALOG system`. + - El Almacén SQL debe ser Pro o Serverless. Los Almacenes Clásicos **NO** son compatibles. Se recomienda un almacén de tamaño 2XS, con Auto Stop configurado para 5-10 minutos para minimizar costos. +1. En la sección **Seleccionar productos para configurar la integración**, asegúrese de que el producto Data Observability: Jobs Monitoring esté **Habilitado**. +1. En la sección {{< ui >}}Datadog Agent Setup{{< /ui >}}, elija ya sea + - [Gestionado por Datadog (recomendado)](?tab=datadogmanagedglobalinitscriptrecommended#install-the-datadog-agent): Datadog instala y gestiona el Agent con un script de inicio global en el espacio de trabajo. + - [Manualmente](?tab=manuallyinstallaglobalinitscript#install-the-datadog-agent): Siga las [instrucciones a continuación](?tab=manuallyinstallaglobalinitscript#install-the-datadog-agent) para instalar y gestionar el script de inicio para instalar el Agent globalmente o en clústeres específicos de Databricks. + +[9]: https://docs.databricks.com/en/security/auth-authz/access-control/index.html#job-acls +[10]: https://docs.databricks.com/en/admin/users-groups/service-principals.html#manage-personal-access-tokens-for-a-service-principal +[11]: https://docs.databricks.com/en/admin/users-groups/service-principals.html#what-is-a-service-principal +[17]: https://docs.databricks.com/aws/en/security/auth/entitlements#entitlements-overview +[18]: https://docs.datadoghq.com/es/cloud_cost_management +[19]: https://docs.databricks.com/aws/en/compute/sql-warehouse/ +[20]: https://docs.databricks.com/aws/en/admin/system-tables/ + + +{{% /tab %}} + +{{< /tabs >}} + +### Instale el Datadog Agent {#install-the-datadog-agent} + +El Datadog Agent debe estar instalado en los clústeres de Databricks para monitorear los trabajos de Databricks que se ejecutan en clústeres de propósito general o de trabajos. Este paso no es necesario para monitorear trabajos en [serverless compute][4]. + +{{< tabs >}} +{{% tab "Script de inicio global gestionado por Datadog (Recomendado)" %}} + +Datadog puede instalar y gestionar un script de inicialización global en el espacio de trabajo de Databricks. El Datadog Agent se instala en todos los clústeres en el espacio de trabajo, cuando estos inician. + +
+
    +
  • Esta configuración no funciona en clústeres de Databricks en modo de acceso Estándar, porque no se pueden instalar scripts de inicio global en esos clústeres. Si está utilizando clústeres con el modo de acceso Estándar, Datadog recomienda Configurar manualmente una política de clúster en múltiples clústeres o Instalar manualmente en un clúster específico.
  • +
  • Esta opción de instalación, en la que Datadog instala y gestiona su script de inicio global de Datadog, requiere un Token de Acceso de Databricks con permisos de Workspace Admin. Un token con acceso CAN VIEW no permite a Datadog gestionar el script de inicio global de su cuenta de Databricks.
  • +
+
+ +#### Al integrar un espacio de trabajo con Datadog {#when-integrating-a-workspace-with-datadog} + +1. En la sección **Seleccionar productos para configurar la integración**, asegúrese de que el producto Data Observability: Jobs Monitoring esté **Habilitado**. +1. En la sección {{< ui >}}Datadog Agent Setup{{< /ui >}}, seleccione el {{< ui >}}Managed by Datadog{{< /ui >}} botón de alternancia. +1. Haga clic en {{< ui >}}Select API Key{{< /ui >}} para seleccionar una clave de API de Datadog existente o crear una nueva clave de API de Datadog. +1. (Opcional) Desactive {{< ui >}}Enable Log Collection{{< /ui >}} si no desea recopilar registros de controlador y trabajador para correlacionar con trabajos. +1. Haga clic en {{< ui >}}Save Databricks Workspace{{< /ui >}}. + {{< img src="data_jobs/databricks/configure-data-jobs-monitoring-new-2.png" alt="En el mosaico de integración de Datadog-Databricks, Datadog Agent Setup al agregar un espacio de trabajo de Databricks. Datadog puede instalar y gestionar un script de inicialización global." style="width:100%;" >}} + +#### Al agregar el script de inicialización a un espacio de trabajo de Databricks ya integrado con Datadog {#when-adding-the-init-script-to-a-databricks-workspace-already-integrated-with-datadog} + +1. En la pestaña **Configurar**, haga clic en el espacio de trabajo en la lista de espacios de trabajo. +1. Haga clic en la {{< ui >}}Configured Products{{< /ui >}} pestaña. +1. Asegúrese de que el producto Data Observability: Jobs Monitoring esté **Habilitado**. +1. En la sección {{< ui >}}Datadog Agent Setup{{< /ui >}}, seleccione el {{< ui >}}Managed by Datadog{{< /ui >}} botón de alternancia. +1. Haga clic en {{< ui >}}Select API Key{{< /ui >}} para seleccionar una clave de API de Datadog existente o crear una nueva clave de API de Datadog. +1. (Opcional) Desactive {{< ui >}}Enable Log Collection{{< /ui >}} si no desea recopilar registros de controladores y trabajadores para correlacionar con trabajos. +1. Haga clic en **Guardar espacio de trabajo de Databricks** en la parte inferior de la ventana del navegador. + {{< img src="data_jobs/databricks/configure-data-jobs-monitoring-existing.png" alt="En el mosaico de integración de Datadog-Databricks, configuración del agente de Datadog para un espacio de trabajo de Databricks que ya se ha agregado a la integración. Datadog puede instalar y gestionar un script de inicialización global." style="width:100%;" >}} + +Opcionalmente, puede agregar etiquetas a su clúster de Databricks y métricas de rendimiento de Spark configurando la siguiente variable de entorno en la sección {{< ui >}}Advanced Configuration{{< /ui >}} de su clúster en la interfaz de usuario de Databricks o como [variables de entorno de Spark][2] con la API de Databricks: + +| Variable | Descripción | +|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| DD_TAGS | Agregue etiquetas a las métricas de rendimiento del clúster de Databricks y de Spark. Pares clave:valor separados por comas o espacios. Siga las [convenciones de etiquetas de Datadog][1]. Ejemplo: `env:staging,team:data_engineering` | +| DD_ENV | Establezca la etiqueta de entorno `env` en métricas, trazas y registros de este clúster. | +| DD_LOGS_CONFIG_PROCESSING_RULES | Filtre los registros recopilados con reglas de procesamiento. Consulte [Recopilación avanzada de registros][3] para más detalles. | + + +[1]: /es/getting_started/tagging/ +[2]: https://docs.databricks.com/api/workspace/clusters/edit#spark_env_vars +[3]: /es/agent/logs/advanced_log_collection/?tab=environmentvariable#global-processing-rules +[4]: https://docs.databricks.com/aws/en/compute/serverless/ + +{{% /tab %}} + +{{% tab "Configure manualmente una política de clúster" %}} + +Este enfoque se recomienda para clústeres en modo de acceso **Estándar**. + +**Cree el script de inicialización** + +1. En Databricks, cree un archivo de script de inicialización en un [Unity Catalog volume][26] con el siguiente contenido. Asegúrese de anotar la ruta del volumen (por ejemplo, `/Volumes/catalog_name/schema_name/volume_name/datadog-init-script.sh`). + + ```shell + #!/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][3]. + +1. Conceda permisos de solo lectura al script de inicialización: + 1. A nivel de volumen, conceda el permiso `READ VOLUME` a todos los usuarios de la cuenta. + 1. A nivel de catálogo, conceda el permiso `USE CATALOG` a todos los usuarios de la cuenta. + +1. **Agregue el script de inicialización a la lista de permitidos**: Para clústeres en modo de acceso **Standard**, debe agregar la ruta del script de inicialización a la lista de permitidos de Unity Catalog. Siga las instrucciones en la [documentación de Databricks][27] para agregar la ruta de su script de inicialización a la lista de permitidos. + +**Configure la política de cómputo** + +1. En {{< ui >}}Compute{{< /ui >}}, navegue a la pestaña {{< ui >}}Policies{{< /ui >}}. Si ya tiene una política de clúster aplicada a sus clústeres, navegue a esa política existente para editarla. Este es el enfoque más simple, ya que la política se aplica automáticamente a todos los clústeres que la utilizan. De lo contrario, haga clic en {{< ui >}}Create Policy{{< /ui >}} para crear una nueva política. +1. Para agregar el script de inicialización a la política del clúster, en la sección {{< ui >}}Definition{{< /ui >}}, haga clic en {{< ui >}}Add Definition{{< /ui >}}. En el modal que se abre, completa los campos: + 1. En el menú desplegable {{< ui >}}Field{{< /ui >}}, seleccione {{< ui >}}init_scripts{{< /ui >}}. + 1. En el menú desplegable {{< ui >}}Source{{< /ui >}}, seleccione {{< ui >}}Volume{{< /ui >}}. + 1. Bajo {{< ui >}}Destination{{< /ui >}}, ingrese la ruta del volumen a su script de inicialización. + 1. Haga clic en {{< ui >}}Add{{< /ui >}}. +1. Configure las variables de entorno. Debe agregar cada una de las siguientes variables de entorno a la política del clúster que creó: + + | Clave | Descripción | + |----------------------|------------------------------| + | DD_API_KEY | Su [clave de API de Datadog][1]. | + | DD_SITE | Su [sitio de Datadog][2]. | + | DATABRICKS_WORKSPACE | Nombre de su espacio de trabajo de Databricks. Debería coincidir con el nombre proporcionado en el [paso de integración de Datadog-Databricks](#configure-the-datadog-databricks-integration). Encierre el nombre entre comillas dobles si contiene espacios en blanco. | + + 1. Para cada una de las variables anteriores, en la {{< ui >}}Definition{{< /ui >}} sección, haga clic en {{< ui >}}Add Definition{{< /ui >}}. En el modal que se abre, complete los campos: + 1. En el {{< ui >}}Field{{< /ui >}} menú desplegable, seleccione {{< ui >}}spark_env_vars{{< /ui >}}. + 1. En el {{< ui >}}Key{{< /ui >}} campo, ingrese la clave de la variable de entorno. + 1. En el {{< ui >}}Value{{< /ui >}} campo, ingrese el valor de la variable de entorno. + 1. En el menú desplegable {{< ui >}}Type{{< /ui >}}, seleccione {{< ui >}}Fixed{{< /ui >}}. + 1. Marque la casilla {{< ui >}}Hidden{{< /ui >}} para reducir la exposición de valores sensibles. + 1. Opcionalmente, establezca otros parámetros de script de inicialización y variables de entorno de Datadog, como `DD_ENV` y `DD_SERVICE`. Puedes configurar el script utilizando los siguientes parámetros: + + | Variable | Descripción | Predeterminado | + |--------------------------| ------------------------------------------------------------------------------------------------------------------------------------------------------------------| ---------| + | DRIVER_LOGS_ENABLED | Recopile registros del driver de Spark en Datadog. | falso | + | WORKER_LOGS_ENABLED | Recopile registros de los workers de Spark en Datadog. | falso | + | DD_TAGS | Agregue etiquetas al clúster de Databricks y a las métricas de rendimiento de Spark, utilizando pares clave:valor separados por comas o espacios. Sigue [las convenciones de etiquetas de Datadog][4]. Ejemplo: `env:staging,team:data_engineering` | | + | DD_ENV | Establezca la etiqueta de entorno `env` en métricas, trazas y registros de este clúster. | | + | DD_LOGS_CONFIG_PROCESSING_RULES | Filtre los registros recopilados con reglas de procesamiento. Consulte [Recopilación Avanzada de Registros][5] para más detalles. | | + +1. Haga clic en {{< ui >}}Create{{< /ui >}} si crea una nueva política o en {{< ui >}}Save{{< /ui >}} si actualiza una política existente. Si actualiza una política existente, todos los clústeres que utilizan esa política aplicarán automáticamente los cambios en su próximo reinicio. Si crea una nueva política, siga los pasos a continuación para aplicarla a sus clústeres. + +**Aplique la política del clúster a los clústeres** + +1. En {{< ui >}}Compute{{< /ui >}}, seleccione el clúster que desea actualizar o haga clic en {{< ui >}}Create Compute{{< /ui >}} para un nuevo clúster. +1. En el menú desplegable {{< ui >}}Policy{{< /ui >}} en la parte superior, seleccione la política que creó. +1. Haga clic en {{< ui >}}Confirm{{< /ui >}} para guardar los cambios. El clúster necesita reiniciarse para que la política surta efecto. + +[1]: https://app.datadoghq.com/organization-settings/api-keys +[2]: /es/getting_started/site/ +[3]: https://github.com/DataDog/datadog-agent/blob/main/pkg/fleet/installer/setup/djm/databricks.go +[4]: /es/getting_started/tagging/ +[5]: /es/agent/logs/advanced_log_collection/?tab=environmentvariable#global-processing-rules +[26]: https://docs.databricks.com/en/connect/unity-catalog/volumes.html +[27]: https://docs.databricks.com/en/data-governance/unity-catalog/manage-privileges/allowlist#how-to-add-items-to-the-allowlist + +{{% /tab %}} + +{{% tab "Instale un script de inicialización global manualmente" %}} + +
+Esta configuración no funciona en clústeres de Databricks en modo de acceso Estándar, porque no se pueden instalar scripts de inicialización global en esos clústeres. Si utiliza clústeres con el modo de acceso Estándar, Datadog recomienda configurar manualmente una política de clúster o instalar manualmente en un clúster específico. +
+ +1. En Databricks, haga clic en su nombre de usuario (dirección de correo electrónico) en la esquina superior derecha de la página. +1. Seleccione {{< ui >}}Settings{{< /ui >}} y haga clic en la pestaña {{< ui >}}Compute{{< /ui >}}. +1. En la sección {{< ui >}}All purpose clusters{{< /ui >}}, junto a {{< ui >}}Global init scripts{{< /ui >}}, haga clic en {{< ui >}}Manage{{< /ui >}}. +1. Haga clic en {{< ui >}}Add{{< /ui >}}. Nombre su script. Luego, en el campo {{< ui >}}Script{{< /ui >}}, copie y pegue el siguiente script, recordando reemplazar los marcadores de posición con los valores de sus parámetros. + + ```shell + #!/bin/bash + + # Required parameters + export DD_API_KEY= + export DD_SITE= + export DATABRICKS_WORKSPACE="" + + # 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 + ``` + + El script anterior establece los parámetros requeridos, y descarga y ejecuta el último script de inicialización para Data Observability: Jobs Monitoring en Databricks. Si desea fijar su script a una versión específica, puede reemplazar el nombre del archivo en la URL con `install-databricks-0.14.0.sh` para usar la versión `0.14.0`, por ejemplo. El código fuente utilizado para generar este script, y los cambios entre las versiones del script, se pueden encontrar en el [repositorio del Datadog Agent][3]. + +1. Para habilitar el script para todos los nuevos clústeres y los que se reinicien, active {{< ui >}}Enabled{{< /ui >}}. + {{< img src="data_jobs/databricks/toggle.png" alt="Interfaz de Databricks, configuraciones de administrador, scripts de inicialización global. Un script llamado 'install-datadog-agent' está en una lista con un interruptor habilitado." style="width:100%;" >}} +1. Haga clic en {{< ui >}}Add{{< /ui >}}. + +#### Establezca los parámetros requeridos del script de inicialización {#set-the-required-init-script-parameters} + +Proporcione los valores para los parámetros del script de inicialización al inicio del script de inicialización global. + +```bash +export DD_API_KEY= +export DD_SITE= +export DATABRICKS_WORKSPACE="" +``` + +Opcionalmente, también puede establecer otros parámetros del script de inicialización y variables de entorno de Datadog aquí, como `DD_ENV` y `DD_SERVICE`. El script se puede configurar utilizando los siguientes parámetros: + +| Variable | Descripción | Predeterminado | +|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------| +| DD_API_KEY | Su [clave de API de Datadog][1]. | | +| DD_SITE | Su [sitio de Datadog][2]. | | +| DATABRICKS_WORKSPACE | Nombre de su espacio de trabajo de Databricks. Debería coincidir con el nombre proporcionado en el [paso de integración de Datadog-Databricks](#configure-the-datadog-databricks-integration). Enciérrelo en comillas dobles si contiene espacios en blanco. | | +| DRIVER_LOGS_ENABLED | Recopile registros del driver de Spark en Datadog. | falso | +| WORKER_LOGS_ENABLED | Recopile registros de los workers de Spark en Datadog. | falso | +| DD_TAGS | Agregue etiquetas al clúster de Databricks y a las métricas de rendimiento de Spark. Pares clave:valor separados por comas o espacios. Siga [las convenciones de etiquetas de Datadog][4]. Ejemplo: `env:staging,team:data_engineering` | | +| DD_ENV | Establezca la etiqueta `env` de entorno en métricas, trazas y registros de este clúster. | | +| DD_LOGS_CONFIG_PROCESSING_RULES | Filtre los registros recopilados con reglas de procesamiento. Consulte [Colección Avanzada de Registros][5] para más detalles. | | + +[1]: https://app.datadoghq.com/organization-settings/api-keys +[2]: /es/getting_started/site/ +[3]: https://github.com/DataDog/datadog-agent/blob/main/pkg/fleet/installer/setup/djm/databricks.go +[4]: /es/getting_started/tagging/ +[5]: /es/agent/logs/advanced_log_collection/?tab=environmentvariable#global-processing-rules + +{{% /tab %}} + +{{% tab "Instale manualmente en un clúster específico" %}} + +1. En Databricks, cree un archivo de script de inicialización en un [volumen de Catálogo de Unidad][26] con el siguiente contenido. Asegúrese de anotar la ruta del volumen (por ejemplo, `/Volumes/catalog_name/schema_name/volume_name/datadog-init-script.sh`). + + ```shell + #!/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 + ``` + + El script anterior descarga y ejecuta el último script de inicialización para Data Observability: Jobs Monitoring en Databricks. Si desea fijar su script a una versión específica, puede reemplazar el nombre del archivo en la URL (por ejemplo, `install-databricks-0.14.0.sh` para usar la versión `0.14.0`). Puede encontrar el código fuente utilizado para generar este script, y los cambios entre versiones de scripts, en el [repositorio del Datadog Agent][3]. + +1. **Agregue el script de inicialización a la lista de permitidos** (requerido para clústeres en modo de acceso **Estándar**): Si su clúster utiliza el modo de acceso **Estándar**, debe agregar la ruta del script de inicialización a la lista de permitidos del Catálogo de Unidad. Siga las instrucciones en la [documentación de Databricks][27] para agregar la ruta de su script de inicialización a la lista de permitidos. + +1. En la página de configuración del clúster, haga clic en el {{< ui >}}Advanced options{{< /ui >}} interruptor. +1. En la parte inferior de la página, vaya a la pestaña {{< ui >}}Init Scripts{{< /ui >}}. + + {{< img src="data_jobs/databricks/init_scripts.png" alt="Interfaz de usuario de Databricks, opciones avanzadas de configuración del clúster, pestaña de Scripts de Inicialización. Un menú desplegable de 'Destino' y un selector de archivo de 'Ruta del script de inicialización'." style="width:80%;" >}} + + - En el menú desplegable {{< ui >}}Destination{{< /ui >}}, seleccione {{< ui >}}Volume{{< /ui >}}. + - Bajo {{< ui >}}Init script path{{< /ui >}}, ingrese la ruta del volumen a su script de inicialización. + - Haga clic en {{< ui >}}Add{{< /ui >}}. + +#### Establezca los parámetros requeridos del script de inicialización {#set-the-required-init-script-parameters-1} + +1. En Databricks, en la página de configuración del clúster, haga clic en el {{< ui >}}Advanced options{{< /ui >}} interruptor. +2. En la parte inferior de la página, vaya a la pestaña {{< ui >}}Spark{{< /ui >}}. + {{< img src="data_jobs/databricks/configure-databricks-cluster-init-script-quoted.png" alt="Interfaz de usuario de Databricks, opciones avanzadas de configuración del clúster, pestaña Spark. Un cuadro de texto titulado 'Variables de entorno' contiene valores para DD_API_KEY y DD_SITE." style="width:100%;" >}} + + En el {{< ui >}}Environment variables{{< /ui >}} cuadro de texto, proporcione los valores para los parámetros del script de inicialización. + + ```text + DD_API_KEY= + DD_SITE= + DATABRICKS_WORKSPACE="" + ``` + + Opcionalmente, también puede establecer otros parámetros del script de inicialización y variables de entorno de Datadog aquí, como `DD_ENV` y `DD_SERVICE`. El script se puede configurar utilizando los siguientes parámetros: + +| Variable | Descripción | Predeterminado | +|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------| +| DD_API_KEY | Su [clave de API de Datadog][1]. | | +| DD_SITE | Su [sitio de Datadog][2]. | | +| DATABRICKS_WORKSPACE | Nombre de su espacio de trabajo de Databricks. Debería coincidir con el nombre proporcionado en el [paso de integración de Datadog-Databricks](#configure-the-datadog-databricks-integration). Enciérrelo en comillas dobles si contiene espacios en blanco. | | +| DRIVER_LOGS_ENABLED | Recopilar registros del driver de Spark en Datadog. | falso | +| WORKER_LOGS_ENABLED | Recopilar registros de los workers de Spark en Datadog. | falso | +| DD_TAGS | Agregar etiquetas al clúster de Databricks y a las métricas de rendimiento de Spark. Pares clave:valor separados por comas o espacios. Siga [las convenciones de etiquetas de Datadog][4]. Ejemplo: `env:staging,team:data_engineering` | | +| DD_ENV | Establezca la etiqueta `env` de entorno en métricas, trazas y registros de este clúster. | | +| DD_LOGS_CONFIG_PROCESSING_RULES | Filtre los registros recopilados con reglas de procesamiento. Consulte [Recopilación Avanzada de Registros][5] para más detalles. | | + + +[1]: https://app.datadoghq.com/organization-settings/api-keys +[2]: /es/getting_started/site/ +[3]: https://github.com/DataDog/datadog-agent/blob/main/pkg/fleet/installer/setup/djm/databricks.go +[4]: /es/getting_started/tagging/ +[5]: /es/agent/logs/advanced_log_collection/?tab=environmentvariable#global-processing-rules +[26]: https://docs.databricks.com/en/connect/unity-catalog/volumes.html +[27]: https://docs.databricks.com/en/data-governance/unity-catalog/manage-privileges/allowlist#how-to-add-items-to-the-allowlist + +3. Haga clic en {{< ui >}}Confirm{{< /ui >}}. + +{{% /tab %}} + +{{< /tabs >}} + +### Reinicie los clústeres que ya están en ejecución {#restart-already-running-clusters} + +El script de inicialización instala el Datadog Agent cuando los clústeres se inician. + +Los clústeres de propósito general que ya están en ejecución o los clústeres de trabajos de larga duración deben reiniciarse manualmente para que el script de inicialización instale el Datadog Agent. + +Para trabajos programados que se ejecutan en clústeres de trabajos, el script de inicialización instala automáticamente el Datadog Agent en la próxima ejecución. + +## Validación {#validation} + +En Datadog, vea la página [Data Observability: Jobs Monitoring][6] para ver una lista de todos sus trabajos de Databricks. + +Si algunos trabajos no son visibles, navegue a la página [Configuración][9] para entender por qué. Esta página lista todos sus trabajos de Databricks que aún no están configurados con el Agente en sus clústeres, junto con orientación para completar la configuración. + +## Solución de problemas {#troubleshooting} + +Si no ve ningún dato en DJM después de instalar el producto, siga estos pasos. + +1. **Validación de la clave de API:** Si el script de inicialización fue instalado manualmente, pero los datos del clúster aún no aparecen en el producto DJM, utilice el [punto de conexión de validación de la clave de API][25] para asegurarse de que la clave de API de Datadog especificada en el script sea válida. +1. **Validación del Datadog Agent:** El script de inicialización instala el Datadog Agent. Para asegurarse de que esté correctamente instalado, conéctese al clúster mediante SSH y ejecute el comando de estado del Datadog Agent: + ```shell + sudo datadog-agent status + ``` + +## Configuración Avanzada {#advanced-configuration} + +### Filtrar la recolección de registros en clústeres {#filter-log-collection-on-clusters} + +#### Excluir toda la recolección de registros de un clúster individual {#exclude-all-log-collection-from-an-individual-cluster} +Configure la siguiente variable de entorno en la {{< ui >}}Advanced Configuration{{< /ui >}} sección de su clúster en la interfaz de usuario de Databricks o como una [variable de entorno de Spark][18] en la API de Databricks. + +```bash +DD_LOGS_CONFIG_PROCESSING_RULES=[{\"type\": \"exclude_at_match\",\"name\": \"drop_all_logs\",\"pattern\": \".*\"}] +``` + +### Permisos {#permissions} +Conceda {{< ui >}}Workspace Admin{{< /ui >}} privilegios al usuario o principal de servicio que se conecta a su espacio de trabajo de Databricks. Esto permite que Datadog gestione las instalaciones y actualizaciones de scripts de inicialización automáticamente, reduciendo el riesgo de una mala configuración. + +Si necesita un control más granular, conceda estos permisos mínimos a los siguientes [objetos a nivel de espacio de trabajo][19] para poder seguir monitoreando todos los trabajos, clústeres y consultas dentro de un espacio de trabajo: + +| Objeto | Permiso | +|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Job | [CAN VIEW][20] +| Compute | [CAN ATTACH TO][21] +| Lakeflow Declarative Pipelines | [CAN VIEW][22] +| Query | [CAN VIEW][23] +| SQL warehouse | [CAN MONITOR][24] + +Adicionalmente, para que Datadog acceda a sus datos de Cloud Cost de Databricks en Data Observability: Jobs Monitoring o [Cloud Cost Management][26], el usuario o principal de servicio utilizado para consultar [system tables][27] debe tener los siguientes permisos: + - `CAN USE` permiso en el Almacén SQL. + Acceso de lectura a las [system tables][27] dentro de Unity Catalog. Esto se puede otorgar con: + ```sql + GRANT USE CATALOG ON CATALOG system TO ; + GRANT SELECT ON CATALOG system TO ; + GRANT USE SCHEMA ON CATALOG system TO ; + ``` + El usuario que otorga estos permisos debe tener el privilegio `MANAGE` sobre `CATALOG system`. + + +### Etiquetado de tramos en tiempo de ejecución {#tag-spans-at-runtime} + +{{% djm-runtime-tagging %}} + +### Agregación de métricas de clúster para ejecuciones de trabajos únicos {#aggregate-cluster-metrics-from-one-time-job-runs} + Esta configuración es aplicable si desea datos de utilización de recursos del clúster sobre sus trabajos y crear un nuevo trabajo y clúster para cada ejecución a través del [one-time run API endpoint][8] (común al usar herramientas de orquestación fuera de Databricks, como Airflow o Azure Data Factory). + + Si está enviando trabajos de Databricks a través del [one-time run API endpoint][8], 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 para trabajos que utilizan clústeres efímeros. Para agregar la utilización del clúster del mismo trabajo y evaluar el rendimiento a través de múltiples ejecuciones, debe establecer la variable `DD_JOB_NAME` dentro del `spark_env_vars` de cada `new_cluster` al mismo valor que el `run_name` de su carga útil de solicitud. + + Aquí hay un ejemplo de un cuerpo de solicitud de ejecución de trabajo único: + + {{< highlight json "hl_lines=2 18" >}} + { + "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" + } + } + } + ] + } + {{< /highlight >}} + +### Configurar Data Observability: Jobs Monitoring con Databricks Networking Restrictions {#set-up-data-observability-jobs-monitoring-with-databricks-networking-restrictions} +Con [Databricks Networking Restrictions][12], Datadog puede no tener acceso a las APIs de Databricks, lo cual es necesario para recopilar trazas de las ejecuciones de trabajos de Databricks junto con etiquetas y otros metadatos. + +Si está controlando el acceso a la API de Databricks con [IP access lists][13], incluya en la lista de acceso la dirección específica de Datadog {{< region-param key="ip_ranges_url_webhooks" link="true" text="webhook IP addresses" >}} permite a Datadog conectarse a las APIs de Databricks en su espacio de trabajo. Consulte la documentación de Databricks para configurar listas de acceso IP para [espacios de trabajo individuales][16] para otorgar acceso a la API de Datadog. + +Para hacer seguimiento de espacios de trabajo que utilizan conectividad de [Databricks Private Link][14], consulte [Conectividad de Private Link (Vista Previa)][15]. + +[15]: /es/data_observability/jobs_monitoring/databricks/private_link + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/integrations/databricks?search=databricks +[4]: https://docs.databricks.com/en/security/secrets/index.html +[6]: https://app.datadoghq.com/data-jobs/ +[7]: /es/data_jobs +[8]: https://docs.databricks.com/api/workspace/jobs/submit +[9]: https://app.datadoghq.com/data-jobs/configuration +[12]: https://docs.databricks.com/en/security/network/front-end/index.html +[13]: https://docs.databricks.com/en/security/network/front-end/ip-access-list.html +[14]: https://www.databricks.com/trust/security-features/secure-your-data-with-private-networking +[16]: https://docs.databricks.com/en/security/network/front-end/ip-access-list-workspace +[18]: https://docs.databricks.com/api/workspace/clusters/edit#spark_env_vars +[19]: https://docs.databricks.com/aws/en/security/auth/access-control#access-control-lists-overview +[20]: https://docs.databricks.com/aws/en/security/auth/access-control#job-acls +[21]: https://docs.databricks.com/aws/en/security/auth/access-control#compute-acls +[22]: https://docs.databricks.com/aws/en/security/auth/access-control#lakeflow-declarative-pipelines-acls +[23]: https://docs.databricks.com/aws/en/security/auth/access-control#query-acls +[24]: https://docs.databricks.com/aws/en/security/auth/access-control#sql-warehouse-acls +[25]: https://docs.datadoghq.com/es/api/latest/authentication/?code-lang=curl#validate-api-key +[26]: https://docs.datadoghq.com/es/cloud_cost_management +[27]: https://docs.databricks.com/aws/en/admin/system-tables/ \ No newline at end of file diff --git a/content/es/data_security/data_retention_periods.md b/content/es/data_security/data_retention_periods.md index b6765b83fc3..bb93cde99c3 100644 --- a/content/es/data_security/data_retention_periods.md +++ b/content/es/data_security/data_retention_periods.md @@ -1,174 +1,261 @@ --- -title: Periodos de conservación de datos -disable_sidebar: true -type: data_retention_periods -aliases: - - /developers/faq/data-collection-resolution-retention/ - - /developers/guide/data-collection-resolution-retention -further_reading: - - link: /data_security/ - tag: Documentación - text: Revisar las principales categorías de datos enviados a Datadog algolia: - tags: [Conservación de datos] -filter_all: Todos -content: "La siguiente tabla enumera los periodos de conservación de datos por defecto por tipo de datos y producto. Opcionalmente, busca por palabra clave o texto descriptivo para encontrar el tipo de datos o producto que te interesa. Para obtener información sobre el intervalo de recopilación y la resolución mínima, consulta [Recopilación y resolución de datos de Datadog](/developers/guide/data-collection-resolution). ¿Aún necesitas ayuda? Ponte en contacto con el [soporte de Datadog](/help)." + tags: + - data retention +aliases: +- /es/developers/faq/data-collection-resolution-retention/ +- /es/developers/guide/data-collection-resolution-retention attributes: - - product: APM - data_type: | - - **Errores**: 15 días - - **Tramos indexados**: 15 o 30 días, determinado por el plan del cliente - - **Estadísticas de servicios/recursos**: 30 días - - **Trazas vistas**: conservadas durante la vigencia de la cuenta - - product: App and API Protection - data_type: | - - **Señales de seguridad**: 15 meses - - **Tramos**: 90 días - - product: Audit Trail - data_type: | - - **Logs de auditoría (Audit Trail activado)**: 90 días - - **Logs de auditoría (Audit Trail desactivado)**: 7 días - - product: Bits AI Dev Agent - data_type: | - - **Código fuente**: 7 días - - product: Navegador RUM - data_type: | - - **Eventos de sesión, vista, acción y error**: 30 días - - **Eventos de recursos, tareas largas y signos vitales**: 15 días - - product: Case Management - data_type: | - - **Casos**: retenidos mientras dure la cuenta - - product: CD Visibility - data_type: | - - **Despliegues**: 30 días - - product: CI Pipeline Visibility - data_type: | - - **Pipelines, etapas, trabajos, configuraciones, comandos**: 15 meses - - product: Cloud Cost Management - data_type: | - - **Recomendaciones**: 90 días - - product: Cloud Security - data_type: | - - **Averiguaciones y vulnerabilidades resueltas**: 15 meses - - product: Cloud SIEM - data_type: | - - **Señales**: 15 meses - - **Detecciones, notificaciones, supresiones**: conservadas mientras dure la cuenta - - product: Workload Protection - data_type: | - - **Eventos**: 90 días - - **Señales de seguridad**: 15 meses - - product: Pruebas de seguridad de aplicaciones estáticas (SAST) de Code Security - data_type: | - - **Escaneos**: 15 meses - - product: IAST de Code Security - data_type: | - - **Vulnerabilidades detectadas**: 15 meses - - product: Monitorización de contenedores y procesos - data_type: | - - **Metadatos del contenedor**: 2 horas - - **Procesos y contenedores activos**: 36 horas - - **Definiciones YAML**: 7 días - - product: Continuous Profiler - data_type: | - - **Perfiles individuales (no abiertos en la interfaz de usuario)**: 8 días - - **Perfiles individuales (abiertos en la interfaz al menos una vez)**: 1 año - - **Métricas de perfiles**: 90 días - - product: Continuous Testing - data_type: | - - **Resultados del lote**: 2 meses - - **Resultados de test**: 2 meses - - product: CoScreen - data_type: | - - **Sesiones**: 15 meses - - product: "Observabilidad de datos: monitorización de trabajos" - data_type: | - - **Trazas de trabajo**: 90 días - - product: Database Monitoring - data_type: | - - **Muestras de consulta**: 15 días - - **Métricas de consulta**: 15 meses - - product: Aplicación de Datadog - data_type: | - - **Dashboards, notebooks, monitores**: conservados mientras dure la cuenta - - product: Error Tracking - data_type: | - - **Muestras de errores**: 30 días - - **Problemas**: 1 año después de la última actividad - - product: Gestión de eventos - data_type: | - - **Eventos**: 15 meses - - product: Gestión de incidentes - data_type: | - - **Incidentes**: retenidos durante la vigencia de la cuenta - - product: LLM Observability - data_type: | - - **Trazas y tramos de producción**: 15 días - - **Experimentos de trazas y tramos**: 90 días - - **Conjuntos de datos**: 3 años - - product: Gestión de Logs - data_type: | - - **Logs**: determinado por el plan del cliente - - product: Métricas - data_type: | - - **Etiquetas y valores**: 15 meses - - product: Tests de aplicaciones móviles - data_type: | - - **Resultados de test (no se muestran en la interfaz de usuario)**: 2 meses - - **Resultados de test (mostrados en la interfaz de usuario)**: 15 meses - - **Binarios de aplicaciones móviles**: conservados mientras dure la cuenta - - product: RUM móvil - data_type: | - - **Eventos de sesión, vista, acción y error**: 30 días - - **Eventos de recursos, tareas largas y signos vitales**: 15 días - - product: Network Device Monitoring - data_type: | - - **NetFlow**: 30 días - - **Trampas de SNMP**: 15 días - - product: Monitorización de redes en la nube - data_type: | - - **Tráfico de red**: 14 días - - product: Ruta de red - data_type: | - - **Test de ruta de red**: 30 días - - product: Product Analytics - data_type: | - - **Eventos**: 15 meses - - **Perfiles de usuario**: 30 días - - product: Puertas de solicitudes pull - data_type: | - - **Evaluaciones de puertas**: 30 días - - product: Tablas de referencia - data_type: | - - **Tablas**: conservados durante la vigencia de la cuenta - - product: Catálogo de servicios - data_type: | - - **Metadatos de servicio**: conservados mientras dure la cuenta - - product: Objetivos de nivel de servicio (SLOs) - data_type: | - - **Resultados de SLO**: 15 meses - - product: Session Replay - data_type: | - - **Repetición de reproducción (la opción de extensión en la interfaz de usuario no está marcada)**: 30 días - - **Repetición de reproducción (la opción de extensión en la interfaz de usuario está marcada)**: 15 meses - - product: Software Composition Analysis (SCA) - data_type: | - - **Vulnerabilidades detectadas**: 15 meses - - product: Integración del código fuente - data_type: | - - **Código fuente**: 7 días - - product: Synthetics - data_type: | - - **Resultados de test (no se muestran en la interfaz de usuario)**: 2 meses - - **Resultados de test (mostrados en la interfaz de usuario)**: 15 meses - - product: Test Visibility y Intelligent Test Runner - data_type: | - - **Tests**: 3 meses - - product: Workflow Automation - data_type: | - - **Flujos de trabajo**: 30 días ---- +- data_type: '- **Errors**: 15 days + + - **Indexed spans**: 15 or 30 days, determined by customer plan + + - **Services/resources statistics**: 30 days + + - **Viewed traces**: Retained for the duration of the account + + ' + product: APM +- data_type: '- **Security signals**: 15 months + + - **Spans**: 90 days + + ' + product: App and API Protection +- data_type: '- **Audit logs (Audit Trail enabled)**: 90 days + + - **Audit logs (Audit Trail disabled)**: 7 days + + ' + product: Audit Trail +- data_type: '- **Messages**: 15 months + + ' + product: Bits AI Assistant +- data_type: '- **Source Code**: 7 days + + ' + product: Bits AI Dev Agent +- data_type: '- **Investigations**: Retained for the duration of the account + + ' + product: Bits AI SRE +- data_type: '- **Session, View, Action, and Error Events**: 30 days + + - **Resource, Long Task, and Vitals Events**: 15 Days + + ' + product: Browser RUM +- data_type: '- **Cases**: Retained for the duration of the account + + ' + product: Case Management +- data_type: '- **Deployments**: 30 days + + ' + product: CD Visibility +- data_type: '- **Pipelines, stages, jobs, setups, commands**: 15 months + + ' + product: CI Pipeline Visibility +- data_type: '- **Recommendations**: 90 days + + ' + product: Cloud Cost Management +- data_type: '- **Findings and resolved vulnerabilities**: 15 months + + ' + product: Cloud Security +- data_type: '- **Signals**: 15 months + + - **Detections, notifications, suppressions**: Retained for the duration of the + account + + ' + product: Cloud SIEM +- data_type: '- **Events**: 90 days + + - **Security signals**: 15 months + + ' + product: Workload Protection +- data_type: '- **Scans**: 15 months + + ' + product: Code Security SAST +- data_type: '- **Detected vulnerabilities**: 15 months + + ' + product: Code Security IAST +- data_type: '- **Container metadata**: 2 hours + + - **Live processes and containers**: 36 hours + + - **YAML definitions**: 7 days + + ' + product: Container and Process Monitoring +- data_type: '- **Individual profiles (not opened in the UI)**: 8 days + + - **Individual profiles (opened in the UI at least once)**: 1 year + + - **Profile metrics**: 90 days + + ' + product: Continuous Profiler +- data_type: '- **Batch results**: 2 months + + - **Test results**: 2 months + + ' + product: Continuous Testing +- data_type: '- **Sessions**: 15 months + + ' + product: CoScreen +- data_type: '- **Job traces**: 90 days -### Referencias adicionales + ' + product: 'Data Observability: Jobs Monitoring' +- data_type: '- **Query samples**: 15 days + + - **Query metrics**: 15 months + + ' + product: Database Monitoring +- data_type: '- **Dashboards, Notebooks, Monitors**: Retained for the duration of + the account + + ' + product: Datadog App +- data_type: '- **Deployments**: 2 years + + ' + product: DORA Metrics +- data_type: '- **Error samples**: 30 days + + - **Issues**: 1 year after last activity + + ' + product: Error Tracking +- data_type: '- **Events**: 15 months + + ' + product: Event Management +- data_type: '- **Incidents**: Retained for the duration of the account + + ' + product: Incident Management +- data_type: '- **Production Traces and spans**: 15 (default), 30, 60, or 90 days, + determined by customer plan + + - **Experiments Traces and spans**: 15 (default), 90, 180, 270, 365 days, determined + by customer plan + + - **Datasets**: 3 years + + ' + product: LLM Observability +- data_type: '- **Logs**: Determined by customer plan + + ' + product: Log Management +- data_type: '- **Tags and values**: 15 months + + ' + product: Metrics +- data_type: '- **Test results (not displayed in UI)**: 2 months + + - **Test results (displayed in UI)**: 15 months + + - **Mobile application binaries**: Retained for the duration of the account + + ' + product: Mobile App Testing +- data_type: '- **Session, View, Action, and Error Events**: 30 days + + - **Resource, Long Task, and Vitals Events**: 15 Days + + ' + product: Mobile RUM +- data_type: '- **NetFlow**: 15, 30, 60, or 90 days, determined by customer plan + + - **SNMP traps**: Determined by customer plan, default to 15 days + + ' + product: Network Device Monitoring +- data_type: '- **Network traffic**: 14 days + + ' + product: Cloud Network Monitoring +- data_type: '- **Network Path Tests**: 30 days + + ' + product: Network Path +- data_type: '- **Events**: 15 months + + - **User Profiles**: 15 months, or 30 days if Product + Analytics is not enabled + + ' + product: Product Analytics +- data_type: '- **Gate evaluations**: 30 days + + ' + product: PR Gates +- data_type: '- **Tables**: Retained for the duration of the account + + ' + product: Reference Tables +- data_type: '- **Service metadata**: Retained for the duration of the account + + ' + product: Service Catalog +- data_type: '- **SLO results**: 15 months + + ' + product: Service Level Objectives +- data_type: '- **Replays (extension option in UI is unchecked)**: 30 days + + - **Replays (extension option in UI is checked)**: 15 months + + ' + product: Session Replay +- data_type: '- **Detected vulnerabilities**: 15 months + + ' + product: Software Composition Analysis (SCA) +- data_type: '- **Source Code**: 7 days + + ' + product: Source Code Integration +- data_type: '- **Test results**: 15 months + + ' + product: Synthetics +- data_type: '- **Tests**: 3 months + + ' + product: Test Visibility & Intelligent Test Runner +- data_type: '- **Workflows**: 30 days + + ' + product: Workflow Automation +content: La siguiente tabla enumera los períodos de retención de datos predeterminados + por tipo de datos y producto. Opcionalmente, busque por palabra clave o texto descriptivo + para encontrar el tipo de datos o producto que le interesa. Para obtener información + sobre el intervalo de colección y la resolución mínima, consulte [Datadog Data Collection + and Resolution](/extend/guide/data-collection-resolution). ¿Aún necesita ayuda? + Contacte a [Datadog support](/help). +disable_sidebar: true +filter_all: All +further_reading: +- link: /data_security/ + tag: Documentación + text: Revise las principales categorías de datos enviados a Datadog +title: Períodos de retención de datos +type: data_retention_periods +--- +### Lectura adicional {#further-reading} -{{< partial name="whats-next/whats-next.html" >}} +{{< partial name="whats-next/whats-next.html" >}} \ No newline at end of file diff --git a/content/es/extend/custom_checks/write_agent_check.md b/content/es/extend/custom_checks/write_agent_check.md new file mode 100644 index 00000000000..1cfc73e3065 --- /dev/null +++ b/content/es/extend/custom_checks/write_agent_check.md @@ -0,0 +1,194 @@ +--- +aliases: +- /es/agent/faq/how-do-i-change-the-frequency-of-an-agent-check/ +- /es/agent/faq/agent-5-custom-agent-check/ +- /es/developers/write_agent_check/ +- /es/developers/custom_checks/write_agent_check/ +further_reading: +- link: /extend/ + tag: Documentación + text: Ampliando Datadog +title: Escribiendo una verificación de agente personalizada +--- +## Descripción general {#overview} + +Esta página le guía a través del proceso de construir un básico "¡Hola mundo!" verificación de agente personalizada. También le muestra cómo cambiar el intervalo mínimo de recolección para la verificación. + +## Configuración {#setup} + +### Instalación {#installation} + +Antes de crear una verificación de agente personalizada, instale el [Datadog Agent][1]. + +
Para trabajar con la última versión del Agent, su verificación de agente personalizada debe ser compatible con Python 3.
+ +### Configuración {#configuration} + +1. Cambie al directorio `conf.d` en su sistema. Para más información sobre dónde encontrar el directorio `conf.d`, consulte los [archivos de configuración del Agent][2]. +2. En el directorio `conf.d`, cree un nuevo archivo de configuración para su nueva verificación de agente. Asigne un nombre al archivo `custom_checkvalue.yaml`. +3. Edite el archivo para incluir lo siguiente: + {{< code-block lang="yaml" filename="conf.d/custom_checkvalue.yaml" >}} +init_config: +instances: + [{}] +{{< /code-block >}} +4. Cree un archivo de verificación en el directorio `checks.d`. Asigne un nombre al archivo `custom_checkvalue.py`. + +
+ Nombrando sus verificaciones: +
    +
  • Es una buena idea prefijar su verificación con custom_ para evitar conflictos con el nombre de una integración de Datadog Agent preexistente. Por ejemplo, si tiene una verificación personalizada de Postfix, nombre sus archivos de verificación custom_postfix.py y custom_postfix.yaml en lugar de postfix.py y postfix.yaml.
  • +
  • Los nombres de los archivos de configuración y verificación deben coincidir. Si su verificación se llama custom_checkvalue.py, su archivo de configuración debe llamarse custom_checkvalue.yaml.
  • +
+
+5. Edite el archivo para incluir lo siguiente: + {{< code-block lang="python" filename="checks.d/custom_checkvalue.py" >}} +from checks import AgentCheck +class HelloCheck(AgentCheck): + def check(self, instance): + self.gauge('hello.world', 1) +{{< /code-block >}} +6. [Reinicie el Agent][3] y espere a que aparezca una nueva métrica llamada `hello.world` en el [Resumen de Métricas][4]. + +Si tiene problemas para que su verificación personalizada funcione, verifique los permisos del archivo. El archivo de verificación debe ser legible y ejecutable por el usuario del Agent. Para más pasos de solución de problemas, consulte [Solucionar una verificación de agente][7]. + +### Actualizando el intervalo de recolección {#updating-the-collection-interval} + +Para cambiar el intervalo de recolección de su verificación, utilice la configuración `min_collection_interval` en su archivo `custom_checkvalue.yaml` y especifique un ajuste en segundos. El valor predeterminado es de 15 segundos. Debe agregar el `min_collection_interval` a nivel de instancia. Si su verificación personalizada está configurada para monitorear múltiples instancias, debe configurar el intervalo individualmente por instancia. + +Establecer el `min_collection_interval` en `30` no garantiza que la métrica se recoja cada 30 segundos. El recolector de Agente intenta ejecutar la verificación cada 30 segundos, pero la verificación puede terminar en cola detrás de otras integraciones y verificaciones, dependiendo de cuántas integraciones y verificaciones estén habilitadas en el mismo Agente. Si un método `check` tarda más de 30 segundos en completarse, el Agent nota que la verificación aún se está ejecutando y omite su ejecución hasta el siguiente intervalo. + +#### Establezca un intervalo de recolección {#set-a-collection-interval} + +Para una sola instancia, utilice esta configuración para establecer el intervalo de recolección en 30 segundos: + +{{< code-block lang="yaml" filename="conf.d/custom_checkvalue.yaml" >}} +init_config: + +instances: + - min_collection_interval: 30 +{{< /code-block >}} + +El ejemplo a continuación demuestra cómo cambiar el intervalo para una verificación personalizada hipotética que monitorea un servicio llamado `my_service` en dos servidores separados: + +{{< code-block lang="yaml" >}} +init_config: + +instances: + - host: "http://localhost/" + service: my_service + min_collection_interval: 30 + + - host: "http://my_server/" + service: my_service + min_collection_interval: 30 +{{< /code-block >}} + +### Verificando su verificación {#verifying-your-check} + +Para verificar que su verificación se está ejecutando, utilice el siguiente comando: + +{{< code-block lang="shell" >}} +sudo -u dd-agent -- datadog-agent check +{{< /code-block >}} + +Después de verificar que su verificación se está ejecutando, [reinicie el Agent][3] para incluir la verificación y comenzar a reportar datos. + +## Escribiendo verificaciones que ejecutan programas de línea de comandos {#writing-checks-that-run-command-line-programs} + +Es posible crear una verificación personalizada que ejecute un programa de línea de comandos y capture su salida como una métrica personalizada. Por ejemplo, una verificación puede ejecutar el comando `vgs` para reportar información sobre grupos de volúmenes. + +Debido a que el intérprete de Python que ejecuta las verificaciones está incrustado en el entorno de ejecución Go multihilo, no se admite el uso de los módulos `subprocess` o `multithreading` de la biblioteca estándar de Python. Para ejecutar un subproceso dentro de una verificación, utilice la función [`get_subprocess_output()`][5] del módulo `datadog_checks.base.utils.subprocess_output`. El comando y sus argumentos se pasan a `get_subprocess_output()` en forma de lista, con el comando y sus argumentos como una cadena dentro de la lista. + +Por ejemplo, un comando que se ingresa en el símbolo del sistema de esta manera: + +{{< code-block lang="shell" >}} +vgs -o vg_free +{{< /code-block >}} + +debe pasarse a `get_subprocess_output()` de esta manera: + +{{< code-block lang="python" >}} +out, err, retcode = get_subprocess_output(["vgs", "-o", "vg_free"], self.log, raise_on_empty_output=True) +{{< /code-block >}} + +Cuando ejecute el programa de línea de comandos, la verificación captura la misma salida que al ejecutarlo en la línea de comandos en el terminal. Realice el procesamiento de cadenas en la salida y llame a `int()` o `float()` en el resultado para devolver un tipo numérico. + +Si no realiza el procesamiento de cadenas en la salida del subproceso, o si no devuelve un entero o un flotante, la verificación parece ejecutarse sin errores pero no reporta ninguna métrica o evento. La verificación también falla en devolver métricas o eventos si el usuario del Agent no tiene los permisos correctos en los archivos o directorios referenciados en el comando, o los permisos correctos para ejecutar el comando pasado como argumento a `get_subprocess_output()`. + +Aquí hay un ejemplo de una verificación que devuelve los resultados de un programa de línea de comandos: + +{{< code-block lang="python" >}} +# ... +from datadog_checks.base.utils.subprocess_output import get_subprocess_output + +class LSCheck(AgentCheck): + def check(self, instance): + files, err, retcode = get_subprocess_output(["ls", "."], self.log, raise_on_empty_output=True) + file_count = len(files.split('\n')) - 1 #len() returns an int by default + self.gauge("file.count", file_count,tags=['TAG_KEY:TAG_VALUE'] + self.instance.get('tags', [])) +{{< /code-block >}} + +## Enviando datos desde un balanceador de carga {#sending-data-from-a-load-balancer} + +Un caso de uso común para escribir una verificación personalizada del Agent es enviar métricas de Datadog desde un balanceador de carga. Antes de comenzar, siga los pasos en [Configuración](#configuration). + +Para expandir los archivos para enviar datos desde su balanceador de carga: + +1. Reemplace el código en `custom_checkvalue.py` con lo siguiente (reemplazando el valor de `lburl` con la dirección de su balanceador de carga): + {{< code-block lang="python" filename="checks.d/custom_checkvalue.py" >}} +import urllib2 +import simplejson +from checks import AgentCheck + +class CheckValue(AgentCheck): + def check(self, instance): + lburl = instance['ipaddress'] + response = urllib2.urlopen("http://" + lburl + "/rest") + data = simplejson.load(response) + + self.gauge('coreapp.update.value', data["value"]) +{{< /code-block >}} + +1. Actualice el archivo `custom_checkvalue.yaml` (reemplazando `ipaddress` con la dirección IP de su balanceador de carga): + {{< code-block lang="yaml" filename="conf.d/custom_checkvalue.yaml" >}} +init_config: + +instances: + - ipaddress: 1.2.3.4 +{{< /code-block >}} + +1. [Reinicie su Agent][3]. Dentro de un minuto, deberá ver una nueva métrica aparecer en el [Resumen de Métricas][4] llamada `coreapp.update.value` que envía las métricas desde su balanceador de carga. +1. [Cree un tablero][6] para esta métrica. + +## Versionado del Agent {#agent-versioning} + +Utilice el siguiente bloque try/except para hacer que la verificación personalizada sea compatible con cualquier versión del Agent: + +{{< code-block lang="python" >}} +try: + # first, try to import the base class from new versions of the Agent + from datadog_checks.base import AgentCheck +except ImportError: + # if the above failed, the check is running in Agent version < 6.6.0 + from checks import AgentCheck + +# content of the special variable __version__ will be shown in the Agent status page +__version__ = "1.0.0" + +class HelloCheck(AgentCheck): + def check(self, instance): + self.gauge('hello.world', 1, tags=['TAG_KEY:TAG_VALUE'] + self.instance.get('tags', [])) +{{< /code-block >}} + +## Lectura Adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: http://app.datadoghq.com/account/settings/agent/latest +[2]: /es/agent/configuration/agent-configuration-files/#check-configuration-files +[3]: /es/agent/configuration/agent-commands/?tab=agentv6v7#restart-the-agent +[4]: https://app.datadoghq.com/metric/summary +[5]: https://github.com/DataDog/integrations-core/blob/9414403b361e583e8f1ebcdee2f006c384c61045/datadog_checks_base/datadog_checks/base/utils/subprocess_output.py#L22 +[6]: /es/dashboards/ +[7]: /es/agent/troubleshooting/agent_check_status/ \ No newline at end of file diff --git a/content/es/extend/integrations/agent_integration.md b/content/es/extend/integrations/agent_integration.md new file mode 100644 index 00000000000..bb868843990 --- /dev/null +++ b/content/es/extend/integrations/agent_integration.md @@ -0,0 +1,514 @@ +--- +aliases: +- /es/developers/integrations/integration_sdk/ +- /es/developers/integrations/testing/ +- /es/integrations/datadog_checks_dev/ +- /es/guides/new_integration/ +- /es/developers/integrations/new_check_howto/ +- /es/developers/integrations/agent_integration/ +description: Aprenda a desarrollar y publicar una integración de Datadog Agent. +further_reading: +- link: /extend/integrations/ + tag: Documentación + text: Cree una integración. +- link: /extend/integrations/python/ + tag: Documentación + text: Python para el desarrollo de integraciones basadas en Agent. +- link: /extend/ + tag: Documentación + text: Aprenda a desarrollar en la plataforma de Datadog. +- link: https://learn.datadoghq.com/courses/intro-to-integrations + tag: Centro de Aprendizaje + text: Cree una integración de Agent. +title: Cree una integración basada en Agent. +--- +## Descripción general {#overview} + +Esta página guía a los Socios Tecnológicos a través del proceso de creación de una integración oficial de Datadog Agent. + +Las integraciones basadas en Agent están diseñadas para recopilar telemetría de software o sistemas que se ejecutan en infraestructura gestionada por el cliente, donde el Datadog Agent está instalado o tiene acceso a la red. Estas integraciones utilizan el [Datadog Agent][1] para recopilar y enviar datos a través de verificaciones personalizadas de agente desarrolladas por Socios Tecnológicos aprobados. + +Las verificaciones de agente pueden emitir [métricas][2], [eventos][3] y [registros][5] en la cuenta de Datadog de un cliente. Cada integración basada en Agent se presenta como un paquete de Python construido sobre el Datadog Agent, permitiendo a los clientes [instalar][6]lo fácilmente a través del Datadog Agent. Sin embargo, las trazas se recopilan fuera de la verificación de agente utilizando uno de los SDK de Datadog. Para más información, consulte la [documentación de instrumentación de aplicaciones][25]. + +## Construyendo una integración basada en Agent {#building-an-agent-based-integration} +Antes de comenzar, asegúrese de haberse unido a la Datadog Partner Network, de tener acceso a una organización de desarrolladores de socios y de haber creado un listado en la Developer Platform. + +Siga estos pasos para crear su integración basada en Agent: + +1. [Instale las herramientas de desarrollo requeridas](#prerequisites) +2. [Configure la herramienta de desarrollo de integración del Datadog Agent](#configure-the-datadog-agent-integration-developer-tool) +3. [Genere la estructura básica de su integración](#generate-your-scaffolding) +4. [Desarrolle su verificación de agente](#develop-your-agent-check) +5. [Pruebe su integración](#test-your-agent-check) +6. [Envíe su código para revisión](#submit-your-code-for-review) + +### Requisitos previos {#prerequisites} + +Asegúrese de que las siguientes herramientas estén instaladas: + +- [pipx][9] para instalar herramientas de desarrollo y dependencias +- [Herramienta de Desarrollo de Integración del Datadog Agent][10] (`ddev`) para generar la estructura básica y gestionar el desarrollo de la integración +- [Docker][11] para ejecutar el conjunto completo de pruebas +- Git ([línea de comandos][12] o [cliente de GitHub Desktop][13]) + +### Configure la herramienta de desarrollo de integración del Datadog Agent {#configure-the-datadog-agent-integration-developer-tool} +Utilice la herramienta de desarrollo del Datadog Agent para construir y probar su integración. Los pasos de configuración difieren dependiendo de si está desarrollando una [integración OOTB o una integración de Marketplace][23]. Seleccione la pestaña apropiada a continuación. + +{{< tabs >}} + +{{% tab "Integración OOTB" %}} + +1. Cree un directorio de trabajo. La herramienta de desarrollo espera que su trabajo esté ubicado en `$HOME/dd/`: + + ```shell + mkdir $HOME/dd && cd $HOME/dd + ``` + +2. Realice un fork del [repositorio Datadog/integrations-extras][101] en su cuenta de GitHub. + +3. Clone su fork en el directorio `dd`: + + ```shell + git clone git@github.com:/integrations-extras.git + ``` + +4. Cree y cambie a una nueva rama para su integración: + + ```shell + cd integrations-extras + git switch -c origin/master + ``` + +5. Establezca `extras` como el repositorio de trabajo predeterminado: + + ```shell + ddev config set repo extras + ``` + + Si su repositorio está almacenado fuera de `$HOME/dd/`, especifique la ruta antes de establecerlo como predeterminado: + + ```shell + ddev config set repos.extras "/path/to/integrations-extras" + ddev config set repo extras + ``` + +[101]: https://github.com/Datadog/integrations-extras + +{{% /tab %}} + +{{% tab "Integración de Marketplace" %}} + +1. Cree un directorio de trabajo. La herramienta de desarrollo espera que su trabajo esté ubicado en `$HOME/dd/`: + + ```shell + mkdir $HOME/dd && cd $HOME/dd + ``` + +2. Clone el repositorio [Datadog/marketplace][101]. Si no tiene acceso, solicítelo a su contacto de Datadog. + + ```shell + git clone git@github.com:DataDog/marketplace.git + ``` + +3. Cree y cambie a una nueva rama para su integración: + + ```shell + cd marketplace + git switch -c origin/master + ``` + +4. Establezca `marketplace` como el repositorio de trabajo predeterminado: + + ```shell + ddev config set repo marketplace + ``` + + Si su repositorio está almacenado fuera de `$HOME/dd/`, especifique la ruta antes de establecerlo como predeterminado: + + ```shell + ddev config set repos.marketplace "/path/to/marketplace" + ddev config set repo marketplace + ``` + +[101]: https://github.com/DataDog/marketplace + +{{% /tab %}} + +{{< /tabs >}} + +### Genere su estructura básica {#generate-your-scaffolding} + +Utilice el comando `ddev create` para generar la estructura inicial de archivos y directorios para su integración basada en Agent. + +
Consulte la pestaña Método de Configuración en la Developer Platform para el comando correcto para su integración.
+ +1. **Realice una prueba en seco (recomendado)** + + Utilice la opción `-n` o `--dry-run` para previsualizar los archivos que se generan, sin escribir nada en el disco. Confirme que la ruta de salida coincide con la ubicación esperada del repositorio. + + ```shell + ddev create -nt check_only --skip-manifest + ``` + +2. **Genere los archivos** + + Después de verificar la ubicación del directorio, ejecute el mismo comando sin el `-n` para crear la estructura básica. Siga las indicaciones para proporcionar los detalles de la integración. + + ```shell + ddev create -t check_only --skip-manifest + ``` + +### Desarrolle su verificación de agente {#develop-your-agent-check} + +Cada integración basada en Agent se centra en una verificación de agente, una clase de Python que recopila telemetría periódicamente y la envía a Datadog. + +Las verificaciones de agente [checks][16] heredan de la clase base `AgentCheck` y deben cumplir con los siguientes requisitos: + +- **Compatibilidad con Python**: + - Las integraciones para Datadog Agent v7+ deben soportar Python 3. Todas las nuevas integraciones deben estar orientadas a v7+. + - Las integraciones para Datadog Agent v5-v6 utilizan Python 2.7. +- **Herencia de clase**: Cada verificación debe ser una subclase de `AgentCheck`. +- **Punto de entrada**: Cada verificación debe implementar un método `check(self, instance)`. +- **Estructura del paquete**: Las verificaciones están organizadas bajo el espacio de nombres `datadog_checks`. Por ejemplo, una integración llamada `` se encuentra en: `/datadog_checks//`. +- **Nomenclatura**: + - El nombre del paquete debe coincidir con el nombre de la verificación. + - Los nombres de módulo y clase de Python dentro del paquete pueden ser elegidos libremente. + +#### Implementar la lógica de verificación {#implement-check-logic} + +El siguiente ejemplo muestra la lógica para una integración llamada `Awesome`. + +Esta verificación define una [verificación de servicio][4] llamada `awesome.search`, que busca una cadena específica en una página web: +- Devuelve `OK` si se encuentra la cadena. +- Devuelve `WARNING` si la página se carga pero falta la cadena. +- Devuelve `CRITICAL` si no se puede acceder a la página. + +Para aprender cómo enviar datos adicionales desde tu verificación, consulta: + +- [Custom Agent Check][17] para enviar métricas. +- [Agent Integration Log Collection][5] para recopilar registros de su AgentCheck usando `send_log`. Mejor para la emisión de registros de una sola fuente. +- [HTTP Crawler Tutorial][24] para recopilar registros de múltiples fuentes de registro, como cuando se consultan varios puntos de conexión o APIs HTTP externas. + +El archivo `awesome/datadog_checks/awesome/check.py` podría verse así: + +{{< code-block lang="python" filename="check.py" collapsible="true" >}} + +import requests +import time + +from datadog_checks.base import AgentCheck, ConfigurationError + + +class AwesomeCheck(AgentCheck): + """AwesomeCheck derives from AgentCheck, and provides the required check method.""" + + def check(self, instance): + url = instance.get('url') + search_string = instance.get('search_string') + + # It's a very good idea to do some basic sanity checking. + # Try to be as specific as possible with the exceptions. + if not url or not search_string: + raise ConfigurationError('Configuration error, please fix awesome.yaml') + + try: + response = requests.get(url) + response.raise_for_status() + # Something went horribly wrong + except Exception as e: + # Ideally we'd use a more specific message... + self.service_check('awesome.search', self.CRITICAL, message=str(e)) + # Submit an error log + self.send_log({ + 'message': f'Failed to access {url}: {str(e)}', + 'timestamp': time.time(), + 'status': 'error', + 'service': 'awesome', + 'url': url + }) + # Page is accessible + else: + # search_string is present + if search_string in response.text: + self.service_check('awesome.search', self.OK) + # Submit an info log + self.send_log({ + 'message': f'Successfully found "{search_string}" at {url}', + 'timestamp': time.time(), + 'status': 'info', + 'service': 'awesome', + 'url': url, + 'search_string': search_string + }) + # search_string was not found + else: + self.service_check('awesome.search', self.WARNING) + # Submit a warning log + self.send_log({ + 'message': f'String "{search_string}" not found at {url}', + 'timestamp': time.time(), + 'status': 'warning', + 'service': 'awesome', + 'url': url, + 'search_string': search_string + }) +{{< /code-block >}} + +Para aprender más sobre la clase base de Python, consulte [Anatomy of a Python Check][18]. + +### Escriba pruebas de validación {#write-validation-tests} + +Hay dos tipos de pruebas: + +- [Pruebas unitarias para funcionalidades específicas](#write-a-unit-test) +- [Pruebas de integración que ejecutan el método `check` y verifican la correcta recopilación de métricas](#write-an-integration-test) + +[pytest][19] y [hatch][20] se utilizan para ejecutar las pruebas. Las pruebas son necesarias para publicar su integración. + +#### Escriba una prueba unitaria {#write-a-unit-test} + +La primera parte del método `check` para Awesome recupera y verifica dos elementos del archivo de configuración. Este es un buen candidato para una prueba unitaria. + +Abra el archivo en `awesome/tests/test_awesome.py` y reemplace el contenido con lo siguiente: + +{{< code-block lang="python" filename="test_awesome.py" collapsible="true" >}} +import pytest + + # Don't forget to import your integration + +from datadog_checks.awesome import AwesomeCheck +from datadog_checks.base import ConfigurationError + + +@pytest.mark.unit +def test_config(): + instance = {} + c = AwesomeCheck('awesome', {}, [instance]) + + # empty instance + with pytest.raises(ConfigurationError): + c.check(instance) + + # only the url + with pytest.raises(ConfigurationError): + c.check({'url': 'http://foobar'}) + + # only the search string + with pytest.raises(ConfigurationError): + c.check({'search_string': 'foo'}) + + # this should not fail + c.check({'url': 'http://foobar', 'search_string': 'foo'}) +{{< /code-block >}} + +`pytest` tiene el concepto de marcadores que se pueden usar para agrupar pruebas en categorías. Observe que `test_config` está marcado como una prueba `unit`. + +La estructura está configurada para ejecutar todas las pruebas ubicadas en `awesome/tests`. Para ejecutar las pruebas, ejecute el siguiente comando: + +``` +ddev test awesome +``` + +#### Escriba una prueba de integración {#write-an-integration-test} + +La [prueba unitaria anterior](#write-a-unit-test) no verifica la lógica de recopilación. Para probar la lógica, necesita [crear un entorno para una prueba de integración](#create-an-environment-for-the-integration-test) y [escribir una prueba de integración](#add-an-integration-test). + +##### Cree un entorno para la prueba de integración {#create-an-environment-for-the-integration-test} + +El kit de herramientas utiliza `docker` para iniciar un contenedor NGINX y permite que la verificación recupere la página de bienvenida. + +Para crear un entorno para la prueba de integración, Cree un archivo docker-compose en `awesome/tests/docker-compose.yml` con el siguiente contenido: + +{{< code-block lang="yaml" filename="docker-compose.yml" collapsible="true" >}} +version: "3" + +services: + nginx: + image: nginx:stable-alpine + ports: + - "8000:80" + +{{< /code-block >}} + +A continuación, Abra el archivo en `awesome/tests/conftest.py` y reemplace el contenido con lo siguiente: + +{{< code-block lang="python" filename="conftest.py" collapsible="true" >}} +import os + +import pytest + +from datadog_checks.dev import docker_run, get_docker_hostname, get_here + +URL = 'http://{}:8000'.format(get_docker_hostname()) +SEARCH_STRING = 'Thank you for using nginx.' +INSTANCE = {'url': URL, 'search_string': SEARCH_STRING} + + +@pytest.fixture(scope='session') +def dd_environment(): + compose_file = os.path.join(get_here(), 'docker-compose.yml') + + # This does 3 things: + # + # 1. Spins up the services defined in the compose file + # 2. Waits for the url to be available before running the tests + # 3. Tears down the services when the tests are finished + with docker_run(compose_file, endpoints=[URL]): + yield INSTANCE + + +@pytest.fixture +def instance(): + return INSTANCE.copy() +{{< /code-block >}} + +#### Agregue una prueba de integración {#add-an-integration-test} + +Después de haber configurado un entorno para la prueba de integración, agregue una prueba de integración al archivo `awesome/tests/test_awesome.py`: + +{{< code-block lang="python" filename="test_awesome.py" collapsible="true" >}} +@pytest.mark.integration +@pytest.mark.usefixtures('dd_environment') +def test_service_check(aggregator, instance): + c = AwesomeCheck('awesome', {}, [instance]) + + # the check should send OK + c.check(instance) + aggregator.assert_service_check('awesome.search', AwesomeCheck.OK) + + # the check should send WARNING + instance['search_string'] = 'Apache' + c.check(instance) + aggregator.assert_service_check('awesome.search', AwesomeCheck.WARNING) +{{< /code-block >}} + +Para acelerar el desarrollo, utilice la opción `-m/--marker` para ejecutar solo pruebas de integración: + ``` + ddev test -m integration awesome + ``` + +## Pruebe su verificación de agente {#test-your-agent-check} + +Las integraciones basadas en agentes se distribuyen como archivos de rueda de Python (.whl) que los clientes instalan a través del Agente de Datadog. Antes de publicar su integración, puede probarla localmente construyéndola e instalando manualmente el paquete de rueda. + +### Construya la rueda {#build-the-wheel} + +El `pyproject.toml` archivo proporciona los metadatos que se utilizan para empaquetar y construir la rueda. La rueda contiene los archivos necesarios para el funcionamiento de la integración en sí, que incluye la verificación del agente, el archivo de ejemplo de configuración y los artefactos generados durante la construcción de la rueda. + +Para aprender más sobre el empaquetado de Python, consulta [Empaquetando Proyectos de Python][21]. + +Después de que su `pyproject.toml` esté listo, Cree una rueda utilizando una de las siguientes opciones: + +- (Recomendado) Con el `ddev` tooling: `ddev release build `. +- Sin el `ddev` tooling: `cd && pip wheel . --no-deps --wheel-dir dist`. + +### Instale la rueda {#install-the-wheel} + +La rueda se instala utilizando el comando del Agent `integration`, disponible en [Agent v6.10.0 o posterior][1]. Dependiendo de su entorno, es posible que necesite ejecutar este comando como un usuario específico o con privilegios específicos: + +**Linux** (como `dd-agent`): + +```bash +sudo -u dd-agent datadog-agent integration install -w /path/to/wheel.whl +``` + +**OSX** (como administrador): + +```bash +sudo datadog-agent integration install -w /path/to/wheel.whl +``` + +**Windows PowerShell** (Asegúrese de que su sesión de shell tenga privilegios de _administrador_): + +{{% collapse-content title="Agent v6.11 o anterior" level="h4" expanded=false %}} + +```ps +& "C:\Program Files\Datadog\Datadog Agent\embedded\agent.exe" integration install -w /path/to/wheel.whl +``` + +{{% /collapse-content %}} + +{{% collapse-content title="Agent v6.12 o posterior" level="h4" expanded=true %}} + +```ps +& "C:\Program Files\Datadog\Datadog Agent\bin\agent.exe" integration install -w /path/to/wheel.whl +``` + +{{% /collapse-content %}} + +Para instalar su rueda para probar en entornos de Kubernetes: +1. Monte el `.whl` archivo en un initContainer. +2. Ejecute la instalación de la rueda en el initContainer. +3. Monte el initContainer en el contenedor del Agent mientras se está ejecutando. + +Para los comandos de instalación del cliente tanto para entornos de host como de contenedor, consulta la [documentación de Integraciones de Comunidad y Marketplace][22]. + +## Envíe su código para revisión {#submit-your-code-for-review} + +Abra una solicitud de extracción con su directorio de integración en el repositorio apropiado, ya sea [Datadog/integrations-extras][14] o [Datadog/marketplace][15]. La solicitud de extracción se revisa en paralelo con su envío a Developer Platform. + +## Actualizando su integración {#updating-your-integration} + +Después de que su integración se publique, puede liberar actualizaciones a través de Developer Platform. + +### Aumentando la versión de una integración {#bumping-an-integration-version} +Se requiere un aumento de versión cada vez que se agregue, se elimine o se modifique alguna funcionalidad (por ejemplo, al introducir nuevas métricas, actualizar tableros o cambiar el código de integración). No es necesario para actualizaciones no funcionales, como cambios en el contenido escrito, la marca, los logotipos o las imágenes. + +En Developer Platform, incluya una nueva entrada en la pestaña **Release Notes** siguiendo este formato: + + +``` +## Version Number / Date (YYYY-MM-DD) + +***Added***: + +* Description of new feature +* Description of new feature + +***Fixed***: + +* Description of fix +* Description of fix + +***Changed***: + +* Description of update or improvement +* Description of update or improvement + +***Removed***: + +* Description of removed feature +* Description of removed feature +``` + +Asegúrese de actualizar todas las referencias al número de versión en la documentación de la integración y las instrucciones de instalación. + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://docs.datadoghq.com/es/agent/ +[2]: https://docs.datadoghq.com/es/metrics/ +[3]: https://docs.datadoghq.com/es/service_management/events/ +[4]: /es/extend/service_checks/ +[5]: https://docs.datadoghq.com/es/logs/log_collection/agent_checks/ +[6]: https://docs.datadoghq.com/es/agent/guide/integration-management/?tab=linux#install +[7]: /es/extend/integrations/?tab=integrations#join-the-datadog-partner-network +[8]: /es/extend/integrations/build_integration/#create-a-listing +[9]: https://github.com/pypa/pipx +[10]: /es/extend/integrations/python/ +[11]: https://docs.docker.com/get-docker/ +[12]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git +[13]: https://desktop.github.com/ +[14]: https://github.com/Datadog/integrations-extras +[15]: https://github.com/DataDog/marketplace +[16]: https://docs.datadoghq.com/es/glossary/#check +[17]: /es/metrics/custom_metrics/agent_metrics_submission/?tab=count +[18]: https://github.com/DataDog/datadog-agent/blob/6.2.x/docs/dev/checks/python/check_api.md +[19]: https://docs.pytest.org/en/latest +[20]: https://github.com/pypa/hatch +[21]: https://packaging.python.org/en/latest/tutorials/packaging-projects/ +[22]: https://docs.datadoghq.com/es/agent/guide/use-community-integrations/ +[23]: /es/extend/integrations/?tab=integrations#out-of-the-box-integrations-vs-marketplace-offerings +[24]: https://datadoghq.dev/integrations-core/tutorials/logs/http-crawler/ +[25]: /es/tracing/trace_collection/ \ No newline at end of file diff --git a/content/es/getting_started/feature_flags/_index.md b/content/es/getting_started/feature_flags/_index.md index c539ef6a508..687cd75c50a 100644 --- a/content/es/getting_started/feature_flags/_index.md +++ b/content/es/getting_started/feature_flags/_index.md @@ -1,51 +1,85 @@ --- -description: Gestiona la entrega de funciones con capacidad de observación integrada, - métricas en tiempo real y lanzamientos graduales compatibles con OpenFeature. +description: Administra la entrega de funciones con observabilidad integrada, métricas + en tiempo real y implementaciones graduales compatibles con OpenFeature. further_reading: -- link: https://openfeature.dev/docs/reference/technologies/client/web/ - tag: Sitio externo - text: Documentación del kit de desarrollo de software (SDK) de OpenFeature Web +- link: /feature_flags/client/ + tag: Documentación + text: SDKs del lado del cliente +- link: /feature_flags/server/ + tag: Documentación + text: SDKs del lado del servidor - link: https://www.datadoghq.com/blog/feature-flags/ tag: Blog - text: Envía funciones de forma más rápida y segura con Datadog Feature Flags + text: Envía funciones más rápido y de manera más segura con Feature Flags de Datadog +- link: https://www.datadoghq.com/blog/experimental-data-datadog/ + tag: Blog + text: Cómo equilibrar velocidad y calidad en experimentos a través de datos unificados +- link: https://www.datadoghq.com/blog/datadog-feature-flags-cloud-resilience/ + tag: Blog + text: Cómo Datadog Feature Flags es resiliente a fallas de proveedores de la nube +- link: https://www.datadoghq.com/blog/guardrail-metrics + tag: Blog + text: Utilice métricas de guardrail y deje de microgestionar sus lanzamientos site_support_id: getting_started_feature_flags -title: Empezando con los Feature Flags +title: Introducción a Feature Flags --- +## Descripción general {#overview} + +Las Feature Flags de Datadog ofrecen una forma poderosa e integrada de gestionar la entrega de funciones, con observabilidad incorporada e integración fluida en toda la plataforma. -{{< callout url="http://datadoghq.com/product-preview/feature-flags/" >}} -Feature Flags está en vista previa. Completa el formulario para solicitar acceso. -{{< /callout >}} +- **Métricas en tiempo real:** Comprenda quién está recibiendo cada variante, así como cómo su Feature Flag impacta la salud y el rendimiento de su aplicación, todo en tiempo real. -## Información general +- **Soporta cualquier tipo de dato:** Utilice booleanos, cadenas, números u objetos JSON completos, lo que su caso de uso requiera. -Los marcadores de funciones de Datadog ofrecen una forma potente e integrada de gestionar la entrega de funciones, con capacidad de observación incorporada y una integración perfecta en toda la plataforma. +- **Construido para la experimentación:** Dirija audiencias específicas para pruebas A/B, despliegue funciones gradualmente con lanzamientos canarios y retroceda automáticamente cuando se detecten regresiones. -* **Métricas en tiempo real:** Conoce quién recibe cada variante y la manera en que tu marcador afecta al estado y al rendimiento de tu aplicación, todo en tiempo real. +- **Compatible con OpenFeature:** Construido sobre el estándar OpenFeature, asegurando la compatibilidad con implementaciones existentes de OpenFeature y proporcionando un enfoque neutral respecto a proveedores para la gestión de Feature Flags. -* **Admite cualquier tipo de datos:** Utiliza booleanos, cadenas, números u objetos completos de JSON, el que necesite tu uso en case (incidencia). +## Feature Flags SDKs {#feature-flags-sdks} -* **Creado para la experimentación:** Dirígete a audiencias específicas para tests A/B, lanza funciones gradualmente con versiones canarias y retrocede automáticamente cuando se detecten regresiones. +Esta guía utiliza el SDK de navegador de JavaScript como ejemplo. Puede integrar Feature Flags de Datadog en cualquier aplicación utilizando uno de los siguientes SDKs: -* **Compatible con OpenFeature:** Se basa en la norma de OpenFeature, lo que garantiza la compatibilidad con las implementaciones existentes de OpenFeature y proporciona un enfoque independiente del proveedor para la gestión de marcadores de funciones. +### SDKs del lado del cliente {#client-side-sdks} -## Configura tus entornos +{{< card-grid card_width="200px" >}} + {{< image-card href="/feature_flags/client/android/" src="integrations_logos/android_large.svg" alt="Android" >}} + {{< image-card href="/feature_flags/client/android/" src="integrations_logos/android_tv_large.svg" alt="Android TV" >}} + {{< image-card href="/feature_flags/client/angular/" src="integrations_logos/angular_large.svg" alt="Angular" >}} + {{< image-card href="/feature_flags/client/ios/" src="integrations_logos/ios_large.svg" alt="iOS" >}} + {{< image-card href="/feature_flags/client/javascript/" src="integrations_logos/javascript_large.svg" alt="JavaScript" >}} + {{< image-card href="/feature_flags/client/react/" src="integrations_logos/react_large.svg" alt="React" >}} + {{< image-card href="/feature_flags/client/reactnative/" src="integrations_logos/react-native_large.svg" alt="React Native" >}} + {{< image-card href="/feature_flags/client/ios/" src="integrations_logos/tv_os_large.svg" alt="tvOS" >}} + {{< image-card href="/feature_flags/client/unity/" src="integrations_logos/rum-unity_large.svg" alt="Unity" >}} +{{< /card-grid >}} -Es probable que tu organización ya disponga de entornos preconfigurados para Desarrollo, Escenificación y Producción. Si necesitas configurar estos u otros entornos, ve a la page (página) [**Entornos**][3] para crear consultas de etiquetas para cada entorno. También puedes identificar qué entorno debe considerarse como entorno de Producción. +### SDKs del lado del servidor {#server-side-sdks} -{{< img src="getting_started/feature_flags/environments-list.png" alt="Lista de entornos" style="width:100%;" >}} +{{< card-grid card_width="200px" >}} + {{< image-card href="/feature_flags/server/dotnet/" src="integrations_logos/dotnet_text.png" alt=".NET" >}} + {{< image-card href="/feature_flags/server/go/" src="integrations_logos/go-metro.png" alt="Go" >}} + {{< image-card href="/feature_flags/server/java/" src="integrations_logos/java.png" alt="Java" >}} + {{< image-card href="/feature_flags/server/nodejs/" src="integrations_logos/nodejs.png" alt="Node.js" >}} + {{< image-card href="/feature_flags/server/php/" src="integrations_logos/php.png" alt="PHP" >}} + {{< image-card href="/feature_flags/server/python/" src="integrations_logos/python.png" alt="Python" >}} + {{< image-card href="/feature_flags/server/ruby/" src="integrations_logos/ruby.png" alt="Ruby" >}} +{{< /card-grid >}} -## Crea tu primer marcador de funciones +## Configure sus entornos {#configure-your-environments} -### Step (UI) / paso (generic) 1: Importar e inicializar el kit de desarrollo de software (SDK) +Su organización probablemente ya tiene entornos preconfigurados para Desarrollo, Staging y Producción. Para detalles sobre consultas de entornos, marcado de producción y gestión de entornos, consulte [Entornos][4]. -En primer lugar, instala `@datadog/openfeature-browser`, `@openfeature/web-sdk`, y `@openfeature/core` como dependencias en tu project (proyecto): +## Cree su primer Feature Flag {#create-your-first-feature-flag} +### Paso 1: Importe e inicialice el SDK {#step-1-import-and-initialize-the-sdk} + +Primero, instale `@datadog/openfeature-browser`, `@openfeature/web-sdk` y `@openfeature/core` como dependencias en su proyecto: ``` -yarn add @datadog/openfeature-browser@preview @openfeature/web-sdk @openfeature/core +yarn add @datadog/openfeature-browser @openfeature/web-sdk @openfeature/core ``` -A continuación, añade lo siguiente a tu project (proyecto) para inicializar el kit de desarrollo de software (SDK): +Luego, agregue lo siguiente a su proyecto para inicializar el SDK: ```js import { DatadogProvider } from '@datadog/openfeature-browser'; @@ -53,28 +87,40 @@ import { OpenFeature } from '@openfeature/web-sdk'; // Initialize the provider const provider = new DatadogProvider({ - clientToken: '', - applicationId: '', - enableExposureLogging: true, - site: 'datadoghq.com', - env: '', // Same environment normally passed to the RUM SDK - service: '', - version: '1.0.0', + clientToken: '', + applicationId: '', + enableExposureLogging: true, // Can impact RUM costs if enabled + site: 'datadoghq.com', + env: '', // Same environment normally passed to the RUM SDK + service: '', + version: '1.0.0' }); // Set the provider await OpenFeature.setProviderAndWait(provider); ``` -Puedes encontrar más información sobre las opciones de configuración del kit de desarrollo de software (SDK) de OpenFeature en tu [documentación][1]. Para obtener más información sobre la creación de tokens del cliente e identificadores de la aplicación, consulta [Claves de API y de aplicaciones][4]. +
Configuración enableExposureLogging a true puede impactar los costos de RUM, ya que envía eventos de exposición a Datadog a través de RUM. Puede desactivarlo si no necesita rastrear la exposición de funciones o el estado de las métricas de guardrail.
+ +Más información sobre las opciones de configuración del SDK de OpenFeature se puede encontrar en su [documentación][1]. Para más información sobre la creación de tokens de cliente e IDs de aplicación, consulte [API y Claves de Aplicación][3]. + +### Paso 2: Cree un Feature Flag {#step-2-create-a-feature-flag} + +Vaya a [{{< ui >}}Create Feature Flag{{< /ui >}}][2] en Datadog y configure lo siguiente: -### Ptep (UI) / paso (generic) 2: Crear un marcador de función +- **Name and key**: El nombre de visualización del Feature Flag y la clave referenciada en el código +- **Variant type** y **variant values**: Consulte [Variants and Flag Types][5] +- **Distribution channels**: Consulte [Distribution Channels][6] -Utiliza la [interfaz de usuario de creación de marcadores de funciones][2] para arrancar tu primer marcador de función. En forma predeterminada, el marcador está desactivado en todos los entornos. +
+ {{< ui >}}Flag keys{{< /ui >}}, {{< ui >}}variant keys{{< /ui >}} y {{< ui >}}variant values{{< /ui >}} deben considerarse públicos cuando se envían a los SDK de clientes. +
+ +{{< img src="getting_started/feature_flags/create-feature-flags.png" alt="Cree Feature Flag" style="width:100%;" >}} -### Step (UI) / paso (generic) 3: Evaluar el marcador y escribir el código de la función +### Paso 3: Evalúe el Feature Flag y escriba el código para implementar la nueva funcionalidad {#step-3-evaluate-the-flag-and-write-feature-code} -En el código de tu aplicación, utiliza el kit de desarrollo de software (SDK) para evaluar el marcador y la puerta de la nueva función. +En el código de su aplicación, utilice el SDK para evaluar el Feature Flag y habilitar la nueva funcionalidad. ```js import { OpenFeature } from '@openfeature/web-sdk'; @@ -84,10 +130,10 @@ const client = OpenFeature.getClient(); // If applicable, set relevant attributes on the client's global context // (e.g. org id, user email) await OpenFeature.setContext({ - org_id: 2, - user_id: 'user-123', - email: 'user@example.com', - targetingKey: 'user-123', + org_id: 2, + user_id: 'user-123', + email: 'user@example.com', + targetingKey: 'user-123' }); // This is what the SDK returns if the flag is disabled in @@ -96,45 +142,37 @@ const fallback = false; const showFeature = await client.getBooleanValue('show-new-feature', fallback); if (showFeature) { - // Feature code here + // Feature code here } ``` -Una vez que hayas finalizado este step (UI) / paso (generic), vuelve a desplegar la aplicación para recoger estos cambios. Puedes encontrar más ejemplos de uso en la [documentación][1] del kit de desarrollo de software (SDK). - -### Step (UI) / paso (generic) 4: Definir las reglas de selección y activar el marcador de función - -Ahora que la aplicación está lista para check el valor de su marcador, puedes empezar a añadir reglas de orientación. Las reglas de orientación te permiten definir dónde o a quién servir diferentes variantes de tu función. +Después de completar este paso, vuelva a implementar la aplicación para aplicar estos cambios. Ejemplos adicionales de uso se pueden encontrar en la [documentación][1] del SDK. -Ve a **Feature Flags**, selecciona tu marcador y busca la sección **Targeting Rules & Rollouts** (Reglas de oriengación y lanzamientos. Selecciona el entorno cuyas reglas deseas modificar y haz clic en **Edit Targeting Rules** (Editar reglas de orientación). +### Paso 4: Defina las reglas de segmentación y habilite el Feature Flag {#step-4-define-targeting-rules-and-enable-the-feature-flag} -{{< img src="getting_started/feature_flags/ff-targeting-rules-and-rollouts.png" alt="Reglas de orientación y lanzamientos" style="width:100%;" >}} - -### Ptep (UI) / paso (generic) 5: Publicar las normas en tus entornos - -Tras guardar los cambios en las reglas de orientación, publícalas activando tu marcador en el entorno que desees. +Configure las [reglas de segmentación][7] para definir qué sujetos reciben cada variante. Después de guardar sus reglas, habilite el Feature Flag en el entorno seleccionado.
-Como práctica general, los cambios deben implementarse en un entorno de pruebas antes de implementarlos en producción. +Como buena práctica general, implemente los cambios en un entorno de Staging antes de la Producción.
-En la sección **Reglas de orientación y lanzamientos**, cambia el entorno seleccionado a **Activado**. - -{{< img src="getting_started/feature_flags/publish-targeting-rules.png" alt="Publicar reglas de orientación" style="width:100%;" >}} - -El marcador sirve tus reglas de orientación en este entorno. Puedes seguir editando estas reglas de orientación para controlar dónde se sirven las variantes. +Consulte [Traffic Splitting and Randomization][8]. -### Step (UI) / paso (generic) 6: Monitorizar tu despliegue +### Paso 5: Monitoree su implementación {#step-5-monitor-your-rollout} -Monitoriza el despliegue de la función desde la page (página) de detalles del marcador de función, en que se proporciona un rastreo de la exposición en tiempo real y métricas como **la tasa de errores** y **el tiempo de carga de la page (página) **. A medida que vayas lanzando la función con el marcador, consulta el panel **Real-Time Metric Overview** (Información general de métricas en tiempo real) de la interfaz de usuario de Datadog para ver cómo afecta la función al rendimiento de la aplicación. +Monitoree el despliegue de la función desde la página de detalles del Feature Flag, que proporciona seguimiento de exposición en tiempo real y métricas como {{< ui >}}error rate{{< /ui >}} y {{< ui >}}page load time{{< /ui >}}. A medida que implemente de forma incremental la función con el Feature Flag, visualice el panel {{< ui >}}Real-Time Metric Overview{{< /ui >}} en la interfaz de usuario de Datadog para ver cómo la función impacta el rendimiento de la aplicación. -{{< img src="getting_started/feature_flags/real-time-flag-metrics.png" alt="Panel de métricas de marcadores en tiempo real" style="width:100%;" >}} +{{< img src="getting_started/feature_flags/real-time-flag-metrics.png" alt="Panel de métricas de Feature Flag en tiempo real" style="width:100%;" >}} -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: https://openfeature.dev/docs/reference/technologies/client/web/ [2]: https://app.datadoghq.com/feature-flags/create -[3]: https://app.datadoghq.com/feature-flags/environments -[4]: https://docs.datadoghq.com/es/account_management/api-app-keys/#client-tokens \ No newline at end of file +[3]: https://docs.datadoghq.com/es/account_management/api-app-keys/#client-tokens +[4]: /es/feature_flags/concepts/environments/ +[5]: /es/feature_flags/concepts/variants_and_flag_types/ +[6]: /es/feature_flags/concepts/distribution_channels/ +[7]: /es/feature_flags/concepts/targeting_rules/ +[8]: /es/feature_flags/concepts/traffic_splitting/ \ No newline at end of file diff --git a/content/es/getting_started/integrations/aws.md b/content/es/getting_started/integrations/aws.md index 5faffe89dd0..8c95f6b7a61 100644 --- a/content/es/getting_started/integrations/aws.md +++ b/content/es/getting_started/integrations/aws.md @@ -1,234 +1,237 @@ --- description: Integra tu cuenta de Amazon Web Services con Datadog utilizando CloudFormation. - Configura roles IAM, habilita integraciones de servicios y configura el reenvío - de logs. + Configura roles de IAM, habilita integraciones de servicios y configura el reenvío + de registros. further_reading: - link: https://www.datadoghq.com/blog/aws-monitoring/ tag: Blog - text: Métricas clave para la monitorización de AWS + text: Métricas clave para el seguimiento de AWS - link: https://www.datadoghq.com/blog/aws-1-click-integration/ tag: Blog - text: Introducción a nuestra integración en 1 clic de AWS + text: Presentamos nuestra integración de un clic con AWS - link: https://www.datadoghq.com/blog/deploying-datadog-with-cloudformation/ tag: Blog - text: Implementar y configurar Datadog con CloudFormation + text: Desplegando y configurando Datadog con CloudFormation - link: https://www.datadoghq.com/blog/monitoring-as-code-with-datadog-and-cloudformation/ tag: Blog - text: Implementar la monitorización en forma de código con Datadog y el registro - de CloudFormation + text: Implementa el seguimiento como código con Datadog y el Registro de CloudFormation - link: https://www.datadoghq.com/blog/datadog-serverless-view/ tag: Blog - text: Monitoriza todo tu stack serverless en la vista Serverless + text: Monitorea toda tu pila serverless en la vista Serverless - link: https://www.datadoghq.com/blog/monitor-aws-fargate/ tag: Blog - text: Monitoriza las aplicaciones de ECS en AWS Fargate con Datadog + text: Monitorea aplicaciones ECS en AWS Fargate con Datadog - link: https://www.datadoghq.com/blog/amazon-ecs-anywhere-monitoring/ tag: Blog - text: Monitoriza Amazon ECS en cualquier lugar con Datadog + text: Monitorea Amazon ECS Anywhere con Datadog - link: /integrations/guide/aws-cloudwatch-metric-streams-with-kinesis-data-firehose/?tab=cloudformation tag: Documentación - text: AWS CloudWatch Metric Streams con Amazon Data Firehose + text: Flujos de métricas de AWS CloudWatch con Amazon Data Firehose - link: https://www.datadoghq.com/blog/monitor-aws-graviton3-with-datadog/ tag: Blog - text: Monitoriza tus instancias EC2 impulsadas por Graviton3 con Datadog -title: Empezando con AWS + text: Monitorea tus instancias de EC2 impulsadas por Graviton3 con Datadog. +title: Introducción a AWS --- +## Resumen {#overview} + +Esta guía le muestra cómo integrar una cuenta de Amazon Web Services (AWS) con Datadog utilizando la plantilla de CloudFormation de Datadog. Después de completar la configuración, puede habilitar integraciones individuales de servicios de AWS, instalar el Datadog Agent en instancias de EC2 para obtener mayor visibilidad y configurar el reenvío de registros. + +## Requisitos previos {#prerequisites} + +Antes de comenzar, asegúrese de tener una cuenta de [AWS][7]. La plantilla de CloudFormation crea un rol de IAM y una política asociada, permitiendo que la cuenta de AWS de Datadog realice llamadas a la API a su cuenta de AWS para recopilar y enviar datos. Su usuario de AWS debe tener los siguientes permisos de IAM para ejecutar la plantilla: + +{{% collapse-content title="Permisos de IAM requeridos" level="h4" expanded=false id="iam-permissions" %}} +- cloudformation:CreateStack +- cloudformation:CreateUploadBucket +- cloudformation:DeleteStack +- cloudformation:DescribeStacks +- cloudformation:DescribeStackEvents +- cloudformation:GetStackPolicy +- cloudformation:GetTemplateSummary +- cloudformation:ListStacks +- cloudformation:ListStackResources +- ec2:DescribeSecurityGroups +- ec2:DescribeSubnets +- ec2:DescribeVpcs +- iam:AttachRolePolicy +- iam:CreatePolicy +- iam:CreateRole +- iam:DeleteRole +- iam:DeleteRolePolicy +- iam:DetachRolePolicy +- iam:GetRole +- iam:GetRolePolicy +- iam:PassRole +- iam:PutRolePolicy +- iam:TagRole +- iam:UpdateAssumeRolePolicy +- kms:Descifrar +- lambda:AddPermission +- lambda:CreateFunction +- lambda:DeleteFunction +- lambda:GetCodeSigningConfig +- lambda:GetFunction +- lambda:GetFunctionCodeSigningConfig +- lambda:GetLayerVersion +- lambda:InvokeFunction +- lambda:PutFunctionConcurrency +- lambda:RemovePermission +- lambda:TagResource +- logs:CrearGrupoDeRegistros +- logs:EliminarGrupoDeRegistros +- logs:DescribirGruposDeRegistros +- logs:EstablecerPolíticaDeRetención +- oam:ListarSumideros +- oam:ListarEnlacesAdjuntos +- s3:CrearBucket +- s3:EliminarBucket +- s3:EliminarPolíticaDeBucket +- s3:ObtenerConfiguraciónDeEncriptación +- s3:ObtenerObjeto +- s3:ObtenerVersiónDeObjeto +- s3:EstablecerPolíticaDeBucket +- s3:EstablecerBloqueoDeAccesoPúblicoDeBucket +- s3:EstablecerConfiguraciónDeEncriptación +- s3:EstablecerConfiguraciónDeCicloDeVida +- secretsmanager:CrearSecreto +- secretsmanager:EliminarSecreto +- secretsmanager:ObtenerValorDeSecreto +- secretsmanager:EstablecerValorDeSecreto +- serverlessrepo:CrearPlantillaDeCloudFormation +{{% /collapse-content %}} -## Información general - -Esta guía proporciona una descripción general del proceso para integrar una cuenta de Amazon Web Services (AWS) con Datadog mediante la plantilla CloudFormation de Datadog. - -Sin entrar en detalles, esto implica la creación de una política asociada y de roles de IAM para que la cuenta de AWS de Datadog pueda hacer llamadas a la API de tu cuenta de AWS con el fin de recopilar o insertar datos. La plantilla también implementa la función lambda de [Datadog Forwarder][1] para enviar logs a Datadog. Si usas la plantilla de CloudFormation, dispondrás de todas las herramientas necesarias para enviar estos datos a tu cuenta de Datadog, y Datadog conservará la plantilla de CloudFormation para proporcionar la funcionalidad más reciente. - -Una vez que esté establecida la conexión inicial, puedes habilitar las integraciones de servicios concretos de AWS que resulten pertinentes para tu entorno de AWS. Basta un solo clic para que Datadog envíe los recursos necesarios a tu cuenta de AWS y comience a consultar las métricas y eventos de los servicios que utilizas. En lo referente a los servicios populares que usas de AWS, Datadog provee dashboards predefinidos para que dispongas de una visibilidad inmediata y personalizable. Esta guía te muestra cómo configurar la integración e instalar el Datadog Agent en una instancia EC2 de Amazon Linux y, además, facilita información general sobre las funciones de la integración. Consulta la sección [Habilitar las integraciones de servicios concretos de AWS](#enable-integrations-for-individual-aws-services) para ver una lista con las subintegraciones disponibles. - -Puedes repetir este proceso en todas las cuentas de AWS en las que sea necesario, aunque también puedes usar [API][3], [AWS CLI][4] o [Terraform][5] para configurar varias cuentas a la vez. Para más información, lee la [Guía de Datadog-Amazon CloudFormation][6]. - -**Nota**: La plantilla de CloudFormation de Datadog sólo admite la creación y eliminación de sus recursos definidos. Consulta [Actualizar tu plantilla de stack tecnológico][59] para obtener orientación sobre cómo aplicar actualizaciones a tu stack tecnológico. - -## Requisitos previos - -Antes de empezar, asegúrate de que cumples los siguientes requisitos previos: - -1. Tienes una cuenta de [AWS][7]. Tu usuario de AWS necesita los siguientes permisos de IAM para poder ejecutar correctamente la plantilla de CloudFormation: - - * cloudformation:CreateStack - * cloudformation:CreateUploadBucket - * cloudformation:DeleteStack - * cloudformation:DescribeStacks - * cloudformation:DescribeStackEvents - * cloudformation:GetStackPolicy - * cloudformation:GetTemplateSummary - * cloudformation:ListStacks - * cloudformation:ListStackResources - * ec2:DescribeSecurityGroups - * ec2:DescribeSubnets - * ec2:DescribeVpcs - * iam:AttachRolePolicy - * iam:CreatePolicy - * iam:CreateRole - * iam:DeleteRole - * iam:DeleteRolePolicy - * iam:DetachRolePolicy - * iam:GetRole - * iam:GetRolePolicy - * iam:PassRole - * iam:PutRolePolicy - * iam:TagRole - * iam:UpdateAssumeRolePolicy - * kms:Decrypt - * lambda:AddPermission - * lambda:CreateFunction - * lambda:DeleteFunction - * lambda:GetCodeSigningConfig - * lambda:GetFunction - * lambda:GetFunctionCodeSigningConfig - * lambda:GetLayerVersion - * lambda:InvokeFunction - * lambda:PutFunctionConcurrency - * lambda:RemovePermission - * lambda:TagResource - * logs:CreateLogGroup - * logs:DeleteLogGroup - * logs:DescribeLogGroups - * logs:PutRetentionPolicy - * oam:ListSinks - * oam:ListAttachedLinks - * s3:CreateBucket - * s3:DeleteBucket - * s3:DeleteBucketPolicy - * s3:GetEncryptionConfiguration - * s3:GetObject - * s3:GetObjectVersion - * s3:PutBucketPolicy - * s3:PutBucketPublicAccessBlock - * s3:PutEncryptionConfiguration - * s3:PutLifecycleConfiguration - * secretsmanager:CreateSecret - * secretsmanager:DeleteSecret - * secretsmanager:GetSecretValue - * secretsmanager:PutSecretValue - * serverlessrepo:CreateCloudFormationTemplate +## Configurar {#setup} -## Configuración +1. Vaya a la [página de configuración de integración de AWS][8] en Datadog y haga clic en {{< ui >}}Add AWS Account{{< /ui >}}. +1. Configure los ajustes de la integración en la opción {{< ui >}}Automatically using CloudFormation{{< /ui >}}. + 1. Seleccione las regiones de AWS con las que desea integrar. + 1. Agregue su [clave de API de Datadog][9]. + 1. Opcionalmente, envíe registros y otros datos a Datadog con el [Datadog Forwarder Lambda][1]. + 1. Opcionalmente, habilite [Cloud Security Misconfigurations][54] para escanear su entorno en la nube, hosts y contenedores en busca de configuraciones incorrectas y riesgos de seguridad. +1. Haga clic en {{< ui >}}Launch CloudFormation Template{{< /ui >}}. Esto abre la Consola de AWS y carga la pila de CloudFormation. Todos los parámetros se completan según sus selecciones en el formulario previo de Datadog, por lo que no necesita editarlos a menos que lo desee. +**Nota:** El parámetro `DatadogAppKey` permite que la pila de CloudFormation realice llamadas API a Datadog para agregar y editar la configuración de Datadog para esta cuenta de AWS. La clave se genera automáticamente y se vincula a su cuenta de Datadog. +1. Marque las casillas requeridas de AWS y haga clic en {{< ui >}}Create stack{{< /ui >}}. Esto inicia el proceso de creación de la pila de Datadog junto con tres pilas anidadas. Esto podría tardar varios minutos. Asegúrese de que la pila se haya creado correctamente antes de continuar. +1. Después de que se crea la pila, regrese al mosaico de integración de AWS en Datadog y haga clic en {{< ui >}}Ready!{{< /ui >}}. +1. Espere hasta 10 minutos para que los datos comiencen a ser recolectados, y luego visualice el [tablero de visión general de AWS][12] para ver las métricas enviadas por sus servicios e infraestructura de AWS: +{{< img src="getting_started/integrations/aws-dashboard.png" alt="El tablero de visión general de AWS en la cuenta de Datadog. A la izquierda está el logo de AWS y un gráfico de eventos de AWS que muestra 'No se encontraron entradas coincidentes'. En el centro hay gráficos relacionados con volúmenes de EBS con datos numéricos mostrados y un mapa de calor que muestra datos consistentes. A la derecha hay gráficos relacionados con ELBs que muestran datos numéricos, además de un gráfico de series temporales que muestra datos con picos provenientes de tres fuentes.">}} -2. Dirígete a la [página de configuración de la integración de AWS][8] en Datadog y haz clic en **Add AWS Account** (Añadir cuenta de AWS). +Para configurar múltiples cuentas a la vez, utilice la [API][3], [AWS CLI][4] o [Terraform][5]. Para más información, consulte la [guía de Datadog-Amazon CloudFormation][6]. -3. Configura los parámetros de la integración en la opción **Automatically using CloudFormation** (Usar CloudFormation automáticamente). - a. Selecciona las regiones de AWS que desees integrar. - b. Añade tu [clave de API] de Datadog[9]. - c. Opcionalmente, envía logs y otros datos a Datadog con la [función Forwarder de Lambda de Datadog][1]. - d. Opcionalmente, activa [Errores de configuración de Cloud Security][54] para escanear tu entorno de nube, hosts y contenedores en busca de errores de configuración y riesgos de seguridad. +**Nota**: La plantilla de CloudFormation de Datadog solo admite la creación y eliminación de sus recursos definidos. Consulte [Actualiza tu plantilla de pila][59] para obtener orientación sobre cómo aplicar actualizaciones a su pila. -4. Haz clic en **Launch CloudFormation Template** (Iniciar plantilla de CloudFormation) para abrir la consola de AWS y cargar stack de CloudFormation. Todos los parámetros estarán completados en función de lo que hayas seleccionado en el anterior formulario de Datadog, por lo que no tendrás que editarlos a menos que quieras hacerlo. -**Nota:** El parámetro `DatadogAppKey` permite que el stack de CloudFormation haga llamadas a la API de Datadog para ampliar y editar la configuración de Datadog en esta cuenta de AWS. La clave se genera automáticamente y está vinculada a tu cuenta de Datadog. +### Qué esperar después de la configuración {#what-to-expect-after-setup} -5. Marca las casillas obligatorias de AWS y haz clic en **Create stack** (Crear stack). Se iniciará el proceso de creación del stack de Datadog y de tres stacks anidados. Eso podría tardar varios minutos. Asegúrate de que el stack se haya creado correctamente antes de continuar. +Después de que la integración se configure correctamente, los datos comienzan a aparecer en Datadog en la siguiente línea de tiempo: -6. Una vez que hayas creado el stack, vuelve al cuadro de integración de AWS en Datadog y haz clic en **Ready!** (Listo). +- **Métricas**: Aparecen dentro de aproximadamente 10 minutos con sondeo de API, o 2-3 minutos con [CloudWatch Metric Streams][60]. No todos los servicios informan con la misma cadencia, por lo que un tablero parcialmente poblado durante la primera hora es normal. +- **Etiquetas**: Las etiquetas de recursos de AWS pueden tardar tiempo adicional en propagarse. Los cambios en las etiquetas en AWS pueden tardar entre 15 minutos y varias horas en reflejarse en Datadog. +- **Recursos**: Descubiertos durante el próximo ciclo de rastreo de recursos después de la configuración. +- **Registros**: Requieren configuración separada. Consulte [Enviar registros](#send-logs) para instrucciones de configuración. -7. La recopilación de datos podría tardar hasta 10 minutos en iniciarse. Después, consulta el [dashboard de información general de AWS][12] predefinido para ver las métricas enviadas por tus servicios e infraestructura de AWS: -{{< img src="getting_started/integrations/aws-dashboard.png" alt="Dashboard de información general de AWS en la cuenta de Datadog. A la izquierda, está el logotipo de AWS y un gráfico de eventos de AWS que indica que no se encontraron entradas que coincidan con la búsqueda. En el centro, hay gráficos relacionados con los volúmenes de EBS que incluyen datos numéricos y un mapa de calor con los datos. A la derecha, están los gráficos relacionados con ELB, que incluyen datos numéricos y un gráfico temporal que muestra picos de datos de las tres fuentes.">}} +
+Datadog no completa los datos históricos de métricas anteriores a que se habilitara la integración. Las métricas comienzan a fluir desde el momento en que la integración se configura correctamente. +
-## Configuración +## Configuración {#configuration} -### Habilitar las integraciones de servicios concretos de AWS +### Habilitar integraciones para servicios individuales de AWS {#enable-integrations-for-individual-aws-services} -Consulta la [página de integraciones][13] para ver un listado completo de las subintegraciones disponibles. Muchas de estas integraciones se instalan de forma predeterminada cuando Datadog reconoce los datos procedentes de tu cuenta de AWS. +Consulte la [página de Integraciones][13] para obtener una lista completa de las subintegraciones disponibles. Muchas de estas integraciones se instalan por defecto cuando Datadog reconoce datos provenientes de su cuenta de AWS. -Utiliza la pestaña **Metric Collection** (Recopilación de métricas) en la [página de la integración AWS][8] para configurar de qué servicios recopilará métricas la integración Datadog. +Utilice la pestaña {{< ui >}}Metric Collection{{< /ui >}} en la [página de integración de AWS][8] para configurar de qué servicios recopila métricas la integración de Datadog. -### Añadir regiones +### Agregue regiones {#add-regions} -En la pestaña **General** de la [página de la integración AWS][8], puedes controlar las regiones de AWS en las que Datadog recopila métricas, eventos de CloudWatch y recursos. +En la pestaña {{< ui >}}General{{< /ui >}} de la [página de integración de AWS][8], puede controlar las regiones de AWS donde Datadog recopila métricas, eventos de CloudWatch y recursos. -## Enviar logs +## Enviar registros {#send-logs} -Existen dos formas de enviar los logs de los servicios de AWS a Datadog: +Hay dos formas de enviar registros de servicios de AWS a Datadog: -- [Destino de Amazon Data Firehose][10]: Utiliza el destino Datadog en tu flujo (stream) de entrega de Amazon Data Firehose para reenviar logs a Datadog. Se recomienda usar este enfoque cuando envías grandes volúmenes de logs desde CloudWatch. -- [Función de Forwarder Lambda][11]: despliega la función de Forwarder Lambda de Datadog, que se suscribe a los buckets de S3 o a tus grupos de logs de CloudWatch y reenvía logs a Datadog. **Debes** utilizar este enfoque para enviar trazas (traces), métricas mejoradas o métricas personalizadas desde funciones de Lambda de forma asíncrona a través de logs. Datadog también te recomienda usar este enfoque para enviar logs desde S3 u otros recursos que no puedan transmitir datos directamente a Kinesis. +- [Destino de Amazon Data Firehose][10]: Recomendado para registros de CloudWatch de alto volumen. +- [Función Lambda de reenvío][11]: Requerido para trazas, métricas mejoradas o métricas personalizadas de funciones Lambda. También se recomienda para registros de S3 u otros recursos que no pueden transmitir directamente a Amazon Data Firehose. -Lee la sección [Habilitar los logs en tu servicio de AWS][14] para activar el flujo de logs en los servicios de AWS más utilizados. +Consulte [Habilitar el registro para su servicio de AWS][14] para obtener instrucciones de configuración. -### Validación +### Validación {#validation} -Una vez que hayas habilitado los logs, los encontrarás en el [Log Explorer][15] con las facetas `source` o `service` del panel de facetas, tal y como se muestra en este ejemplo de S3: -{{< img src="getting_started/integrations/logs-explorer.png" alt="Página del Log Explorer de la cuenta de Datadog. En el lado izquierdo de la imagen, se pueden ver las facetas `source` y `service`, ambas con la casilla \"s3\" marcada. A la derecha, se muestran algunas entradas de logs en formato de lista.">}} +Una vez que haya habilitado los registros, encuéntrelos en el [Explorador de Registros][15] utilizando las facetas `source` o `service` del panel de facetas, como este ejemplo de S3: +{{< img src="getting_started/integrations/logs-explorer.png" alt="La página del Explorador de Registros de la cuenta de Datadog. A la izquierda, la imagen muestra las facetas de Fuente y Servicio, ambas marcadas con 's3'. A la derecha, algunas entradas de registro se muestran en un formato de lista.">}} -## Saca más provecho de la plataforma Datadog +## Obtenga más de la plataforma Datadog {#get-more-from-the-datadog-platform} -### Instala el Datadog Agent en EC2 para obtener mayor visibilidad +### Visibilidad más profunda con el Agente de Datadog en EC2 {#deeper-visibility-with-the-datadog-agent-on-ec2} -La integración de AWS con Datadog ya rastrea de forma predeterminada la API de CloudWatch para recopilar las métricas proporcionadas por AWS. No obstante, puedes disfrutar de una visibilidad aún mayor en tus instancias de EC2 con el [Datadog Agent][16]. El Agent es un daemon ligero que genera informes de métricas y eventos, aunque también se puede configurar para que lo haga con logs y trazas. En la sección [Agent Installation][17] (Instalación del Agent) de la aplicación de Datadog, encontrarás las instrucciones para instalar el Agent en una amplia variedad de sistemas operativos. Muchos sistemas operativos (como Amazon Linux) cuentan con comandos de instalación en un único paso que puedes ejecutar para instalar el Agent desde el terminal de la instancia: -{{< img src="getting_started/integrations/integrations-agent-installation.png" alt="Sección Agent de la pestaña \"Integrations\" (Integraciones) de Datadog. A la izquierda, se muestra la lista de los sistemas operativos compatibles con el Datadog Agent; Amazon Linux aparece resaltado. A la derecha, se ve el enunciado \"Use our easy one-step install\" (Usa nuestra sencilla instalación en un solo paso). El comando para instalar el Agent está justo debajo, con la sección difusa DD_API_KEY.">}} +Por defecto, la integración de Datadog AWS rastrea la API de CloudWatch para métricas proporcionadas por AWS, pero puede obtener una visibilidad aún más profunda de sus instancias de EC2 con el [Agente de Datadog][16]. El Agente es un demonio ligero que informa métricas y eventos, y también se puede configurar para registros y trazas. La sección de [Instalación del Agente][17] de la aplicación Datadog proporciona instrucciones para instalar el Agente en una amplia variedad de sistemas operativos. Muchos sistemas operativos (por ejemplo, Amazon Linux) tienen comandos de instalación de un solo paso que puedes ejecutar desde la terminal de la instancia para instalar el Agente: +{{< img src="getting_started/integrations/integrations-agent-installation.png" alt="La sección 'Agente' de la pestaña 'Integraciones' en Datadog. A la izquierda se muestra una lista de sistemas operativos compatibles con el Agente de Datadog. 'Amazon Linux' está resaltado en esta lista. A la derecha se muestra 'Usa nuestra fácil instalación de un solo paso'. El comando para instalar el Agente se muestra debajo de esto, con la sección DD_API_KEY ofuscada.">}} -Una vez que Agent esté instalado, se representará gráficamente en la [lista de infraestructuras][18] con un icono en forma de hueso: -{{< img src="getting_started/integrations/infrastructure-list.png" alt="Lista de infraestructuras en las que pueden verse dos hosts en formato de lista. Ambos hosts tienen el icono de AWS para representar la integración de AWS, así como el texto \"aws\" en un recuadro azul para indicar que están asociados a la integración de AWS. Uno de los hosts también tiene el icono de un perro y recuadros azules con los textos \"ntp\" y \"system\".">}} +Una vez que el Agente está instalado, se representa gráficamente dentro de la [Lista de Infraestructura][18] con un ícono de hueso: +{{< img src="getting_started/integrations/infrastructure-list.png" alt="La lista de infraestructura muestra dos servidores en un formato de lista. Ambos servidores muestran el ícono de AWS para la integración de AWS y 'aws' se muestra en un cuadro azul para indicar que están asociados con la integración de AWS. Un servidor también muestra un ícono de hueso de perro y cuadros azules para 'NTP' y 'system'.">}} -La captura de pantalla anterior muestra el host con el Datadog Agent informando de los datos de los checks de [Sistema][19] y [NTP][20]. El check de sistema proporciona métricas en torno a CPU, memoria, sistema de archivos y E/S, y brinda información adicional sobre el host. Puedes activar [integraciones][21] adicionales para adaptarte al entorno y al caso de uso, o utilizar [DogStatsD][22] para enviar métricas personalizadas directamente a Datadog. +La captura de pantalla anterior muestra el servidor con el Agente de Datadog reportando datos de las verificaciones de [System][19] y [NTP][20]. La verificación de System proporciona métricas sobre CPU, memoria, sistema de archivos y E/S, proporcionando información adicional sobre el servidor. Puedes habilitar integraciones adicionales [integraciones][21] para adaptarlo al entorno y a los casos de uso, o usar [DogStatsD][22] para enviar métricas personalizadas directamente a Datadog. -Consulta las [FAQ sobre por qué deberías instalar el Datadog Agent en tus instancias de nube][23] para obtener más información sobre las ventajas de este enfoque. -### Usar el Datadog Agent con el Servicio de contenedores de Amazon -Puedes usar el Datadog Agent en entornos contenedorizados, independientemente de que estés gestionando tus instancias o utilizando [Fargate][24] en un entorno serverless. +### Usando el Agente de Datadog con los Servicios de Contenedores de Amazon {#using-the-datadog-agent-with-amazon-container-services} -#### ECS con un tipo de lanzamiento EC2 +Para entornos basados en contenedores, puedes usar el Agente de Datadog, ya sea que estés gestionando tus instancias o utilizando [Fargate][24] para un entorno sin servidor. -Utiliza la [documentación sobre Amazon ECS][25] para ejecutar el [Datadog Docker Agent][26] en las instancias EC2 de tu clúster de ECS. Revisa la [documentación sobre la recopilación de datos de Amazon ECS][27] para ver las métricas y eventos enviados a tu cuenta de Datadog. -#### ECS con un tipo de lanzamiento Fargate -Utiliza la [documentación sobre Amazon ECS en AWS Fargate][28] para ejecutar el Agent a modo de contenedor con la misma definición de tarea que tu aplicación. **Nota**: Se necesita la versión 6.1.1 (o posterior) del Datadog Agent para aprovechar al máximo la integración de Fargate. +Usa la [documentación de Amazon ECS][25] para ejecutar el [Agente Docker de Datadog][26] en las instancias EC2 de tu clúster ECS. -#### AWS Batch con tipo de orquestación Fargate -Utiliza la [documentación sobre Amazon ECS en AWS Fargate para AWS Batch][58] para ejecutar el Agent a modo de contenedor con la misma definición de trabajo de AWS Batch que tu aplicación. **Nota**: Se necesita la versión 6.1.1 o posterior del Datadog Agent para aprovechar al máximo la integración de Fargate. -#### EKS +Utiliza la [documentación de Amazon ECS en AWS Fargate][28] para ejecutar el Agente como un contenedor en la misma definición de tarea que tu aplicación. -No necesitas llevar a cabo ninguna configuración concreta para Amazon Elastic Kubernetes Service (EKS), tal y como se menciona en la [documentación sobre las distribuciones de Kubernetes][29]. Utiliza la [documentación específica sobre Kubernetes][30] para implementar el Agent en tu clúster de EKS. -#### EKS con Fargate -Dado que AWS gestiona los pods de Fargate, no se realizan checks en los componentes del sistema del host, como la CPU y la memoria. Para recopilar los datos de tus pods de AWS Fargate, utiliza la [documentación sobre Amazon EKS en AWS Fargate][31] para ejecutar el Agent a modo de respaldo del pod de tu aplicación con control de acceso personalizado y basado en roles (RBAC). **Nota**: Se necesita la versión 7.17 (o posterior) del Datadog Agent. +Utiliza la [documentación de Amazon ECS en AWS Fargate para AWS Batch][58] para ejecutar el Agente como un contenedor en la misma definición de trabajo de AWS Batch que tu aplicación. -#### EKS Anywhere -Utiliza la [documentación sobre EKS Anywhere][32] para los clústeres de Kubernetes on-premises. -### Crea recursos adicionales de Datadog -Además de utilizar la interfaz de usuario o la [API][33] de Datadog, puedes crear muchos [recursos de Datadog][34] con el [Registro de CloudFormation][35]. Para obtener visibilidad y solucionar problemas, utiliza [dashboards][36] para mostrar datos clave, aplicar [funciones][37] y encontrar [Correlaciones de métricas][38]. +No necesitas ninguna configuración específica para Amazon Elastic Kubernetes Service (EKS), como se menciona en la [documentación de Distribuciones de Kubernetes][29]. Utiliza la [documentación de Kubernetes dedicada][30] para desplegar el Agente en tu clúster de EKS. -Para recibir notificaciones acerca de cualquier comportamiento no deseado o inesperado que se produzca en tu cuenta, crea [monitores][39]. Los monitores evalúan de forma constante los datos que recibe tu cuenta y envían [notificaciones][40] para garantizar que la información llegue a los miembros del equipo pertinentes. Revisa la [lista de integraciones de notificación][41] para descubrir todas las formas mediante las que puedes notificar a tu equipo. +#### EKS con Fargate {#eks-with-fargate} -## Explora productos relacionados +Debido a que los pods de Fargate son gestionados por AWS, excluyen las verificaciones del sistema basadas en el host, como CPU y memoria. Para recopilar datos de sus pods de AWS Fargate, utilice la [documentación de Amazon EKS en AWS Fargate][31] para ejecutar el Agente como un sidecar de su pod de aplicación con control de acceso basado en roles (RBAC) personalizado. **Nota**: Esto requiere la versión 7.17 o superior del Agente de Datadog. -### Serverless +#### EKS Anywhere {#eks-anywhere} -Puedes unificar las métricas, trazas (traces) y logs de las funciones de AWS Lambda que ejecutan aplicaciones serverless en Datadog. Dirígete a la sección [Serverless][42] para conocer cómo instrumentar tu aplicación, instalar [bibliotecas e integraciones serverless][43], implementar [trazas (traces) distribuidas con aplicaciones serverless][44] o [solucionar problemas en entornos serverless][45]. +Utilice la [documentación de EKS Anywhere][32] para clústeres de Kubernetes en las instalaciones. -### APM -Para conocer mejor y recopilar más datos de tus aplicaciones y servicios de AWS, habilita la recopilación distribuida de trazas (traces) desde la integración con [AWS X-Ray][46] o desde un host con el Datadog Agent mediante [APM][47]. A continuación, lee la [documentación de APM][48] para comprender mejor cómo utilizar estos datos para obtener información sobre el rendimiento de tu aplicación. +### Crear recursos adicionales de Datadog {#create-additional-datadog-resources} +Además de utilizar la interfaz de usuario de Datadog o [API][33], puede crear muchos [recursos de Datadog][34] con el [Registro de CloudFormation][35]. Para visibilidad y solución de problemas, utilice [tableros][36] para mostrar datos clave, aplicar [Funciones][37] y encontrar [Correlaciones de Métricas][38]. -También puedes usar [Watchdog][49], una función algorítmica para las métricas de infraestructura y rendimiento de APM. Su objetivo consiste en detectar automáticamente los posibles problemas de la aplicación y enviarte notificaciones al respecto. +Para recibir notificaciones de cualquier comportamiento no deseado o inesperado en su cuenta, cree [monitores][39]. Los monitores evalúan constantemente los datos reportados a su cuenta y envían [Notificaciones][40] para asegurar que la información correcta llegue a los miembros del equipo adecuados. Revisa la [Lista de Integraciones de Notificación][41] para conocer todas las formas de notificar a tu equipo. -### Seguridad +## Explora productos relacionados {#explore-related-products} -#### Cloud SIEM +### Sin servidor {#serverless} -Revisa [Empezando con Cloud SIEM][50] para evaluar tus logs con respecto a las [reglas de detección de logs][51] predefinidas. Estas reglas se pueden personalizar y, cuando detectan alguna amenaza, generan avisos de seguridad a los que se puede acceder desde el [Explorador de avisos de seguridad][52]. Si quieres asegurarte de que se notifica al equipo correcto, utiliza las [reglas de notificación][53] para configurar las preferencias de notificación de varias reglas. +Para monitorear funciones de AWS Lambda con Datadog, consulta [Serverless][42] para obtener instrucciones sobre cómo instrumentar tu aplicación, instalar [Serverless Libraries and Integrations][43], implementar [trazado distribuido con aplicaciones serverless][44] o [resolver problemas de aplicaciones serverless][45]. -#### Cloud Security Misconfigurations +### APM {#apm} -Utiliza la guía de [Ajuste de errores de configuración de Cloud Security][54] para aprender a detectar y evaluar los errores de configuración en tu entorno en la nube. Los datos de configuración de recursos se evalúan en función de las reglas de cumplimiento listas para usar de [la nube][55] y [la infraestructura][56], a fin de detectar técnicas de ataque y posibles errores de configuración, y así lograr una respuesta y corrección rápidas. +Para recopilar trazas distribuidas de tus aplicaciones y servicios de AWS, utiliza el Agente de Datadog con [APM][47]. Para funciones de AWS Lambda, instrumenta con la [Extensión de Lambda de Datadog][44]. Consulta la [documentación de APM][48] para obtener detalles sobre el análisis de datos de rendimiento de la aplicación. -### Solucionar problemas +También puedes usar [Watchdog][49], una función algorítmica para métricas de rendimiento de APM e infraestructura, para detectar automáticamente y recibir notificaciones sobre posibles problemas de la aplicación. -Si te encuentras con el error `Datadog is not authorized to perform sts:AssumeRole`, consulta su página específica para [Solucionar problemas][2]. Para cualquier otro problema, consulta la [Guía de solución de problemas de la integración con AWS][57]. +### Seguridad {#security} -## Referencias adicionales +#### Cloud SIEM {#cloud-siem} + +Consulta [Introducción a Cloud SIEM][50] para evaluar tus registros contra las [Reglas de Detección de Registros][51] predeterminadas. Estas reglas son personalizables, y cuando se detectan amenazas, generan señales de seguridad accesibles en el [Explorador de señales][52]. Utiliza [Reglas de Notificación][53] para configurar preferencias de notificación en múltiples reglas. + +#### Errores de configuración de Cloud Security {#cloud-security-misconfigurations} + +Utiliza la guía [Errores de configuración de Cloud Security][54] para detectar y evaluar errores de configuración en tu entorno en la nube. Los datos de configuración de recursos se evalúan contra las reglas de cumplimiento [Cloud][55] y [Infrastructure][56] predeterminadas para señalar técnicas de ataque y posibles errores de configuración. + +### Resolución de Problemas {#troubleshooting} + +Si encuentra el error `Datadog is not authorized to perform sts:AssumeRole`, consulte la [página de resolución de problemas][2] dedicada. Para cualquier otro problema, consulte la [guía de resolución de problemas de integración de AWS][57]. + +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -236,7 +239,7 @@ Si te encuentras con el error `Datadog is not authorized to perform sts:AssumeRo [2]: /es/integrations/guide/error-datadog-not-authorized-sts-assume-role/ [3]: /es/api/latest/aws-integration/#create-an-aws-integration [4]: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/index.html -[5]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/integration_aws +[5]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/integration_aws_account [6]: /es/integrations/guide/amazon_cloudformation/ [7]: https://aws.amazon.com/getting-started/?nc1=f_cc [8]: https://app.datadoghq.com/integrations/amazon-web-services @@ -253,7 +256,7 @@ Si te encuentras con el error `Datadog is not authorized to perform sts:AssumeRo [19]: /es/integrations/system/ [20]: /es/integrations/ntp/ [21]: /es/integrations/ -[22]: /es/developers/dogstatsd/?tab=hostagent +[22]: /es/extend/dogstatsd/?tab=hostagent [23]: /es/agent/faq/why-should-i-install-the-agent-on-my-cloud-instances/ [24]: https://aws.amazon.com/fargate/ [25]: /es/agent/amazon_ecs/?tab=awscli @@ -290,4 +293,5 @@ Si te encuentras con el error `Datadog is not authorized to perform sts:AssumeRo [56]: /es/security/default_rules/#cat-posture-management-infra [57]: /es/integrations/guide/aws-integration-troubleshooting/ [58]: /es/integrations/ecs_fargate/?tab=webui#installation-for-aws-batch -[59]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-get-template.html \ No newline at end of file +[59]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-get-template.html +[60]: /es/integrations/guide/aws-cloudwatch-metric-streams-with-kinesis-data-firehose/ \ No newline at end of file diff --git a/content/es/getting_started/integrations/azure.md b/content/es/getting_started/integrations/azure.md index 2ef84d9281d..6598916b37a 100644 --- a/content/es/getting_started/integrations/azure.md +++ b/content/es/getting_started/integrations/azure.md @@ -2,168 +2,167 @@ aliases: - /es/integrations/guide/azure-manual-setup/ - /es/integrations/guide/azure-programmatic-management/ -description: Conecta Microsoft Azure con Datadog utilizando las opciones de integración - de registro de aplicaciones de Azure. Configura la recopilación de métricas, el - reenvío de logs y la instalación del Agent. +description: Conecte Microsoft Azure con Datadog utilizando las opciones de integración + de registro de aplicación de Azure. Configure la recolección de métricas, el reenvío + de registros y la instalación del Datadog Agent. further_reading: - link: https://www.datadoghq.com/blog/azure-integration-onboarding/ tag: Blog - text: AcelerA la configuración de la integración de Azure con una incorporación - guiada + text: Acelere la configuración de su integración de Azure con un proceso de incorporación + guiado. - link: https://docs.datadoghq.com/integrations/azure/#overview tag: Documentación text: Integración de Microsoft Azure - link: https://docs.datadoghq.com/agent/guide/why-should-i-install-the-agent-on-my-cloud-instances/ tag: Guía - text: ¿Por qué debería instalar el Datadog Agent en mis instancias de la nube? -title: Empezando con Azure + text: ¿Por qué debería instalar el Agente de Datadog en mis instancias en la nube? +title: Introducción a Azure --- +## Descripción general {#overview} -## Información general +Datadog ofrece múltiples opciones de configuración para la integración de Azure. Esta guía proporciona una descripción general de las diversas opciones disponibles para comenzar con Azure, con enlaces a recursos y tutoriales de Azure que abordan casos de uso específicos. -Datadog ofrece múltiples opciones de configuración para la integración con Azure. Esta guía ofrece una visión general de las distintas opciones disponibles para empezar a trabajar con Azure, con enlaces a recursos y tutoriales de Azure que abordan casos de uso específicos. +## Requisitos previos {#prerequisites} -## Requisitos previos +Si aún no lo ha hecho, cree una [cuenta de Datadog][2]. -Si aún no lo has hecho, crea una [cuenta de Datadog][2]. +{{% collapse-content title="Permisos requeridos para la configuración de la integración" level="h4" expanded=false id="required-permissions" %}} -{{% collapse-content title="Permisos necesarios para la configuración de la integración" level="h4" expanded=false id="required-permissions" %}} +### En Azure {#in-azure} -### En Azure +Su usuario de Microsoft Entra ID necesita los siguientes permisos: -Tu usuario de Microsoft Entra ID necesita los siguientes permisos: +#### Permiso para crear un registro de aplicación {#permission-to-create-an-app-registration} -#### Permiso para crear un registro de aplicación +**Debe cumplirse una de las siguientes condiciones para el usuario:** -**Una** de las siguientes condiciones debe ser cierta para el usuario: +- `Users can register applications` ha sido establecido en `Yes` +- El usuario tiene el rol de [Desarrollador de Aplicaciones][38] -- `Users can register applications` se ha fijado en `Yes` -- El usuario tiene el rol [Desarrollador de aplicaciones][38] +##### Roles de administrador dentro de sus suscripciones {#admin-roles-within-your-subscriptions} -##### Roles administrativos en tus suscripciones +Dentro de las suscripciones que desea monitorear, debe tener ya sea: -Dentro de las suscripciones que deseas monitorizar, debes tener: +- El rol de {{< ui >}}Owner{{< /ui >}} +- Tanto el rol de {{< ui >}}Contributor{{< /ui >}} como el rol de {{< ui >}}User Access Admin{{< /ui >}} -- El rol de **Propietario** -- Tanto los roles **Contributor** como **User Access Admin**. +#### Permiso para agregar y otorgar consentimiento para los permisos de la API de Graph {#permission-to-add-and-grant-consent-for-graph-api-permissions} -#### Permiso para añadir y conceder consentimiento para permisos de Graph API +El rol de [Administrador de Roles Privilegiados][25] contiene los permisos requeridos. -El [rol de administrador privilegiado][25] contiene los permisos necesarios. +### En Datadog {#in-datadog} -### En Datadog - -El `Datadog Admin Role`, o cualquier otro rol con el permiso `azure_configurations_manage`. +El `Datadog Admin Role`, o cualquier otro rol con el permiso de `azure_configurations_manage`. {{% /collapse-content %}} {{< site-region region="us3" >}} -
Cloud Cost Management y Log Archives requieren el método de configuración de registro de aplicaciones. Para las cuentas de Datadog que utilizan la integración de Azure Native, sigue los pasos de configuración en esta página para crear un registro de aplicación. Si una suscripción se conecta a través de ambos métodos, aparecerá una advertencia de redundancia en el cuadro de integración de Azure. Esta advertencia puede ignorarse con seguridad para Cloud Cost Management y Log Archives. +
Cloud Cost Management y Log Archives requieren el método de configuración de registro de aplicación. Para cuentas de Datadog que utilizan la integración nativa de Azure, siga los pasos de configuración en esta página para crear un registro de aplicación. Si una suscripción está conectada a través de ambos métodos, aparece una advertencia de redundancia en el mosaico de integración de Azure. Esta advertencia se puede ignorar de manera segura para Cloud Cost Management y Log Archives.
{{< /site-region >}} -## Instalación +## Configuración {#setup} -Sigue las instrucciones de este página para configurar la **integración con Azure** a través de un registro de aplicación, disponible para todos los sitios de Datadog. +Siga las instrucciones en esta página para configurar el {{< ui >}}Azure integration{{< /ui >}} a través de un registro de aplicación, disponible para todos los sitios de Datadog. -{{< img src="/getting_started/integrations/azure/GSwAzure_siteSelector.mp4" alt="Selector de sitios para sitios US3" video=true >}} +{{< img src="/getting_started/integrations/azure/GSwAzure_siteSelector.mp4" alt="Selector de sitio para el sitio US3" video=true >}} {{% collapse-content title="Inicio rápido (recomendado)" level="h4" expanded=false id="quickstart-setup" %}} -### Elige el método de instalación Inicio rápido si... +### Elija el método de configuración de inicio rápido si... {#choose-the-quickstart-setup-method-if} -- Estás configurando Datadog por primera vez. -- Prefieres un proceso basado en la interfaz de usuario y deseas minimizar el tiempo que se tarda en crear una entidad principal de servicio con los permisos de monitorización necesarios. -- Deseas automatizar los pasos de configuración en scripts o pipelines de Continuous Integration Continuous Delivery. +- Está configurando Datadog por primera vez. +- Prefiere un flujo de trabajo basado en UI y desea minimizar el tiempo que se necesita para crear un principal de servicio con los permisos de monitoreo requeridos. +- Desea automatizar los pasos de configuración en scripts o en pipelines de CI/CD. -### Instrucciones +### Instrucciones {#instructions} -1. En el cuadro de integración de Azure, haz clic en **+ Add New App registration** (+Añadir nuevo registro de aplicación) y, a continuación, selecciona **Quickstart** (Inicio rápido). -2. Copia el script de configuración y ejecútalo en el intérprete de comandos de Azure Cloud. -3. Vuelve a la interfaz de usuario de Datadog. Deberías ver **Connected** (CONECTADO) en la esquina superior derecha del script de configuración. -4. Selecciona las suscripciones y los grupos de gestión de los que recopilar datos. -5. Opcionalmente, haz clic en el conmutador de recopilación de métricas para desactivar toda la recopilación de métricas de Azure. También puedes ampliar el menú desplegable **Advanced Configuration** (Configuración avanzada) para filtrar las métricas por: +1. En el mosaico de integración de Azure, haga clic en {{< ui >}}+ Add New App registration{{< /ui >}}, luego seleccione {{< ui >}}Quickstart{{< /ui >}}. +2. Copie el script de configuración y ejecútelo en Azure Cloud Shell. +3. Regrese a la interfaz de usuario de Datadog. Deberá ver {{< ui >}}CONNECTED{{< /ui >}} en la esquina superior derecha del script de configuración. +4. Seleccione las suscripciones y los grupos de administración de los cuales desea recopilar datos. +5. Opcionalmente, haga clic en el interruptor de recopilación de métricas para deshabilitar toda la recopilación de métricas de Azure. También puede expandir el menú desplegable {{< ui >}}Advanced Configuration{{< /ui >}} para filtrar métricas por: - Proveedor de recursos - Etiquetas - - Hosts - - App Service Plans + - Servidores + - Planes de App Service - Container Apps -También puedes hacer clic para activar la recopilación de métricas personalizadas de [Azure Application Insights][36] y desactivar la recopilación de métricas de uso. +También puedes hacer clic para habilitar la recopilación de métricas personalizadas de [Azure Application Insights][36] y deshabilitar la recopilación de métricas de uso. -6. Opcionalmente, haz clic en el conmutador de recopilación de recursos para desactivar la recopilación de información de configuración de tus recursos de Azure. -7. Habilita la recopilación de logs para establecer y configurar los servicios y parámetros de diagnóstico necesarios para reenviar logs a Datadog: - 1. Si ya existe un reenviador de logs en el inquilino, se modifica para ampliar su alcance. Los ajustes modificados se aplican tanto a las suscripciones o grupos de gestión existentes como a los recién seleccionados. - 2. Si estás creando un nuevo reenviador de logs: - 1. Introduce un nombre de grupo de recursos para almacenar el plano de control del reenviador de logs - 2. Selecciona una suscripción de plano de control para la orquestación de reenvío de logs (LFO). +6. Opcionalmente, haz clic en el interruptor de recopilación de recursos para deshabilitar la recopilación de información de configuración de tus recursos de Azure. +7. Habilita la recopilación de registros para configurar y establecer los servicios y ajustes de diagnóstico necesarios para enviar registros a Datadog: + 1. Si ya existe un reenvío de registros en el inquilino, se modifica para ampliar su alcance. Cualquier configuración cambiada se aplica a las suscripciones o grupos de administración existentes, así como a los recién seleccionados. + 2. Si estás creando un nuevo reenvío de registros: + 1. Ingresa un nombre de grupo de recursos para almacenar el plano de control del reenvío de registros. + 2. Selecciona una suscripción del plano de control para la orquestación del reenvío de registros (LFO). 3. Selecciona una región para el plano de control.
- **Nota**: Los campos de nombre de grupo de recursos, suscripción del plano de control y región solo aparecen al crear un nuevo reenviador de logs. - 3. Opcionalmente, abre **Log filtering options** (Opciones de filtrado de logs) para filtrar logs por etiquetas, o aplicar filtros para información específica (como PII) usando expresiones regulares. + **Nota**: El nombre del grupo de recursos, la suscripción del plano de control y los campos de región solo aparecen al crear un nuevo reenvío de registros. + 3. Opcionalmente, abre {{< ui >}}Log filtering options{{< /ui >}} para filtrar registros por etiquetas, o aplica filtrado para información específica (como PII) usando regex. - Consulta la [sección de Arquitectura][34] de la guía de reenvío automatizado de logs para obtener más información sobre esta arquitectura. + Consulta la [sección de Arquitectura][34] de la guía de reenvío automático de registros para más información sobre esta arquitectura. -8. Haz clic en **Confirm** (Confirmar) para finalizar la configuración. +8. Haz clic en {{< ui >}}Confirm{{< /ui >}} para finalizar la configuración. {{% /collapse-content %}} {{% collapse-content title="Terraform" expanded=false level="h4" id="terraform-setup" %}} -### Elige el método de configuración de Terraform si... +### Elija el método de configuración de Terraform si... {#choose-the-terraform-setup-method-if} -- Gestionas la infraestructura como código y deseas mantener la integración de Azure en Datadog bajo control de versiones. -- Es necesario configurar varios inquilinos o suscripciones de forma coherente con bloques de proveedores reutilizables. -- Deseas un proceso de despliegue repetible y auditable que se adapte a tu entorno gestionado por Terraform. +- Gestione infraestructura como código y mantenga la integración de Datadog Azure bajo control de versiones. +- Necesita configurar múltiples inquilinos o suscripciones de manera consistente con bloques de proveedor reutilizables. +- Desea un proceso de implementación repetible y auditable que se ajuste a su entorno gestionado por Terraform. -### Instrucciones +### Instrucciones {#instructions-1} -Sigue estos pasos para desplegar la integración de Datadog y Azure a través de [Terraform][23]. +Siga estos pasos para implementar la integración de Datadog Azure a través de [Terraform][23]. {{< tabs >}} -{{% tab "Create an app registration" %}} +{{% tab "Cree un registro de aplicación." %}} -1. En el [cuadro de integración de Azure][100], haz clic en **+ Add New App registration** (+Añadir nuevo registro de aplicación) y, a continuación, selecciona **Terraform**. -2. Selecciona las suscripciones y los grupos de gestión de los que recopilar datos. -3. Opcionalmente, haz clic en el conmutador de recopilación de métricas para desactivar toda la recopilación de métricas de Azure. También puedes ampliar el menú desplegable **Advanced Configuration** (Configuración avanzada) para filtrar las métricas por: +1. En el [mosaico de integración de Azure][100], haga clic en {{< ui >}}+ Add New App registration{{< /ui >}}, luego seleccione {{< ui >}}Terraform{{< /ui >}}. +2. Seleccione las suscripciones y los grupos de administración de los cuales desea recopilar datos. +3. Opcionalmente, haga clic en el interruptor de recopilación de métricas para deshabilitar toda la recopilación de métricas de Azure. También puede expandir el menú desplegable {{< ui >}}Advanced Configuration{{< /ui >}} para filtrar métricas por: - Proveedor de recursos - Etiquetas - - Hosts + - Servidores - App Service Plans - - Container Apps + - Aplicaciones de Contenedor - También puedes hacer clic para activar la recopilación de métricas personalizadas de [Azure Application Insights][101] y desactivar la recopilación de métricas de uso. -4. Opcionalmente, haz clic en el conmutador de recopilación de recursos para desactivar la recopilación de información de configuración de tus recursos de Azure. -5. Configurar la recopilación de logs: - - Si ya existe un reenviador de logs en el inquilino, amplía su alcance para incluir las nuevas suscripciones o grupos de gestión. - - Si estás creando un nuevo reenviador de logs: - 1. Introduce un nombre de grupo de recursos para almacenar el plano de control del reenviador de logs. - 1. Selecciona una suscripción de plano de control para la orquestación de reenvío de logs (LFO). - 1. Selecciona una región para el plano de control. + También puede hacer clic para habilitar la recopilación de métricas personalizadas desde [Azure Application Insights][101], y deshabilitar la recopilación de métricas de uso. +4. Opcionalmente, haga clic en el interruptor de recopilación de recursos para deshabilitar la recopilación de información de configuración de sus recursos de Azure. +5. Configure la recopilación de registros: + - Si ya existe un reenvío de registros en el inquilino, amplíe su alcance para incluir nuevas suscripciones o grupos de administración. + - Si está creando un nuevo reenvío de registros: + 1. Ingrese un nombre de grupo de recursos para almacenar el plano de control del reenvío de registros. + 1. Seleccione una suscripción del plano de control para la orquestación de reenvío de registros (LFO). + 1. Seleccione una región para el plano de control. - Consulta la [sección de Arquitectura][102] de la guía de reenvío automatizado de logs para obtener más información sobre esta arquitectura. -6. Copia y ejecuta el comando en **Initialize and apply the Terraform** (Inicializar y aplicar el Terraform). + Consulte la [sección de Arquitectura][102] de la guía de reenvío de registros automatizado para obtener más información sobre esta arquitectura. +6. Copie y ejecute el comando bajo {{< ui >}}Initialize and apply the Terraform{{< /ui >}}. [100]: https://app.datadoghq.com/integrations/azure/ [101]: https://learn.microsoft.com/azure/azure-monitor/app/app-insights-overview [102]: /es/logs/guide/azure-automated-log-forwarding/#architecture {{% /tab %}} -{{% tab "Use an existing app registration" %}} +{{% tab "Utilice un registro de aplicación existente" %}} -- Ya tienes un registro de aplicación configurado con el rol **Monitoring Reader** para Datadog para monitorizar el ámbito proporcionado (suscripciones o grupos de gestión), y no deseas crear nuevos recursos. +- Ya tiene un registro de aplicación configurado con el rol {{< ui >}}Monitoring Reader{{< /ui >}} para que Datadog monitoree el alcance proporcionado (suscripciones o grupos de administración), y no desea crear nuevos recursos. -1. Configura el proveedor de Terraform en Datadog][200] para interactuar con la API de Datadog a través de una configuración de Terraform. -2. Configura tu archivo de ajustes de Terraform utilizando el siguiente ejemplo como plantilla base. Asegúrate de actualizar los siguientes parámetros antes de aplicar los cambios: - * `tenant_name`: tu ID de Azure Active Directory. - * `client_id`: tu ID de aplicación (cliente) de Azure. - * `client_secret`: tu clave secreta de aplicación web de Azure. +1. Configure el [proveedor de Datadog Terraform][200] para interactuar con la API de Datadog a través de una configuración de Terraform. +2. Configure su archivo de configuración de Terraform utilizando el ejemplo a continuación como plantilla base. Asegúrese de actualizar los siguientes parámetros antes de aplicar los cambios: + * `tenant_name`: Su ID de Azure Active Directory. + * `client_id`: Su ID de aplicación (cliente) de Azure. + * `client_secret`: Su clave secreta de aplicación web de Azure. - Consulta la página de [Recursos de la integración de Azure con Datadog][201] en el registro de Terraform para obtener más ejemplos de uso y la lista completa de parámetros opcionales, así como recursos adicionales de Datadog. + Consulte la página de [integración de Datadog con Azure][201] en el registro de Terraform para obtener más ejemplos de uso y la lista completa de parámetros opcionales, así como recursos adicionales de Datadog. {{< code-block lang="hcl" filename="" disable_copy="false" collapsible="false" >}} @@ -175,147 +174,196 @@ resource "datadog_integration_azure" "sandbox" { {{< /code-block >}} -3. Ejecuta `terraform apply`. Espera hasta 10 minutos para que comiencen a recopilarse los datos y, a continuación, consulta el dashboard de información general de Azure listo para usar a fin de ver las métricas enviadas por tus recursos de Azure. +3. Ejecute `terraform apply`. Espere hasta 10 minutos para que los datos comiencen a ser recolectados, y luego visualice el Azure overview dashboard para ver las métricas enviadas por sus recursos de Azure. [200]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs [201]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/integration_azure {{% /tab %}} {{< /tabs >}} -#### Gestión de varias suscripciones o inquilinos +#### Gestionando múltiples suscripciones o inquilinos {#managing-multiple-subscriptions-or-tenants} -Puedes usar varios bloques de proveedores con alias para gestionar recursos de Terraform en varias suscripciones o inquilinos. Lee la [configuración del proveedor][22] para obtener más información. +Puede usar múltiples bloques de proveedor con alias para gestionar recursos de Terraform a través de múltiples suscripciones o inquilinos. Lea [Configuración del Proveedor][22] para obtener más información. -### Monitorizar el estado de la integración +### Monitoree el estado de la integración {#monitor-the-integration-status} -Una vez que se haya configurado la integración, Datadog comienza a ejecutar una serie continua de llamadas a las APIs de Azure para recopilar datos de monitorización críticos de tu entorno de Azure. A veces, estas llamadas devuelven errores (por ejemplo, si las credenciales proporcionadas han expirado). Estos errores pueden inhibir o bloquear la capacidad de Datadog para recopilar datos de monitorización. +Después de que la integración esté configurada, Datadog comienza a efectuar una serie continua de llamadas a las APIs de Azure para recolectar datos críticos de monitoreo de su entorno de Azure. A veces, estas llamadas devuelven errores (por ejemplo, si las credenciales proporcionadas han expirado). Estos errores pueden inhibir o bloquear la capacidad de Datadog para recolectar datos de monitoreo. -Cuando se detectan errores críticos, la integración de Azure genera eventos en el explorador de eventos de Datadog y los vuelve a publicar cada cinco minutos. Puedes configurar un monitor de eventos para que se active cuando se detecten estos eventos y notifique al equipo correspondiente. +Cuando se encuentran errores críticos, la integración de Azure genera eventos en el Explorador de Eventos de Datadog y los vuelve a publicar cada cinco minutos. Puedes configurar un Seguimiento de Eventos para que se active cuando se detecten estos eventos y notificar al equipo correspondiente. -Datadog proporciona una plantilla de monitor para ayudarte a empezar. Para utilizar la plantilla de monitor: +Datadog proporciona una plantilla de seguimiento para ayudarte a comenzar. Para usar la plantilla de seguimiento: -1. En Datadog, ve a **Monitors** (Monitores) y haz clic en el botón **Browse Templates** (Buscar plantillas). -2. Busca y selecciona la plantilla de monitor titulada [Errores de integración de [Azure]][26]. -3. Realiza las modificaciones que quieras en la consulta de búsqueda o en las condiciones de alerta. De manera predeterminada, el monitor se activa cuando se detecta un error nuevo y se resuelve cuando no se ha detectado el error durante los últimos 15 minutos. -4. Actualiza los mensajes de notificación y notificación nueva según lo consideres. Ten en cuenta que los eventos en sí contienen información relevante sobre el evento y se incluyen en la notificación de manera automática. Esto incluye información detallada sobre el contexto, la respuesta a errores y los pasos comunes para solucionarlos. -5. [Configura notificaciones][27] a través de tus canales preferidos (correo electrónico, Slack, PagerDuty u otros) para asegurarte de que tu equipo esté alerta sobre los problemas que afectan la recopilación de datos de Azure. +1. En Datadog, ve a {{< ui >}}Monitors{{< /ui >}} y haz clic en el botón {{< ui >}}Browse Templates{{< /ui >}}. +2. Busca y selecciona la plantilla de seguimiento titulada [[Azure] Errores de Integración][26]. +3. Realiza las modificaciones deseadas en la consulta de búsqueda o en las condiciones de alerta. Por defecto, el seguimiento se activa cada vez que se detecta un nuevo error y se resuelve cuando no se ha detectado el error en los últimos 15 minutos. +4. Actualiza los mensajes de notificación y re-notificación según lo desees. Ten en cuenta que los eventos en sí contienen información pertinente sobre el evento y se incluyen automáticamente en la notificación. Esto incluye información detallada sobre el contexto, la respuesta de error y los pasos comunes para remediar. +5. [Configura notificaciones][27] a través de tus canales preferidos (correo electrónico, Slack, PagerDuty u otros) para asegurarte de que tu equipo esté alerta sobre problemas que afecten la recolección de datos de Azure. {{% /collapse-content %}} -{{% collapse-content title="Usar un registro de aplicación existente" level="h4" expanded=false id="existing-app-registration-setup" %}} +{{% collapse-content title="Utilice un registro de aplicación existente" level="h4" expanded=false id="existing-app-registration-setup" %}} -### Elige el método de configuración de registro de aplicación existente si.. +### Elige el método de configuración de registro de aplicación existente si.. {#choose-the-existing-app-registration-setup-method-if} -- Ya tienes un registro de aplicación configurado con el rol **Monitoring Reader** para Datadog para monitorizar el ámbito proporcionado (suscripciones o grupos de gestión), y no deseas crear nuevos recursos. +- Ya tienes un registro de aplicación configurado con el rol {{< ui >}}Monitoring Reader{{< /ui >}} para que Datadog monitoree el alcance proporcionado (suscripciones o grupos de administración), y no deseas crear nuevos recursos. -Si necesitas configurar un registro de aplicación para Datadog, consulta los métodos de configuración de [Quickstart](#quickstart-setup) o [Terraform](#terraform-setup). +Si necesitas configurar un registro de aplicación para Datadog, consulta los métodos de configuración [Guía Rápida](#quickstart-setup) o [Terraform](#terraform-setup). -### Instrucciones +### Instrucciones {#instructions-2} -1. En el [cuadro de integración de Datadog Azure][20], selecciona **Add Existing** (Añadir existente). -2. En el campo **Tenant ID (ID de inquilino), pega tu ID de directorio (inquilino). -3. En el campo **Client ID** (ID de cliente), pega el ID de la aplicación (cliente). -4. En el campo **Client Secret Value** (Valor del secreto del cliente), pega el valor del secreto del cliente del registro de la aplicación. -5. Opcionalmente, haz clic en el conmutador **Monitor Automuting** (Automatización del monitor) para desactivar la automatización del monitor. -6. Opcionalmente, haz clic en el conmutador de recopilación de métricas para desactivar toda la recopilación de métricas de Azure. También puedes ampliar el menú desplegable **Advanced Configuration** (Configuración avanzada) para filtrar las métricas por: +1. En el [mosaico de integración de Datadog Azure][20], selecciona {{< ui >}}Add Existing{{< /ui >}}. +2. En el campo {{< ui >}}Tenant ID{{< /ui >}}, pega tu ID de Directorio (inquilino). +3. En el campo {{< ui >}}Client ID{{< /ui >}}, pega el ID de la aplicación (cliente). +4. En el campo {{< ui >}}Client Secret Value{{< /ui >}}, pega el valor del secreto del cliente del registro de la aplicación. +5. Opcionalmente, haz clic en el interruptor {{< ui >}}Monitor Automuting{{< /ui >}} para desactivar la automatización del seguimiento. +6. Opcionalmente, haz clic en el interruptor de recolección de métricas para desactivar toda la recolección de métricas de Azure. También puedes expandir el {{< ui >}}Advanced Configuration{{< /ui >}} menú desplegable para filtrar métricas por: - Proveedor de recursos - Etiquetas - Hosts - - App Service Plans - - Container Apps + - Planes de servicio de aplicaciones + - Aplicaciones de contenedor -También puedes hacer clic para activar la recopilación de métricas personalizadas de [Azure Application Insights][36] y desactivar la recopilación de métricas de uso. +También puedes hacer clic para habilitar la recopilación de métricas personalizadas de [Azure Application Insights][36] y deshabilitar la recopilación de métricas de uso. -6. Opcionalmente, haz clic en el conmutador de recopilación de recursos para desactivar la recopilación de información de configuración de tus recursos de Azure. -7. Haz clic en **Create Configuration** (Crear configuración). +6. Opcionalmente, haz clic en el interruptor de colección de recursos para desactivar la recopilación de información de configuración de tus recursos de Azure. +7. Haz clic en {{< ui >}}Create Configuration{{< /ui >}}. {{% /collapse-content %}} -## Recopilación de métricas +## Recopilación de métricas {#metric-collection} -La integración de Azure de Datadog está diseñada para recopilar todas las métricas del [monitor de Azure][8]. La [página de integraciones][9] muestra una lista de subintegraciones predefinidas que proporcionan dashboards y monitores adicionales para servicios de Azure específicos. Muchas de estas integraciones se instalan por defecto cuando Datadog reconoce los datos procedentes de tu cuenta de Azure. Sin embargo, Datadog puedes ingerir métricas de **cualquier recurso compatible con el monitor de Azure**, incluso si no tiene un cuadro de subintegración dedicado. +La integración de Azure de Datadog está diseñada para recopilar todas las métricas de [Azure Monitor][8]. La [página de Integraciones][9] muestra una lista curada de sub-integraciones predefinidas que proporcionan paneles y monitores adicionales listos para usar para servicios específicos de Azure. Muchas de estas integraciones se instalan por defecto cuando Datadog reconoce datos provenientes de tu cuenta de Azure. Sin embargo, Datadog puede ingerir métricas de **cualquier recurso compatible con Azure Monitor**, incluso si no tiene un mosaico de sub-integración dedicado. Puedes encontrar tus métricas de Azure en la página de resumen de métricas en la plataforma de Datadog navegando a `Metrics > Summary` y buscando `Azure`. {{< img src="/getting_started/integrations/azure/GSwAzure_metricExplorer.png" alt="Imagen de resumen de métricas" style="width:100%;" >}} -## Activar la recopilación de log +### Filtrado de etiquetas de recursos para métricas {#resource-tag-filtering-for-metrics} + +Utiliza filtros de etiquetas para controlar qué recursos de Azure tienen sus métricas recopiladas por Datadog. Configura filtros de etiquetas en la pestaña {{< ui >}}Configuration{{< /ui >}} del [mosaico de integración de Azure][20]. Un filtro de etiquetas es una lista de etiquetas separadas por comas en la forma `key:value`. Solo los recursos que coinciden con al menos una etiqueta en el filtro tienen sus métricas recopiladas. + +Puedes usar comodines en tus filtros de etiquetas: +- `?` coincide con un solo carácter. +- `*` coincide con múltiples caracteres. + +Para excluir recursos con una etiqueta dada, antepón la etiqueta con `!`. La exclusión tiene prioridad sobre la inclusión. Un recurso coincide con el filtro si coincide con alguna etiqueta en la lista. + +Por ejemplo: `datadog:monitored,env:production,!plan_tier:basic,instance-type:c1.*` + +Este filtro recopila métricas de recursos etiquetados con `datadog:monitored` o `env:production`, excluye recursos etiquetados con `plan_tier:basic`, e incluye recursos con una etiqueta `instance-type` que coincida con `c1.*`. + +Si no se establece un filtro de etiquetas, Datadog recopila métricas de todos los recursos de Azure. + +## Habilitar la recopilación de registros {#enable-log-collection} -Puedes utilizar la función de reenvío automatizado de logs para establecer y configurar los servicios y los parámetros de diagnóstico necesarios para reenviar logs a Datadog. Si ya existe un plano de control de reenvío automatizado de logs en el inquilino, este flujo lo modifica y amplía su alcance para incluir las suscripciones o los grupos de gestión seleccionados. Para obtener más detalles, consulta [Azure Automated Log Forwarding Setup][19]. +Puedes usar la función de reenvío automático de registros para configurar los servicios y los ajustes de diagnóstico necesarios para reenviar registros a Datadog. Si ya existe un plano de control de reenvío automático de registros en el inquilino, este flujo lo modifica y amplía su alcance para incluir las suscripciones o grupos de administración seleccionados. Para más detalles, consulta [Configuración de reenvío automático de registros de Azure][19]. -Datadog recomienda utilizar el Agent o DaemonSet para enviar logs desde Azure. Si la transmisión directa no es posible, puedes utilizar una plantilla de Azure Resource Manager (ARM) para [automatizar la configuración de reenvío de logs][19] en todo tu entorno de Azure sin configuración manual. Esta función gestiona y escala automáticamente los servicios de reenvío de logs. +Datadog recomienda usar el Agente o DaemonSet para enviar registros desde Azure. Si el streaming directo no es posible, usa el flujo {{< ui >}}Configure Log Forwarding{{< /ui >}} en la [integración de Azure][20] para configurar y gestionar el reenvío automático de registros directamente en Datadog. También puedes implementar el reenvío de registros con una [plantilla de Administrador de Recursos de Azure (ARM)][19]. Ambos métodos gestionan y escalan automáticamente los servicios de reenvío de registros. {{% collapse-content title="Automatizado (recomendado)" level="h4" expanded=false id="automated-log-forwarding-setup" %}} -### Elige el método de configuración de reenvío automatizado de logs si... +### Elige el método de configuración de reenvío automático de registros si... {#choose-the-automated-log-forwarding-setup-method-if} -- Todavía no has configurado logs a través del [Método de configuración rápida](#azure-quickstart-setup). -- Prefieres un proceso basado en la interfaz de usuario y deseas minimizar el tiempo que se tarda en crear una entidad principal de servicio con los permisos de monitorización necesarios. -- Deseas automatizar los pasos de configuración en scripts o pipelines de Continuous Integration Continuous Delivery. +- No has configurado ya los registros a través del método de configuración [Guía rápida](#azure-quickstart-setup). +- Prefieres un flujo de trabajo basado en la interfaz de usuario y deseas minimizar el tiempo que toma crear un principal de servicio con los permisos de monitoreo requeridos. +- Deseas automatizar los pasos de configuración en scripts o en pipelines de CI/CD. -### Instrucciones +### Instrucciones {#instructions-3} -1. Abre la [plantilla ARM de reenvío automatizado de logs][29] en Azure. -2. Configura tu proyecto de Azure y los detalles de la instancia en la [pestaña Ajustes básicos][30]. -3. Introduce tus credenciales de Datadog en la [pestaña de Configuración de Datadog][31]. -4. Reconoce las advertencias de despliegue en la [pestaña de Despliegue][32]. -5. Inicia el proceso de despliegue en la pestaña [Review + create][33] (Revisar + crear). +#### Configura el reenvío de registros (recomendado) {#configure-log-forwarding-recommended} + +Utiliza el flujo {{< ui >}}Configure Log Forwarding{{< /ui >}} para configurar nuevos o gestionar los reenvíos de registros existentes directamente en Datadog: + +1. En Datadog, navega a [{{< ui >}}Integrations{{< /ui >}} > {{< ui >}}Azure{{< /ui >}}][20]. +1. Haz clic en {{< ui >}}Configure Log Forwarding{{< /ui >}}. +1. Copia el comando proporcionado y pégalo en tu Azure Cloud Shell. +1. Selecciona las suscripciones de las cuales deseas reenviar registros. +1. Opcionalmente, agrega o quita filtros de registros. +1. Haz clic en {{< ui >}}Confirm{{< /ui >}}. + +Para más detalles, consulta [Configuración de reenvío automático de registros de Azure][19]. + +#### Plantilla ARM {#arm-template} + +Alternativamente, despliega el reenvío de registros con una plantilla de Administrador de Recursos de Azure (ARM): + +1. Abre la [plantilla ARM de reenvío automático de registros][29] en Azure. +1. Configura los detalles de tu proyecto e instancia de Azure en la [pestaña Básicos][30]. +1. Ingresa tus credenciales de Datadog en la [pestaña de Configuración de Datadog][31]. +1. Reconoce las advertencias de despliegue en la [pestaña de Despliegue][32]. +1. Inicia el proceso de despliegue en la [pestaña Revisar + crear][33]. {{< site-region region="us3" >}} -
Los Log Archives requieren el método de configuración de registro de aplicaciones. Para las cuentas de Datadog que utilizan la integración de Azure Native, sigue los pasos de esta página para crear un registro de aplicación. +
Los Archivos de Registros requieren el método de configuración de registro de aplicación. Para cuentas de Datadog que utilizan la integración nativa de Azure, sigue los pasos en esta página para crear un registro de aplicación.
{{< /site-region >}} -Consulta [Azure Automated Log Forwarding Architecture][34] para obtener más detalles. +Consulte [Arquitectura de reenvío automático de registros de Azure][34] para más detalles. {{% /collapse-content %}} -{{% collapse-content title="Container App" level="h4" expanded=false id="container-app-log-forwarding-setup" %}} +{{% collapse-content title="Aplicación de Contenedor" level="h4" expanded=false id="container-app-log-forwarding-setup" %}} -### Elige el método de reenvío de logs de Container App si... +### Elija el método de reenvío de registros de la Aplicación de Contenedor si... {#choose-the-container-app-log-forwarding-method-if} -- Es preferible configurar manualmente [ajustes de diagnóstico][53] en los recursos desde los que deseas reenviar logs. +- Prefiere configurar manualmente los [ajustes de diagnóstico][53] en los recursos de los que desea reenviar registros. -## Instrucciones +## Instrucciones {#instructions-4} -1. Haz clic en el botón siguiente y rellena el formulario en el portal de Azure. Datadog despliega automáticamente los recursos de Azure necesarios para reenviar logs a tu cuenta de Datadog. +1. Haz clic en el botón de abajo y completa el formulario en el Portal de Azure. Datadog despliega automáticamente los recursos de Azure necesarios para reenviar registros a tu cuenta de Datadog. - [![Despliegue en Azure](https://aka.ms/deploytoazurebutton)][52] + [![Desplegar en Azure](https://aka.ms/deploytoazurebutton)][52] -2. Una vez finalizado el despliegue de la plantilla, configura la [configuración de diagnóstico][53] de cada fuente de logs para enviar logs de la plataforma de Azure (incluidos logs de recursos) a la cuenta de almacenamiento creada durante el despliegue. +2. Después de que finalice el despliegue de la plantilla, configure los [ajustes de diagnóstico][53] para cada fuente de registro para enviar registros de la plataforma de Azure (incluidos los registros de recursos) a la Cuenta de Almacenamiento creada durante el despliegue. -**Nota**: Los recursos solo pueden transmitirse a una cuenta de almacenamiento en la misma región de Azure. +**Nota**: Los recursos solo pueden transmitir a una Cuenta de Almacenamiento en la misma región de Azure. {{% /collapse-content %}} {{% azure-log-archiving %}} -## Obtén más información de la plataforma de Datadog +### Filtrado de etiquetas de recursos para registros {#resource-tag-filtering-for-logs} + +Utilice filtros de etiquetas para controlar qué recursos de Azure tienen sus registros reenviados a Datadog. Para configurar filtros de etiquetas para registros, haga clic en {{< ui >}}Configure Log Forwarding{{< /ui >}} en el [mosaico de integración de Azure][20] y siga el flujo. Un filtro de etiquetas es una lista de etiquetas separadas por comas en la forma `key:value`. Solo los recursos que coinciden con al menos una etiqueta en el filtro tienen sus registros reenviados. + +Puede usar comodines en sus filtros de etiquetas: +- `?` coincide con un solo carácter. +- `*` coincide con múltiples caracteres. + +Para excluir recursos con una etiqueta dada, anteponga la etiqueta con `!`. La exclusión tiene prioridad sobre la inclusión. Un recurso coincide con el filtro si coincide con alguna etiqueta en la lista. + +Por ejemplo: `datadog:monitored,env:production,!plan_tier:basic,instance-type:c1.*` + +Este filtro reenvía registros de recursos etiquetados con `datadog:monitored` o `env:production`, excluye recursos etiquetados con `plan_tier:basic`, e incluye recursos con una etiqueta `instance-type` que coincida con `c1.*`. + +Si no se establece ningún filtro de etiquetas, Datadog reenvía registros de todos los recursos de Azure. + +## Obtenga más de la Plataforma de Datadog {#get-more-from-the-datadog-platform} -### Instala el Agent para obtener una mayor visibilidad de tu aplicación. +### Instale el Agente para obtener mayor visibilidad en su aplicación {#install-the-agent-for-greater-visibility-into-your-application} -Después de configurar tu integración con Azure, los rastreadores de Datadog recopilan automáticamente las métricas de Azure, pero puedes obtener una mayor visibilidad de tus instancias de Azure con el [Datadog Agent][1]. La instalación del Datadog Agent en tu entorno te permite recopilar datos adicionales que incluyen, entre otros: -- **Estado de la aplicación** -- **Utilización del proceso** +Después de configurar su integración de Azure, los rastreadores de Datadog recopilan automáticamente métricas de Azure, pero puede obtener una visibilidad aún más profunda en sus instancias de Azure con el [Datadog Agent][1]. Instalar el Datadog Agent en su entorno le permite recopilar datos adicionales, incluyendo, pero no limitándose a: +- **Salud de la aplicación** +- **Utilización de procesos** - **Métricas a nivel de sistema** -También puedes utilizar el cliente StatsD incorporado para enviar métricas personalizadas desde tus aplicaciones, para correlacionar lo que está sucediendo con tus aplicaciones, usuarios y sistema. Consulta la guía sobre [_¿Por qué debería instalar el Datadog Agent en mis instancias en la nube?_][15] para obtener más información sobre las ventajas de instalar el Datadog Agent en tus instancias. +También puede utilizar el cliente StatsD integrado para enviar métricas personalizadas desde sus aplicaciones, para correlacionar lo que está sucediendo con sus aplicaciones, usuarios y sistema. Consulte la guía sobre [_¿Por qué debería instalar el Datadog Agent en mis instancias en la nube?_][15] para obtener más información sobre los beneficios de instalar el Datadog Agent en sus instancias. -Utiliza la extensión de Azure para instalar el Datadog Agent en VMs de Windows, Linux x64 y Linux ARM. También puedes utilizar AKS Cluster Extension para desplegar el Agent en tus clústeres de AKS. +Utilice la extensión de Azure para instalar el Datadog Agent en VMs de Windows, VMs de Linux x64 y VMs de Linux basadas en ARM. También puede utilizar la Extensión de Clúster AKS para desplegar el Datadog Agent en sus Clústeres AKS. {{< tabs >}} {{% tab "Extensión de VM" %}} -1. En [Azure Portal][4], selecciona la VM adecuada. -2. En la barra lateral izquierda, en **Settings** (Configuración), selecciona **Extensions + applications (Extensiones + aplicaciones). -3. Haz clic en **+ Add** (+ Añadir). -4. Busca y selecciona la extensión `Datadog Agent`. -5. Haz clic en **Siguiente**. -6. Ingresa tu [clave de API de Datadog][2] y [sitio de Datadog][1], y haz clic en **OK** (Aceptar). +1. En el [portal de Azure][4], seleccione la VM apropiada. +2. Desde la barra lateral izquierda, bajo {{< ui >}}Settings{{< /ui >}}, seleccione {{< ui >}}Extensions + applications{{< /ui >}}. +3. Haga clic en {{< ui >}}+ Add{{< /ui >}}. +4. Busque y seleccione la extensión {{< ui >}}Datadog Agent{{< /ui >}}. +5. Haga clic en {{< ui >}}Next{{< /ui >}}. +6. Ingrese su [clave de API de Datadog][2] y [sitio de Datadog][1], y haga clic en {{< ui >}}OK{{< /ui >}}. -Para instalar el Agent en función del sistema operativo o herramienta de CI y CD, consulta las [instrucciones de instalación del Datadog Agent][3]. +Para instalar el Datadog Agent según el sistema operativo o herramienta de CI o CD, consulte las [instrucciones de instalación del Datadog Agent][3]. **Nota**: Los controladores de dominio no son compatibles al instalar el Datadog Agent con la extensión de Azure. @@ -325,27 +373,27 @@ Para instalar el Agent en función del sistema operativo o herramienta de CI y C [4]: https://portal.azure.com {{% /tab %}} -{{% tab "Extensión del clúster de AKS" %}} +{{% tab "Extensión del Clúster AKS" %}} -Datadog AKS Cluster Extension te permite desplegar el Datadog Agent de forma nativa en Azure AKS, evitando la complejidad de las herramientas de gestión de terceros. Para instalar el Datadog Agent con AKS Cluster Extension: +La Datadog AKS Cluster Extension permite desplegar el Datadog Agent de manera nativa dentro de Azure AKS, evitando la complejidad de las herramientas de gestión de terceros. Para instalar el Datadog Agent con la Extensión del Clúster AKS: -1. Dirígete a tu clúster de AKS en Azure Portal. -2. En la barra lateral izquierda del clúster de AKS, selecciona **Extensions + applications** (Extensiones + aplicaciones) en **Settings** (Configuración). -3. Busca y selecciona `Datadog AKS Cluster Extension` (Extensión del clúster de AKS de Datadog). -4. Haz clic en **Create** (Crear) y sigue las instrucciones del cuadro con tus [credenciales de Datadog][1] y el [sitio de Datadog][2]. +1. Vaya a su clúster AKS en el portal de Azure. +2. Desde la barra lateral izquierda del clúster AKS, seleccione {{< ui >}}Extensions + applications{{< /ui >}} bajo {{< ui >}}Settings{{< /ui >}}. +3. Busque y seleccione el {{< ui >}}Datadog AKS Cluster Extension{{< /ui >}}. +4. Haga clic en {{< ui >}}Create{{< /ui >}}, y siga las instrucciones en el mosaico usando sus [credenciales de Datadog][1] y [sitio de Datadog][2]. [1]: /es/account_management/api-app-keys/ [2]: /es/getting_started/site/ {{% /tab %}} {{< /tabs >}} -## Solucionar problemas +## Solución de Problemas {#troubleshooting} -Consulta [Solución de problemas][16] en la guía de configuración avanzada de Azure. +Consulte [Solución de Problemas][16] en la guía de Configuración Avanzada de Azure. -¿Necesitas más ayuda? Ponte en contacto con el [servicio de asistencia de Datadog][17]. +¿Aún necesita ayuda? Contacte a [soporte de Datadog][17]. -## Referencias adicionales +## Lectura Adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -388,4 +436,4 @@ Consulta [Solución de problemas][16] en la guía de configuración avanzada de [49]: https://github.com/DataDog/datadog-serverless-functions/blob/master/azure/blobs_logs_monitoring/index.js [51]: https://app.datadoghq.com/logs [52]: https://portal.azure.com/#create/Microsoft.Template/uri/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FDataDog%2Fintegrations-management%2Fmain%2Fazure%2Flogging_install%2Fdist%2Fforwarder.json -[53]: https://learn.microsoft.com/azure/azure-monitor/platform/diagnostic-settings +[53]: https://learn.microsoft.com/azure/azure-monitor/platform/diagnostic-settings \ No newline at end of file diff --git a/content/es/llm_observability/lapdog.md b/content/es/llm_observability/lapdog.md new file mode 100644 index 00000000000..517533c8b72 --- /dev/null +++ b/content/es/llm_observability/lapdog.md @@ -0,0 +1,168 @@ +--- +description: Ejecute un LLM Observability dashboard localmente para inspeccionar las + trazas del agente de codificación y de la aplicación en su navegador sin una cuenta + de Datadog. +further_reading: +- link: https://github.com/DataDog/dd-apm-test-agent/blob/master/lapdog/README.md + tag: GitHub + text: README de Lapdog en GitHub +- link: /llm_observability/instrumentation/sdk + tag: Documentación + text: Instrumente su aplicación con LLM Observability SDK. +- link: /llm_observability/instrumentation/auto_instrumentation + tag: Documentación + text: Auto-instrumentación para LLM Observability. +title: Lapdog +--- +## Descripción general {#overview} + +Lapdog es una herramienta de desarrollo local para LLM Observability. Ejecute un agente en `localhost:8126` que capture cada span, prompt, llamada a herramienta y costo de su aplicación LLM, o de un agente de codificación como Claude Code, Codex o Pi, y transmita estos datos a un dashboard en el navegador en [lapdog.datadoghq.com](https://lapdog.datadoghq.com). No se requiere una cuenta de Datadog. + +Lapdog está construido sobre el agente de prueba de código abierto [Datadog APM test agent][1]. También puede reenviar la telemetría capturada a Datadog para que los mismos datos aparezcan en LLM Observability junto con su tráfico de producción. + +## Lo que obtiene {#what-you-get} + +- Trazas por sesión con prompts, llamadas a herramientas y respuestas +- Uso de tokens y costo estimado, desglosado por entrada, salida y aciertos de caché +- Fricción de permisos: llamadas a herramientas restringidas y tiempos de espera +- Uso de ventana de contexto y tasa de aciertos de caché durante la sesión +- Estado en vivo del agente de codificación en ejecución (ejecutándose, inactivo, bloqueado) + +## Instalar {#install} + +{{< tabs >}} +{{% tab "Homebrew (macOS)" %}} + +```shell +brew install datadog/lapdog/lapdog +``` +{{% /tab %}} +{{% tab "pip / pipx" %}} + +```shell +pipx install ddapm-test-agent +# or: pip install ddapm-test-agent +``` +{{% /tab %}} +{{< /tabs >}} + +Para Docker, desde el código fuente y otros caminos de instalación, consulta la [guía de instalación de Lapdog][1]. + +## Ejecutar un agente de codificación {#run-a-coding-agent} + +Lapdog instrumenta agentes de codificación de extremo a extremo. Cada prompt, llamada a herramienta y solicitud de permiso se convierte en un tramo en una sesión que puede reproducir desde el dashboard. + +{{< tabs >}} +{{% tab "Claude Code" %}} + +```shell +lapdog claude +``` +Inicie el agente local, instale el complemento de Lapdog Claude Code y lance Claude Code. +{{% /tab %}} +{{% tab "Codex" %}} + +```shell +lapdog codex +``` +Inicie el agente local, luego lance Codex con un proxy compatible con OpenAI y un observador JSONL que capture cada LLM request, llamada a herramienta y paso en una sesión. +{{% /tab %}} +{{% tab "Pi" %}} + +```shell +lapdog pi +``` +Inicie el agente local, instale la extensión Lapdog Pi y lance Pi con `LAPDOG_URL` configurado. +{{% /tab %}} +{{% tab "Otro" %}} + +```shell +lapdog python my_app.py +``` +Ejecute cualquier comando con `ddtrace` auto-instrumentación apuntando al agente local. Útil para instrumentar su propia aplicación impulsada por LLM durante el desarrollo. +{{% /tab %}} +{{< /tabs >}} + +**Nota**: `lapdog claude` y `lapdog codex` están respaldados por proxy: el agente local de Lapdog se encuentra en la ruta de solicitud del modelo en vivo. Mantenga Lapdog en funcionamiento hasta que el agente de codificación salga. Si detiene o finaliza Lapdog a mitad de sesión, el agente de codificación lanzado puede dejar de avanzar en las llamadas al modelo. Reinicie el agente de codificación después de reiniciar Lapdog. `lapdog pi` y las configuraciones de hook-only fallan en modo abierto si Lapdog se detiene: el agente de codificación continúa ejecutándose, pero se pierden los datos capturados. + +## Ver sesiones {#view-sessions} + +Mientras una sesión está en ejecución, abra [lapdog.datadoghq.com](https://lapdog.datadoghq.com). El dashboard lee directamente de su agente local en `localhost:8126`; no se requiere iniciar sesión ni tener una cuenta de Datadog. + +Si ha cambiado el puerto local, sustitúyalo desde la {{< ui >}}Collecting sessions{{< /ui >}} insignia en el encabezado del dashboard. + +## Reenviar eventos a Datadog {#forward-events-to-datadog} + +Para enviar eventos capturados a LLM Observability en Datadog de forma dual, configure su clave de API y pase `--forward`: + +```shell +DD_API_KEY= lapdog --forward claude +``` + +Los tramos reenviados están etiquetados `source:lapdog` para que pueda distinguir las sesiones de desarrollo del tráfico de producción. + +## Comandos útiles {#useful-commands} + +| Comando | Qué hace | +| --- | --- | +| `lapdog claude` | Lance Claude Code con la captura conectada |. +| `lapdog codex` | Lance Codex con el proxy de OpenAI y el observador JSONL conectados |. +| `lapdog pi` | Lance Pi con la extensión Lapdog instalada |. +| `lapdog python app.py` | Ejecute cualquier aplicación con instrumentación de trazado |. +| `lapdog start` | Inicie el agente local en segundo plano |. +| `lapdog stop` | Detenga el agente en segundo plano |. +| `lapdog status` | Muestre si el agente está en ejecución |. + +Para la lista completa de opciones, ejecute `lapdog --help`. + +## Desinstalar {#uninstall} + +Siga estos pasos para eliminar Lapdog y el estado que escribe en su directorio de inicio. Su gestor de paquetes (Homebrew, pip o pipx) solo limpia lo que instaló; no afecta `~/.lapdog/`, el complemento Claude Code, ni la extensión Pi. + +1. Detenga el agente local: + + ```shell + lapdog stop + ``` + +2. Elimine el complemento Claude Code (si está instalado): + + ```shell + claude plugin uninstall lapdog@lapdog + claude plugin marketplace remove lapdog + ``` + +3. Elimine la extensión Pi (solo si ejecutó `lapdog pi`): + + ```shell + rm -f ~/.pi/agent/extensions/lapdog.ts + ``` + +4. Elimine el directorio de trabajo de Lapdog: + + ```shell + rm -rf ~/.lapdog + ``` + +5. Desinstale el paquete: + + {{< tabs >}} + {{% tab "Homebrew (macOS)" %}} + ```shell + brew uninstall lapdog + brew untap datadog/lapdog + ``` + {{% /tab %}} + {{% tab "pip / pipx" %}} + ```shell + pipx uninstall ddapm-test-agent + # or: pip uninstall ddapm-test-agent + ``` + {{% /tab %}} + {{< /tabs >}} + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://github.com/DataDog/dd-apm-test-agent/blob/master/lapdog/README.md \ No newline at end of file diff --git a/content/es/logs/explorer/_index.md b/content/es/logs/explorer/_index.md new file mode 100644 index 00000000000..df733da64f2 --- /dev/null +++ b/content/es/logs/explorer/_index.md @@ -0,0 +1,76 @@ +--- +aliases: +- /es/logs/explore +- /es/logs/patterns +- /es/logs/graph +- /es/logs/analytics +- /es/logs/explorer/list +- /es/logs/explorer/patterns +- /es/logs/explorer/transactions/ +description: Busque en todos sus registros y realice análisis de registros +further_reading: +- link: logs/explorer/live_tail + tag: Documentación + text: Previsualice sus registros en Live Tail +- link: logs/explorer/saved_views/ + tag: Documentación + text: Configure automáticamente su Log Explorer +- link: https://www.datadoghq.com/blog/datadog-clipboard/ + tag: Blog + text: Agregue una URL de Log Explorer a su portapapeles +- link: https://www.datadoghq.com/blog/send-amazon-vpc-flow-logs-to-data-firehose-and-datadog/ + tag: Blog + text: Envíe registros de flujo de Amazon VPC a Amazon Kinesis Data Firehose y Datadog +- link: https://www.datadoghq.com/blog/ai-powered-log-parsing + tag: Blog + text: Acelere las investigaciones con parseo de registros impulsado por IA +- link: https://learn.datadoghq.com/courses/log-explorer + tag: Centro de Aprendizaje + text: Comenzando con Log Explorer +title: Log Explorer +--- +## Resumen {#overview} + +El [**Log Explorer**][1] es su base de operaciones para la solución de problemas y exploración de registros Ya sea que comience desde cero, desde un [Saved View][2], o llegue aquí desde cualquier otro contexto, como notificaciones de Monitors o widgets de dashboard, puede buscar y filtrar, agrupar, visualizar y exportar registros en Log Explorer + +{{< img src="/logs/explore.png" alt="Explore sus registros ingeridos" style="width:100%;">}} + +## Buscar y filtrar {#search-and-filter} + +{{< ui >}}Search{{< /ui >}} y {{< ui >}}Filter{{< /ui >}} en los registros para reducir, ampliar o cambiar su enfoque en un subconjunto de registros adaptados a su interés actual + + - Para aprender más sobre cómo buscar registros en Log Explorer, lea [Search Logs][3] + - Para comenzar a crear consultas y usar facetas en Log Explorer, lea [Log Search Syntax][4] + - Para aprender cómo [Watchdog Insights][9] revela registros anómalos y valores anómalos en registros de errores dentro de su contexto de búsqueda, lea [Watchdog Insights for Logs][5] + +## Analice {#analyze} + +{{< ui >}}Group{{< /ui >}} sus registros consultados en entidades de nivel superior como campos, patrones y transacciones para derivar o consolidar información + +Para comenzar a identificar patrones y agregar registros por subconjuntos de eventos, consulte [Log Analytics][6] + +## Visualice {#visualize} + +{{< ui >}}Visualize{{< /ui >}} el resultado de sus filtros y agregaciones para comprender mejor sus registros y reunir información decisiva Por ejemplo, puede ver sus registros en una lista para organizar sus datos de registro en columnas, o en un gráfico de series temporales para medir sus datos de registro a lo largo del tiempo + +Para comenzar a visualizar datos de registro en Log Explorer, consulte [Log Visualizations][7] + +## Exporte {#export} + +También puede {{< ui >}}export{{< /ui >}} su vista de Log Explorer para reutilizarla más tarde o en diferentes contextos + +Para aprender cómo exportar sus consultas y visualizaciones de registros, consulte [Export Logs][8] + +## Lectura Adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/logs +[2]: /es/logs/explorer/saved_views/ +[3]: /es/logs/explorer/search +[4]: /es/logs/explorer/search_syntax/ +[5]: /es/logs/explorer/insights +[6]: /es/logs/explorer/analytics +[7]: /es/logs/explorer/visualize +[8]: /es/logs/explorer/export +[9]: /es/watchdog/insights \ No newline at end of file diff --git a/content/es/logs/explorer/facets.md b/content/es/logs/explorer/facets.md index 5ad3b8e61d2..4b6eed7d61f 100644 --- a/content/es/logs/explorer/facets.md +++ b/content/es/logs/explorer/facets.md @@ -1,236 +1,238 @@ --- algolia: tags: - - Facetas de logs + - log facets aliases: - /es/logs/facets -description: Facetas de logs y panel de facetas +description: Facetas de log y Panel de Facetas further_reading: - link: logs/explorer/analytics tag: Documentación - text: Realizar análisis de los logs + text: Realizar Análisis de Registros - link: logs/explorer/patterns tag: Documentación - text: Detecta patrones en tus logs + text: Detectar patrones dentro de sus registros - link: /logs/log_configuration/processors tag: Documentación - text: Aprende a procesar tus logs + text: Aprender a procesar sus registros - link: logs/explorer/saved_views tag: Documentación - text: Configura tu Log Explorer automáticamente -title: Facetas de logs + text: Configurar automáticamente su Explorador de Registros +- link: https://learn.datadoghq.com/courses/log-explorer + tag: Centro de Aprendizaje + text: Comenzando con el Explorador de Registros +title: Facetas de log --- +{{< img src="logs/explorer/facet/facets_in_explorer.mp4" alt="Facetas en el Explorador de Facetas de log" video=true style="width:100%;">}} -{{< img src="logs/explorer/facet/facets_in_explorer.mp4" alt="Facetas en la faceta de explorador" video=true style="width:100%;">}} +## Descripción General {#overview} -## Información general +Las facetas son etiquetas y atributos definidos por el usuario de sus registros indexados. Están destinadas para el análisis de datos cualitativos o cuantitativos. Como tal, puede usarlas en su Explorador de Registros para: -Las facetas son etiquetas (tags) y atributos definidos por el usuario a partir de tus logs indexados. Están pensadas para el análisis cualitativo o cuantitativo de datos. Como tales, pueden utilizarse en el Log Explorer para: - -- [Buscar en tus logs][1] -- [Definir patrones de logs][2] +- [Buscar en sus registros][1] +- [Definir patrones de log][2] - [Realizar análisis de logs][3] -Las facetas también te permiten manipular tus logs en tus [monitores de logs][4], widgets de logs en [dashboards][5] y [notebooks][6]. +Las facetas también le permiten manipular sus logs en sus [monitores de logs][4], widgets de logs en [tableros][5] y [notebooks][6]. -**Nota**: No necesitas facetas para admitir el [procesamiento de logs][7], [buscar en Live Tail][8], [buscar en el Explorador de logs][9], [generar métricas][10] de logs, reenviar [archivos][11] o [rehidratarlos][12]. Tampoco necesitas facetas para enrutar logs a través de [pipelines][13] e [índices][14] con filtros, o excluir o muestrear logs de índices con [filtros de exclusión][15]. +**Nota**: No necesita facetas para soportar [procesamiento de logs][7], [búsqueda en tiempo real][8], [búsqueda en el explorador de logs][9], [generación de métricas][10] a partir de logs, [archivado][11] de reenvíos, o [rehidratación][12]. Tampoco necesita facetas para enrutar logs a través de [Pipelines][13] e [Índices][14] con filtros, o excluir o muestrear logs de índices con [filtros de exclusión][15]. -En todos estos contextos, las capacidades de autocompletar se basan en facetas existentes, pero cualquier entrada que coincida con los logs entrantes funcionaría. +En todos estos contextos, las capacidades de autocompletar dependen de las facetas existentes, pero cualquier entrada que coincida con los logs entrantes funcionaría. -### Facetas cualitativas +### Facetas cualitativas {#qualitative-facets} -#### Dimensiones +#### Dimensiones {#dimensions} -Utiliza facetas cualitativas cuando necesites hacer lo siguiente: +Utiliza facetas cualitativas cuando necesites: -- Para **obtener información relativa** de los valores. Por ejemplo, crea una faceta en `http.network.client.geoip.country.iso_code` para ver los principales países más afectados por el número de errores 5XX en tus logs de acceso web [NGINX][16], mejorados con Datadog [GeoIP Processor][17]. -- Para **contar valores únicos**. Por ejemplo, crea una faceta en `user.email` a partir de tus logs de [Kong][18] para saber cuántos usuarios se conectan cada día a tu sitio web. -- Para **filtrar** frecuentemente tus logs a través de valores particulares. Por ejemplo, crear una faceta en una [etiqueta][19] de `environment` para limitar la solución de problemas a entornos de desarrollo, preparación o producción. +- Para **obtener información relativa** sobre los valores. Por ejemplo, crea una faceta en `http.network.client.geoip.country.iso_code` para ver los principales países más afectados por el número de errores 5XX en tus registros de acceso web de [NGINX][16], enriquecidos con el [Procesador GeoIP][17] de Datadog. +- Para **contar valores únicos**. Por ejemplo, crea una faceta en `user.email` de tus registros de [Kong][18] para saber cuántos usuarios se conectan cada día a tu sitio web. +- Para **filtrar** frecuentemente tus registros contra valores particulares. Por ejemplo, crea una faceta en un `environment` [etiqueta][19] para limitar la solución de problemas a entornos de desarrollo, pruebas o producción. -**Nota**: Aunque no es necesario crear facetas para filtrar valores de atributos, definirlas de acuerdo a atributos que utilices a menudo durante las investigaciones puede ayudarte a reducir el tiempo de resolución. +**Nota**: Aunque no es necesario crear facetas para filtrar por valores de atributos, definirlas en atributos que usas con frecuencia durante las investigaciones puede ayudar a reducir tu tiempo de resolución. -#### Tipos +#### Tipos {#types} -Las facetas cualitativas pueden ser de tipo cadena o numérico (entero). Mientras que la asignación de un tipo de cadena a una dimensión funciona en todos los casos, el uso de tipos enteros en una dimensión permite el filtrado de rangos, además de todas las capacidades mencionadas anteriormente. Por ejemplo, `http.status_code:[200 TO 299]` es una consulta válida para una dimensión de tipo entero. Consulta [sintaxis de búsqueda][1] como referencia. +Las facetas cualitativas pueden tener un tipo de cadena o numérico (entero). Mientras que asignar el tipo de cadena a una dimensión funciona en todos los casos, usar tipos enteros en una dimensión permite filtrar por rangos además de todas las capacidades mencionadas anteriormente. Por ejemplo, `http.status_code:[200 TO 299]` es una consulta válida para usar en una dimensión de tipo entero. Consulta la [sintaxis de búsqueda][1] como referencia. -### Facetas cuantitativas -#### Medidas +### Facetas cuantitativas {#quantitative-facets} +#### Medidas {#measures} -Utiliza medidas cuando necesites hacer lo siguiente: +Utiliza medidas cuando necesites: -- Para **agregar valores** de varios logs. Por ejemplo, crea una medida sobre el tamaño de los cuadros que brinda la [caché de Varnish][20] de un servidor de mapas y realiza un seguimiento del **rendimiento medio** diario, o de los principales remitentes por **suma** del tamaño del cuadro solicitado. -- Para **filtrar por rangos** tus logs. Por ejemplo, crea una medida sobre el tiempo de ejecución de las tareas de [Ansible][21] y mira la lista de los servidores que tienen el mayor número de ejecuciones que tardan más de 10 segundos. -- Para **clasificar logs** con respecto a ese valor. Por ejemplo, crea una medida sobre la cantidad de pagos realizados con tu microservicio de [Python][22]. A continuación, puedes buscar todos los logs, empezando por el de mayor cantidad. +- Para **agregar valores** de múltiples registros. Por ejemplo, crea una medida sobre el tamaño de los mosaicos servidos por la [caché de Varnish][20] de un servidor de mapas y lleva un registro del **promedio** de rendimiento diario, o los referidores más importantes por **suma** del tamaño de mosaico solicitado. +- Para **filtrar por rango** tus registros. Por ejemplo, crea una medida sobre el tiempo de ejecución de las tareas de [Ansible][21], y observa la lista de servidores que tienen más ejecuciones que tardan más de 10 segundos. +- Para **ordenar registros** en función de ese valor. Por ejemplo, crea una medida sobre la cantidad de pagos realizados con tu microservicio de [Python][22]. Luego puedes buscar todos los registros, comenzando con el que tiene la mayor cantidad. -#### Tipos +#### Tipos {#types-1} -Las medidas vienen con un valor entero (largo) o doble, para capacidades equivalentes. +Las medidas vienen con un valor de entero (largo) o doble, para capacidades equivalentes. -#### Unidades +#### Unidades {#units} -Las medidas admiten unidades en **tiempo** o **tamaño** para facilitar la gestión de las órdenes de magnitud en tiempo de consulta y visualización. +Las medidas soportan unidades en **tiempo** o **tamaño** para un manejo más fácil de órdenes de magnitud en el tiempo de consulta y el tiempo de visualización. | tipo | unidad(es) | |-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | BYTES | bit / byte / kibibyte / mebibyte / gibibyte / tebibyte / pebibyte / exbibyte | -| TIEMPO | nanosegundo / microsegundo / milisegundo / segundo / minuto / hora / día / semana | +| TIEMPO | nanosegundo / microsegundo / milisegundo / segundo / minuto / hora / día / semana | -La unidad es una propiedad de la propia medida, no del campo. Por ejemplo, piensa en una medida `duration` en nanosegundos: tienes logs de `service:A` donde `duration:1000` representa 1000 milisegundos, y otros logs de `service:B` donde `duration:500` representa 500 microsegundos: +La unidad es una propiedad de la medida misma, no del campo. Por ejemplo, considera una `duration` medida en nanosegundos: tienes registros de `service:A` donde `duration:1000` representa 1000 milisegundos, y otros registros de `service:B` donde `duration:500` representa 500 microsegundos: -1. Escala la duración en nanosegundos para todos los logs que entran con el [procesador aritmético][23]. Utiliza un multiplicador `*1000000` en logs de `service:A` y un multiplicador `*1000` en logs de `service:B`. -2. Utiliza `duration:>20ms` (consulta [sintaxis de búsqueda][1] como referencia) para consultar logs de forma coherente desde ambos servicios a la vez y consultar un resultado agregado de `1 min` como máximo. +1. Escala la duración en nanosegundos para todos los registros que fluyen con el [procesador aritmético][23]. Usa un `*1000000` multiplicador en los registros de `service:A`, y un `*1000` multiplicador en los registros de `service:B`. +2. Usa `duration:>20ms` (ver [sintaxis de búsqueda][1] para referencia) para consultar de manera consistente los registros de ambos servicios a la vez, y ver un resultado agregado de max `1 min`. -## Panel de facetas +## Panel de facetas {#facet-panel} -La barra de búsqueda proporciona el conjunto más completo de interacciones para filtrar y agrupar tus datos. Sin embargo, en la mayoría de los casos, es probable que el panel de facetas sea una forma más directa de navegar por los datos. Abre una faceta para ver un resumen de tu contenido en el contexto de la consulta actual. +La barra de búsqueda proporciona el conjunto más completo de interacciones para filtrar y agrupar tus datos. Sin embargo, en la mayoría de los casos, el panel de facetas es probablemente una forma más sencilla de navegar por sus datos. Abra una faceta para ver un resumen de su contenido en el contexto de la consulta actual. -Las **facetas (cualitativas)** vienen con una lista de valores principales únicos y un recuento de logs que coinciden con cada uno de ellos: +**Las facetas (cualitativas)** vienen con una lista principal de valores únicos y un conteo de registros que coinciden con cada uno de ellos: -{{< img src="logs/explorer/facet/dimension_facet.png" alt="Faceta de dimensión" style="width:30%;">}} +{{< img src="logs/explorer/facet/dimension_facet.png" alt="Faceta de Dimensión" style="width:30%;">}} -Limita la consulta de búsqueda haciendo clic en cualquiera de los valores. Al hacer clic en un valor, se alterna entre buscar este valor específico y todos los valores. Al hacer clic en las casillas de verificación, se añade o elimina este valor específico de la lista de todos los valores. Además, puedes buscar en su contenido: +Delimite la consulta de búsqueda haciendo clic en cualquiera de los valores. Hacer clic en un valor alterna la búsqueda en este valor único y en todos los valores. Hacer clic en las casillas de verificación agrega o quita este valor específico de la lista de todos los valores; también puede buscar en su contenido: -{{< img src="logs/explorer/facet/dimension_facet_wildcard.png" alt="Autocompletar faceta" style="width:30%;">}} +{{< img src="logs/explorer/facet/dimension_facet_wildcard.png" alt="Autocompletar de Facetas" style="width:30%;">}} -**Las medidas** vienen con un control deslizante que indica los valores mínimo y máximo. Utiliza el control deslizante o introduce valores numéricos para reducir la consulta de búsqueda a diferentes límites. +**Las Medidas** vienen con un control deslizante que indica valores mínimos y máximos. Utilice el control deslizante o ingrese valores numéricos para delimitar la consulta de búsqueda a diferentes límites. -{{< img src="logs/explorer/facet/measure_facet.png" alt="Faceta de medidas" style="width:30%;">}} +{{< img src="logs/explorer/facet/measure_facet.png" alt="Faceta de Medidas" style="width:30%;">}} -### Ocultar facetas +### Ocultar facetas {#hide-facets} -Tu organización dispone de toda una colección de facetas para abordar su amplio conjunto de casos de uso en todos los diferentes equipos que utilizan logs. Sin embargo, lo más probable es que solo un subconjunto de estas facetas sea valioso para ti en un contexto específico de solución de problemas. Oculta las facetas que no necesites de forma rutinaria y conserva solo las facetas más relevantes para tus sesiones para solucionar problemas. -1. En el [Explorador de logs][30], busca la faceta que quieres ocultar. -1. Haz clic en el icono de engranaje situado junto a la faceta. -1. Selecciona **Ocultar faceta**. +Su organización tiene una colección completa de facetas para abordar su conjunto integral de casos de uso en todos los diferentes equipos que utilizan registros. Sin embargo, es probable que solo un subconjunto de estas facetas sea valioso para usted en un contexto específico de resolución de problemas. Oculte las facetas que no necesita de manera rutinaria, para mantener solo las facetas más relevantes para sus sesiones de resolución de problemas. +1. En el [Explorador de Registros][30], encuentre la faceta que desea ocultar. +1. Haga clic en el ícono de engranaje junto a la faceta. +1. Seleccione {{< ui >}}Hide Facet{{< /ui >}}. -Las facetas ocultas siguen siendo visibles en la búsqueda de facetas (consulta la sección [Filtrar facetas](#filter-facets)) en caso de que lo necesites. Vuelve a mostrar las facetas ocultas desde ahí. +Las facetas ocultas aún son visibles en la búsqueda de facetas (vea la sección [Filtrar Faceta](#filter-facets)) en caso de que las necesite. Muestra las facetas ocultas desde allí. -Las facetas ocultas también se ocultan de la función autocompletar en la barra de búsqueda y de los desplegables (como medida, agrupar por) en los análisis para el Log Explorer. Sin embargo, las facetas ocultas siguen siendo válidas para las consultas de búsqueda (por ejemplo, si copias y pegas un enlace del Log Explorer). +Las facetas ocultas también están ocultas en la autocompletación de la barra de búsqueda y en los menús desplegables (como medida, agrupar) en análisis para el Explorador de Registros. Sin embargo, las facetas ocultas siguen siendo válidas para las consultas de búsqueda (en caso de que copies y pegues un enlace del explorador de registros, por ejemplo). -Las facetas ocultas no tienen ningún impacto aparte del Explorador de logs (por ejemplo, Live Tail, monitores o definiciones de widgets en dashboards). +Las facetas ocultas no tienen impacto aparte del explorador de registros (por ejemplo, cola en vivo, monitores o definiciones de widgets en los tableros). -#### Facetas ocultas y compañeros de equipo +#### Facetas ocultas y compañeros de equipo {#hidden-facets-and-teammates} -Ocultar facetas es específico de tu propio contexto de solución de problemas y no afecta a la vista de tus compañeros de equipo, a menos que actualices una [Vista guardada][24]. Las facetas ocultas forman parte del contexto guardado en una vista guardada. +Ocultar facetas es específico para tu propio contexto de solución de problemas y no afecta la vista de tus compañeros de equipo, a menos que actualices una [Vista Guardada][24]. Las facetas ocultas son parte del contexto guardado en una vista guardada. -### Facetas de grupo +### Agrupar facetas {#group-facets} -Las facetas se agrupan en temas significativos para facilitar la navegación en la lista de facetas. La asignación o reasignación de un grupo para una faceta solo afecta a la visualización en la lista de facetas y no tiene ningún impacto en las capacidades de búsqueda y análisis. +Las facetas se agrupan en temas significativos para facilitar la navegación en la lista de facetas. Asignar o reasignar un grupo para una faceta solo afecta la visualización en la lista de facetas y no tiene impacto en las capacidades de búsqueda y análisis. -{{< img src="logs/explorer/facet/group_facets.png" alt="Agrupar facetas" style="width:30%;">}} +{{< img src="logs/explorer/facet/group_facets.png" alt="Faceta de Grupo" style="width:30%;">}} Para agrupar facetas: 1. Haz clic en el engranaje de la faceta. -2. Selecciona **Edit facet** (Editar faceta). -3. Haz clic en la sección **Advanced options** (Opciones avanzadas) para ampliarla. -4. En el campo **Group** (Grupo), introduce el nombre del grupo en el que quieres que esté la faceta. -5. Haz clic en **Update** (Actualizar). +2. Selecciona {{< ui >}}Edit facet{{< /ui >}}. +3. Haz clic en la sección {{< ui >}}Advanced options{{< /ui >}} para expandirla. +4. En el campo {{< ui >}}Group{{< /ui >}}, ingrese el nombre del grupo en el que desea que esté la faceta. +5. Haga clic en {{< ui >}}Update{{< /ui >}}. -### Filtrar facetas +### Filtrar facetas {#filter-facets} -Utiliza el cuadro de búsqueda en las facetas para reducir toda la lista de facetas y navegar más rápidamente hasta aquella con la que necesitas interactuar. La faceta de búsqueda utiliza tanto el nombre visible de la faceta como el nombre del campo de la faceta para limitar los resultados. +Utilice el cuadro de búsqueda en las facetas para reducir toda la lista de facetas y navegar más rápidamente a la que necesite interactuar. La búsqueda de facetas utiliza tanto el nombre de visualización de la faceta como el nombre del campo de la faceta para limitar los resultados. -{{< img src="logs/explorer/facet/search_facet.png" alt="Buscar facetas" style="width:30%;">}} +{{< img src="logs/explorer/facet/search_facet.png" alt="Buscar Faceta" style="width:30%;">}} -### Facetas con alias +### Facetas aliasadas {#aliased-facets} -Algunas facetas pueden tener alias (consulta la sección [faceta con alias](#alias-facets)). Las facetas con alias siguen siendo válidas para explorar y analizar, pero tu organización las considera obsoletas: +Algunas facetas pueden haber sido aliasadas (vea la sección de [faceta aliasada](#alias-facets)). Las facetas aliasadas siguen siendo válidas para segmentar y analizar, pero son consideradas obsoletas por su organización: -{{< img src="logs/explorer/facet/aliased_facet.png" alt="Facetas con alias" style="width:30%;">}} +{{< img src="logs/explorer/facet/aliased_facet.png" alt="Faceta Aliasada" style="width:30%;">}} -Al solucionar problemas, es más probable que encuentres contenidos de otros equipos (junto con contenidos de tu equipo) en la faceta _standard_ (estándar) que en la faceta _aliased_ (con alias). Esto facilita la correlación de contenidos de diversos orígenes. +Al solucionar problemas, es más probable que encuentre contenido de otros equipos (junto con contenido de su equipo) en la faceta _estándar_ en lugar de la faceta _aliasada_. Esto hace que la correlación de contenido de diversos orígenes sea más sencilla. -Si ves una faceta con alias en tu lista de facetas, considera usar la faceta _standard_ (estándar) en su lugar, haciendo clic en el elemento del menú **switch to alias** (cambiar a alias). Esta acción oculta la faceta con alias y desoculta la faceta estándar. Si esto te obliga a actualizar una vista guardada, considera guardar la vista guardada para que el alias se aplique a todos los que utilicen esta vista guardada. +Si ve una faceta aliasada en su lista de facetas, considere usar la faceta _estándar_ en su lugar haciendo clic en el elemento de menú {{< ui >}}switch to alias{{< /ui >}}. Esta acción oculta la faceta aliasada y muestra la faceta estándar. Si hacerlo le obliga a actualizar una vista guardada, considere guardar la vista guardada para que el aliasing se aplique a todos los que usen esta vista guardada. -{{< img src="logs/explorer/facet/switch_facet.png" alt="Cambiar faceta" style="width:30%;">}} +{{< img src="logs/explorer/facet/switch_facet.png" alt="Cambiar Faceta" style="width:30%;">}} -Es posible que desees conservar la versión _aliased_ (con alias) no estándar de la faceta si estás solucionando problemas en cuanto a contenido antiguo (antes de que tu organización haya configurado los alias para esta faceta). +Puede que desee mantener la versión no estándar _aliasada_ de la faceta si está solucionando problemas con contenido antiguo (antes de que su organización haya configurado el aliasing para esta faceta). -## Gestionar facetas +## Gestionar facetas {#manage-facets} -### Facetas predeterminadas +### Facetas listas para usar {#out-of-the-box-facets} -Las facetas más habituales, como `Host` y `Service`, vienen listas para usar, por lo que puedes empezar a solucionar problemas de inmediato una vez que tus logs fluyan hacia los índices de logs. +Las facetas más comunes como `Host` y `Service` vienen listas para usar, por lo que puede comenzar a solucionar problemas de inmediato una vez que sus registros fluyan hacia los índices de registro. -Las facetas de [Atributos reservados][25] y la mayoría de [Atributos estándar][26] están disponibles por defecto. +Las facetas en [Atributos Reservados][25] y la mayoría de los [Atributos Estándar][26] están disponibles por defecto. -### Faceta de índice +### Faceta de índice {#index-facet} -La faceta de índice es una faceta específica que solo aparece si tu organización tiene [múltiples índices][27] o si tienes [vistas históricas][28] activas. Utiliza esta faceta si deseas reducir tu consulta a un subconjunto de índices. +La faceta de índice es una faceta específica que aparece solo si su organización tiene [múltiples índices][27], y/o si tiene vistas [históricas activas][28]. Use esta faceta si desea limitar su consulta a un subconjunto de sus índices. -{{< img src="logs/explorer/facet/index_facet_.png" alt="Crear facetas" style="width:30%;">}} +{{< img src="logs/explorer/facet/index_facet_.png" alt="Crear Faceta" style="width:30%;">}} -### Crear facetas +### Crear facetas {#create-facets} -Como práctica recomendada, considera siempre utilizar una faceta existente en lugar de crear una nueva (consulta la sección [alias-facets](#alias-facets)). Utilizar una faceta única para obtener información de naturaleza similar fomenta la colaboración entre equipos. +Como buena práctica, siempre considere usar una faceta existente en lugar de crear una nueva (vea la sección de [facetas aliasadas](#alias-facets)). Usar una faceta única para información de naturaleza similar fomenta la colaboración entre equipos. -Para crear una faceta en una matriz de objetos JSON, primero usa un [analizador grok][29] para extraer el atributo y luego crea una faceta para ese atributo. +Para crear una faceta en un arreglo de objetos JSON, primero utilice un [analizador grok][29] para extraer el atributo y luego cree una faceta para ese atributo. -**Nota**: Una vez creada una faceta, su contenido se rellena **para todos los nuevos logs**. Para un uso óptimo de la solución Log Management, Datadog recomienda utilizar como máximo 1000 facetas. +**Nota**: Una vez que se crea una faceta, su contenido se llena **para todos los nuevos registros**. Para un uso óptimo de la solución de Gestión de Registros, Datadog recomienda usar como máximo 1000 facetas. -#### Panel lateral de logs +#### Panel lateral de registros {#log-side-panel} -La forma más sencilla de crear una faceta es añadirla desde el panel lateral de logs, donde la mayoría de los detalles de la faceta -como el nombre del campo o el tipo de datos subyacente- están precargados y solo es cuestión de volver a comprobarlos. En el [Log Explorer][1], accede a cualquier log de interés que contenga el campo para crear una faceta. Abre el panel lateral para este log, haz clic en el campo correspondiente (ya sea en etiquetas o en atributos) y crea una faceta desde ahí: +La forma más fácil de crear una faceta es agregarla desde el panel lateral de registros, donde la mayoría de los detalles de la faceta—como el nombre del campo o el tipo de datos subyacente—ya están prellenados y solo es cuestión de verificarlos. Navegue en el [Explorador de Registros][1] hacia el registro de interés que contenga el campo para crear una faceta. Abra el panel lateral para este registro, haga clic en el campo correspondiente (ya sea en etiquetas o en atributos) y cree una faceta desde allí: -- Si el campo contiene un valor de cadena, solo está disponible la creación de facetas. -- Si el campo tiene un valor numérico, se pueden crear tanto facetas como medidas. +- Si el campo tiene un valor de cadena, solo está disponible la creación de facetas. +- Si el campo tiene un valor numérico, están disponibles tanto la creación de facetas como la de medidas. -{{< img src="logs/explorer/facet/create_facet_from_attribute.png" alt="Crear una faceta desde un atributo" style="width:30%;">}} +{{< img src="logs/explorer/facet/create_facet_from_attribute.png" alt="Crear faceta desde atributo" style="width:30%;">}} -**Nota**: No se recomienda usar más de 1000 facetas. +**Nota**: Como mejor práctica, se recomienda no usar más de 1000 facetas. -#### Lista de facetas +#### Lista de facetas {#facet-list} -En caso de que no sea posible encontrar una faceta que coincida con el log, crea una nueva faceta directamente desde el panel de facetas utilizando el botón _add facet_ (Añadir faceta). +En caso de que no sea posible encontrar un registro coincidente, cree una nueva faceta directamente desde el panel de facetas usando el botón _agregar faceta_. -Define el nombre del campo subyacente (clave) de esta faceta: +Defina el nombre del campo subyacente (clave) para esta faceta: -- Utiliza el nombre de la clave de etiqueta para etiquetas. -- Utiliza la ruta de atributo para los atributos, con el prefijo `@`. +- Utilice el nombre de clave de etiqueta para etiquetas. +- Utilice la ruta del atributo para atributos, con `@` prefijo. -El autocompletado basado en el contenido en logs de las vistas actuales te ayuda a definir el nombre de campo adecuado. Pero puedes utilizar prácticamente cualquier valor aquí, específicamente en el caso de que aún no tengas logs coincidentes que fluyan en tus índices. +La autocompletación basada en el contenido de los registros de las vistas actuales le ayuda a definir el nombre de campo adecuado. Pero puede usar prácticamente cualquier valor aquí, específicamente en el caso de que aún no tenga registros coincidentes fluyendo en sus índices. -{{< img src="logs/explorer/facet/create_facet_from_scratch.png" alt="Crear faceta desde cero" style="width:30%;">}} +{{< img src="logs/explorer/facet/create_facet_from_scratch.png" alt="Cree una faceta desde cero" style="width:30%;">}} -### Facetas de alias +### Facetas aliasadas {#alias-facets} -La agrupación de contenidos similares en una única faceta permite el análisis entre equipos y facilita el trabajo entre equipos para solucionar problemas; consulta [Convención de nomenclatura][26] como referencia. +Reunir contenido similar bajo una faceta única permite análisis entre equipos y facilita la solución de problemas entre equipos; consulte [Convención de Nombres][26] para referencia. -Utiliza los alias como opción para coordinar sin problemas a los equipos que dependen de convenciones de nomenclatura incoherentes. Con los alias, puedes hacer que todos ellos utilicen la faceta estándar que surge de tu organización. +Utilice el alias como una opción para realinear suavemente a los equipos que dependen de convenciones de nombres inconsistentes. Con el alias, puede hacer que todos usen la faceta estándar que surge para su organización. -#### Utilizar alias de faceta a faceta +#### Alias de faceta a faceta {#aliasing-facet-to-facet} -Esta es la mejor opción si varios equipos de tu organización ya han creado múltiples facetas para contenidos similares. +Esta es la mejor opción si múltiples equipos en su organización ya han creado múltiples facetas para contenido similar. -Al colocar un alias en una faceta _aliased_ (con alias) hacia una faceta _standard_ (estándar): +Al aliasar una faceta _aliasada_ hacia una faceta _estándar_: -- Los usuarios pueden utilizar facetas aliased (con alias) y facetas standard (estándar) para solucionar problemas. Es posible que prefieran las facetas estándar, que facilitan la correlación de contenidos procedentes de fuentes diversas y posiblemente heterogéneas. -- Se anima a los usuarios a utilizar la faceta estándar en lugar de la faceta con alias. +- Los usuarios pueden usar tanto facetas aliasadas como estándar para la solución de problemas. Puede preferir la estándar, que facilita la correlación de contenido que fluye de fuentes diversas y posiblemente heterogéneas. +- Se sugiere a los usuarios que usen la faceta estándar en lugar de la faceta aliasada. -Para convertir una faceta en estándar, selecciona la acción `Alias to...` en el menú de facetas. Elige la faceta de destino entre todas las facetas [estándar][14] de tu organización. +Para asignar un alias a una faceta estándar, seleccione el elemento de acción {{< ui >}}Alias to...{{< /ui >}} en el menú de facetas. Elija las facetas de destino de entre todas las [estándar][14] que existen para su organización. -{{< img src="logs/explorer/facet/alias_modal.png" alt="modo de alias" style="width:30%;">}} +{{< img src="logs/explorer/facet/alias_modal.png" alt="modal de alias" style="width:30%;">}} -#### Utilizar alias de atributo a faceta +#### Asignar alias de atributo a faceta {#aliasing-attribute-to-facet} -Esta es la mejor opción si incorporas logs desde nuevas fuentes. En lugar de crear una faceta para algún campo en esos logs, y justo después dejar obsoleta esta faceta al colocar un alias en una faceta estándar, utiliza un alias en el campo directamente a una faceta existente: +Esta es la mejor opción si incorpora registros que fluyen de nuevas fuentes. En lugar de crear una faceta para algún campo en esos registros, y justo después de deprecar esta faceta asignándole un alias a una faceta estándar, asigne el alias del campo directamente a una faceta existente: -{{< img src="logs/explorer/facet/alias_facet_from_attribute.png" alt="Utiliza un alias en una faceta desde un atributo" style="width:30%;">}} +{{< img src="logs/explorer/facet/alias_facet_from_attribute.png" alt="Asigne alias de faceta desde atributo" style="width:30%;">}} -## Borrar una faceta +## Eliminar una faceta {#delete-a-facet} -
La eliminación de una faceta que está siendo utilizada en índices, monitores, dashboards, consultas de restricción, o por otros equipos puede causar que las configuraciones se rompan.
+
Eliminar una faceta que se está utilizando en índices, monitores, tableros, consultas de restricción o por otros equipos puede causar que las configuraciones se rompan.
-Para eliminar una faceta, sigue estos pasos: +Para eliminar una faceta, siga estos pasos: -- Haz clic en **Showing xx of xx** (Mostrar xx de xx) en la parte superior del panel de facetas. -- Buscar tu faceta. -- Haz clic en el icono del lápiz de tu faceta. -- Haz clic en **Delete** (Borrar). +- Haga clic en {{< ui >}}Showing xx of xx{{< /ui >}} en la parte superior del panel de facetas. +- Busque su faceta. +- Haga clic en el ícono de lápiz para su faceta. +- Haga clic en {{< ui >}}Delete{{< /ui >}}. -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -250,13 +252,13 @@ Para eliminar una faceta, sigue estos pasos: [14]: /es/logs/indexes/#indexes-filters [15]: /es/logs/indexes/#exclusion-filters [16]: /es/integrations/nginx/ -[17]: /es/logs/log_configuration/processors/#geoip-parser +[17]: /es/logs/log_configuration/processors/geoip_parser/ [18]: /es/integrations/kong/ [19]: /es/getting_started/tagging/assigning_tags/ [20]: /es/integrations/varnish/ [21]: /es/integrations/ansible/ [22]: /es/integrations/python/ -[23]: /es/logs/log_configuration/processors/#arithmetic-processor +[23]: /es/logs/log_configuration/processors/arithmetic_processor/ [24]: /es/logs/explorer/saved_views/ [25]: /es/logs/log_configuration/attributes_naming_convention/#reserved-attributes [26]: /es/logs/log_configuration/attributes_naming_convention diff --git a/content/es/logs/guide/azure-automated-log-forwarding.md b/content/es/logs/guide/azure-automated-log-forwarding.md index 37186bc8e96..ce97b9f3159 100644 --- a/content/es/logs/guide/azure-automated-log-forwarding.md +++ b/content/es/logs/guide/azure-automated-log-forwarding.md @@ -5,140 +5,196 @@ aliases: further_reading: - link: https://www.datadoghq.com/blog/monitoring-azure-platform-logs/ tag: Blog - text: Prácticas recomendadas para monitorizar logs de la plataforma Microsoft Azure -title: Configuración del reenvío automatizado de logs de Azure + text: Mejores prácticas para monitorear los registros de la plataforma Microsoft + Azure +title: Configuración de reenvío automático de registros de Azure --- +## Descripción general {#overview} -## Información general +Utiliza esta guía para configurar y gestionar el reenvío automático de registros de Azure. Puedes configurar el reenvío de registros directamente en Datadog o implementarlo con una plantilla de Azure Resource Manager (ARM). -Utiliza esta guía para automatizar la configuración de reenvío de logs de Azure con una plantilla de Azure Resource Manager (ARM). +La plantilla de ARM implementa recursos de una serie de servicios de Azure (cuentas de almacenamiento y aplicaciones de función) en tus suscripciones, que recopilan y reenvían registros a Datadog. Estos servicios se escalan automáticamente hacia arriba o hacia abajo para coincidir con el volumen de registros. El escalado es gestionado por un plano de control, que es un conjunto de aplicaciones de función implementadas en una suscripción y región de su elección. Las cuentas de almacenamiento y las aplicaciones de función se implementan en cada una de las suscripciones que reenvían registros a Datadog. -La plantilla ARM despliega recursos de una serie de servicios Azure (cuentas de almacenamiento y aplicaciones de función) en tus suscripciones, que recopilan y reenvían logs a Datadog. Los escalados de estos servicios aumentan o disminuyen automáticamente para adaptarse al volumen de logs. El escalado se gestiona mediante un plano de control, que es un conjunto de aplicaciones de función desplegadas en una suscripción y región de tu elección. Las cuentas de almacenamiento y las aplicaciones de función se despliegan en cada una de las suscripciones que reenvían logs a Datadog. +**Todos los sitios**: El reenvío automático de registros está disponible para usar en todos los [sitios de Datadog][4]. -**Todos los sitios**: El reenvío automatizado de logs está disponible en todos los [sitios Datadog][4]. +**Entornos de Azure compatibles**: El reenvío automático de registros solo es compatible con la nube comercial (pública) de Azure. Azure Government y Azure China no son compatibles. Si utiliza sitios gubernamentales de Datadog, solo puede usar esta función con cargas de trabajo en la nube comercial de Azure. -## Cómo elegir entre la configuración automática y la manual +## Cómo elegir entre la configuración automática y manual {#how-to-choose-between-automated-and-manual-setup} -Elige el método de configuración manual si lo deseas: - - aplica etiquetas personalizadas a tus recursos +Elija el método de configuración manual si desea: + - aplicar etiquetas personalizadas a sus recursos -Utiliza el método de configuración automática si lo deseas: - - automatiza el despliegue a través del portal de Azure - - gestiona tu infraestructura mediante plantillas declarativas - - control centralizado de accesos, etiquetas y facturación - - redistribuye tus recursos en el orden correcto y de forma coherente - - ahorra costes utilizando una cuenta de almacenamiento en lugar de un centro de eventos +Utilice el método de configuración automática si desea: + - automatizar la implementación a través del portal de Azure + - gestionar su infraestructura a través de plantillas declarativas + - controlar centralmente el acceso, las etiquetas y la facturación + - redistribuir sus recursos en el orden correcto y de manera consistente + - ahorrar costos utilizando una cuenta de almacenamiento en lugar de un hub de eventos -## Configuración +## Configurar {#setup} -Comienza por abrir la plantilla Azure Log Forwarding ARM correspondiente a tu entorno de Azure, o haz clic en **+ Add Log Collection** (+ Añadir recopilación de logs) en el [cuadro de integración de Azure][14]. +### Configurar el reenvío de registros {#configure-log-forwarding} - - [Azure Public][1] - - [Azure Government][6] - - [Azure China][7] +Utilice el flujo de **Configurar el reenvío de registros** para configurar nuevos o gestionar Forwarders existentes directamente en Datadog. Puede utilizar este flujo para implementar el reenvío automático de registros desde cero o actualizar una configuración existente, como agregar o eliminar suscripciones o modificar filtros de registros. -Las secciones siguientes ofrecen instrucciones para cumplimentar cada página de la plantilla. +1. In Datadog, navegue a [{{< ui >}}Integrations > Azure{{< /ui >}}][16]. +1. Haga clic en {{< ui >}}Configure Log Forwarding{{< /ui >}}. +1. Elija implementar una nueva configuración o actualizar una existente. +1. Copie el comando proporcionado y péguelo en su Azure Cloud Shell. +1. Seleccione las suscripciones de las que desea reenviar registros. +1. Opcionalmente, agregue o elimine filtros de registros. +1. Haga clic en {{< ui >}}Confirm{{< /ui >}}. -### Conceptos básicos +### Plantilla ARM {#arm-template} -1. En **Detalles del proyecto**, selecciona el grupo de gestión. Esto es necesario para que la plantilla ARM conceda permisos a las suscripciones que seleccionas para el reenvío automatizado de logs. -2. En **Detalles de la instancia**, selecciona valores para: - - **Región**. Aquí es donde se despliega el plano de control. - - **Suscripciones para el reenvío de logs**. Son las suscripciones que deben configurarse para el reenvío de logs. - - **Suscripción del plano de control**. Es la suscripción en la que se despliega el plano de control. - - **Nombre del grupo de recursos**. Es el grupo de recursos que utilizará el plano de control. Es recomendado elegir un nuevo nombre de grupo de recursos no utilizado para simplificar la gestión de servicios del plano de control. +Alternativamente, puede implementar el reenvío automático de registros con una [plantilla ARM pública de Azure][1]. Las secciones a continuación proporcionan instrucciones para completar cada página de la plantilla. -{{< img src="logs/guide/azure-automated-log-forwarding/deployment_basics.png" alt="Página Elementos básicos de la plantilla ARM para el reenvío automatizado de logs de Azure" popup="true" style="width:100%">}} +#### Conceptos básicos {#basics} -3. Haz clic en **Siguiente**. +1. Bajo {{< ui >}}Project details{{< /ui >}}, seleccione el grupo de administración. Esto es necesario para que la plantilla ARM otorgue permisos a las suscripciones que seleccione para el reenvío automático de registros. +2. Bajo {{< ui >}}Instance details{{< /ui >}}, seleccione valores para: + - {{< ui >}}Region{{< /ui >}}. Aquí es donde se despliega el plano de control. + - {{< ui >}}Subscriptions to Forward Logs{{< /ui >}}. Estas son las suscripciones que se configurarán para el reenvío de registros. + - {{< ui >}}Control Plane Subscription{{< /ui >}}. Esta es la suscripción a la que se despliega el plano de control. + - {{< ui >}}Resource Group Name{{< /ui >}}. Este es el grupo de recursos que utilizará el plano de control. Se recomienda elegir un nombre de grupo de recursos nuevo y no utilizado para simplificar la gestión de los servicios del plano de control. -### Configuración de Datadog +{{< img src="logs/guide/azure-automated-log-forwarding/deployment_basics.png" alt="La página de conceptos básicos de la plantilla ARM para el reenvío automatizado de registros de Azure" popup="true" style="width:100%">}} -1. Introduce el valor de tu [clave de API Datadog][2]. -2. Selecciona tu [sitio Datadog][4]. +3. Haga clic en {{< ui >}}Next{{< /ui >}}. -{{< img src="logs/guide/azure-automated-log-forwarding/deployment_datadog_configuration_2025-02-18.png" alt="Página Configuración de Datadog de la plantilla ARM para el reenvío automatizado de logs de Azure" popup="true" style="width:100%">}} +#### Configuración de Datadog {#datadog-configuration} -3. Haz clic en **Siguiente**. +1. Ingrese su valor de [clave de API de Datadog][2]. +2. Seleccione su [sitio de Datadog][4]. -### Implementación +{{< img src="logs/guide/azure-automated-log-forwarding/deployment_datadog_configuration_2025-02-18.png" alt="La página de configuración de Datadog de la plantilla ARM para el reenvío automatizado de registros de Azure" popup="true" style="width:100%">}} -1. Haz clic en la casilla para confirmar que recibiste las advertencias del despliegue. -2. Haz clic en **Review + create** (Revisar + crear). +3. Haga clic en {{< ui >}}Next{{< /ui >}}. -### Revisar + crear +#### Despliegue {#deployment} -1. Revisa los detalles del despliegue finalizado. -2. Haz clic en **Create** (Crear). +1. Marque la casilla para reconocer las advertencias de despliegue. +2. Haga clic en {{< ui >}}Review + create{{< /ui >}}. -## Arquitectura +#### Revisar + crear {#review-create} -### Servicios utilizados +1. Revise los detalles de implementación finalizados. +2. Haga clic en {{< ui >}}Create{{< /ui >}}. -- Las aplicaciones [Azure Function][15] se utilizan para detectar recursos en tus suscripciones de Azure, escalar reenviadores de logs y configurar ajustes de diagnóstico en los recursos detectados. -- Las [Azure Container Apps][8] se utilizan para recopilar logs de recursos generados por los parámetros de diagnóstico, realizar un seguimiento de los logs que ya se procesaron y enviarlos a Datadog. -- Las [cuentas de Azure Storage][9] se utilizan para almacenar logs generados por tus recursos, así como una pequeña caché de metadatos como los ID de suscripciones, los ID de recursos y las regiones. +## Filtrado de etiquetas de recursos {#resource-tag-filtering} -### Arquitectura de alto nivel +Puede usar filtros de etiquetas para controlar qué recursos de Azure tienen sus registros reenviados a Datadog. Para la sintaxis de filtros de etiquetas, soporte de comodines y ejemplos, consulte [Filtrado de etiquetas de recursos][21] en la guía de inicio de Azure. -{{Architecture diagram showing three main components of Azure automated log forwarding: Control Plane and Log Forwarder (deployed by Datadog to customer environments) connecting to Azure Resources}} +## Espacios de trabajo de Log Analytics {#log-analytics-workspaces} -La plantilla de despliegue configura un [plano de control](#control-plane) y [reenviadores de logs](#log-forwarders) en las suscripciones seleccionadas. +Puede reenviar registros desde los Espacios de trabajo de Log Analytics de Azure (LAWs) a Datadog a través del reenvío automático de registros. Anteriormente, Datadog solo admitía registros de [configuración de diagnóstico][13] de LAWs. Con [reglas de exportación de datos][17], también puede reenviar registros desde las Tablas de Registros de LAW a Datadog. -#### Plano de control +### Restricciones {#restrictions} -El plano de control es un conjunto de aplicaciones Azure Function y una cuenta de almacenamiento para caché. Un plano de control se despliega en la suscripción elegida y realiza las siguientes tareas: -- Detección de recursos en las suscripciones elegidas que pueden generar logs a través de los parámetros de diagnóstico. -- Configuración automática de los parámetros de diagnóstico en los recursos detectados para enviar logs a una cuenta de almacenamiento que los reenviadores de logs están rastreando. -- Escalado de los reenviadores de logs en las regiones donde se encuentran tus recursos, lo que les permite adaptarse dinámicamente al volumen de logs. +- Solo puede configurar el reenvío para recursos de LAW dentro de la misma región que el reenvío de registros. +- Puede tener un máximo de 10 reglas de exportación de datos en un LAW. Si el LAW no tiene capacidad restante para una Regla de Exportación de Datos, elimine una regla existente para hacer espacio. +- No todas las tablas de registros pueden ser exportadas. Consulte la lista de Microsoft de [tablas no admitidas][18]. -#### Reenviadores de logs +### Reenvíe registros desde un Espacio de trabajo de Log Analytics {#forward-logs-from-a-log-analytics-workspace} -Los reenviadores de logs consisten en un trabajo de Azure Container Apps y una cuenta de almacenamiento para logs. El plano de control los despliega en cada suscripción que selecciones para el reenvío de logs. El número de reenviadores de logs desplegados por suscripción varía en función del volumen de logs generado por tus recursos. Los reenviadores de logs realizan las siguientes tareas: -- Almacenan temporalmente logs generados a partir de los parámetros de diagnóstico de tus recursos en una cuenta de almacenamiento. -- Procesa los logs almacenados y los reenvía a Datadog. +1. Si aún no ha creado un Forwarder de registros automático, siga las instrucciones de [Configuración](#setup). Si ya tiene un Forwarder de registros, asegúrese de que esté actualizado a la última versión. +2. En el [Portal de Azure][19], navegue hasta el Espacio de trabajo de Log Analytics deseado. +3. Bajo {{< ui >}}Settings{{< /ui >}}, haga clic en {{< ui >}}Data export{{< /ui >}}. +4. Haga clic en {{< ui >}}New export rule{{< /ui >}}. +5. Asigne un nombre a la regla, verifique {{< ui >}}Enable upon creation{{< /ui >}} y haga clic en {{< ui >}}Next{{< /ui >}}. +6. Seleccione las tablas para exportar. Puede modificar esta selección más tarde editando la regla de exportación de datos. Haga clic en {{< ui >}}Next{{< /ui >}}. +7. Para {{< ui >}}Destination type{{< /ui >}}, seleccione {{< ui >}}Storage Account{{< /ui >}}. Seleccione la suscripción que contiene su Forwarder de registros y elija una cuenta de almacenamiento para el Forwarder de registros. Estas cuentas típicamente tienen el prefijo `ddlogstorage`. Haga clic en {{< ui >}}Next{{< /ui >}}. +8. Revise la regla y haga clic en {{< ui >}}Create{{< /ui >}}. Los registros del LAW comienzan a aparecer en Datadog en unos minutos. -En Azure, los parámetros de diagnóstico de un recurso solo pueden apuntar a cuentas de almacenamiento dentro de la misma región. Por lo tanto, los reenviadores se activan en cada región en la que existen recursos con parámetros de diagnóstico. +### Solución de problemas {#troubleshooting} -Consulta la página [Parámetros de diagnóstico en Azure Monitor][13] de Azure para obtener más información. +#### Los registros no están apareciendo en Datadog {#logs-are-not-appearing-in-datadog} -### Arquitectura detallada +Si ha creado una regla de exportación de datos pero no ve registros en Datadog: -{{Workflow diagram showing Azure automated log forwarding: the Control Plane discovers resources, scales log forwarders across regions, configures diagnostic settings to send logs to storage accounts, and then Container Apps check for and forward new logs to Datadog Log Management.}} +1. Verifique que la regla de exportación de datos esté habilitada. +1. Verifique que la cuenta de almacenamiento de destino sea una creada por el Forwarder de registros automatizado (el nombre típicamente comienza con `ddlogstorage`). +1. En la cuenta de almacenamiento, inspeccione los contenedores. Los contenedores con el prefijo `am-` indican exportaciones de LAW. Si solo ve contenedores con el prefijo `insights-`, la regla de exportación de datos puede estar configurada incorrectamente. +1. Verifique que el LAW haya recopilado nuevos registros en las últimas dos horas. -### Seguridad y permisos +Consulte la [FAQ de solución de problemas de exportación de datos de Microsoft][20] para obtener información adicional. -La plantilla de ARM concede al plano de control solo los permisos necesarios para gestionar los reenviadores y colocar parámetros de diagnóstico en tus recursos. Para esto, se crean grupos de recursos y se conceden permisos durante el despliegue de la plantilla de ARM. Después, puedes añadir permisos para más suscripciones volviendo a desplegar la plantilla de ARM. +#### Seleccionando qué registros se exportan {#selecting-which-logs-are-exported} -#### Permisos utilizados +La regla de exportación de datos le permite especificar qué tablas de registros de su espacio de trabajo de Log Analytics se exportan. Edite la regla de exportación de datos para agregar o eliminar tablas. -- Rol de [Colaborador de monitorización][10] a nivel de **suscripción** para las suscripciones seleccionadas. - - Esto es necesario para detectar recursos con parámetros de diagnóstico disponibles y habilitar la salida de los logs al almacenamiento. +#### Latencia esperada {#expected-latency} -- Rol de [Colaborador][11] a nivel de **grupo de recursos**, para los grupos de recursos de reenvío de logs de las suscripciones seleccionadas. - - Esto es necesario para gestionar (crear y eliminar) cuentas de almacenamiento de reenviadores y trabajos de Container Apps. +Los registros de LAW generalmente aparecen en Datadog dentro de dos a cinco minutos, pero pueden tardar hasta 20 minutos en aparecer por primera vez. Los registros de LAW pueden tener propiedades diferentes a los registros que no son de LAW. -- Rol de [Colaborador de sitio web][12] a nivel de **grupo de recursos del plano de control**, para actualizar las aplicaciones de función del plano de control. +## Arquitectura {#architecture} -No se exporta ninguna información sobre tus recursos. Datadog solo solicita la información necesaria para habilitar la salida de logs, y el único resultado de esta arquitectura son los logs enviados a Datadog. +### Servicios utilizados {#services-used} -**Nota**: Opcionalmente, puedes habilitar el plano de control para que envíe sus propias métricas de estado, logs y eventos a Datadog con fines de depuración. Para ello, establece la variable de entorno `DD_TELEMETRY=true` en cualquier Function App o Container App del plano de control. +- [Azure Function][15] apps se utilizan para descubrir recursos en sus suscripciones de Azure, escalar los Forwarders y configurar ajustes de diagnóstico en los recursos detectados. +- Las [Azure Container Apps][8] se utilizan para recopilar registros de recursos generados por ajustes de diagnóstico, rastrear qué registros ya han sido procesados y enviarlos a Datadog. +- Las [Azure Storage Accounts][9] se utilizan para almacenar registros generados por sus recursos, así como un pequeño caché de metadatos como IDs de suscripción, IDs de recursos y regiones. + +### Arquitectura de alto nivel {#high-level-architecture} + +{{Diagrama de arquitectura que muestra tres componentes principales del reenvío automático de registros de Azure: plano de control y Forwarder de registros (desplegado por Datadog en entornos de clientes) conectándose a recursos de Azure.}} + +La plantilla de implementación configura un [plano de control](#control-plane) y [reenviadores de registros](#log-forwarders) en sus suscripciones seleccionadas. + +#### Plano de control {#control-plane} + +El plano de control es un conjunto de aplicaciones de Azure Function y una cuenta de almacenamiento para almacenamiento en caché. Un plano de control se despliega en su suscripción seleccionada y realiza las siguientes tareas: +- Descubrimiento de recursos en sus suscripciones seleccionadas que pueden generar registros mediante ajustes de diagnóstico. +- Configuración automática de los ajustes de diagnóstico en los recursos descubiertos para enviar registros a una cuenta de almacenamiento que los reenviadores de registros están rastreando. +- Escalado de los reenviadores de registros en las regiones donde se encuentran sus recursos, permitiéndoles adaptarse dinámicamente al volumen de registros. + +#### Reenviadores de registros {#log-forwarders} + +Los reenviadores de registros consisten en un trabajo de Azure Container Apps y una cuenta de almacenamiento para registros. Son desplegados por el plano de control en cada suscripción que seleccione para el reenviador de registros. El número de reenviadores de registros desplegados por suscripción escala según el volumen de registros generados por sus recursos. Los reenviadores de registros realizan las siguientes tareas: +- Almacenar temporalmente los registros generados por los ajustes de diagnóstico de sus recursos en una cuenta de almacenamiento. +- Procesar los registros almacenados y reenviarlos a Datadog. + +En Azure, los ajustes de diagnóstico de un recurso solo pueden dirigirse a cuentas de almacenamiento dentro de la misma región. Por lo tanto, los reenviadores se inician en cada región donde existen recursos con ajustes de diagnóstico. + +Consulte la página de Azure [Ajustes de diagnóstico en Azure Monitor][13] para más información. + +### Arquitectura detallada {#detailed-architecture} + +{{Diagrama de flujo que muestra el reenvío automatizado de registros en Azure: el plano de control descubre recursos, escala los reenviadores de registros a través de regiones, configura los ajustes de diagnóstico para enviar registros a cuentas de almacenamiento, y luego Container Apps verifican y reenvían nuevos registros a Datadog Log Management.}} + +### Seguridad y permisos {#security-and-permissions} + +La plantilla ARM otorga al plano de control solo los permisos necesarios para gestionar los reenviadores y establecer los ajustes de diagnóstico en sus recursos. Para lograr esto, se crean grupos de recursos y se otorgan permisos durante el despliegue de la plantilla ARM. Después de esto, puede agregar permisos para más suscripciones volviendo a desplegar la plantilla ARM. + +#### Permisos utilizados {#permissions-used} + +- [Monitoring Contributor][10] rol a nivel de **suscripción** para las suscripciones seleccionadas. + - Esto es necesario para descubrir recursos con configuraciones de diagnóstico disponibles y habilitar la salida de registros a almacenamiento. + +- [Contributor][11] rol a nivel del **grupo de recursos** para los grupos de recursos de reenviadores de registros en las suscripciones seleccionadas. + - Esto es necesario para gestionar (crear y eliminar) las cuentas de almacenamiento para los reenviadores y los Container Apps jobs. + +- [Website Contributor][12] rol a nivel del **grupo de recursos del plano de control** para actualizar las Function Apps del plano de control. + +No se exporta información sobre sus recursos. Datadog solo solicita la información necesaria para habilitar la salida de registros, y la única salida de esta arquitectura son los registros enviados a Datadog. + +**Nota**: Opcionalmente, puede habilitar el plano de control para enviar sus propias métricas de salud, registros y eventos a Datadog con fines de depuración. Para hacer esto, establezca la variable de entorno `DD_TELEMETRY=true` en cualquier Function App o Container App en el plano de control. {{% azure-log-archiving %}} -## Desinstalar +## Desinstalar {#uninstall} -Comienza por abrir un [Azure Cloud Shell][5] y asegúrate de que se ejecuta en Azure CLI/Bash, no en PowerShell. +Comience abriendo un [Azure Cloud Shell][5], y asegúrese de que esté ejecutándose en Azure CLI/Bash, no en PowerShell. -Descarga y ejecuta el script de desinstalación: +Descargue y ejecute el script de desinstalación: {{< code-block lang="bash" >}} wget https://ddazurelfo.blob.core.windows.net/uninstall/uninstall.py python uninstall.py {{< /code-block >}} -El script detecta primero cualquier instancia que se esté ejecutando en cada suscripción y, a continuación, te pide que selecciones la(s) instancia(s) que deseas desinstalar. Confirma la eliminación de los recursos y espera a que se eliminen. +El script primero descubre cualquier instancia que se esté ejecutando en cada suscripción, luego le solicita que seleccione la(s) instancia(s) para desinstalar. Confirme las eliminaciones de recursos y espere a que los recursos sean eliminados. -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -146,8 +202,6 @@ El script detecta primero cualquier instancia que se esté ejecutando en cada su [2]: https://app.datadoghq.com/organization-settings/api-keys [4]: /es/getting_started/site/ [5]: https://learn.microsoft.com/en-us/azure/cloud-shell/overview -[6]: https://portal.azure.us/#create/Microsoft.Template/uri/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FDataDog%2Fintegrations-management%2Fmain%2Fazure%2Flogging_install%2Fdist%2Fazuredeploy.json/createUIDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FDataDog%2Fintegrations-management%2Fmain%2Fazure%2Flogging_install%2Fdist%2FcreateUiDefinition.json -[7]: https://portal.azure.cn/#create/Microsoft.Template/uri/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FDataDog%2Fintegrations-management%2Fmain%2Fazure%2Flogging_install%2Fdist%2Fazuredeploy.json/createUIDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FDataDog%2Fintegrations-management%2Fmain%2Fazure%2Flogging_install%2Fdist%2FcreateUiDefinition.json [8]: https://azure.microsoft.com/products/container-apps [9]: https://learn.microsoft.com/azure/storage/common/storage-account-overview [10]: https://learn.microsoft.com/azure/azure-monitor/roles-permissions-security#monitoring-contributor @@ -155,4 +209,10 @@ El script detecta primero cualquier instancia que se esté ejecutando en cada su [12]: https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/web-and-mobile#website-contributor [13]: https://learn.microsoft.com/azure/azure-monitor/essentials/diagnostic-settings [14]: https://app.datadoghq.com/integrations/azure/add?config_azure-new-onboarding=true -[15]: https://learn.microsoft.com/azure/azure-functions/ \ No newline at end of file +[15]: https://learn.microsoft.com/azure/azure-functions/ +[16]: https://app.datadoghq.com/integrations/azure +[17]: https://learn.microsoft.com/azure/azure-monitor/logs/logs-data-export?tabs=portal +[18]: https://learn.microsoft.com/azure/azure-monitor/logs/logs-data-export?tabs=portal#unsupported-tables +[19]: https://portal.azure.com +[20]: https://learn.microsoft.com/troubleshoot/azure/azure-monitor/log-analytics/workspaces/workspace-data-export-faq +[21]: /es/getting_started/integrations/azure/#resource-tag-filtering-for-logs \ No newline at end of file diff --git a/content/es/logs/log_collection/java.md b/content/es/logs/log_collection/java.md index 920977d72ae..1e95db115ea 100644 --- a/content/es/logs/log_collection/java.md +++ b/content/es/logs/log_collection/java.md @@ -4,34 +4,33 @@ aliases: further_reading: - link: /logs/log_configuration/processors tag: Documentación - text: Aprende a procesar tus logs + text: Aprende a procesar tus registros - link: /logs/log_configuration/parsing tag: Documentación - text: Obtén más información sobre el parseo + text: Aprende más sobre el parseo - link: /logs/explorer/ tag: Documentación - text: Aprende a explorar tus logs + text: Aprende a explorar tus registros - link: /logs/explorer/#visualize tag: Documentación - text: Realizar análisis de los logs + text: Realiza análisis de registros - link: /tracing/other_telemetry/connect_logs_and_traces/java/ tag: Documentación - text: Conectar logs y trazas (traces) + text: Conecta registros y trazas - link: /logs/faq/log-collection-troubleshooting-guide/ - tag: FAQ - text: Guía para solucionar problemas relacionados con la recopilación de logs + tag: PREGUNTAS FRECUENTES + text: Guía de solución de problemas de recolección de registros - link: https://www.datadoghq.com/blog/java-logging-guide/ tag: Blog - text: Cómo recopilar, personalizar y estandarizar logs de Java + text: Cómo recolectar, personalizar y estandarizar registros de Java - link: /glossary/#tail tag: Glosario - text: Entrada de glosario para "tail" (cola) -title: Recopilación de logs de Java + text: Entrada del glosario para "seguimiento de las últimas líneas" +title: Recolección de registros de Java --- +Para enviar tus registros a Datadog, registra en un archivo y haz el seguimiento de las últimas líneas [tail][1] de ese archivo con tu Datadog Agent. -Para enviar tus logs a Datadog, loguea un archivo y [supervisa][14] ese archivo con tu Datadog Agent. - -Las stack traces de los logs típicos de Java se dividen en varias líneas, lo que dificulta que puedan asociarse al evento de log original. Por ejemplo: +Las trazas de pila de los registros típicos de Java se dividen en múltiples líneas, lo que dificulta asociarlas al evento de registro original. Por ejemplo: ```java //4 events generated when only one is expected! @@ -41,25 +40,25 @@ Exception in thread "main" java.lang.NullPointerException at com.example.myproject.Bootstrap.main(Bootstrap.java:14) ``` -Para remediar este problema, configura tu biblioteca de registro de logs para que genere tus logs en formato JSON. De esta forma podrás: +Para abordar este problema, configura tu biblioteca de registro para producir tus registros en formato JSON. Al registrar en JSON, tú: -* Garantizar que la stack trace se asocia correctamente al evento de log. -* Garantizar que todos los atributos del evento de log (como la gravedad, el nombre del logger y el nombre del subproceso) se extraen correctamente. -* Obtener acceso a los atributos de [Mapped Diagnostic Context (MDC)][1] que puedes añadir a cualquier evento de log. -* Evitar la necesidad de crear [reglas de parseo personalizadas][2]. +* Asegúrate de que la traza de pila esté correctamente envuelta en el evento de registro. +* Asegúrate de que todos los atributos del evento de registro (como severidad, nombre del registrador y nombre del hilo) estén correctamente extraídos. +* Obtén acceso a los atributos del [Contexto de Diagnóstico Mapeado (MDC)][2], que puedes adjuntar a cualquier evento de registro. +* Evita la necesidad de [reglas de análisis personalizadas][3]. -Las siguientes instrucciones muestran ejemplos de configuración para las bibliotecas de registro de logs Log4j, Log4j 2 y Logback. +Las siguientes instrucciones muestran ejemplos de configuración para las bibliotecas de registro Log4j, Log4j 2 y Logback. -## Configurar el registrador +## Configura tu registrador {#configure-your-logger} -### Formato JSON +### Formato JSON {#json-format} {{< tabs >}} {{% tab "Log4j" %}} -Para Log4j, loguea en formato JSON utilizando el módulo [log4j-over-slf4j][1] de SLF4J combinado con Logback. `log4j-over-slf4j` sustituye sin problemas a Log4j en tu aplicación, por lo que no tendrás que realizar ningún cambio en el código. +Para Log4j, registra en formato JSON utilizando el módulo SLF4J [log4j-over-slf4j][1] combinado con Logback. `log4j-over-slf4j` reemplaza limpiamente a Log4j en tu aplicación, por lo que no necesitas hacer ningún cambio en el código. -1. En tu archivo `pom.xml`, sustituye la dependencia `log4j.jar` por una dependencia `log4j-over-slf4j.jar` y añade las dependencias de Logback. Por ejemplo: +1. En tu archivo `pom.xml`, reemplaza la dependencia `log4j.jar` con una dependencia `log4j-over-slf4j.jar`, y agrega las dependencias de Logback. Por ejemplo: ```xml org.slf4j @@ -77,9 +76,9 @@ Para Log4j, loguea en formato JSON utilizando el módulo [log4j-over-slf4j][1] d 6.6 ``` -2. Configura un appender utilizando el diseño JSON en `logback.xml`. Consulta las siguientes configuraciones de ejemplo para archivo y consola. +2. Configura un appender utilizando el diseño JSON en `logback.xml`. Consulta los siguientes ejemplos de configuraciones para archivo y consola. - Para el archivo: + Para archivo: ```xml @@ -94,7 +93,7 @@ Para Log4j, loguea en formato JSON utilizando el módulo [log4j-over-slf4j][1] d ``` - Para la consola: + For console: ```xml @@ -113,16 +112,16 @@ Para Log4j, loguea en formato JSON utilizando el módulo [log4j-over-slf4j][1] d {{% /tab %}} {{% tab "Log4j 2" %}} -Log4j 2 incluye una estructura JSON. +Log4j 2 incluye un diseño JSON. -1. Configura un appender utilizando el diseño JSON en `log4j2.xml`. Consulta las siguientes configuraciones de ejemplo para el appender de archivo y consola. Para una descripción completa de los complementos de Log4j, consulta [Referencia de complementos de Log4j][1]. -{{% collapse-content title="Appender de archivos" level="h4" %}} +1. Configura un appender utilizando el diseño JSON en `log4j2.xml`. Consulta los siguientes ejemplos de configuraciones para el appender de archivo y consola. Para una descripción completa de los plugins de Log4j, consulta la [referencia de plugins de Log4j][1]. +{{% collapse-content title="Appender de archivo" level="h4" %}} {{< code-block lang="xml" filename="log4j2.xml" >}} - + @@ -136,7 +135,7 @@ Log4j 2 incluye una estructura JSON. {{% collapse-content title="Appender de consola" level="h4" %}} {{< code-block lang="xml" filename="log4j2.xml" >}} - + @@ -152,7 +151,7 @@ Log4j 2 incluye una estructura JSON. {{< /code-block >}} {{% /collapse-content %}} -2. Añade el archivo de plantilla de diseño JSON (como `MyLayout.json`) en el directorio `src/main/resources` de tu proyecto Java. Por ejemplo: +2. Agrega el archivo de plantilla de diseño JSON (como `MyLayout.json`) en el directorio `src/main/resources` de tu proyecto Java. Por ejemplo: ```json { "timestamp":{ @@ -207,7 +206,7 @@ Log4j 2 incluye una estructura JSON. } ``` -3. Añade las dependencias de diseño JSON a tu `pom.xml`. Por ejemplo: +3. Agrega las dependencias de diseño JSON a tu `pom.xml`. Por ejemplo: ```xml org.apache.logging.log4j @@ -235,9 +234,9 @@ Log4j 2 incluye una estructura JSON. {{% /tab %}} {{% tab "Logback" %}} -Utiliza el [logstash-logback-encoder][1] para los logs con formato JSON en Logback. +Utiliza el [logstash-logback-encoder][1] para registros formateados en JSON en Logback. -1. Configura un appender de archivos utilizando el diseño JSON en `logback.xml`. Por ejemplo: +1. Configura un appender de archivo utilizando el diseño JSON en `logback.xml`. Por ejemplo: ```xml @@ -252,7 +251,7 @@ Utiliza el [logstash-logback-encoder][1] para los logs con formato JSON en Logba ``` -2. Añade la dependencia de codificador de Logstash a tu archivo `pom.xml`. Por ejemplo: +2. Agrega la dependencia del codificador Logstash a tu archivo `pom.xml`. Por ejemplo: ```xml @@ -271,7 +270,7 @@ Utiliza el [logstash-logback-encoder][1] para los logs con formato JSON en Logba {{% /tab %}} {{% tab "Tinylog" %}} -Crea una configuración de escritor de JSON basada en la [documentación oficial de Tinylog][1]. +Crea una configuración de escritor JSON basada en la [documentación oficial de Tinylog][1]. Utiliza el siguiente formato en un archivo `tinylog.properties`: @@ -295,12 +294,12 @@ writer.field.dd.env = {context: dd.env} {{% /tab %}} {{< /tabs >}} -### Formato sin procesar +### Formato en bruto {#raw-format} {{< tabs >}} {{% tab "Log4j" %}} -Configura un appender de archivos en `log4j.xml`. Por ejemplo: +Configura un appender de archivo en `log4j.xml`. Por ejemplo: ```xml @@ -327,7 +326,7 @@ Configura un appender de archivos en `log4j.xml`. Por ejemplo: {{% /tab %}} {{% tab "Log4j 2" %}} -Configura un appender de archivos en `log4j2.xml`. Por ejemplo: +Configura un appender de archivo en `log4j2.xml`. Por ejemplo: ```xml @@ -349,7 +348,7 @@ Configura un appender de archivos en `log4j2.xml`. Por ejemplo: {{% /tab %}} {{% tab "Logback" %}} -Configurar un anexador de archivos en `logback.xml`. Por ejemplo: +Configura un appender de archivo en `logback.xml`. Por ejemplo: ```xml @@ -372,7 +371,7 @@ Configurar un anexador de archivos en `logback.xml`. Por ejemplo: {{% /tab %}} {{% tab "Tinylog" %}} -Crea una configuración de escritor con salida a un archivo basado en la [documentación oficial de Tinylog][1]. +Crea una configuración de escritor que envíe a un archivo basada en la [documentación oficial de Tinylog][1]. Utiliza el siguiente formato en un archivo `tinylog.properties`: @@ -384,17 +383,17 @@ writer.format = {level} - {message} - "dd.trace_id":{context: dd.trace_id} - " writer.file = log.txt ``` -[1]: https://tinylog.org/v2/configuration/#json-writer +[1]: https://tinylog.org/v2/configuration/#writer {{% /tab %}} {{< /tabs >}} -#### Inserta los ID de trazas en tus logs +#### Inyecta ID de traza en tus registros {#inject-trace-ids-into-your-logs} -Si APM está activada para esta aplicación, puedes correlacionar logs y trazas activando la inserción de ID de trazas. Consulta [Conectar logs y trazas Java][3]. +Si APM está habilitado para esta aplicación, puedes correlacionar registros y trazas habilitando la inyección de ID de traza. Consulta [Conectando Registros y Trazas de Java][4]. -Si _no_ correlacionas logs y trazas, elimina los parámetros MDC (`%X{dd.trace_id} %X{dd.span_id}`) de los patrones de logs incluidos en los ejemplos de configuración anteriores. +Si no estás _correlacionando_ registros y trazas, elimina los marcadores de posición MDC (`%X{dd.trace_id} %X{dd.span_id}`) de los patrones de registro incluidos en los ejemplos de configuración anteriores. -Por ejemplo, si utilizas Log4j 2 pero no correlacionas logs y trazas, elimina el siguiente bloque de la plantilla de diseño de logs de ejemplo, `MyLayout.json`: +Por ejemplo, si estás utilizando Log4j 2 pero no correlacionando registros y trazas, elimina el siguiente bloque de la plantilla de diseño de registro de ejemplo, `MyLayout.json`: ```json "dd.trace_id":{ @@ -408,12 +407,12 @@ Por ejemplo, si utilizas Log4j 2 pero no correlacionas logs y trazas, elimina el ``` -## Configurar el Datadog Agent +## Configura el Datadog Agent {#configure-the-datadog-agent} -Cuando tengas la [recopilación de logs activada][4], configura la [recopilación de logs personalizada][5] para supervisar tus logs y enviarlos a Datadog. +Una vez que [la recolección de registros esté habilitada][5], configura [la recolección de registros personalizada][6] para el seguimiento de las últimas líneas de tus archivos de registro y enviarlos a Datadog. -1. Crea una carpeta `java.d/` en el [directorio de configuración del Agent][6] `conf.d/`. -2. Crea un archivo `conf.yaml` en `java.d/` con el siguiente contenido: +1. Crea una `java.d/` carpeta en el `conf.d/` [directorio de configuración del Agent][7]. +2. Crea un `conf.yaml` archivo en `java.d/` con el siguiente contenido: ```yaml #Log section @@ -431,30 +430,30 @@ Cuando tengas la [recopilación de logs activada][4], configura la [recopilació # pattern: \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01]) ``` -3. [Reinicia el Agent][7]. -4. Ejecuta el [subcomando de estado del Agent][8] y busca `java` en la sección `Checks` para confirmar que los logs se envían correctamente a Datadog. +3. [Reinicia el Agent][8]. +4. Ejecuta el [subcomando de estado del Agent][9] y busca `java` en la sección {{< ui >}}Checks{{< /ui >}} para confirmar que los registros se han enviado correctamente a Datadog. -Si los logs están en formato JSON, Datadog [parsea los mensajes del log][9] de forma automática para extraer sus atributos. Utiliza el [Log Explorer][10] para ver tus logs y solucionar problemas relacionados. +Si los registros están en formato JSON, Datadog automáticamente [analiza los mensajes de registro][10] para extraer los atributos de registro. Utiliza el [Explorador de registros][11] para ver y solucionar problemas en tus registros. -## Registro de logs sin Agent +## Transmite registros directamente al Agent {#stream-logs-directly-to-the-agent} -En caso excepcional de que tu aplicación se esté ejecutando en una máquina a la que no tengas acceso o que no puedas registrar logs en un archivo, es posible transmitir logs a Datadog o al Datadog Agent directamente. Esta configuración no es la más recomendable porque requiere que la aplicación gestione los problemas de conexión. +En el caso excepcional en que tu aplicación se esté ejecutando en una máquina a la que no se puede acceder o no puede registrar en un archivo, es posible transmitir registros a Datadog o directamente al Agent de Datadog. Esta no es la configuración recomendada, porque requiere que tu aplicación maneje problemas de conexión. -Para transmitir logs directamente a Datadog: +Para transmitir registros directamente a Datadog: -1. Añade la biblioteca de registro de logs a tu código o **crea un puente entre tu logger actual y Logback**. -2. **Configura Logback** para que envíe logs a Datadog. +1. Agrega la biblioteca de registro Logback a tu código, o **conecta tu registrador actual a Logback**. +2. **Configura Logback** para enviar registros a Datadog. -### Crear un puente desde las bibliotecas de registro de logs de Java y Logback +### Conecta desde bibliotecas de registro de Java a Logback {#bridge-from-java-logging-libraries-to-logback} -Si todavía no utilizas Logback, las bibliotecas de registro de logs se pueden asociar a Logback. +Si aún no estás utilizando Logback, la mayoría de las bibliotecas de registro comunes pueden conectarse a Logback. {{< tabs >}} {{% tab "Log4j" %}} -Utiliza el módulo [log4j-over-slf4j][1] de SLF4J con Logback para que envíe logs a otro servidor. `log4j-over-slf4j` sustituye sin problemas Log4j de tu aplicación para que no tengas que hacer ningún cambio en el código. Para usarlo: +Utiliza el módulo SLF4J [log4j-over-slf4j][1] con Logback para enviar registros a otro servidor. `log4j-over-slf4j` reemplaza limpiamente Log4j en tu aplicación para que no tengas que hacer cambios en el código. -1. En tu archivo `pom.xml`, sustituye la dependencia `log4j.jar` por una dependencia `log4j-over-slf4j.jar` y añade las dependencias de Logback. Por ejemplo: +1. En tu archivo `pom.xml`, reemplaza la dependencia `log4j.jar` con una dependencia `log4j-over-slf4j.jar`, y agrega las dependencias de Logback. Por ejemplo: ```xml org.slf4j @@ -472,9 +471,9 @@ Utiliza el módulo [log4j-over-slf4j][1] de SLF4J con Logback para que envíe lo 6.6 ``` -2. Configurar Logback. +2. Configura Logback. -**Nota:** Como resultado de este cambio, los archivos de configuración Log4j dejarán de recogerse. Migra tu archivo `log4j.properties` a `logback.xml` con el [traductor Log4j][2]. +**Nota:** Como resultado de este cambio, los archivos de configuración de Log4j ya no serán recogidos. Migra tu `log4j.properties` archivo a `logback.xml` con el [traductor de Log4j][2]. [1]: http://www.slf4j.org/legacy.html#log4j-over-slf4j @@ -483,9 +482,9 @@ Utiliza el módulo [log4j-over-slf4j][1] de SLF4J con Logback para que envíe lo {{% tab "Log4j 2" %}} -Log4j 2 permite registrar logs en un host remoto, pero no ofrece la posibilidad de añadir una clave de API como prefijo en los logs. Debido a esto, utiliza el módulo SLF4J [log4j-over-slf4j][1] y Logback. `log4j-to-slf4j.jar` sustituye directamente Log4j 2 en tu aplicación para que no tengas que hacer ningún cambio en el código. Para usarlo: +Log4j 2 permite el registro en un host remoto, pero no ofrece la capacidad de prefijar los registros con una clave API. Debido a esto, utiliza el módulo SLF4J [log4j-over-slf4j][1] y Logback. `log4j-to-slf4j.jar` reemplaza limpiamente Log4j 2 en tu aplicación para que no tengas que hacer ningún cambio en el código. Para usarlo: -1. En tu archivo `pom.xml`, sustituye la dependencia `log4j.jar` por una dependencia `log4j-over-slf4j.jar` y añade las dependencias de Logback. Por ejemplo: +1. En tu archivo `pom.xml`, reemplaza la dependencia `log4j.jar` con una dependencia `log4j-over-slf4j.jar`, y agrega las dependencias de Logback. Por ejemplo: ```xml org.apache.logging.log4j @@ -504,12 +503,12 @@ Log4j 2 permite registrar logs en un host remoto, pero no ofrece la posibilidad ``` -2. Configurar Logback. +2. Configura Logback. **Notas:** -- Asegúrate de que `log4j-slf4j-impl.jar` **no** se usa según se describe aquí: https://logging.apache.org/log4j/log4j-2.2/log4j-to-slf4j/index.html -- Como resultado de esta migración, los archivos de configuración Log4j 2 dejarán de recogerse. Migra tu archivo `log4j.properties` a `logback.xml` con el [traductor Log4j][2]. +- Asegúrate de que `log4j-slf4j-impl.jar` **no** se utilice como se describe aquí: https://logging.apache.org/log4j/log4j-2.2/log4j-to-slf4j/index.html +- Como resultado de esta migración, los archivos de configuración de Log4j 2 ya no serán recogidos. Migra tu `log4j.properties` archivo a `logback.xml` con el [traductor de Log4j][2]. [1]: http://www.slf4j.org/legacy.html#log4j-over-slf4j [2]: http://logback.qos.ch/translator @@ -517,77 +516,77 @@ Log4j 2 permite registrar logs en un host remoto, pero no ofrece la posibilidad {{< /tabs >}} -### Configurar Logback - -{{< site-region region="us3,us5,ap1,ap2,gov" >}} -
El endpoint TCP no es compatible con el sitio Datadog seleccionado ({{< region-param key="dd_site_name" >}}). Para obtener una lista de los endpoints de generación de logs, consulta Recopilación de logs e integraciones.
-{{< /site-region >}} - - -{{< site-region region="us,eu" >}} - -Utiliza la biblioteca de registro de logs [logstash-logback-encoder][11] junto con Logback para enviar los logs directamente a Datadog. - -1. Configura un appender TCP en tu archivo `logback.xml`. Con esta configuración, tu clave de API se recupera de la variable de entorno `DD_API_KEY`. Alternativamente, puedes insertar tu clave de API directamente en el archivo de configuración: - - Para la siguiente configuración, sustituye `` por la entrada basada en tu región:{{< region-param key="dd_site_name" code="true" >}}. - - **US1**: `intake.logs.datadoghq.com:10516` - - **UE**: `tcp-intake.logs.datadoghq.eu:443` - - ```xml - - - logs/app.log - - - - - 20 seconds - - - - ${DD_API_KEY} %mdc{keyThatDoesNotExist} - - - - - - - - - - - - ``` - - **Nota:** Se añade `%mdc{keyThatDoesNotExist}` porque la configuración XML quita los espacios en blanco. Para obtener más información sobre el parámetro prefijo, consulta la [documentación de Logback][12]. - -2. Añade la dependencia de codificador de Logstash a tu archivo `pom.xml`. Por ejemplo: - - ```xml - - ch.qos.logback - logback-classic - 1.2.9 - - - net.logstash.logback - logstash-logback-encoder - 6.6 - - ``` -[11]: https://github.com/logstash/logstash-logback-encoder -[12]: https://github.com/logstash/logstash-logback-encoder#prefixsuffixseparator -{{< /site-region >}} -## Para aprender más - -Enriquece los eventos de log con atributos contextuales. - -### Usar el parseador de valores clave - -El [parseador de valores clave][13] extrae cualquier patrón `=` que reconoce en un evento de log. - -Para enriquecer los eventos de log en Java, puedes reescribir los mensajes en tu código e introduce secuencias `=`. +### Configura Logback {#configure-logback} +Datadog no admite el envío de registros directamente a través de TCP a la ingesta de Datadog. En su lugar, configura Logback a tu Agente local de Datadog, que luego reenvía los registros a Datadog a través de HTTPS con enriquecimiento automático. + +1. [Instala un Agente local de Datadog][12] (v6+ / v7+). +1. Habilita la recolección de registros en `datadog.yaml`, y asegúrate de que el Agente reenvíe los registros a través de HTTPS (HTTPS es el transporte predeterminado para el Agente v6.19+/v7.19+ y posteriores): + ``` + logs_enabled: true + logs_config: + # HTTPS is the default. Keep or set this to force HTTPS forwarding. + force_use_http: true + # (Optional) auto-detect multi-line patterns + auto_multi_line_detection: true + ``` + +1. Habilita la recolección de registros en el Agent. + ```yaml + # /etc/datadog-agent/conf.d/logback.d/conf.yaml + logs: + - type: tcp + port: 10518 # Port the Agent will listen on + service: my-java-app # Your service name (unified service tagging) + source: java # Or a more specific source, e.g., "logback" + ``` +1. Reinicia el Agent para aplicar los cambios. +1. Configura Logback para enviar registros al Agent. Utiliza el [logstash-logback-encoder][13] TCP appender en tu `logback.xml` para reenviar registros al Agent: + ```xml + + + localhost:10518 + + + + + + { + "message": "%message", + "level": "%level", + "logger": "%logger", + "service": "${DD_SERVICE:-my-java-app}", + "env": "${DD_ENV:-prod}", + "version": "${DD_VERSION:-1.0.0}", + "dd.trace_id": "%X{dd.trace_id}", + "dd.span_id": "%X{dd.span_id}" + } + + + + + + + + + ``` + Luego, haz referencia a él en tu logger raíz: + ```xml + + + + ``` + +1. Verifica el reenvío de registros. Ejecuta `datadog-agent status` para confirmar tu TCP listener y revisa el Logs Explorer en busca de entradas etiquetadas con tu servicio. + +## Obteniendo más {#getting-further} + +Enriquece tus eventos de registro con atributos contextuales. + +### Usando el analizador de clave-valor {#using-the-key-value-parser} + +El [analizador de clave-valor][14] extrae cualquier patrón `=` reconocido en cualquier evento de registro. + +Para enriquecer tus eventos de registro en Java, puedes reescribir mensajes en tu código e introducir secuencias `=`. Por ejemplo, si tienes: @@ -601,7 +600,7 @@ Puedes cambiarlo a: logger.info("Emitted quantity=1001 messages during the last durationInMs=93180 ms for customer scope=prod30"); ``` -Con el parseador de valores clave activado, cada par se extrae del JSON: +Con el analizador de clave-valor habilitado, cada par se extrae del JSON: ```json { @@ -612,13 +611,13 @@ Con el parseador de valores clave activado, cada par se extrae del JSON: } ``` -Puedes explotar el *scope* (contexto) como un campo, y *durationInMs* (duración en minutos) y *quantity* (cantidad) como medidas de log. +Así que puedes utilizar *scope* como un campo, y *durationInMs* y *quantity* como medidas de registro. -### MDC +### MDC {#mdc} -Otra opción para enriquecer tus logs es usar la función de [Mapped Diagnostic Contexts (MDC)][1] de Java. +Otra opción para enriquecer tus registros es usar [Mapped Diagnostic Contexts (MDC)] de Java. -Si utilizas SLF4J, usa el siguiente código Java: +Si usas SLF4J, utiliza el siguiente código Java: ```java ... @@ -636,23 +635,23 @@ Para generar este JSON: } ``` -**Nota**: MDC sólo permite tipos de cadena, así que no los utilices para métricas de valor numérico. +**Nota**: MDC solo permite tipos de cadena, así que no los uses para métricas de valores numéricos. -## Referencias adicionales +## Lectura Adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[1]: http://logback.qos.ch/manual/mdc.html -[2]: /es/logs/log_configuration/parsing -[3]: /es/tracing/other_telemetry/connect_logs_and_traces/java/ -[4]: /es/agent/logs/?tab=tailfiles#activate-log-collection -[5]: /es/agent/logs/?tab=tailfiles#custom-log-collection -[6]: /es/agent/configuration/agent-configuration-files/?tab=agentv6v7#agent-configuration-directory -[7]: /es/agent/configuration/agent-commands/?tab=agentv6v7#restart-the-agent -[8]: /es/agent/configuration/agent-commands/?tab=agentv6v7#agent-status-and-information] -[9]: /es/logs/log_configuration/parsing/?tab=matchers -[10]: /es/logs/explorer/#overview -[11]: https://github.com/logstash/logstash-logback-encoder -[12]: https://github.com/logstash/logstash-logback-encoder#prefixsuffixseparator -[13]: /es/logs/log_configuration/parsing/#key-value-or-logfmt -[14]: /es/glossary/#tail \ No newline at end of file +[1]: /es/glossary/#tail +[2]: http://logback.qos.ch/manual/mdc.html +[3]: /es/logs/log_configuration/parsing +[4]: /es/tracing/other_telemetry/connect_logs_and_traces/java/ +[5]: /es/agent/logs/?tab=tailfiles#activate-log-collection +[6]: /es/agent/logs/?tab=tailfiles#custom-log-collection +[7]: /es/agent/configuration/agent-configuration-files/?tab=agentv6v7#agent-configuration-directory +[8]: /es/agent/configuration/agent-commands/?tab=agentv6v7#restart-the-agent +[9]: /es/agent/configuration/agent-commands/?tab=agentv6v7#agent-status-and-information +[10]: /es/logs/log_configuration/parsing/?tab=matchers +[11]: /es/logs/explorer/#overview +[12]: /es/agent/?tab=Host-based +[13]: https://github.com/logstash/logstash-logback-encoder +[14]: /es/logs/log_configuration/parsing/#key-value-or-logfmt \ No newline at end of file diff --git a/content/es/logs/log_configuration/archive_search.md b/content/es/logs/log_configuration/archive_search.md index 57b2e204b89..5859f6bcd10 100644 --- a/content/es/logs/log_configuration/archive_search.md +++ b/content/es/logs/log_configuration/archive_search.md @@ -1,138 +1,175 @@ --- -description: Busca y analiza al instante logs de archivos de larga duración sin tener - que volver a indexarlos. +description: Busque y analice instantáneamente los registros de archivos a largo plazo + sin necesidad de reindexar. further_reading: - link: /logs/explorer/ tag: Documentación - text: Explorar logs en Datadog + text: Explore los registros en Datadog - link: /logs/log_configuration/archives/ tag: Documentación - text: Configurar archivos de logs + text: Configure los Archivos de Registros - link: /logs/indexes/ tag: Documentación - text: Gestionar la retención y la indexación de logs -title: Archive Search + text: Administre la retención y el indexado de registros +title: Búsqueda de Archivos --- +## Resumen {#overview} -{{< callout url="https://www.datadoghq.com/product-preview/flex-frozen-archive-search/" btn_hidden="false" >}} -Archive Search está en vista previa. Solicita acceso para buscar logs archivados en tiempo real. Sin reindexación ni retrasos. Accede instantáneamente a años de datos cuando los necesites. -{{< /callout >}} +La Búsqueda de Archivos le permite consultar registros directamente desde archivos de almacenamiento de objetos a largo plazo, sin necesidad de rehidratarlos previamente. Utilice la Búsqueda de Archivos para **acceso inmediato a registros archivados**, para investigaciones, auditorías o resolución de problemas más allá del período de retención de la indexación. -## Información general +La Búsqueda de Archivos se diferencia de la Rehidratación al transmitir resultados en tiempo real a medida que se escanean los datos, en lugar de ejecutarse como un trabajo por lotes en segundo plano. Es más rentable, cobrando solo por el escaneo en sí, con los primeros 100,000 registros retenidos temporalmente sin costo, y más rápido. -Archive Search te permite consultar logs directamente desde archivos de almacenamiento de objetos a largo plazo, sin indexarlos previamente. Utiliza Archive Search para **acceder de forma inmediata a logs archivados**, para investigaciones, auditorías o resolución de problemas más allá de su periodo de retención de indexación. +Cuando inicie una búsqueda: -Archive Search se diferencia de Rehydration en que transmite los resultados en tiempo real a medida que se escanean los datos, en lugar de ejecutarse como un trabajo en lote en segundo plano. Es más rentable, ya que solo se cobra por el escaneo en sí y los primeros 100 000 logs se conservan temporalmente sin coste alguno, y más rápido. +* Los registros se transmiten a una página de resultados dedicada. +* Hasta **100,000 registros** se retienen por **24 horas**. +* Puede opcionalmente **Rehidratar resultados** antes o después de la búsqueda para mantenerlos más tiempo y hacerlos disponibles en todo Datadog. -Al iniciar una búsqueda: +Esta función admite registros archivados a través de: -* Los logs se envían a una página específica de resultados. -* Se retienen hasta **100 000 logs** durante **24 horas**. -* Opcionalmente, puedes **indexar los resultados** antes o después de la búsqueda para conservarlos durante más tiempo y que estén disponibles en todo Datadog. +- [Log Management archives][1] +- [Observability Pipelines archives][2] -Esta función es compatible con logs archivados a través de: +### Casos de uso típicos {#typical-use-cases} -- [archivos de Datadog Log Management][1] -- [archivos de Observability Pipelines][2] +La Búsqueda de Archivos es ideal cuando necesita consultar registros que están almacenados en un archivo externo. +Los casos de uso comunes incluyen: -### Casos de uso típicos +- **Investigaciones de incidentes:** Recuperar registros relacionados con un `transaction_id`, `user_id` o `session_id` que caen fuera de su retención de indexación.
+ *Ejemplo: Consultar registros de hace tres semanas utilizando un `user_id` específico, incluso si su retención indexada es de solo 15 días.* -Archive Search es ideal cuando se necesita consultar logs que están almacenados en un archivo externo. -Los casos de uso más comunes son: +- **Análisis de seguridad:** Examinar registros archivados para investigar intentos de inicio de sesión u otra actividad por IP o usuario.
+ *Ejemplo: Recuperar todos los intentos de inicio de sesión desde una dirección IP específica en los últimos 12 meses.* -- **Investigaciones de incidentes:** recupera logs vinculados a un `transaction_id`, `user_id` o `session_id` que quedan fuera de tu retención de indexación.
- *Ejemplo: consulta logs de hace tres semanas utilizando un `user_id` específico, incluso si tu retención indexada es de solo 15 días.* +- **Cumplimiento y soporte de auditoría:** Acceder a registros archivados de clientes o facturación para auditorías sin reindexar permanentemente grandes volúmenes de datos.
+ *Ejemplo: Consultar registros relacionados con facturas (`customer_id:12345`, `service:billing`) de los últimos 18 meses para una auditoría fiscal.* -- **Análisis de seguridad:** examina logs archivados para investigar intentos de inicio de sesión u otra actividad por IP o usuario.
- *Ejemplo: recupera todos los intentos de inicio de sesión desde una dirección IP específica en los últimos 12 meses. +## Requisitos previos {#prerequisites} -- **Apoyo al cumplimiento de normativas y auditorías:** accede a logs archivados de clientes o facturación para auditorías sin tener que reindexar permanentemente grandes volúmenes de datos.
- *Ejemplo: consulta de logs relacionados con facturas (`customer_id:12345`, `service:billing`) de los últimos 18 meses para una auditoría fiscal.* +Antes de usar la Búsqueda de Archivos: -## Requisitos previos +1. Configurar un archivo externo (Amazon S3, Azure Storage o Google Cloud Storage). Ver [Log Archives][3]. +1. Asegúrese de que Datadog tenga permiso para leer del archivo, consulte [Permisos específicos de la nube](#cloud-specific-permissions). + * **Amazon S3:** Delegación de rol IAM + * **Azure Storage:** Azure AD con el rol *Storage Blob Data Contributor* + * **Google Cloud Storage:** Cuenta de servicio con rol de *Storage Object Viewer* -Antes de utilizar Archive Search: +### Permisos {#permissions} -1. Configura un archivo externo (Amazon S3, Azure Storage o Google Cloud Storage). Consulta [Log Archives][3]. -1. Asegúrate de que Datadog tiene permiso para leer del archivo, consulta [Permisos específicos de la nube](#cloud-specific-permissions). - * **Amazon S3:** delegación de roles de IAM - * **Azure Storage:** Azure AD con el rol *Storage Blob Data Contributor* - * **Google Cloud Storage:** cuenta de servicio con el rol *Storage Object Viewer* +Ejecutar una **Búsqueda de Archivos** requiere el **`logs_write_historical_views`** permiso. Es un **permiso** global, pero los usuarios solo pueden buscar registros de archivos para los cuales también tienen el permiso de **Logs Read Archive**. + +Los resultados de la Búsqueda de Archivos son visibles para todos los usuarios en su organización que tienen acceso a la función de Búsqueda de Archivos. Sin embargo, las **consultas de restricción**, como los filtros de seguridad de registros y las restricciones de datos configuradas en Datadog, aún se aplican en la página de resultados y se aplican a todos los usuarios. Esto significa que cada usuario solo puede ver los registros a los que está autorizado a acceder, según los permisos y filtros de toda la organización. + +Para obtener más información sobre los controles de acceso y la seguridad del registro, consulte [Cómo configurar RBAC para registros][6]. + +## Iniciando una búsqueda {#launching-a-search} + +1. Ir a [{{< ui >}}Logs{{< /ui >}} > {{< ui >}}Archive Search{{< /ui >}} > {{< ui >}}New Search{{< /ui >}}][4]. +2. Seleccione un archivo y un rango de tiempo. +3. Ingrese una consulta, como `user_id:abc123`. +4. (Opcional) Renombre la búsqueda. +5. En {{< ui >}}Mode{{< /ui >}}, elija el tipo de búsqueda que desea realizar. + - Elija {{< ui >}}Search{{< /ui >}} para recuperar resultados en tiempo real, con hasta 100,000 registros retenidos durante 24 horas. + - Elija {{< ui >}}Search & Rehydration{{< /ui >}} para rehidratar resultados para acceso completo a la plataforma y retención personalizada. +6. Haga clic en {{< ui >}}Search{{< /ui >}}. + +Los registros se transmiten a la página de resultados en tiempo real. Una barra de progreso muestra el estado del escaneo, y puede cancelar la búsqueda en cualquier momento. + +## Vista previa de la consulta {#query-preview} + +Cuando realiza una búsqueda, Datadog descarga una pequeña muestra (hasta 1,000 registros) del archivo y rango de tiempo seleccionados. +Utilice esta vista previa para verificar la sintaxis de la consulta, inspeccionar la estructura de los registros y ajustar los filtros. + +**Nota**: La muestra de vista previa puede no incluir registros que coincidan con su consulta. Es solo para validación y exploración. + +## Ver y retener resultados {#view-and-retain-results} + +Por defecto, solo se le cobra por el escaneo. Los primeros 100,000 registros se almacenan temporalmente (24 horas) sin costo y son accesibles directamente desde la página de resultados de la Búsqueda de Archivos, donde puede hacer clic en cualquier registro para ver sus detalles completos y contexto. Después de 24 horas, los resultados expiran automáticamente. + +Para retener más datos o acceder a registros en otros productos de Datadog, elija una de las siguientes opciones: + +- **Rehidratar antes del lanzamiento**: + Retenga más de 100,000 registros, establezca un período de retención personalizado (por ejemplo, 7, 15 o 30 días) y acceda a los resultados en toda la plataforma de inmediato. +- **Rehidratar después de la finalización**: + Durante la ventana de 24 horas, puede rehidratar los resultados para extender la retención y ponerlos a disposición en Log Explorer, Dashboards y Notebooks. + +## Analizar resultados {#analyze-results} + +Después de lanzar una búsqueda, los registros fluyen hacia la página {{< ui >}}Archive Search Results{{< /ui >}}. Desde esta página, puede utilizar filtros para reducir los resultados y abrir detalles específicos de los registros para investigar problemas. -### Permisos +### Limitaciones {#limitations} -Los resultados de Archive Search son visibles para todos los usuarios de tu organización que tengan acceso a la función Archive Search. Sin embargo, las **consultas de restricción**, como los filtros de seguridad de logs y las restricciones de datos configuradas en Datadog, se siguen aplicando en la página de resultados y se aplican a todos los usuarios. Esto significa que cada usuario solo puede ver logs que están autorizados a ver sobre la base de los permisos y filtros de toda la organización. +Mientras que la Búsqueda de Archivos proporciona acceso a registros archivados, tiene capacidades analíticas limitadas en comparación con los registros indexados: -Para obtener más información sobre los controles de acceso y la seguridad de logs, consulta [Cómo configurar RBAC para logs][6]. +- **Sin agregaciones ni análisis**: No puede ejecutar agregaciones, crear visualizaciones o realizar análisis avanzados directamente en los resultados de la Búsqueda de Archivos. +- **Página de resultados solamente**: Los resultados de la Búsqueda de Archivos solo están disponibles en la página de resultados dedicada y no se pueden consultar desde otras partes de la plataforma de Datadog (como Dashboards, Notebooks o Log Explorer). -## Iniciar una búsqueda +Para habilitar análisis completos y visibilidad en toda la plataforma, debe rehidratar los resultados de búsqueda (ya sea antes de lanzar la búsqueda o después de su finalización dentro de la ventana de 24 horas). Cuando se rehidratan, sus registros están disponibles en todos los productos de Datadog con capacidades completas de agregación, visualización y análisis. -1. Ve a [**Logs > Archive Search > New Search**][4] (Logs > Archive Search > Nueva búsqueda). -2. Selecciona un archivo y un intervalo de tiempo. -3. Introduce una consulta, como `user_id:abc123`. -4. (Opcional) Cambia el nombre de la búsqueda. -5. (Opcional) Habilita la indexación antes de iniciar la búsqueda. -6. Haz clic en **Search** (Buscar). +## Gestionar búsquedas {#manage-searches} -Los logs aparecen en tiempo real en la página de resultados. Una barra de progreso muestra el estado del escaneo, y puedes detener la búsqueda en cualquier momento. + -## Vista previa de la consulta +Desde el [{{< ui >}}Archive Search list view{{< /ui >}}][5], puede: -Al crear o configurar una búsqueda, Datadog descarga una pequeña muestra (hasta 1000 logs) del archivo y el intervalo de tiempo seleccionados. -Utiliza esta vista previa para verificar la sintaxis de la consulta, inspeccionar la estructura del log y ajustar los filtros. +- **Cancelar** una búsqueda en curso: preserva los registros ya recuperados. +- **Duplicar** una búsqueda: abre el formulario de creación de búsquedas de la Búsqueda de Archivos con los mismos parámetros para ejecuciones eficientes. -**Nota**: Es posible que la muestra de vista previa no incluya logs que coincidan con tu consulta. Es solo para validación y exploración. +## Rendimiento de búsqueda y optimización {#search-performance-and-optimization} -## Ver y conservar los resultados +La Búsqueda de Archivos escanea los archivos de registro archivados dentro del rango de tiempo seleccionado. **El volumen de escaneo** se refiere al tamaño total de los archivos leídos durante una consulta. Los grandes volúmenes de escaneo pueden aumentar tanto el tiempo de búsqueda como los costos de salida en la nube. -Por defecto, solo se cobra por el escaneo. Los primeros 100 000 logs se almacenan temporalmente (24 horas) sin coste alguno y son accesibles directamente en las páginas de resultados de Archive Search, donde puedes hacer clic en cualquier log para ver todos tus detalles y contexto. Transcurridas 24 horas, los resultados caducan automáticamente. +Para optimizar el rendimiento y reducir costos: +* **Reduce el rango de tiempo:** Limite su búsqueda a la ventana más pequeña posible. +* **Establecer límites de escaneo:** Los administradores con `Logs Write Archives` permisos pueden establecer un tamaño máximo de escaneo por archivo en el {{< ui >}}Settings{{< /ui >}}. +* **Usar atributos de partición (Vista previa):** La forma más efectiva de acelerar las búsquedas en datos de baja cardinalidad como `service`, `env` o `status`. Datadog omite particiones enteras que no coinciden con su consulta. +* **Usar atributos de búsqueda (Vista previa):** La forma más efectiva de acelerar las búsquedas en datos de alta cardinalidad como `trace_id` o `user_id`. +* **Usar compresión zstd:** Los archivos utilizan compresión zstd por defecto, lo que reduce el volumen de escaneo y los costos de salida en la nube en comparación con gzip. Si su archivo utiliza gzip, consulte [Log Archives][9] para cambiar a zstd. -Para conservar más datos o acceder a logs en otros productos de Datadog, elige una de las siguientes opciones: +**Nota**: Solo los registros archivados después de que configure los atributos de partición o de búsqueda se benefician de búsquedas aceleradas. Los registros archivados antes de esta configuración no se ven afectados. -- **Índice antes del lanzamiento**: - Conserva más de 100 000 logs, establece un periodo de retención personalizado (por ejemplo, 7, 15 o 30 días) y accede a los resultados en toda la plataforma de forma inmediata. -- **Índice tras la finalización**: - Durante el intervalo de 24 horas, puedes indexar los resultados para ampliar su retención y hacer que estén disponibles en el Log Explorer, dashboards y notebooks. -## Analizar los resultados +### Acelera las búsquedas con atributos de partición {#accelerate-searches-with-partition-attributes} -Tras iniciar una búsqueda, los logs aparecen en **Archive Search Results** (Resultados de Archive Search). Desde la página, puedes utilizar filtros para limitar los resultados y abrir detalles específicos de logs para investigar los problemas. +Puede configurar **atributos de partición** en sus archivos para agrupar registros por valores de campo de baja cardinalidad en el momento de la escritura. Utilice atributos como `service`, `source`, `env` o `status`. -### Limitaciones +Los registros que comparten los mismos valores de partición están co-localizados en el almacenamiento. Cuando busca, Datadog evalúa su consulta contra los metadatos de partición y omite las particiones que no coinciden, reduciendo el total de datos escaneados. -Aunque la búsqueda de archivos proporciona acceso a los logs archivados, sus capacidades analíticas son limitadas en comparación con los logs indexados: +Para configurarlo, consulte la documentación de [archivos de registro][8]. -- **Sin agregaciones ni análisis**: no se pueden ejecutar agregaciones, crear visualizaciones ni realizar análisis avanzados directamente en los resultados de Archive Search. -- **Solo resultados de la página**: los resultados de Archive Search solo están disponibles en los resultados específicos de la página y no pueden consultarse desde otras partes de la plataforma de Datadog (como dashboards, notebooks o el Log Explorer). +### Acelere las búsquedas con atributos de búsqueda {#accelerate-searches-with-lookup-attributes} -Para habilitar el análisis completo y la visibilidad en toda la plataforma, debes indexar los resultados de la búsqueda (ya sea antes de iniciar la búsqueda o después de completarla dentro del intervalo de 24 horas). Una vez indexados, los logs estarán disponibles en todos los productos de Datadog con todas las funciones de agregación, visualización y análisis. +Puede configurar **Atributos de Búsqueda** en sus archivos para omitir bloques de datos irrelevantes en su bucket de almacenamiento. Por ejemplo, si configura `trace_id` o `user_id`, reduce significativamente el volumen de datos escaneados y disminuye las tarifas de salida de su proveedor de nube. +Para configurarlo, consulte la documentación de [archivos de registro][7]. -## Gestionar las búsquedas +### Partición vs. atributos de búsqueda {#partition-vs-lookup-attributes} - +| | Partición | Búsqueda | +|---|---|---| +| Cardinalidad | Baja (decenas a cientos) | Alta (millones de valores) | +| Atributos típicos | `service`, `source`, `env`, `status` | `trace_id`, `container_id`, `user_id`, `transaction_id` | +| Cómo ayuda | Elimina particiones enteras del escaneo | Localiza entradas de registro individuales | +| Mejor utilizado para | Filtrado amplio por entorno/servicio | Investigaciones ad-hoc sobre identificadores específicos | -Desde la [**vista de lista de Archive Search**][5], puedes: +Para un rendimiento máximo en las búsquedas, combine ambos: los atributos de partición reducen el alcance de búsqueda a los segmentos de datos relevantes, mientras que los atributos de búsqueda le permiten encontrar registros específicos dentro de esos segmentos al instante. -- **Detener** una búsqueda en curso: conserva logs ya recuperados. -- **Duplicar** una búsqueda: abre el formulario de creación de la búsqueda de archivo con los mismos parámetros para una repetición eficaz. +### Límite predeterminado para la Rehidratación de Resultados {#default-limit-for-rehydration-of-results} -## Rendimiento de búsqueda y volumen de escaneo +Los administradores con el `Logs Write Archives` permiso pueden configurar controles predeterminados para asegurar un uso eficiente de {{< ui >}}Archive Search{{< /ui >}} entre equipos. Haga clic en {{< ui >}}Settings{{< /ui >}} para configurar: -Archive Search escanea los archivos de log archivados dentro del intervalo de tiempo seleccionado. El **volumen de escaneo** es el tamaño total de los archivos leídos durante la consulta. Los volúmenes de escaneo grandes pueden aumentar el tiempo y el coste de la búsqueda. +- {{< ui >}}Default Rehydration volume limit{{< /ui >}}: Defina el número predeterminado de registros (en millones) que pueden ser rehidratados por búsqueda de archivo en modo {{< ui >}}Search & Rehydration{{< /ui >}}. Si se alcanza el límite, la búsqueda de archivo se detiene automáticamente, pero los registros ya rehidratados permanecen accesibles. Los administradores también pueden permitir que este límite se anule durante la creación de la búsqueda en el archivo. -Para mejorar el rendimiento de las consultas y reducir el volumen de escaneo: -- Reduce el intervalo de tiempo y utiliza filtros selectivos. -- Los administradores con permiso **Logs Write Archives** pueden establecer límites máximos de log y duraciones de retención disponibles. +- {{< ui >}}Rehydration retention periods{{< /ui >}}: Elija qué períodos de retención están disponibles al rehidratar resultados. Solo las duraciones seleccionadas (por ejemplo, 3, 7, 15, 30, 45, 60, 90 o 180 días) aparecen en el menú desplegable al seleccionar cuánto tiempo deben permanecer los registros disponibles para búsqueda en Datadog. -## Permisos específicos de la nube +## Permisos específicos de la nube {#cloud-specific-permissions} -Datadog requiere el permiso de lectura de tus archivos para buscar contenido en ellos. Este permiso puede cambiarse en cualquier momento. +Datadog requiere el permiso para leer sus archivos para buscar contenido dentro de ellos. Este permiso se puede cambiar en cualquier momento. {{< tabs >}} {{% tab "Amazon S3" %}} -Para rehidratar eventos de log desde tus archivos, Datadog utiliza el rol de IAM en tu cuenta de AWS que configuraste para [tu integración de AWS][1]. Si aún no has creado ese rol, [sigue estos pasos para hacerlo][2]. Para permitir que ese rol rehidrate eventos de log desde tus archivos, añade la siguiente declaración de permiso a sus políticas de IAM. Asegúrate de editar los nombres de los buckets y, si lo deseas, especifica las rutas que contienen tus archivos de log. +Para rehidratar eventos de registro de sus archivos, Datadog utiliza el rol IAM en su cuenta de AWS que configuró para [su integración de AWS][1]. Si aún no ha creado ese rol, [siga estos pasos para hacerlo][2]. Para permitir que ese rol rehidrate eventos de registro de sus archivos, agregue la siguiente declaración de permiso a sus políticas IAM. Asegúrese de editar los nombres de los buckets y, si lo desea, especifique las rutas que contienen sus archivos de registro. ```json { @@ -160,9 +197,9 @@ Para rehidratar eventos de log desde tus archivos, Datadog utiliza el rol de IAM } ``` -### Añadir la delegación de roles a archivos de S3 +### Agregando delegación de roles a archivos S3 {#adding-role-delegation-to-s3-archives} -Datadog solo admite búsquedas en archivos que se hayan configurado para utilizar la delegación de roles para conceder acceso. Una vez que hayas modificado el rol de IAM de Datadog para incluir la política de IAM anterior, asegúrate de que cada archivo de tu [página de configuración de archivos][3] tenga la combinación correcta de cuenta + rol de AWS. +Datadog solo admite la búsqueda de archivos que han sido configurados para usar delegación de roles para otorgar acceso. Después de haber modificado su rol IAM de Datadog para incluir la política IAM anterior, asegúrese de que cada archivo en su [página de configuración de archivos][3] tenga la combinación correcta de cuenta de AWS + rol. [1]: https://app.datadoghq.com/account/settings#integrations/amazon-web-services [2]: /es/integrations/amazon-web-services/#aws-iam-permissions @@ -171,26 +208,29 @@ Datadog solo admite búsquedas en archivos que se hayan configurado para utiliza {{% tab "Azure Storage" %}} -Datadog utiliza un grupo de Azure AD con el rol Storage Blob Data Contributor asignado a la cuenta de almacenamiento de tus archivos para buscar eventos de log. Puedes otorgar este rol a tu cuenta de servicio de Datadog desde la página de Control de acceso (IAM) de tu cuenta de almacenamiento [al asignar el rol Storage Blob Data Contributor a tu aplicación de integración de Datadog][1]. +Datadog utiliza un grupo de Azure AD con el rol de Contribuyente de Datos de Blob de Almacenamiento limitado a la cuenta de almacenamiento de sus archivos para buscar eventos de registro. Puede otorgar este rol a su cuenta de servicio de Datadog desde la página de Control de Acceso (IAM) de su cuenta de almacenamiento al [asignar el rol de Contribuyente de Datos de Blob de Almacenamiento a su aplicación de integración de Datadog][1]. [1]: /es/logs/archives/?tab=azurestorage#create-and-configure-a-storage-bucket {{% /tab %}} {{% tab "Google Cloud Storage" %}} -Para buscar eventos de log desde tus archivos, Datadog utiliza una cuenta de servicio con el rol Storage Object Viewer. Puedes otorgar este rol a tu cuenta de servicio de Datadog desde la [página Google Cloud IAM Admin][1] al editar los permisos de la cuenta de servicio, añadir otro rol y, a continuación, seleccionar **Storage > Storage Object Viewer** (Almacenamiento > Storage Object Viewer**. +Para buscar eventos de registro en sus archivos, Datadog utiliza una cuenta de servicio con el rol de Visualizador de Objetos de Almacenamiento. Puede otorgar este rol a su cuenta de servicio de Datadog desde la [página de administración de IAM de Google Cloud][1] editando los permisos de la cuenta de servicio, agregando otro rol y luego seleccionando {{< ui >}}Storage{{< /ui >}} > {{< ui >}}Storage Object Viewer{{< /ui >}}. [1]: https://console.cloud.google.com/iam-admin/iam {{% /tab %}} {{< /tabs >}} -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[1]: https://docs.datadoghq.com/es/logs/log_configuration/archives/?tab=awss3&site=us -[2]: https://docs.datadoghq.com/es/observability_pipelines/destinations/amazon_s3/?tab=docker -[3]: https://docs.datadoghq.com/es/logs/log_configuration/archives/?tab=awss3&site=us +[1]: /es/logs/log_configuration/archives/?tab=awss3 +[2]: /es/observability_pipelines/destinations/datadog_archives/?tab=docker +[3]: /es/logs/log_configuration/archives/?tab=awss3 [4]: https://app.datadoghq.com/logs/archive-search/new [5]: https://app.datadoghq.com/logs/archive-search/ -[6]: /es/logs/guide/logs-rbac/?tab=ui#restrict-access-to-logs \ No newline at end of file +[6]: /es/logs/guide/logs-rbac/?tab=ui#restrict-access-to-logs +[7]: /es/logs/log_configuration/archives/?tab=awss3#archive-search-lookup-attribute +[8]: /es/logs/log_configuration/archives/?tab=awss3#archive-search-partition-attribute +[9]: /es/logs/log_configuration/archives/?tab=awss3#compression \ No newline at end of file diff --git a/content/es/logs/log_configuration/attributes_naming_convention.md b/content/es/logs/log_configuration/attributes_naming_convention.md index eb9d9a29d03..510b2b3ebb6 100644 --- a/content/es/logs/log_configuration/attributes_naming_convention.md +++ b/content/es/logs/log_configuration/attributes_naming_convention.md @@ -1,114 +1,112 @@ --- aliases: - /es/logs/processing/attributes_naming_convention/ -description: Obtener más información sobre atributos y compatibilidad de la convención - de nomenclatura +description: Aprenda sobre los atributos y cómo soportar una convención de nombres further_reading: - link: logs/log_configuration/pipelines tag: Documentación - text: Descubrir los pipelines de Datadog + text: Descubra Datadog Pipelines - link: logs/log_configuration/processors tag: Documentación - text: Consultar la lista de todos los procesadores disponibles + text: Consulte la lista completa de procesadores disponibles - link: logs/logging_without_limits tag: Documentación - text: Logging Without Limits + text: Registro sin límites - link: logs/explorer tag: Documentación - text: Aprender a explorar tus logs + text: Aprenda cómo explorar sus registros - link: https://www.datadoghq.com/blog/cidr-queries-datadog-log-management/ tag: Blog - text: Uso de consultas con notación de CIDR para filtrar tus logs de tráfico de - red -title: Atributos y asignación de alias + text: Utilice consultas en notación CIDR para filtrar los registros de tráfico de + su red +title: Atributos y Alias --- +## Resumen {#overview} -## Información general +Centralizar registros de diversas tecnologías y aplicaciones puede generar decenas o cientos de atributos diferentes en un entorno de Log Management, especialmente cuando muchos equipos están trabajando en el mismo entorno -Centralizar logs a partir de varias tecnologías y aplicaciones puede generar decenas o centenas de atributos diferentes en un entorno Log Management, especialmente cuando muchos equipos trabajan en el mismo entorno. +Por ejemplo, la IP del cliente puede tener diversos atributos de registro, como `clientIP`, `client_ip_address`, `remote_address`, `client.ip` y así sucesivamente El tiempo de ejecución de una solicitud puede denominarse `exec_time`, `request_latency`, `request.time_elapsed` y así sucesivamente -Por ejemplo, una IP de cliente puede tener varios atributos de logs, como `clientIP`, `client_ip_address`, `remote_address`, `client.ip`, etc. Es posible referirse a un tiempo de ejecución como `exec_time`, `request_latency`, `request.time_elapsed`, etc. +Utilice **atributos** y **aliasing** para unificar su entorno de registros -Utiliza los **atributos** y la **asignación de alias** para unificar el entorno de tus logs. +## Tipos de atributos y aliasing {#attribute-types-and-aliasing} -## Tipos de atributos y asignación de alias +Los atributos prescriben [facetas de registros][1] y [etiquetas][2], que se utilizan para filtrar y buscar en el Explorador de Registros. -Los atributos imponen [facetas de logs][1] y [etiquetas (tags)][2] que se utilizan para filtrar y buscar en el Explorador de logs. + * [**Atributos reservados**](#reserved-attributes) son ingeridos automáticamente. - * Los [**atributos reservados**](#reserved-attributes) se consumen automáticamente. + * [**Atributos estándar**](#standard-attributes) son la columna vertebral de la convención de nombres para su organización Hay un conjunto predeterminado de atributos estándar disponibles en [la aplicación][3]. Sin embargo, esta lista puede ser personalizada para crear una **convención de nombres** para su equipo - * Los [**atributos estándar**](#standard-attributes) son la columna vertebral de la convención de nomenclatura de tu organización. Existe un conjunto predeterminado de atributos estándar disponibles en [la aplicación][3]. Sin embargo, esta lista puede personalizarse para crear una **convención de nomenclatura** para tu equipo. + * Utilice [**aliasing**](#aliasing) una vez que haya implementado una convención de nombres con atributos estándar o si está tratando de crear una faceta estándar única a partir de múltiples fuentes de registro Por ejemplo, siga a los clientes más afectados por latencias en una infraestructura híbrida de [Apache][4] y [Amazon Cloud Front][5], utilizando la faceta estándar `Network Client IP` junto con la estándar `duration` El aliasing permite implementar una convención de nombres sin tener que cambiar la pila técnica de un equipo - * Utiliza la [**asignación de alias**](#aliasing) una vez que hayas implementado una convención de nomenclatura con atributos estándar o si estás intentando crear una faceta estándar única a partir de varias fuentes de logs. Por ejemplo, realiza un seguimiento de los clientes más afectados por las latencias en una infraestructura híbrida [Apache][4] y [Amazon Cloud Front][5], utilizando la faceta estándar `Network Client IP` junto con la `duration` estándar. La asignación de alias te permite implementar una convención de nomenclatura, sin tener que cambiar la pila técnica de un equipo. +## Atributos reservados {#reserved-attributes} -## Atributos reservados +A continuación se presenta una lista de atributos reservados que se ingieren automáticamente con los registros. -A continuación se muestra una lista de los atributos reservados que se consumen automáticamente con los logs. - -**Nota**: Si también estás recopilando trazas o métricas, se recomienda configurar el etiquetado unificado de servicios. Esta configuración combina la telemetría de Datadog mediante el uso de tres etiquetas estándar: `env`, `service` y `version`. Para obtener más información, consulta la documentación específica del [etiquetado unificado de servicios][6]. +**Nota**: Si también está recopilando trazas o métricas, se recomienda configurar unified service tagging Esta configuración une la telemetría de Datadog a través del uso de tres etiquetas estándar: `env`, `service` y `version`. Consulte la documentación dedicada a unified service tagging para más información | Atributo | Descripción | |-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `host` | El nombre del host de origen tal y como se define en las métricas. Datadog recupera automáticamente las etiquetas de host correspondientes del host coincidente en Datadog y las aplica a tus logs. El Agent configura este valor automáticamente. | -| `source` | Corresponde al nombre de la integración, la tecnología de la que procede el log. Cuando coincide con un nombre de integración, Datadog instala automáticamente los analizadores y las facetas correspondientes. Por ejemplo, `nginx`, `postgresql`, etc. | -| `status` | Corresponde al nivel/a la severidad de un log. Se utiliza para definir [patrones][7] y tiene un diseño específico en la interfaz de usuario de los logs de Datadog. | -| `service` | El nombre de la aplicación o del servicio que genera eventos de logs. Se utiliza para pasar de logs a APM, así que asegúrate de definir el mismo valor cuando utilices ambos productos. | -| `trace_id` | Corresponde al ID de rastreo utilizado para trazas. Se utiliza para [correlacionar tu log con su traza][8]. | -| `message` | Por defecto, Datadog consume el valor del atributo `message` como cuerpo de la entrada del log. Ese valor se resalta y se muestra en Live Tail, donde se indexa para búsquedas de texto completo. | - -## Atributos estándar - -Las integraciones de logs se basan de forma nativa en un [conjunto predeterminado][9] de atributos estándar. - -La tabla de atributos estándar viene con un conjunto de [atributos estándar predefinidos](#default-standard-attribute-list). Puedes añadir a la lista tus propios atributos y editar o eliminar los atributos estándar existentes. - -### Crear un nuevo atributo estándar -Los **usuarios administradores** pueden seleccionar la lista de atributos estándar: -1. Ve a la [página de configuración][3] del atributo estándar. -1. Haz clic en **New Standard Attribute** (Nuevo atributo estándar). -1. Define el atributo estándar: - - `Path`: La ruta de los atributos estándar tal y como los encontrarías en tu JSON (por ejemplo, network.client.ip). - - `Type`(`string`, `integer`, `double`, `boolean`): tipo de atributo, que se utiliza para eliminar elementos de la lista de reasignación. - - `Description`: Descripción legible del atributo. - - (Opcional)`Remapping list`: Lista separada por comas de los atributos no conformes que deben reasignarse al atributo estándar. - -### Lista de atributos estándar por defecto - -Consulta la lista completa lista de [atributos estándar por defecto de Log Management][9], que se divide en los dominios funcionales: - -| Atributo estándar | Descripción | +| `host` | El nombre del host de origen según se define en las métricas. Datadog recupera automáticamente las etiquetas de host correspondientes del host coincidente en Datadog y las aplica a sus registros El Agente establece este valor automáticamente. | +| `source` | Esto corresponde al nombre de la integración, la tecnología de la cual se originó el registro. Cuando coincide con un nombre de integración, Datadog instala automáticamente los analizadores y facetas correspondientes. Por ejemplo, `nginx`, `postgresql`, y así sucesivamente. | +| `status` | Esto corresponde al nivel/severidad de un registro. Se utiliza para definir [patrones][7] y tiene un diseño dedicado en la interfaz de usuario de registros de Datadog. | +| `service` | El nombre de la aplicación o servicio que genera los eventos de registro. Se utiliza para cambiar de Registros a APM, así que asegúrese de definir el mismo valor cuando utilice ambos productos | +| `trace_id` | Esto corresponde al ID de traza utilizado para las trazas. Se utiliza para [correlacionar su registro con su traza][8] | +| `message` | Por defecto, Datadog ingiere el valor del atributo `message` como el cuerpo de la entrada de registro. Ese valor se resalta y se muestra en Live Tail, donde se indexa para búsqueda de texto completo. | + +## Atributos estándar {#standard-attributes} + +Las integraciones de registro dependen nativamente de un [conjunto predeterminado][9] de atributos estándar. + +La tabla de atributos estándar viene con un conjunto de [atributos estándar predefinidos](#default-standard-attribute-list). Puede agregar a esa lista sus propios atributos, y editar o eliminar los atributos estándar existentes + +### Cree un nuevo atributo estándar {#create-a-new-standard-attribute} +**Los usuarios administradores** pueden curar la lista de atributos estándar: +1. Navegue a la [página de configuración de atributos estándar][3] +1. Haga clic en {{< ui >}}New Standard Attribute{{< /ui >}} +1. Defina el atributo estándar: + - {{< ui >}}Path{{< /ui >}}: La ruta de los atributos estándar como la encontraría en su JSON (por ejemplo, network.client.ip) + - {{< ui >}}Type{{< /ui >}}: (`string`, `integer`, `double`, `boolean`): El tipo del atributo, que se utiliza para convertir elementos de la lista de remapeo. + - {{< ui >}}Description{{< /ui >}}: Descripción legible por humanos del atributo. + - (Opcional) {{< ui >}}Remapping list{{< /ui >}}: Lista separada por comas de atributos no conformes que deben ser remapeados al atributo estándar. + +### Lista de atributos estándar por defecto {#default-standard-attribute-list} + +Consulte la lista completa de [Log Management Default Standard Attributes][9], que se divide en los dominios funcionales: + +| Atributo Estándar | Descripción | |----------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [Red/Comunicaciones][10] | Estos atributos están relacionados con los datos utilizados en la comunicación de red. Todos los campos y todas las métricas llevan el prefijo `network`. | -| [Geolocalización][11] | Estos atributos están relacionados con la geolocalización de las direcciones IP utilizadas en la comunicación de red. Todos los campos llevan el prefijo `network.client.geoip` o `network.destination.geoip`. | -| [Solicitudes HTTP][12] | Estos atributos están relacionados con datos utilizados habitualmente en solicitudes y accesos HTTP. Todos los atributos llevan el prefijo `http`. Las integraciones típicas que se basan en estos atributos incluyen [Apache][4], Rails, [AWS CloudFront][13], servidores de aplicaciones web, etc. Los atributos de detalles de URL llevan el prefijo `http.url_details`. Estos atributos proporcionan detalles sobre las partes analizadas de la URL HTTP. Son generados por el [analizador de URL][14]. | -| [Código fuente][15] | Estos atributos están relacionados con los datos utilizados cuando se genera un log o un error utilizando un generador de logs en una aplicación personalizada. Todos los atributos llevan el prefijo `logger` o `error`. Las integraciones típicas que se basan en estos atributos incluyen Java, Node.js, .NET, Golang, Python, etc. | -| [Base de datos] [16] | Las integraciones típicas que se basan en estos atributos son [Cassandra][17], [MySQL][18], [RDS][19], [Elasticsearch][20], etc. | -| [Rendimiento][21] | Estos atributos están relacionados con las métricas de rendimiento. Datadog recomienda [reasignar][22] cualquier duración de tus logs con este atributo, ya que se muestran y se utilizan como [medida][1] por defecto para la [búsqueda de trazas][23]. | -| [Atributos relacionados con el usuario][24] | Todos los atributos y todas las medidas llevan el prefijo `usr`. | -| [Syslog y trasvasadores de logs][25] | Estos atributos están relacionados con los datos añadidos por un syslog o un agente para el envío de logs. Todos los campos y métricas llevan el prefijo `syslog`. Las integraciones que se basan en estos incluyen [Rsyslog][26], [NxLog][27], [Syslog-ng][28], [FluentD][29] y [Logstash][30]. | -| [DNS][31] | Todos los atributos y todas las medidas llevan el prefijo `dns`. | -| [Eventos][32] | Todos los atributos llevan el prefijo `evt`. | +| [Red/comunicaciones][10] | Estos atributos están relacionados con los datos utilizados en la comunicación de red. Todos los campos y métricas están precedidos por `network`. | +| [Geolocalización][11] | Estos atributos están relacionados con la geolocalización de direcciones IP utilizadas en la comunicación de red. Todos los campos están precedidos por `network.client.geoip` o `network.destination.geoip`. | +| [Solicitudes HTTP][12] | Estos atributos están relacionados con datos comúnmente utilizados en solicitudes y accesos HTTP. Todos los atributos están precedidos por `http`. Las integraciones típicas que dependen de estos atributos incluyen [Apache][4], Rails, [AWS CloudFront][13], servidores de aplicaciones web, y así sucesivamente. Los atributos de detalles de URL están precedidos por `http.url_details`. Estos atributos proporcionan detalles sobre las partes analizadas de la URL HTTP. Son generados por el [analizador de URL][14]. | +| [Código fuente][15] | Estos atributos están relacionados con los datos utilizados cuando se genera un registro o un error utilizando un registrador en una aplicación personalizada. Todos los atributos están precedidos ya sea por `logger` o `error`. Las integraciones típicas que dependen de estos atributos son Java, Node.js, .NET, Golang, Python, y así sucesivamente. | +| [Base de datos][16] | Las integraciones típicas que dependen de estos atributos son [Cassandra][17], [MySQL][18], [RDS][19], [Elasticsearch][20], y así sucesivamente. | +| [Rendimiento][21] | Estos atributos están relacionados con métricas de rendimiento. Datadog recomienda [reasignar][22] cualquier duración dentro de sus registros en este atributo, ya que se muestran y utilizan como una [medida][1] predeterminada para la [búsqueda de trazas][23]. | +| [Atributos relacionados con el usuario][24] | Todos los atributos y medidas están precedidos por `usr`. | +| [Syslog y agentes de envío de registros][25] | Estos atributos están relacionados con los datos añadidos por un syslog o un agente de envío de registros. Todos los campos y métricas están precedidos por `syslog`. Las integraciones que dependen de estos incluyen [Rsyslog][26], [NxLog][27], [Syslog-ng][28], [Fluentd][29], y [Logstash][30]. | +| [DNS][31] | Todos los atributos y medidas están precedidos por `dns`. | +| [Events][32] | Todos los atributos están precedidos por `evt` | -## Asignación de alias +## aliasing {#aliasing} -La creación de un alias para un atributo de origen que se asigna a un atributo de destino permite a los logs llevar tanto el atributo de origen como el de destino. +Crear un alias para un atributo de origen que se mapea a un atributo de destino permite que los registros contengan tanto los atributos de origen como los de destino. -Los usuarios pueden interactuar tanto con el atributo con el alias (origen), como con el atributo estándar (destino). Sin embargo, se [invita][33] a los usuarios a utilizar la faceta estándar, en lugar de la del alias. De este modo, se orienta la convención de nomenclatura y se disuade a los usuarios de crear recursos (como vistas guardadas o dashboards) basados en contenido no estándar. +Los usuarios pueden interactuar tanto con el atributo alias (origen) como con el atributo estándar (destino) Sin embargo, se recomienda que los usuarios utilicen la faceta estándar en lugar del atributo alias Esto proporciona orientación sobre la convención de nombres y desalienta a los usuarios de crear activos (como vistas guardadas o dashboards) basados en contenido no estándar -**Detalles adicionales sobre la asignación de alias**: +**Detalles adicionales sobre aliasing**: -- La asignación de alias se produce después de que los pipelines procesan logs. Cualquier atributo extraído o procesado puede utilizarse como fuente de asignación de alias. -- Datadog impone un tipo de atributo con alias. Si esto no es posible, se omite la asignación de alias. -- Cuando un log ya lleva el atributo de destino, la asignación de alias anula el valor de ese log. -- En el caso de un atributo estándar al que se asignan varios atributos con alias, si un log lleva varios de estos atributos de origen, sólo se aplica el alias a uno de estos atributos de origen. -- Las actualizaciones o adiciones a los atributos estándar sólo se aplican a los logs recientemente consumidos. -- Los atributos estándar no pueden tener alias. -- Los atributos sólo pueden llevar alias para atributos estándar. -- Para respetar la estructura JSON de los logs, no es posible tener un atributo estándar como elemento secundario de otro (por ejemplo, `user` y `user.name` no pueden ser ambos atributos estándar). +- El aliasing ocurre después de que los registros son procesados por los pipelines. Cualquier atributo extraído o procesado puede ser utilizado como fuente para el aliasing. +- Datadog aplica el tipo de un atributo asignado como alias. Si esto no es posible, se omite el aliasing. +- En el caso de un registro que ya contiene el atributo de destino, el aliasing sobrescribe el valor de ese registro. +- Para un atributo estándar al que se le asignan múltiples atributos, si un registro contiene varios de estos atributos de fuente, solo uno de estos atributos de fuente se asigna como alias. +- Cualquier actualización o adición a los atributos estándar solo se aplica a los registros recién ingeridos. +- Los atributos estándar no pueden ser asignados como alias. +- Los atributos solo pueden ser asignados como alias a atributos estándar. +- Para respetar la estructura JSON de los registros, no es posible tener un atributo estándar como hijo de otro (por ejemplo, `user` y `user.name` no pueden ser ambos atributos estándar). -Para obtener más información, consulta [Facetas de alias][34]. +Consulte [Alias Facets][34] para información adicional. -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -125,7 +123,7 @@ Para obtener más información, consulta [Facetas de alias][34]. [11]: /es/standard-attributes/?product=log+management&search=geolocation [12]: /es/standard-attributes/?search=http.&product=log+management [13]: /es/integrations/amazon_elb/ -[14]: /es/logs/log_configuration/processors/#url-parser +[14]: /es/logs/log_configuration/processors/url_parser/ [15]: /es/standard-attributes/?search=logger+error&product=log+management [16]: /es/standard-attributes/?search=db&product=log+management [17]: /es/integrations/cassandra/ @@ -133,7 +131,7 @@ Para obtener más información, consulta [Facetas de alias][34]. [19]: /es/integrations/amazon_rds/ [20]: /es/integrations/elastic/ [21]: /es/standard-attributes/?search=duration&product=log+management -[22]: /es/logs/log_configuration/processors/#remapper +[22]: /es/logs/log_configuration/processors/remapper/ [23]: /es/tracing/app_analytics/search/ [24]: /es/standard-attributes/?search=usr&product=log+management [25]: /es/standard-attributes/?search=syslog&product=log+management diff --git a/content/es/mobile/_index.md b/content/es/mobile/_index.md new file mode 100644 index 00000000000..6b7160b43e7 --- /dev/null +++ b/content/es/mobile/_index.md @@ -0,0 +1,368 @@ +--- +algolia: + tags: + - Datadog mobile app + - mobile device +aliases: +- /es/service_management/mobile/ +description: Monitorea tu infraestructura dondequiera que estés con la aplicación + móvil de Datadog para iOS y Android, que cuenta con tableros, alertas, incidentes + y gestión de guardias. +further_reading: +- link: /mobile/shortcut_configurations/ + tag: Documentación + text: Configuraciones de accesos directos +- link: /monitors/ + tag: Documentación + text: Aprende sobre Seguimiento y Alerting +- link: /dashboards/ + tag: Documentación + text: Aprende sobre Dashboards +- link: https://www.datadoghq.com/blog/datadog-mobile-widgets/ + tag: Blog + text: Mejora tu experiencia de guardia con los widgets de tableros móviles de Datadog +- link: https://www.datadoghq.com/blog/mobile-app-getting-started/ + tag: Blog + text: Comenzando con la aplicación móvil de Datadog +- link: https://www.datadoghq.com/blog/mobile-app-reduce-mttr/ + tag: Blog + text: Reduce tu tiempo medio de reparación con la aplicación móvil de Datadog +- link: https://www.datadoghq.com/blog/designing-on-call-sounds + tag: Blog + text: Cómo diseñamos sonidos de alerta empáticos para ingenieros de guardia +title: Aplicación Móvil de Datadog +--- +La aplicación móvil de Datadog te permite ver alertas de Datadog en tu dispositivo móvil. Al recibir una alerta a través de On-Call, Slack o correo electrónico, puedes investigar problemas abriendo gráficos de seguimiento y tableros en tu dispositivo móvil. + +## Instalando {#installing} + +Descarga la aplicación desde la [Apple App Store][1] para tu dispositivo iOS, o desde la [Google Play Store][2] para tu dispositivo Android. + +### Iniciando sesión {#logging-in} + +Puedes iniciar sesión utilizando autenticación estándar, autenticación de Google o [SAML][3] - tanto para la región de EE. UU. como para la de la UE. + +#### Habilitando SAML {#enabling-saml} + +El inicio de sesión SAML requiere que configures y autentiques tu proveedor SAML con Datadog utilizando tu navegador predeterminado de iOS/Android. Para el inicio de sesión iniciado por IdP de SAML, consulta el final de esta sección. Para autenticar SAML: + +1. En la aplicación móvil, selecciona la región de tu centro de datos (por ejemplo, US1) en la esquina superior derecha. +2. Presiona el botón de inicio de sesión. +3. Haz clic en "¿Usando inicio de sesión único (SAML)?" enlace. +4. Ingresa tu correo electrónico de la empresa y envía el correo. +5. Mientras estés en tu dispositivo móvil, abre el correo electrónico y haz clic en el enlace indicado a través de tu navegador predeterminado. +6. Ingresa las credenciales SAML de tu organización para ser redirigido a una sesión autenticada de la aplicación móvil de Datadog. + +Opcionalmente, también puedes autenticarte a través de un código QR o entrada manual, como se detalla a continuación. + +##### Código QR {#qr-code} + +1. En un navegador, navega a tu página de [Configuraciones Personales de la Cuenta de Datadog][4] y haz clic en **Iniciar sesión en la aplicación móvil** para la organización en la que estás actualmente conectado. Esto hace que aparezca un código QR. +2. Usa la aplicación de cámara predeterminada de tu teléfono para escanear el código QR y luego toca el enlace sugerido para abrir la aplicación móvil de Datadog. Se iniciará sesión automáticamente. + +**Nota**: Si haces clic en el botón **Iniciar sesión en la aplicación móvil de Datadog** de una organización en la que no estás actualmente conectado, el UUID de la organización se inserta automáticamente en la pantalla de inicio de sesión. Aún debes proporcionar autenticación utilizando tu método estándar. + +##### Entrada manual {#manual-entry} + +1. Para ingresar manualmente el ID SAML, abre la aplicación móvil de Datadog y presiona "¿Usando inicio de sesión único (SAML)?" botón. +2. Presiona el botón "Usar otro método para iniciar sesión" e ingresa el ID SAML manualmente. + +Al hacer clic en **Autorizar** al iniciar sesión, vinculas el dispositivo móvil que estás utilizando a tu cuenta. Por motivos de seguridad, deberás pasar por este proceso una vez al mes. + +##### Inicio de sesión iniciado por IdP SAML {#saml-idp-initiated-login} + +Si sigues recibiendo errores al intentar iniciar sesión con SAML, tu proveedor de identidad puede forzar el inicio de sesión iniciado por IdP. Para más información sobre cómo habilitar SAML iniciado por IdP, consulta nuestra página de SAML iniciado por IdP [página de SAML Iniciado por IdP][5] + +##### Inicio de sesión en subdominio {#subdomain-login} + +1. Toca subdominio e ingresa tu [subdominio][29] personalizado. +2. Continúa con los pasos de inicio de sesión según se indique. + +### Cambiar organizaciones {#switch-organizations} + +Para cambiar de organizaciones, navega a la página de **Configuración** en la aplicación móvil y haz clic en **Organización**. + +**Nota**: Puede que necesites reautenticarte al cambiar de organizaciones. + +### Cerrar sesión {#log-out} +Para cerrar sesión, navega a la página de **Configuración** en la aplicación móvil y haz clic en **Cerrar sesión**. Confirma **Sí** que estás seguro. + +## De guardia {#on-call} +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/on_call_may_2025.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de guardia de iOS mostrando turnos, horarios y opciones de escalación">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_On_Call.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de guardia de Android mostrando turnos, horarios y opciones de escalación">}} + +{{% /tab %}} +{{< /tabs >}} + +La página de guardia proporciona una vista completa de los turnos de guardia, horarios, páginas y políticas de escalación. Puedes filtrar la información por usuario, equipo, urgencia, estado o fecha para encontrar rápidamente los detalles relevantes. Tocar **Escalar** te solicita confirmar la escalación al siguiente nivel de política. Tocar **Declarar Incidente** te solicita ingresar un título y proporcionar los atributos relevantes del incidente. + +Puedes enviar una notificación a un individuo o equipo, y también sobrescribir turnos existentes tocando el turno que deseas sobrescribir. Puedes ver las investigaciones del monitor Bits Investigation para los hallazgos y conclusiones iniciales. Para más información, consulta [Datadog On-Call][20]. + +Para configurar las notificaciones de On-Call en tu dispositivo móvil, consulta la guía para [Configurar tu Dispositivo Móvil para Datadog On-Call][21]. + +
+Si solo necesitas acceder a On-Call en móvil y deseas restringir el acceso a datos de telemetría sensibles en dispositivos móviles, contacta al soporte de Datadog. +
+ +## Incidentes {#incidents} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/incident_may_2025.png" alt="Página de Incidentes en la aplicación móvil de Datadog On-call" responsive="true" style="width:100%; background:none; border:none; box-shadow:none;">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Incident.png" alt="Página de Incidentes en la aplicación móvil de Datadog On-call" responsive="true" style="width:100%; background:none; border:none; box-shadow:none;">}} + +{{% /tab %}} +{{< /tabs >}} + +En la página de Incidentes, puedes ver, buscar y filtrar todos los incidentes a los que tienes acceso en tu cuenta de Datadog para asegurar la respuesta y resolución desde cualquier lugar. También puedes declarar y editar incidentes, y comunicarte sin problemas con tus equipos a través de integraciones con Slack, Zoom y muchos más. Para más información sobre Incidentes, consulta [Datadog Incident Management][12]. + +### Crear un incidente {#create-an-incident} + +1. Navega a la lista de incidentes tocando la pestaña de Incidentes en la barra inferior. +2. Toca el botón **+** en la esquina superior derecha. +3. Dale a tu incidente un título, severidad y comandante. + +## Centro de Notificaciones {#notification-center} +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/ios_notification_center.png" alt="Centro de notificaciones de iOS en la aplicación móvil de Datadog" responsive="true" style="width:100%; background:none; border:none; box-shadow:none;">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/android_notification_center.png" alt="Centro de notificaciones de Android en la aplicación móvil de Datadog" responsive="true" style="width:100%; background:none; border:none; box-shadow:none;">}} + +{{% /tab %}} +{{< /tabs >}} + +El Centro de Notificaciones lista todas las notificaciones push recibidas para que el contexto de la notificación nunca se pierda. Puedes filtrar por tipo de notificación. + +## Tableros {#dashboards} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/dashboard_may_2025_v2.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de tableros de iOS mostrando la lista de tableros con opciones de búsqueda y filtrado">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Dashboards.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de tableros de Android mostrando la lista de tableros con opciones de búsqueda y filtrado">}} + +{{% /tab %}} +{{< /tabs >}} + +En la página de Tableros, puedes ver y buscar todos los tableros a los que tienes acceso en tu organización de Datadog, y filtrarlos utilizando las mismas variables de plantilla que has configurado en la aplicación web de Datadog. Filtra rápidamente tus tableros utilizando Saved Views de variables de plantilla. Para más información sobre Saved Views de variables de plantilla, consulta [Dashboard Saved Views][9]. Haz clic en un tablero individual para verlo. Haz clic en el intervalo de tiempo en la esquina inferior derecha para personalizar el rango del tablero. + +**Nota**: +- Para configurar o editar un tablero, necesitas [iniciar sesión en la aplicación del navegador de Datadog][10]. Para más información, consulta [Tableros][11]. +- Los enlaces de tablero configurados en UTC se abren en UTC en la aplicación móvil. Para más información, consulta [Configuraciones de Tablero][24]. +- No todos los tipos de widgets están disponibles, lo que significa que no muestran datos en la aplicación móvil. Esto incluye Mapa de Topología, Widget de Lista (todas las fuentes de datos), widget de treemap heredado y widget de Resumen de SLO. + +## Monitores {#monitors} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/monitor_may_2025.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de monitores de iOS que muestra la lista de monitores con opciones de búsqueda y filtrado.">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Monitors.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de monitores de Android que muestra la lista de monitores con opciones de búsqueda y filtrado.">}} + +{{% /tab %}} +{{< /tabs >}} + +En la página de Monitores, puedes ver y buscar todos los monitores a los que tienes acceso en tu organización de Datadog. Puedes especificar por nombre de campo y construir consultas de búsqueda específicas basadas en tu estrategia de etiquetado. Para más información sobre la búsqueda, consulta la sección [Administrar Búsqueda de Monitores][6]. + +Por ejemplo, para filtrar los monitores de métricas relacionados con el equipo de SRE que está siendo alertado, utiliza la consulta `"status:Alert type:Metric team:sre"`. Haz clic en alertas individuales para ver detalles, que pueden ser filtrados por tipo y por tiempo de alerta. También puedes silenciar la alerta. Tus diez búsquedas más recientes se guardan para que tengas un acceso más rápido a consultas anteriores. Además, puedes filtrar tu lista de monitores utilizando vistas guardadas, que aparecen cuando activas la barra de búsqueda. También puedes ver y ejecutar pruebas sintéticas al visualizar tus monitores sintéticos. + +**Nota**: Para configurar o editar monitores, notificaciones o vistas guardadas, debes usar la [aplicación web de Datadog][7]. Todos los monitores configurados en la aplicación web son visibles en la aplicación móvil. Para más información, consulta [Creando monitores][8]. + +## Notebooks {#notebooks} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/notebook_may_2025.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="iOS muestra la página de cuadernos con una lista de cuadernos y opciones de búsqueda y filtrado">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Notebooks.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Android muestra la página de cuadernos con una lista de cuadernos y opciones de búsqueda y filtrado">}} + +{{% /tab %}} +{{< /tabs >}} + +En la página de Notebooks, puedes ver y buscar todos los notebooks a los que tienes acceso en tu organización de Datadog, y filtrarlos por etiquetas. Las etiquetas de notebooks te permiten filtrar por favoritos, equipo y tipo. Consulta [etiquetas de notebooks][19] para más información. + +**Nota**: Para configurar o editar un notebook, necesitas [iniciar sesión en la aplicación del navegador de Datadog][10]. Para más información, consulta [Notebooks][18]. + +## Trazas {#traces} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/trace_may_2025.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de trazas de iOS que muestra una lista de trazas con opciones de búsqueda y filtrado">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Traces.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de trazas de Android que muestra una lista de trazas con opciones de búsqueda y filtrado">}} + +{{% /tab %}} +{{< /tabs >}} + +En la página de Trazas, puedes ver y buscar todas las trazas a las que tienes acceso en tu organización de Datadog. Puedes reducir la lista a través de vistas guardadas o construir consultas de búsqueda específicas basadas en tu estrategia de etiquetado. Para más información sobre la búsqueda, consulta [Sintaxis de Consulta del Explorador de Rastros][16]. + +Por ejemplo, para filtrar trazas con la etiqueta `#env:prod` o la etiqueta `#test`, utiliza la consulta `"env:prod" OR test`. Haz clic en servicios individuales para expandir los tramos asociados y selecciona tramos para ver información, errores y registros relacionados. También puedes abrir trazas desde servicios y registros. + +**Solo disponible en iOS**: Watchdog Insights señala valores anómalos de latencia y valores anómalos de errores. Para más información, consulta [Watchdog Insights][26]. + + +## Registros {#logs} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/iOS_logs_v2.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de registros de iOS que muestra una lista de registros con opciones de búsqueda y filtrado">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Logs.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de registros de Android que muestra una lista de registros con opciones de búsqueda y filtrado">}} + +{{% /tab %}} +{{< /tabs >}} + +En la página de Registros, puedes ver y buscar todos los registros o registros flexibles a los que tienes acceso en tu organización de Datadog. Puedes reducir la lista a través de vistas guardadas o filtros de consulta. Para más información sobre la búsqueda, consulta [Sintaxis de Búsqueda de Registros][23]. + +También puedes agrupar por patrones de registro y seleccionar diferentes atributos de registro para agrupar o clasificar resultados. Para más información sobre patrones de registros, consulte [Agrupación de Registros en Patrones][22]. + +**Nota**: Para activar los registros flexibles, navegue a la lista de registros y toque en la parte superior derecha para seleccionar habilitar registros flexibles. + +**Solo disponible en iOS**: Watchdog Insights señala anomalías y valores anómalos en los registros. Para más información, consulte [Watchdog Insights para Registros][25]. + + +## Servicios {#services} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/service_may_2025_v2.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de servicios de iOS que muestra la lista de servicios con opciones de búsqueda y filtrado.">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Services.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Página de servicios de Android que muestra la lista de servicios con opciones de búsqueda y filtrado.">}} + +{{% /tab %}} +{{< /tabs >}} + +En la página de Servicios, puede ver, buscar y filtrar todos los servicios a los que tiene acceso en su cuenta de Datadog desde la aplicación móvil de Datadog para asegurar la salud de su servicio desde cualquier lugar. También puede ver implementaciones recientes, recursos, SLOs y monitores asociados con ese servicio. Para más información sobre herramientas de investigación para sus servicios, consulte [gestionar Catálogo][17]. + +## Bits AI {#bits-ai} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/ios_bits_chat.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Interfaz del chatbot de Bits AI en iOS donde un usuario pregunta sobre un servicio.">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/android_bits_chat.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Interfaz del chatbot de Bits AI en Android donde un usuario pregunta sobre un servicio.">}} + +{{% /tab %}} +{{< /tabs >}} + +En la página de inicio de Bits AI, puede hacer preguntas sobre la salud del sistema de su organización. Bits AI admite consultas en lenguaje natural para registros y trazas de APM. Para más información, consulte [Bits Chat][27]. + +### Investigación de Bits {#bits-investigation} +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/ios_bits_sre.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Resultados de la Investigación de Bits mostrados en una página de On-Call.">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/android_bits_sre.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Resultados de la Investigación de Bits mostrados en una página de On-Call.">}} + +{{% /tab %}} +{{< /tabs >}} + +Cuando está habilitado, la Investigación de Bits inicia investigaciones directamente en las páginas de On-Call. Estas investigaciones presentan hallazgos y conclusiones iniciales para ayudar a los respondientes a identificar posibles causas raíz y próximos pasos. Para más información, consulte [Investigación de Bits][28]. + +## Preguntas Frecuentes {#frequently-asked-question} +### ¿Cómo puedo permanecer conectado en la aplicación móvil? {#how-do-i-remain-logged-into-the-mobile-app} +Una vez autenticado con éxito en la aplicación móvil, permanecerá conectado durante 90 días. + +**Nota**: Si tiene habilitadas las notificaciones, se enviarán notificaciones proactivas 10 días antes de la expiración del token. + +### ¿Seguiré recibiendo notificaciones si se cierra sesión automáticamente? {#will-i-still-receive-notifications-if-i-am-automatically-signed-out} +Si se cierra sesión automáticamente durante el período de 90 días del token, aún podrá recibir notificaciones y se le pedirá que inicie sesión nuevamente. + +**Nota**: Si cierra sesión manualmente en la aplicación, dejará de recibir notificaciones. + +### ¿Por qué no estoy recibiendo notificaciones? {#why-am-i-not-receiving-notifications} +Verifique que tiene habilitadas las notificaciones para la aplicación Datadog en la configuración de aplicaciones de su dispositivo. Si desea asegurarse de que las notificaciones eviten No Molestar, verifique que las Alertas Críticas estén activadas. + +### ¿Recibiré notificaciones para todas las organizaciones en las que estoy registrado? {#will-i-receive-notifications-for-all-organizations-that-i-am-signed-into} +Sí, independientemente de la organización a la que cambie, recibirá notificaciones para todas las organizaciones en las que está registrado. Esto incluye notificaciones push críticas. + +### ¿Qué sucede si un usuario es deshabilitado? {#what-happens-if-a-user-is-disabled} +El token de la aplicación móvil será inválido y obligará al usuario a cerrar sesión. + +## Solución de problemas {#troubleshooting} + +Para obtener ayuda con la solución de problemas, [contacta al soporte de Datadog][13]. También puedes enviar un mensaje en el canal [#mobile-app][15] de [Slack público de Datadog][14]. + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + + +[1]: https://apps.apple.com/app/datadog/id1391380318 +[2]: https://play.google.com/store/apps/details?id=com.datadog.app +[3]: /es/account_management/saml/#pagetitle +[4]: https://app.datadoghq.com/personal-settings/organizations +[5]: /es/account_management/saml/mobile-idp-login/ +[6]: /es/monitors/manage/#search +[7]: https://app.datadoghq.com/monitors +[8]: /es/monitors/types +[9]: /es/dashboards/template_variables/#saved-views +[10]: https://app.datadoghq.com/dashboard/lists +[11]: /es/dashboards/ +[12]: /es/monitors/incident_management +[13]: /es/help/ +[14]: https://chat.datadoghq.com/ +[15]: https://datadoghq.slack.com/archives/C0114D5EHNG +[16]: /es/tracing/trace_explorer/query_syntax/ +[17]: https://docs.datadoghq.com/es/internal_developer_portal/catalog/set_up/ +[18]: https://docs.datadoghq.com/es/notebooks/ +[19]: https://docs.datadoghq.com/es/notebooks/#notebook-tags +[20]: https://docs.datadoghq.com/es/incident_response/on-call/ +[21]: /es/incident_response/on-call/guides/configure-mobile-device-for-on-call/?tab=ios +[22]: https://docs.datadoghq.com/es/logs/explorer/analytics/patterns/ +[23]: https://docs.datadoghq.com/es/logs/explorer/search_syntax/ +[24]: /es/dashboards/configure/#configuration-actions +[25]: /es/logs/explorer/watchdog_insights/ +[26]: /es/watchdog/insights/?tab=logmanagement +[27]: /es/bits_ai/bits_assistant/ +[28]: /es/bits_ai/bits_ai_sre/ +[29]: /es/account_management/multi_organization/#custom-sub-domains \ No newline at end of file diff --git a/content/es/monitors/downtimes/_index.md b/content/es/monitors/downtimes/_index.md index dba6ec21051..23b9bd3fff4 100644 --- a/content/es/monitors/downtimes/_index.md +++ b/content/es/monitors/downtimes/_index.md @@ -3,187 +3,186 @@ aliases: - /es/monitors/notify/downtimes/ cascade: algolia: - subcategory: Tiempos de inactividad + subcategory: Downtimes tags: - - Tiempos de inactividad - - Silenciar monitores -description: Programar tiempos de inactividad en tus monitores Datadog para evitar - recibir alertas durante periodos de tiempo específicos + - downtimes + - mute monitors +description: Programe tiempos de inactividad para sus Datadog monitors para evitar + alertas durante períodos específicos. further_reading: - link: /monitors/guide/suppress-alert-with-downtimes tag: Guía text: Suprimir alertas con tiempos de inactividad - link: /monitors/guide/scoping_downtimes tag: Guía - text: Delimitar los cronogramas de tiempos de inactividad + text: Definiendo horarios de tiempos de inactividad - link: /monitors/quality/ tag: Documentación - text: Ver monitores silenciados durante un periodo prolongado + text: Ver monitors que están silenciados por un período prolongado. - link: /monitors/ tag: Documentación - text: Crear monitores + text: Crear monitors - link: /monitors/notify/ tag: Documentación - text: Notificaciones de monitores + text: Notificaciones de monitors. title: Tiempos de inactividad --- +## Resumen {#overview} -## Información general +Programe tiempos de inactividad para apagones del sistema, mantenimiento fuera de línea o actualizaciones sin activar sus monitors. Los tiempos de inactividad silencian todas las alertas y notificaciones de los monitors, pero no evitan las transiciones de estado de los monitors. -Programa tiempos de inactividad para caídas del sistema, mantenimiento fuera de línea o actualizaciones sin activar tus monitores. Los tiempos de inactividad silencian todas las alertas de monitores y notificaciones, pero no impiden las transiciones de estados del monitor. +{{< img src="/monitors/downtimes/downtime_overview.png" alt="Ejemplo de un tiempo de inactividad" style="width:100%;" >}} -{{< img src="/monitors/downtimes/downtime_overview.png" alt="Ejemplo de tiempo de inactividad" style="width:100%;" >}} +## Configuración {#setup} -## Ajustes +### Crear un horario de tiempo de inactividad {#create-a-downtime-schedule} -### Crear el cronograma de un tiempo de inactividad +Para programar un tiempo de inactividad de un monitor en Datadog, navegue a la página [**Manage Downtime**][1]. Luego, haga clic en el botón **Schedule Downtime** en la parte superior derecha. -Para programar un tiempo de inactividad del monitor en Datadog, navega hasta la página [**Manage Downtime**][1] (Gestionar tiempo de inactividad). A continuación, haz clic en el botón **Schedule Downtime** (Programar tiempo de inactividad) de la parte superior derecha. +Para silenciar un monitor individual, haga clic en el botón **Mute** en la parte superior de la página de estado del monitor. Esto crea un horario de tiempo de inactividad para ese monitor en particular. -Para silenciar un monitor individual, haz clic en el botón **Mute** (Silenciar), en la parte superior de la página de estado del monitor. Esta acción programa un tiempo de inactividad para ese monitor específico. +### Elija qué silenciar {#choose-what-to-silence} -### Para elegir qué silenciar +Aplica horarios de inactividad a monitors específicos por nombre o a un amplio rango de monitors mediante etiquetas de monitor. Aplica filtros adicionales a través del [*contexto del grupo*](#downtime-scope). Haga clic en **Preview affected monitors** para ver los monitors incluidos. Para más ejemplos y casos de uso, consulte [Scoping downtimes schedules][2]. -Aplica cronogramas de tiempos de inactividad a monitores específicos por nombre, o a un amplio rango de monitores, por etiquetas (tags) de monitor. Aplica filtros adicionales a través del [*contexto de grupo*](#downtime-scope). Haz clic en **Preview affected monitors** (Previsualizar monitores afectados) para ver los monitores incluidos. Para ver más ejemplos y casos de uso, consulta la [delimitación de cronogramas de tiempos de inactividad][2]. - -**Nota**: Cualquier monitor creado o editado después de programar el tiempo de inactividad se incluye automáticamente en el tiempo de inactividad, si coincide con el contexto. +**Nota**: Cualquier monitor creado o editado después de que se programe el tiempo de inactividad se incluye automáticamente en el mismo si coincide con el contexto. {{< tabs >}} -{{% tab "By Monitor Name" %}} +{{% tab "Por nombre de monitor" %}} -Busca o utiliza el menú desplegable para elegir qué monitores silenciar. Si el campo se deja vacío, todos los monitores se silencian por defecto. También puedes seleccionar un contexto para restringir tu tiempo de inactividad a un host, un dispositivo o una etiqueta arbitraria específica. Sólo se silencian los monitores que tienen **TODOS los contextos seleccionados**. +Busque o utilice el menú desplegable para elegir qué monitors silenciar. Si el campo se deja vacío, todos los monitors se silencian por defecto. También puede seleccionar un contexto para restringir su tiempo de inactividad a un servidor, dispositivo o etiqueta arbitraria específicos. Solo los monitors que tienen **TODOS los contextos seleccionados** son silenciados. {{% /tab %}} -{{% tab "By Monitor Tags" %}} +{{% tab "Por etiquetas de monitor." %}} -Programa un tiempo de inactividad en función de una o varias [etiquetas de monitor][3]. El número máximo de etiquetas que se pueden seleccionar para un único tiempo de inactividad es 32. Cada etiqueta puede tener un máximo de 256 caracteres. Sólo se silencian los monitores que tienen **TODAS las etiquetas seleccionadas**. También puedes seleccionar contextos para aplicar restricciones adicionales. +Programe un tiempo de inactividad basado en una o más [etiquetas de monitor][3]. El número máximo de etiquetas de monitor que se pueden seleccionar para un solo tiempo de inactividad es 32. Cada etiqueta puede tener un máximo de 256 caracteres. Solo los monitors que tienen **TODAS las etiquetas seleccionadas** son silenciados. También puede seleccionar contextos para restricciones adicionales. [3]: /es/monitors/manage/#monitor-tags {{% /tab %}} {{< /tabs >}} -#### Contexto del tiempo de inactividad -Utiliza el contexto de grupo para aplicar filtros adicionales a tu tiempo de inactividad y tener un mayor control sobre los monitores que quieres silenciar. El contexto de grupo de un tiempo de inactividad se empareja con el objetivo específico del monitor. Si seleccionas varios monitores utilizando etiquetas de monitor, se buscarán los monitores etiquetados antes del emparejamiento con el contexto de grupo. +#### Contexto de inactividad {#downtime-scope} +Utilice el contexto del grupo para aplicar filtros adicionales a su tiempo de inactividad y tener más control sobre qué monitors silenciar. El contexto de grupo de un tiempo de inactividad se evalúa después del objetivo específico del monitor. Si apunta a múltiples monitors utilizando etiquetas de monitor, se encuentran monitors que están etiquetados antes de que coincida con el contexto del grupo. -Por ejemplo, un monitor que consulte la latencia media de todos tus servicios puede encontrarse con solicitudes lentas y posibles errores al ejecutar una actualización en el servicio `web-store`. +Por ejemplo, un monitor que observa la latencia promedio de todos sus servicios puede encontrar solicitudes lentas y posibles errores al realizar una actualización en el servicio `web-store`. -Quieres asegurarte de que las notificaciones relacionadas con `service:web-store` se silencian y que las demás alertas críticas para el resto de los servicios se envían como de costumbre. Introduce `service:web-store` en el contexto de grupo del tiempo de inactividad, después de seleccionar los objetivo del monitor. +Le gustaría asegurarse de que las Notifications relacionadas con `service:web-store` estén silenciadas y que otras alertas críticas para los servicios restantes se entreguen como de costumbre. Ingrese `service:web-store` en el contexto del grupo del tiempo de inactividad después de seleccionar los monitors objetivo. -**Nota**: Esto también funciona con grupos que tienen múltiples dimensiones, por ejemplo `service` y `host`. La creación de un tiempo de inactividad en `service:web-store` silenciaría todos los grupos que incluyen dicho servicio, por ejemplo `service:web-store,host:a` o `service:web-store,host:b`. +**Nota**: esto también funciona con grupos que tienen múltiples dimensiones, por ejemplo `service` y `host`. Crear un tiempo de inactividad en `service:web-store` silenciaría todos los grupos que incluyen dicho servicio, por ejemplo `service:web-store,host:a` o `service:web-store,host:b`. -#### Sintaxis del contexto del tiempo de inactividad -La consulta del contexto del tiempo de inactividad sigue la misma [sintaxis de búsqueda][3] común que muchos otros productos compatibles de la plataforma. Para incluir todos los grupos en el contexto de un tiempo de inactividad, escribe `*` para el `Group scope`. Otros ejemplos de contextos de grupo incluyen: +#### Sintaxis del contexto de tiempo de inactividad {#downtime-scope-syntax} +La consulta del contexto de tiempo de inactividad sigue la misma [Sintaxis de Búsqueda][3] común que muchos otros productos en la plataforma admiten. Para incluir todos los grupos en el contexto de un tiempo de inactividad, escriba `*` para el `Group scope`. Ejemplos adicionales de contextos de grupo incluyen: -| Contexto de grupo del tiempo de inactividad | Explicación | +| Contexto de grupo de tiempo de inactividad | Explicación | | ------------------- | ---------------------- | -| `service:web-store` | Silencia todas los notificaciones sobre el servicio `web-store`. | -| `service:web-store AND env:dev` | Silencia todas los notificaciones sobre el servicio `web-store` que se ejecuta en el entorno`dev`. | -| `env:(dev OR staging)` | Silencia cualquier notificación relacionada con el entorno `dev` o `staging`. | -| `service:web-store AND env:(dev OR staging)` | Silencia cualquier notificación relacionada con el servicio `web-store` que se ejecuta en el entorno `dev` o `staging`. | -| `host:authentication-*` | Silencia cualquier notificación relacionada con un host cuyo nombre lleva el prefijo `authentication-`. | -| `host:*-prod-cluster` | Silencia cualquier notificación relacionada con un host cuyo nombre lleva el sufijo `-prod-clúster`. | -| `host:*-prod-cluster` | Silencia cualquier notificación relacionada con un host cuyo nombre lleva el sufijo `-prod-clúster`. | -| `service:webstore AND -env:prod` | Silencia cualquier notificación sobre el servicio `web-store` que **no** se ejecuta en el entorno `prod`. | +| `service:web-store` | Silencia todas las Notifications sobre el servicio `web-store`. | +| `service:web-store AND env:dev` | Silencia todas las Notifications sobre el servicio `web-store` que se ejecuta en el entorno `dev`. | +| `env:(dev OR staging)` | Silencia cualquier Notification relacionada con el entorno `dev` o `staging`. | +| `service:web-store AND env:(dev OR staging)` | Silencia cualquier Notification relacionada con el servicio `web-store` que se ejecuta en el entorno `dev` o `staging`. | +| `host:authentication-*` | Silencia cualquier Notification que se relacione con un host cuyo nombre esté precedido por `authentication-`. | +| `host:*-prod-cluster` | Silencia cualquier Notification que esté relacionada con un host cuyo nombre termina en `-prod-cluster`. | +| `host:*-prod-cluster` | Silencia cualquier Notification que esté relacionada con un host cuyo nombre termina en `-prod-cluster`. | +| `service:webstore AND -env:prod` | Silencia cualquier Notification sobre el servicio `web-store` que **no** se esté ejecutando en el entorno `prod`. | -#### Limitaciones en el contexto del tiempo de inactividad -Existen algunas limitaciones que **no son compatibles**, entre las que se incluyen: +#### Limitaciones del contexto de tiempo de inactividad {#downtime-scope-limitations} +Existen algunas limitaciones que **no son soportadas**, las cuales incluyen: -* No se admiten más de dos niveles de anidamiento, como `team:app AND (service:auth OR (service:graphics-writer AND (env:prod OR (type:metric AND status:ok))))`. Como máximo, los tiempos de inactividad aceptan dos niveles de anidamiento. En su lugar, utiliza tiempos de inactividad separados para descomponer la lógica. -* La negación sólo se es compatible con pares clave/valor y etiquetas con `OR`. Por ejemplo, `-key:value` and `-key(A OR B)`. Scopes such as `-service:(A AND B)`, `service:(-A OR -B)`, or `-service(A B)` no son compatibles. -* Los OR de nivel superior no son compatibles. Por ejemplo, `service:A OR service:B` es válido, pero `service:A OR host:X` no funciona. Un `OR` entre dos etiquetas de nivel superior diferentes requiere dos tiempos de inactividad distintos. -* No se admiten las etiquetas sin clave, como `prod AND service:(A or B)` o simplemente `prod`. Las etiquetas deben tener una clave, por ejemplo `env:prod` en este caso. -* No se admiten los comodines de interrogación: `service:auth?`. Si necesitas aplicar comodines, utiliza `*`. -* Caracteres no válidos dentro de la clave: `en&v:prod` no es un contexto de tiempo de inactividad válido y será rechazado. +* Más de dos niveles de anidamiento, como `team:app AND (service:auth OR (service:graphics-writer AND (env:prod OR (type:metric AND status:ok))))`, no son soportados. Como máximo, los tiempos de inactividad aceptan dos niveles de anidamiento. En su lugar, utilice tiempos de inactividad separados para desglosar la lógica. +* La negación solo es soportada para pares clave/valor y etiquetas con `OR`. Por ejemplo, `-key:value` y `-key(A OR B)`. Contextos como `-service:(A AND B)`, `service:(-A OR -B)` o `-service(A B)` no son soportados. +* Los ORs de nivel superior no son soportados. Por ejemplo, `service:A OR service:B` es válido, pero `service:A OR host:X` no funciona. Un `OR` entre dos etiquetas de nivel superior diferentes requiere dos tiempos de inactividad separados. +* Las etiquetas sin clave, como `prod AND service:(A or B)` o solo `prod`, no son soportadas. Las etiquetas necesitan tener una clave, en este caso, por ejemplo, `env:prod`. +* Los comodines de signo de interrogación: `service:auth?` no son compatibles. Utilice `*` en su lugar si necesita usar comodines. +* Caracteres inválidos dentro de la clave: `en&v:prod` no es un contexto de tiempo de inactividad válido y será rechazado. -### Programar el cronograma de un tiempo de inactividad +### Establezca un horario de tiempo de inactividad {#set-a-downtime-schedule} -#### Una vez +#### Una vez {#one-time} -Establece un tiempo de inactividad para una única vez introduciendo la fecha de inicio, la hora y la zona horaria. También puedes establecer una fecha y una hora de finalización. +Establezca un tiempo de inactividad único ingresando la fecha de inicio, la hora y la zona horaria. Opcionalmente, establezca una fecha y hora de finalización. -{{< img src="monitors/downtimes/downtime_onetime.jpg" alt="Campos para la programación de un tiempo de inactividad para una única vez" style="width:90%;">}} +{{< img src="monitors/downtimes/downtime_onetime.jpg" alt="campos para programar tiempo de inactividad único" style="width:90%;">}} -#### Recurrente +#### Recurrente {#recurring} -Los tiempos de inactividad recurrentes son útiles para los periodos de mantenimiento recurrentes. Establece un tiempo de inactividad recurrente introduciendo la fecha de inicio, la hora, la zona horaria, la repetición y la duración. También puedes especificar una fecha de finalización o el número de repeticiones. +Los tiempos de inactividad recurrentes son útiles para ventanas de mantenimiento recurrentes. Establezca un tiempo de inactividad recurrente ingresando la fecha de inicio, la hora, la zona horaria, la repetición y la duración. Opcionalmente, especifique una fecha de finalización o el número de ocurrencias. -Cuando finaliza un único tiempo de inactividad de un tiempo de inactividad recurrente, se cancela el único tiempo de inactividad y se crea un nuevo tiempo de inactividad con las mismas restricciones, y horas de inicio y fin actualizadas.
-**Nota**: El creador original se asocia a todos los tiempos de inactividad recién creados. +Cuando un tiempo de inactividad único de un tiempo de inactividad recurrente termina, el tiempo de inactividad único se cancela y se crea un nuevo tiempo de inactividad con las mismas restricciones y tiempos de inicio y finalización actualizados.
+**Nota**: El creador original está asociado con todos los nuevos tiempos de inactividad creados. -{{< img src="monitors/guide/downtime_business_hour_weekend.png" alt= "Configuración de tiempos de inactividad utilizando un cronograma recurrente para silenciar las alertas fuera del horario laboral y durante el fin de semana" style="width:100%;" >}} +{{< img src="monitors/guide/downtime_business_hour_weekend.png" alt="Configuración de tiempos de inactividad utilizando un horario recurrente para silenciar alertas fuera del horario laboral y durante el fin de semana." style="width:100%;" >}} -Utiliza [reglas de recurrencia][4] (RRULE) para definir los cronogramas de los tiempos de inactividad. Utiliza el [generador de reglas RRULE][5] oficial como herramienta para generar reglas recurrentes. Un caso de uso común consiste en utilizar las reglas RRULE para definir tiempos de inactividad para días específicos del mes, por ejemplo, el tercer lunes de cada mes. Para ver más casos de uso de recurrencias, consulta la guía para [suprimir alertas con tiempos de inactividad][6]. +Utilice [reglas de recurrencia][4] (RRULEs) para definir horarios de tiempo de inactividad. Utilice el [generador de RRULE oficial][5] como herramienta para generar reglas recurrentes. Un caso de uso común es utilizar RRULES para definir tiempos de inactividad en días específicos del mes, por ejemplo, el tercer lunes de cada mes. Para más casos de uso sobre recurrencia, consulte la guía para [Suppress alerts with Downtimes][6]. -**Nota**: No se admiten atributos que especifiquen la duración en RRULE (por ejemplo, `DTSTART`, `DTEND`, `DURATION`). +**Nota**: Los atributos que especifican la duración en RRULE no son compatibles (por ejemplo, `DTSTART`, `DTEND`, `DURATION`). -## Notificaciones -### Añadir un mensaje +## Notifications {#notifications} +### Agregue un mensaje {#add-a-message} -Introduce un mensaje para alertar a tu equipo sobre este tiempo de inactividad. El campo de mensaje admite el formato markdown estándar y la sintaxis de `@-notification` de Datadog. Consulta la [página de notificaciones][7] para obtener más información sobre las opciones de formato. +Ingrese un mensaje para alertar a su equipo sobre este tiempo de inactividad. El campo de mensaje permite el formato markdown estándar y la sintaxis de Datadog `@-notification`. Consulte la [Notifications page][7] para obtener más información sobre las opciones de formato. -### Configurar notificaciones y automatizaciones +### Configurar Notifications y automatizaciones {#configure-notifications-and-automations} -Configura notificaciones y automatizaciones especificando los miembros del equipo o enviando el mensaje a una [integración][8] de servicios. Datadog envía notificaciones a los destinos especificados cada vez que un tiempo de inactividad se programa, se inicia, se cancela o expira. Estas notificaciones de auditoría permiten a tu equipo estar al corriente de los tiempos de inactividad en tu sistema. +Configure Notifications y automatizaciones especificando miembros del equipo o enviando el mensaje a una [integration][8]. Datadog envía Notifications a los destinos especificados cada vez que se programa, inicia, cancela o expira el tiempo de inactividad. Estas notificaciones de auditoría permiten que su equipo esté al tanto de los tiempos de inactividad en su sistema. -### Desactivar la notificación de una primera recuperación +### Deshabilitar la primera notificación de recuperación {#disable-first-recovery-notification} -Por defecto, Datadog envía una notificación de recuperación de los monitores que se activan **antes** de un tiempo de inactividad y que terminan recuperándose **durante** un tiempo de inactividad. Esto es útil cuando se utilizan integraciones de terceros para cerrar automáticamente incidentes abiertos. Al seleccionar la casilla de verificación se silencian estas notificaciones. +Por defecto, Datadog envía una notificación de recuperación para los monitores que se activan **antes** de un tiempo de inactividad y terminan recuperándose **durante** un tiempo de inactividad. Esto es útil al usar integraciones de terceros para cerrar automáticamente incidentes abiertos. Seleccionar la casilla de verificación silencia estas notificaciones. -{{< img src="monitors/downtimes/downtime_first_recovery.png" alt="Silenciar la notificación de una primera recuperación" style="width:80%;">}} +{{< img src="monitors/downtimes/downtime_first_recovery.png" alt="silenciar la primera notificación de recuperación" style="width:80%;">}} -La opción de desactivar la notificación de una primera recuperación es aditiva entre varios tiempos de inactividad. Por ejemplo, si varios tiempos de inactividad se superponen y silencian el mismo monitor, la notificación de la primera recuperación se silencia si **al menos un** tiempo de inactividad ha seleccionado la opción para desactivarla. +La opción para deshabilitar la primera notificación de recuperación es aditiva entre múltiples tiempos de inactividad. Por ejemplo, si múltiples tiempos de inactividad se superponen y silencian el mismo monitor, la primera notificación de recuperación se silencia si **al menos uno** de los tiempos de inactividad marcó la opción para deshabilitarla. -**Nota**: Esta opción silencia la **primera** notificación de recuperación. Si un monitor se activa y se recupera nuevamente durante un tiempo de inactividad, las notificaciones correspondientes se silencian siempre, independientemente de la configuración de esta opción. +**Nota**: Esta opción silencia la **primera** notificación de recuperación. Si un monitor vuelve a activarse y recuperarse durante un tiempo de inactividad, entonces las notificaciones correspondientes siempre se silencian, independientemente de la configuración de esta opción. -## Gestionar +## Administrar {#manage} -La [página Gestionar tiempos de inactividad][1] muestra la lista de los tiempos de inactividad activos y programados. Seleccione un tiempo de inactividad para ver los detalles, editarlo o eliminarlo. Los detalles incluyen su creador, su contexto y una lista de los monitores a los que se aplica. -Utiliza el panel de facetas y la barra de búsqueda para filtrar la lista en los parámetros `Creator`, `Scope`, `Monitor Tags`, o `Active`, `Automuted`, `Recurring`. +La [Manage Downtime page][1] muestra la lista de tiempos de inactividad activos y programados. Seleccione un tiempo de inactividad para ver detalles, editar o eliminarlo. Los detalles incluyen su creador, su contexto y una lista de los monitores a los que se aplica. +Utilice el panel de facetas y la barra de búsqueda para filtrar la lista en los parámetros `Creator`, `Scope`, `Monitor Tags`, `Active`, `Automuted`, `Recurring`. -{{< img src="monitors/downtimes/downtime_manage.png" alt="Página de gestión de tiempos de inactividad" style="width:100%;">}} +{{< img src="monitors/downtimes/downtime_manage.png" alt="Manage Downtime page" style="width:100%;">}} -### Historial +### History {#history} -El historial de tiempos de inactividad se puede ver en la página [Estado del monitor][9], superpuesto al historial de transición del grupo, y en el [Explorador de eventos][10], buscando `tags:audit downtime` o un tiempo de inactividad específico por ID con `tags:audit downtime_id:`. +El historial de tiempos de inactividad se puede ver en la [Monitor Status][9] page, superpuesto en el historial de transición del grupo, y en el [Events explorer][10] buscando `tags:audit downtime`, o un tiempo de inactividad específico por ID con `tags:audit downtime_id:`. -### Silenciar +### Silenciando {#muting} -Los monitores activan eventos cuando cambian entre los siguientes estados posibles: `ALERT` `WARNING` , `RESOLVED` y `NO DATA`. Cuando un monitor está silenciado o tiene un tiempo de inactividad programado, las transiciones de `RESOLVED` a otro estado **no** activan eventos o notificaciones. +Los monitores generan eventos cuando cambian entre posibles estados: `ALERT`, `WARNING`, `RESOLVED` y `NO DATA`. Cuando un monitor está silenciado o tiene un tiempo de inactividad programado, las transiciones de `RESOLVED` a otro estado **no** generan eventos ni notificaciones. -{{< img src="monitors/downtimes/downtime_on_alert.png" alt="Gráfico de estado de un monitor que muestra que la alerta de transición de estado durante el tiempo de inactividad no crea un evento de alerta" style="width:80%;">}} +{{< img src="monitors/downtimes/downtime_on_alert.png" alt="Gráfico de estado del monitor que muestra la transición de estado a alerta durante el tiempo de inactividad, no creará un evento de alerta." style="width:80%;">}} -**Nota**: Silenciar o anular el silenciamiento de un monitor desde la página de estado del monitor no elimina los tiempos de inactividad programados asociados al monitor. Para editar o eliminar un tiempo de inactividad, utiliza la página [Gestionar tiempo de inactividad][1] o la [API][11]. +**Nota**: Silenciar o desilenciar un monitor desde la Monitor Status page no elimina los tiempos de inactividad programados asociados con el monitor. Para editar o eliminar un tiempo de inactividad, utilice la [Manage Downtime][1] page o la [API][11]. -### Finalización +### Expiración {#expiration} -Por defecto, si un monitor se encuentra en un estado de alerta (`ALERT`, `WARNING` o `NO DATA`) cuando finaliza un tiempo de inactividad, el monitor activa una nueva notificación. Esto se aplica a los monitores que cambian de estado durante los tiempos de inactividad (como por ejemplo de `OK` a `ALERT`, `WARNING` o `NO DATA`) y a los monitores que ya tienen un estado de alerta cuando se inicia el tiempo de inactividad. Si se cancela manualmente un tiempo de inactividad, no se envían notificaciones, aunque el monitor haya entrado en estado de alerta. +Por defecto, si un monitor está en un estado digno de alerta (`ALERT`, `WARNING` o `NO DATA`) cuando un tiempo de inactividad expira, el monitor genera una nueva notificación. Esto se aplica a los monitores que cambian de estado durante el tiempo de inactividad (como de `OK` a `ALERT`, `WARNING` o `NO DATA`), y a los monitores que ya tienen un estado de alerta cuando comienza el tiempo de inactividad. Si un tiempo de inactividad se cancela manualmente, no se envían notificaciones, incluso si el monitor ha entrado en un estado de alerta. -Para anular el comportamiento predeterminado, especifica qué notificaciones deben enviarse al finalizar un tiempo de inactividad, utilizando las opciones de la sección **Configurar notificaciones y automatizaciones**. En los tiempos de inactividad creados con la API, el comportamiento predeterminado es la exclusión de la opción `Is cancelled`. +Para anular el comportamiento predeterminado, especifique qué notificaciones deben enviarse al final del tiempo de inactividad con las opciones en la sección **Configure notifications and automations**. Para los tiempos de inactividad creados con la API, el comportamiento predeterminado es excluir la opción `Is cancelled`. -{{< img src="monitors/downtimes/downtime_cancel_expire_notification.png" alt="Sección de configuración de notificaciones y automatizaciones de un monitor con condiciones específicas para los tiempos de inactividad" style="width:100%;">}} +{{< img src="monitors/downtimes/downtime_cancel_expire_notification.png" alt="La sección Configure notifications and automations de un monitor con condiciones específicas de inactividad." style="width:100%;">}} -**Ejemplo 1:** Si un monitor se encuentra en estado de alerta *antes* de que se inicie un tiempo de inactividad y *continúa así* mientras dura el tiempo de inactividad: -1. Durante el tiempo de inactividad, se suprimen las notificaciones de esta alerta. -2. El monitor permanece en estado de alerta (porque se siguen cumpliendo las condiciones). -3. El tiempo de inactividad se termina. -4. Las condiciones de la alerta se siguen cumpliendo, por lo que se envía una notificación. +**Ejemplo 1:** Si un monitor está en un estado de alerta *antes* de que comience el tiempo de inactividad y *continúa* durante la duración del tiempo de inactividad: +1. Durante el tiempo de inactividad, las notificaciones para esta alerta están suprimidas. +2. El monitor permanece en un estado de alerta (porque las condiciones aún se cumplen). +3. El tiempo de inactividad termina. +4. Las condiciones de alerta aún se cumplen, por lo que se envía una notificación. -**Ejemplo 2:** Si un monitor se encuentra en estado de alerta *antes* de que se inicie un tiempo de inactividad y se recupera *durante* ese tiempo de inactividad: +**Ejemplo 2:** Si un monitor está en un estado de alerta *antes* de que comience un tiempo de inactividad y se recupera *durante* ese tiempo de inactividad: 1. El estado cambia de `ALERT` a `OK`. -2. La notificación sobre la recuperación se envía durante el tiempo de inactividad, pero sólo para la primera recuperación durante ese tiempo de inactividad. +2. La notificación de recuperación se envía durante el tiempo de inactividad, pero solo para la primera recuperación durante ese tiempo de inactividad. -### Informe del monitor +### Monitor report {#monitor-report} -Todos los estados alertados se incluyen en el [informe semanal del monitor][12], aunque el monitor se encuentre en tiempo de inactividad. +Todos los estados alertados están incluidos en el [weekly monitor report][12] incluso si el monitor está en un tiempo de inactividad. -## Auto-silenciar +## Auto-muting {#auto-muting} -Datadog puede silenciar proactivamente monitores relacionados con el apagado manual de ciertas cargas de trabajo en la nube. Para el apagado, se admiten los siguientes escenarios de auto-silenciamiento: +Datadog puede silenciar proactivamente monitores relacionados con el apagado manual de ciertas cargas de trabajo en la nube. Los siguientes escenarios de auto-silenciamiento para apagado son compatibles: -- **[Instancias de Amazon EC2][13]** y finalización de instancias mediante el escalado automático AWS, en función de los estados de host de la API CloudWatch. -- **Instancias [Google Compute Engine (GCE)][14]** y finalización de instancias activadas por el escalado automática GCE, en función de los estados de host de la API GCE. -- **[Azure VMs][15]**, tanto si el apagado se ha activado manualmente o por escalado automático Azure, en función de los estados de salud disponibles a través de la API Azure Resource Health. +- **[Amazon EC2 instances][13]** y terminación de instancias por escalado automático de AWS basado en los estados del servidor desde la API de CloudWatch. +- **[Google Compute Engine (GCE)][14]** y terminación de instancias desencadenada por escalado automático de GCE basado en los estados del servidor desde la API de GCE. +- **[Azure VMs][15]**, ya sea que el apagado haya sido desencadenado manualmente o por el escalado automático de Azure, basado en los estados de salud disponibles a través de la Azure Resource Health API. -## Para leer más +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -196,7 +195,7 @@ Datadog puede silenciar proactivamente monitores relacionados con el apagado man [7]: /es/monitors/notify/#overview [8]: /es/integrations/#cat-notification [9]: /es/monitors/status/ -[10]: /es/service_management/events/explorer +[10]: /es/events/explorer [11]: /es/api/latest/downtimes/#cancel-a-downtime [12]: /es/account_management/#preferences [13]: /es/integrations/amazon_ec2/#ec2-automuting diff --git a/content/es/monitors/types/metric.md b/content/es/monitors/types/metric.md index 6ef8e04cc74..8d9c6f80fe4 100644 --- a/content/es/monitors/types/metric.md +++ b/content/es/monitors/types/metric.md @@ -3,159 +3,158 @@ aliases: - /es/monitors/monitor_types/metric - /es/monitors/faq/what-is-the-do-not-require-a-full-window-of-data-for-evaluation-monitor-parameter - /es/monitors/create/types/metric -description: Comparar los valores de una métrica con un umbral definido por el usuario +description: Compara los valores de una métrica con un umbral definido por el usuario further_reading: - link: /monitors/notify/ tag: Documentación - text: Configurar las notificaciones de tu monitor + text: Configure las notificaciones de su monitor - link: /monitors/downtimes/ tag: Documentación - text: Programar una caída del sistema para silenciar un monitor + text: Programe un tiempo de inactividad para silenciar un monitor - link: /monitors/status/ tag: Documentación - text: Consultar el estado de tu monitor + text: Consulte el estado de su monitor - link: /monitors/types/change-alert tag: Documentación - text: Solución de problemas de los monitores de alerta de cambios -title: Monitor de métrica + text: Solucione problemas de los monitores de alerta de cambio +title: Metric Monitor --- +## Resumen {#overview} -## Información general +Los monitores de métricas son útiles para un flujo continuo de datos. Cualquier métrica enviada a Datadog puede generar alertas si supera un umbral durante un período de tiempo determinado. -Los monitores de métrica son útiles para un flujo (stream) continuo de datos. Cualquier métrica enviada a Datadog puede dar una alerta si cruza un umbral en un periodo determinado. +Para crear un Metric Monitor en Datadog, navegue a [**Monitors > New Monitor**][1] y seleccione el tipo de monitor **Metric**. -Para crear un monitor de métrica en Datadog, navega hasta [**Monitors > New Monitor**][1] (Monitores > Nuevo monitor) y selecciona el tipo de monitor **Metric** (Métrica). - -## Elegir el método de detección +## Elija el método de detección {#choose-the-detection-method} {{< tabs >}} -{{% tab "Threshold" %}} +{{% tab "Umbral" %}} -Una alerta de umbral compara los valores de métrica con un umbral estático. +Una alerta de umbral compara los valores de métricas con un umbral estático. -En cada evaluación de alerta, Datadog calcula la media, el mínimo, el máximo o la suma durante el periodo seleccionado y comprueba si está por encima, por debajo, es igual o no es igual al umbral. Esto es para casos de alerta estándar en los que se conocen los valores esperados. El [tipo de métrica de distribución][1] ofrece la opción de umbral adicional de calcular percentiles sobre el periodo seleccionado. +En cada evaluación de alerta, Datadog calcula el promedio, mínimo, máximo o suma durante el período seleccionado y verifica si está por encima, por debajo, igual o diferente al umbral. Esto es para casos de alerta estándar donde conoce los valores esperados. El [Distribution metric type][1] ofrece la opción adicional de umbral de calcular percentiles durante el período seleccionado. -Para más información, consulta la sección [Establecer condiciones de alerta](#set-alert-conditions). +Para más información, consulte la sección [Set alert conditions](#set-alert-conditions). [1]: /es/metrics/distributions/ {{% /tab %}} {{% tab "Change" %}} -Una alerta de cambio compara el cambio absoluto o relativo (%) en el valor entre `N` minutos atrás y ahora contra un umbral dado. Los puntos de datos comparados no son puntos individuales, sino que se calculan utilizando los parámetros de la sección *Definir la métrica*. +Una alerta de cambio compara el cambio absoluto o relativo (%) en el valor entre hace `N` minutos y ahora con un umbral dado. Los puntos de datos comparados no son puntos únicos, sino que se calculan utilizando los parámetros en la sección *Defina la métrica*. -En cada evaluación de alerta, Datadog calcula la diferencia bruta (un valor positivo o negativo) entre la serie actual y la de hace `N` minutos y, a continuación, calcula la media/mínimo/máximo/suma a lo largo del periodo seleccionado. Se activa una alerta cuando esta serie calculada supera el umbral. +En cada evaluación de alerta, Datadog calcula la diferencia bruta (un valor positivo o negativo) entre la serie actual y hace `N` minutos, luego calcula el promedio/mínimo/máximo/suma durante el período seleccionado. Se activa una alerta cuando esta serie calculada cruza el umbral. Este tipo de alerta es útil para rastrear picos, caídas o cambios lentos en una métrica cuando no hay un umbral inesperado. -Para más información, consulta la guía [Monitores de alerta de cambio][1]. +Para más información, consulte la guía de [monitores de alerta de cambio][1]. [1]: /es/monitors/types/change-alert/ {{% /tab %}} -{{% tab "Anomaly" %}} +{{% tab "Anomalía" %}} -Una alerta de detección de anomalía utiliza el comportamiento pasado para detectar cuándo una métrica se comporta de forma anormal. +Una alerta de detección de anomalías utiliza el comportamiento pasado para detectar cuando una métrica se comporta de manera anormal. -Las alertas de anomalía calculan un rango esperado de valores para una serie basándose en el pasado. Algunos de los algoritmos de anomalía utilizan la hora del día y el día de la semana para determinar el rango esperado, captando así anomalías que no podrían detectarse con una simple alerta de umbral. Por ejemplo, la serie es inusualmente alta a las 5 de la mañana, aunque se consideraría normal a las 10 de la mañana. +Las alertas de anomalía calculan un rango esperado de valores para una serie basado en el pasado. Algunos de los algoritmos de anomalía utilizan la hora del día y el día de la semana para determinar el rango esperado, capturando así anormalidades que no podrían ser detectadas por una alerta de umbral simple. Por ejemplo, la serie es inusualmente alta a las 5 AM, aunque se consideraría normal a las 10 AM. -En cada evaluación de alerta, Datadog calcula el porcentaje de la serie que está por encima, por debajo y fuera del rango esperado. Se activa una alerta cuando este porcentaje supera el umbral configurado. +En cada evaluación de alerta, Datadog calcula el porcentaje de la serie que se encuentra por encima, por debajo y fuera del rango esperado. Se activa una alerta cuando este porcentaje cruza el umbral configurado. -Para más información, consulta la página [Monitor de anomalía][1]. +Para más información, consulte la página de [Monitor de Anomalías][1]. [1]: /es/monitors/types/anomaly/ {{% /tab %}} -{{% tab "Outliers" %}} +{{% tab "Valores anómalos" %}} -Los monitores outlier detectan cuando un miembro de un grupo (hosts, zonas de disponibilidad, particiones, etc.) se comporta de forma inusual en comparación con el resto. +Los monitores de valores anómalos detectan cuando un miembro de un grupo (servidores, Availability Zones, particiones, etc.) se comporta de manera inusual en comparación con el resto. -En cada evaluación de alerta, Datadog comprueba si todos los grupos están unidos y presentan el mismo comportamiento. Se activa una alerta cuando uno o varios grupos divergen del resto de los grupos. +En cada evaluación de alerta, Datadog verifica si todos los grupos están agrupados en un clúster y exhiben el mismo comportamiento. Se activa una alerta cuando uno o más grupos se desvían del resto de los grupos. -Para más información, consulta la página [Monitor outlier][1]. +Para más información, consulte la página de [Outlier Monitor][1]. [1]: /es/monitors/types/outlier/ {{% /tab %}} -{{% tab "Forecast" %}} +{{% tab "Pronóstico" %}} -Una alerta de predicción predice el comportamiento futuro de una métrica y lo compara con un umbral estático. Es adecuada para métricas con fuertes tendencias o patrones recurrentes. +Una alerta de pronóstico predice el comportamiento futuro de una métrica y lo compara con un umbral estático. Es adecuada para métricas con tendencias fuertes o patrones recurrentes. -En cada evaluación de alerta, una alerta de predicción predice los valores futuros de métrica junto con los límites de desviación previstos. Se activa una alerta cuando cualquier parte de los límites supera el umbral configurado. +En cada evaluación de alerta, una alerta de pronóstico predice los valores futuros de la métrica junto con los límites de desviación esperados. Se activa una alerta cuando cualquier parte de los límites cruza el umbral configurado. -Para más información, consulta la página [Monitor de predicción][1]. +Para más información, consulte la página de [Forecast Monitor][1]. [1]: /es/monitors/types/forecasts/ {{% /tab %}} {{< /tabs >}} -## Definir la métrica +## Defina la métrica {#define-the-metric} -Cualquier métrica que informe a Datadog está disponible para monitores. Utiliza el editor y los pasos siguientes para definir la métrica. Los parámetros de consulta varían ligeramente en función del método de detección elegido. +Cualquier métrica que informe a Datadog está disponible para monitors. Utilice el editor y los pasos a continuación para definir la métrica. Los parámetros de consulta varían ligeramente según el método de detección elegido. {{< tabs >}} -{{% tab "Threshold" %}} +{{% tab "Umbral" %}} -{{< img src="monitors/monitor_types/metric/metric_threshold_config.png" alt="definir la métrica para el monitor de métrica de detección del umbral" style="width:100%;">}} +{{< img src="monitors/monitor_types/metric/metric_threshold_config.png" alt="Defina la métrica para el Threshold Detection Metric Monitor" style="width:100%;">}} -| Paso | Obligatorio | Predeterminado | Ejemplo | +| Paso | Requerido | Predeterminado | Ejemplo | |-----------------------------------|----------|----------------|-------------------| -| Selecciona una métrica | Sí | Ninguna | `system.cpu.user` | -| Definir el `from` | No | En todas partes | `env:prod` | -| Especifica la agregación de métrica | Sí | `avg by` | `sum by` | +| Seleccione una métrica | Sí | Ninguno | `system.cpu.user` | +| Defina el `from` | No | En todas partes | `env:prod` | +| Especifique la agregación de la métrica | Sí | `avg by` | `sum by` | | Agrupar por | No | Todo | `host` | -| Especifica la agregación de consultas del monitor | No | `average` | `sum` | -| Intervalo de evaluación | No | `5 minutes` | `1 day` | +| Especifique la agregación de la consulta del monitor | No | `average` | `sum` | +| Ventana de evaluación | No | `5 minutes` | `1 day` | **Definiciones** | Opción | Descripción | |------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| average | Se hace una media para obtener un único valor que se compara con el umbral. Esta opción añade la función `avg()` a la consulta de tu monitor. | -| max | Si algún valor de la serie generada supera el umbral, se activa una alerta. Añade la función max() a tu consulta de monitor. Consulta la sección Notas para conocer el comportamiento adicional del umbral. | -| min | Si todos los puntos de la ventana de evaluación de tu consulta superan el umbral, se activa una alerta. Añade la función min() a tu consulta de monitor. Consulta la sección Notas para conocer el comportamiento adicional del umbral.| -| sum | Si la suma de todos los puntos de la serie supera el umbral, se activa una alerta. Añade la función `sum()` a tu consulta de monitor. | -| percentile(pXX) | Si el porcentaje pXX de puntos del intervalo de evaluación de tu consulta supera el umbral, se activa una alerta. Esta opción añade una función `percentile` a tu consulta de monitor. Solo disponible para el tipo de métrica de distribución. -| Intervalo de evaluación| El periodo por el que evalúa el monitor. Utiliza los intervalos preestablecidos como `5 minutes`, `15 minutes`, `1 hour`, o `custom` para establecer un valor entre 1 minuto y 730 horas (1 mes). | +| promedio | La serie se promedia para producir un solo valor que se verifica contra el umbral. Se agrega la `avg()` función a su consulta de monitor. | +| máx | Si cualquier valor individual en la serie generada supera el umbral, se activa una alerta. Se agrega la función max() a su consulta de monitor. Consulte la sección de Notas para obtener un comportamiento adicional del umbral. | +| mín | Si todos los puntos en la ventana de evaluación de su consulta superan el umbral, se activa una alerta. Se agrega la función min() a su consulta de monitor. Consulte la sección de Notas para obtener un comportamiento adicional del umbral.| +| suma | Si la suma de cada punto en la serie supera el umbral, se activa una alerta. Se agrega la `sum()` función a su consulta de monitor. | +| percentil(pXX) | Si el pXX por ciento de los puntos en la ventana de evaluación de su consulta superan el umbral, se activa una alerta. Esta opción agrega una `percentile` función a su consulta de seguimiento. Solo disponible para el tipo de métrica de distribución. +| Ventana de evaluación| El período de tiempo que el monitor evalúa. Utilice ventanas de tiempo preestablecidas como `5 minutes`, `15 minutes`, `1 hour` o `custom` para establecer un valor entre 1 minuto y 730 horas (1 mes). | {{% /tab %}} {{% tab "Change" %}} -{{< img src="monitors/monitor_types/metric/metric_change_alert_config.png" alt="definir la métrica para el monitor de métrica de detección de cambio" style="width:100%;">}} +{{< img src="monitors/monitor_types/metric/metric_change_alert_config.png" alt="Defina la métrica para el Change Detection Metric Monitor" style="width:100%;">}} -| Paso | Obligatorio | Predeterminado | Ejemplo | +| Paso | Requerido | Predeterminado | Ejemplo | |-----------------------------------|----------|----------------|-------------------| -| Selecciona una métrica | Sí | Ninguna | `system.cpu.user` | -| Definir el `from` | No | En todas partes | `env:prod` | -| Especifica la agregación de métrica | No | `avg by` | `sum by` | +| Seleccione una métrica | Sí | Ninguno | `system.cpu.user` | +| Defina el `from` | No | En todas partes | `env:prod` | +| Especifique la agregación de la métrica | No | `avg by` | `sum by` | | Agrupar por | No | Todo | `host` | -| Especifica la agregación de consultas del monitor | No | `average` | `sum` | -| Selecciona un tipo de cambio | No | `change ` | `% change` | -| Intervalo de evaluación | No | `5 minutes` | `1 day` | -| Intervalo de comparación | No | `5 minutes` | `1 month` | +| Especifique la agregación de la consulta del monitor | No | `average` | `sum` | +| Seleccione un tipo de cambio | No | `change ` | `% change` | +| Ventana de evaluación | No | `5 minutes` | `1 day` | +| Ventana de comparación | No | `5 minutes` | `1 month` | **Definiciones** | Opción | Descripción | |------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | cambio | El cambio absoluto del valor. | -| Cambio porcentual | El cambio porcentual del valor comparado con su valor anterior. Por ejemplo, el cambio porcentual para un valor anterior de 2 con un valor actual de 4 es del 100%. | -| average | Se hace una media para obtener un único valor que se compara con el umbral. Esta opción añade la función `avg()` a la consulta de tu monitor. | -| max | Si algún valor de la serie generada supera el umbral, se activa una alerta. Añade la función max() a tu consulta de monitor. Consulta la sección Notas para conocer el comportamiento adicional del umbral. | -| min | Si todos los puntos de la ventana de evaluación de tu consulta superan el umbral, se activa una alerta. Añade la función min() a tu consulta de monitor. Consulta la sección Notas para conocer el comportamiento adicional del umbral. | -| sum | Si la suma de todos los puntos de la serie supera el umbral, se activa una alerta. Añade la función `sum()` a tu consulta de monitor. | -| percentile(pXX) | Si el porcentaje pXX de puntos del intervalo de evaluación de tu consulta supera el umbral, se activa una alerta. Esta opción añade una función `percentile` a tu consulta de monitor. Solo disponible para el tipo de métrica de distribución. -| Intervalo de evaluación| El periodo por el que evalúa el monitor. Utiliza los intervalos preestablecidos como `5 minutes`, `15 minutes`, `1 hour`, o `custom` para establecer un valor entre 1 minuto y 730 horas (1 mes). | +| % cambio | El cambio porcentual del valor en comparación con su valor anterior. Por ejemplo, el cambio porcentual para un valor anterior de 2 con un valor actual de 4 es del 100%. | +| promedio | La serie se promedia para producir un solo valor que se verifica contra el umbral. Agrega la función `avg()` a su consulta de monitor. | +| máx | Si algún valor individual en la serie generada cruza el umbral, se activa una alerta. Se agrega la función max() a su consulta de seguimiento. Consulte la sección de Notas para obtener un comportamiento adicional del umbral. | +| mín | Si todos los puntos en la ventana de evaluación para su consulta cruzan el umbral, se activa una alerta. Se agrega la función min() a su consulta de seguimiento. Consulte la sección de Notas para obtener un comportamiento adicional del umbral. | +| sum | Si la suma de cada punto en la serie supera el umbral, se activa una alerta. Agrega la `sum()` función a su consulta de monitor. | +| percentil(pXX) | Si el porcentaje pXX de puntos en la ventana de evaluación para su consulta de monitor supera el umbral, entonces se activa una alerta. Esta opción agrega una función `percentile` a su consulta de monitor. Solo disponible para el tipo de métrica de distribución. +| Ventana de evaluación| El período de tiempo que el monitor evalúa. Utiliza ventanas de tiempo preestablecidas como `5 minutes`, `15 minutes`, `1 hour` o `custom` para establecer un valor entre 1 minuto y 730 horas (1 mes). | {{% /tab %}} {{< /tabs >}} -**Notas** - - Si se utiliza una métrica de distribución con un agregador de percentil, se especifica automáticamente un umbral de percentil coincidente. Las métricas con agregadores de percentiles no generan un gráfico de snapshot en el mensaje de notificaciones. - - **max/min*: estas descripciones de max y min asumen que el monitor envía una alerta cuando la métrica supera el umbral. Para monitores que alertan cuando la métrica está por debajo del umbral se aplica la lógica inversa. - - La definición de métricas para monitores es similar a la definición de métricas para gráficos. Para más detalles sobre el uso de la opción `Advanced...`, consulta [Crear gráficas avanzadas][2]. - - Existen diferentes comportamientos cuando se utiliza `as_count()`. Consulta [as_count() en evaluaciones de monitor][3] para obtener más detalles. - - Los grupos `N/A` no se incluyen en los monitores, por lo que las claves de etiqueta (tag) deben tener un valor. +**Notas:** + - Si se utiliza una métrica de distribución con un agregador de percentiles, se especifica automáticamente un umbral de percentil coincidente. Las métricas con agregadores de percentiles no generan un gráfico instantáneo en el mensaje de notificaciones. + - **max/min**: Estas descripciones de max y min asumen que el monitor alerta cuando la métrica supera el umbral. Para monitores que alertan cuando están por debajo del umbral, el comportamiento de max y min se invierte. + - Definir métricas para monitores es similar a definir métricas para gráficos. Para detalles sobre el uso de la `Advanced...` opción, consulta [Gráficos avanzados][2]. + - Existen diferentes comportamientos al utilizar `as_count()`. Consulta [as_count() en Evaluaciones de Monitor][3] para más detalles. + - `N/A` los grupos no están incluidos en los monitores, por lo que las claves de etiqueta deben tener un valor. -## Definir condiciones de alerta +## Establecer condiciones de alerta {#set-alert-conditions} -Se activa cuando la métrica es una de las siguientes: +Activar cuando la métrica sea una de las siguientes: - `above` - `above or equal to` - `below` @@ -165,54 +164,54 @@ Se activa cuando la métrica es una de las siguientes: Si el valor está entre cero y uno, se requiere un cero inicial. Por ejemplo, `0.3`. -### Condiciones de alerta avanzadas +### Condiciones avanzadas de alerta {#advanced-alert-conditions} -#### Intervalo de datos +#### Ventana de datos {#data-window} -`Require` o `Do not require` un intervalo completo de datos para tu evaluación. +`Require` o `Do not require` una ventana completa de datos para evaluación. -Esta configuración te permite cambiar el momento en que el motor de alerta considera que un monitor es candidato a ser evaluado. +Esta configuración permite cambiar cuándo el motor de alertas considera un monitor como candidato para evaluación. -**Do not require** (No obligatorio) (Por defecto): un monitor se evalúa tan pronto como se reconoce. Considera el uso de este valor si tus puntos de datos pueden ser escasos. Con esta configuración, el monitor se evalúa incluso si hay un solo punto de datos en el marco temporal de evaluación. +**No requerir** (Predeterminado): Un monitor se evalúa tan pronto como es reconocido. Considere usar este valor si sus puntos de datos pueden ser escasos. Con esta configuración, el monitor se evalúa incluso si hay un solo punto de datos en el período de evaluación. -**Require** (Obligatorio): un monitor no se evalúa hasta que la ventana de evaluación se considera `filled` con datos. Para que se te notifique si hay datos durante todo el plazo de evaluación, utiliza esta opción. +**Requerir**: Un monitor no se evalúa hasta que la ventana de evaluación se considera `filled` con datos. Para ser notificado si hay datos durante todo el período de evaluación, use esta opción. -Para definir si el marco temporal de la evaluación es `filled` con datos, el marco temporal se divide en buckets más pequeños. +Para definir si el período de evaluación es `filled` con datos, el período se divide en intervalos más pequeños. -La siguiente lógica determina el tamaño del bucket: +La siguiente lógica determina el tamaño del intervalo: -* Periodo de evaluación en minutos: el tamaño del bucket es de 1 minuto -* Tiempo de evaluación en horas: el tamaño del bucket es de 10 minutos -* Periodo de evaluación en días: el tamaño del bucket es de 1 hora -* Periodo de evaluación en meses: el tamaño del bucket es de 4 horas +* Período de evaluación en minutos: el tamaño del intervalo es de 1 minuto +* Período de evaluación en horas: el tamaño del intervalo es de 10 minutos +* Período de evaluación en días: el tamaño del intervalo es de 1 hora +* Período de evaluación en mes: el tamaño del intervalo es de 4 horas -Para que se considere "intervalo completo", el monitor exige: +Para ser considerado como una "ventana completa", el monitor requiere: -1. Al menos un punto de datos en el primer bucket. El primer bucket es cronológicamente el bucket más antiguo de la ventana. -2. No más de tres buckets en total sin puntos de datos. +1. Al menos un punto de datos en el primer intervalo. El primer intervalo es cronológicamente el más antiguo en la ventana. +2. No más de tres intervalos en total sin puntos de datos. -Si se cumplen las condiciones, se evalúa el monitor. En caso contrario, se cancela la evaluación y el estado del monitor no cambia. +Si se cumplen las condiciones, se evalúa el monitor. De lo contrario, la evaluación se cancela y el estado del monitor no cambia. -Por ejemplo, un monitor que evalúa sobre las últimas `2h` se divide en 12 buckets de 10 minutos. Se considera que el monitor está lleno si el primer bucket tiene datos y como máximo tres bucket en total están vacíos. +Por ejemplo, un monitor que evalúa en los últimos `2h` se divide en 12 intervalos de 10 minutos. El monitor se considera completo si el primer intervalo tiene datos y a lo sumo tres intervalos en total están vacíos. -| datos | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | B9 | B10 | B11 | ¿Intervalo completo?| +| datos | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | B9 | B10 | B11 | ¿Ventana completa?| |--------|----|----|----|----|----|----|----|----|----|----|-----|-----|-------------| | caso 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Sí | | caso 2 | x | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | No | | caso 3 | 1 | 1 | x | x | x | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Sí | | caso 4 | 1 | x | x | x | 1 | 1 | 1 | 1 | x | x | 1 | 1 | No | -Para más información sobre el intervalo de evaluación, consulta la página [Configuración del monitor][5]. +Para más información sobre la Ventana de Evaluación, consulte la página de [Monitor configuration][5]. -#### Otras opciones +#### Otras opciones {#other-options} -Para obtener instrucciones sobre las opciones avanzadas de alerta (sin datos, resolución automática), consulta la página [Configuración del monitor][6]. +Para instrucciones sobre las opciones avanzadas de alerta (sin datos, resolución automática), consulte la página de [Monitor configuration][6]. -## Notificaciones +## Notifications {#notifications} -Para obtener instrucciones detalladas sobre la sección **Configure notifications and automations** (Configurar notificaciones y automatizaciones), consulta la página [Notificaciones][7] y [Configuración del monitor][8]. +Para instrucciones sobre la sección **Configurar Notifications y automatizaciones**, consulte las páginas [Notifications][7] y [Monitor configuration][8]. -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/es/network_monitoring/devices/setup.md b/content/es/network_monitoring/devices/setup.md new file mode 100644 index 00000000000..cf3a5c4965f --- /dev/null +++ b/content/es/network_monitoring/devices/setup.md @@ -0,0 +1,154 @@ +--- +aliases: +- /es/network_monitoring/devices/getting_started/ +description: Comience con sus dispositivos conectados a la red, como enrutadores, + conmutadores, servidores y cortafuegos. +further_reading: +- link: /network_monitoring/devices/supported_devices + tag: doc + text: Dispositivos NDM compatibles +- link: network_monitoring/devices/data/ + tag: Doc + text: Datos NDM recopilados +- link: https://www.datadoghq.com/blog/diagnose-network-performance-with-snmp-trap-monitoring/ + tag: Blog + text: Monitoree y diagnostique problemas de rendimiento de la red con Traps SNMP +title: Configuración +--- +## Descripción general {#overview} + +El Monitoreo de Dispositivos de Red le ayuda a obtener información sobre la salud y el rendimiento de sus enrutadores, conmutadores y cortafuegos locales. Después de que el Agente de Datadog esté instalado en un host que tenga acceso a la red, el Agente puede detectar automáticamente los dispositivos de red y recopilar métricas de inmediato. + +Esta guía cubre la configuración de Network Device Monitoring en sus hosts, enriqueciendo las etiquetas de los dispositivos, configurando y visualizando perfiles de dispositivos, visualizando datos en NetFlow Monitoring y validando datos en los tableros y el Mapa de Topología de Dispositivos proporcionados. + +{{< img src="network_device_monitoring/getting_started/ndm_landing_page_2.png" alt="La página de inicio de Network Device Monitoring, mostrando gráficos e interfaces." style="width:100%;" >}} + +## Cómo funciona {#how-it-works} + +El siguiente diagrama ilustra el flujo de datos entre Syslog, traps SNMP e información de NetFlow. Los dispositivos envían la información relevante al Agente de Datadog a través de los puertos como se muestra en el diagrama (los puertos se pueden cambiar si es necesario mediante la configuración en el Agente). Para integraciones basadas en API, el Agente de Datadog se conecta con los controladores o administradores de software del proveedor de dispositivos de red en las instalaciones o en la nube según las instrucciones específicas `https` de integraciones API por proveedor. El Agente de Datadog, configurado con NDM y desplegado en las instalaciones o en la nube, consolida todos los datos de dispositivos y red recopilados de su red y los envía a Datadog a través de HTTPS en el puerto `443`. Esto proporciona una observabilidad unificada y de pila completa de métricas, registros, trazas, monitores y tableros. + + {{< img src="network_device_monitoring/getting_started/syslog_trap_netflow.png" alt="Diagrama NDM mostrando el flujo para la recopilación de Syslog, traps y Netflow." style="width:90%;" >}} + +## Próximos pasos {#next-steps} + +Siga las instrucciones a continuación para configurar Datadog para monitorear sus dispositivos de red. + +## Requisitos previos {#prerequisites} + +### Instalar el Agente {#install-the-agent} + +Navegue a la [página de instalación del Agente][1] e instale el [Agente de Datadog][2] en su host (generalmente un servidor que **no** es el dispositivo monitoreado).
+ +{{< img src="network_device_monitoring/getting_started/ndm_install_agent.png" alt="La página de configuración del Agente, destacando la instalación en Ubuntu." style="width:100%;" >}} + +## Configuración {#setup} + +### Alta Disponibilidad {#high-availability} + +{{< site-region region="gov,gov2" >}} +
El soporte de Alta Disponibilidad del Agente de Datadog no está disponible para su sitio de Datadog seleccionado ({{< region-param key="dd_site_name" >}}).
+{{< /site-region >}} + +El soporte de Alta Disponibilidad (HA) del Agente de Datadog en el Monitoreo de Dispositivos de Red le permite designar un Agente activo y un Agente en espera, asegurando un failover automático si el Agente activo encuentra un problema. Esta configuración elimina al Agente como un único punto de falla, manteniendo un monitoreo continuo durante incidentes inesperados o mantenimiento programado, como actualizaciones de sistema operativo y actualizaciones del Agente. + +Puede configurar Agentes activos y en espera para funcionar como un par de HA en NDM. Si el Agente activo falla, el Agente en espera toma el control en 90 segundos, convirtiéndose en el nuevo Agente activo. Además, puede designar un Agente activo preferido, permitiendo que NDM vuelva automáticamente a él una vez que esté disponible nuevamente. Esta función permite el cambio proactivo de Agentes antes del mantenimiento programado. + +Para más información, consulte el [soporte de Alta Disponibilidad del Agente de Datadog][20]. + +### Configuración {#configuration} + +Para comenzar a monitorear sus dispositivos de red, habilite el monitoreo SNMP utilizando uno de los siguientes métodos: + +[Dispositivos individuales][3] +: Configura el seguimiento SNMP en sus dispositivos individuales. + +[Autodiscovery][4] +: Configura el seguimiento SNMP utilizando Autodiscovery. + +[Ping][5] +: Configura la verificación SNMP para enviar pings ICMP a tus dispositivos. + +[Syslog][22] +: Configura tus dispositivos para enviar mensajes Syslog. + +[VPN Monitoring][21] +: Configura el seguimiento de VPN para comenzar a realizar el seguimiento de los túneles VPN de sus dispositivos. + +### Enriquece los dispositivos de red con etiquetas {#enrich-network-devices-with-tags} + +Después de que NDM esté configurado en tus dispositivos, puedes enriquecerlos aún más agregando etiquetas de dispositivos de red utilizando los siguientes métodos: + +[Datadog Agent][2] +: El Agente puede recopilar etiquetas de dispositivos al configurar [dispositivos individuales][3] o con [Autodiscovery][4]. + +[Device profiles][6] +: Configura el Agente para recopilar y personalizar métricas y etiquetas específicas creando perfiles de dispositivos directamente en la aplicación. + +[ServiceNow integration][7] +: Enriquece dinámicamente los dispositivos de red monitoreados por Datadog Network Device Monitoring con datos definidos en la CMDB (Base de Datos de Gestión de Configuración) de ServiceNow. + +[Network Device Monitoring API](#use-the-network-api) +: Utiliza la Network Device Monitoring API para agregar etiquetas a tus dispositivos de red de manera programática. + +### Personaliza métricas y etiquetas {#customize-metrics-and-tags} + +Personaliza métricas y etiquetas en tus dispositivos consultando la página de [Dispositivos Soportados][9] para ver los perfiles de dispositivo listos para usar. Si deseas editar o agregar más métricas, las siguientes opciones están disponibles: + +[Perfiles de dispositivo][10] +: Edita directamente métricas y etiquetas en el archivo del Datadog Agent `yaml` con perfiles de dispositivo. + +[Autorización de perfil basada en GUI][6] +: Aprovecha la experiencia de incorporación de dispositivos basada en GUI de Datadog Network Monitoring, donde puedes agregar métricas y etiquetas personalizadas a tus dispositivos. + +### NetFlow Monitoring {#netflow-monitoring} + +Configura [NetFlow Monitoring][11] para visualizar y monitorear tus registros de flujo desde tus dispositivos habilitados para NetFlow. + +{{< img src="network_device_monitoring/netflow/home.png" alt="La página de NetFlow Monitoring contiene pestañas para las principales fuentes, destinos, protocolos, puertos de origen, puertos de destino y tendencias de dispositivos." style="width:100%;" >}} + +## Valida tus datos {#validate-your-data} + +- Comienza a monitorear toda tu infraestructura de red en la página de [Dispositivos de Red][12]. +- Consulta las métricas recopiladas en los paneles listos para usar de Datadog: + - [Resumen de todos los dispositivos monitoreados][13] + - [Rendimiento de las interfaces en tus dispositivos de red][14] +- Utiliza el [Mapa de Topología de Dispositivos de Red][15] para identificar y solucionar problemas con tus dispositivos. + +## Utiliza la API de Red {#use-the-network-api} + +- Utiliza la [API de Red][8] para extraer la siguiente información sobre tus dispositivos de red: + * [Obtén la lista de interfaces para tus dispositivos.][16] + - [Obtén la lista de etiquetas para tus dispositivos.][17] + - [Actualiza la lista de etiquetas para tus dispositivos.][18] + +## Solución de problemas {#troubleshooting} + +- Consulte la página de [Solución de problemas][19] de Network Device Monitoring para obtener más información sobre cómo resolver los problemas de NDM. + + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/account/settings/agent/latest +[2]: /es/agent +[3]: /es/network_monitoring/devices/snmp_metrics/?tab=snmpv2#monitoring-individual-devices +[4]: /es/network_monitoring/devices/snmp_metrics/#autodiscovery +[5]: /es/network_monitoring/devices/ping +[6]: /es/network_monitoring/devices/guide/device_profiles/ +[7]: https://docs.datadoghq.com/es/integrations/servicenow/#network-device-tagging +[8]: /es/api/latest/network-device-monitoring/ +[9]: /es/network_monitoring/devices/supported_devices +[10]: /es/network_monitoring/devices/profiles +[11]: /es/network_monitoring/netflow/ +[12]: https://app.datadoghq.com/devices +[13]: https://app.datadoghq.com/dash/integration/30409/datacenter-overview +[14]: https://app.datadoghq.com/dash/integration/30417/interface-performance +[15]: /es/network_monitoring/devices/device_topology_map +[16]: /es/api/latest/network-device-monitoring/#get-the-list-of-interfaces-of-the-device +[17]: /es/api/latest/network-device-monitoring/#get-the-list-of-tags-for-a-device +[18]: /es/api/latest/network-device-monitoring/#update-the-tags-for-a-device +[19]: /es/network_monitoring/devices/troubleshooting +[20]: /es/integrations/guide/high_availability +[21]: /es/network_monitoring/devices/vpn_monitoring +[22]: /es/network_monitoring/devices/syslog \ No newline at end of file diff --git a/content/es/network_monitoring/devices/snmp_metrics.md b/content/es/network_monitoring/devices/snmp_metrics.md index 2aac86d88ca..9328653ecf3 100644 --- a/content/es/network_monitoring/devices/snmp_metrics.md +++ b/content/es/network_monitoring/devices/snmp_metrics.md @@ -2,58 +2,57 @@ further_reading: - link: /network_monitoring/devices/profiles tag: Documentación - text: Uso de perfiles con Network Device Monitoring + text: Uso de Perfiles con NDM - link: https://www.datadoghq.com/knowledge-center/network-monitoring/snmp-monitoring/ - tag: Centro de conocimiento - text: Información general de la monitorización de SNMP + tag: Centro de Conocimiento + text: Descripción General del Monitoreo SNMP - link: https://www.datadoghq.com/blog/monitor-snmp-with-datadog/ tag: Blog - text: Monitorización de SNMP con Datadog -title: Métricas de SNMP + text: Monitorear SNMP con Datadog +title: Métricas SNMP --- +## Instalación {#installation} -## Instalación +El NDM se basa en la Integración SNMP incluida en el paquete del [Datadog Agent][1], y soporta las tres versiones de SNMP: `SNMPv1`, `SNMPv2` y `SNMPv3`. Durante el descubrimiento, se sondea el puerto SNMP (predeterminado 161). Un dispositivo se considera descubierto si hay una respuesta y un perfil coincidente. -Network Device Monitoring se basa en la integración de SNMP incluida en el paquete del [Datadog Agent][1] y admite las tres versiones de SNMP: `SNMPv1`, `SNMPv2` y `SNMPv3`. Durante la detección, se sondea el puerto SNMP (por defecto 161). Un dispositivo se considera detectado si hay una respuesta y un perfil coincidente. +## Requisitos previos {#pre-requisites} -## Requisitos previos +Agente v7.32+ -Agent v7.32+ +## Cómo funciona {#how-it-works} -## Cómo funciona +El siguiente diagrama ilustra los puertos y protocolos predeterminados entre el Agente de Datadog y el dispositivo que se está monitoreando. Para las métricas SNMP, el Agente de Datadog sondea los dispositivos con Autodiscovery, o basado en la configuración manual de la IP del dispositivo. El Agente de Datadog, configurado con NDM y desplegado en las instalaciones o en la nube, consolida todos los datos de dispositivos y redes recolectados de su red y los envía a Datadog a través de HTTPS en el puerto `443`. Esto proporciona una observabilidad unificada de pila completa de metrics, logs, traces, monitors y dashboards. -El siguiente diagrama ilustra los puertos y protocolos por defecto entre el Datadog Agent y el dispositivo que se está monitorizado. Para métricas de SNMP, el Datadog Agent sondea los dispositivos con Autodiscovery, o basándose en la configuración de la IP del dispositivo manual. El Datadog Agent, configurado con NDM e implementado en las instalaciones o en la nube, consolida todos los datos de dispositivos y red recopilados de tu red y los envía a Datadog a través de HTTPS en el puerto `443`. Esto proporciona una capacidad de observación unificada y completa de métricas, logs, trazas, monitores y dashboards. +{{< img src="/network_device_monitoring/snmp/snmp_device_polling.png" alt="Diagrama de NDM que muestra el flujo para el sondeo de dispositivos SNMP." style="width:90%;" >}} -{{< img src="/network_device_monitoring/snmp/snmp_device_polling.png" alt="Diagrama de NDM Diagram que muestra el flujo de sondeo de dispositivos de SNMP." style="width:90%;" >}} +## Próximos pasos {#next-steps} -## Siguientes pasos +Siga las instrucciones a continuación para configurar Datadog para recopilar métricas SNMP de sus dispositivos de red. -Sigue las instrucciones a continuación para configurar Datadog para recopilar métricas de SNMP de tus dispositivos de red. +## Configuración {#configuration} -## Configuración +NDM de Datadog admite la recopilación de métricas de dispositivos individuales o el Autodiscovery de dispositivos (direcciones IP únicas) en subredes completas. -Datadog Network Device Monitoring permite recopilar métricas de dispositivos individuales, o autodetectar dispositivos (direcciones IP únicas) en subredes enteras. +Elija su estrategia de recopilación según el número de dispositivos presentes en su red y cuán dinámica es su red (lo que significa la frecuencia de agregar o eliminar dispositivos): -Elige tu estrategia de recopilación en función del número de dispositivos presentes en tu red y de lo dinámica que sea tu red (es decir, la frecuencia con la que se añaden o eliminan dispositivos): +[Monitoreo de dispositivos individuales](#monitoring-individual-devices) +: Para redes pequeñas y mayormente estáticas. -[Monitorización de dispositivos individuales](#monitoring-individual-devices) -: para redes pequeñas y mayoritariamente estáticas. +[Autodiscovery](#autodiscovery) +: Para redes más grandes o dinámicas. -[Autodiscovery](#Autodiscovery) -: para redes mayores o dinámicas. +Independientemente de la estrategia de recopilación, aproveche los [perfiles de dispositivo mapeados por sysObjectID de Datadog][2] para recopilar automáticamente métricas relevantes de sus dispositivos. -Independientemente de la estrategia de recopilación, aprovecha los [perfiles de dispositivos asignados de sysObjectID][2] de Datadog para recopilar automáticamente métricas pertinente de tus dispositivos. +### NDM de dispositivos individuales {#monitoring-individual-devices} -### Monitorización de dispositivos individuales +Para monitorear dispositivos individuales: -Para monitorizar dispositivos individuales: - -- Incluye la dirección de IP y cualquier metadato de dispositivos (como etiquetas) en el archivo `snmp.d/conf.yaml` que se encuentra en la carpeta `conf.d/` en la raíz del [directorio de configuración de tu Agent][3]. Para conocer todas las opciones de configuración disponibles, consulta el [snmp.d/conf.yaml de ejemplo][4]. +- Incluya la dirección IP y cualquier metadato adicional de los dispositivos (como etiquetas) en el archivo `snmp.d/conf.yaml` en la carpeta `conf.d/` en la raíz de su [directorio de configuración del Agente][3]. Consulte el archivo de ejemplo snmp.d/conf.yaml[4] para todas las opciones de configuración disponibles. {{< tabs >}} {{% tab "SNMPv2" %}} -- Para SNMPv2, configura una instancia especificando la dirección IP y la _cadena de comunidad_ del dispositivo: +- Para SNMPv2, configure una instancia especificando la dirección IP y la _cadena de comunidad_ del dispositivo: ```yaml init_config: @@ -70,7 +69,7 @@ Para monitorizar dispositivos individuales: {{% /tab %}} {{% tab "SNMPv3" %}} -- Para SNMPv3, configura una instancia que especifique la dirección IP y las credenciales SNMPv3 del dispositivo (según corresponda), por ejemplo: `user`, `authProtocol`, `authKey`, `privProtocol` y `privKey`: +- Para SNMPv3, configure una instancia especificando la dirección IP y las credenciales de SNMPv3 del dispositivo (según corresponda), por ejemplo: `user`, `authProtocol`, `authKey`, `privProtocol` y `privKey`: ```yaml init_config: @@ -92,26 +91,34 @@ Para monitorizar dispositivos individuales: {{% /tab %}} {{< /tabs >}} -- [Reinicia el Agent][5]. +- [Reinicie el Agente][5]. + +Después de la configuración, el Agente recopila métricas relevantes al emparejar sus dispositivos con uno de los [perfiles de dispositivo compatibles de Datadog][6]. + +Para expandir su configuración: -Tras la configuración, el Agent recopila las métricas pertinentes haciendo coincidir tus dispositivos con uno de los [perfiles de dispositivos compatibles de Datadog][6]. +* Agregue más instancias para recopilar métricas de más dispositivos en su red. +* Utilice [Autodiscovery](#autodiscovery) si necesita recopilar métricas de muchos dispositivos en una red dinámica. -Para ampliar tu configuración: +### Autodiscovery {#autodiscovery} -* Añade más instancias para recopilar métricas de más dispositivos en tu red. -* Utiliza [Autodiscovery](#autodiscovery) si necesitas recopilar métricas de muchos dispositivos a través de una red dinámica. +Una alternativa a especificar dispositivos individuales es usar Autodiscovery para descubrir automáticamente todos los dispositivos en su red. -### Autodiscovery +Autodiscovery sondea cada IP en la subred configurada y verifica si hay una respuesta del dispositivo. Luego, el Agente de Datadog busca el `sysObjectID` del dispositivo descubierto y lo mapea a uno de los [perfiles de dispositivo compatibles de Datadog][6]. Los perfiles contienen listas de métricas predefinidas para recopilar de varios tipos de dispositivos. -Una alternativa a la especificación de dispositivos individuales es utilizar Autodiscovery para detectar automáticamente todos los dispositivos en tu red. +Para usar Autodiscovery con NDM: -Autodiscovery sondea cada IP de la subred configurada y espera una respuesta del dispositivo. A continuación, el Datadog Agent busca el `sysObjectID` del dispositivo detectado y lo asigna a uno de los [perfiles de dispositivos compatibles de Datadog][6]. Los perfiles contienen listas de métricas predefinidas para recopilar varios tipos de dispositivos. +1. Instale o actualice el Agente de Datadog a la versión v7.27+. Para instrucciones específicas de la plataforma, consulte la documentación del [Datadog Agent][7]. -Para utilizar Autodiscovery con Network Device Monitoring: +2. Edite el archivo de configuración del Agente [`datadog.yaml`][8] para incluir todas las subredes que Datadog debe escanear. La siguiente configuración de muestra proporciona parámetros requeridos, valores predeterminados y ejemplos para Autodiscovery. -1. Instala o actualiza el Datadog Agent a v7.27+. Para obtener instrucciones específicas de la plataforma, consulta la documentación del [Datadog Agent][7]. +3. Opcionalmente, habilite la [desduplicación][11] de dispositivos durante el Autodiscovery del Agente. Esta función está deshabilitada por defecto y requiere la versión `7.67+` del Agente. -2. Edita el archivo de configuración [`datadog.yaml`][8] del Agent para incluir todas las subredes que Datadog debe escanear. El siguiente ejemplo de configuración proporciona los parámetros requeridos, los valores predeterminados y ejemplos para Autodiscovery. + ```yaml + network_devices: + autodiscovery: + use_deduplication: true + ``` {{< tabs >}} {{% tab "SNMPv2" %}} @@ -119,6 +126,7 @@ Para utilizar Autodiscovery con Network Device Monitoring: ```yaml network_devices: autodiscovery: + ## use_deduplication - boolean - optional - default: false workers: 100 # number of workers used to discover devices concurrently discovery_interval: 3600 # interval between each autodiscovery in seconds loader: core # use core check implementation of SNMP integration. recommended @@ -130,16 +138,16 @@ network_devices: port: 161 community_string: '***' # enclose with single quote tags: - - "key1:val1" - - "key2:val2" + - "key1:val1" + - "key2:val2" - network_address: 10.20.0.0/24 loader: core snmp_version: 2 port: 161 community_string: '***' tags: - - "key1:val1" - - "key2:val2" + - "key1:val1" + - "key2:val2" ``` {{% /tab %}} @@ -149,6 +157,7 @@ network_devices: ```yaml network_devices: autodiscovery: + ## use_deduplication - boolean - optional - default: false workers: 100 # number of workers used to discover devices concurrently discovery_interval: 3600 # interval between each autodiscovery in seconds loader: core # use core check implementation of SNMP integration. recommended @@ -179,15 +188,34 @@ network_devices: {{% /tab %}} {{< /tabs >}} -**Nota**: El Datadog Agent configura automáticamente el check de SNMP con cada una de las IPs que se detectan. Un dispositivo detectado es una IP que responde satisfactoriamente cuando es sondeada usando SNMP. +**Nota**: El Agente de Datadog configura automáticamente la verificación SNMP con cada una de las IPs que se descubren. Un dispositivo descubierto es una IP que responde exitosamente cuando se sondea usando SNMP. + +**Nota**: Asegúrese de estar en la versión 7.54+ de Agent para esta sintaxis. Para versiones anteriores, consulte el [config_template.yaml anterior][9] + +### Sobrescribir la velocidad de la interfaz {#override-interface-speed} + +Por defecto, la verificación SNMP informa la velocidad de la interfaz según lo detectado desde el dispositivo. Si la velocidad del puerto físico difiere del ancho de banda real del circuito, por ejemplo, un puerto físico de 1 Gbps provisionado para un circuito de 50 Mbps, puede sobrescribir la velocidad de entrada y salida para interfaces específicas utilizando `interface_configs`. + +Agregue `interface_configs` a la configuración de su instancia en `snmp.d/conf.yaml`: + +```yaml +instances: + - ip_address: '1.2.3.4' + community_string: 'sample-string' + interface_configs: + - match_field: name # match by interface name or ifIndex + match_value: eth0 # case-sensitive + in_speed: 50000000 # inbound speed in bytes per second (50 Mbps) + out_speed: 50000000 # outbound speed in bytes per second (50 Mbps) +``` -**Nota**: Asegúrate de que estás en el Agent 7.54+ para esta sintaxis. Para versiones anteriores, consulta el [config_template.yaml anterior][9]. +Para todas las opciones disponibles de `interface_configs`, consulte el [archivo de ejemplo snmp.d/conf.yaml][4]. -## Validación +## Validación {#validation} -[Ejecuta el subcomando de estado del Agent][10] y busca `snmp` en la sección Checks. +[Ejecute el subcomando de estado de Agent][10] y busque `snmp` en la sección de Verificaciones. -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -201,4 +229,5 @@ network_devices: [7]: /es/agent [8]: /es/agent/configuration/agent-configuration-files/?tab=agentv6v7#agent-main-configuration-file [9]: https://github.com/DataDog/datadog-agent/blob/51dd4482466cc052d301666628b7c8f97a07662b/pkg/config/config_template.yaml#L855 -[10]: /es/agent/configuration/agent-commands/#agent-status-and-information \ No newline at end of file +[10]: /es/agent/configuration/agent-commands/#agent-status-and-information +[11]: https://github.com/DataDog/datadog-agent/blob/main/pkg/config/config_template.yaml#L4036 \ No newline at end of file diff --git a/content/es/network_monitoring/netflow/_index.md b/content/es/network_monitoring/netflow/_index.md index f55fa315bb2..7a8bbaedf37 100644 --- a/content/es/network_monitoring/netflow/_index.md +++ b/content/es/network_monitoring/netflow/_index.md @@ -7,44 +7,43 @@ further_reading: text: Uso de perfiles con Network Device Monitoring - link: https://www.datadoghq.com/blog/monitor-netflow-with-datadog/ tag: Blog - text: Monitorizar el tráfico de datos de NetFlow con Datadog + text: Monitorear datos de tráfico NetFlow con Datadog - link: https://www.datadoghq.com/blog/diagnose-network-performance-with-snmp-trap-monitoring/ tag: Blog - text: Monitorizar y diagnosticar problemas de rendimiento de red con SNMP Traps + text: Monitorear y diagnosticar problemas de rendimiento de red con SNMP Traps title: NetFlow Monitoring --- +## Resumen {#overview} -## Información general +La vista de NetFlow en Network Device Monitoring proporciona visibilidad sobre los flujos de tráfico de red recopilados de dispositivos que exportan datos de flujo (por ejemplo, enrutadores, cortafuegos o conmutadores). Puede analizar el volumen de tráfico, identificar los principales emisores y comprender cómo se mueve la información a través de su red. -La vista de NetFlow en Network Device Monitoring proporciona visibilidad de los flujos de tráfico de red recopilados de dispositivos que exportan datos de flujo (por ejemplo, enrutadores, cortafuegos o conmutadores). Puedes analizar el volumen de tráfico, identificar a los principales interlocutores y comprender cómo se mueven los datos por la red. +La vista de NetFlow muestra métricas de tráfico agregadas por dispositivo e interfaz. Úselo para identificar qué dispositivos o interfaces están consumiendo más ancho de banda, generando más paquetes o contribuyendo a picos de tráfico. -La vista de NetFlow muestra las métricas de tráfico agregadas por dispositivo e interfaz. Utilízala para identificar qué dispositivos o interfaces consumen más ancho de banda, generan más paquetes o contribuyen a los picos de tráfico. +{{< img src="network_device_monitoring/netflow/netflow.png" alt="La página NetFlow Monitoring contiene una leyenda colapsable para el volumen de tráfico, la salud del dispositivo, flujos y más." style="width:100%;" >}} -{{< img src="network_device_monitoring/netflow/netflow_home_2.png" alt="La page (página) de NetFlow Monitoring que contiene una leyenda contraíble para el volumen de tráfico, el estado del dispositivo, los flujos, etc." style="width:100%;" >}} +## Navegación lateral {#side-navigation} -## Navegación lateral +Utilice la navegación de la izquierda para explorar vistas adicionales de NetFlow: -Utiliza la navegación de la izquierda para explorar vistas adicionales de NetFlow: +- **Volumen de tráfico**: Métricas de flujo generales por dispositivo e interfaz. +- **Salud del dispositivo**: Estado y utilización de los dispositivos monitoreados. +- **Flujos**: Registros de flujo individuales detallados. +- **Conversaciones**: Pares de origen-destino agregados. +- **Sistemas autónomos**: Datos de flujo agrupados por Números de Sistemas Autónomos (ASNs). +- **Geo IP**: Datos de flujo agrupados por origen/destino geográfico. +- **Puertos de origen / Puertos de destino / Protocolos / Banderas**: Desglose del tráfico por metadatos de paquetes. -- **Volumen de tráfico**: Métricas de flujo global por dispositivo e interfaz. -- **Estado de los dispositivos**: Estado y utilización de los dispositivos monitorizados. -- **Flujos**: Registros detallados de flujos individuales. -- **Conversaciones**: Pares agregados de origen-destino. -- **Sistemas autónomos**: Datos de flujo agrupados por Números de sistema autónomo (ASN). -- **IP geográfico**: Datos de flujo agrupados por origen/destino geográfico. -- **Puertos de origen / Puertos de destino / Protocolos / Marcas**: Desglose del tráfico por metadatos de paquetes. +## Instalación {#installation} -## Instalación +Para utilizar NetFlow Monitoring con Network Device Monitoring, asegúrese de estar utilizando la versión 7.45 o más reciente del [Agent][1]. -Para utilizar NetFlow Monitoring con Network Device Monitoring, asegúrate de que estás utilizando la versión 7.45 o posterior del [Agent][1]. +**Nota:** Configurar [la recolección de métricas de Network Device Monitoring][2] no es un requisito para enviar datos de NetFlow, aunque se recomienda encarecidamente, ya que estos datos adicionales pueden utilizarse para enriquecer sus registros de flujo con información como el nombre del dispositivo, modelo y proveedor, así como el nombre de la interfaz de entrada/salida. -**Nota:** Configurar la [recopilación de métricas de Network Device Monitoring][2] no es un requisito para enviar datos de NetFlow, pero es algo fuertemente recomendado, ya que estos datos adicionales pueden ser utilizados para enriquecer tus registros de flujos con información, como el nombre del dispositivo, el modelo y el vendedor, así como el nombre de la interfaz de entrada/salida. +## Configuración {#configuration} -## Configuración +Para configurar sus dispositivos para enviar tráfico de NetFlow, jFlow, sFlow o IPFIX al servidor NetFlow del Agent, sus dispositivos deben estar configurados para enviar tráfico a la dirección IP en la que está instalado el Datadog Agent, específicamente a `flow_type` y `port`. -Para configurar tus dispositivos para enviar tráfico de NetFlow, jFlow, sFlow o IPFIX al servidor NetFlow del Agent, tus dispositivos deben estar configurados para enviar tráfico a la dirección IP en la que está instalado el Datadog Agent, específicamente `flow_type` y `port`. - -1. Edita tu archivo de configuración del Agent [`datadog.yaml`][3] para activar NetFlow: +1. Edite su archivo de configuración del [`datadog.yaml`][3] Agent para habilitar NetFlow: ```yaml network_devices: @@ -63,202 +62,272 @@ network_devices: reverse_dns_enrichment_enabled: false ``` -2. Luego de guardar los cambios, [reinicia el Agent][4]. +2. Después de guardar sus cambios, [reinicie el Agent][4]. - **Nota**: Asegúrate de que tus [reglas de firewall][9] permiten el tráfico UDP entrante en los puertos configurados. + **Nota**: Asegúrese de que sus [reglas de firewall][9] permitan el tráfico UDP entrante en los puertos configurados. -## Agregación +## Agregación {#aggregation} -El Datadog Agent añade automáticamente los datos recibidos a NetFlow para limitar el número de registros enviados a la plataforma, al mismo tiempo que conserva la mayor parte de la información. Por defecto, los registros de flujos que tienen los mismos identificadores, como `source`, `destination address`, `port` y `protocol`, se agregan juntos en intervalos de cinco minutos. Además, el Datadog Agent puede detectar puertos efímeros y eliminarlos. Como resultado, es posible que aparezcan flujos con `port:*`. +El Datadog Agent agrega automáticamente los datos recibidos en NetFlow para limitar el número de registros enviados a la plataforma mientras mantiene la mayor parte de la información. Por defecto, las grabaciones de flujo que tienen los mismos identificadores, como `source`, `destination address`, `port` y `protocol`, se agregan juntas en intervalos de cinco minutos. Además, el Datadog Agent puede detectar puertos efímeros y eliminarlos. Como resultado, puede ver Flujos con `port:*`. -## Enriquecimiento +## Enriquecimiento {#enrichment} -Tus datos de NetFlow son procesados por el backend de Datadog y son enriquecidos con los metadatos disponibles de tus dispositivos e interfaces. El enriquecimiento se basa en la IP del exportador de NetFlow y en los índices de la interfaz. Para desambiguar posibles colisiones entre las IP privadas reutilizadas, puedes configurar un `namespace` diferente para cada archivo de configuración del Agent (con el parámetro `network_devices.namespace`). +Sus datos de NetFlow son procesados por el backend de Datadog y enriquecidos con los metadatos disponibles de sus dispositivos e interfaces. El enriquecimiento se basa en la IP del exportador de NetFlow y los índices de interfaz. Para desambiguar posibles colisiones entre IPs privadas reutilizadas, puede configurar un `namespace` diferente para cada archivo de configuración del Agent (con la configuración `network_devices.namespace`). -Si la IP del exportador de NetFlow es una de las direcciones IP del dispositivo, pero no la que está configurada en la integración SNMP, Datadog intenta localizar el dispositivo al que pertenece la IP del exportador y enriquece tus datos de NetFlow, siempre que la coincidencia sea única. +Si la IP del exportador de NetFlow es una de las IPs del dispositivo, pero no la que está configurada en la integración SNMP, Datadog intenta localizar el dispositivo al que pertenece la IP del exportador y enriquece sus datos de NetFlow con ella siempre que la coincidencia sea única. -### Enriquecimiento de IP del proveedor de la nube +### Enriquecimiento de IP del proveedor de la nube {#cloud-provider-ip-enrichment} -Datadog enriquece las IP con el servicio y la región del proveedor de la nube pública para las direcciones IPv4, de modo que puedas filtrar los registros de flujos de un servicio y una región específicos. +Datadog enriquece las IPs con el servicio y la región del proveedor de nube pública para direcciones IPv4, de modo que pueda filtrar los registros de flujo de un servicio y región específicos. -{{< img src="network_device_monitoring/netflow/netflow_cloud_provider_enrichment_2.png" alt="Menú de Netflow Filter en el cual se muestra el nombre, la región y el servicio del proveedor en la nube" width="100%" >}} +{{< img src="network_device_monitoring/netflow/netflow_cloud_provider_enrichment_2.png" alt="Menú de filtro de NetFlow que muestra el nombre del proveedor de nube, la región y el servicio" width="100%" >}} -### Enriquecimiento de puertos +### Enriquecimiento de puertos {#port-enrichment} -Datadog enriquece los puertos en NetFlow con datos de la IANA (Internet Assigned Numbers Authority) para resolver asignaciones de puertos bien conocidos (como Postgres en 5432 y HTTPS en 443). +Datadog enriquece los puertos en NetFlow con datos de IANA (Autoridad de Números Asignados de Internet) para resolver asignaciones de puertos bien conocidos (como Postgres en 5432 y HTTPS en 443). -#### Enriquecimiento personalizado de puertos +### Enriquecimiento de puerto personalizado {#custom-port-enrichment} -También puedes añadir tus propios enriquecimientos personalizados para asignar puertos y protocolos a aplicaciones específicas (por ejemplo, si un servicio personalizado se ejecuta en un puerto específico). Esto permite a los ingenieros de redes y a tus equipos interpretar y consultar los datos de NetFlow con nombres legibles. +También puede agregar sus propios enriquecimientos personalizados para mapear puertos y protocolos a aplicaciones específicas (por ejemplo, si un servicio personalizado se ejecuta en un puerto específico). Esto facilita a los ingenieros de red y sus equipos interpretar y consultar los datos de NetFlow con nombres legibles para humanos. -En la pestaña **Configuration** (Configuración) de NetFlow, haz clic en **+ Add Enrichment** (+ Añadir enriquecimiento) para cargar el archivo CSV que contiene tus enriquecimientos personalizados. +Desde la pestaña **Configuración** en NetFlow, haga clic en **+ Agregar Enriquecimiento** para subir el archivo CSV que contiene sus enriquecimientos personalizados. -{{< img src="network_device_monitoring/netflow/new_enrichment_2.png" alt="El modal de Nueva asignación de enriquecimiento en la pestaña de la configuración de Netflow" width="100%" >}} +{{< img src="network_device_monitoring/netflow/new_enrichment_2.png" alt="El modal de Mapeo de Nuevos Enriquecimientos en la pestaña de configuración de NetFlow" width="100%" >}} -### Enriquecimiento de IP privada con DNS inverso +### Enriquecimiento de IP personalizado {#custom-ip-enrichment} -Activa el enriquecimiento de IP privada con DNS inverso para realizar búsquedas de DNS de nombres de host asociados a direcciones IP de origen o destino. Cuando se activa, el Agent realiza búsquedas con DNS inverso en IP de origen y destino dentro de rangos de direcciones privadas, enriqueciendo los registros NetFlow con los nombres de host correspondientes. +También puede agregar sus propios enriquecimientos personalizados para mapear IPs y CIDRs a etiquetas personalizadas (por ejemplo, para categorizar servicios que se ejecutan en direcciones IP específicas). Esto facilita a los ingenieros de red y sus equipos interpretar y consultar los datos de NetFlow con nombres legibles para humanos. -Por [defecto][7], el enriquecimiento de IP con DNS inverso en tu archivo `datadog.yaml` está deshabilitado. Para habilitarlo, consulta la sección [Configuración](#configuration) de esta página. +Desde la página de configuración de [**Enriquecimiento**][10], haga clic en **+ Agregar Enriquecimiento** para agregar mapeos manualmente o subir un archivo CSV para agregar mapeos en bloque. -Busca **DNS** en el menú **+ Filter** (+ Filtro) para localizar los flujos asociados al enriquecimiento del IP de DNS inverso: +### Enriquecimiento de IP privada de DNS inverso {#reverse-dns-private-ip-enrichment} -{{< img src="network_device_monitoring/netflow/dns_ip_enrichmen_2.png" alt="Filtrar el menú mejorado para mostrar las facetas de destino y de origen de DNS inverso" width="100%" >}} +Habilite el enriquecimiento de IP privada de DNS inverso para realizar búsquedas DNS de nombres de host asociados con direcciones IP de origen o destino. Cuando está habilitado, el Datadog Agent realiza búsquedas DNS inversas en las IPs de origen y destino dentro de rangos de direcciones privadas, enriqueciendo los registros de NetFlow con los nombres de host correspondientes. -**Nota**: Las entradas de DNS inverso se almacenan en caché y están sujetas a limitaciones de frecuencia para minimizar las consultas DNS y reducir la carga de los servidores DNS. Para obtener más información sobre las opciones de configuración, incluyendo la modificación del almacenamiento en caché predeterminado y la limitación de frecuencia, consulta el [archivo de configuración completo][8]. +Por [defecto][7], el enriquecimiento de IP de DNS inverso en su archivo `datadog.yaml` está deshabilitado. Para habilitar, consulte la sección [Configuración](#configuration) de esta página. -## Datos de IP +Busque **DNS** en el menú **+ Filtro** para localizar flujos asociados con el enriquecimiento de IP de DNS inverso: -En la vista **Conversations** (Conversaciones), puedes ver la dirección IP pública de la IP de destino. Pasa el ratón sobre la IP para mostrar metadatos enriquecidos sobre la IP y un enlace a **View Related Network Connections** (Ver conexiones de red relacionadas) donde puedes inspeccionar la conectividad con más detalles. +{{< img src="network_device_monitoring/netflow/dns_ip_enrichmen_2.png" alt="Menú de filtro mejorado para mostrar las facetas de destino y origen de DNS inverso" width="100%" >}} -{{< img src="network_device_monitoring/netflow/NetFlow_IP_pill.png" alt="Pase el ratón sobre la dirección IP para mostrar los datos de la IP y ver conexiones de red relacionadas" width="100%" >}} +**Nota**: Las entradas de DNS inverso se almacenan en caché y están sujetas a limitaciones de tasa para minimizar las consultas DNS y reducir la carga en los servidores DNS. Para más opciones de configuración, incluyendo la modificación de la caché predeterminada y la limitación de tasa, consulte el [archivo de configuración completo][8]. -## Diagrama de flujo +## Detalles de IP {#ip-details} -Puedes visualizar los flujos en NetFlow Monitoring haciendo clic en el menú **Flows** (Flujos) y pasando el ratón por encima de un flujo de la lista para ver información adicional sobre IP de origen, nombre de la interfaz de ingreso, nombre del dispositivo e IP de destino en todas las conexiones de red relacionadas. +En la vista de **Conversaciones**, puede ver la dirección IP pública de la IP de destino. Pase el cursor sobre la IP para mostrar metadatos enriquecidos sobre la IP y un enlace a **Ver Conexiones de Red Relacionadas** donde puede inspeccionar la conectividad con más detalle. -{{< img src="network_device_monitoring/netflow/flows.png" alt="Pasar el ratón sobre un flujo agregado desde un dispositivo que emite netflow para acceder a conexiones de red relacionadas" width="100%" >}} +{{< img src="network_device_monitoring/netflow/NetFlow_IP_pill.png" alt="Pase el cursor sobre una dirección IP para mostrar los detalles de la IP y Ver Conexiones de Red Relacionadas" width="100%" >}} -## Monitor (noun) de NetFlow +## Diagrama de flujo {#flow-diagram} -Haz clic en el icono **Create Monitor** (Crear monitor (noun)) desde cualquiera de las vistas para crear un [Monitor (noun) de NetFlow][6]. Cuando crees el monitor (noun), ten en cuenta los siguientes campos con respecto a la IP de origen o IP de destino desde la perspectiva del dispositivo. Estos campos proporcionan información sobre los patrones de tráfico de la red y ayudan a optimizar el rendimiento y la seguridad. +Puede visualizar los flujos en NetFlow Monitoring haciendo clic en el menú **Flujos** y pasando el cursor sobre un flujo de la lista para ver información adicional sobre la IP de origen, el nombre de la interfaz de entrada, el nombre del dispositivo y la IP de destino a través de conexiones de red relacionadas. -{{< img src="network_device_monitoring/netflow/create_monitor.png" alt="Vista de flujos en NetFlow que monitoriza con el vínculo para crear monitores resaltado." width="100%" >}} +{{< img src="network_device_monitoring/netflow/flows.png" alt="Pase el cursor sobre un flujo agregado de un dispositivo que emite NetFlow para acceder a conexiones de red relacionadas." width="100%" >}} -### Información sobre la interfaz +## Monitor de NetFlow {#netflow-monitor} -Los siguientes campos representan información detallada de las interfaces de entrada y salida. +Haga clic en el ícono **Crear Monitor** desde cualquiera de las vistas para crear un [NetFlow monitor][6]. Al crear el monitor, considere los siguientes campos con respecto a la IP de origen o la IP de destino desde la perspectiva del dispositivo. Estos campos proporcionan información sobre los patrones de tráfico de red y ayudan a optimizar el rendimiento y la seguridad. -| Nombre del campo | Descripción del campo | +{{< img src="network_device_monitoring/netflow/create_monitor.png" alt="Vista de flujos en NetFlow Monitoring con el enlace para crear un NetFlow monitor resaltado." width="100%" >}} + +### Información de interfaz {#interface-information} + +Los siguientes campos representan detalles sobre las interfaces de entrada y salida. + +| Nombre del Campo | Descripción del Campo | |---|---| -| Alias de interfaz de salida | Alias de la interfaz de salida. | -| Índice de interfaz de salida | Índice de la interfaz de salida. | -| Nombre de interfaz de salida | Nombre de la interfaz de salida. | -| Alias de interfaz de entrada | Alias de la interfaz de entrada. | -| Índice de interfaz de entrada | Índice de la interfaz de entrada. | -| Nombre de interfaz de entrada | Nombre de la interfaz de entrada. | +| Alias de la Interfaz de Salida | Alias de la interfaz de salida. | +| Índice de la Interfaz de Salida | Índice de la interfaz de salida. | +| Nombre de la interfaz de salida | Nombre de la interfaz de salida. | +| Alias de la interfaz de entrada | Alias de la interfaz de entrada. | +| Índice de la interfaz de entrada | Índice de la interfaz de entrada. | +| Nombre de la interfaz de entrada | Nombre de la interfaz de entrada. | -### Información sobre el dispositivo +### Información del dispositivo {#device-information} -Los siguientes campos representan información detallada relacionada con el dispositivo que genera registros NetFlow. +Los siguientes campos representan detalles relacionados con el dispositivo que genera registros de NetFlow. | Nombre del campo | Descripción del campo | |---|---| -| IP del dispositivo | Dirección IP utilizada para asignar a un dispositivo en NDM con fines de enriquecimiento. | -| IP del exportador | Dirección IP desde la que se originan los paquetes de NetFlow. | -| Modelo de dispositivo | Modelo del dispositivo. | -| Nombre de dispositivo | Nombre del dispositivo. | -| Espacio de nombres de dispositivo | Espacio de nombres del dispositivo. | -| Vendedor de dispositivo | Vendedor del dispositivo. | +| IP del dispositivo | Dirección IP utilizada para mapear a un dispositivo en NDM con fines de enriquecimiento. | +| IP del exportador | Dirección IP desde la cual se originan los paquetes de NetFlow. | +| Modelo del dispositivo | Modelo del dispositivo. | +| Nombre del dispositivo | Nombre del dispositivo. | +| Espacio de nombres del dispositivo | Espacio de nombres del dispositivo. | +| Proveedor del dispositivo | Proveedor del dispositivo. | -### Detalles del flujo +### Detalles del flujo {#flow-details} Los siguientes campos representan características del flujo de red. | Nombre del campo | Descripción del campo | |---|---| | Dirección | Indica si el flujo es entrante o saliente. | -| Hora de inicio | Marca de tiempo del primer paquete de red entre las direcciones IP de origen y de destino. | -| Hora de finalización | Marca de tiempo del último paquete de red entre las direcciones IP de origen y de destino. | -| Tipo de Ether | Tipo de encapsulación de marco Ethernet (IPv4 o IPv6). | -| Tipo de flujo | Tipo de formato de datos de NetFlow (IPFIX, sFlow5, NetFlow5, NetFlow9 o desconocido). | +| Hora de Inicio | Marca de tiempo del primer paquete de red entre las direcciones IP de origen y destino. | +| Hora de Fin | Marca de tiempo del último paquete de red entre las direcciones IP de origen y destino. | +| Tipo de Éter | Tipo de encapsulación de tramas Ethernet (IPv4 o IPv6). | +| Tipo de Flujo | Tipo de formato de datos de NetFlow (IPFIX, sFlow5, NetFlow5, NetFlow9 o Desconocido). | | Protocolo IP | Protocolo utilizado para la comunicación (como ICMP, TCP o UDP). | -| IP del siguiente salto | Dirección IP del siguiente salto en la ruta de red. | -| Marcador TCP | Unión de todos los marcadores TCP observados durante la duración del flujo. | +| IP del siguiente salto | Dirección IP del siguiente salto en la ruta de la red. | +| Bandera TCP | Unión de todas las banderas TCP observadas durante la vida del flujo. | | Bytes | Número total de bytes transferidos. | | Paquetes | Número total de paquetes transferidos. | -Además de los campos, también puedes utilizar facetas predefinidas para empezar a analizar patrones de tráfico basados en las direcciones IP de origen y de destino de NetFlow. +Además de los campos, también puede utilizar facetas listas para usar para comenzar a analizar patrones de tráfico basados en las direcciones IP de destino y origen de NetFlow. -### Facetas IP de destino de NetFlow +### Facetas de IP de destino de NetFlow {#netflow-destination-ip-facets} | Nombre de la faceta | Descripción de la faceta | |---|---| -| Dominio del AS de destino | El dominio asociado al Autonomous System (AS) al que pertenece la IP de destino. | -| Nombre del AS de destino | El nombre del Autonomous System (AS) al que pertenece la IP de destino. | -| Número del AS de destino | El número asignado al Autonomous System (AS) al que pertenece la IP de destino. | -| Ruta del AS de destino | La información de ruta asociada al Autonomous System (AS) al que pertenece la IP de destino. | -| Tipo del AS de destino | El tipo de Autonomous System (AS) al que pertenece la IP de destino (como tránsito, cliente, par). | -| Nombre de la aplicación de destino | El nombre de la aplicación asociada a la IP de destino. | -| Nombre de la ciudad de destino | El nombre de la ciudad asociada a la IP de destino. | -| Nombre del proveedor de la nube de destino | El nombre del proveedor de la nube asociado a la IP de destino. | -| Región del proveedor de la nube de destino | La región del proveedor de la nube asociada a la IP de destino. | -| Servicio del proveedor de la nube de destino | El servicio proporcionado por el proveedor de la nube asociado a la IP de destino. | -| Código del continente de destino | Código que representa el continente asociado a la IP de destino. | -| Nombre del continente de destino | El nombre del continente asociado a la IP de destino. | -| Código ISO del país de destino | El código ISO que representa el país asociado a la IP de destino. | -| Nombre del país de destino | El nombre del país asociado a la IP de destino. | -| IP de destino | La dirección IP de destino. | -| Latitud del destino | La coordenada de latitud asociada a la IP de destino. | -| Longitud del destino | La coordenada de longitud asociada a la IP de destino. | -| MAC de destino | La dirección MAC (Media Access Control) asociada a la IP de destino. | -| Máscara de destino | La máscara de subred asociada a la IP de destino. | -| Puerto de destino | El número del puerto de destino. | -| Nombre de host DNS inverso de destino | El nombre de host DNS asociado a la IP de destino. | -| Código ISO de subdivisión del destino | El código ISO que representa la subdivisión (como estado o provincia) asociada a la IP de destino. | -| Nombre de la subdivisión de destino | El nombre de la subdivisión (como estado o provincia) asociada a la IP de destino. | -| Zona horaria de destino | La zona horaria asociada a la IP de destino. | - -### Facetas IP de origen de NetFlow +| Dominio AS de destino | El dominio asociado con el Sistema Autónomo (AS) al que pertenece la IP de destino. | +| Nombre AS de destino | El nombre del Sistema Autónomo (AS) al que pertenece la IP de destino. | +| Número AS de destino | El número asignado al Sistema Autónomo (AS) al que pertenece la IP de destino. | +| Ruta AS de destino | La información de ruta asociada con el Sistema Autónomo (AS) al que pertenece la IP de destino. | +| Tipo de AS de destino | El tipo de Sistema Autónomo (AS) al que pertenece la IP de destino (como tránsito, cliente, par). | +| Nombre de la Aplicación de Destino | El nombre de la aplicación asociada con la IP de destino. | +| Nombre de la Ciudad de Destino | El nombre de la ciudad asociada con la IP de destino. | +| Nombre del Proveedor de Nube de Destino | El nombre del proveedor de nube asociado con la IP de destino. | +| Región del Proveedor de Nube de Destino | La región del proveedor de nube asociada con la IP de destino. | +| Servicio del Proveedor de Nube de Destino | El servicio proporcionado por el proveedor de nube asociado con la IP de destino. | +| Código del Continente de Destino | El código que representa el continente asociado con la IP de destino. | +| Nombre del Continente de Destino | El nombre del continente asociado con la IP de destino. | +| Código ISO del País de Destino | El código ISO que representa el país asociado con la IP de destino. | +| Nombre del País de Destino | El nombre del país asociado con la IP de destino. | +| Dirección IP de destino | La dirección IP de destino. | +| Latitud de destino | La coordenada de latitud asociada con la dirección IP de destino. | +| Longitud de destino | La coordenada de longitud asociada con la dirección IP de destino. | +| MAC de destino | La dirección de Control de Acceso de Medios (MAC) asociada con la dirección IP de destino. | +| Máscara de destino | La máscara de subred asociada con la dirección IP de destino. | +| Puerto de destino | El número de puerto de destino. | +| Nombre de host DNS inverso de destino | El nombre de host DNS asociado con la dirección IP de destino. | +| Código ISO de subdivisión de destino | El código ISO que representa la subdivisión (como estado o provincia) asociada con la dirección IP de destino. | +| Nombre de subdivisión de destino | El nombre de la subdivisión (como estado o provincia) asociada con la dirección IP de destino. | +| Zona horaria de destino | La zona horaria asociada con la dirección IP de destino. | + +### Facetas de IP de origen de NetFlow {#netflow-source-ip-facets} | Nombre de la faceta | Descripción de la faceta | |---|---| -| Dominio del AS del origen | El dominio asociado al Autonomous System (AS) al que pertenece la IP de origen. | -| Nombre del AS del origen | El nombre del Autonomous System (AS) al que pertenece la IP de origen. | -| Número del AS del origen | El número asignado al Autonomous System (AS) al que pertenece la IP de origen. | -| Ruta del AS de origen | La información de ruta asociada con el Autonomous System (AS) al que pertenece la IP de origen. | -| Tipo de AS de origen | El tipo de Autonomous System (AS) al que pertenece la IP de origen (como tránsito, cliente, par). | -| Nombre de la aplicación de origen | El nombre de la aplicación asociada a la IP de origen. | -| Nombre de la ciudad de origen | El nombre de la ciudad asociada a la IP de origen. | -| Nombre del proveedor de la nube de origen | El nombre del proveedor de la nube asociado a la IP de origen. | -| Región del proveedor de la nube de origen | La región del proveedor de la nube asociada a la IP de origen. | -| Servicio del proveedor de la nube de origen | El servicio proporcionado por el proveedor de la nube asociada a la IP de origen. | -| Código del continente de origen | El código que representa el continente asociado a la IP de origen. | -| Nombre del continente de origen | El nombre del continente asociado a la IP de origen. | -| Código ISO del país de origen | El código ISO que representa el país asociado a la IP de origen. | -| Nombre del país de origen | El nombre del país asociado a la IP de origen. | +| Dominio AS de origen | El dominio asociado con el Sistema Autónomo (AS) al que pertenece la IP de origen. | +| Nombre AS de origen | El nombre del Sistema Autónomo (AS) al que pertenece la IP de origen. | +| Número AS de origen | El número asignado al Sistema Autónomo (AS) al que pertenece la IP de origen. | +| Ruta AS de origen | La información de ruta asociada con el Sistema Autónomo (AS) al que pertenece la IP de origen. | +| Tipo AS de origen | El tipo de Sistema Autónomo (AS) al que pertenece la IP de origen (como tránsito, cliente, par). | +| Nombre de la aplicación de origen | El nombre de la aplicación asociada con la IP de origen. | +| Nombre de la ciudad de origen | El nombre de la ciudad asociada con la IP de origen. | +| Nombre del proveedor de nube de origen | El nombre del proveedor de nube asociado con la IP de origen. | +| Región del proveedor de nube de origen | La región del proveedor de nube asociada con la IP de origen. | +| Servicio del proveedor de nube de origen | El servicio proporcionado por el proveedor de nube asociado con la IP de origen. | +| Código de continente de origen | El código que representa el continente asociado con la IP de origen. | +| Nombre del continente de origen | El nombre del continente asociado con la IP de origen. | +| Código ISO del país de origen | El código ISO que representa el país asociado con la IP de origen. | +| Nombre del país de origen | El nombre del país asociado con la IP de origen. | | IP de origen | La dirección IP de origen. | -| Latitud de origen | La coordenada de latitud asociada a la IP de origen. | -| Longitud de origen | La coordenada de longitud asociada a la IP de origen. | -| MAC de origen | La dirección de MAC (Media Access Control) asociada a la IP de origen. | -| Máscara de origen | La máscara de subred asociada a la IP de origen. | -| Puerto de origen | El número del puerto de origen. | -| Nombre de host DNS inverso de origen | El nombre de host DNS asociado a la IP de origen. | -| Código ISO de la subdivisión de origen | El código ISO que representa la subdivisión (como estado o provincia) asociada a la IP de origen. | -| Nombre de la subdivisión de origen | El nombre de la subdivisión (como estado o provincia) asociada a la IP de origen. | -| Zona horaria de origen | La zona horaria asociada a la IP de origen. | +| Latitud de origen | La coordenada de latitud asociada con la IP de origen. | +| Longitud de origen | La coordenada de longitud asociada con la IP de origen. | +| MAC de origen | La dirección de Control de Acceso de Medios (MAC) asociada con la IP de origen. | +| Máscara de origen | La máscara de subred asociada con la IP de origen. | +| Puerto de origen | El número de puerto de origen. | +| Nombre de host DNS inverso de origen | El nombre de host DNS asociado con la IP de origen. | +| Código ISO de subdivisión de origen | El código ISO que representa la subdivisión (como estado o provincia) asociada con la IP de origen. | +| Nombre de subdivisión de origen | El nombre de la subdivisión (como estado o provincia) asociada con la IP de origen. | +| Zona horaria de origen | La zona horaria asociada con la IP de origen. | + +## Unificación de conversaciones {#conversation-stitching} + +Por defecto, NetFlow registra flujos unidireccionales separados para cada dirección de tráfico entre dos puntos de conexión (A → B y B → A). La unificación de conversaciones combina estos en un solo registro bidireccional, brindando una vista completa del tráfico total intercambiado entre dos puntos de conexión (A ↔ B). + +Con la unificación de conversaciones, puede: + +- Ver el tráfico total intercambiado entre dos puntos de conexión como una sola conversación en lugar de flujos direccionales separados +- Identificar verdaderos iniciadores y respondedores para que los widgets de fuente y destino reflejen roles precisos +- Eliminar ruido donde los servidores aparecen incorrectamente como principales fuentes + +Para alternar entre vistas unificadas (bidireccionales) y no unificadas (unidireccionales), navegue a cualquier vista de NetFlow basada en puntos de conexión y utilice el interruptor **Bidireccional** bajo el selector de tiempo. + +{{< img src="network_device_monitoring/netflow/conversation_stitching.png" alt="Interruptor de unificación de conversaciones en la vista de NetFlow" width="100%" >}} + +## Tasa de muestreo {#sampling-rate} + +La tasa de muestreo de NetFlow se toma en cuenta en el cálculo de bytes y paquetes por defecto. Los valores mostrados para bytes y paquetes se calculan con la tasa de muestreo aplicada. +Además, puede consultar **Bytes (Ajustados) (@adjusted_bytes)** y **Paquetes (Ajustados) (@adjusted_packets)** en tableros y notebooks para visualizarlos. + +Para visualizar los bytes/paquetes crudos (muestreados) enviados por sus dispositivos, puede consultar **Bytes (Muestreados) (@bytes)** y **Paquetes (Muestreados) (@packets)** en tableros y notebooks. + +## Retención {#retention} + +Los datos de NetFlow se retienen durante 30 días por defecto, con opciones para retención de 15, 30, 60 y 90 días. + +
Para retener los datos de NetFlow por períodos de tiempo más largos, comuníquese con su representante de cuenta.
+ +## Limitar el volumen de flujo por intervalo de descarga {#limit-flow-volume-per-flush-interval} + +Para controlar el volumen de NetFlow y los costos asociados, configure Agent para limitar el número de registros de flujo enviados por intervalo de descarga. El intervalo de descarga es el período durante el cual los flujos se agregan antes de ser enviados a Datadog. + +Cuando este límite está habilitado, Agent retiene solo los **flujos principales por conteo de bytes** hasta el máximo configurado, y descarta flujos de menor volumen para ese intervalo de descarga. + +### Configuración {#configuration-1} + +**Nota**: Requiere la versión de Agent `7.75.1` o posterior. + +Configure lo siguiente en su `datadog.yaml`: + +```yaml +network_devices: + netflow: + enabled: true + aggregator_max_flows_per_flush_interval: 10000 +``` + +Con esta configuración, Agent envía como máximo 10,000 registros de NetFlow por intervalo de descarga (5 minutos por defecto). Agent prioriza los flujos de mayor volumen y descarta el resto. + +### Estimando el volumen diario {#estimating-daily-volume} + +Su conteo máximo aproximado de flujo diario es: + +`max_flows_per_flush_interval * (minutes_per_day / flush_interval_minutes)` + +Por ejemplo, con `10,000` flujos por descarga y un intervalo de descarga de 5 minutos: + +`10,000 * (1440 / 5) = 2,880,000 flows/day` -## Frecuencia de muestreo +### Comportamiento esperado {#expected-behavior} -La frecuencia de muestreo de NetFlow se tiene en cuenta en el cálculo de bytes y paquetes por defecto. Los valores mostrados para los bytes y los paquetes se calculan con la frecuencia de muestreo aplicada. -Además, puedes consultar y visualizar **Bytes (ajustados) (@adjusted_bytes)** y **Paquetes (ajustados) (@adjusted_packets)** en los dashboards y los notebooks. +- **Se priorizan los principales generadores de tráfico:** Esto es lo mejor para flujos de trabajo enfocados en tráfico de alto volumen (por ejemplo, impulsores de ancho de banda y enlaces ruidosos). +- **Visibilidad reducida para flujos de bajo volumen:** Los pares de origen/destino de menor tráfico pueden no aparecer cuando se alcanza el límite. +- **Comportamiento por Agent:** El límite se aplica a cada Agent de manera independiente. Si múltiples Agents ven tráfico para las mismas conversaciones, no se agregan globalmente antes de la truncación. -Para visualizar los bytes/paquetes sin procesar (muestreados) enviados por tus dispositivos, puedes consultar **Bytes (muestreados) (@bytes)** y **Paquetes (muestreados) (@packets)** en dashboards y notebooks. +### Monitoreo de truncación {#monitoring-truncation} -## Conservación +Cuando se habilita la limitación de flujo, Agent emite métricas que puede usar para entender cuánto dato se está manteniendo frente a lo que se está descartando: -Los datos de NetFlow se conservan durante 30 días por defecto, con opciones de conservación de 15, 30, 60 y 90 días. +- `ndm.flow_truncation.flows_total` +- `ndm.flow_truncation.flows_kept` +- `ndm.flow_truncation.flows_dropped` +- `ndm.flow_truncation.keep_ratio` +- `ndm.flow_truncation.threshold_value` +- `ndm.flow_truncation.runtime_ms` -
Para conservar los datos de NetFlow durante más tiempo, ponte en contacto con el representante de tu cuenta.
+Utilice estas métricas para validar su límite elegido y para detectar cuándo la truncación está ocurriendo con frecuencia (lo que puede indicar que debe ajustar el límite o el intervalo de descarga). -## Solucionar problemas +## Solución de problemas {#troubleshooting} -### Pérdida de paquetes de NetFlow -Las pérdidas de paquetes de NetFlow pueden producirse cuando hay un número elevado de paquetes de NetFlow por segundo, generalmente superior a 50.000. Los siguientes pasos pueden ayudarte a identificar y mitigar las pérdidas de paquetes de NetFlow: +### Caídas de paquetes de NetFlow {#netflow-packet-drops} +Las caídas de paquetes de NetFlow pueden ocurrir cuando hay un alto número de paquetes de NetFlow por segundo, típicamente mayor a 50,000. Los siguientes pasos pueden ayudar a identificar y mitigar las caídas de paquetes de NetFlow: -#### Identificar las pérdidas de paquetes +#### Identificación de caídas de paquetes {#identifying-packet-drops} -Utiliza el comando `netstat -s` para ver si hay algún paquete UDP perdido: +Utilice el comando `netstat -s` para ver si hay paquetes UDP descartados: ```bash netstat -s ``` -#### Medidas de mitigación -1. Aumentar el número de agentes de escucha de NetFlow +#### Mitigation steps +1. Increase the Number of NetFlow Listeners - Aumente el número de agentes de escucha de NetFlow utilizando una configuración similar a la siguiente: - Datadog recomienda ajustar el número de workers al número de núcleos de CPU del sistema: + Increase the number of NetFlow listeners by using a configuration similar to the following: + Datadog recommends setting the number of workers to match the number of CPU cores in your system: ```yaml netflow: @@ -269,25 +338,25 @@ Utiliza el comando `netstat -s` para ver si hay algún paquete UDP perdido: workers: 4 # 4 CPUs ``` -2. Aumentar la longitud de la cola UDP (sólo Linux) +2. Aumentar la longitud de la cola UDP (solo Linux) - Ajustar la longitud de la cola UDP de tu sistema puede ayudar a acomodar el mayor volumen de paquetes de NetFlow. Aumenta el tamaño del buffer de recepción UDP a 25 MB ejecutando los siguientes comandos: + Ajustar la longitud de la cola UDP de su sistema puede ayudar a acomodar el mayor volumen de paquetes NetFlow. Aumente el tamaño del búfer de recepción UDP a 25 MB ejecutando los siguientes comandos: ```bash sudo sysctl -w net.core.rmem_max=26214400 sudo sysctl -w net.core.rmem_default=26214400 ``` -3. Persistencia de la configuración (sólo Linux) +3. Persistiendo la configuración (solo Linux) - Para que estos cambios sean permanentes, añade las siguientes líneas a tu archivo `/etc/sysctl.conf`: + Para hacer estos cambios permanentes, agregue las siguientes líneas a su archivo `/etc/sysctl.conf`: ```bash net.core.rmem_max=26214400 net.core.rmem_default=26214400 ``` -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -299,4 +368,5 @@ Utiliza el comando `netstat -s` para ver si hay algún paquete UDP perdido: [6]: /es/monitors/types/netflow/ [7]: https://github.com/DataDog/datadog-agent/blob/f6ae461a7d22aaf398de5a94d9330694d69560d6/pkg/config/config_template.yaml#L4201 [8]: https://github.com/DataDog/datadog-agent/blob/f6ae461a7d22aaf398de5a94d9330694d69560d6/pkg/config/config_template.yaml#L4203-L4275 -[9]: /es/network_monitoring/devices/troubleshooting#traps-or-flows-not-being-received-at-all \ No newline at end of file +[9]: /es/network_monitoring/devices/troubleshooting#traps-or-flows-not-being-received-at-all +[10]: https://app.datadoghq.com/devices/settings/enrichment/ip \ No newline at end of file diff --git a/content/es/network_monitoring/network_path/setup.md b/content/es/network_monitoring/network_path/setup.md index 5e88814189d..f9ca1b6df54 100644 --- a/content/es/network_monitoring/network_path/setup.md +++ b/content/es/network_monitoring/network_path/setup.md @@ -1,47 +1,55 @@ --- -description: Configuración de Network Path +description: Configurando Network Path further_reading: -- link: /network_monitoring/network_path/list_view - tag: Documentación - text: Más información sobre la vista de lista en Network Path -- link: /network_monitoring/network_path/path_view - tag: Documentación - text: Más información sobre la Vista de ruta en la Ruta de red +- link: https://www.datadoghq.com/blog/datadog-network-path-monitoring/ + tag: Blog + text: Obtenga visibilidad de red de extremo a extremo con Network Path y el seguimiento + de SD-WAN +- link: /network_monitoring/cloud_network_monitoring/guide/detecting_application_availability/ + tag: Guía + text: Detectando la disponibilidad de aplicaciones usando Network Insights +- link: /network_monitoring/network_path/guide/traceroute_variants/ + tag: Guía + text: Variantes de traceroute de Network Path is_beta: true -title: Ajustes +title: Configuración --- +## Descripción general {#overview} -
Network Path para Datadog Cloud Network Monitoring tiene disponibilidad limitada. Ponte en contacto con tu representante de Datadog para inscribirte y, a continuación, utiliza las siguientes instrucciones para configurar el Datadog Agent para recopilar datos de Network Path.
+Configurar Network Path implica configurar su entorno para monitorear y rastrear las rutas de red entre sus servicios y puntos de conexión. Esto ayuda a identificar cuellos de botella, problemas de latencia y posibles puntos de falla en su infraestructura de red. Network Path le permite configurar manualmente rutas de red individuales, descubrirlas automáticamente o usar ambos métodos simultáneamente, dependiendo de sus necesidades. -## Información general +**Nota**: Si su configuración de red restringe el tráfico saliente, sigue las instrucciones de configuración en la documentación de [Configuración del proxy del Agent][2]. -Configurar Network Path implica configurar tu entorno Linux para monitorizar y rastrear las rutas de red entre tus servicios y los endpoints. Esto ayuda a identificar cuellos de botella, problemas de latencia y posibles puntos de fallo en tu infraestructura de red. Network Path te permite configurar manualmente de rutas red individuales o detectarlas automáticamente, dependiendo de tus necesidades. +## Configuración {#setup} -## Requisitos previos +
Esta página cubre la configuración de Network Path para la configuración basada en Agent en Network Monitoring. Para crear pruebas de Network Path en Synthetic Monitoring, consulte Pruebas de Network Path en Synthetic Monitoring.
-[CNM][1] debe estar activado. +Datadog proporciona dos métodos de recolección basados en Agent. Puede usar cualquiera de los métodos por sí solo o combinarlos ambos: -**Nota**: Si tu configuración de red restringe el tráfico saliente, sigue las instrucciones de configuración en la documentación de [configuración del proxy del Agent][2]. +| Método | Cuándo usar | +|--------|-------------| +| **[Pruebas programadas ](#scheduled-tests)** | Monitorice pares específicos de fuente-destino que defina en la configuración del Agent. Mejor para rastrear un conjunto conocido de puntos de conexión, como APIs críticas o servicios de socios. | +| **[Pruebas dinámicas](#dynamic-tests)** | Descubre y monitorea automáticamente rutas basadas en el tráfico observado por [Cloud Network Monitoring][1]. Mejor para una visibilidad amplia sin listar manualmente cada destino. | -## Configuración +### Pruebas programadas {#scheduled-tests} -### Monitorizar rutas individuales +Puede monitorear rutas específicas de Network Path definiéndolas en el archivo de configuración del Agent ubicado en `/etc/datadog-agent/conf.d/network_path.d/conf.yaml`. + +Para comenzar, copie la [configuración de ejemplo][5], elimine la extensión `.example` y actualícela con la configuración deseada, o utilice una de las configuraciones específicas del entorno a continuación. Para optimización del rendimiento en entornos grandes, consulte [aumentar el número de trabajadores](#increase-the-number-of-workers). {{< tabs >}} {{% tab "Linux" %}} Se requiere el Agent `v7.59+`. -Configura manualmente rutas individuales especificando el endpoint exacto que quieres probar. Esto te permite apuntar a rutas de red específicas para la monitorización. - -1. Habilita el módulo `system-probe` traceroute en `/etc/datadog-agent/system-probe.yaml` añadiendo lo siguiente: +1. Habilite el módulo `system-probe` traceroute en `/etc/datadog-agent/system-probe.yaml` agregando lo siguiente: ``` traceroute: enabled: true ``` -2. Habilita `network_path` para monitorizar nuevos destinos desde este Agent, creando o editando el archivo `/etc/datadog-agent/conf.d/network_path.d/conf.yaml`: +2. Habilite `network_path` para monitorear nuevos destinos desde este Agent creando o editando el archivo `/etc/datadog-agent/conf.d/network_path.d/conf.yaml`: ```yaml init_config: @@ -56,9 +64,13 @@ Configura manualmente rutas individuales especificando el endpoint exacto que qu tags: - "tag_key:tag_value" - "tag_key2:tag_value2" + min_collection_interval: 120 # set min_collection_interval at the instance level ## optional configs: - # max_ttl: 30 # max traderoute TTL, default is 30 + # max_ttl: 30 # max traceroute TTL, default is 30 # timeout: 1000 # timeout in milliseconds per hop, default is 1s + # tcp_method: syn # TCP probing method, default is syn, options: syn, sack, prefer_sack + # traceroute_queries: 3 # number of traceroutes to send per check run, default is 3 + # e2e_queries: 50 # number of end-to-end probes to send per check run, default is 50 # more endpoints - hostname: 1.1.1.1 # endpoint hostname or IP @@ -66,90 +78,110 @@ Configura manualmente rutas individuales especificando el endpoint exacto que qu tags: - "tag_key:tag_value" - "tag_key2:tag_value2" + ``` - Para ver todos los detalles de configuración, consulta el [ejemplo de configuración][4] o utiliza lo siguiente: +3. Reinicie el Agent después de realizar estos cambios de configuración para comenzar a ver las rutas de red. + +{{% /tab %}} +{{% tab "macOS" %}} + +Se requiere el Agent `v7.75+`. + +1. Habilite el módulo `system-probe` traceroute en `/opt/datadog-agent/etc/system-probe.yaml` agregando lo siguiente: + + ``` + traceroute: + enabled: true + ``` + +2. Habilite `network_path` para monitorear nuevos destinos desde este Agent creando o editando el archivo `/opt/datadog-agent/etc/conf.d/network_path.d/conf.yaml`: ```yaml init_config: - ## @param min_collection_interval - int - optional - default:60 - ## Interval between each traceroute runs for each destination. - # min_collection_interval: - + min_collection_interval: 60 # in seconds, default 60 seconds instances: - ## @param hostname - string - required - ## Hostname or IP of the destination endpoint to monitor. - ## Traceroute will be run against this endpoint with a sequence of different TTL. - # - - hostname: - - ## @param port - integer - optional - default: - ## The port of the destination endpoint. - ## For UDP, we do not recommend setting the port since it can make probes less reliable. - ## By default, the port is random. - # - # port: - - ## @param max_ttl - integer - optional - default:30 - ## The maximum traceroute TTL used during path collection. - # - # max_ttl: 30 - - ## @param timeout - integer - optional - default:1000 - ## Specifies how much time in milliseconds the traceroute should - ## wait for a response from each hop before timing out. - # - # timeout: 1000 - - ## @param min_collection_interval - integer - optional - default:60 - ## Interval between each traceroute runs for each destination. - # min_collection_interval: - ## @param source_service - string - optional - ## Source service name. - # - # source_service: - - ## @param destination_service - string - optional - ## Destination service name. - # - # destination_service: - - ## @param tags - list of strings - optional - ## A list of tags to attach to every metric and service check emitted by this instance. - ## - ## Learn more about tagging at https://docs.datadoghq.com/tagging - # - # tags: - # - : - # - : - ``` + # configure the endpoints you want to monitor, one check instance per endpoint + # warning: Do not set the port when using UDP. Setting the port when using UDP can cause traceroute calls to fail and falsely report an unreachable destination. -3. Para empezar a ver las rutas de red, reinicia el Agent después de realizar estos cambios de configuración. + - hostname: api.datadoghq.eu # endpoint hostname or IP + protocol: TCP + port: 443 + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + min_collection_interval: 120 # set min_collection_interval at the instance level + ## optional configs: + # max_ttl: 30 # max traceroute TTL, default is 30 + # timeout: 1000 # timeout in milliseconds per hop, default is 1s + # tcp_method: syn # TCP probing method, default is syn, options: syn, sack, prefer_sack + # traceroute_queries: 3 # number of traceroutes to send per check run, default is 3 + # e2e_queries: 50 # number of end-to-end probes to send per check run, default is 50 + + # more endpoints + - hostname: 1.1.1.1 # endpoint hostname or IP + protocol: UDP + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" -[4]: https://github.com/DataDog/datadog-agent/blob/main/cmd/agent/dist/conf.d/network_path.d/conf.yaml.example + ``` + +3. Reinicie el Agent después de realizar estos cambios de configuración para comenzar a ver las rutas de red. {{% /tab %}} {{% tab "Windows" %}} -Se requiere el Agent `v7.61+`. +Se requiere el Agent `v7.72+`. + +1. Habilite el módulo `system-probe` traceroute en `%ProgramData%\Datadog\system-probe.yaml` agregando lo siguiente: + + ``` + traceroute: + enabled: true + ``` -**Nota**: Windows sólo admite traceroutes TCP. +2. Habilite `network_path` para monitorear nuevos destinos desde este Agent creando o editando el archivo `%ProgramData%\Datadog\conf.d\network_path.d\conf.yaml`: -En entornos Windows, el Agent utiliza UDP por defecto para monitorizar rutas individuales. Si no se especifica el protocolo en la configuración, el Agent intenta un traceroute UDP y se registran todos los errores. Para evitarlo, asegúrate de que el protocolo está configurado como TCP. Por ejemplo: + ```yaml + init_config: + min_collection_interval: 60 # in seconds, default 60 seconds + instances: + # configure the endpoints you want to monitor, one check instance per endpoint + # warning: Do not set the port when using UDP. Setting the port when using UDP can cause traceroute calls to fail and falsely report an unreachable destination. + + - hostname: api.datadoghq.eu # endpoint hostname or IP + protocol: TCP + port: 443 + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + min_collection_interval: 120 # set min_collection_interval at the instance level + ## optional configs: + # max_ttl: 30 # max traceroute TTL, default is 30 + # timeout: 1000 # timeout in milliseconds per hop, default is 1s + # tcp_method: syn # TCP probing method, default is syn, options: syn, sack, prefer_sack, syn_socket (Windows only) + # traceroute_queries: 3 # number of traceroutes to send per check run, default is 3 + # e2e_queries: 50 # number of end-to-end probes to send per check run, default is 50 + + # more endpoints + - hostname: 1.1.1.1 # endpoint hostname or IP + protocol: TCP + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + ``` + + 3. Reinicie el Agent después de realizar estos cambios de configuración para comenzar a ver las rutas de red. -```yaml -init_config: - min_collection_interval: 60 # in seconds, default 60 seconds -instances: - - hostname: api.datadoghq.eu # endpoint hostname or IP - protocol: TCP - port: 443 # optional port number, default is 80 -``` {{% /tab %}} {{% tab "Helm" %}} -Para habilitar Network Path con Kubernetes utilizando Helm, añade lo siguiente a tu archivo `values.yaml`.
-**Nota:** **Se requiere** Helm chart v3.109.1 o posterior. Para obtener más información, consulta la [documentación de Helm Chart de Datadog][1] y la documentación de [Kubernetes e integraciones][2]. +Se requiere el Agent `v7.59+`. + +
Se requiere Helm chart v3.109.1+. Para más información, consulte la documentación de Datadog Helm Chart y la documentación para Kubernetes e Integrations.
+ +Para habilitar Network Path con Kubernetes usando Helm, agregue lo siguiente a su `values.yaml` archivo. ```yaml datadog: @@ -169,9 +201,13 @@ Para habilitar Network Path con Kubernetes utilizando Helm, añade lo siguiente tags: - "tag_key:tag_value" - "tag_key2:tag_value2" + min_collection_interval: 120 # set min_collection_interval at the instance level ## optional configs: - # max_ttl: 30 # max traderoute TTL, default is 30 + # max_ttl: 30 # max traceroute TTL, default is 30 # timeout: 1000 # timeout in milliseconds per hop, default is 1s + # tcp_method: syn # TCP probing method, default is syn, options: syn, sack, prefer_sack + # traceroute_queries: 3 # number of traceroutes to send per check run, default is 3 + # e2e_queries: 50 # number of end-to-end probes to send per check run, default is 50 # more endpoints - hostname: 1.1.1.1 # endpoint hostname or IP @@ -179,37 +215,111 @@ Para habilitar Network Path con Kubernetes utilizando Helm, añade lo siguiente tags: - "tag_key:tag_value" - "tag_key2:tag_value2" + ``` -Se requiere el Agent `v7.59+`. +{{% /tab %}} +{{% tab "Autodiscovery (Kubernetes)" %}} +Datadog Autodiscovery allows you to enable Network Path on a per-service basis through Kubernetes annotations. + +
Helm chart v3.109.1+ is required. For more information, see the Datadog Helm Chart documentation.
+1. Enable the traceroute module in the Datadog `values.yaml` file, which the Network Path integration depends on. + + ```yaml + datadog: + traceroute: + enabled: true + +2. After the module is enabled, Datadog automatically detects Network Path annotations added to your Kubernetes pod. For more information, see [Kubernetes and Integrations][2]. + + ```yaml + apiVersion: v1 + kind: Pod + # (...) + metadata: + name: '' + annotations: + ad.datadoghq.com/.checks: | + { + "network_path": { + "init_config": { + "min_collection_interval": 300 + }, + "instances": [ + { + "protocol": "TCP", + "port": 443, + "source_service": "", + "tags": [ + "tag_key:tag_value", + "tag_key2:tag_value2" + ], + "hostname": "api.datadoghq.eu" + }, + { + "protocol": "UDP", + "source_service": "", + "tags": [ + "tag_key:tag_value", + "tag_key2:tag_value2" + ], + "hostname": "1.1.1.1" + }, + ] + } + } + # (...) + spec: + containers: + - name: '' + # (...) + ``` + If you define pods indirectly (with deployments, ReplicaSets, or ReplicationControllers), add pod annotations under `spec.template.metadata`. [1]: https://github.com/DataDog/helm-charts/blob/master/charts/datadog/README.md#enabling-system-probe-collection -[2]: https://docs.datadoghq.com/es/containers/kubernetes/integrations/?tab=helm#configuration +[2]: https://docs.datadoghq.com/es/containers/kubernetes/integrations/?tab=annotations#configuration + {{% /tab %}} {{< /tabs >}} -### Rutas de tráfico de red (experimental) +#### Increase the number of workers -**Nota**: Las rutas de tráfico de red son experimentales y aún no son estables. No despliegues rutas de tráfico de red ampliamente en un entorno de producción. +Network Path monitoring for individual paths runs as an Agent Integration. The number of concurrent workers is controlled by the `check_runners` setting in the `datadog.yaml` file. -Configura rutas de tráfico de red para permitir que el Agent detecte automáticamente y monitorice rutas de red basadas en el tráfico de red real, sin necesidad de especificar los endpoints manualmente. +To increase the number of workers, add the following configuration to your `datadog.yaml` file: -
Habilitar Network Path para detectar automáticamente rutas puede generar una cantidad importante de logs, especialmente cuando se monitorizan rutas de red en un gran número de hosts.
+```yaml +## @param check_runners - integer - optional - default: 4 +## @env DD_CHECK_RUNNERS - integer - optional - default: 4 +## The `check_runners` refers to the number of concurrent check runners available for check instance execution. +## The scheduler attempts to spread the instances over the collection interval and will _at most_ be +## running the number of check runners instances concurrently. +## +## The level of concurrency has effects on the Agent's: RSS memory, CPU load, resource contention overhead, etc. +# +check_runners: +``` + +### Dynamic tests + +**Prerequisites**: [CNM][1] must be enabled. + +Configure dynamic tests to allow the Agent to automatically discover and monitor network paths based on actual network traffic, eliminating the need to manually configure individual endpoints. See [filter syntax](#filter-syntax) to include/exclude domain or IPs. {{< tabs >}} {{% tab "Linux" %}} -Se requiere el Agent `v7.59+`. +Se requiere el Agent `v7.73+`. -1. Habilita el módulo `system-probe` traceroute en `/etc/datadog-agent/system-probe.yaml` añadiendo lo siguiente: +1. Habilite el módulo `system-probe` traceroute en `/etc/datadog-agent/system-probe.yaml` agregando lo siguiente: ```yaml traceroute: enabled: true ``` -2. Habilita `network_path` para monitorizar conexiones CNM, creando o editando el archivo `/etc/datadog-agent/datadog.yaml`: +2. Habilite `network_path` para monitorear CNM connections creando o editando el archivo `/etc/datadog-agent/datadog.yaml`: ```yaml network_path: @@ -219,7 +329,7 @@ Se requiere el Agent `v7.59+`. # workers: # default 4 ``` - Para ver todos los detalles de configuración, consulta el [ejemplo de configuración][3] o utiliza lo siguiente: + For full configuration details, reference the [example config][3], or use the following: ```yaml network_path: @@ -234,25 +344,49 @@ Se requiere el Agent `v7.59+`. ## Recommendation: leave at default # # workers: # default 4 + + #@env DD_NETWORK_PATH_COLLECTOR_PATHTEST_INTERVAL - integer - optional - default: 10m + # The `pathtest_interval` refers to the traceroute run interval for monitored connections. + # pathtest_interval: 10m + + # @param pathtest_ttl - integer - optional - default: 35m + # @env DD_NETWORK_PATH_COLLECTOR_PATHTEST_TTL - integer - optional - default: 35m + # The `pathtest_ttl` refers to the duration (time-to-live) a connection will be monitored when it's not seen anymore. + # The TTL is reset each time the connection is seen again. + # pathtest_ttl: 35m + + ## @param filters - list - optional + ## Include or exclude specific domains or IP ranges from dynamic monitoring. + ## Filters are applied sequentially, with later filters taking precedence. + ## See the "Filter syntax" section for details and examples: https://docs.datadoghq.com/network_monitoring/network_path/setup/#filter-syntax + # + # filters: + # - match_domain: '*.example.com' + # type: exclude + # - match_ip: 10.0.0.0/8 + # type: exclude + # - match_domain: 'api.datadoghq.com' + # type: include + ``` -3. Para empezar a ver las rutas de red, reinicia el Agent después de realizar estos cambios de configuración. +3. Reinicie el Agent después de realizar estos cambios de configuración para comenzar a ver las rutas de red. [3]: https://github.com/DataDog/datadog-agent/blob/2c8d60b901f81768f44a798444af43ae8d338843/pkg/config/config_template.yaml#L1731 {{% /tab %}} {{% tab "Windows" %}} -Se requiere el Agent `v7.61+`. +Se requiere el Agent `v7.73+`. -1. Habilita el módulo `system-probe` traceroute en `%ProgramData%\Datadog\system-probe.yaml` añadiendo lo siguiente: +1. Habilite el módulo `system-probe` traceroute en `%ProgramData%\Datadog\system-probe.yaml` agregando lo siguiente: ```yaml traceroute: enabled: true ``` -2. Habilita `network_path` para monitorizar conexiones CNM, creando o editando el archivo `%ProgramData%\Datadog\datadog.yaml`: +2. Habilite `network_path` para monitorear CNM connections creando o editando el archivo `%ProgramData%\Datadog\datadog.yaml`: ```yaml network_path: @@ -262,7 +396,7 @@ Se requiere el Agent `v7.61+`. # workers: # default 4 ``` - Para ver todos los detalles de configuración, consulta el [ejemplo de configuración][3] o utiliza lo siguiente: + For full configuration details, reference the [example config][3], or use the following: ```yaml network_path: @@ -277,18 +411,213 @@ Se requiere el Agent `v7.61+`. ## Recommendation: leave at default # # workers: # default 4 + + #@env DD_NETWORK_PATH_COLLECTOR_PATHTEST_INTERVAL - integer - optional - default: 10m + # The `pathtest_interval` refers to the traceroute run interval for monitored connections. + # pathtest_interval: 10m + + # @param pathtest_ttl - integer - optional - default: 35m + # @env DD_NETWORK_PATH_COLLECTOR_PATHTEST_TTL - integer - optional - default: 35m + # The `pathtest_ttl` refers to the duration (time-to-live) a connection will be monitored when it's not seen anymore. + # The TTL is reset each time the connection is seen again. + # pathtest_ttl: 35m + + ## @param filters - list - optional + ## Include or exclude specific domains or IP ranges from dynamic monitoring. + ## Filters are applied sequentially, with later filters taking precedence. + ## See the "Filter syntax" section for details and examples: https://docs.datadoghq.com/network_monitoring/network_path/setup/#filter-syntax + # + # filters: + # - match_domain: '*.example.com' + # type: exclude + # - match_ip: 10.0.0.0/8 + # type: exclude + # - match_domain: 'api.datadoghq.com' + # type: include ``` -3. Para empezar a ver las rutas de red, reinicia el Agent después de realizar estos cambios de configuración. +3. Reinicie el Agent después de realizar estos cambios de configuración para comenzar a ver las rutas de red. [3]: https://github.com/DataDog/datadog-agent/blob/2c8d60b901f81768f44a798444af43ae8d338843/pkg/config/config_template.yaml#L1731 +{{% /tab %}} +{{% tab "Helm" %}} + +Se requiere el Agent `v7.73+`. + +Para habilitar Network Path con Kubernetes usando Helm, agregue lo siguiente a su `values.yaml` archivo. +**Nota:** Se requiere Helm chart v3.124.0+. Para más información, consulte la [documentación de Datadog Helm Chart][1] y la documentación para [Kubernetes e Integrations][2]. + +```yaml +datadog: + networkPath: + connectionsMonitoring: + enabled: true + ## Set to true to enable the Traceroute Module of the System Probe + traceroute: + enabled: true + + ## @param collector - custom object - optional + ## Configuration related to Network Path Collector. + # + collector: + ## @param workers - integer - optional - default: 4 + ## @env DD_WORKERS - integer - optional - default: 4 + ## The `workers` refers to the number of concurrent workers available for network path execution. + # + # workers: 4 + + ## @param pathtest_interval - integer - optional - default: 35m + ## @env DD_NETWORK_PATH_COLLECTOR_PATHTEST_INTERVAL - integer - optional - default: 30m + ## The `pathtest_interval` refers to the traceroute run interval for monitored connections. + # + # pathtest_interval: 30m + + ## @param pathtest_ttl - integer - optional - default: 35m + ## @env DD_NETWORK_PATH_COLLECTOR_PATHTEST_TTL - integer - optional - default: 35m + ## The `pathtest_ttl` refers to the duration (time-to-live) a connection will be monitored when it's not seen anymore. + ## The TTL is reset each time the connection is seen again. + # + # pathtest_ttl: 35m + + ## @param filters - list - optional + ## Include or exclude specific domains or IP ranges from dynamic monitoring. + ## Filters are applied sequentially, with later filters taking precedence. + ## See the "Filter syntax" section for details and examples: https://docs.datadoghq.com/network_monitoring/network_path/setup/#filter-syntax + # + # filters: + # - match_domain: '*.example.com' + # type: exclude + # - match_ip: 10.0.0.0/8 + # type: exclude + # - match_domain: 'api.datadoghq.com' + # type: include + +``` +[1]: https://github.com/DataDog/helm-charts/blob/main/charts/datadog/README.md +[2]: https://docs.datadoghq.com/es/containers/kubernetes/integrations/?tab=helm#configuration + + {{% /tab %}} {{< /tabs >}} -## Referencias adicionales +#### Sintaxis de filtro {#filter-syntax} + +Configure filtros para incluir o excluir dominios e IPs, permitiéndole: + +- Reducir la sobrecarga de monitoreo para redes internas +- Enfocar en patrones de tráfico externos +- Excluir rangos de infraestructura conocidos que no requieren monitoreo + +Para incluir o excluir dominios específicos o rangos de IP de pruebas dinámicas, agregue lo siguiente a su `/etc/datadog-agent/datadog.yaml` archivo: + +```yaml +network_path: + connections_monitoring: + enabled: true + collector: + filters: + # exclude single domain + - match_domain: 'api.slack.com' + type: exclude + + # exclude domain using `*` wildcard + - match_domain: '*.datadoghq.com' # this translates to regex '.*\.datadoghq\.com + type: exclude + - match_domain: '*.zoom.us' + match_domain_strategy: wildcard # use simple wildcard matching (wildcard matching is the default) + type: exclude + + # exclude single IP or using CIDR notation + - match_ip: 10.10.10.10 + type: exclude + - match_ip: 10.20.0.0/24 + type: exclude + + # exclude using regex + - match_domain: '.*\.zoom\.us' + match_domain_strategy: regex # use regex matching strategy + type: exclude + + # include + - match_domain: 'api.datadoghq.com' + type: include +``` + +**Nota**: +Los filtros se aplican secuencialmente, con los filtros posteriores teniendo prioridad sobre los anteriores. + +Por ejemplo, todos los dominios que coincidan con `*.datadoghq.com` son ignorados, excepto `api.datadoghq.com`. + +```yaml +network_path: + collector: + filters: + - match_domain: '*.datadoghq.com' + type: exclude + - match_domain: 'api.datadoghq.com' + type: include +``` + +### Resolución de IP pública de origen {#source-public-ip-resolution} + +
Source public IP resolution is available in Agent v7.75+.
+ +La Ruta de Red resuelve la dirección IP pública del servidor de origen para proporcionar una visualización precisa del camino para el tráfico destinado a Internet. El Agente contacta servicios externos de verificación de IP a través de HTTPS para determinar la IP pública del servidor. + +Esta función **no es necesaria** para que Network Path funcione. Si estos servicios no son accesibles, Network Path continúa operando normalmente, pero la IP pública de origen no se resuelve y las visualizaciones de ruta no muestran los metadatos de la IP de origen. + +Si su red restringe el tráfico saliente y desea la resolución de la IP pública de origen, agregue las siguientes URL a la lista de permitidos de su firewall: + +| URL | Proveedor | +|-----|----------| +| `https://icanhazip.com` | Cloudflare | +| `https://ipinfo.io/ip` | IPinfo | +| `https://checkip.amazonaws.com` | Amazon | +| `https://api.ipify.org` | ipify | +| `https://whatismyip.akamai.com` | Akamai | + +El Agent intenta cada servicio en orden y utiliza la primera respuesta exitosa. Todas las solicitudes se realizan a través de HTTPS (puerto 443). + +## Solución de problemas {#troubleshooting} + +Utilice las siguientes pautas para solucionar problemas con Network Path. Si necesita ayuda adicional, contacte a [Soporte de Datadog][3]. + +### No hay datos de Network Path en la interfaz de usuario {#no-network-path-data-in-the-ui} + +Si no aparece ningún dato en la interfaz de usuario de [Network Path][4], es posible que la función no esté completamente habilitada. Network Path requiere lo siguiente: + +1. El módulo de traceroute debe estar habilitado en su `system-probe.yaml` archivo: + + ```yaml + traceroute: + enabled: true + ``` + +2. Al menos una función de Network Path debe estar activa, como por ejemplo: + + - [Rutas individuales](#monitor-individual-paths) configuradas a través del archivo `conf.d/network_path.d`. + - Rutas de tráfico de [red experimentales](#network-traffic-paths-experimental) configuradas al habilitar tanto `network_path.connections_monitoring` como [Cloud Network Monitoring][1](CNM). + +### Error: código de estado: 404 {#error-status-code-404} + +Si encuentra un error como el siguiente: + + ```text + Error: failed to trace path: traceroute request failed: Probe Path , url: , status code: 404 + ``` + + - Esto indica que el módulo de traceroute no está habilitado. Asegúrese de que el módulo de traceroute esté habilitado en su `system-probe.yaml` archivo. + + + +## Lectura Adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: /es/network_monitoring/cloud_network_monitoring/setup/ -[2]: https://docs.datadoghq.com/es/agent/configuration/proxy/?tab=linux \ No newline at end of file +[2]: https://docs.datadoghq.com/es/agent/configuration/proxy/?tab=linux +[3]: /es/help +[4]: https://app.datadoghq.com/network/path +[5]: https://github.com/DataDog/datadog-agent/blob/main/cmd/agent/dist/conf.d/network_path.d/conf.yaml.example +[15]: /es/synthetics/network_path_tests/ \ No newline at end of file diff --git a/content/es/profiler/enabling/_index.mdoc.md b/content/es/profiler/enabling/_index.mdoc.md new file mode 100644 index 00000000000..b4aa5c2f910 --- /dev/null +++ b/content/es/profiler/enabling/_index.mdoc.md @@ -0,0 +1,89 @@ +--- +aliases: +- /es/tracing/faq/profiling_migration/ +- /es/tracing/profiler/enabling/ +- /es/tracing/profiler/enabling/java/ +- /es/tracing/profiler/enabling/python/ +- /es/tracing/profiler/enabling/go/ +- /es/tracing/profiler/enabling/ruby/ +- /es/tracing/profiler/enabling/nodejs/ +- /es/tracing/profiler/enabling/dotnet/ +- /es/tracing/profiler/enabling/php/ +- /es/profiler/enabling/java/ +- /es/profiler/enabling/python/ +- /es/profiler/enabling/go/ +- /es/profiler/enabling/ruby/ +- /es/profiler/enabling/nodejs/ +- /es/profiler/enabling/dotnet/ +- /es/profiler/enabling/php/ +- /es/profiler/enabling/graalvm/ +- /es/tracing/profiler/enabling/linux/ +- /es/tracing/profiler/enabling/ddprof/ +- /es/profiler/enabling/ddprof/ +content_filters: +- label: Language + option_group_id: profiler_language_options + trait_id: prog_lang +- label: Runtime + option_group_id: java_profiler_runtime_options + show_if: + - prog_lang: + - java + trait_id: runtime +further_reading: +- link: getting_started/profiler + tag: Documentación + text: Introducción al Profiler +- link: profiler/profile_visualizations + tag: Documentación + text: Aprende más sobre las visualizaciones de perfil disponibles +- link: profiler/profiler_troubleshooting + tag: Documentación + text: Solucione los problemas que encuentre al usar el Profiler +title: Habilitando el Profiler +--- + +{% if equals($prog_lang, "java") %} +{% partial file="profiler/enabling/java.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "python") %} +{% partial file="profiler/enabling/python.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "go") %} +{% partial file="profiler/enabling/go.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "ruby") %} +{% partial file="profiler/enabling/ruby.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "node_js") %} +{% partial file="profiler/enabling/nodejs.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "dot_net") %} +{% partial file="profiler/enabling/dotnet.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "php") %} +{% partial file="profiler/enabling/php.mdoc.md" /%} +{% /if %} + + +{% if includes($prog_lang, ["c", "cpp", "rust"]) %} +{% partial file="profiler/enabling/ddprof.mdoc.md" /%} +{% /if %} + +## ¿No está seguro de qué hacer a continuación? {% #not-sure-what-to-do-next %} + +La guía [Introducción al Profiler][1] toma un servicio de muestra con un problema de rendimiento y le muestra cómo usar Continuous Profiler para entender y solucionar el problema. + +[1]: /es/getting_started/profiler/ \ No newline at end of file diff --git a/content/es/real_user_monitoring/application_monitoring/browser/troubleshooting.mdoc.md b/content/es/real_user_monitoring/application_monitoring/browser/troubleshooting.mdoc.md new file mode 100644 index 00000000000..a38c8117ecc --- /dev/null +++ b/content/es/real_user_monitoring/application_monitoring/browser/troubleshooting.mdoc.md @@ -0,0 +1,15 @@ +--- +aliases: +- /es/real_user_monitoring/browser/troubleshooting/ +description: Soluciona problemas comunes con el SDK del navegador RUM, incluyendo + datos faltantes, bloqueadores de anuncios, restricciones de red y problemas de configuración. +further_reading: +- link: https://www.datadoghq.com/blog/real-user-monitoring-with-datadog/ + tag: Blog + text: RUM +- link: /integrations/content_security_policy_logs/ + tag: Documentación + text: Política de Seguridad de Contenidos +title: Solución de Problemas del SDK del Navegador +--- +{% partial file="sdk/troubleshooting/browser.mdoc.md" /%} \ No newline at end of file diff --git a/content/es/real_user_monitoring/rum_without_limits/_index.md b/content/es/real_user_monitoring/rum_without_limits/_index.md index d0bdebb081b..2a0a6dc55e5 100644 --- a/content/es/real_user_monitoring/rum_without_limits/_index.md +++ b/content/es/real_user_monitoring/rum_without_limits/_index.md @@ -1,60 +1,65 @@ --- -description: Conserva solo los datos RUM que necesites, manteniendo una visibilidad - total de las métricas de rendimiento para tus aplicaciones. +description: Mantenga solo los datos de RUM que necesita mientras mantiene plena visibilidad + de las métricas de rendimiento de sus aplicaciones. further_reading: - link: /real_user_monitoring/rum_without_limits/retention_filters tag: Documentación - text: Conservar datos con filtros de retención + text: Retener datos con filtros de retención - link: /real_user_monitoring/guide/retention_filter_best_practices/ tag: Guía - text: Mejores prácticas para los filtros de retención + text: Mejores prácticas de filtros de retención - link: /real_user_monitoring/rum_without_limits/metrics tag: Documentación - text: Analizar el rendimiento con métricas + text: Analice el rendimiento con métricas. +- link: /real_user_monitoring/rum_without_limits/retention_quotas + tag: Documentación + text: Controle los costos con cuotas de retención. - link: https://www.datadoghq.com/blog/rum-without-limits/ tag: Blog - text: 'Presentamos RUM without LimitsTM: captura todo, conserva lo que importa' + text: 'Presente RUM without Limits™: Capture todo, conserve lo que importa.' +- link: https://learn.datadoghq.com/courses/rum-retention-filters + tag: Centro de aprendizaje + text: 'Laboratorio interactivo: Filtros de retención de RUM' title: RUM without Limits --- +
RUM without Limits se habilita automáticamente para clientes con planes de RUM no comprometidos. Contacte a su equipo de cuentas o soporte de Datadog para habilitar esta función.
-
RUM without Limits se activa automáticamente para los clientes con planes de RUM no comprometidos. Ponte en contacto con tu equipo de cuentas o con el servicio de asistencia de Datadog para activar esta función.
- -{{< img src="real_user_monitoring/rum_without_limits/rum-without-limits-overview.png" alt="Página de panel lateral de las métricas de uso estimado" style="width:90%" >}} +{{< img src="real_user_monitoring/rum_without_limits/rum-without-limits-overview.png" alt="Detalles de métricas de uso estimadas en el panel lateral" style="width:90%" >}} -## Información general +## Resumen {#overview} -RUM without Limits te proporciona flexibilidad sobre tus volúmenes de sesiones RUM al desacoplar la ingesta de datos de sesión de la indexación. Esto te permite: +RUM without Limits le proporciona flexibilidad sobre los volúmenes de sus sesiones de RUM al desacoplar la ingestión de datos de sesión de la indexación. Esto le permite: -- Establecer filtros de retención dinámicamente desde la interfaz de usuario de Datadog sin tener que tomar decisiones de muestreo previas ni cambiar el código. -- Conservar las sesiones con errores o problemas de rendimiento y descartar las menos significativas, como las que tienen pocas interacciones con el usuario. +- Establezca dinámicamente filtros de retención desde la interfaz de usuario de Datadog sin decisiones de muestreo anticipadas o cambios de código +- Retenga sesiones con errores o problemas de rendimiento y descarte las menos significativas, como aquellas con pocas interacciones de usuario. -Aunque solo se conserve una fracción de las sesiones, Datadog proporciona [métricas de rendimiento][1] para todas las sesiones ingestadas. Esto garantiza una visión general precisa y a largo plazo del estado y el rendimiento de la aplicación, incluso si solo se conserva una fracción de los datos de sesión. +Incluso si retiene solo una fracción de sus sesiones, Datadog proporciona [métricas de rendimiento][1] para todas las sesiones ingeridas. Esto asegura una visión precisa y a largo plazo de la salud y el rendimiento de la aplicación, incluso si solo se retiene una fracción de los datos de sesión. -**Nota**: En el modo RUM without Limits, solo puedes utilizar los filtros predeterminados en la [página de Resumen de monitorización del rendimiento][7]. Esto te permite ver todo el conjunto de datos y evita métricas de rendimiento sesgadas, ya que los datos se muestrean y hay menos etiquetas disponibles que en los atributos de eventos. +**Nota**: En modo RUM sin límites, solo puedes usar filtros predeterminados en la [página de resumen de monitoreo de rendimiento][7]. Esto le permite ver todo el conjunto de datos y evita métricas de rendimiento sesgadas, ya que los datos son muestreados y hay menos etiquetas disponibles que en los atributos de evento. -Esta página identifica los componentes clave de RUM without Limits que pueden ayudarte a gestionar los volúmenes de tus sesiones RUM dentro de tu presupuesto de observabilidad. +Esta página identifica los componentes clave de RUM without Limits que pueden ayudarle a gestionar los volúmenes de sus sesiones de RUM dentro de su presupuesto de observabilidad. -### Para nuevas aplicaciones +### Para nuevas aplicaciones {#for-new-applications} -Para empezar a trabajar con RUM without Limits para nuevas aplicaciones, en el paso de [instrumentación][2]: +Para comenzar con RUM without Limits para nuevas aplicaciones, en el paso de [instrumentación][2]: -1. Asegúrate de que `sessionSampleRate` está configurado al 100%. Datadog recomienda configurarlo a este porcentaje para una visibilidad óptima y precisión de las métricas. +1. Asegúrese de que el `sessionSampleRate` esté configurado al 100%. Datadog recomienda configurarlo a esta tasa para una visibilidad óptima y precisión en las métricas. -2. Elige una `sessionReplaySampleRate` que satisfaga tus necesidades de observabilidad. +2. Elija un `sessionReplaySampleRate` que satisfaga sus necesidades de observabilidad. -3. Para aplicaciones con la integración [APM activada][3], configura el porcentaje de sesiones para las que deseas asegurarte de que las trazas de backend de APM se ingieren con `traceSampleRate` (navegador), `traceSampler` (Android) o `sampleRate` (iOS). +3. Para aplicaciones con la [integración APM habilitada][3], configure el porcentaje de sesiones para las cuales desea asegurarse de que las trazas de backend de APM sean ingeridas con `traceSampleRate` (navegador), `traceSampler` (Android) o `sampleRate` (iOS). -4. Habilita `traceContextInjection: sampled` para permitir que las bibliotecas de rastreo de backend tomen sus propias decisiones de muestreo para las sesiones en las que el SDK de RUM decida no conservar la traza. +4. Habilite `traceContextInjection: sampled` para permitir que los SDK de backend tomen sus propias decisiones de muestreo para las sesiones en las que el SDK de RUM decida no mantener la traza. -
Los pasos 1, 3 y 4 pueden afectar a la ingesta de trazas de APM. Para garantizar que los volúmenes ingestados de tramos permanezcan estables, configura traceSampleRate con el valor de sessionSampleRate configurado anteriormente. Por ejemplo, si solías tener configurado sessionSampleRate al 10 % y lo aumentas al 100 % para RUM without Limits, reduce traceSampleRate del 100 % al 10 % para ingerir la misma cantidad de trazas.
+
Los pasos 1, 3 y 4 pueden afectar la ingestión de sus trazas APM. Para asegurar que los volúmenes de span ingeridos permanezcan estables, configure el traceSampleRate al previamente configurado sessionSampleRate. Por ejemplo, si solía tener sessionSampleRate configurado al 10% y lo aumenta al 100% para RUM without Limits, disminuya el traceSampleRate del 100% al 10% en consecuencia para ingerir la misma cantidad de trazas.
-5. Despliega tu aplicación para aplicar la configuración. +5. Despliegue su aplicación para aplicar la configuración. -### Para aplicaciones existentes -Los usuarios existentes de RUM deben volver a desplegar las aplicaciones para utilizar plenamente RUM without Limits. Asegúrate de que la frecuencia de muestreo de la sesión es del 100 % para todas las aplicaciones. +### Para aplicaciones existentes {#for-existing-applications} +Los usuarios existentes de RUM deben volver a desplegar las aplicaciones para utilizar RUM without Limits. Asegúrese de que la tasa de muestreo de su sesión sea del 100% para todas las aplicaciones. -#### Paso 1: Ajustar la frecuencia de muestreo -Si ya estás recopilando repeticiones, para aumentar la frecuencia de muestreo de la sesión es necesario reducir la frecuencia de muestreo de las repeticiones para recopilar el mismo número de repeticiones (consulta el ejemplo siguiente). La frecuencia de muestreo de repetición se basa en la frecuencia de muestreo de sesión existente. +#### Paso 1: Ajuste las tasas de muestreo {#step-1-adjust-sampling-rates} +Si ya está recopilando repeticiones, aumentar la tasa de muestreo de la sesión requiere reducir la tasa de muestreo de repeticiones para recopilar el mismo número de repeticiones (ver ejemplo a continuación). La tasa de muestreo de repeticiones se basa en la tasa de muestreo de sesión existente. Antes: @@ -70,37 +75,37 @@ Después: sessionReplaySampleRate: 2, ``` -1. Ve a [**Digital Experiences > Real User Monitoring > Manage Applications**][4] (Experiencias digitales > Real User Monitoring > Gestionar aplicaciones). -1. Haz clic en la aplicación que deseas migrar. -1. Haz clic en la pestaña **SDK Configuration** (Configuración del SDK). -1. Asegúrate de que `sessionSampleRate` está ajustado al 100 %. -1. Establece `sessionReplaySampleRate` a una velocidad que resulte en el mismo número de repeticiones antes de aumentar la velocidad de muestreo de la sesión. -1. Utiliza el fragmento de código generado para actualizar tu código fuente y volver a desplegar tus aplicaciones para asegurarte de que se aplica la nueva configuración. +1. Navegue a [**Experiencias Digitales > Monitoreo de Usuarios Reales > Administrar Aplicaciones**][4]. +1. Haga clic en la aplicación que desea migrar. +1. Haga clic en la pestaña **Configuración del SDK**. +1. Asegúrese de que `sessionSampleRate` esté configurado al 100%. +1. Establezca `sessionReplaySampleRate` a una tasa que resulte en el mismo número de repeticiones antes de aumentar la tasa de muestreo de sesión. +1. Utilice el fragmento de código generado para actualizar su código fuente y volver a implementar sus aplicaciones para asegurarse de que se aplique la nueva configuración. -#### Paso 2: Ajustar el rastreo +#### Paso 2: Ajuste el rastreo {#step-2-adjust-tracing} -Si has aumentado `sessionSampleRate`, podrías aumentar el número de tramos de APM ingestados, ya que el SDK de RUM tiene la capacidad de anular las decisiones de muestreo de las trazas de backend para realizar la correlación. +Si ha aumentado `sessionSampleRate`, podría aumentar el número de spans de APM ingeridos, ya que el SDK de RUM tiene la capacidad de anular las decisiones de muestreo de los rastros de backend para hacer la correlación. -Para simplificar esto, establece `traceSampleRate` en un porcentaje inferior al 100 % (a la `sessionSampleRate` establecida anteriormente) y establece `traceContextInjection: sampled` para permitir que las bibliotecas de rastreo de backend tomen sus propias decisiones de muestreo para las sesiones en las que el SDK de RUM decida no mantener la traza. +Para aliviar esto, establezca `traceSampleRate` a un porcentaje por debajo del 100% (al `sessionSampleRate` previamente establecido) y establezca `traceContextInjection: sampled` para permitir que los SDK de backend tomen sus propias decisiones de muestreo para sesiones en las que el SDK de RUM decida no mantener la traza. -#### Paso 3: Crear filtros de retención +#### Paso 3: Cree filtros de retención {#step-3-create-retention-filters} -En las aplicaciones móviles, pueden convivir muchas versiones concurrentes. Sin embargo, las versiones existentes no envían necesariamente el 100 % de las sesiones, lo que significa que la creación de nuevos filtros de retención reduce los datos disponibles en Datadog para estas versiones de aplicaciones. +En aplicaciones móviles, muchas versiones concurrentes pueden coexistir. Sin embargo, las versiones existentes no envían necesariamente el 100% de las sesiones, lo que significa que crear nuevos filtros de retención reduce los datos disponibles en Datadog para estas versiones de la aplicación. -Datadog recomienda crear los mismos filtros de retención para todas las versiones de la aplicación, independientemente de si la tasa de muestreo del SDK está configurada al 100 % o no. En última instancia, todas las sesiones valiosas se siguen recopilando aunque algunas sesiones no se ingieran para algunas versiones antiguas. +Datadog recomienda crear los mismos filtros de retención para todas las versiones de la aplicación, independientemente de si la tasa de muestreo del SDK está configurada al 100% o no. En última instancia, todas las sesiones valiosas se recopilan incluso si algunas sesiones no se ingieren para algunas versiones anteriores. -Consulta los filtros de retención y casos de uso sugeridos en [Prácticas recomendadas del filtro de retención][5]. +Vea los filtros de retención sugeridos y los casos de uso en [Retention Filter Best Practices][5]. -## Siguientes pasos +## Próximos pasos {#next-steps} -Crea y configura [filtros de retención][6]. +Cree y configure [filtros de retención][6]. -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: /es/real_user_monitoring/rum_without_limits/metrics -[2]: /es/real_user_monitoring/browser/setup/ +[2]: /es/real_user_monitoring/application_monitoring/browser/setup/ [3]: /es/real_user_monitoring/platform/connect_rum_and_traces/ [4]: https://app.datadoghq.com/rum/list [5]: /es/real_user_monitoring/guide/retention_filter_best_practices/ diff --git a/content/es/reference_tables/_index.md b/content/es/reference_tables/_index.md index a570ce8b9f5..6b6347960c4 100644 --- a/content/es/reference_tables/_index.md +++ b/content/es/reference_tables/_index.md @@ -3,136 +3,135 @@ aliases: - /es/logs/guide/enrichment-tables/ - /es/logs/guide/reference-tables/ - /es/integrations/guide/reference-tables +description: Combina metadatos personalizados con datos de Datadog al subir archivos + CSV o conectar almacenamiento en la nube para enriquecer registros, datos de seguridad + y análisis. further_reading: - link: /logs/log_configuration/processors tag: Documentación - text: Uso del procesador de búsquedas para enriquecer logs a partir de una tabla - de referencia + text: Utiliza el procesador de búsqueda para enriquecer registros a partir de una + tabla de referencia - link: /logs/explorer/advanced_search#filter-logs-based-on-reference-tables tag: Documentación - text: Filtrar logs a partir de tablas de referencia + text: Filtra registros basados en tablas de referencia - link: /sheets/#lookup tag: Documentación - text: Consulta de hojas -- link: /service_management/events/pipelines_and_processors/lookup_processor/ + text: Búsqueda en Sheets +- link: /events/pipelines_and_processors/lookup_processor/ tag: Documentación - text: Procesador de búsqueda de eventos -- link: '/cloud_cost_management/tag_pipelines/#map-multiple-tags' + text: Procesador de búsqueda para Eventos +- link: /cloud_cost_management/tag_pipelines/#map-multiple-tags tag: Documentación - text: Uso de las tablas de referencia para añadir varias etiquetas (tags) a los - datos de costes + text: Utiliza tablas de referencia para agregar múltiples etiquetas a los datos + de costos +- link: /metrics/reference_table_joins_with_metrics/ + tag: Documentación + text: Aprende sobre uniones de tablas de referencia con métricas - link: https://www.datadoghq.com/blog/add-context-with-reference-tables/ tag: Blog - text: Añade más contexto a tus logs con tablas de referencia + text: Agregue más contexto a sus registros con tablas de referencia. - link: https://www.datadoghq.com/blog/reference-tables/ tag: Blog - text: Enriquecer tu telemetría existente en Datadog con metadatos personalizados - mediante tablas de referencia + text: Enriquezca su telemetría existente de Datadog con metadatos personalizados + utilizando tablas de referencia. - link: https://www.datadoghq.com/blog/add-context-with-reference-tables-in-cloud-siem/ tag: Blog - text: Añadir más contexto a las detecciones e investigaciones de Cloud SIEM con - las tablas de referencia de Datadog -title: Tablas de referencia + text: Agregue más contexto a las detecciones e investigaciones de Cloud SIEM con + tablas de referencia de Datadog. +- link: https://www.datadoghq.com/blog/observability-pipelines-servicenow-cmdb-enrichment + tag: Blog + text: Enriquezca los registros con contexto de CMDB de ServiceNow antes de enrutar + a cualquier herramienta de SIEM o de registro. +- link: https://www.datadoghq.com/blog/observability-pipelines-mssp + tag: Blog + text: Simplifique la recolección y agregación de registros para MSSPs con Observability + Pipelines de Datadog. +title: Tablas de Referencia --- +## Resumen {#overview} -## Información general - -Las tablas de referencia te permiten combinar metadatos personalizados con información ya existente en Datadog. Puedes definir nuevas entidades como detalles de clientes, nombres e información de servicios o direcciones IP cargando un archivo CSV que contenga una tabla de información. Las entidades están representadas por una clave primaria en una tabla de referencia y los metadatos asociados. - -{{< img src="reference_tables/reference-table.png" alt="Tabla de referencia con datos rellenados en las columnas de id de organización, nombre de organización, organización principal, propietario de cuenta y csm" style="width:100%;">}} - -Por ejemplo, podrás: - -- **Enriquecer los logs y los datos de seguridad para agilizar las investigaciones:** Correlaciona logs, trazas y eventos de seguridad con el contexto empresarial actualizado, como nombres de clientes, propietarios de cuentas, información sobre amenazas o descripciones de códigos de error, para acelerar la resolución de problemas y los análisis. -- **Agrupar usuarios y recursos para el análisis y la gestión de costes orientados:** Agrupa usuarios, clientes o recursos en la nube en segmentos significativos (como niveles de usuario, equipos o unidades de negocios) para un análisis de productos más profundos y una atribución de costes precisa utilizando herramientas como Tag Pipelines. -- **Mejorar los datos para realizar consultas e informes avanzados:** Une datos externos de Tablas de referencia en Hojas, Editor DDSQL o Espacios de trabajo de logs para realizar consultas complejas, agregaciones y crear informes personalizados sin conocimientos técnicos. +Las tablas de referencia le permiten combinar metadatos personalizados con la información ya existente en Datadog. Puede definir nuevas entidades, como detalles de clientes, nombres e información de servicios, o direcciones IP, al subir un archivo CSV que contenga una tabla de información. Las entidades están representadas por una clave primaria en una tabla de referencia y los metadatos asociados. -## Reglas de validación +{{< img src="reference_tables/reference_table.png" alt="Una tabla de referencia con datos poblados en las columnas para id de org, nombre de org, org padre, propietario de cuenta y csm" style="width:100%;">}} -Los nombres de las tablas de referencia y los encabezados de las columnas se validan utilizando las siguientes convenciones de nomenclatura y, si es necesario, se actualizan o normalizan automáticamente. +Por ejemplo, puede: -| Regla | Normalización | -| ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -| Los nombres y las cabeceras no pueden duplicarse. | Los nombres duplicados se enumeran. Por ejemplo, si `fileid` se utiliza dos veces como nombre, la primera instancia se convierte en `fileid1` y la segunda instancia en `fileid2`. Si se enumera un nombre o encabezado y supera los 56 caracteres, se rechaza y es necesario cambiar su nombre. | -| Los nombres y encabezados no pueden contener letras mayúsculas. | Los nombres con letras mayúsculas se convierten a minúsculas. Esta conversión puede dar lugar a nombres duplicados, que luego se enumeran. Por ejemplo, `Fileid` y `FileID` se convierten en `fileid` y se enumeran en `fileid1` y `fileid2` respectivamente. | -| Los nombres y los encabezados no pueden contener espacios. | Los espacios que no sean iniciales ni finales se sustituyen por caracteres de subrayado `_`. Se eliminan los espacios iniciales y finales. Por ejemplo, `customer names` se sustituye por `customer_names`. | -| Los nombres y los encabezados deben empezar por minúscula. | Los caracteres en mayúsculas se convierten a minúsculas. Se eliminan los caracteres iniciales que no sean letras. Por ejemplo, `23Two_three` se convierte en `two_three`. | -| Los nombres y los encabezados sólo admiten letras minúsculas, números y el carácter `_`. | Los caracteres no admitidos se sustituyen por el carácter de subrayado `_`, a menos que incumpla alguna de las reglas anteriores. En ese caso, los caracteres no admitidos se normalizan mediante la regla correspondiente. | -| Los nombres y los encabezados deben tener 56 caracteres o menos. | No se realiza ninguna normalización. Los nombres y los encabezados que tienen más de 56 caracteres se rechazan y es necesario cambiar sus nombres. | +- **Enriquecer registros y datos de seguridad para investigaciones más rápidas:** Correlacionar registros, trazas y eventos de seguridad con el contexto empresarial actualizado, como nombres de clientes, propietarios de cuentas, inteligencia de amenazas o descripciones de códigos de error, para agilizar la resolución de problemas y el análisis. +- **Segmentar usuarios y recursos para análisis y gestión de costos específicos:** Agrupar usuarios, clientes o recursos en la nube en segmentos significativos (como niveles de usuario, equipos o unidades de negocio) para un análisis más profundo del producto y una atribución de costos precisa utilizando herramientas como Tag Pipelines. +- **Mejorar datos para consultas y reportes avanzados:** Unir datos externos de tablas de referencia en Sheets, DDSQL Editor o Notebooks para realizar consultas complejas, agregaciones y construir reportes personalizados sin necesidad de experiencia técnica. -## Crear una tabla de referencia +## Crear una tabla de referencia {#create-a-reference-table} -Datadog admite las siguientes fuentes de datos, incluyendo las integraciones y la carga manual de CSV: +Datadog admite las siguientes fuentes de datos, incluidas integraciones y carga manual de archivos CSV: {{< tabs >}} -{{% tab "Cloud storage" %}} +{{% tab "Carga manual" %}} -{{% collapse-content title="Carga manual" level="h4" expanded=true %}} +Haga clic en **Nueva tabla de referencia +**, luego cargue un archivo CSV, nombre las columnas apropiadas y defina la clave primaria para las búsquedas. -Haz clic en **New Reference Table +** (Nueva tabla de referencia +) y luego carga un archivo CSV. Asigna un nombre a las columnas correspondientes y define la clave principal para las búsquedas. +{{< img src="reference_tables/schema_setup.png" alt="La sección Definir el Esquema muestra una tabla con org_id marcado como la clave primaria y columnas con datos para id de org, nombre de org, org padre, propietario de cuenta y csm. " style="width:100%;">}} -{{< img src="reference_tables/enrichment-table-setup.png" alt="Sección Definir elesquema que muestra una tabla con org_id marcado como clave primaria y las columnas con datos de id de organización, nombre de organización, organización principal, propietario de cuenta y csm" style="width:100%;">}} +**Nota**: El método de carga manual de CSV admite archivos de hasta 4MB. -**Nota**: El método de carga manual de CSV admite archivos de hasta 4 MB. - -{{% /collapse-content %}} +{{% /tab %}} +{{% tab "Almacenamiento en la nube" %}} {{% collapse-content title="Amazon S3" level="h4" id="amazon-s3" %}} -Las tablas de referencia pueden extraer automáticamente un archivo CSV de un bucket de Amazon S3 para mantener los datos actualizados. La integración busca cambios en el archivo CSV en S3 y, cuando el archivo se actualiza, sustituye la tabla de referencia con los nuevos datos. Esto también permite la actualización de la API con la API de S3, una vez configurada la tabla de referencia inicial. **Nota**: Las tablas de referencia no se sustituyen si el contenido del archivo CSV no se modifica. +Las Tablas de Referencia pueden extraer automáticamente un archivo CSV de un bucket de Amazon S3 para mantener sus datos actualizados. La integración busca cambios en el archivo CSV en S3, y cuando el archivo se actualiza, reemplaza la Tabla de Referencia con los nuevos datos. Esto también permite la actualización a través de API con la API de S3 una vez que la Tabla de Referencia inicial está configurada. **Nota**: Las Tablas de Referencia no se reemplazan si el contenido del archivo CSV no ha cambiado. -Para actualizar las tablas de referencia desde S3, Datadog utiliza el rol IAM de tu cuenta AWS que configuraste para la [integración AWS][1]. Si aún no has creado ese rol, [sigue estos pasos][2] para hacerlo. Para permitir que ese rol actualice tus tablas de referencia, agregue la siguiente declaración de permiso a tus políticas IAM. Asegúrate de editar los nombres de los buckets para que coincidan con tu entorno. +Para actualizar las Tablas de Referencia desde S3, Datadog utiliza el rol IAM en su cuenta de AWS que configuró para la [integración de AWS][1]. Si aún no ha creado ese rol, [siga estos pasos][2] para hacerlo. Para permitir que ese rol actualice sus Tablas de Referencia, agregue la siguiente declaración de permiso a sus políticas IAM. Asegúrese de editar los nombres de los buckets para que coincidan con su entorno. -**Nota**: Si utilizas el cifrado del lado del servidor, puedes cargar tablas de referencia cifradas con claves gestionadas por Amazon S3 (SSE-S3) o claves del servicio AWS Key Management (SSE-KMS). +**Nota**: Si utiliza cifrado del lado del servidor, puede cargar Tablas de Referencia cifradas con claves gestionadas por Amazon S3 (SSE-S3) o claves del Servicio de Gestión de Claves de AWS (SSE-KMS). ```json { - "Statement": [ - { - "Sid": "EnrichmentTablesS3", - "Effect": "Allow", - "Action": [ - "s3:GetObject", - // Grant KMS decrypt permissions if uploading KMS-encrypted object - // "kms:Decrypt", - "s3:ListBucket" - ], - "Resource": [ - "arn:aws:s3:::", - "arn:aws:s3:::" - ] - } - ], - "Version": "2012-10-17" + "Statement": [ + { + "Sid": "EnrichmentTablesS3", + "Effect": "Allow", + "Action": [ + "s3:GetObject", + // Grant KMS decrypt permissions if uploading KMS-encrypted object + // "kms:Decrypt", + "s3:ListBucket" + ], + "Resource": [ + "arn:aws:s3:::", + "arn:aws:s3:::" + ] + } + ], + "Version": "2012-10-17" } ``` -#### Definir la tabla +#### Defina la tabla {#define-the-table} -Haz clic en **New Reference Table +** (Nueva tabla de referencia +), selecciona Amazon S3, rellena todos los campos, haz clic para importar y define la clave principal para las búsquedas. +Haga clic en **Nueva Tabla de Referencia +**, luego agregue un nombre, seleccione Amazon S3, complete todos los campos, haga clic en importar y defina la clave primaria para las búsquedas. -{{< img src="reference_tables/configure-s3-reference-table.png" alt="Sección Cargar tus datos con el cuadro Amazon S3 seleccionado y los datos de cuenta, bucket y ruta de AWS rellenados" style="width:100%;">}} +{{< img src="reference_tables/s3_table.png" alt="La sección de carga de sus datos con el mosaico de Amazon S3 seleccionado y datos completados para la Cuenta de AWS, Bucket y Ruta" style="width:100%;">}} -**Nota**: El método de carga desde un bucket S3 admite archivos de hasta 200 MB. +**Nota**: El método de carga desde un bucket de S3 admite archivos de hasta 200MB. [1]: https://app.datadoghq.com/account/settings#integrations/amazon-web-services [2]: https://docs.datadoghq.com/es/integrations/amazon_web_services/?tab=automaticcloudformation#installation -{{% /collapse-content %}} -{{% collapse-content title="Azure Storage" level="h4" id="azure-storage" %}} +{{% /collapse-content %}} +{{% collapse-content title="Almacenamiento de Azure" level="h4" id="azure-storage" %}} -1. Si aún no lo has hecho, configura la [integración Azure][1] dentro de la suscripción que contiene la cuenta de almacenamiento desde la que quieres importar tu tabla de referencia. Esto implica la [creación de un registro de aplicación con el que Datadog pueda][2] integrarse. -2. En el portal Azure, selecciona la cuenta de almacenamiento que almacena los archivos de tu tabla de referencia. -3. Dentro de tu cuenta de almacenamiento, ve a **Control de acceso (IAM)** y selecciona **Añadir** > **Añadir asignación de roles**. -4. Introduce y selecciona el rol **Lector de datos blob de almacenamiento**. El rol de [lector de datos blob de almacenamiento][3] permite a Datadog leer y listar contenedores y blobs de almacenamiento. -5. En la pestaña **Miembros**, haz clic en **+ Select members** (+ Seleccionar miembros). Selecciona el registro de la aplicación que creaste en el paso 1. +1. Si aún no lo ha hecho, configure la [integración de Azure][1] dentro de la suscripción que tiene la cuenta de almacenamiento desde la cual desea importar su Tabla de Referencia. Esto implica [crear un registro de aplicación con el que Datadog pueda][2] integrarse. +2. En el Portal de Azure, seleccione la cuenta de almacenamiento que almacena sus archivos de Tabla de Referencia. +3. Dentro de su cuenta de almacenamiento, navegue a **Control de Acceso (IAM)** y seleccione **Agregar** > **Agregar Asignación de Rol**. +4. Ingrese y seleccione el **Rol de Lector de Datos de Blob de Almacenamiento**. El [rol de Lector de Datos de Blob de Almacenamiento][3] permite a Datadog leer y listar contenedores de almacenamiento y blobs. +5. En la pestaña **Miembros**, haga clic en **+ Seleccionar miembros**. Seleccione el registro de aplicación que creó en el Paso 1. - {{< img src="reference_tables/add_members.png" alt="Sección Miembros en el portal Azure que muestra un miembro seleccionado y los datos de nombre, id de objeto y tipo rellenados" style="width:85%;">}} + {{< img src="reference_tables/add_members.png" alt="La sección de Miembros en el Portal de Azure donde se selecciona un miembro y se completan los datos para el Nombre, ID de Objeto y Tipo" style="width:85%;">}} -Después de revisar y asignar el rol, puedes importar a las tablas de referencia desde Azure. La actualización de la configuración de Azure en Datadog puede tardar unos minutos. +Después de revisar y asignar el rol, puede importar a las tablas de referencia desde Azure. Puede tardar unos minutos en que su configuración de Azure se actualice en Datadog. -{{< img src="reference_tables/azure_storage.png" alt="Cuadro de Azure Storage en la sección Cargar o importar datos del flujo de trabajo de una nueva tabla de referencia" style="width:80%;">}} +{{< img src="reference_tables/azure_table.png" alt="Un mosaico de Almacenamiento de Azure en la sección de Carga o importación de datos de un nuevo flujo de trabajo de tabla de referencia" style="width:80%;">}} -Para obtener más información, consulta la [documentación de la integración Azure][4]. +Para más información, consulte la [documentación de integración de Azure][4]. **Nota**: La carga desde el almacenamiento de objetos en la nube admite archivos de hasta 200 MB. @@ -141,30 +140,30 @@ Para obtener más información, consulta la [documentación de la integración A [3]: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#storage-blob-data-reader [4]: /es/integrations/azure/ -{{% /collapse-content %}} -{{% collapse-content title="Google Cloud storage" level="h4" id="google-cloud-storage" %}} +{{% /collapse-content %}} +{{% collapse-content title="Almacenamiento de Google Cloud" level="h4" id="google-cloud-storage" %}} -### Google Cloud Storage +### Almacenamiento de Google Cloud {#google-cloud-storage} -{{% site-region region="gov" %}} -
Las tablas de referencia no están disponibles para el sitio Datadog seleccionado ({{< region-param key="dd_site_name" >}})
+{{% site-region region="gov,gov2" %}} +
Las Tablas de Referencia no están disponibles para su sitio de Datadog seleccionado ({{< region-param key="dd_site_name" >}})
{{% /site-region %}} -1. Si no has configurado la integración Google Cloud con Datadog o si estás utilizando archivos de ID de proyectos Google legacy (los proyectos legacy se indican en el cuadro de tu integración GCP), sigue las instrucciones para configurar la [integración Google Cloud Platform][1]. Esto implica la creación de una [cuenta de servicio Google Cloud][2]. +1. Si no ha configurado una integración de Google Cloud con Datadog o está utilizando archivos de ID de proyecto de Google heredados (los proyectos heredados se indican en su mosaico de integración de GCP), siga las instrucciones para configurar la [integración de Google Cloud Platform][1]. Esto implica crear una [cuenta de servicio de Google Cloud][2]. -1. Desde la consola de Google Cloud, ve a la página **Cloud Storage**. +1. Desde la consola de Google Cloud, navegue a la página de **Almacenamiento en la Nube**. -1. Busca el bucket al que quieres conceder acceso y haz clic en él. +1. Encuentre el bucket al que le gustaría otorgar acceso y haga clic en él. -1. Haz clic en la pestaña **Permisos**. En "Ver por elementos principales", haz clic en el botón **Grant Access** (Conceder acceso). +1. Haga clic en la pestaña **Permisos**. Bajo "Ver por Principales", haga clic en el botón **Otorgar Acceso**. -1. En la ventana que aparece, en el campo "Nuevos elementos principales", introduce el correo electrónico de la cuenta de servicio que creaste y añadiste al cuadro de GCP en el paso 1. En "Asignar roles", selecciona el rol **Visor de objetos de almacenamiento** y haz clic en **Save** (Guardar). +1. En la ventana que aparece, en el campo "Nuevos principales", ingrese el correo electrónico de la cuenta de servicio que creó y agregó al mosaico de GCP en el Paso 1. Bajo "Asignar roles", seleccione el rol de **Visualizador de Objetos de Almacenamiento**. Haga clic en **Guardar**. -{{< img src="reference_tables/grant_access.png" alt="Consola de Google Cloud que muestra la configuración para conceder acceso" style="width:100%;" >}} +{{< img src="reference_tables/grant_access.png" alt="Consola de Google Cloud mostrando la configuración para otorgar acceso" style="width:100%;" >}} -Después de revisar y asignar el rol, puedes importar a las tablas de referencia desde Google Cloud La actualización de la configuración en Datadog puede tardar unos minutos. +Después de revisar y asignar el rol, puede importar a las tablas de referencia desde Google Cloud. Puede tardar unos minutos en que su configuración se actualice en Datadog. -{{< img src="reference_tables/gcp_upload_import_ui.png" alt="Seleccionar Almacenamiento GCP en Cargar o importar datos al crear una nueva tabla de referencia" style="width:100%;" >}} +{{< img src="reference_tables/gcp_table.png" alt="Seleccione Almacenamiento de GCP en Cargar o importar datos al crear una nueva tabla de referencia." style="width:100%;" >}} **Nota**: La carga desde el almacenamiento de objetos en la nube admite archivos de hasta 200 MB. @@ -172,115 +171,145 @@ Después de revisar y asignar el rol, puedes importar a las tablas de referencia [2]: /es/integrations/google_cloud_platform/#1-create-your-google-cloud-service-account {{% /collapse-content %}} +{{% collapse-content title="Terraform" level="h4" id="terraform" %}} + +Utilice el recurso [`datadog_reference_table`][9] para gestionar tablas de referencia como infraestructura como código. Configure el recurso con el esquema de su tabla, claves primarias y detalles de acceso al almacenamiento en la nube. + +**Nota**: Terraform soporta los mismos límites de tamaño de archivo que las cargas de almacenamiento en la nube. Consulte [límites de la tabla de referencia](#reference-table-limits) para más detalles. + +[9]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/reference_table + +{{% /collapse-content %}} + +{{% /tab %}} +{{% tab "API" %}} + +Cree tablas de referencia programáticamente utilizando la [API de Datadog][8]. + +Utilice el [punto final Crear Tabla de Referencia][10] para crear tablas de referencia desde almacenamiento en la nube o archivos locales. +- Para fuentes de almacenamiento en la nube (S3, Azure, GCS), proporcione `access_details` en `file_metadata` apuntando a un archivo CSV en el almacenamiento en la nube. +- Para archivos locales, llame a `POST /api/latest/reference-tables/uploads` para obtener un ID de carga y cargue sus datos CSV. Luego, llame al punto de conexión Crear Tabla de Referencia con el `upload_id` en `file_metadata`. + +**Nota**: La API soporta los mismos límites de tamaño de archivo que las cargas de almacenamiento en la nube. Consulte [límites de la tabla de referencia](#reference-table-limits) para más detalles. + +[8]: /es/api/latest/reference-tables/ +[10]: /es/api/latest/reference-tables/#create-reference-table {{% /tab %}} -{{% tab "Integraciones" %}} +{{% tab "Integrations" %}} {{< partial name="reference_tables/ref-tables-saas-integrations.html" >}} {{% /tab %}} {{< /tabs >}} -Esta tabla de referencia puede utilizarse para añadir atributos adicionales a logs con el [Procesador de búsquedas][1]. +Esta Tabla de Referencia puede ser utilizada para agregar atributos adicionales a los registros con el [Procesador de Búsqueda][1]. -## Reglas de validación +## Reglas de validación {#validation-rules} -Los nombres de las tablas de referencia y los encabezados de las columnas se validan utilizando las siguientes convenciones de nomenclatura y, si es necesario, se actualizan o normalizan automáticamente. +Los nombres de las Tablas de Referencia y los encabezados de las columnas son validados utilizando las siguientes convenciones de nomenclatura y se actualizan o normalizan automáticamente, si es necesario. | Regla | Normalización | | ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -| Los nombres y las cabeceras no pueden duplicarse. | Los nombres duplicados se enumeran. Por ejemplo, si `fileid` se utiliza dos veces como nombre, la primera instancia se convierte en `fileid1` y la segunda instancia en `fileid2`. Si se enumera un nombre o encabezado y supera los 56 caracteres, se rechaza y es necesario cambiar su nombre. | -| Los nombres y encabezados no pueden contener letras mayúsculas. | Los nombres con letras mayúsculas se convierten a minúsculas. Esta conversión puede dar lugar a nombres duplicados, que luego se enumeran. Por ejemplo, `Fileid` y `FileID` se convierten en `fileid` y se enumeran en `fileid1` y `fileid2` respectivamente. | -| Los nombres y los encabezados no pueden contener espacios. | Los espacios que no sean iniciales ni finales se sustituyen por caracteres de subrayado `_`. Se eliminan los espacios iniciales y finales. Por ejemplo, `customer names` se sustituye por `customer_names`. | -| Los nombres y los encabezados deben empezar por minúscula. | Los caracteres en mayúsculas se convierten a minúsculas. Se eliminan los caracteres iniciales que no sean letras. Por ejemplo, `23Two_three` se convierte en `two_three`. | -| Los nombres y los encabezados sólo admiten letras minúsculas, números y el carácter `_`. | Los caracteres no admitidos se sustituyen por el carácter de subrayado `_`, a menos que incumpla alguna de las reglas anteriores. En ese caso, los caracteres no admitidos se normalizan mediante la regla correspondiente. | -| Los nombres y los encabezados deben tener 56 caracteres o menos. | No se realiza ninguna normalización. Los nombres y los encabezados que tienen más de 56 caracteres se rechazan y es necesario cambiar sus nombres. | +| Los nombres y encabezados no pueden ser duplicados. | Los nombres duplicados son enumerados. Por ejemplo, si `fileid` se usa dos veces como nombre, la primera instancia se convierte en `fileid1` y la segunda instancia se convierte en `fileid2`. Si un nombre o encabezado está enumerado y excede los 56 caracteres, es rechazado y necesita ser renombrado. | +| Los nombres y encabezados no pueden contener letras mayúsculas. | Los nombres con letras mayúsculas se convierten a minúsculas. Esta conversión puede resultar en nombres duplicados, que luego son enumerados. Por ejemplo, `Fileid` y `FileID` se convierten en `fileid` y son enumerados como `fileid1` y `fileid2` respectivamente. | +| Los nombres y encabezados no pueden contener espacios. | Los espacios que no son iniciales o finales son reemplazados por caracteres de subrayado `_`. Los espacios iniciales y finales son eliminados. Por ejemplo, `customer names` es reemplazado por `customer_names`. | +| Los nombres y encabezados deben comenzar con una letra minúscula. | Los caracteres en mayúscula se convierten a minúsculas. Los caracteres no alfabéticos al inicio son eliminados. Por ejemplo, `23Two_three` se convierte en `two_three`. | +| Los nombres y encabezados solo admiten letras minúsculas, números y el carácter `_`. | Los caracteres no soportados son reemplazados por el carácter guion bajo `_`, a menos que rompa alguna de las reglas anteriores. En ese caso, los caracteres no soportados son normalizados por la regla respectiva. | +| Los nombres y encabezados deben tener 56 caracteres o menos. | No se realiza ninguna normalización. Los nombres y encabezados que tienen más de 56 caracteres son rechazados y necesitan ser renombrados. | + +## Modificar una Tabla de Referencia {#modify-a-reference-table} + +Para modificar una Tabla de Referencia existente con nuevos datos, seleccione una tabla y haga clic en **Update Config** en la esquina superior derecha. +El CSV seleccionado se inserta o actualiza en la tabla, lo que significa que: + +* Todas las filas existentes con la misma clave primaria son actualizadas +* Todas las nuevas filas son añadidas +* Todas las filas antiguas que no están en el nuevo archivo son eliminadas -## Modificar una tabla de referencia +Una vez que la tabla es guardada, las filas insertadas son procesadas de manera asíncrona y actualizadas en la vista previa. Puede tardar hasta 10 minutos para que la actualización se complete. -Para modificar una tabla de referencia existente con nuevos datos, selecciona una tabla y haz clic en **Update Config** (Actualizar configuración) en la esquina superior derecha. -El CSV seleccionado se inserta en la tabla, lo que significa que: +## Exportar una tabla de referencia {#export-a-reference-table} -* Se actualizan todas las filas existentes con la misma clave primaria -* Se añaden todas las filas nuevas -* Se eliminan todas las filas antiguas que no están en el nuevo archivo +Para exportar una Tabla de Referencia, seleccione una tabla y haga clic en **Query in DDSQL Editor**. Desde allí, puede usar el [Editor DDSQL][7] para exportar a CSV, tableros y más. -Una vez guardada la tabla, las filas insertadas se procesan de forma asíncrona y se actualizan en la vista previa. La actualización puede tardar hasta 10 minutos en completarse. +{{< img src="reference_tables/query_ddsql.png" alt="Vista previa de la tabla con un botón azul etiquetado Consulta en el Editor DDSQL posicionado sobre los resultados" style="width:100%;" >}} -## Eliminar una tabla de referencia +## Eliminar una Tabla de Referencia {#delete-a-reference-table} -Para eliminar una tabla de referencia, selecciona una tabla, haz clic en el icono del engranaje en la esquina superior derecha y luego haz clic en **Delete Table** (Eliminar tabla). -Se eliminará la tabla junto a todas las filas asociadas. +Para eliminar una Tabla de Referencia, seleccione una tabla, haga clic en el ícono de engranaje en la esquina superior derecha y luego haga clic en **Eliminar Tabla**. +La tabla y todas las filas asociadas son eliminadas. -Si hay un Procesador de búsquedas que utiliza una tabla de referencia para el enriquecimiento de los logs, el enriquecimiento se detiene. El enriquecimiento puede tardar hasta 10 minutos en detenerse. +Si hay un Procesador de Búsqueda utilizando una Tabla de Referencia para el enriquecimiento de registros, entonces el enriquecimiento se detiene. Puede tardar hasta 10 minutos en detenerse el enriquecimiento. -## Monitorizar la actividad de una tabla de referencia +## Monitorear actividad de tabla de referencia {#monitor-reference-table-activity} -Puedes monitorizar la actividad de una tabla de referencia con [Audit Trail][2] o [Change Events][3]. Para ver el registro de auditoría y los eventos de cambios de una tabla de referencia específica, selecciona la tabla y haz clic en el icono Configuración junto a **Update Config** (Actualizar configuración). Para ver el registro de auditoría, necesitas permisos de gestión de la organización. +Puede monitorear la actividad de la Tabla de Referencia con [Audit Trail][2] o [Eventos de Cambio][3]. Para ver el Audit Trail y los eventos de cambio para una tabla de referencia específica, seleccione la tabla y haga clic en el ícono de Configuración junto a **Actualizar Configuración**. Necesita permisos de gestión de la organización para ver el Audit Trail. -### Audit Trail +### Audit Trail {#audit-trail} -Utiliza el registro de auditoría de las tablas de referencia para realizar un seguimiento de las acciones activadas por el usuario. Los eventos de Audit Trail se envían cuando un usuario carga o importa inicialmente un archivo CSV o cuando un usuario crea, modifica o elimina una tabla de referencia. +Utilice el Audit Trail para las Tablas de Referencia para rastrear acciones desencadenadas por el usuario. Los eventos del Audit Trail se envían cuando un usuario carga o importa inicialmente un archivo CSV, o cuando un usuario crea, modifica o elimina una Tabla de Referencia. -El tipo de recurso `reference_table_file` muestra eventos de importación/carga y el tipo de recurso `reference_table` muestra eventos de la tabla de referencia. El registro de auditoría permite observar el contenido de una tabla de referencia. +El `reference_table_file` tipo de activo muestra eventos de importación/carga y el `reference_table` tipo de activo muestra eventos de tabla de referencia. El Audit Trail proporciona visibilidad sobre el contenido de una tabla de referencia. -### Eventos de cambios +### Eventos de cambio {#change-events} -Utiliza los eventos de cambios de las tablas de referencia para realizar un seguimiento de las acciones automatizadas o activadas por el usuario. Se envían cuando se importa un archivo de nube desde un usuario o una actualización automática. (La carga de un archivo local no genera un evento de cambio). Si bien los eventos pueden realizar un seguimiento de las acciones activadas por el usuario, se utilizan principalmente para realizar un seguimiento de las importaciones activadas cuando una tabla de referencia extrae automáticamente un nuevo archivo CSV. +Utilice eventos de cambio para las Tablas de Referencia para rastrear acciones automatizadas o desencadenadas por el usuario. Se envían cuando un archivo en la nube es importado por un usuario o por una actualización automática. (Cargar un archivo local no genera un evento de cambio.) Mientras que los eventos pueden rastrear acciones desencadenadas por el usuario, se utilizan principalmente para rastrear importaciones desencadenadas cuando una tabla de referencia extrae automáticamente un nuevo archivo CSV. -Los eventos contienen información sobre el estado de éxito, la ruta y el nombre de la tabla de la importación. Si se produce un error, se proporciona información sobre el tipo de error. +Los eventos contienen información sobre el estado de éxito, la ruta y el nombre de la tabla de la importación. Si ocurre un error, se proporciona información sobre el tipo de error. -### Alertas +### Alerting {#alerting} -Para recibir alertas sobre los errores encontrados durante las importaciones, utiliza [monitores de eventos][4] para eventos de cambios de la tabla de referencia. Los eventos de cambios de la tabla de referencia se envían desde la fuente `reference_tables`. +Para ser alertado sobre errores encontrados durante las importaciones, utilice [Monitores de Eventos][4] para eventos de cambio de la Tabla de Referencia. Los eventos de cambio de la Tabla de Referencia se envían desde la `reference_tables` fuente. -Puedes crear monitores a partir de la pestaña **Monitores** o hacer clic en el icono de configuración situado junto a **New Reference Table +** (Nueva tabla de referencia +) para generar un monitor ya rellenado. +Puede crear monitores desde la pestaña **Monitores**, o hacer clic en el ícono de Configuración junto a **Nueva Tabla de Referencia +** para generar un monitor prellenado. -## Límites de la tabla de referencia -- Una tabla de referencia puede tener hasta 50 columnas -- El tamaño de un archivo de tabla de referencia cargado a través de la interfaz de usuario puede ser de hasta 4 MB -- El tamaño de un archivo de tabla de referencia cargado a través de un archivo de bucket de nube puede ser de hasta 200 MB -- El tamaño de un archivo de tabla de referencia cargado a través de una integración puede ser de hasta 200 MB -- Puedes tener hasta 100 tablas de referencia por organización +## Límites de la Tabla de Referencia {#reference-table-limits} +Una Tabla de Referencia puede tener hasta 50 columnas. +El tamaño de un archivo de Tabla de Referencia subido a través de la interfaz de usuario puede ser de hasta 4 MB. +El tamaño de un archivo de Tabla de Referencia subido a través de un archivo de bucket en la nube puede ser de hasta 200 MB. +El tamaño de un archivo de Tabla de Referencia subido a través de una integración puede ser de hasta 200 MB. +- Puede tener hasta 100 Tablas de Referencia por organización. -Si tienes un caso de uso que supera estos límites, ponte en contacto con el [servicio de asistencia][5]. +Contacte a [soporte][5] si tiene un caso de uso que excede estos límites. -## Frecuencia de actualización automática +## Frecuencia de actualización automática {#automatic-update-frequency} -Las tablas de referencia pueden actualizarse automáticamente, en función de la fuente de los datos: +Las Tablas de Referencia pueden actualizarse automáticamente, dependiendo de la fuente de datos: -- **Almacenamiento de archivos en la nube** (Amazon S3, Azure Storage, Google Cloud Storage): cada 5 minutos -- **Integraciones**: cada hora -- **Carga manual de archivos CSV**: no se admiten actualizaciones automáticas +- **Almacenamiento de archivos en la nube** (Amazon S3, Azure Storage, Google Cloud Storage): Cada 5 minutos +- **Integrations**: Cada hora. +- **Subidas manuales de CSV**: Las actualizaciones automáticas no son compatibles -## Permisos +## Permisos {#permissions} -### Acceso basado en roles -Para ver las tablas de referencia, los usuarios necesitan el permiso `reference_tables_read`. Para crear o modificar Tablas de referencia, los usuarios necesitan el permiso `reference_tables_write`. +### Acceso basado en roles {#role-based-access} +Para ver Tablas de Referencia, los usuarios requieren el `reference_tables_read` permiso. Para crear o modificar Tablas de Referencia, los usuarios requieren el `reference_tables_write` permiso. -Para obtener más información sobre permisos, consulta la [documentación RBAC][6]. +Para más información sobre permisos, consulte la [documentación de RBAC][6]. -### Controles de acceso detallados -Restringe el acceso a tablas individuales especificando una lista de equipos, roles o usuarios que pueden verlas o editarlas. +### Controles de acceso granulares {#granular-access-controls} +Restringa el acceso a tablas individuales especificando una lista de equipos, roles o usuarios que están autorizados a ver o editarlas. -{{< img src="reference_tables/granular_access_permissions.png" alt="La opción del engranaje de permisos que permite configurar permisos de acceso granulares en una tabla" style="width:100%;">}} +{{< img src="reference_tables/granular_permissions.png" alt="La opción de engranaje de Permisos que admite la configuración de permisos de acceso granulares en una tabla" style="width:100%;">}} -1. Haz clic en una tabla para abrir su página de información. -2. Haz clic en el icono de engranaje de la esquina superior derecha. -3. Selecciona **Permisos** en el menú. -4. Haz clic en **Restrict Access** (Restringir el acceso). -5. Utiliza el menú desplegable para seleccionar uno o más equipos, roles o usuarios. -6. Haz clic en **Add** (Añadir). -7. Selecciona **Editor** o **Visor**. -8. Haz clic en **Save** (Guardar) para aplicar los cambios. +1. Haga clic en una tabla para abrir su página de detalles. +2. Haga clic en el ícono de engranaje en la esquina superior derecha. +3. Seleccione **Permisos** del menú. +4. Haga clic en **Restringir Acceso**. +5. Utilice el menú desplegable para seleccionar uno o más equipos, roles o usuarios. +6. Haga clic en **Agregar**. +7. Seleccione ya sea **Editor** o **Viewer**. +8. Haga clic en **Guardar** para aplicar los cambios. -## Referencias adicionales +## Lectura Adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[1]: /es/logs/log_configuration/processors/#lookup-processor +[1]: /es/logs/log_configuration/processors/lookup_processor/ [2]: /es/account_management/audit_trail/ [3]: /es/events/ [4]: /es/monitors/types/event/ [5]: /es/help/ -[6]: /es/account_management/rbac/permissions/#reference-tables \ No newline at end of file +[6]: /es/account_management/rbac/permissions/#reference-tables +[7]: /es/ddsql_editor/#save-and-share-queries \ No newline at end of file diff --git a/content/es/remote_configuration/_index.md b/content/es/remote_configuration/_index.md index 27361d6c759..2e92093c52c 100644 --- a/content/es/remote_configuration/_index.md +++ b/content/es/remote_configuration/_index.md @@ -1,141 +1,166 @@ --- algolia: tags: - - configuración remota - - configuración remota + - remote config + - remote configuration aliases: - /es/agent/guide/how_rc_works - /es/agent/guide/how_remote_config_works - /es/agent/remote_config -description: Configura y cambia de forma remota el comportamiento de los componentes - de Datadog como Agents, bibliotecas de rastreo y Observability Pipelines Workers - desplegados en tu infraestructura. +description: Configura y cambia de manera remota el comportamiento de los componentes + de Datadog, como Agentes, SDKs y Trabajadores de Pipelines de Observabilidad desplegados + en tu infraestructura. further_reading: - link: /security/application_security/how-appsec-works/#built-in-protection tag: Documentación - text: Como funciona Application Security Monitoring + text: Cómo funciona el Monitoreo de Seguridad de Aplicaciones - link: /dynamic_instrumentation/?tab=configurationyaml#enable-remote-configuration tag: Documentación - text: Dynamic Instrumentation + text: Instrumentación Dinámica - link: /security/workload_protection/ tag: Documentación text: Configuración de Workload Protection - link: https://www.datadoghq.com/blog/compliance-governance-transparency-with-datadog-audit-trail/ tag: Blog - text: Como usar Datadog Audit Trail + text: Uso de Audit Trail de Datadog - link: https://www.datadoghq.com/blog/remote-configuration-for-datadog/ tag: Blog - text: Aplicar actualizaciones en tiempo real a los componentes de Datadog con la - configuración remota -title: Configuración remota + text: Aplica actualizaciones en tiempo real a los componentes de Datadog con Remote + Configuration +title: Remote Configuration --- +## Descripción General {#overview} -## Información general +Remote Configuration es una capacidad de Datadog que te permite configurar y cambiar de manera remota el comportamiento de características seleccionadas del producto en componentes de Datadog, como Agentes, SDKs y Trabajadores de Observability Pipelines desplegados en tu infraestructura. Utiliza Remote Configuration para aplicar configuraciones a los componentes de Datadog en tu entorno bajo demanda, disminuyendo los costos de gestión, reduciendo la fricción entre equipos y acelerando los tiempos de resolución de problemas. -La configuración remota es una función de Datadog que te permite configurar y cambiar de forma remota el comportamiento de los componentes de Datadog (por ejemplo, Agents, bibliotecas de rastreo y Observability Pipelines Workers) desplegados en tu infraestructura. Utiliza la configuración remota para aplicar configuraciones a componentes de Datadog de tu entorno, disminuyendo los costes de gestión, reduciendo la fricción entre equipos y acelerando los tiempos de resolución de problemas. +Para los productos de seguridad de Datadog, App and API Protection y Workload Protection, los Agentes habilitados para Remote Configuration y los SDKs compatibles proporcionan actualizaciones y respuestas de seguridad en tiempo real, mejorando la postura de seguridad de tus aplicaciones e infraestructura en la nube. -Para productos de seguridad de Datadog, App and API Protection y Workload Protection, los Agents habilitados por configuración remota y bibliotecas de rastreo compatibles proporcionan actualizaciones y respuestas de seguridad en tiempo real, lo que mejora la situación de seguridad de tus aplicaciones y la infraestructura de la nube. +## Cómo funciona {#how-it-works} -## Cómo funciona +Cuando Remote Configuration está habilitada, los componentes de Datadog, como el Datadog Agent, consultan de manera segura el [sitio de Datadog][1] configurado para cambios de configuración que están listos para aplicarse. Los cambios pendientes se aplican automáticamente a los componentes de Datadog. Por ejemplo, después de que envías cambios de configuración en la interfaz de usuario de Datadog para una característica del producto habilitada para Remote Configuration, los cambios se almacenan en Datadog. -Cuando la configuración remota está activada, los componentes de Datadog como el Datadog Agent sondean de forma segura el [sitio Datadog][1] configurado en busca de cambios de configuración que estén listos para ser aplicados. Los cambios pendientes se aplican automáticamente a los componentes de Datadog. Por ejemplo, después de enviar cambios de configuración en la interfaz de usuario de Datadog para una función de producto habilitada por configuración remota, los cambios se almacenan en Datadog. +El siguiente diagrama ilustra cómo funciona Remote Configuration: -El siguiente diagrama muestra como funciona la configuración remota: +{{Los usuarios configuran características en la interfaz de usuario, la configuración se almacena en Datadog, el Agent solicita actualizaciones de configuración.}} -{{Users configure features in the UI, the config is stored in Datadog, the Agent requests config updates.}} +1. Configuras características seleccionadas del producto en la interfaz de usuario de Datadog. +2. Las configuraciones de características del producto se almacenan de manera segura dentro de Datadog. +3. Los componentes de Datadog habilitados para Remote Configuration en tus entornos consultan, reciben y aplican automáticamente actualizaciones de configuración de Datadog de manera segura. Las bibliotecas de trazado que se implementan en tus entornos se comunican con los Agent para solicitar y recibir actualizaciones de configuración de Datadog en lugar de consultar directamente a Datadog. -1. Configura las funciones del producto escogidas en la interfaz de usuario de Datadog. -2. La configuración de las funciones del producto se almacenan en condiciones seguras en Datadog. -3. Los componentes de Datadog habilitados por configuración remota en tus entornos sondean, reciben y aplican automáticamente actualizaciones de configuración de forma segura desde Datadog. Las bibliotecas de rastreo que se despliegan en tus entornos se comunican con los Agents para solicitar y recibir actualizaciones de configuración desde Datadog, en lugar de sondear Datadog directamente. +## Entornos soportados {#supported-environments} -## Entornos compatibles +Remote Configuration funciona en entornos donde se han implementado componentes soportados de Datadog. Los componentes compatibles de Datadog incluyen: +- Agentes +- Trazadores (indirectamente) +- Trabajadores de la Canalización de Observabilidad +- Ejecutores de acción privados y servicios de contenedores sin servidor en la nube, como AWS Fargate. -La configuración remota funciona en entornos en los que están instalados los componentes compatibles de Datadog. Entre los componentes compatibles de Datadog se incluyen: -- Agents -- Rastreadores (indirectamente) -- Observability Pipeline Workers -- Ejecutores de acciones privadas y servicios de nube de contenedores sin servidor como AWS Fargate +La Configuración Remota no soporta aplicaciones gestionadas de contenedores sin servidor, como AWS App Runner, Azure Container Apps, Google Cloud Run; o funciones implementadas con empaquetado de contenedores, como AWS Lambda, Azure Functions y Google Cloud Functions. -La configuración remota no es compatible con aplicaciones sin servidor gestionadas por contenedores, como AWS App Runner, Azure Container Apps, Google Cloud Run, ni con funciones desplegadas con paquetes de contenedores, como AWS Lambda, Azure Functions y Google Cloud Functions. +## Productos y características compatibles {#supported-products-and-features} -## Productos y funciones compatibles +Los siguientes productos y características son compatibles con la Configuración Remota. -Los siguientes productos y funciones son compatibles con la configuración remota. +Automatización de Flotas +: - [Enviar señales][27] directamente desde el sitio de Datadog. Solucione problemas del Agente de Datadog sin acceder directamente al host. +: - [Actualice sus Agentes][29]. -Fleet Automation -: - [Envía flares][27] directamente desde el sitio Datadog. Soluciona sin problemas incidentes del Datadog Agent sin acceder directamente al host. -: - [Actualiza tus Agents][29] (Vista previa). +Protección de Aplicaciones y API (AAP) +: - [Activación de AAP con un clic][33]: Habilite AAP con un clic desde la interfaz de usuario de Datadog. +: - [Actualizaciones de patrones de ataque en la aplicación][34]: Reciba automáticamente los patrones de ataque más recientes del Firewall de Aplicaciones Web (WAF) a medida que Datadog los publique, siguiendo las vulnerabilidades o vectores de ataque recientemente divulgados. +: - [Proteger][34]: Bloquear las IPs de los atacantes, usuarios autenticados y solicitudes sospechosas que se marquen en las Señales y Trazas de Seguridad de AAP temporal o permanentemente a través de la interfaz de usuario de Datadog. -App and API Protection (AAP) -: - [Activación de AAP en 1 clic][33]: Activa AAP en 1 clic desde la interfaz de usuario de Datadog. -: - [Actualizaciones de patrones de ataque en la aplicación][34]: Recibe automáticamente los patrones de ataque más recientes de Web Application Firewall (WAF) a medida que Datadog los publica, siguiendo vulnerabilidades o vectores de ataque recientemente revelados. -: - [Protección][34]: Bloquea las IP de los atacantes, los usuarios autenticados y las solicitudes sospechosas indicadas en señales y rastros de seguridad de AAP de forma temporal o permanente a través de la interfaz de usuario de Datadog. +Monitoreo del Rendimiento de Aplicaciones (APM) +: - Configuración en tiempo de ejecución: Cambiar la tasa de muestreo de trazas de un servicio, habilitación de inyección de registros y etiquetas de encabezados HTTP desde la interfaz de usuario del Catálogo, sin necesidad de reiniciar el servicio. Lea [Configuración en Tiempo de Ejecución][22] para más información. +: - [Configurar remotamente la tasa de muestreo del Agente][35]: Configurar remotamente el Agente de Datadog para cambiar sus tasas de muestreo de trazas y establecer reglas para escalar la ingesta de trazas de su organización de acuerdo a sus necesidades, sin necesidad de reiniciar su Agente de Datadog. -Application Performance Monitoring (APM) -: - Configuración en tiempo de ejecución (Vista previa): Cambia la frecuencia de muestreo del rastreo de un servicio, la activación de la inyección de logs y las etiquetas (tags) de encabezados HTTP desde la interfaz de usuario del Catálogo de software, sin tener que reiniciar el servicio. Consulta [Configuración en tiempo de ejecución][22] para obtener más información. -: - [Configura de forma remota la frecuencia de muestreo del Agent][35] (Vista previa): Configura de forma remota el Datadog Agent para cambiar sus frecuencias de muestreo del rastreo y configura reglas para escalar la ingesta de trazas (traces) de tu organización según tus necesidades, sin necesidad de reiniciar tu Datadog Agent. +[Instrumentación Dinámica][36] +: - Enviar métricas críticas, trazas y registros desde sus aplicaciones en vivo sin cambios en el código. -[Dynamic Instrumentation][36] -: - Envía métricas, trazas y logs críticos de tus aplicaciones en directo sin cambios en el código. - -Workload Protection -: - Actualizaciones automáticas de reglas predeterminadas del Agent: Recibe y actualiza automáticamente las reglas predeterminadas del Agent mantenidas por Datadog a medida que se publican nuevas detecciones y mejoras del Agent. Consulta [Configuración de Workload Protection][3] para obtener más información. -: - Despliegue automático de reglas personalizadas del Agent: Despliega automáticamente tus reglas personalizadas del Agent en los hosts designados (todos los hosts o un subconjunto definido de hosts). +Protección de Carga de Trabajo +: - Actualizaciones automáticas de reglas predeterminadas del Agente: Recibir y actualizar automáticamente las reglas predeterminadas del Agente mantenidas por Datadog a medida que se lanzan nuevas detecciones y mejoras del Agente. Consulte [Configuración de Protección de Carga de Trabajo][3] para más información. +: - Despliegue automático de reglas personalizadas del Agente: Desplegar automáticamente sus reglas personalizadas del Agente en hosts designados (todos los hosts o un subconjunto definido de hosts). Observability Pipelines -: - Despliega y actualiza de forma remota [Observability Pipelines Workers][4] (OPW): Crea y edita pipelines en la interfaz de usuario de Datadog, desplegando tus cambios de configuración en las instancias OPW que se ejecutan en tu entorno. +: - Desplegar y actualizar remotamente [Observability Pipelines Workers][4] (OPW): Construir y editar canalizaciones en la interfaz de usuario de Datadog, implementando sus cambios de configuración en instancias de OPW que se ejecutan en su entorno. + +[Escalado Automático][47] +: - Gestionar remotamente configuraciones de escalado automático de clústeres y cargas de trabajo para sus entornos en contenedores. Consulte [Escalado Automático][47] para más información. + +Ejecutor de acciones privado +: - Ejecutar flujos de trabajo y aplicaciones de Datadog que interactúan con servicios alojados en su red privada sin exponer sus servicios a Internet público. Para más información, consulte [Acciones Privadas][30]. + +Feature Flags +: - Entregar configuraciones de flag (reglas de asignación y objetivo) a los kits de desarrollo de software del lado del servidor para la asignación sincrónica de variantes basada en el contexto de evaluación. Vea [Feature Flags][48] para más información. + +## Consideraciones de seguridad {#security-considerations} + +Datadog implementa las siguientes salvaguardias para proteger la confidencialidad, integridad y disponibilidad de las configuraciones recibidas y aplicadas por sus componentes de Datadog: -Ejecutor de acciones privadas -: - Ejecuta flujos de trabajo y aplicaciones de Datadog que interactúan con servicios alojados en tu red privada sin exponer tus servicios a la Internet pública. Para obtener más información, consulta [Private Actions][30]. +- Los componentes de Datadog con Configuración Remota habilitada desplegados en su infraestructura solicitan configuraciones a Datadog. +
Algunos componentes como los ejecutores de acción privados siempre tienen habilitada la configuración remota. Otros, como los Agentes, pueden ser habilitados o deshabilitados utilizando opciones de configuración en disco.
+- Datadog nunca envía cambios de configuración a menos que sean solicitados por los componentes de Datadog. Si envía cambios de configuración, Datadog solo envía cambios relevantes para el componente que lo solicita. +- Las solicitudes de configuración se inician desde su infraestructura hacia Datadog a través de HTTPS (puerto 443). Este es el mismo puerto que el Agente utiliza por defecto para enviar datos de observabilidad. +- La comunicación entre sus componentes de Datadog y Datadog está encriptada utilizando HTTPS y es autenticada y autorizada utilizando su clave API de Datadog, excepto en el caso de los ejecutores de acción privados donde se utiliza un token JWT en su lugar. +- Solo los usuarios con el permiso de [`api_keys_write`][5] están autorizados para habilitar o deshabilitar la capacidad de Configuración Remota en las claves API y utilizar las características del producto soportadas. +- Los cambios de configuración que envíe a través de la interfaz de usuario de Datadog son firmados y validados por el componente de Datadog que lo solicita, verificando la integridad de la configuración. -## Cuestiones de seguridad +### Acceso basado en roles {#role-based-access} -Datadog implementa las siguientes medidas de seguridad para proteger la confidencialidad, la integridad y la disponibilidad de las configuraciones que reciben y aplican los componentes de Datadog: +Habilitar la Configuración Remota impacta los siguientes productos. Cada producto define un conjunto de controles de acceso basado en roles que deben ser otorgados a sus usuarios. Para información general sobre la gestión de acceso, vea [Access Control][37]. -- Los componentes de Datadog habilitados por configuración remota y desplegados en tu infraestructura necesitan configuraciones de Datadog. -
Algunos componentes, como los ejecutores de acciones privadas, están siempre habilitados por configuración remota. Otros, como el Agent, pueden activarse o desactivarse mediante opciones de configuración en el disco.
-- Datadog nunca envía cambios de configuración a menos que se lo soliciten componentes de Datadog. Si envía cambios de configuración, Datadog solo envía aquellos relevantes para el componente solicitante. -- Las solicitudes de configuración se inician desde tu infraestructura a Datadog a través de HTTPS (puerto 443). Este es el mismo puerto que el Agent utiliza por defecto para enviar datos de observabilidad. -- La comunicación entre tus componentes de Datadog y Datadog se cifra mediante HTTPS y se autentica y autoriza utilizando tu clave de API Datadog, excepto en el caso de los ejecutores de acciones privadas donde se utiliza un token JWT en su lugar. -- Solo los usuarios con el permiso [`api_keys_write`][5] están autorizados a activar o desactivar la función de configuración remota en las claves de API y a utilizar las funciones compatibles del producto. -- Los cambios de configuración enviados a través de la interfaz de usuario de Datadog son firmados y validados por el componente de Datadog solicitante, lo que verifica la integridad de la configuración. + | Producto Habilitado para Configuración Remota | Controles de Acceso Basados en Roles | + |----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + | Fleet Automation | `FLEET_POLICIES_WRITE`
`AGENT_UPGRADE_WRITE`
`FLEET_FLARE`

Para más información, consulte [Fleet Automation][38]. | + | Protección de Aplicaciones y API | `APPSEC_ACTIVATION_READ`
`APPSEC_ACTIVATION_WRITE`
`APPSEC_PROTECT_READ`
`APPSEC_PROTECT_WRITE`

Para más información, consulte [Access Control][39]. | + | APM | `APM_SERVICE_INGEST_READ`
`APM_SERVICE_INGEST_WRITE`
`APM_REMOTE_CONFIGURATION_READ`
`APM_REMOTE_CONFIGURATION_WRITE`

Para más información, consulte [Adaptive Sampling][40]. | + | Dynamic Instrumentation | `DEBUGGER_READ`
`DEBUGGER_WRITE`
`DEBUGGER_WRITE_PRE_PROD`
`APM_REMOTE_CONFIGURATION_READ`
`APM_REMOTE_CONFIGURATION_WRITE`

Para más información, consulte [APM][41]. | + | Workload Protection | `SECURITY_MONITORING_CWS_AGENT_RULES_WRITE`
`SECURITY_MONITORING_CWS_AGENT_RULES_READ`
`SECURITY_MONITORING_CWS_AGENT_RULES_ACTIONS`

Para más información, consulte [Security][42]. | + | CSM Side Scanning | `ORG_MANAGEMENT`
`MANAGE_INTEGRATIONS`

Para más información, consulte [Enable Agentless Scanning][43]. | + | Observability Pipelines | `OBSERVABILITY_PIPELINES_READ`
`OBSERVABILITY_PIPELINES_WRITE`
`OBSERVABILITY_PIPELINES_DELETE`
`OBSERVABILITY_PIPELINES_DEPLOY`
`OBSERVABILITY_PIPELINES_CAPTURE_WRITE`
`OBSERVABILITY_PIPELINES_CAPTURE_READ`

Para más información, consulte [Observability Pipelines][44]. | + | Private Action Runner | `ON_PREM_RUNNER_WRITE`
`ON_PREM_RUNNER_READ`
`ON_PREM_RUNNER_USE`

Para más información, consulte [App Builder & Workflow Automation][45]. | + | Network Device Monitoring (NDM) | `NDM_DEVICE_PROFILES_VIEW`
`NDM_DEVICE_PROFILES_EDIT` | + | Container Autoscaling | `ORCHESTRATION_AUTOSCALING_MANAGE`
`ORCHESTRATION_WORKLOAD_SCALING_WRITE`
`ORCHESTRATION_WORKLOAD_SCALING_READ` | + | Serverless Lambda Auto-instrumentation | `SERVERLESS_AWS_INSTRUMENTATION_READ`
`SERVERLESS_AWS_INSTRUMENTATION_WRITE`

Para más información, consulte [Serverless][46]. | + | Feature Flags | `FEATURE_FLAG_CONFIG_READ`
`FEATURE_FLAG_CONFIG_WRITE`
`FEATURE_FLAG_ENVIRONMENT_CONFIG_READ`
`FEATURE_FLAG_ENVIRONMENT_CONFIG_WRITE`

Para más información, consulte [Feature Flags][48]. | -## Activar la configuración remota +## Habilitar Remote Configuration {#enable-remote-configuration} -En la mayoría de los casos, la configuración remota está activada por defecto para tu organización. Puedes comprobar si la configuración remota está activada en tu organización desde la página de parámetros de [Configuración remota][8]. Si necesitas activarla: -1. Asegúrate de que los permisos de RBAC incluyan [`org_management`][7], para poder habilitar la configuración remota en tu organización. -1. Desde la página Parámetros de tu organización, activa [Configuración remota][8]. Esto permite que los componentes de Datadog de toda la organización reciban configuraciones de Datadog. -1. Sigue las instrucciones de [configuración específicas del producto](#product-specific-configuration) que se indican a continuación para finalizar la configuración remota. +En la mayoría de los casos, Remote Configuration está habilitado por defecto para su organización. Puede verificar si Remote Configuration está habilitado en su organización desde la página de configuración de [Remote Configuration][8]. Si necesita habilitarla: +1. Asegúrese de que sus permisos de RBAC incluyan [`org_management`][7], para que pueda habilitar Remote Configuration para su organización. +1. Desde la página de Configuración de su Organización, habilite [Remote Configuration][8]. Esto habilita los componentes de Datadog en toda su organización para recibir configuraciones de Datadog. +1. Siga la [guía de configuración específica del producto](#product-specific-configuration) a continuación para finalizar la configuración de Remote Configuration. -### Configuración específica del producto +### Configuración específica del producto {#product-specific-configuration} -Consulta la documentación a continuación para obtener instrucciones específicas para el producto que estás configurando. +Consulte la documentación a continuación para obtener instrucciones específicas sobre el producto que está configurando. -| Producto | Instrucciones de instalación | -| ------- | --------------------- | -| Automatización de flotas | [Configurar Fleet Automation][31] | -| APM | [Configuración en tiempo de ejecución](/tracing/guide/remote_config/) | -| Dynamic Instrumentation | [Empezando con Dynamic Instrumentation](/dynamic_instrumentation/#getting-started) | -| Workload Protection | [Workload Protection][3] | -| Observability Pipelines | Asegúrate de que has [activado la configuración remota en la clave de API][32] que estás utilizando para Observability Pipelines. | -| Sensitive Data Scanner | [Almacenamiento en la nube](/security/sensitive_data_scanner/setup/cloud_storage/?tab=newawsaccount) | -| Ejecutor de acciones privadas | [Información general sobre acciones privadas](/actions/private_actions/) | +| Producto | Instrucciones de configuración | +|-------------------------|----------------------------------------------------------------------------------------------------------------| +| Fleet Automation | [Setup Fleet Automation][31] | +| APM | [Configuración en tiempo de ejecución](/tracing/guide/remote_config/) | +| Dynamic Instrumentation | [Comenzando con Dynamic Instrumentation](/dynamic_instrumentation/#getting-started) | +| Workload Protection | [Workload Protection][3] | +| Observability Pipelines | Asegúrese de que ha [habilitado Remote Configuration en la API key][32] que está utilizando para Observability Pipelines. | +| Sensitive Data Scanner | [Cloud storage](/security/sensitive_data_scanner/setup/cloud_storage/?tab=newawsaccount) | +| Private Action Runner | [Private Actions Overview](/actions/private_actions/) | +| Feature Flags | [Feature Flags del Lado del Servidor](/feature_flags/server/) | -## Prácticas recomendadas +## Mejores Prácticas {#best-practices} -### Audit Trail de Datadog +### Datadog Audit Trail {#datadog-audit-trail} -Utiliza [Audit Trail de Datadog][13] para monitorizar el acceso a la organización y a eventos habilitados por configuración remota. Audit Trail permite a los administradores y equipos de seguridad realizar un seguimiento de la creación, eliminación y modificación de la API de Datadog y las claves de aplicación. Una vez configurado Audit Trail, podrás ver los eventos relacionados con las funciones habilitadas por configuración remota y quién ha solicitado estos cambios. Audit Trail permite reconstruir secuencias de eventos y establecer una monitorización sólida de Datadog para la configuración remota. +Utilice [Datadog Audit Trail][13] para monitorear el acceso a la organización y los eventos habilitados de Remote Configuration. Audit Trail permite a sus administradores y equipos de seguridad rastrear la creación, eliminación y modificación de claves de API y de aplicación de Datadog. Después de configurar Audit Trail, puede ver eventos relacionados con las características habilitadas de Remote Configuration y quién ha solicitado estos cambios. Audit Trail le permite reconstruir secuencias de eventos y establecer un monitoreo robusto de Datadog para Remote Configuration. -### Monitores +### Monitors {#monitors} -Configurar los [monitores][14] para recibir notificaciones cuando se encuentre un evento de interés. +Configure [monitors][14] para recibir notificaciones cuando se encuentre un evento de interés. -## Exclusión de la configuración remota +## Opting out of Remote Configuration {#opting-out-of-remote-configuration} -En lugar de desactivar la configuración remota de forma global, Datadog recomienda optar por desactivarla en productos específicos de Datadog. Para obtener más información, consulta la [documentación del producto en cuestión](#product-specific-configuration). +En lugar de deshabilitar Remote Configuration globalmente, Datadog recomienda optar por no participar en productos específicos de Datadog. Para más información, consulte [la documentación del producto relevante](#product-specific-configuration). -## Referencias adicionales +## Lectura Adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -156,7 +181,7 @@ En lugar de desactivar la configuración remota de forma global, Datadog recomie [16]: /es/remote_configuration [17]: /es/agent/configuration/network [18]: /es/agent/configuration/proxy/ -[19]: /es/tracing/software_catalog/ +[19]: /es/internal_developer_portal/catalog/ [20]: /es/dynamic_instrumentation/?tab=configurationyaml#prerequisites [21]: /es/agent/configuration/agent-configuration-files/?tab=agentv6v7#agent-main-configuration-file [22]: /es/tracing/trace_collection/runtime_config/ @@ -164,13 +189,25 @@ En lugar de desactivar la configuración remota de forma global, Datadog recomie [24]: https://app.datadoghq.com/organization-settings/api-keys [25]: /es/agent/guide/ [26]: https://app.datadoghq.com/organization-settings/remote-config/setup?page_id=org-enablement-step -[27]: /es/agent/fleet_automation/#send-a-remote-flare +[27]: /es/agent/fleet_automation/fleet_view/#send-a-remote-flare [28]: /es/security/sensitive_data_scanner/?tab=usingtheagent -[29]: /es/agent/fleet_automation/remote_management#remotely-upgrade-your-agents +[29]: /es/agent/fleet_automation/upgrade_agents/ [30]: /es/actions/private_actions/use_private_actions/ [31]: /es/agent/guide/setup_remote_config [32]: https://app.datadoghq.com/organization-settings/remote-config/setup?page_id=api-key-enablement-step&standalone=1 [33]: /es/security/application_security/setup/ [34]: /es/security/application_security/ [35]: /es/tracing/trace_pipeline/adaptive_sampling/ -[36]: /es/tracing/dynamic_instrumentation/#explore-dynamic-instrumentation \ No newline at end of file +[36]: /es/tracing/dynamic_instrumentation/#explore-dynamic-instrumentation +[37]: /es/account_management/rbac +[38]: /es/agent/fleet_automation/#control-access-to-fleet-automation +[39]: /es/security/access_control/#permissions +[40]: /es/tracing/trace_pipeline/adaptive_sampling/#permissions +[41]: /es/account_management/rbac/permissions/#apm +[42]: /es/account_management/rbac/permissions/#cloud-security-platform +[43]: /es/security/cloud_security_management/setup/#enable-agentless-scanning +[44]: /es/account_management/rbac/permissions/#observability-pipelines +[45]: /es/account_management/rbac/permissions/#app-builder--workflow-automation +[46]: /es/account_management/rbac/permissions/#serverless +[47]: /es/containers/autoscaling +[48]: /es/feature_flags/ \ No newline at end of file diff --git a/content/es/security/code_security/iac_security/iac_rules/_index.md b/content/es/security/code_security/iac_security/iac_rules/_index.md new file mode 100644 index 00000000000..fb3cc932a30 --- /dev/null +++ b/content/es/security/code_security/iac_security/iac_rules/_index.md @@ -0,0 +1,24 @@ +--- +further_reading: +- link: /security/code_security/iac_security/setup + tag: Documentación + text: Configurar la Seguridad de IaC +- link: /security/code_security/iac_security/configuration + tag: Documentación + text: Configurar la Seguridad de IaC +title: Reglas de Seguridad de IaC +type: iac_security +--- +{{% site-region region="gov,gov2" %}} +
Este producto no es compatible con su sitio de Datadog seleccionado ({{< region-param key="dd_site_name" >}}).
+{{% /site-region %}} + +[Seguridad de IaC][1] identifica configuraciones incorrectas y riesgos de seguridad en archivos de infraestructura como código antes de la implementación, ayudando a asegurar que los entornos en la nube permanezcan seguros y cumplan con las normativas. + +
Para que la resolución de Helm funcione correctamente, cada directorio de chart debe incluir los charts de los que depende. Para más detalles, consulte Chart File Structure en la documentación de Helm.
+ +[1]: /es/security/code_security/iac_security/ + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} \ No newline at end of file diff --git a/content/es/security/sensitive_data_scanner/_index.md b/content/es/security/sensitive_data_scanner/_index.md index a03f0e51100..b2532bc407c 100644 --- a/content/es/security/sensitive_data_scanner/_index.md +++ b/content/es/security/sensitive_data_scanner/_index.md @@ -6,129 +6,175 @@ disable_toc: false further_reading: - link: /security/sensitive_data_scanner/setup/telemetry_data tag: Documentación - text: Configurar Sensitive Data Scanner para datos de telemetría + text: Configurar Sensitive Data Scanner para Datos de Telemetría - link: /security/sensitive_data_scanner/setup/cloud_storage tag: Documentación - text: Configurar Sensitive Data Scanner para el almacenamiento en la nube + text: Configurar Sensitive Data Scanner para Almacenamiento en la Nube - link: coterm tag: Documentación - text: 'CoTerm: Monitorizar sesiones de terminal y actividades confidenciales en - sistemas locales y remotos' -- link: /security/sensitive_data_scanner/guide/best_practices_for_creating_custom_rules - tag: Documentación - text: Prácticas recomendadas para crear reglas personalizadas + text: 'CoTerm: Monitorear sesiones de terminal y actividades sensibles en sistemas + locales y remotos' - link: /data_security/ tag: Documentación - text: Reducir los riesgos relacionados con los datos + text: Reduciendo riesgos relacionados con datos - link: https://www.datadoghq.com/blog/scaling-sensitive-data-scanner/ tag: Blog - text: Descubre, clasifica y corrige los problemas de datos confidenciales a escala - con Sensitive Data Scanner. + text: Descubrir, clasificar y remediar problemas de datos sensibles a gran escala + con Sensitive Data Scanner - link: https://www.datadoghq.com/blog/sensitive-data-scanner/ tag: Blog - text: Crea una estrategia moderna de protección de datos con Datadog's Sensitive - Data Scanner + text: Construir una estrategia moderna de cumplimiento de datos con Sensitive Data + Scanner de Datadog - link: https://www.datadoghq.com/blog/sensitive-data-management-best-practices/ tag: Blog - text: Prácticas recomendadas para la gestión de datos confidenciales + text: Mejores prácticas para la gestión de datos sensibles - link: https://www.datadoghq.com/blog/data-security/ tag: Blog - text: Descubre datos confidenciales en tus almacenes de datos en la nube con Data - Security + text: Descubrir datos sensibles en sus almacenes de datos en la nube con Data Security - link: https://www.datadoghq.com/blog/hipaa-compliance-sensitive-data-scanner/ tag: Blog - text: Cómo gestionan los datos confidenciales las empresas sujetas a los requisitos - de la HIPAA con Datadog + text: Cómo las empresas sujetas a los requisitos de HIPAA gestionan datos sensibles + con Datadog - link: https://www.datadoghq.com/blog/sds-dlp-for-financial-service-companies/ tag: Blog - text: Cómo las compañías financieras servicios detectan, clasifican y gestionan - datos confidenciales con Datadog + text: Cómo las empresas de servicios financieros descubren, clasifican y gestionan + datos sensibles con Datadog - link: https://www.datadoghq.com/blog/sds-for-insurance-companies/ tag: Blog - text: Cómo las compañías de seguros, clasifican y actúan ante potenciales riesgos - de los datos confidenciales con Datadog + text: Cómo las compañías de seguros descubren, clasifican y actúan sobre los riesgos + de datos sensibles con Datadog +- link: https://www.datadoghq.com/blog/llm-aws-strands + tag: Blog + text: Obtener visibilidad en los flujos de trabajo de Strands Agents con Datadog + LLM Observability +- link: https://www.datadoghq.com/blog/observability-pipelines-mssp + tag: Blog + text: Simplificar la recolección y agregación de registros para MSSPs con Datadog + Observability Pipelines +- link: https://www.datadoghq.com/blog/datadog-cloud-security-compliance + tag: Blog + text: Escalar el cumplimiento a través de marcos globales con Datadog Cloud Security title: Sensitive Data Scanner --- +## Visión General {#overview} -## Información general +Los datos sensibles, como números de tarjetas de crédito, claves de API, direcciones IP e información personal identificable (PII), a menudo se filtran de manera no intencionada, lo que puede exponer a su organización a riesgos de seguridad y cumplimiento. Los datos sensibles se pueden encontrar en: + +- Tramos de APM +- Repositorios de código +- Eventos de Event Management +- Trazas de LLM Observability +- Eventos de RUM +- Datos de telemetría, como registros de aplicaciones -Los datos confidenciales, como los números de tarjetas de crédito, las claves de API, las direcciones IP y la información personal identificable (PII), a menudo se filtran de forma no intencionada, y esto puede exponer tu organización a riesgos de seguridad y de cumplimiento. Los datos confidenciales pueden encontrarse en tus datos de telemetría, como los logs de aplicación, los tramos (spans) APM, los eventos de RUM y los eventos de Event Management. También pueden trasladarse de forma no intencionada a recursos de almacenamiento en la nube cuando los equipos de ingeniería trasladan sus cargas de trabajo a la nube. Datadog Sensitive Data Scanner puede ayudar a evitar fugas de datos confidenciales y a limitar los riesgos de incumplimiento detectando, clasificando y, opcionalmente, ocultando datos confidenciales. +Los datos sensibles también pueden ser trasladados involuntariamente a recursos de almacenamiento en la nube cuando los equipos de ingeniería mueven sus cargas de trabajo a la nube. El escáner de datos sensibles de Datadog puede ayudar a prevenir filtraciones de datos sensibles y limitar los riesgos de incumplimiento al descubrir, clasificar y, opcionalmente, redactar datos sensibles. -**Nota**: Consulta [Cumplimiento de PCI DSS][1] para obtener información sobre la creación de una organización de Datadog que cumpla con PCI. +**Nota**: Las herramientas y políticas de Datadog cumplen con PCI v4.0. Para más información, consulte [Cumplimiento de PCI DSS][1]. -## Analizar datos de telemetría +## Escanear datos de telemetría {#scan-telemetry-data} -{{< img src="sensitive_data_scanner/telemetry_data_issues.png" alt="Cinco diferentes problemas de confidencialidad detectados, de los cuales dos tienen prioridad crítica, uno tiene prioridad intermedia y dos son informativos." style="width:100%;" >}} +{{< img src="sensitive_data_scanner/telemetry_data_issues.png" alt="Se detectaron cinco hallazgos sensibles diferentes, donde dos tienen prioridad crítica, uno tiene prioridad media y dos son informativos." style="width:100%;" >}} -Sensitive Data Scanner puede analizar tus datos [en la nube](#in-the-cloud) o [en tu entorno](#in-your-environment). +El escáner de datos sensibles puede escanear sus datos [en la nube](#in-the-cloud) o [dentro de su entorno](#in-your-environment). -### En la nube {#in-the-cloud} +### En la nube {#in-the-cloud} -Con Sensitive Data Scanner en la nube, envías logs y eventos al backend Datadog, por lo que los datos salen de tu entorno antes de ser redactados. Los logs y eventos se analizan y redactan en el backend Datadog durante su procesamiento, por lo que los datos confidenciales se ocultan antes de que los eventos se indexen y se muestren en la interfaz de usuario de Datadog. +Con Sensitive Data Scanner en la nube, envía registros y eventos al backend de Datadog, por lo que los datos salen de su entorno antes de ser redactados. Los registros y eventos se escanean y se redactan en el backend de Datadog durante el procesamiento, por lo que los datos sensibles se redactan antes de que los eventos sean indexados y mostrados en Datadog UI. -Los datos que pueden analizarse y redactarse son: +Los datos que pueden ser escaneados y redactados son: -- Logs: todo el contenido estructurado y no estructurado de los logs, incluyendo los valores de mensajes y atributos de logs. -- APM: sólo valores de atributos de tramo. -- RUM: sólo valores de atributos de eventos. -- Eventos: sólo valores de atributos de eventos. +- **Registros**: Todo el contenido de registro estructurado y no estructurado, incluyendo mensajes de registro y valores de atributos +- **APM**: Solo valores de atributos de tramos +- **RUM**: Solo valores de atributos de eventos +- **Eventos**: Solo valores de atributos de eventos -{{< callout url="https://www.datadoghq.com/product-preview/role-based-sensitive-data-unmasking-in-logs" btn_hidden="false" >}} -El desenmascaramiento de los datos confidenciales en logs está en Vista previa. Para inscribirte, haz clic en Request Access (Solicitar acceso). -{{< /callout >}} +Opcionalmente, las tasas de muestreo pueden establecerse entre el 10% y el 99% para cada producto. Esto ayuda a gestionar los costos cuando comienza, al reducir la cantidad de datos que se escanean en busca de información sensible. + +Para cada [regla de escaneo][17], se puede aplicar una de las siguientes acciones a los datos sensibles coincidentes: + +- **Redactar**: Reemplace todos los datos coincidentes con un solo token que elija, como `[sensitive_data]`. +- **Redactar parcialmente**: Reemplace una porción específica de todos los valores coincidentes. +- **Hash**: Reemplace todos los datos coincidentes con un identificador único no reversible. +- **Enmascarar** (disponible solo para registros): Ofusque todos los valores coincidentes. Los usuarios con el permiso `Data Scanner Unmask` pueden desofuscar (desenmascarar) y ver estos datos en Datadog. Consulte [Acción de enmascarar][16] para más información. + +**Nota**: Al escanear datos muestreados, no podrás seleccionar acciones que ofusquen los datos que escanea. + +Para usar Sensitive Data Scanner, configure un grupo de escaneo para definir qué datos escanear y luego establezca reglas de escaneo para determinar qué información sensible identificar dentro de los datos. Para las reglas de escaneo puedes: +- Agregue reglas de escaneo predefinidas de la [Biblioteca de Reglas de Escaneo][2]. Estas reglas detectan patrones comunes como direcciones de correo electrónico, números de tarjetas de crédito, claves de API, tokens de autorización, información de red y dispositivo, y más. +- [Cree sus propias reglas utilizando patrones regex][3]. -Para utilizar Sensitive Data Scanner, configura un grupo de análisis para definir qué datos analizar y luego configura reglas de análisis para determinar qué información confidencial debe coincidir en los datos. Para las reglas de análisis puedes: -- Añadir reglas de análisis predefinidas de la [biblioteca de reglas de análisis][2] de Datadog. Estas reglas detectan patrones comunes como direcciones de correo electrónico, números de tarjetas de crédito, claves de API, tokens de autorización, información de red y dispositivos, etc. -- [Crear tus propias reglas utilizando patrones de expresiones regulares (regex)][3]. +Consulte [Configura el Escáner de Datos Sensibles para Datos de Telemetría][4] para detalles de configuración. -Para obtener más información, consulta [Configurar Sensitive Data Scanner para datos de telemetría][4]. +### En su entorno {#in-your-environment} +Utiliza [Observability Pipelines][5] para recopilar y procesar tus registros dentro de tu entorno, y luego enruta los datos a sus integraciones de destino. Cuando configure una canalización en Observability Pipelines, agregue el [procesador de Sensitive Data Scanner][6] para redactar datos sensibles en sus registros antes de que salgan de sus instalaciones. Puedes agregar reglas de escaneo predefinidas de la Biblioteca de Reglas, como direcciones de correo electrónico, números de tarjetas de crédito, claves de API, tokens de autorización, direcciones IP, y más. También puedes crear tus propias reglas utilizando patrones regex. -### En tu entorno {#in-your-environment} +Consulta [Configurar Pipelines][7] para más información. -Utiliza [Observability Pipelines][5] para recopilar y procesar tus logs de tu entorno y luego envía los datos a tus integraciones posteriores. Cuando configures un pipeline en Observability Pipelines, añade el [procesador Sensitive Data Scanner][6] para redactar los datos confidenciales de tus logs antes de que salgan de tus instalaciones. Puedes añadir reglas de análisis predefinidas de la librería de reglas, como direcciones de correo electrónico, números de tarjetas de crédito, claves de API, tokens de autorización, direcciones IP, etc. También puedes crear tus propias reglas utilizando patrones de expresiones regulares (regex). +## Escanear datos de Observabilidad de LLM {#scan-llm-observability-data} -Para obtener más información, consulta [Configurar pipelines][7]. +El Escáner de Datos Sensibles puede escanear trazas de [Observabilidad de LLM de Datadog][20], incluyendo entradas y salidas de aplicaciones de LLM. Esto ayuda a prevenir la exposición de datos sensibles como PII, claves de API o información propietaria en solicitudes, completaciones y metadatos de flujo de trabajo de LLM. -## Analizar el almacenamiento en la nube +El escaneo de Observabilidad de LLM utiliza un modelo de configuración gestionada que difiere del escaneo de datos de telemetría, donde el escaneo de Observabilidad de LLM tiene: -{{< callout header="Disponibilidad limitada" url="https://www.datadoghq.com/private-beta/data-security" >}} -La compatibilidad del análisis de buckets de Amazon S3 e instancias RDS está en Disponibilidad limitada. Para inscribirte, haz clic en Request Access (Solicitar acceso). +- **Un grupo de escaneo gestionado**: Se crea automáticamente un grupo de escaneo predeterminado para su organización cuando accede por primera vez a la [LLM Observability Settings page][18]. No puede crear grupos de escaneo adicionales ni eliminar el grupo gestionado. +- **Reglas personalizables**: Puede modificar reglas existentes, desactivar las que no necesite o agregar reglas de escaneo personalizadas para detectar patrones adicionales de datos sensibles. + +Para cada regla de escaneo, se puede aplicar una de las siguientes acciones a los datos sensibles coincidentes: + +- **Redactar**: Reemplace todos los datos coincidentes con un solo token que elija, como `[sensitive_data]`. +- **Redactar parcialmente**: Reemplace una porción específica de todos los valores coincidentes. +- **Hash**: Reemplace todos los datos coincidentes con un identificador único no reversible. + +Para configurar el escaneo de datos de LLM Observability, navegue a la [LLM Observability Settings page][18] en la configuración de Sensitive Data Scanner. Para más información sobre LLM Observability, consulte la [LLM Observability documentation][20]. + +## Escanear almacenamiento en la nube {#scan-cloud-storage} + +{{< callout url="https://www.datadoghq.com/product-preview/data-security" >}} + El soporte de escaneo para buckets de Amazon S3 e instancias de RDS está en vista previa. Para inscribirse, haga clic en Solicitar Acceso. {{< /callout >}} -{{< img src="sensitive_data_scanner/cloud_storage_issues.png" alt="Sección del almacén de datos de la página de resumen con tres incidentes de Amazon S3" style="width:100%;" >}} +{{< img src="sensitive_data_scanner/cloud_storage_issues.png" alt="La sección de almacenamiento de la página de Hallazgos con tres hallazgos de Amazon S3" style="width:100%;" >}} + +Si tiene habilitado Sensitive Data Scanner, puede catalogar y clasificar datos sensibles en sus buckets de Amazon S3. **Nota**: Sensitive Data Scanner no redacta datos sensibles en sus recursos de almacenamiento en la nube. + +Sensitive Data Scanner escanea en busca de datos sensibles al desplegar [scáneres sin agente][8] en tus entornos en la nube. Estas instancias de escaneo recuperan una lista de todos los S3 buckets a través de [Remote Configuration][9] y tienen instrucciones establecidas para escanear archivos de texto, como CSV y JSON, a lo largo del tiempo. + +Sensitive Data Scanner aprovecha su [completa biblioteca de reglas][10] para encontrar coincidencias. Cuando se encuentra una coincidencia, la ubicación de la coincidencia se envía a Datadog por la instancia de escaneo. **Nota**: Los almacenes de datos y sus archivos solo se leen en su entorno; no se envían datos sensibles escaneados de vuelta a Datadog. + +Además de mostrar coincidencias de datos sensibles, Sensitive Data Scanner muestra cualquier problema de seguridad detectado por [Cloud Security][11] que afecte a los almacenes de datos sensibles. Puede hacer clic en cualquier problema para continuar con la triage y la remediación dentro de Cloud Security. -Si tienes Sensitive Data Scanner activado, puedes catalogar y clasificar datos confidenciales en tus buckets de Amazon S3 e instancias de RDS. **Nota**: Sensitive Data Scanner no redacta datos confidenciales en tus recursos de almacenamiento en la nube. +Consulte [Set up Sensitive Data Scanner for Cloud Storage][12] para detalles de configuración. -Sensitive Data Scanner analiza en busca de datos confidenciales, desplegando [analizadores agentless][8] en tus entornos en la nube. Estas instancias de análisis recuperan una lista de todos los buckets de S3 e instancias de RDS mediante [configuración remota][9] y tienen instrucciones configuradas para analizar archivos de texto (como CSV y JSON) y tablas en cada almacén de datos a lo largo del tiempo. +## Escanear repositorios de código {#scan-code-repositories} -Sensitive Data Scanner aprovecha tu [biblioteca de reglas completa][10] para encontrar coincidencias. Cuando se encuentra una coincidencia, la instancia de análisis envía la ubicación de la coincidencia a Datadog. **Nota**: Los almacenes de datos y sus archivos sólo se leen en tu entorno. No se envía a Datadog ningún dato confidencial que haya sido analizado. +Datadog [Secret Scanning][21] escanea repositorios de código para detectar secretos expuestos en el código fuente. Secret Scanning es impulsado por Sensitive Data Scanner y utiliza todas las reglas de la [categoría de secretos y credenciales][19] de la biblioteca SDS para encontrar coincidencias. -Además de mostrar las coincidencias de datos confidenciales, Sensitive Data Scanner muestra cualquier problema de seguridad detectado por [Cloud Security][11] que afecte a los almacenes de datos confidenciales. Puedes hacer clic en cualquier problema para continuar con la clasificación y la corrección dentro de Cloud Security. +A diferencia del escaneo de datos de telemetría, Secret Scanning opera en sus pipelines de CI/CD o directamente en Datadog con escaneo alojado (compatible con GitHub, Azure DevOps y GitLab). Cuando se detectan secretos en el código, los hallazgos se muestran en la interfaz de Code Security. -Para obtener información sobre la configuración, consulta [Configurar Sensitive Data Scanner para el almacenamiento en la nube][12]. +Consulte [Secret Scanning documentation][21] para detalles de configuración. -## Investigar problemas de datos confidenciales +## Investigar hallazgos de datos sensibles {#investigate-sensitive-data-findings} -{{< img src="sensitive_data_scanner/sds_summary_20250203.png" alt="Página de resumen que muestra información general de los problemas de confidencialidad desglosados por prioridad" style="width:100%;" >}} +{{< img src="sensitive_data_scanner/findings_20251014.png" alt="La página de Hallazgos muestra una visión general de los hallazgos sensibles desglosados por prioridad." style="width:100%;" >}} -Utiliza la [página de resumen][13] para ver los detalles de problemas de datos confidenciales identificados por tus reglas de análisis. Estos detalles incluyen: +Utilice la [página de Hallazgos][13] para ver detalles de los hallazgos de datos sensibles identificados por sus reglas de escaneo. Estos detalles incluyen: -- La regla de análisis específica que detectó las coincidencias, para que puedas determinar qué reglas modificar, según sea necesario. -- El grupo de análisis en el que se produjo el problema, para que puedas determinar el radio de explosión de cualquier fuga. -- El número de incidentes asociados al problema, para ayudarte a calibrar tu contexto y gravedad. -- Un gráfico de los eventos asociados al problema, para ayudarte a determinar con precisión cuándo comenzó un problema y ver cómo evolucionó. -- Casos relacionados creados para el problema. +- La regla de escaneo específica que detectó las coincidencias, para que pueda determinar qué reglas modificar según sea necesario. +- El grupo de escaneo en el que ha ocurrido el hallazgo, para que pueda determinar el radio de explosión de cualquier fuga. +- El número de eventos asociados con el hallazgo para ayudarle a evaluar su alcance y gravedad. +- Un gráfico de los eventos asociados con el hallazgo para ayudarle a identificar cuándo comenzó y cómo ha progresado. +- Incidencias relacionadas creadas para el hallazgo. -Consulta [Investigar problemas de datos confidenciales][14] para obtener más información sobre cómo utilizar la página de resumen para clasificar problemas de datos confidenciales. +Consulte [Investigar hallazgos de datos sensibles][14] para obtener más información sobre cómo clasificar datos sensibles utilizando la página de Hallazgos. -## Revisar las tendencias de los datos confidenciales +## Revise las tendencias de datos sensibles {#review-sensitive-data-trends} {{Sensitive Data Scanner Overview dashboard}} -Cuando se activa Sensitive Data Scanner, en tu cuenta se instala automáticamente un [dashboard predefinido][15] que resume los problemas de datos confidenciales. Para acceder a este dashboard, ve a **Dashboards** > **Lista de dashboards** y busca "Información general de Sensitive Data Scanner". +Cuando Sensitive Data Scanner está habilitado, se instala automáticamente en su cuenta un [out-of-the-box dashboard][15] que resume los hallazgos de datos sensibles. Para acceder a este dashboard, navegue a **Dashboards** > **Dashboard List** y busque "Sensitive Data Scanner Overview". -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -138,12 +184,18 @@ Cuando se activa Sensitive Data Scanner, en tu cuenta se instala automáticament [4]: /es/security/sensitive_data_scanner/setup/telemetry_data/ [5]: /es/observability_pipelines/ [6]: /es/observability_pipelines/processors/sensitive_data_scanner -[7]: /es/observability_pipelines/set_up_pipelines/ +[7]: /es/observability_pipelines/configuration/set_up_pipelines/ [8]: /es/security/cloud_security_management/setup/agentless_scanning -[9]: /es/agent/remote_config +[9]: /es/remote_configuration [10]: /es/security/sensitive_data_scanner/scanning_rules/library_rules/ [11]: /es/security/cloud_security_management [12]: /es/security/sensitive_data_scanner/setup/cloud_storage/ [13]: https://app.datadoghq.com/organization-settings/sensitive-data-scanner -[14]: /es/security/sensitive_data_scanner/guide/investigate_sensitive_data_issues/ +[14]: /es/security/sensitive_data_scanner/guide/investigate_sensitive_data_findings/ [15]: https://app.datadoghq.com/dash/integration/sensitive_data_scanner +[16]: /es/security/sensitive_data_scanner/setup/telemetry_data/?tab=logs#mask-action +[17]: /es/security/sensitive_data_scanner/scanning_rules/ +[18]: https://app.datadoghq.com/sensitive-data-scanner/configuration/llm-spans +[19]: /es/security/sensitive_data_scanner/scanning_rules/library_rules/?category=Secrets+and+credentials#overview +[20]: /es/llm_observability/ +[21]: /es/security/code_security/secret_scanning/ \ No newline at end of file diff --git a/content/es/serverless/aws_lambda/distributed_tracing.md b/content/es/serverless/aws_lambda/distributed_tracing.md index 1afb2a02f08..c87b5101249 100644 --- a/content/es/serverless/aws_lambda/distributed_tracing.md +++ b/content/es/serverless/aws_lambda/distributed_tracing.md @@ -9,57 +9,57 @@ aliases: further_reading: - link: /tracing/ tag: Documentación - text: Explora Datadog APM + text: Explorar Datadog APM - link: /tracing/trace_search_and_analytics/#live-search-for-15-minutes tag: Documentación - text: Búsqueda dinámica + text: Búsqueda en vivo - link: https://www.datadoghq.com/blog/aws-lambda-tracing-go-java-functions/ tag: Blog - text: Rastreo distribuido en tiempo real para funciones de Lambda de Go y Java + text: Trazado distribuido en tiempo real para funciones Lambda de Go y Java - link: https://www.datadoghq.com/blog/datadog-serverless-view/ tag: Blog - text: Monitoriza tu pila serverless en la vista serverless + text: Monitoree su pila Serverless en la visualización Serverless - link: https://www.datadoghq.com/blog/monitor-aws-fully-managed-services-datadog-serverless-monitoring/ tag: Blog - text: Datadog Serverless Monitoring para servicios totalmente gestionados de AWS + text: Serverless Monitoring de Datadog para servicios completamente administrados + de AWS - link: https://www.datadoghq.com/blog/dotnet-lambda-functions-distributed-tracing/ tag: Blog - text: Rastreo distribuido en tiempo real para funciones de Lambda de .NET -title: Rastreo distribuido con aplicaciones serverless de AWS Lambda + text: Trazado distribuido en tiempo real para funciones Lambda de .NET +title: Trazado distribuido con aplicaciones Serverless de AWS Lambda --- +{{< img src="tracing/serverless_functions/ServerlessDistributedTrace.png" alt="Trace funciones Serverless" style="width:100%;">}} -{{< img src="tracing/serverless_functions/ServerlessDistributedTrace.png" alt="Rastrear funciones serverless" style="width:100%;">}} +Al conectar sus trazas Serverless con métricas, Datadog proporciona una imagen rica en contexto del rendimiento de su aplicación, permitiéndole resolver de forma más efectiva los problemas de rendimiento dada la naturaleza distribuida de las aplicaciones Serverless. -Al conectar tus trazas (traces) serverless a métricas, Datadog brinda una imagen rica en contexto del rendimiento de tu aplicación, lo que te permite solucionar mejor los problemas de rendimiento dada la naturaleza distribuida de las aplicaciones serverless. +Los SDK de Datadog para Python, Node.js, Ruby, Go, Java y .NET soportan trazado distribuido para AWS Lambda. -Las bibliotecas de rastreo de Python, Node.js, Ruby, Go, Java y .NET de Datadog admiten el rastreo distribuido para AWS Lambda. +## Envíe trazas desde su aplicación Serverless {#send-traces-from-your-serverless-application} -## Enviar trazas desde una aplicación serverless +{{< img src="serverless/serverless_tracing_installation_instructions.png" alt="Diagrama de arquitectura para la traza de AWS Lambda con Datadog" >}} -{{< img src="serverless/serverless_tracing_installation_instructions.png" alt="Diagrama de la arquitectura del rastreo de AWS Lambda con Datadog" >}} +Los SDK de Datadog para Python, Node.js, Ruby, Go, Java y .NET soportan trazado distribuido para AWS Lambda. Puede instalar el SDK siguiendo las [instrucciones de instalación][5]. -Las bibliotecas de rastreo de Python, Node.js, Ruby, Go, Java y .NET de Datadog admiten el rastreo distribuido para AWS Lambda. Puedes instalar el rastreador siguiendo las [instrucciones de instalación][5]. Si ya tienes instalada la extensión, asegúrate de que la variable de entorno `DD_TRACE_ENABLED` esté definida como `true`. - -### Recomendaciones sobre el tiempo de ejecución +### Recomendaciones de tiempo de ejecución {#runtime-recommendations} {{< card-grid card_width="30%" image_width="200">}} {{< image-card href="/serverless/distributed_tracing#python-and-nodejs" src="integrations_logos/python.png" alt="Python" >}} {{< image-card href="/serverless/distributed_tracing#python-and-nodejs" src="integrations_logos/nodejs.png" alt="Node.js" >}} {{< image-card href="/serverless/distributed_tracing#ruby" src="integrations_logos/ruby.png" alt="Ruby" >}} {{< image-card href="/serverless/distributed_tracing#java" src="integrations_logos/java.png" alt="Java" >}} - {{< image-card href="/serverless/distributed_tracing#go" src="integrations_logos/go-metro.png" alt="go" >}} + {{< image-card href="/serverless/distributed_tracing#go" src="integrations_logos/go-metro.png" alt="Go" >}} {{< image-card href="/serverless/distributed_tracing#net" src="integrations_logos/dotnet_text.png" alt=".NET" >}} {{< /card-grid >}} -#### Python y Node.js +#### Python y Node.js {#python-and-nodejs} -La biblioteca Lambda de Datadog y las bibliotecas de rastreo para Python y Node.js admiten lo siguiente: -- Correlación automática de logs y trazas de Lambda con ID de traza e inyección de etiquetas. -- Instalación sin cambios en el código mediante las integraciones de Serverless Framework, AWS SAM y AWS CDK. -- Rastreo de solicitudes HTTP que invocan contenedores o funciones de Lambda. -- Rastreo de invocaciones de Lambda consecutivas realizadas a través de AWS SDK. -- Rastreo de arranque en frío -- Rastreo de invocaciones de Lambda asíncronas a través de AWS Managed Services +La biblioteca y SDKs de Datadog Lambda para Python y Node.js soportan: +- Correlación automática de registros y trazas de Lambda con ID de traza e inyección de etiquetas. +- Instalación sin cambios en el código utilizando Serverless Framework, AWS SAM e integraciones de AWS CDK. +- Trazado de solicitudes HTTP que invocan funciones Lambda o contenedores descendentes. +- Trazado de invocaciones consecutivas de Lambda realizadas a través del SDK de AWS. +- Trazado de inicio en frío +- Trazado de invocaciones asíncronas de Lambda a través de Servicios Administrados de AWS - API Gateway - SQS - SNS @@ -69,78 +69,78 @@ La biblioteca Lambda de Datadog y las bibliotecas de rastreo para Python y Node. - DynamoDB - S3 - Step Functions -- Rastreo de decenas de bibliotecas de [Python][3] y [Node.js][4] adicionales listas para usar. +- Trazado de docenas de bibliotecas adicionales listas para usar [Python][3] y [Node.js][4]. -En el caso de las aplicaciones serverless de Python y Node.js, Datadog recomienda [instalar bibliotecas de rastreo de Datadog][5]. +Para aplicaciones Serverless en Python y Node.js, Datadog recomienda que [instale los SDKs de Datadog][5]. -*¿Quieres efectuar rastreos a través de recursos serverless que no figuran en la lista anterior? [Abre una solicitud de característica][7].* +*¿Busca trazar recursos Serverless que no están listados arriba? [Abra una solicitud de función][7].* -#### Ruby +#### Ruby {#ruby} -La biblioteca Lambda de Datadog y las bibliotecas de rastreo para Ruby admiten lo siguiente: +La Biblioteca Lambda de Datadog y los SDKs para Ruby soportan: - Correlación automática de logs y trazas de Lambda con ID de traza e inyección de etiquetas. -- Rastreo de solicitudes HTTP que invocan contenedores o funciones de Lambda. -- Rastreo de decenas de bibliotecas de [Ruby][8] adicionales listas para usar. +- Trazado de solicitudes HTTP que invocan funciones Lambda o contenedores descendentes. +- Trazado de docenas de bibliotecas adicionales de [Ruby][8] listas para usar. -Puedes rastrear funciones serverless en Datadog con [bibliotecas de rastreo de Datadog][5]. +Puede trazar sus funciones Serverless en Datadog con [los SDK de Datadog][5]. -*¿Quieres efectuar rastreos a través de recursos serverless que no figuran en la lista anterior? [Abre una solicitud de característica][7].* +*¿Busca trazar recursos Serverless que no están listados arriba? [Abra una solicitud de función][7].* -#### Go +#### Go {#go} -La biblioteca Lambda de Datadog y las bibliotecas de rastreo para Go admiten lo siguiente: -- Correlación manual de logs y trazas de Lambda con ID de traza e inyección de etiquetas. -- Rastreo de solicitudes HTTP que invocan contenedores o funciones de Lambda. -- Rastreo de decenas de bibliotecas de [Go][9] adicionales listas para usar. +La Biblioteca Lambda de Datadog y los SDKs para Go soportan: +- Correlación manual de registros y trazas de Lambda con ID de traza e inyección de etiquetas. +- Trazado de solicitudes HTTP que invocan funciones Lambda o contenedores descendentes. +- Trazado de docenas de bibliotecas adicionales de [Go][9] listas para usar. -En el caso de las aplicaciones serverless de Go, Datadog recomienda instalar [bibliotecas de rastreo de Datadog][5]. +Para aplicaciones Serverless en Go, Datadog recomienda instalar [los SDK de Datadog][5]. -*¿Quieres efectuar rastreos a través de recursos serverless que no figuran en la lista anterior? [Abre una solicitud de característica][7].* +*¿Busca trazar recursos Serverless que no están listados arriba? [Abra una solicitud de función][7].* -#### Java +#### Java {#java} -La biblioteca Lambda de Datadog y las bibliotecas de rastreo para Java admiten lo siguiente: -- Correlación de logs y trazas de Lambda con ID de traza e inyección de etiquetas. Consulta [Conexión de logs y trazas de Java][10] para obtener más detalles. -- Rastreo de solicitudes HTTP que invocan contenedores o funciones de Lambda. -- Rastreo de decenas de bibliotecas de [Java][11] adicionales listas para usar. +La Biblioteca Lambda de Datadog y los SDKs para Java soportan: +- Correlación de los registros y trazas de Lambda con el ID de traza y la inyección de etiquetas. Consulte [Conectando registros y trazas de Java][10] para más detalles. +- Trazado de solicitudes HTTP que invocan funciones Lambda o contenedores descendentes. +- Trazado de docenas de bibliotecas adicionales de [Java][11] listas para usar. -En el caso de las aplicaciones serverless de Java, Datadog recomienda [instalar bibliotecas de rastreo de Datadog][5]. +Para aplicaciones Serverless en Java, Datadog recomienda [instalar los SDK de Datadog][5]. -*¿Tienes comentarios sobre las bibliotecas de rastreo de Datadog para las funciones de Lambda de Java? Asegúrate de consultar las discusiones en el canal [#serverless][12] de la [Comunidad de Slack de Datadog][13].* +*¿Tiene comentarios sobre los SDK de Datadog para funciones Lambda en Java? Asegúrese de revisar las discusiones que se están llevando a cabo en el canal [#serverless][12] de la [comunidad de Datadog en Slack][13].* -#### .NET +#### .NET {#net} -La biblioteca de rastreo para .NET admite lo siguiente: -- Rastreo de solicitudes HTTP que invocan contenedores o funciones de Lambda. -- Rastreo de decenas de bibliotecas de [.NET][14] adicionales listas para usar. +El SDK para .NET soporta: +- Trazado de solicitudes HTTP que invocan funciones Lambda o contenedores descendentes. +- Trazado de docenas de bibliotecas adicionales de [.NET][14] listas para usar. -En el caso de las aplicaciones serverless de .NET, Datadog recomienda [instalar bibliotecas de rastreo de Datadog][5]. +Para aplicaciones sin servidor en .NET, Datadog recomienda [instalar los SDK de Datadog][5]. -Obtén más información sobre el [rastreo a través de aplicaciones serverless de Azure de .NET][15]. +Aprenda más sobre [el trazado a través de aplicaciones Serverless en .NET Azure][15]. -## Enlace automático de tramos (span) -{{< img src="serverless/lambda/tracing/autolink.png" alt="En Datadog, una traza DynamoDB. En la parte superior, un mensaje dice: 'Esta traza está vinculada con otras trazas'. La pestaña Enlaces de tramos está abierta y muestra un enlace que permite hacer clic en él para ir a otra traza de DynamoDB." style="width:100%;" >}} +## Auto-enlazado de tramos {#span-auto-linking} +{{< img src="serverless/lambda/tracing/autolink.png" alt="En Datadog, una traza de DynamoDB. En la parte superior, un mensaje dice 'Esta traza está vinculada a otras trazas'. La pestaña Span Links está abierta y muestra un enlace clicable a otra traza de DynamoDB." style="width:100%;" >}} -Datadog detecta automáticamente tramos vinculados cuando los segmentos de tus solicitudes asíncronas no pueden propagar el contexto de rastreo. Por ejemplo, esto puede ocurrir cuando una solicitud activa [eventos de cambios de S3][28], o [flujos (streams) DynamoDB][29]. Puedes ver que aparecen tramos autovinculados en la pestaña [Enlaces de tramos][30]. Estos aparecen como Backward (Atrás) o **Forward** (Adelante). +Datadog detecta automáticamente los tramos vinculados cuando los segmentos de sus solicitudes asíncronas no pueden propagar el contexto de la traza. Por ejemplo, esto puede ocurrir cuando una solicitud activa un [Evento de Cambio de S3][28] o [Flujos de DynamoDB][29]. Puede ver que los tramos auto-enlazados aparecen en la pestaña [Enlaces de Tramos][30]. Estos aparecen como **Hacia Atrás** o **Hacia Adelante**. -_Backward_ (Atrás): El tramo vinculado fue generado por la traza que estás visualizando. +_Hacia Atrás_: El tramo enlazado fue causado por la traza que está visualizando. -_Forward_ (Adelante): El tramo vinculado generó la traza que estás visualizando. +_Hacia Adelante_: El tramo enlazado causó la traza que está visualizando. -
Los filtros de muestreo y retención de trazas pueden interferir con el enlace automático. Para aumentar tus posibilidades de ver tramos de enlace automático, aumenta tu frecuencia de muestreo o ajusta tus filtros de retención.
+
Los filtros de muestreo y retención de trazas pueden interferir con el auto-enlazado. Para mejorar sus posibilidades de ver tramos auto-enlazados, aumente su tasa de muestreo o ajuste sus filtros de retención de trazas.
-### Tecnologías compatibles +### Tecnologías soportadas {#supported-technologies} -El enlace automático de tramos está disponible para: -- Funciones Lambda Python AWS instrumentadas con la capa [`Datadog-lambda-Python`][33] v101 o posterior -- Aplicaciones Python instrumentadas con [`dd-rastrear-py`][31] v2.16 o posterior -- Funciones Lambda Node.js AWS instrumentadas con la capa [`Datadog-lambda-js`][34] v118 o posterior -- Aplicaciones Node.js instrumentadas con [`dd-rastrear-js`][32] v4.53.0 o posterior o v5.29.0 o posterior +El auto-enlazado de tramos está disponible para: +- Funciones de Python AWS Lambda instrumentadas con [`datadog-lambda-python`][33] capa v101+ +- Aplicaciones de Python instrumentadas con [`dd-trace-py`][31] v2.16+ +- Funciones de Node.js AWS Lambda instrumentadas con [`datadog-lambda-js`][34] capa 118+ +- Aplicaciones de Node.js instrumentadas con [`dd-trace-js`][32] v4.53.0+ o v5.29.0+ -### Enlace automático de flujos de cambios de DynamoDB +### Auto-enlazado de DynamoDB Change Stream {#dynamodb-change-stream-auto-linking} -En los [flujos de cambios de DynamoDB][29], el enlace automático de tramos admite las siguientes operaciones: +Para [DynamoDB Change Streams][29], el auto-enlazado de tramos soporta las siguientes operaciones: - `PutItem` - `UpdateItem` @@ -148,107 +148,98 @@ En los [flujos de cambios de DynamoDB][29], el enlace automático de tramos admi - `BatchWriteItem` - `TransactWriteItems` -
La operación PutItem requiere una configuración adicional. Para obtener más información, consulta Instrumentación de aplicaciones Python serverless o Instrumentación de aplicaciones Node.js serverless.
+
El PutItem la operación requiere configuración adicional. Para más información, consulte Instrumentando Aplicaciones Serverless en Python o Instrumentando Aplicaciones Serverless en Node.js.
-### Enlace automático de notificaciones de cambios de S3 +### Auto-enlazado de Notificaciones de Cambio en S3 {#s3-change-notification-auto-linking} -En las [notificaciones de cambios de S3][28], el enlace automático de tramos admite las siguientes operaciones: +Para [Notificaciones de Cambio en S3][28], el auto-enlazado de tramos soporta las siguientes operaciones: - `PutObject` - `CompleteMultipartUpload` - `CopyObject` -## Entornos híbridos - -Si instalaste las bibliotecas de rastreo de Datadog (`dd-trace`) en tus hosts y funciones de Lambda, tus trazas te mostrarán automáticamente la imagen completa de las solicitudes que cruzan los límites de la infraestructura, ya sea de AWS Lambda, contenedores, hosts on-prem o servicios gestionados. - -Si `dd-trace` está instalado en tus hosts con el Datadog Agent y tus funciones serverless se rastrean con AWS X-Ray, es necesario fusionar las trazas para ver una traza única y conectada de toda la infraestructura. Consulta la documentación [Fusión de trazas serverless][6] para obtener más información sobre la fusión de trazas de `dd-trace` y AWS X-Ray. +## Entornos híbridos {#hybrid-environments} -La [integración de AWS X-Ray][2] de Datadog solo ofrece trazas para las funciones de Lambda. Consulta la [documentación de Datadog APM][16] para obtener más información sobre el rastreo en entornos basados en contenedores o hosts. +Para visibilidad de extremo a extremo a través de funciones Lambda, hosts, contenedores y servicios administrados, instale los SDKs de Datadog (`dd-trace`) tanto en sus funciones Lambda como en sus hosts. Sus trazas mostrarán entonces una imagen completa de las solicitudes que cruzan los límites de infraestructura. -## Creación de perfiles de tus funciones Lambda +En Lambda, instale `dd-trace` con la [Extensión de Lambda de Datadog][35], que ejecuta el Agente de Datadog dentro del entorno de ejecución de Lambda y envía trazas directamente a Datadog con un mínimo de sobrecarga. La Extensión de Lambda es el método de instalación recomendado para nuevas y existentes aplicaciones Serverless. -[Continuous Profiler][27] de Datadog está disponible en Vista Previa para Python en la versión 4.62.0 y la versión de capa 62 y posteriores. Esta función opcional se activa configurando la variable de entorno `DD_PROFILING_ENABLED` como `true`. +Consulte la [documentación de APM de Datadog][16] para la configuración de trazado en entornos basados en contenedores y hosts. -Continuous Profiler genera un subproceso que se activa periódicamente y toma una snapshot de la CPU y el montículo de todo el código de Python en ejecución. Esto puede incluir el propio generador de perfiles. Si quieres que el generador de perfiles se ignore a sí mismo, define `DD_PROFILING_IGNORE_PROFILER` como `true`. +## Perfilando sus Funciones Lambda {#profiling-your-lambda-functions} -## Fusión de trazas +El [Continuous Profiler][27] de Datadog está disponible en versión preliminar para Python en la versión 4.62.0 y las versiones de capa 62 y superiores. Esta función opcional se habilita configurando la variable de entorno `DD_PROFILING_ENABLED` a `true`. -### Casos prácticos +El Continuous Profiler funciona creando un hilo que se despierta periódicamente y toma una instantánea de la CPU y el heap de todo el código Python en ejecución. Esto puede incluir el propio Continuous Profiler. Si desea que el Continuous Profiler se ignore a sí mismo, configure `DD_PROFILING_IGNORE_PROFILER` a `true`. -Datadog recomienda usar solo la biblioteca de rastreo de Datadog APM (`dd-trace`), pero en algunas situaciones avanzadas los usuarios pueden combinar el rastreo de Datadog y AWS X-Ray mediante la fusión de trazas. La fusión de trazas está disponible para las funciones de AWS Lambda de Node.js y Python. Si no estás seguro de qué biblioteca de rastreo usar, lee sobre [cómo elegir una biblioteca de rastreo][17]. +## Fusión de Trazas {#trace-merging} -Hay dos razones principales para instrumentar las bibliotecas de rastreo de `dd-trace` y AWS X-Ray: -- En un entorno serverless de AWS, ya rastreas tus funciones de Lambda con `dd-trace`, necesitas el rastreo activo de AWS X-Ray para los servicios gestionados de AWS como AppSync y Step Functions, y quieres visualizar los tramos de `dd-trace` y AWS X-Ray en una sola traza. -- En un entorno híbrido con hosts y funciones de Lambda, `dd-trace` instrumenta tus hosts, AWS X-Ray instrumenta tus funciones de Lambda, y quieres visualizar las trazas conectadas sobre las transacciones entre los hosts y las funciones de Lambda. +### Casos de uso {#use-cases} -**Nota:** Esto puede dar lugar a facturas de uso más elevadas. Los tramos de X-Ray siguen estando disponibles en tus trazas fusionadas después de 2 o 5 minutos. En muchos casos, Datadog recomienda utilizar una sola biblioteca de rastreo. Obtén más información sobre [cómo elegir una biblioteca de rastreo][17]. +Datadog recomienda usar solo la biblioteca de traza de Datadog APM (`dd-trace`), pero en algunas situaciones avanzadas, los usuarios pueden combinar Datadog tracing y AWS X-Ray utilizando la fusión de trazas. La fusión de trazas está disponible para funciones de AWS Lambda en Node.js y Python. Si no está seguro de qué SDK usar, lea sobre [elegir su SDK][17]. -A continuación se ofrecen instrucciones de configuración para cada uno de los casos de uso mencionados: +
El trazado de AWS Step Functions es compatible de forma nativa con Datadog y ya no requiere X-Ray. Vea Serverless Monitoring para AWS Step Functions y Merge Step Functions and Lambda Traces.
-- [Fusión de trazas en un entorno serverless](#trace-merging-in-an-AWS-serverless-environment) -- [Fusión de trazas entre AWS Lambda y hosts](#tracing-across-aws-lambda-and-hosts) +Hay dos razones principales para instrumentar tanto `dd-trace` como las bibliotecas de traza de AWS X-Ray: +- En un entorno serverless de AWS, ya está trazando sus funciones Lambda con `dd-trace`, necesita la traza activa de AWS X-Ray para un servicio administrado por AWS que Datadog APM aún no instrumenta (como AppSync), y desea visualizar los `dd-trace` y los tramos de AWS X-Ray en una sola traza. +- En un entorno híbrido con funciones Lambda y servidores, `dd-trace` instrumenta sus servidores, AWS X-Ray instrumenta sus funciones Lambda, y desea visualizar trazas conectadas para transacciones a través de funciones Lambda y servidores. -### Fusión de trazas en un entorno serverless de AWS +**Nota:** Esto puede resultar en facturas de uso más altas. Los tramos de X-Ray continúan disponibles en sus trazas fusionadas después de 2-5 minutos. En muchos casos, Datadog recomienda usar un solo SDK. Aprenda más sobre [elegir su SDK][17]. -AWS X-Ray ofrece tanto un servicio backend de AWS (el rastreo activo de AWS X-Ray) como un conjunto de bibliotecas de clientes. La [Habilitación de solo el servicio backend de AWS en la consola de Lambda][18] te otorga los tramos `Initialization` e `Invocation` para tus funciones de AWS Lambda. También puedes habilitar el rastreo activo de AWS X-Ray desde las consolas de API Gateway y Step Functions. +Puede encontrar instrucciones de configuración para cada uno de los casos de uso anteriores a continuación: -Tanto el SDK de AWS X-Ray como las bibliotecas de clientes de Datadog APM (`dd-trace`) añaden metadatos y tramos para las llamadas descendentes mediante el acceso directo a la función. Suponiendo que utilizas `dd-trace` para rastrear en el nivel de controlador, tu configuración debe ser similar a la siguiente: +- [Fusión de trazas en un entorno orientado a serverless](#trace-merging-in-an-AWS-serverless-environment) +- [Fusión de trazas entre AWS Lambda y servidores](#tracing-across-aws-lambda-and-hosts) -1. Habilitaste el [rastreo activo de AWS X-Ray][18] en tus funciones de Lambda desde la consola de AWS Lambda y nuestra [integración de AWS X-Ray dentro de Datadog][19]. -2. Instrumentaste tus funciones de Lambda con Datadog APM (`dd-trace`) siguiendo las [instrucciones de instalación de tu tiempo de ejecución de Lambda][5]. -3. `dd-trace` parchea automáticamente las bibliotecas de terceros, por lo que no es necesario instalar las bibliotecas de clientes de AWS X-Ray. -4. Define la variable de entorno `DD_MERGE_XRAY_TRACES` como `true` en tus funciones de Lambda para fusionar las trazas de X-Ray y `dd-trace` (`DD_MERGE_DATADOG_XRAY_TRACES` en Ruby). +### Fusión de trazas en un entorno serverless de AWS {#trace-merging-in-an-aws-serverless-environment} -### Rastreo entre AWS Lambda y hosts +AWS X-Ray proporciona tanto un servicio backend de AWS (AWS X-Ray active tracing) como un conjunto de bibliotecas de cliente. [Habilitar solo el servicio backend de AWS en la consola de Lambda][18] le brinda `Initialization` y `Invocation` tramos para sus funciones de AWS Lambda. También puede habilitar AWS X-Ray active tracing desde las consolas de API Gateway y Step Function. -#### Propagación de contextos con bibliotecas de rastreo de Datadog -Si instalaste las bibliotecas de rastreo de Datadog (`dd-trace`) en tus hosts y funciones de Lambda, tus trazas te mostrarán automáticamente la imagen completa de las solicitudes que cruzan los límites de la infraestructura, ya sea de AWS Lambda, contenedores, hosts on-prem o servicios gestionados. +Tanto el SDK de AWS X-Ray como las bibliotecas de clientes de Datadog APM (`dd-trace`) añaden metadatos y tramos para llamadas descendentes accediendo a la función directamente. Suponiendo que está utilizando `dd-trace` para rastrear a nivel de controlador, su configuración debería ser similar a la siguiente: -#### Propagación de contextos con la integración X-Ray -Si `dd-trace` está instalado en tus hosts con el Datadog Agent y tus funciones serverless de Node.js o Python se rastrean con AWS X-Ray, tu configuración debe ser similar a la siguiente: +1. Ha habilitado el [rastreo activo de AWS X-Ray][18] en sus funciones Lambda desde la consola de AWS Lambda y nuestra [integración de AWS X-Ray dentro de Datadog][19]. +2. Ha instrumentado sus funciones Lambda con Datadog APM (`dd-trace`) siguiendo las [instrucciones de instalación para su entorno de ejecución de Lambda][5]. +3. Las bibliotecas de terceros son parcheadas automáticamente por `dd-trace`, por lo que no es necesario instalar las bibliotecas de clientes de AWS X-Ray. +4. Establezca la variable de entorno `DD_MERGE_XRAY_TRACES` en `true` en sus funciones Lambda para fusionar las trazas de X-Ray y `dd-trace` (`DD_MERGE_DATADOG_XRAY_TRACES` en Ruby). -1. Instalaste la [integración de AWS X-Ray][18] para rastrear tus funciones de Lambda, para lo cual habilitaste el rastreo activo de AWS X-Ray e instalaste las bibliotecas de clientes de X-Ray. -2. Has instalado la [biblioteca Datadog Lambda para tu tiempo de ejecución Lambda][5] y la variable de entorno `DD_TRACE_ENABLED` está configurada como `true`. -3. [Datadog APM][20] está configurado en tu infraestructura basada en hosts y contenedores. +### Rastreo a través de AWS Lambda y servidores {#tracing-across-aws-lambda-and-hosts} -Entonces, para que las trazas de X-Ray y Datadog APM aparezcan en el mismo gráfico de llamas, todos los servicios deben tener la misma etiqueta `env`. +#### Propagación de contexto con los SDK de Datadog (recomendado) {#context-propagation-with-the-datadog-sdks-recommended} +Instale los SDK de Datadog (`dd-trace`) tanto en sus funciones Lambda como en los servidores. Sus trazas luego muestran automáticamente una imagen completa de las solicitudes que cruzan los límites de infraestructura, ya sea AWS Lambda, contenedores, servidores locales o servicios administrados. -**Nota**: El rastreo distribuido es compatible con cualquier tiempo de ejecución de las aplicaciones basadas en hosts o contenedores. No es necesario que los hosts y las funciones de Lambda estén en el mismo tiempo de ejecución. +{{< img src="integrations/amazon_lambda/lambda_host_trace.png" alt="traza de una solicitud de un servidor a una función Lambda" >}} -{{< img src="integrations/amazon_lambda/lambda_host_trace.png" alt="traza de una solicitud de un host a una función de Lambda" >}} +## Propagación de traza {#trace-propagation} +{{< img src="serverless/lambda-non-http-trace.png" alt="Traza distribuida no-HTTP en entornos Serverless" style="width:100%;" >}} -## Propagación de trazas -{{< img src="serverless/lambda-non-http-trace.png" alt="Traza serverless distribuida no HTTP" style="width:100%;" >}} +### Configuración requerida {#required-setup} -### Configuración necesaria +A veces se requiere instrumentación adicional para ver una sola traza conectada en aplicaciones Serverless de Node y Python que activan funciones Lambda de forma asíncrona. Si recién está comenzando a monitorear aplicaciones Serverless en Datadog, [siga nuestros pasos principales de instalación][21] y [lea esta página sobre cómo elegir su SDK][22]. Una vez que esté enviando trazas desde sus funciones Lambda a Datadog utilizando la [Biblioteca Lambda de Datadog][23], puede seguir estos pasos para conectar trazas entre dos funciones Lambda en casos como: +- Activando funciones Lambda a través de Step Functions +- Invocando funciones Lambda a través de protocolos no-HTTP como MQTT -A veces es necesario aplicar instrumentación adicional para ver una traza única y conectada en aplicaciones serverless de Node y Python que activan funciones de Lambda de forma asíncrona. Si recién estás empezando con la monitorización de aplicaciones serverless en Datadog, [sigue nuestros pasos de instalación principales][21] y [lee esta página sobre cómo elegir una biblioteca de rastreo][22]. Una vez que ya estés enviando trazas desde tus funciones de Lambda a Datadog mediante la [biblioteca Lambda de Datadog][23], quizás quieras seguir estos pasos para conectar trazas entre dos funciones de Lambda en casos como los siguientes: -- Activación de funciones de Lambda a través de Step Functions -- Invocación de funciones de Lambda a través de protocolos no HTTP como MQTT +El trazado de muchos servicios administrados de AWS (listados [aquí][24]) es compatible de forma predeterminada y no requiere seguir los pasos descritos en esta página. -El rastreo de muchos de los servicios gestionados de AWS (enumerados [aquí][24]) ya está listo para usar y no requiere seguir los pasos descritos en esta página. +Para conectar con éxito el contexto de traza entre los recursos que envían trazas, necesitas: +- Incluir el contexto de traza de Datadog en los eventos salientes. El evento saliente puede originarse de un host o de una función Lambda con `dd-trace` instalado. +- Extraer el contexto de traza en la función Lambda consumidora. -Para conectar correctamente el contexto de rastreo entre los recursos que envían trazas, debes hacer lo siguiente: -- Incluye el contexto de rastreo de Datadog en los eventos salientes. El evento saliente puede originarse en un host o en función de Lambda con `dd-trace` instalado. -- Extrae el contexto de rastreo en la función de Lambda del consumidor. +### Pasando el contexto de traza {#passing-trace-context} -### Traspaso del contexto de rastreo - -Los siguientes ejemplos de código describen cómo pasar el contexto de rastreo en las cargas útiles salientes a servicios que no admiten encabezados HTTP o a servicios gestionados que Datadog no admite [de forma nativa][24] en Node y Python: +Los siguientes ejemplos de código describen cómo pasar el contexto de traza en las cargas útiles salientes a servicios que no soportan encabezados HTTP, o servicios administrados que no son soportados [nativamente][24] por Datadog en Node y Python: {{< tabs >}} {{% tab "Python" %}} -En Python, puedes utilizar la función auxiliar `get_dd_trace_context` para pasar el contexto de rastreo a los eventos salientes en una función de Lambda: +En Python, puede usar la función auxiliar `get_dd_trace_context` para pasar el contexto de traza a los eventos salientes en funciones Lambda: ```py import json import boto3 import os -from datadog_lambda.tracing import get_dd_trace_context # Función auxiliar de rastreo de Datadog +from datadog_lambda.tracing import get_dd_trace_context # Datadog tracing helper function def handler(event, context): my_custom_client.sendRequest( @@ -256,7 +247,7 @@ def handler(event, context): 'myCustom': 'data', '_datadog': { 'DataType': 'String', - 'StringValue': json.dumps(get_dd_trace_context()) # Incluye el contexto de rastreo en la carga útil saliente. + 'StringValue': json.dumps(get_dd_trace_context()) # Includes trace context in outgoing payload. }, }, ) @@ -265,13 +256,13 @@ def handler(event, context): {{% /tab %}} {{% tab "Node.js" %}} -En Node, puedes utilizar la función auxiliar `getTraceHeaders` para pasar el contexto de rastreo a los eventos salientes en una función de Lambda: +En Node, puede usar la función auxiliar `getTraceHeaders` para pasar el contexto de traza a los eventos salientes en una función Lambda: ```js -const { getTraceHeaders } = require("datadog-lambda-js"); // Función auxiliar de rastreo de Datadog +const { getTraceHeaders } = require("datadog-lambda-js"); // Datadog tracing helper function module.exports.handler = async event => { - const _datadog = getTraceHeaders(); // Captura el contexto de rastreo de Datadog actual. + const _datadog = getTraceHeaders(); // Captures current Datadog trace context. var payload = JSON.stringify({ data: 'sns', _datadog }); await myCustomClient.sendRequest(payload) @@ -280,9 +271,9 @@ module.exports.handler = async event => { {{% /tab %}} {{< /tabs >}} -#### Desde hosts +#### Desde servidores {#from-hosts} -Si no pasas el contexto de rastreo desde tus funciones de Lambda, puedes utilizar la siguiente plantilla de código en lugar de las funciones auxiliares `getTraceHeaders` y `get_dd_trace_context` para obtener el contexto del tramo actual. Las instrucciones sobre cómo hacer esto según cada tiempo de ejecución se describen [aquí][25]. +Si no está pasando el contexto de traza desde sus funciones Lambda, puede usar la siguiente plantilla de código en lugar de las funciones auxiliares `getTraceHeaders` y `get_dd_trace_context` para obtener el contexto de tramo actual. Las instrucciones sobre cómo hacer esto en cada entorno de ejecución están descritas [aquí][25]. ```js const tracer = require("dd-trace"); @@ -295,20 +286,21 @@ exports.handler = async event => { // ... ``` -### Extracción del contexto de rastreo +### Extrayendo el contexto de traza {#extracting-trace-context} -Para extraer el contexto de rastreo anterior de la función de Lambda del consumidor, debes definir una función de extracción que capture el contexto de rastreo antes de la ejecución del controlador de tu función de Lambda. Para ello, configura la variable de entorno `DD_TRACE_EXTRACTOR` de modo que apunte a la localización de la función de extracción. El formato es `.`. Por ejemplo, `extractors.json` si el extractor `json` se encuentra en el archivo `extractors.js`. Datadog te recomienda colocar todos los métodos de extracción en un archivo, ya que los extractores pueden reutilizarse en múltiples funciones de Lambda. Estos extractores son completamente personalizables para adaptarse a cualquier caso de uso. +Para extraer el contexto de traza mencionado anteriormente de la función Lambda consumidora, necesita definir una función extractora que capture el contexto de traza antes de la ejecución del controlador de su función Lambda. Para hacer esto, configure la variable de entorno `DD_TRACE_EXTRACTOR` para apuntar a la ubicación de su función extractora. El formato para esto es `.`. Por ejemplo, `extractors.json` si el extractor `json` está en el archivo `extractors.js`. Datadog recomienda que coloque todos sus métodos extractores en un solo archivo, ya que los extractores pueden ser reutilizados en múltiples funciones Lambda. Estos extractores son completamente personalizables para adaptarse a cualquier caso de uso. **Notas**: -- Si usas TypeScript o un bundler como webpack, debes aplicar `import` o `require` en el módulo Node.js donde se definen los extractores. Esto garantiza que el módulo se compile y se incluya en el paquete de despliegue de Lambda. -- Si tu función de Lambda de Node.js se ejecuta en `arm64`, debes [definir el extractor en el código de tu función][26] en lugar de utilizar la variable de entorno `DD_TRACE_EXTRACTOR`. +- Si está usando TypeScript o un empaquetador como webpack, debe `import` o `require` su módulo de Node.js donde se definen los extractores. Esto asegura que el módulo se compile y se incluya en su paquete de implementación de Lambda. +- Si su función de Lambda en Node.js se ejecuta en `arm64`, debe [definir el extractor en el código de su función][26] en lugar de usar la variable de entorno `DD_TRACE_EXTRACTOR`. -#### Extractores de ejemplo +#### Extractores de muestra {#sample-extractors} -Los siguientes ejemplos de código describen extractores de ejemplo que puedes utilizar para propagar el contexto de rastreo a través de un sistema de terceros o una API que no admita encabezados HTTP estándar. +El siguiente código muestra extractores de muestra que podrías usar para propagar el contexto de traza a través de un sistema de terceros o una API que no soporta encabezados HTTP estándar. {{< tabs >}} {{% tab "Python" %}} + ```py def extractor(payload): trace_headers = json.loads(payload["_datadog"]); @@ -338,32 +330,33 @@ exports.json = (payload) => { ``` {{% /tab %}} {{% tab "Go" %}} + ```go var exampleSQSExtractor = func(ctx context.Context, ev json.RawMessage) map[string]string { - eh := events.SQSEvent{} + eh := events.SQSEvent{} - headers := map[string]string{} + headers := map[string]string{} - if err := json.Unmarshal(ev, &eh); err != nil { - return headers - } + if err := json.Unmarshal(ev, &eh); err != nil { + return headers + } - // Se usa SQS como activador con batchSize=1, por lo que es importante que verifiquemos - // esto como un solo mensaje SQS que iniciará la ejecución del controlador. - if len(eh.Records) != 1 { - return headers - } + // Using SQS as a trigger with a batchSize=1 so it's important we check + // for this as a single SQS message will drive the execution of the handler. + if len(eh.Records) != 1 { + return headers + } - record := eh.Records[0] + record := eh.Records[0] - lowercaseHeaders := map[string]string{} - for k, v := range record.MessageAttributes { - if v.StringValue != nil { - lowercaseHeaders[strings.ToLower(k)] = *v.StringValue - } - } + lowercaseHeaders := map[string]string{} + for k, v := range record.MessageAttributes { + if v.StringValue != nil { + lowercaseHeaders[strings.ToLower(k)] = *v.StringValue + } + } - return lowercaseHeaders + return lowercaseHeaders } cfg := &ddlambda.Config{ @@ -374,11 +367,11 @@ ddlambda.WrapFunction(handler, cfg) {{% /tab %}} {{< /tabs >}} -## Envío de trazas a Datadog con la integración de X-Ray +## Enviando trazas a Datadog con la integración de X-Ray {#sending-traces-to-datadog-with-the-x-ray-integration} -Si ya rastreas tu aplicación serverless con X-Ray y quieres seguir utilizándolo, puedes [instalar la integración de AWS X-Ray][2] para enviar trazas de X-Ray a Datadog. +Si tiene instrumentación de X-Ray existente y desea seguir usándola, [instale la integración de AWS X-Ray][2] para enviar trazas de X-Ray a Datadog. Para nuevas aplicaciones Serverless, Datadog recomienda instrumentar funciones Lambda con la [Datadog Lambda Extension][35] en su lugar. -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -415,4 +408,5 @@ Si ya rastreas tu aplicación serverless con X-Ray y quieres seguir utilizándol [31]: https://github.com/DataDog/dd-trace-py/ [32]: https://github.com/DataDog/dd-trace-js/ [33]: https://github.com/DataDog/datadog-lambda-python -[34]: https://github.com/DataDog/datadog-lambda-js \ No newline at end of file +[34]: https://github.com/DataDog/datadog-lambda-js +[35]: /es/serverless/libraries_integrations/extension/ \ No newline at end of file diff --git a/content/es/serverless/aws_lambda/instrumentation/_index.md b/content/es/serverless/aws_lambda/instrumentation/_index.md index e10dd3ffcca..a8e574a0f9e 100644 --- a/content/es/serverless/aws_lambda/instrumentation/_index.md +++ b/content/es/serverless/aws_lambda/instrumentation/_index.md @@ -10,49 +10,52 @@ further_reading: - link: /integrations/amazon_lambda/ tag: Documentación text: Integración de AWS Lambda -title: Instrumentar aplicaciones AWS Lambda +title: Instrumentar aplicaciones de AWS Lambda --- +## Descripción general {#overview} -## Información general +Instrumente sus aplicaciones de AWS Lambda con Datadog Lambda Extension para recopilar trazas, métricas mejoradas y métricas personalizadas. La Datadog Lambda Extension es análoga a usar el Datadog Agent y los SDK de Datadog para infraestructura y aplicaciones basadas en host. -Instrumenta tus aplicaciones AWS Lambda con una biblioteca Lambda de Datadog para recopilar traces (trazas), métricas mejoradas y métricas personalizadas. +{{< img src="serverless/serverless_tracing_installation_instructions.png" alt="Un diagrama que muestra cómo Datadog recibe telemetría de su aplicación de AWS Lambda instrumentada. Su aplicación Lambda, instrumentada con Datadog Lambda Library, envía registros, trazas, métricas mejoradas y métricas personalizadas a Datadog Lambda Extension, que luego envía estos datos a Datadog." style="width:100%;" >}} -{{< img src="serverless/serverless_tracing_installation_instructions.png" alt="Un diagrama en el que se muestra cómo recibe Datadog la telemetría desde tu aplicación instrumentada AWS Lambda. Tu aplicación Lambda, instrumentada una biblioteca Datadog Lambda, envía logs, traces (trazas), métricas mejoradas y métricas personalizadas a la Extensión Datadog Lambda, que luego envía estos datos a Datadog." style="width:100%;" >}} +## Inicio rápido {#quick-start} -## Inicio rápido +Para comenzar, [regístrese para obtener una cuenta de Datadog][1] si aún no la tiene. Luego, siga el [flujo de instalación en la aplicación en Fleet Automation][8] para AWS Lambda para instrumentar sus funciones Lambda. Esta configuración de inicio rápido permite que sus funciones envíen métricas, registros y trazas en tiempo real a Datadog. -Para empezar, [regístrate para obtener una cuenta en Datadog ][1] si aún no tienes una. A continuación, sigue el [flujo de instalación dentro de la aplicación en Fleet Automation][8] para AWS Lambda para instrumentar tus funciones Lambda. Esta configuración de inicio rápido permite a tus funciones enviar métricas, logs y traces (trazas) en tiempo real a Datadog. +Una aplicación de muestra está [disponible en GitHub][6] con instrucciones sobre cómo desplegar con múltiples entornos de ejecución y herramientas de infraestructura como código. -Hay una aplicación de muestra [disponible en GitHub][6] con instrucciones sobre cómo desplegarla con múltiples tiempos de ejecución y herramientas de infraestructura como código. +El proceso de inicio rápido configura sus funciones Lambda sobre la marcha. Para instrumentar funciones Lambda de manera permanente, consulte las instrucciones detalladas en la siguiente sección. -El proceso de inicio rápido configura tus funciones Lambda sobre la marcha. Para instrumentar funciones Lambda de forma permanente, consulta las instrucciones detalladas de la siguiente sección. +## Usar el servidor MCP de Datadog {#use-the-datadog-mcp-server} -## Instrucciones de instrumentación +Utilice el [Datadog MCP server][9] para configurar el monitoreo de sus contenedores de AWS Lambda con asistencia de IA. Después de conectarse, pruebe un aviso como: -Para los tiempos de ejecución de Node.js y Python, puedes utilizar la [instrumentación remota][5] para añadir instrumentación a tus funciones de AWS Lambda y mantenerlas instrumentadas de forma segura. Consulta [Instrumentación remota para AWS Lambda][5]. +```shell +Help me monitor my AWS Lambda functions with Datadog +``` -Para otros tiempos de ejecución Lambda (o para instrumentar tus funciones Node.js o Python sin instrumentación remota) consulta las instrucciones detalladas de instrumentación: +## Instrucciones de instrumentación {#instrumentation-instructions} {{< card-grid card_width="30%" image_width="200" >}} {{< image-card href="/serverless/installation/python/" src="integrations_logos/python.png" alt="Python" >}} {{< image-card href="/serverless/installation/nodejs/" src="integrations_logos/nodejs.png" alt="Node.js" >}} {{< image-card href="/serverless/installation/ruby/" src="integrations_logos/ruby.png" alt="Ruby" >}} {{< image-card href="/serverless/installation/java/" src="integrations_logos/java.png" alt="Java" >}} - {{< image-card href="/serverless/installation/go/" src="integrations_logos/go-metro.png" alt="go" >}} + {{< image-card href="/serverless/installation/go/" src="integrations_logos/go-metro.png" alt="Go" >}} {{< image-card href="/serverless/installation/dotnet/" src="integrations_logos/dotnet_text.png" alt=".NET" >}} {{< /card-grid >}} -## Configuraciones avanzadas +## Configuraciones avanzadas {#advanced-configurations} -Una vez que hayas terminado con la instrumentación y hayas instalado la recopilación de telemetría, puedes utilizar [Configurar Serverless Monitoring para AWS Lambda][3] para: +Después de haber terminado con la instrumentación y de haber configurado la recolección de telemetría, puede usar [Configurar Serverless Monitoring for AWS Lambda][3] para: -- conectar tus métricas, trazas y logs mediante etiquetas (tags); -- recopilar telemetría de recursos de AWS como API Gateway, AppSync y Step Functions; -- capturar las cargas útiles de solicitud y respuesta para invocaciones de Lambda individuales; -- vincular los errores de tus funciones de Lambda con tu código fuente; -- filtrar o borrar información confidencial de logs o trazas. +- Conecte sus métricas, trazas y registros usando etiquetas +- Recolecte telemetría de recursos de AWS como API Gateway, AppSync y Step Functions +- Capture las cargas útiles de solicitud y respuesta para invocaciones individuales de Lambda +- Vincule los errores de sus funciones Lambda a su código fuente +- Filtre o elimine información sensible de registros o trazas -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -61,4 +64,5 @@ Una vez que hayas terminado con la instrumentación y hayas instalado la recopil [4]: /es/serverless/aws_lambda/fips-compliance/ [5]: /es/serverless/aws_lambda/remote_instrumentation [6]: https://github.com/DataDog/serverless-sample-app -[8]: https://app.datadoghq.com/fleet/install-agent/latest?platform=lambda \ No newline at end of file +[8]: https://app.datadoghq.com/fleet/install-agent/latest?platform=lambda +[9]: /es/agentic_onboarding/setup \ No newline at end of file diff --git a/content/es/serverless/aws_lambda/instrumentation/nodejs.md b/content/es/serverless/aws_lambda/instrumentation/nodejs.md new file mode 100644 index 00000000000..137c81a2ae5 --- /dev/null +++ b/content/es/serverless/aws_lambda/instrumentation/nodejs.md @@ -0,0 +1,475 @@ +--- +aliases: +- /es/serverless/datadog_lambda_library/nodejs/ +- /es/serverless/guide/nodejs/ +- /es/serverless/installation/nodejs +- /es/serverless/aws_lambda/installation/nodejs +further_reading: +- link: /serverless/configuration + tag: Documentación + text: Configurar Serverless Monitoring +- link: /serverless/guide/serverless_tracing_and_bundlers/ + tag: Documentación + text: Compatibilidad de Trazado de Node.js Lambda y Empaquetadores +- link: /serverless/guide/troubleshoot_serverless_monitoring + tag: Documentación + text: Solucionar Problemas de Serverless Monitoring +- link: serverless/custom_metrics/ + tag: Documentación + text: Enviar Custom Metrics desde Aplicaciones Serverless +title: Instrumentar Aplicaciones Serverless de Node.js +--- +
La versión 67+ de la Extensión Lambda de Datadog está optimizada para reducir significativamente la duración del inicio en frío. Leer más.
+ +## Configurar {#setup} + +{{< tabs >}} +{{% tab "Interfaz de Usuario de Datadog" %}} +Puede instrumentar su aplicación Node.js AWS Lambda directamente dentro de Datadog. Navegue a la página [Serverless > AWS Lambda][2] y seleccione [**Instrumentar Funciones**][3]. + +Para más información, consulte [Instrumentación remota para AWS Lambda][1]. + +[1]: /es/serverless/aws_lambda/remote_instrumentation +[2]: https://app.datadoghq.com/functions?cloud=aws +[3]: https://app.datadoghq.com/serverless/aws/lambda/setup +{{% /tab %}} +{{% tab "CLI de Datadog" %}} + +El CLI de Datadog modifica las configuraciones de las funciones Lambda existentes para habilitar la instrumentación sin requerir un nuevo despliegue. Es la forma más rápida de comenzar con Serverless Monitoring de Datadog. + +1. Instalar el cliente CLI de Datadog + + ```sh + npm install -g @datadog/datadog-ci @datadog/datadog-ci-plugin-lambda + ``` + +2. Si eres nuevo en Serverless Monitoring de Datadog, lanza la CLI de Datadog en modo interactivo para guiar tu primera instalación para un inicio rápido, y puedes ignorar los pasos restantes. Para instalar Datadog de forma permanente en tus aplicaciones de producción, omite este paso y sigue los restantes para ejecutar el comando de la CLI de Datadog en tus pipelines de CI/CD _después_ de tu despliegue normal. + + ```sh + datadog-ci lambda instrument -i + ``` + +3. Configura las credenciales de AWS + + La CLI de Datadog requiere acceso al servicio AWS Lambda y depende del SDK de JavaScript de AWS para [resolver las credenciales][1]. Asegúrate de que tus credenciales de AWS estén configuradas utilizando el mismo método que usarías al invocar la CLI de AWS. + +4. Configura el sitio de Datadog + + ```sh + export DATADOG_SITE="" + ``` + + Replace `` with {{< region-param key="dd_site" code="true" >}} (asegúrate de que el SITIO correcto esté seleccionado a la derecha). + +5. Configura la clave de API de Datadog + + Datadog recomienda guardar la clave de API de Datadog en AWS Secrets Manager por seguridad y fácil rotación. La clave debe ser almacenada como una cadena de texto sin formato (no un objeto JSON). Asegúrate de que tus funciones Lambda tengan el `secretsmanager:GetSecretValue` permiso IAM requerido. + + ```sh + export DATADOG_API_KEY_SECRET_ARN="" + ``` + + For quick testing purposes, you can also set the Datadog API key in plaintext: + + ```sh + export DATADOG_API_KEY="" + ``` + +6. Instrumenta tus funciones Lambda + + **Nota**: ¡Instrumenta tus funciones Lambda primero en un entorno de desarrollo o de pruebas! Si el resultado de la instrumentación no es satisfactorio, ejecuta `uninstrument` con los mismos argumentos para revertir los cambios. + + Para instrumentar tus funciones Lambda, ejecuta el siguiente comando. + + ```sh + datadog-ci lambda instrument -f -f -r -v {{< latest-lambda-layer-version layer="node" >}} -e {{< latest-lambda-layer-version layer="extension" >}} + + +``` + + To fill in the placeholders: + - Replace `` and `` with your Lambda function names. Alternatively, you can use `--functions-regex` to automatically instrument multiple functions whose names match the given regular expression. + - Replace `` with the AWS region name. + + Additional parameters can be found in the [CLI documentation][2]. + + +[1]: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html +[2]: https://docs.datadoghq.com/es/serverless/serverless_integrations/cli +{{% /tab %}} +{{% tab "Serverless Framework" %}} + +
Si en cambio estás desplegando tu aplicación Serverless Framework exportando nativamente un objeto JSON desde un archivo JavaScript (por ejemplo, utilizando un serverless.ts archivo), siga las instrucciones de instalación personalizadas.
+ +El [Plugin Serverless de Datadog][1] configura automáticamente sus funciones para enviar métricas, trazas y registros a Datadog a través de la [Extensión Lambda de Datadog][2]. + +Para instalar y configurar el Plugin Serverless de Datadog, siga estos pasos: + +1. Instale el Plugin Serverless de Datadog: + + ```sh + serverless plugin install --name serverless-plugin-datadog + ``` + +2. Actualice su `serverless.yml`: + + ```yaml + custom: + datadog: + site: + apiKeySecretArn: + ``` + + To fill in the placeholders: + - Replace `` with {{< region-param key="dd_site" code="true" >}} (asegúrate de que el SITIO correcto esté seleccionado a la derecha). + - Reemplace `` con el ARN del secreto de AWS donde se almacena de forma segura su [clave API de Datadog][3]. La clave debe ser almacenada como una cadena de texto sin formato (no un objeto JSON). Se requiere el permiso `secretsmanager:GetSecretValue`. Para pruebas rápidas, puede usar `apiKey` y establecer la clave API de Datadog en texto plano. + + For more information and additional settings, see the [plugin documentation][1]. + +[1]: https://docs.datadoghq.com/es/serverless/serverless_integrations/plugin +[2]: https://docs.datadoghq.com/es/serverless/libraries_integrations/extension +[3]: https://app.datadoghq.com/organization-settings/api-keys +{{% /tab %}} +{{% tab "AWS SAM" %}} + +El [macro de CloudFormation de Datadog][1] transforma automáticamente su plantilla de aplicación SAM para instalar Datadog en sus funciones utilizando capas de Lambda, y configura sus funciones para enviar métricas, trazas y registros a Datadog a través de la [Extensión Lambda de Datadog][2]. + +1. Instale el macro de CloudFormation de Datadog + + Ejecute el siguiente comando con sus [credenciales de AWS][3] para implementar una pila de CloudFormation que instala el recurso macro de AWS. Solo necesita instalar el macro **una** vez para una región dada en su cuenta. Reemplace `create-stack` con `update-stack` para actualizar el macro a la última versión. + + ```sh + aws cloudformation create-stack \ + --stack-name datadog-serverless-macro \ + --template-url https://datadog-cloudformation-template.s3.amazonaws.com/aws/serverless-macro/latest.yml \ + --capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_IAM + ``` + + The macro is now deployed and ready to use. + +2. Instrumente sus funciones Lambda + + Agregue la transformación `DatadogServerless` **después** de la transformación `AWS::Serverless` en la sección `Transform` de su `template.yml` para SAM. + + ```yaml + Transform: + - AWS::Serverless-2016-10-31 + - Name: DatadogServerless + Parameters: + stackName: !Ref "AWS::StackName" + nodeLayerVersion: {{< latest-lambda-layer-version layer="node" >}} + extensionLayerVersion: {{< latest-lambda-layer-version layer="extension" >}} + site: "" + apiKeySecretArn: "" + ``` + + To fill in the placeholders: + - Replace `` with {{< region-param key="dd_site" code="true" >}} (asegúrate de que el SITIO correcto esté seleccionado a la derecha). + - Reemplace `` con el ARN del secreto de AWS donde se almacena de forma segura su [clave API de Datadog][4]. La clave debe ser almacenada como una cadena de texto sin formato (no un objeto JSON). Se requiere el permiso `secretsmanager:GetSecretValue`. Para pruebas rápidas, puede usar `apiKey` en su lugar y establecer la clave API de Datadog en texto plano. + + More information and additional parameters can be found in the [macro documentation][1]. + + +[1]: https://docs.datadoghq.com/es/serverless/serverless_integrations/macro +[2]: https://docs.datadoghq.com/es/serverless/libraries_integrations/extension +[3]: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html +[4]: https://app.datadoghq.com/organization-settings/api-keys +{{% /tab %}} + +{{% tab "AWS CDK" %}} +{{< lambda-install-cdk language="node" layer="node" layerParamTypescript="nodeLayerVersion" layerParamPython="node_layer_version">}} +{{% /tab %}} + +{{% tab "Imagen de contenedor" %}} + +1. Instalar la biblioteca de Lambda de Datadog + + Empaquetar la biblioteca Lambda de Datadog y los SDK dentro de la imagen: + + ```sh + npm install datadog-lambda-js dd-trace + ``` + + Note that the minor version of the `datadog-lambda-js` package always matches the layer version. For example, `datadog-lambda-js v0.5.0` matches the content of layer version 5. + + You cannot install the Datadog Lambda Library as a layer if you are deploying your Lambda function as a container image. + +2. Instalar la extensión de Lambda de Datadog + + Agrega la extensión de Lambda de Datadog a tu imagen de contenedor añadiendo lo siguiente a tu Dockerfile: + + ```dockerfile + COPY --from=public.ecr.aws/datadog/lambda-extension: /opt/. /opt/ + ``` + + Replace `` with either a specific version number (for example, `{{< latest-lambda-layer-version layer="extension" >}}`) or with `último`. Alpine is also supported with specific version numbers (such as `{{< latest-lambda-layer-version layer="extension" >}}-alpine`) or with `último-alpine`. Puedes ver una lista completa de posibles etiquetas en el [repositorio de Amazon ECR][1]. + +3. Redirigir la función manejadora + + - Establecer el valor de `CMD` de tu imagen a `node_modules/datadog-lambda-js/dist/handler.handler`. Puedes establecer esto en AWS o directamente en tu Dockerfile. Ten en cuenta que el valor establecido en AWS anula el valor en el Dockerfile si estableces ambos. + - Establecer la variable de entorno `DD_LAMBDA_HANDLER` a tu manejador original, por ejemplo, `myfunc.handler`. + - Si estás usando ESModule con el contenedor, necesitarás eliminar el archivo `handler.js`. Este archivo existe para Node 12 y será eliminado cuando AWS deprecie el soporte para Node 12. + ```dockerfile + RUN rm node_modules/datadog-lambda-js/dist/handler.js + CMD ["node_modules/datadog-lambda-js/dist/handler.handler"] + ``` + + **Note**: If your Lambda function runs on `arm64`, you must either build your container image in an arm64-based Amazon Linux environment or [apply the Datadog wrapper in your function code][2] instead. You may also need to do that if you are using a third-party security or monitoring tool that is incompatible with the Datadog handler redirection. + +4. Configurar el sitio de Datadog y la clave de API + + - Establecer la variable de entorno `DD_SITE` a {{< region-param key="dd_site" code="true" >}} (asegúrate de que el SITIO correcto esté seleccionado a la derecha). + - Establecer la variable de entorno `DD_API_KEY_SECRET_ARN` con el ARN del secreto de AWS donde tu [clave de API de Datadog][3] está almacenada de forma segura. La clave debe ser almacenada como una cadena de texto sin formato (no un objeto JSON). Se requiere el permiso `secretsmanager:GetSecretValue`. Para pruebas rápidas, puedes usar `DD_API_KEY` en su lugar y establecer la clave de API de Datadog en texto plano. + + +[1]: https://gallery.ecr.aws/datadog/lambda-extension +[2]: https://docs.datadoghq.com/es/serverless/guide/handler_wrapper +[3]: https://app.datadoghq.com/organization-settings/api-keys +{{% /tab %}} +{{% tab "Terraform" %}} + +El módulo de Terraform [`lambda-datadog`][1] envuelve el recurso [`aws_lambda_function`][2] y configura automáticamente su función Lambda para el Serverless Monitoring de Datadog mediante: + +- Agregando las capas de Lambda de Datadog +- Redirigiendo el controlador de Lambda +- Habilitando la recolección y el envío de métricas, trazas y registros a Datadog + +```tf +module "lambda-datadog" { + source = "DataDog/lambda-datadog/aws" + version = "4.0.0" + + environment_variables = { + "DD_API_KEY_SECRET_ARN" : "" + "DD_ENV" : "" + "DD_SERVICE" : "" + "DD_SITE": "" + "DD_VERSION" : "" + } + + datadog_extension_layer_version = {{< latest-lambda-layer-version layer="extension" >}} + datadog_node_layer_version = {{< latest-lambda-layer-version layer="node" >}} + + # aws_lambda_function arguments +} +``` + +1. Reemplaza el recurso `aws_lambda_function` con el módulo de Terraform `lambda-datadog` y luego especifica el `source` y `version` del módulo. + +2. Establece los argumentos `aws_lambda_function`: + + Todos los argumentos disponibles en el recurso `aws_lambda_function` están disponibles en este módulo de Terraform. Los argumentos definidos como bloques en el recurso `aws_lambda_function` se redefinen como variables con sus argumentos anidados. + + Por ejemplo, en `aws_lambda_function`, `environment` se define como un bloque con un argumento `variables`. En el módulo de Terraform `lambda-datadog`, el valor para el `environment_variables` se pasa al argumento `environment.variables` en `aws_lambda_function`. Consulte [inputs][3] para una lista completa de variables en este módulo. + +3. Complete los marcadores de posición de las variables de entorno: + + - Reemplace `` con el ARN del secreto de AWS donde su clave de API de Datadog está almacenada de forma segura. La clave debe ser almacenada como una cadena de texto sin formato (no un objeto JSON). Se requiere el permiso `secretsmanager:GetSecretValue`. Para pruebas rápidas, puede usar en su lugar la variable de entorno `DD_API_KEY` y establecer su clave de API de Datadog en texto plano. + - Reemplace `` con el entorno de la función Lambda, como `prod` o `staging` + - Reemplace `` con el nombre del servicio de la función Lambda + - Reemplace `` con {{< region-param key="dd_site" code="true" >}}. (Asegúrese de que el [sitio de Datadog][4] correcto esté seleccionado en esta página). + - Reemplace `` con el número de versión de la función Lambda + +4. Seleccione las versiones de la capa de extensión de Datadog Lambda y la capa de Datadog Node.js Lambda que desea utilizar. Por defecto, se utilizan las versiones más recientes de la capa. + +``` + datadog_extension_layer_version = {{< latest-lambda-layer-version layer="extension" >}} + datadog_node_layer_version = {{< latest-lambda-layer-version layer="node" >}} +``` + +[1]: https://registry.terraform.io/modules/DataDog/lambda-datadog/aws/latest +[2]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_function +[3]: https://github.com/DataDog/terraform-aws-lambda-datadog?tab=readme-ov-file#inputs +[4]: /es/getting_started/site/ +{{% /tab %}} +{{% tab "SST v3" %}} + +Para configurar Datadog usando SST v3, siga estos pasos: + + ```ts + const app = new sst.aws.Function("MyApp", { + handler: "index.handler", + nodejs : { + install: [ + "datadog-lambda-js", + "dd-trace", + ] + }, + environment: { + DD_ENV: "", + DD_SERVICE: "", + DD_VERSION: "", + DATADOG_API_KEY_SECRET_ARN: "", + DD_SITE: "", + }, + layers: [ + $interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:464622532012:layer:Datadog-Extension:{{< latest-lambda-layer-version layer="extension" >}}`, + $interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:464622532012:layer:Datadog-:{{< latest-lambda-layer-version layer="node" >}}` + ] + }); + ``` + + 1. Configure the Datadog Lambda Library and Datadog Lambda Extension layers + + - The available `` options are: {{< latest-lambda-layer-version layer="node-versions" >}}. + + 2. Agregue `dd-trace` y `datadog-lambda-js` a la lista `nodejs.install` + + 3. Complete los marcadores de posición de las variables de entorno: + + - Reemplace `` con el ARN del secreto de AWS donde su clave de API de Datadog está almacenada de forma segura. La clave debe ser almacenada como una cadena de texto sin formato (no un objeto JSON). Se requiere el permiso `secretsmanager:GetSecretValue`. Para pruebas rápidas, puede usar en su lugar la variable de entorno `DD_API_KEY` y establecer su clave de API de Datadog en texto plano. + - Reemplace `` con el entorno de la función Lambda, como `prod` o `staging` + - Reemplace `` con el nombre del servicio de la función Lambda + - Reemplace `` con {{< region-param key="dd_site" code="true" >}}. (Asegúrese de que el [sitio de Datadog][1] correcto esté seleccionado en esta página) + - Reemplace `` con el número de versión de la función Lambda + + 4. [Aplique el envoltorio de Datadog en su código de función][2] + +[1]: /es/getting_started/site/ +[2]: https://docs.datadoghq.com/es/serverless/guide/handler_wrapper +{{% /tab %}} +{{% tab "Personalizado" %}} + +
Si no está utilizando una herramienta de desarrollo serverless que Datadog soporte, como el Serverless Framework o AWS CDK, Datadog le anima encarecidamente a instrumentar sus aplicaciones Serverless con el CLI de Datadog.
+ +1. Instale la biblioteca de Lambda de Datadog + + La biblioteca de Lambda de Datadog se puede importar ya sea como una capa (recomendada) _O_ como un paquete de JavaScript. + + La versión menor del paquete `datadog-lambda-js` siempre coincide con la versión de la capa. Por ejemplo, datadog-lambda-js v0.5.0 coincide con el contenido de la versión de la capa 5. + + - Opción A: [Configure las capas][1] para su función Lambda usando el ARN en el siguiente formato: + + ```sh + # Use this format for AWS commercial regions + arn:aws:lambda::464622532012:layer:Datadog-:{{< latest-lambda-layer-version layer="node" >}} + + # Use this format for AWS GovCloud regions + arn:aws-us-gov:lambda::002406178527:layer:Datadog-:{{< latest-lambda-layer-version layer="node" >}} + ``` + + Replace `` with a valid AWS region such as `us-east-1`. The available `` options are: {{< latest-lambda-layer-version layer="node-versions" >}}. + + - Option B: If you cannot use the prebuilt Datadog Lambda layer, alternatively you can install the packages `datadog-lambda-js` and `dd-trace` using your favorite package manager. + + ``` + npm install datadog-lambda-js dd-trace + ``` + +2. Instale la Lambda Extension de Datadog + + [Configure las capas][1] para su función Lambda usando el ARN en el siguiente formato: + + ```sh + # Use this format for x86-based Lambda deployed in AWS commercial regions + arn:aws:lambda::464622532012:layer:Datadog-Extension:{{< latest-lambda-layer-version layer="extension" >}} + + # Use this format for arm64-based Lambda deployed in AWS commercial regions + arn:aws:lambda::464622532012:layer:Datadog-Extension-ARM:{{< latest-lambda-layer-version layer="extension" >}} + + # Use this format for x86-based Lambda deployed in AWS GovCloud regions + arn:aws-us-gov:lambda::002406178527:layer:Datadog-Extension:{{< latest-lambda-layer-version layer="extension" >}} + + # Use this format for arm64-based Lambda deployed in AWS GovCloud regions + arn:aws-us-gov:lambda::002406178527:layer:Datadog-Extension-ARM:{{< latest-lambda-layer-version layer="extension" >}} + + +``` + + Replace `` with a valid AWS region, such as `us-east-1`. + +3. Redirija la función manejadora + + - Establezca el manejador de su función a `/opt/nodejs/node_modules/datadog-lambda-js/handler.handler` si usa la capa, o `node_modules/datadog-lambda-js/dist/handler.handler` si usa el paquete. + - Establezca la variable de entorno `DD_LAMBDA_HANDLER` a su manejador original, por ejemplo, `myfunc.handler`. + + **Nota**: Si su función Lambda se ejecuta en `arm64` y la `datadog-lambda-js` biblioteca está instalada como un paquete NPM (opción B del paso 1), debe [aplicar el envoltorio de Datadog en su código de función][2] en su lugar. También podría ser necesario hacerlo si está utilizando una herramienta de seguridad o monitoreo de terceros que es incompatible con la redirección del manejador de Datadog. + +4. Configure el sitio de Datadog y la clave de API + + - Establezca la variable de entorno `DD_SITE` a {{< region-param key="dd_site" code="true" >}} (Asegúrese de que el SITIO correcto esté seleccionado a la derecha). + - Establezca la variable de entorno `DD_API_KEY_SECRET_ARN` con el ARN del secreto de AWS donde su [clave de API de Datadog][3] está almacenada de forma segura. La clave debe ser almacenada como una cadena de texto sin formato (no un objeto JSON). Se requiere el permiso `secretsmanager:GetSecretValue`. Para pruebas rápidas, puede usar `DD_API_KEY` en su lugar y establecer la clave de API de Datadog en texto plano. + +[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html +[2]: https://docs.datadoghq.com/es/serverless/guide/handler_wrapper +[3]: https://app.datadoghq.com/organization-settings/api-keys +{{% /tab %}} +{{< /tabs >}} + +{{% svl-tracing-env %}} + +
No instale la biblioteca de Lambda de Datadog como una capa y como un paquete de JavaScript. Si instaló la biblioteca de Lambda de Datadog como una capa, no incluya datadog-lambda-js en su package.json, o instálelo como una dependencia de desarrollo y ejecute npm install --production antes de desplegar.
+ +## Cumplimiento de FIPS {#fips-compliance} + +{{% svl-lambda-fips %}} + +## AWS Lambda y VPC {#aws-lambda-and-vpc} + +{{% svl-lambda-vpc %}} + +## ¿Qué sigue? {#whats-next} + +- Agregue etiquetas personalizadas a su telemetría utilizando la variable de entorno `DD_TAGS` +- Configure [la recolección de payloads][12] para capturar los payloads de solicitud y respuesta JSON de sus funciones. +- Si está utilizando la Lambda Extension de Datadog, desactive los registros de Lambda del Forwarder de Datadog +- Consulte [Configurar Serverless Monitoring para AWS Lambda][3] para obtener más información sobre las capacidades. + +### Realice el seguimiento de la lógica de negocio personalizada {#monitor-custom-business-logic} + +Para realizar el seguimiento de su lógica de negocio personalizada, envíe una métrica o un tramo personalizado utilizando el código de muestra a continuación. Para opciones adicionales, consulte [la presentación de métricas personalizadas para aplicaciones serverless][4] y la guía de APM para [instrumentación personalizada][5]. + +```javascript +const { sendDistributionMetric, sendDistributionMetricWithDate } = require('datadog-lambda-js'); +const tracer = require('dd-trace'); + +// submit a custom span named "sleep" +const sleep = tracer.wrap('sleep', (ms) => { + return new Promise((resolve) => setTimeout(resolve, ms)); +}); + +exports.handler = async (event) => { + // add custom tags to the lambda function span, + // does NOT work when X-Ray tracing is enabled + const span = tracer.scope().active(); + span.setTag('customer_id', '123456'); + + await sleep(100); + + // submit a custom span + const sandwich = tracer.trace('hello.world', () => { + console.log('Hello, World!'); + }); + + // submit a custom metric + sendDistributionMetric( + 'coffee_house.order_value', // metric name + 12.45, // metric value + 'product:latte', // tag + 'order:online' // another tag + ); + + const response = { + statusCode: 200, + body: JSON.stringify('Hello from serverless!') + }; + return response; +}; +``` + +## Lectura Adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/functions +[2]: /es/serverless/guide/troubleshoot_serverless_monitoring/ +[3]: /es/serverless/configuration/ +[4]: /es/serverless/custom_metrics?tab=nodejs +[5]: /es/tracing/custom_instrumentation/nodejs/ +[6]: /es/security/application_security/serverless/ +[7]: https://github.com/DataDog/datadog-lambda-extension +[8]: https://github.com/DataDog/datadog-lambda-extension/issues +[9]: /es/serverless/aws_lambda/distributed_tracing/#span-auto-linking +[10]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html +[11]: /es/serverless/aws_lambda/remote_instrumentation +[12]: /es/serverless/aws_lambda/configuration?tab=datadogcli#collect-the-request-and-response-payloads \ No newline at end of file diff --git a/content/es/serverless/aws_lambda/metrics.md b/content/es/serverless/aws_lambda/metrics.md index 77944b9a9c5..6c0fc0d80fd 100644 --- a/content/es/serverless/aws_lambda/metrics.md +++ b/content/es/serverless/aws_lambda/metrics.md @@ -6,18 +6,19 @@ aliases: - /es/serverless/real_time_enhanced_metrics title: Métricas de AWS Lambda --- +Esta página discute las métricas para hacer seguimiento de aplicaciones sin servidor en AWS Lambda. Hay 3 maneras de obtener métricas de AWS Lambda: -Esta página trata sobre las métricas para la monitorización de aplicaciones serverless en AWS Lambda. +- Puedes obtener métricas de Lambda de Cloudwatch desde la [integración de Datadog AWS][5] +- Puedes obtener [métricas mejoradas](#enhanced-lambda-metrics) al [instalar Serverless Monitoring para AWS Lambda][1] a través de la Lambda Extension de Datadog. +- Puedes [enviar métricas personalizadas](#submit-custom-metrics) a Datadog desde tus funciones de Lambda. -Después de [instalar Serverless Monitoring para AWS Lambda][1], Datadog genera [métricas mejoradas](#enhanced-lambda-metrics) a partir de tu tiempo de ejecución de Lambda. También puedes [enviar métricas personalizadas](#submit-custom-metrics) desde tus funciones de Lambda. +{{< img src="serverless/serverless_custom_metrics.png" alt="Recolección de Métricas Mejoradas de AWS Lambda" >}} -{{< img src="serverless/serverless_custom_metrics.png" alt="Recopilación de métricas mejoradas de AWS Lambda" >}} +### Recolecta métricas de recursos que no son Lambda {#collect-metrics-from-non-lambda-resources} -### Recopilar métricas procedentes de recursos distintos de Lambda +Datadog también puede ayudarte a recolectar métricas para recursos administrados por AWS—como [API Gateway][2], [AppSync][3] y [SQS][4]—para ayudarte a hacer seguimiento de toda tu aplicación sin servidor. Estas métricas están enriquecidas con las etiquetas de recursos correspondientes de AWS. -Datadog también puede ayudarte a recopilar métricas de recursos gestionados de AWS, como [API Gateway][2], [AppSync][3] y [SQS][4], para contribuir a la monitorización de toda tu aplicación serverless. Estas métricas se enriquecen con las etiquetas (tags) de los recursos de AWS correspondientes. - -Para recopilar estas métricas, configura la [Integración de AWS para Datadog][5]. +Para recolectar estas métricas, configura la [integración de Datadog AWS][5]. [1]: /es/serverless/aws_lambda/installation [2]: /es/integrations/amazon_api_gateway/#data-collected @@ -25,82 +26,135 @@ Para recopilar estas métricas, configura la [Integración de AWS para Datadog][ [4]: /es/integrations/amazon_sqs/#data-collected [5]: /es/integrations/amazon_web_services/ -## Métricas de Lambda mejoradas +## Métricas mejoradas de Lambda {#enhanced-lambda-metrics} -{{< img src="serverless/lambda-metrics-dashboard.jpeg" alt="Dashboard predeterminado para las métricas mejoradas de Lambda" width="80%">}} +{{< img src="serverless/lambda-metrics-dashboard.jpeg" alt="Tablero Predeterminado de Métricas Mejoradas de Lambda" width="80%">}} -Datadog genera métricas de Lambda mejoradas a partir de tu tiempo de ejecución de Lambda de forma inmediata con baja latencia, granularidad de varios segundos y metadatos detallados para arranques en frío y etiquetas personalizados. +Datadog genera métricas mejoradas de Lambda desde su Lambda runtime de forma nativa, con baja latencia, granularidad de varios segundos y metadatos detallados para inicios en frío y etiquetas personalizadas. -Las métricas de Lambda mejoradas se añaden a las [métricas de Lambda][6] predeterminadas que se habilitan con la integración de AWS Lambda. Las métricas mejoradas se distinguen por estar en el espacio de nombres `aws.lambda.enhanced.*`. Puedes consultar estas métricas en el [Dashboard predeterminado para las métricas de Lambda mejoradas][7]. +Las métricas mejoradas de Lambda son además de las métricas predeterminadas de [Lambda][6] habilitadas con la integración de AWS Lambda. Las métricas mejoradas se distinguen por estar en el espacio de nombres `aws.lambda.enhanced.*`. Puedes ver estas métricas en el [tablero predeterminado de métricas mejoradas de Lambda][7]. -Están disponibles las siguientes métricas de Lambda mejoradas en tiempo real, con las etiquetas `aws_account`, `region`, `functionname`, `cold_start`, `memorysize`, `executedversion`, `resource` y `runtime` correspondientes. +Las siguientes métricas Lambda mejoradas en tiempo real están disponibles y están etiquetadas con las correspondientes etiquetas `aws_account`, `region`, `functionname`, `cold_start`, `memorysize`, `executedversion`, `resource` y `runtime`. -Estas métricas son [distribuciones][8]: puedes consultarlas mediante las agregaciones `count`, `min`, `max`, `sum` y `avg`. +Estas métricas son [distribuciones][8]: y puedes consultarlas utilizando las agregaciones `count`, `min`, `max`, `sum` y `avg`. Las métricas mejoradas se habilitan automáticamente con [Serverless Monitoring][1], pero se pueden desactivar configurando la variable de entorno `DD_ENHANCED_METRICS` a `false` en su función Lambda. `aws.lambda.enhanced.invocations` -: Mide el número de veces que se invoca una función en respuesta a un evento o a la invocación de una llamada a la API. +: Mide la cantidad de veces que se invoca una función en respuesta a un evento o a una invocación de una llamada a la API. `aws.lambda.enhanced.errors` -: Mide el número de invocaciones que fallaron debido a errores en la función. +: Mide la cantidad de invocaciones que fallaron debido a errores en la función. `aws.lambda.enhanced.max_memory_used` -: Mide la cantidad máxima de memoria (en MB) utilizada por la función. +: Mide la cantidad máxima de memoria (mb) utilizada por la función. `aws.lambda.enhanced.duration` : Mide los segundos transcurridos desde que el código de la función comienza a ejecutarse como resultado de una invocación hasta que deja de ejecutarse. `aws.lambda.enhanced.billed_duration` -: Mide el tiempo de funcionamiento facturado de la función (en incrementos de 100 ms). +: Mide la cantidad de tiempo facturado que la función estuvo en ejecución (incrementos de 100 ms). `aws.lambda.enhanced.init_duration` -: Mide el tiempo de inicialización (en segundos) de una función durante un arranque en frío. +: Mide el tiempo de inicialización (segundos) de una función durante un inicio en frío. `aws.lambda.enhanced.runtime_duration` -: Mide los milisegundos transcurridos desde que el código de la función comienza a ejecutarse hasta que devuelve la respuesta al cliente, sin contar la duración posterior al tiempo de ejecución añadida por las ejecuciones de la extensión de Lambda. +: Mide los milisegundos transcurridos desde que el código de la función comienza a ejecutarse hasta que devuelve la respuesta al cliente, excluyendo la duración posterior a la ejecución añadida por las ejecuciones de Lambda Extension. `aws.lambda.enhanced.post_runtime_duration` -: Mide los milisegundos transcurridos desde que el código de la función devuelve la respuesta al cliente hasta que la función deja de ejecutarse, lo que representa la duración añadida por las ejecuciones de la extensión de Lambda. +: Mide los milisegundos transcurridos desde que el código de la función devuelve la respuesta al cliente hasta que la función deja de ejecutarse, representando la duración añadida por las ejecuciones de Lambda Extension. `aws.lambda.enhanced.response_latency` : Mide el tiempo transcurrido en milisegundos desde que se recibe la solicitud de invocación hasta que se envía el primer byte de respuesta al cliente. `aws.lambda.enhanced.response_duration` -: Mide el tiempo transcurrido en milisegundos desde que se envía al cliente el primer byte de respuesta hasta el último byte de respuesta. +: Mide el tiempo transcurrido en milisegundos desde que se envía el primer byte de respuesta hasta que se envía el último byte de respuesta al cliente. `aws.lambda.enhanced.produced_bytes` : Mide el número de bytes devueltos por una función. `aws.lambda.enhanced.estimated_cost` -: Mide el coste total estimado de la invocación a la función (en dólares estadounidenses). +: Mide el costo total estimado de la invocación de la función (dólares estadounidenses). `aws.lambda.enhanced.timeouts` -: Mide el número de veces que se agota el tiempo de espera de una función. +: Mide el número de veces que una función agota el tiempo de ejecución. `aws.lambda.enhanced.out_of_memory` : Mide el número de veces que una función se queda sin memoria. +: Debido a que hay muchas variaciones de errores de falta de memoria, algunos casos pueden no ser manejados adecuadamente a pesar de los mejores esfuerzos. Si encuentra tal incidencia, cree una incidencia en el [repositorio de GitHub de la Lambda Extension de Datadog][18]. + +`aws.lambda.enhanced.cpu_total_utilization` +: Mide la utilización total de CPU de la función como un número de núcleos. + +`aws.lambda.enhanced.cpu_total_utilization_pct` +: Mide la utilización total de CPU de la función como un porcentaje. + +`aws.lambda.enhanced.cpu_max_utilization` +: Mide la utilización de la CPU en el núcleo más utilizado. + +`aws.lambda.enhanced.cpu_min_utilization` +: Mide la utilización de la CPU en el núcleo menos utilizado. + +`aws.lambda.enhanced.cpu_system_time` +: Mide la cantidad de tiempo que la CPU pasó ejecutándose en modo kernel. + +`aws.lambda.enhanced.cpu_user_time` +: Mide la cantidad de tiempo que la CPU pasó ejecutándose en modo usuario. + +`aws.lambda.enhanced.cpu_total_time` +: Mide la cantidad total de tiempo que la CPU pasó ejecutándose. + +`aws.lambda.enhanced.num_cores` +: Mide el número de núcleos disponibles. + +`aws.lambda.enhanced.rx_bytes` +: Mide los bytes recibidos por la función. + +`aws.lambda.enhanced.tx_bytes` +: Mide los bytes enviados por la función. + +`aws.lambda.enhanced.total_network` +: Mide los bytes enviados y recibidos por la función. + +`aws.lambda.enhanced.tmp_max` +: Mide el espacio total disponible en el directorio /tmp. + +`aws.lambda.enhanced.tmp_used` +: Mide el espacio utilizado en el directorio /tmp. + +`aws.lambda.enhanced.fd_max` +: Mide el número total de descriptores de archivo disponibles para su uso. + +`aws.lambda.enhanced.fd_use` +: Mide el número máximo de descriptores de archivo utilizados durante la duración de la invocación de la función. + +`aws.lambda.enhanced.threads_max` +: Mide el número total de hilos disponibles para su uso. + +`aws.lambda.enhanced.threads_use` +: Mide el número máximo de hilos utilizados durante la duración de la invocación de la función. [6]: /es/integrations/amazon_lambda/#metric-collection [7]: https://app.datadoghq.com/screen/integration/aws_lambda_enhanced_metrics [8]: /es/metrics/distributions/ +[18]: https://github.com/DataDog/datadog-lambda-extension -## Enviar métricas personalizadas +## Envíe métricas personalizadas {#submit-custom-metrics} -### Crear métricas personalizadas a partir de logs o trazas -Si tus funciones de Lambda ya envían datos de trazas (traces) o logs a Datadog, y los datos que quieres consultar se capturan en un log o traza existente, puedes generar métricas personalizadas a partir de logs y trazas sin necesidad de volver a desplegar o hacer cambios en el código de tu aplicación. +### Cree métricas personalizadas a partir de registros o trazas {#create-custom-metrics-from-logs-or-traces} +Si sus funciones Lambda ya están enviando datos de trazas o registros a Datadog, y los datos que desea consultar están capturados en un registro o traza existente, puede generar métricas personalizadas a partir de registros y trazas sin volver a desplegar ni hacer cambios en el código de su aplicación. -Con las métricas basadas en logs, puedes registrar un recuento de logs que coincidan con una consulta o resumir un valor numérico contenido en un log, como la duración de una solicitud. Las métricas basadas en logs son una forma rentable de resumir los datos de los logs de todo el flujo (stream) de la ingesta. Obtén más información sobre la [creación de métricas basadas en logs][9]. +Con métricas basadas en registros, puede registrar un conteo de registros que coincidan con una consulta o resumir un valor numérico contenido en un registro, como la duración de una solicitud. Las métricas basadas en registros son una forma rentable de resumir datos de registros de toda la corriente de ingestión. Aprenda más sobre [la creación de métricas basadas en registros][9]. -También puedes generar métricas a partir de todos los tramos (spans) ingeridos, independientemente de si están indexados por un filtro de retención. Obtén más información sobre [la creación de métricas basadas en tramos][10]. +También puede generar métricas a partir de todos los tramos ingeridos, independientemente de si están indexados por un filtro de retención. Aprenda más sobre [crear métricas basadas en tramos][10]. -### Envíar métricas personalizadas directamente desde una función de Lambda +### Envíe métricas personalizadas directamente desde una función Lambda {#submit-custom-metrics-directly-from-a-lambda-function} Todas las métricas personalizadas se envían como [distribuciones](#understanding-distribution-metrics). -**Nota**: Las métricas de distribución deben enviarse con un nombre nuevo, no reutilices el nombre de una métrica enviada anteriormente. +**Nota**: Las métricas de distribución deben enviarse con un nuevo nombre, no reutilice el nombre de una métrica enviada anteriormente. -1. [Instala Serverless Monitoring para AWS Lambda][1] y asegúrate de haber instalado la extensión Datadog Lambda. +1. [Instale Serverless Monitoring para AWS Lambda][1] y asegúrese de haber instalado la Lambda Extension de Datadog. -2. Elige tu tiempo de ejecución: +2. Elija su entorno de ejecución: {{< programming-lang-wrapper langs="python,nodeJS,go,java,dotnet,other" >}} {{< programming-lang lang="python" >}} @@ -110,9 +164,9 @@ from datadog_lambda.metric import lambda_metric def lambda_handler(event, context): lambda_metric( - "coffee_house.order_value", # Nombre de la métrica - 12.45, # Valor de la métrica - tags=['product:latte', 'order:online'] # Etiquetas asociadas + "coffee_house.order_value", # Metric name + 12.45, # Metric value + tags=['product:latte', 'order:online'] # Associated tags ) ``` {{< /programming-lang >}} @@ -123,10 +177,10 @@ const { sendDistributionMetric } = require('datadog-lambda-js'); async function myHandler(event, context) { sendDistributionMetric( - 'coffee_house.order_value', // Nombre de la métrica - 12.45, // Valor de la métrica - 'product:latte', // Primera etiqueta - 'order:online' // Segunda etiqueta + 'coffee_house.order_value', // Metric name + 12.45, // Metric value + 'product:latte', // First tag + 'order:online' // Second tag ); } ``` @@ -147,16 +201,16 @@ func main() { func myHandler(ctx context.Context, event MyEvent) (string, error) { ddlambda.Distribution( - "coffee_house.order_value", // Nombre de la métrica - 12.45, // Valor de la métrica - "product:latte", "order:online" // Etiquetas asociadas + "coffee_house.order_value", // Metric name + 12.45, // Metric value + "product:latte", "order:online" // Associated tags ) } ``` {{< /programming-lang >}} {{< programming-lang lang="java" >}} -Instala la última versión del [`java-dogstatsd-client`][1]. +Instale la última versión de [`java-dogstatsd-client`][1]. ```java package com.datadog.lambda.sample.java; @@ -166,19 +220,19 @@ import com.amazonaws.services.lambda.runtime.RequestHandler; import com.amazonaws.services.lambda.runtime.events.APIGatewayV2ProxyRequestEvent; import com.amazonaws.services.lambda.runtime.events.APIGatewayV2ProxyResponseEvent; -// importa el compilador del cliente statsd +// import the statsd client builder import com.timgroup.statsd.NonBlockingStatsDClientBuilder; import com.timgroup.statsd.StatsDClient; public class Handler implements RequestHandler { - // crea la instancia del cliente statsd + // instantiate the statsd client private static final StatsDClient Statsd = new NonBlockingStatsDClientBuilder().hostname("localhost").build(); @Override public APIGatewayV2ProxyResponseEvent handleRequest(APIGatewayV2ProxyRequestEvent request, Context context) { - // envía una métrica de distribución + // submit a distribution metric Statsd.recordDistributionValue("my.custom.java.metric", 1, new String[]{"tag:value"}); APIGatewayV2ProxyResponseEvent response = new APIGatewayV2ProxyResponseEvent(); @@ -187,17 +241,17 @@ public class Handler implements RequestHandler}} {{< programming-lang lang="dotnet" >}} -Instala la última versión del [`dogstatsd-csharp-client`][1]. +Instale la última versión de [`dogstatsd-csharp-client`][1]. ```csharp using System.IO; -// importa el cliente statsd +// import the statsd client using StatsdClient; namespace Example @@ -222,7 +276,7 @@ namespace Example { static Function() { - // crea la instancia del cliente statsd + // instantiate the statsd client var dogstatsdConfig = new StatsdConfig { StatsdServerName = "127.0.0.1", @@ -234,9 +288,9 @@ namespace Example public Stream MyHandler(Stream stream) { - // envía una métrica de distribución + // submit a distribution metric DogStatsd.Distribution("my.custom.dotnet.metric", 1, tags: new[] { "tag:value" }); - // la lógica de tu función + // your function logic } } } @@ -246,23 +300,21 @@ namespace Example {{< /programming-lang >}} {{< programming-lang lang="other" >}} -1. [Instala][1] el cliente DogStatsD para tu tiempo de ejecución. -2. Sigue el [código de ejemplo][2] para enviar tus métricas personalizadas. +1. [Instale][1] el cliente DogStatsD para su entorno de ejecución +2. Siga el [código de ejemplo][2] para enviar sus métricas personalizadas. -[1]: /es/developers/dogstatsd/?tab=hostagent#install-the-dogstatsd-client -[2]: /es/developers/dogstatsd/?tab=hostagent#instantiate-the-dogstatsd-client +[1]: /es/extend/dogstatsd/?tab=hostagent#install-the-dogstatsd-client +[2]: /es/extend/dogstatsd/?tab=hostagent#instantiate-the-dogstatsd-client {{< /programming-lang >}} {{< /programming-lang-wrapper >}} -### Enviar métricas históricas con el Datadog Forwarder +### Envíe métricas históricas {#submit-historical-metrics} -En la mayoría de los casos, Datadog recomienda utilizar la extensión Datadog Lambda para enviar métricas personalizadas. Sin embargo, la extensión de Lambda solo puede enviar métricas con una marca de tiempo actual. +Utilice la Lambda Extension de Datadog para enviar métricas históricas. Estas métricas pueden tener marcas de tiempo de hasta una hora en el pasado. -Para enviar métricas históricas, utiliza el Datadog Forwarder. Estas métricas pueden tener marcas de tiempo que estén dentro de la última hora. +Comience por [instalar Serverless Monitoring para AWS Lambda][1]. Asegúrese de haber instalado la última Lambda Extension de Datadog. -Comienza por [instalar Serverless Monitoring para AWS Lambda][1]. Asegúrate de haber instalado el Datadog Lambda Forwarder. - -A continuación, elige tu tiempo de ejecución: +Luego, elija su entorno de ejecución: {{< programming-lang-wrapper langs="python,nodeJS,go,ruby,java,other" >}} {{< programming-lang lang="python" >}} @@ -272,17 +324,17 @@ from datadog_lambda.metric import lambda_metric def lambda_handler(event, context): lambda_metric( - "coffee_house.order_value", # Nombre de la métrica - 12.45, # Valor de la métrica - tags=['product:latte', 'order:online'] # Etiquetas asociadas + "coffee_house.order_value", # Metric name + 12.45, # Metric value + tags=['product:latte', 'order:online'] # Associated tags ) - # Envía una métrica con una marca de tiempo que esté dentro de los últimos 20 minutos + # Submit a metric with a timestamp that is within the last 20 minutes lambda_metric( - "coffee_house.order_value", # Nombre de la métrica - 12.45, # Valor de la métrica - timestamp=int(time.time()), # Unix epoch en segundos - tags=['product:latte', 'order:online'] # Etiquetas asociadas + "coffee_house.order_value", # Metric name + 12.45, # Metric value + timestamp=int(time.time()), # Unix epoch in seconds + tags=['product:latte', 'order:online'] # Associated tags ) ``` {{< /programming-lang >}} @@ -293,19 +345,19 @@ const { sendDistributionMetric } = require('datadog-lambda-js'); async function myHandler(event, context) { sendDistributionMetric( - 'coffee_house.order_value', // Nombre de la métrica - 12.45, // Valor de la métrica - 'product:latte', // Primera etiqueta - 'order:online' // Segunda etiqueta + 'coffee_house.order_value', // Metric name + 12.45, // Metric value + 'product:latte', // First tag + 'order:online' // Second tag ); - // Envía una métrica con una marca de tiempo que esté dentro de los últimos 20 minutos + // Submit a metric with a timestamp that is within the last 20 minutes sendDistributionMetricWithDate( - 'coffee_house.order_value', // Nombre de la métrica - 12.45, // Valor de la métrica - new Date(Date.now()), // Fecha - 'product:latte', // Primera etiqueta - 'order:online', // Segunda etiqueta + 'coffee_house.order_value', // Metric name + 12.45, // Metric value + new Date(Date.now()), // date + 'product:latte', // First tag + 'order:online', // Second tag ); } ``` @@ -326,17 +378,17 @@ func main() { func myHandler(ctx context.Context, event MyEvent) (string, error) { ddlambda.Distribution( - "coffee_house.order_value", // Nombre de la métrica - 12.45, // Valor de la métrica - "product:latte", "order:online" // Etiquetas asociadas + "coffee_house.order_value", // Metric name + 12.45, // Metric value + "product:latte", "order:online" // Associated tags ) - // Envía una métrica con una marca de tiempo que esté dentro de los últimos 20 minutos + // Submit a metric with a timestamp that is within the last 20 minutes ddlambda.MetricWithTimestamp( - "coffee_house.order_value", // Nombre de la métrica - 12.45, // Valor de la métrica - time.Now(), // Marca de tiempo - "product:latte", "order:online" // Etiquetas asociadas + "coffee_house.order_value", // Metric name + 12.45, // Metric value + time.Now(), // Timestamp + "product:latte", "order:online" // Associated tags ) } ``` @@ -348,20 +400,20 @@ func myHandler(ctx context.Context, event MyEvent) (string, error) { require 'datadog/lambda' def handler(event:, context:) - # Solo tienes que envolver el controlador de tu función (no las funciones auxiliares). + # You only need to wrap your function handler (Not helper functions). Datadog::Lambda.wrap(event, context) do Datadog::Lambda.metric( - 'coffee_house.order_value', # Nombre de la métrica - 12.45, # Valor de la métrica - "product":"latte", "order":"online" # Etiquetas asociadas + 'coffee_house.order_value', # Metric name + 12.45, # Metric value + "product":"latte", "order":"online" # Associated tags ) - # Envía una métrica con una marca de tiempo que esté dentro de los últimos 20 minutos + # Submit a metric with a timestamp that is within the last 20 minutes Datadog::Lambda.metric( - 'coffee_house.order_value', # Nombre de la métrica - 12.45, # Valor de la métrica - time: Time.now.utc, # Marca de tiempo - "product":"latte", "order":"online" # Etiquetas asociadas + 'coffee_house.order_value', # Metric name + 12.45, # Metric value + time: Time.now.utc, # Timestamp + "product":"latte", "order":"online" # Associated tags ) end end @@ -380,9 +432,9 @@ public class Handler implements RequestHandler}} {{< programming-lang lang="other" >}} -Escribe una función reutilizable que genere logs de tus métricas personalizadas en el siguiente formato: +Escriba una función reutilizable que registre sus métricas personalizadas en el siguiente formato: ```json { - "m": "Nombre de la métrica", - "v": "Valor de la métrica", - "e": "Marca de tiempo Unix (segundos)", - "t": "Matriz de etiquetas" + "m": "Metric name", + "v": "Metric value", + "e": "Unix timestamp (seconds)", + "t": "Array of tags" } ``` @@ -415,39 +467,24 @@ Por ejemplo: {{< /programming-lang >}} {{< /programming-lang-wrapper >}} -#### Envío de muchos puntos de datos - -El uso del Forwarder para enviar muchos puntos de datos para la misma métrica y el mismo conjunto de etiquetas (por ejemplo, dentro de un gran bucle `for`) puede afectar el rendimiento de Lambda y el coste de CloudWatch. - -Puedes agregar los puntos de datos de tu aplicación para evitar la sobrecarga. +### Entendiendo las métricas de distribución {#understanding-distribution-metrics} -Por ejemplo, en Python: - -```python -def lambda_handler(event, context): - - # Ineficiente cuando event['Records'] contiene muchos registros - for record in event['Records']: - lambda_metric("record_count", 1) - - # Implementación mejorada - record_count = 0 - for record in event['Records']: - record_count += 1 - lambda_metric("record_count", record_count) -``` +Cuando Datadog recibe múltiples puntos de métricas de conteo o de gauge que comparten la misma marca de tiempo y conjunto de etiquetas, solo el más reciente cuenta. Esto funciona para aplicaciones basadas en host porque los puntos métricos son agregados por el agente de Datadog y etiquetados con una etiqueta única `host`. -### Comprender las métricas de distribución +Una función Lambda puede lanzar muchos entornos de ejecución concurrentes cuando aumenta el tráfico. La función puede enviar puntos métricos de conteo o de gauge que se sobrescriben entre sí y provocan resultados con conteo inferior. Para evitar este problema, las métricas personalizadas generadas por funciones Lambda se envían como [distribuciones][11] porque los puntos métricos de distribución se agregan en el backend de Datadog, y cada punto métrico cuenta. -Cuando Datadog recibe varios puntos de métricas de recuento o calibre que comparten la misma marca de tiempo y el mismo conjunto de etiquetas, solo cuenta el punto más reciente. Esto funciona para las aplicaciones basadas en hosts porque el Datadog Agent agrega los puntos de métricas y les aplica una etiqueta `host` única. +Las distribuciones proporcionan agregaciones de `avg`, `sum`, `max`, `min`, `count` por defecto. En la página Metrics Summary, puede habilitar agregaciones percentiles (p50, p75, p90, p95, p99) y también [manage tags][12]. Para monitorear una distribución para un tipo de métrica gauge, utilice `avg` para ambas [agregaciones de tiempo y desglose espacial][13]. Para monitorear una distribución para un tipo de métrica count, utilice `sum` para ambas [agregaciones de tiempo y desglose espacial][13]. Consulte la guía [Query to the Graph][14] para entender cómo funcionan las agregaciones de tiempo y desglose espacial. -Un función de Lambda puede iniciar muchos entornos de ejecución de forma simultánea cuando aumenta el tráfico. La función puede llegar a enviar puntos de métricas de recuento o calibre que se sobrescriben entre sí y generan resultados subestimados. Para evitar este problema, las métricas personalizadas generadas a partir de funciones de Lambda se envían como [distribuciones][11], ya que los puntos de las métricas de distribución se agregan en el backend de Datadog y se cuentan todos los puntos de métricas. +### Entendiendo el uso, volumen y precios de sus métricas en Datadog {#understanding-your-metrics-usage-volume-and-pricing-in-datadog} -Las distribuciones ofrecen las agregaciones `avg`, `sum`, `max`, `min` y `count` de forma predeterminada. En la página Metric Summary (Resumen de métrica), puedes habilitar agregaciones percentiles (p50, p75, p90, p95, p99) y también [gestionar etiquetas][12]. Para monitorizar la distribución de un tipo de métrica de calibre, utiliza `avg` tanto para las [agregaciones temporales como espaciales][13]. Para monitorizar la distribución de un tipo de métrica de recuento, utiliza `sum` tanto para las [agregaciones temporales como espaciales][13]. Lee la guía [Consulta al gráfico][14] para saber cómo funcionan las agregaciones temporales y espaciales. +Datadog proporciona información granular sobre las métricas personalizadas que está ingiriendo, la cardinalidad de las etiquetas y las herramientas de gestión para sus métricas personalizadas dentro de la [Metrics Summary page][15] de la aplicación Datadog. Puede ver todas las métricas personalizadas Serverless bajo la etiqueta 'Serverless' en el [facet panel][16] de Distribution Metric Origin. También puede controlar los volúmenes y costos de métricas personalizadas con [Metrics without Limits™][17]. [9]: /es/logs/logs_to_metrics/ [10]: /es/tracing/trace_pipeline/generate_metrics/ [11]: /es/metrics/distributions/ [12]: /es/metrics/distributions/#customize-tagging [13]: /es/metrics/#time-and-space-aggregation -[14]: /es/dashboards/guide/query-to-the-graph/ \ No newline at end of file +[14]: /es/dashboards/guide/query-to-the-graph/ +[15]: https://app.datadoghq.com/metric/summary +[16]: /es/metrics/summary/#facet-panel +[17]: /es/metrics/summary/#metrics-without-limits \ No newline at end of file diff --git a/content/es/service_level_objectives/_index.md b/content/es/service_level_objectives/_index.md new file mode 100644 index 00000000000..6075b13bd87 --- /dev/null +++ b/content/es/service_level_objectives/_index.md @@ -0,0 +1,376 @@ +--- +aliases: +- /es/monitors/monitor_uptime_widget/ +- /es/monitors/slos/ +- /es/monitors/service_level_objectives/ +- /es/service_management/service_level_objectives/ootb_dashboard +- /es/service_management/service_level_objectives/ +description: Realice un seguimiento del estado de sus SLOs +further_reading: +- link: https://learn.datadoghq.com/courses/intro-to-slo + tag: Centro de Aprendizaje + text: Introducción a los SLOs +- link: https://www.datadoghq.com/blog/service-page/ + tag: Blog + text: Telemetría de Servicio, Error Tracking, SLOs y más +- link: https://www.datadoghq.com/blog/monitor-service-performance-with-slo-alerts/ + tag: Blog + text: Monitoree proactivamente el rendimiento del servicio con alertas de SLO +- link: https://www.datadoghq.com/blog/slo-key-questions/ + tag: Blog + text: Preguntas clave que hacer al establecer SLOs +- link: https://www.datadoghq.com/blog/define-and-manage-slos/ + tag: Blog + text: Mejores prácticas para gestionar sus SLOs con Datadog +- link: https://www.datadoghq.com/blog/burn-rate-is-better-error-rate/ + tag: Blog + text: La Tasa de Quema es una Mejor Tasa de Errores +- link: https://www.datadoghq.com/blog/datadog-executive-dashboards + tag: Blog + text: Diseña tableros ejecutivos efectivos con Datadog +- link: https://www.datadoghq.com/blog/slo-monitoring-tracking/ + tag: Blog + text: Realice un seguimiento del estado y del presupuesto de error de sus SLOs con + Datadog +- link: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/service_level_objective + tag: Sitio Externo + text: Cree y gestione SLOs con Terraform +title: Service Level Objectives +--- +{{< jqmath-vanilla >}} + +
+ +{{< learning-center-callout header="Únase a una sesión de seminario web de habilitación" hide_image="true" btn_title="Regístrese" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=SLOs&tags.topics-1=Monitors">}} + Explore y regístrese para las sesiones de Habilitación de Fundación. Aprenda cómo puede priorizar y abordar los problemas que más importan a su negocio con el seguimiento nativo de SLO y SLA. +{{< /learning-center-callout >}} + +## Resumen {#overview} + +Los Objetivos de Nivel de Servicio, o SLOs, son una parte clave del conjunto de herramientas de ingeniería de confiabilidad del sitio. Los SLOs proporcionan un marco para definir objetivos claros en torno al rendimiento de la aplicación, lo que ayuda a los equipos a ofrecer una experiencia de cliente consistente, equilibrar el desarrollo de características con la estabilidad de la plataforma y mejorar la comunicación con los usuarios internos y externos. + +**Consejo**: Para abrir los SLOs desde la búsqueda global de Datadog, presione Cmd/Ctrl + K y busque `slo`. + +## Terminología clave {#key-terminology} + +Indicador de Nivel de Servicio (SLI) +: Una medición cuantitativa del rendimiento o la fiabilidad de un servicio. En los SLOs de Datadog, un SLI es una métrica o una agregación de uno o más monitors. + +Service Level Objective (SLO) +: Un porcentaje objetivo para un SLI durante un período de tiempo específico. + +Acuerdo de Nivel de Servicio (SLA) +: Un acuerdo explícito o implícito entre un cliente y un proveedor de servicios que estipula las expectativas de fiabilidad del cliente y las consecuencias para el proveedor de servicios por no cumplirlas. + +Presupuesto de error +: La cantidad permitida de falta de fiabilidad derivada del porcentaje objetivo de un SLO (100% - porcentaje objetivo) que se destina al desarrollo del producto. + +## Tipos de SLO {#slo-types} + +Al crear SLOs, puede elegir entre los siguientes tipos: +- **SLOs basados en métricas**: se pueden utilizar cuando desea que el cálculo del SLI sea basado en conteo, el SLI se calcula como la suma de eventos buenos dividida por la suma de eventos totales. +- **SLOs basados en monitors**: se pueden utilizar cuando desea que el cálculo del SLI sea basado en tiempo, el SLI se basa en el tiempo de actividad del monitor. Los SLOs basados en monitors deben basarse en un monitor de Datadog nuevo o existente, cualquier ajuste debe hacerse al monitor subyacente (no se puede hacer a través de la creación de SLO). +- **SLOs de Intervalo de Tiempo**: se pueden utilizar cuando desea que el cálculo del SLI sea basado en tiempo, el SLI se basa en su definición personalizada de tiempo de actividad (cantidad de tiempo que su sistema exhibe buen comportamiento dividido por el tiempo total). Los SLOs de Intervalo de Tiempo no requieren un monitor de Datadog, puede probar diferentes filtros de métricas y umbrales y explorar instantáneamente el tiempo de inactividad durante la creación de SLO. + +Para una comparación completa, consulte el gráfico de [Comparación de Tipos de SLO][1]. + +## Configuración {#setup} + +Utilice la página de [Service Level Objectives manage page][2] para crear nuevos SLOs o para ver y gestionar todos sus SLOs existentes. + +### Configuración {#configuration} + +1. En la [SLO manage page][2], seleccione **Nuevo SLO +**. +2. Seleccione el tipo de SLO. Puede crear un SLO con cualquiera de los siguientes tipos: [Basado en métricas][3], [Basado en monitors][4], o [Intervalos de tiempo][5]. +3. Establezca un objetivo y una ventana de tiempo móvil (de los últimos 7, 30 o 90 días) para el SLO. Datadog recomienda que haga el objetivo más estricto que sus SLAs estipulados. Esta ventana de tiempo se muestra en las listas de SLO. Por defecto, se selecciona la ventana de tiempo más corta. +4. Finalmente, dele un título al SLO, descríbalo con más detalle o agregue enlaces en la descripción, añada etiquetas y guárdelo. + +Después de configurar el SLO, selecciónelo de la [vista de lista de Service Level Objectives][2] para abrir el panel lateral de detalles. El panel lateral muestra el porcentaje de estado general y el presupuesto de error restante para cada uno de los objetivos del SLO, así como barras de estado (SLOs basados en monitors) o gráficos de barras (SLOs basados en métricas) de la historia del SLI. Si creó un SLO basado en monitors agrupados utilizando un [multi alert monitor][6] o un SLO basado en métricas agrupadas utilizando la [`sum by` cláusula][7], el porcentaje de estado y el presupuesto de error restante para cada grupo individual se muestran, además del porcentaje de estado general y el presupuesto de error restante. + +**Ejemplo:** Si crea un SLO basado en monitor para rastrear la latencia por Availability Zone, se muestran los porcentajes de estado y el presupuesto de error restante para el SLO general y para cada Availability Zone individual que el SLO esté rastreando. + +**Nota:** El presupuesto de error restante se muestra como un porcentaje y se calcula utilizando la siguiente fórmula: + +$$\text"presupuesto de error restante" = 100 * {\text"estado actual" - \text" objetivo"} / { 100 - \text"objetivo"}$$ + +### Estableciendo objetivos de SLO {#setting-slo-targets} + +Para aprovechar los beneficios de los presupuestos de error y las alertas de presupuesto de error, debe establecer valores de objetivo de SLO estrictamente por debajo del 100%. + +Establecer un objetivo del 100% significa tener un presupuesto de error del 0% ya que el presupuesto de error es igual al 100%—objetivo de SLO. Sin un presupuesto de error que represente un riesgo aceptable, se enfrenta a dificultades para encontrar alineación entre las prioridades conflictivas de mantener la fiabilidad orientada al cliente e invertir en el desarrollo de características. Además, los SLOs con valores objetivo del 100% conducen a errores de división por cero en la evaluación de alertas de SLO. + +**Nota:** El número de decimales que puede especificar para sus SLO varía según el tipo de SLO y las ventanas de tiempo que elija. Consulte los enlaces a continuación para obtener más información sobre cada tipo de SLO respectivo. + +[Monitor-based SLOs][8]: Up to two decimal places are allowed for 7-day and 30-day targets, up to three decimal places are allowed for 90-day targets. + +[Metric-based SLOs][9]: Up to three decimal places are allowed for all targets. + +## Editar un SLO {#edit-an-slo} + +Para editar un SLO, pase el cursor sobre la fila del SLO en la vista de lista y haga clic en el ícono de edición que aparece a la derecha de la fila, o haga clic en la fila para abrir el panel lateral de detalles y seleccione el botón de edición del icono de engranaje en la parte superior derecha del panel. + +## Permisos {#permissions} + +### Acceso basado en roles {#role-based-access} + +Todos los usuarios pueden ver los SLO y [correcciones de estado de SLO](#slo-status-corrections), independientemente de su [rol][10] asociado. Solo los usuarios asignados a roles con el `slos_write` permiso pueden crear, editar y eliminar SLOs. + +Para crear, editar y eliminar correcciones de estado, los usuarios requieren los permisos `slos_corrections`. Un usuario con este permiso puede hacer correcciones de estado, incluso si no tiene permiso para editar esos SLOs. Para la lista completa de permisos, consulte la [documentación de RBAC][11]. + +### Controles de acceso granulares {#granular-access-controls} + +Restringa el acceso a SLOs individuales especificando una lista de [roles][10] que están autorizados a editarlos. + +{{< img src="service_management/service_level_objectives/slo_set_permissions.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Opción de permisos de SLO en el menú de engranaje">}} + +1. Haga clic en el SLO para abrir el panel lateral de detalles. +1. Haga clic en el ícono de engranaje en la parte superior derecha del panel. +1. Seleccione **Permisos**. +1. Haga clic en **Restringir Acceso**. +1. El cuadro de diálogo se actualiza para mostrar que los miembros de su organización tienen acceso de **Viewer** por defecto. +1. Utilice el menú desplegable para seleccionar uno o más roles, equipos o usuarios que puedan editar el SLO. +1. Haga clic en **Agregar**. +1. El cuadro de diálogo se actualiza para mostrar que el rol que seleccionó tiene el permiso de **Editor**. +1. Haga clic en **Guardar**. + +Para mantener su acceso de edición al SLO, el sistema requiere que incluya al menos un rol del cual sea miembro antes de guardar. Los usuarios en la lista de control de acceso pueden agregar roles y solo pueden eliminar roles que no sean el suyo. + +**Nota**: Los usuarios pueden crear SLOs en cualquier monitor incluso si no tienen permisos de escritura para el monitor. De manera similar, los usuarios pueden crear alertas de SLO incluso si no tienen permisos de escritura para el SLO. Para más información sobre los permisos RBAC para Monitors, consulte la [documentación de RBAC][12] o la [guía sobre cómo configurar RBAC para Monitors][13]. + +## Buscando SLOs {#searching-slos} + +La [página de gestión de Objetivos de Nivel de Servicio][2] le permite realizar una búsqueda avanzada de todos los SLOs para que pueda encontrar, ver, editar, clonar o eliminar SLOs de los resultados de búsqueda. + +La búsqueda avanzada le permite consultar SLOs por cualquier combinación de atributos de SLO: + +* `name` y `description` - búsqueda de texto +* `time window` - 7d, 30d, 90d +* `type` - métrica, monitor +* `creator` +* `tags` - centro de datos, env, servicio, equipo, etc. + +Para realizar una búsqueda, utilice las casillas de verificación de la izquierda y la barra de búsqueda en la parte superior. Cuando marque las casillas, la barra de búsqueda se actualiza con la consulta equivalente. De igual manera, cuando modifique la consulta en la barra de búsqueda (o la escriba desde cero), las casillas de verificación se actualizan para reflejar el cambio. Los resultados de la consulta se actualizan en tiempo real a medida que edita la consulta; no hay un botón de 'Buscar' para hacer clic. + +## Viendo SLOs {#viewing-slos} + +*Agrupe sus SLOs por *cualquier etiqueta para obtener una vista resumida de sus datos. Puede analizar rápidamente cuántos SLOs hay en cada estado (incumplido, advertencia, OK y sin datos), agrupados por servicio, equipo, recorrido del usuario, nivel o cualquier otra etiqueta establecida en sus SLOs. + +{{< img src="service_management/service_level_objectives/slo_group_by_new.png" alt="Vista resumida de SLOs agrupados por Teams" style="width:100%;" >}} + +Ordene los SLOs por las columnas de *estado* y *presupuesto de error* para priorizar cuáles SLOs necesitan su atención. La lista de SLOs muestra los detalles de los SLOs durante la ventana de tiempo principal seleccionada en su [configuración](#configuration). Todas las demás ventanas de tiempo de configuración están disponibles para ver en el panel lateral individual. Abra el panel lateral de detalles de SLO haciendo clic en la fila de la tabla correspondiente. + +**Nota**: Puede ver sus SLOs desde la pantalla de inicio de su dispositivo móvil descargando la [aplicación móvil de Datadog][14], disponible en la [Apple App Store][15] y [Google Play Store][16]. + +{{< img src="service_management/service_level_objectives/slos-mobile.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="SLOs en iOS y Android">}} + +### Etiquetas de SLO {#slo-tags} + +Las etiquetas de SLO se pueden usar para filtrar en la [SLO manage page][2], crear [Saved Views][17] o agrupar SLOs para ver. Las etiquetas se pueden agregar a los SLOs de las siguientes maneras: + +- Cuando crea o edita un SLO, puede agregar etiquetas +- Desde la vista de lista de SLOs, puede agregar y actualizar etiquetas en bloque utilizando las opciones desplegables *Editar Etiquetas* y *[Edit Teams][18]* en la parte superior de la lista de SLOs. + +{{< img src="service_management/service_level_objectives/slo_bulk_tag.png" alt="La página de lista de SLOs muestra el menú desplegable Editar Etiquetas para la edición masiva de etiquetas." >}} + +### Indicador de tasa de quema SLO {#slo-burn-rate-indicator} + +Los indicadores de tasa de quema utilizan una ventana móvil de 2 horas para evaluar cuáles SLOs están consumiendo su presupuesto de error demasiado rápido. Los indicadores de tasa de quema aparecen junto a los nombres de SLO aplicables en la [SLO manage page][2]. + +{{< img src="/service_management/service_level_objectives/slo_burn_rate_indicator.png" alt="La SLO manage page en Datadog. Un ícono rojo aparece junto al nombre de un SLO en la lista. Al pasar el mouse sobre el ícono rojo, se muestra un modal con más información, una visualización de la tasa de quema y un enlace a la página de servicio correspondiente del SLO." style="width:80%;" >}} + +Hay dos tipos de indicadores posibles: +- Un ícono rojo que indica una tasa de quema crítica superior a 6 en las últimas 2 horas. +- Un ícono amarillo que indica una tasa de quema elevada entre 1 y 6 en las últimas 2 horas. + +Un gráfico visual acompaña a cada indicador para mostrar dónde se encuentra la tasa de quema en relación con los umbrales elevado y crítico, permitiendo una evaluación rápida de la gravedad. + +Los SLOs pueden filtrarse por estado de tasa de quema: Crítico, Elevado y Saludable. Para los SLOs con una etiqueta de servicio, cada indicador de tasa de quema incluye un enlace directo a la página del servicio relacionada para una investigación más profunda. + +### Vista predeterminada de SLO {#slo-default-view} + +La vista predeterminada de SLO se carga cuando accede a la vista de lista de SLO. + +La vista predeterminada incluye: + +- Una consulta de búsqueda vacía +- Una lista de todos los SLO definidos en su organización +- Una lista de facetas disponibles en la lista de facetas del lado izquierdo + +### Saved Views {#saved-views} + +Las Saved Views le permiten guardar y compartir búsquedas personalizadas en la vista de lista de SLO para los SLO que son más relevantes para usted y su equipo al compartir: + +- Una consulta de búsqueda +- Un subconjunto seleccionado de facetas + +Después de consultar un subconjunto de SLOs en la vista de lista, puede agregar esa consulta como una Saved View. + +#### Agregar una Saved View {#add-a-saved-view} + +Para agregar una Saved View: + +1. Consulte sus SLOs. +2. Haga clic en **Guardar Vista +** en la parte superior izquierda de la página. +3. Nombre su vista y guarde. + +#### Cargar una Saved View {#load-a-saved-view} + +Para cargar una Saved View, abre el panel de *Saved Views* presionando el botón **Show Views** en la parte superior izquierda de la página y selecciona una Saved View de la lista. También puede buscar Saved Views en el cuadro de búsqueda *Filter Saved Views* en la parte superior de ese mismo panel de *Saved Views*. + +#### Compartir una Saved View {#share-a-saved-view} + +Pase el cursor sobre una Saved View de la lista y seleccione el ícono de hipervínculo para copiar el enlace a la Saved View y compartirlo con sus compañeros de equipo. + +#### Manage Saved Views {#manage-saved-views} + +Una vez que esté utilizando una Saved View, puede actualizarla seleccionando esa Saved View, modificando la consulta y haciendo clic en el botón *Update* debajo de su nombre en el panel de *Saved Views*. Para cambiar el nombre de la Saved View o eliminar una Saved View, pase el cursor sobre su fila en el panel de *Saved Views* y haga clic en el ícono de lápiz o en el ícono de papelera, respectivamente. + +## Eventos de auditoría de corrección de SLO y estado de SLO {#slo-and-slo-status-correction-audit-events} + +Los eventos de auditoría de SLO le permiten rastrear el historial de sus configuraciones de SLO utilizando el [Event Explorer][27] o la pestaña de **Historial de Auditoría** en los detalles del SLO. Los eventos de auditoría se agregan a Event Explorer cada vez que se crea, se modifica o se elimina un SLO o una corrección de estado de SLO. Cada evento incluye información sobre la configuración de un SLO o una corrección de estado de SLO, y el flujo proporciona un historial de los cambios de configuración a lo largo del tiempo. + +### Eventos de auditoría de SLO {#slo-audit-events} + +Cada evento incluye la siguiente información de configuración de SLO: + +- Nombre +- Descripción +- Porcentajes objetivo y ventanas de tiempo +- Fuentes de datos (Monitor IDs o consulta de métricas) + +Tres tipos de eventos de auditoría de SLO aparecen en Event Explorer: + +- `SLO Created` los eventos muestran la información de configuración de SLO en el momento de la creación +- `SLO Modified` los eventos muestran qué información de configuración cambió durante una modificación +- `SLO Deleted` los eventos muestran la información de configuración que tenía el SLO antes de ser eliminado + +### Eventos de auditoría de corrección de estado {#status-correction-audit-events} + +Cada evento incluye la siguiente información de configuración de corrección de estado de SLO: + +- Nombre de SLO +- Tiempos de inicio y fin de la corrección de estado con zona horaria +- Categoría de corrección de estado + +Tres tipos de eventos de auditoría de corrección de estado de SLO aparecen en el Explorador de Eventos: + +- `SLO Correction Created` los eventos muestran la información de configuración de corrección de estado en el momento de la creación +- `SLO Correction Modified` los eventos muestran qué información de configuración cambió durante una modificación +- `SLO Correction Deleted` los eventos muestran la información de configuración que tenía la corrección de estado antes de ser eliminada + +Para obtener una lista completa de todos los eventos de auditoría de SLO, ingrese la consulta de búsqueda `tags:(audit AND slo)` en Event Explorer. Para ver la lista de eventos de auditoría para un SLO específico, ingrese `tags:audit,slo_id:` con el ID del SLO deseado. También puede consultar Event Explorer programáticamente utilizando la [Datadog Events API][19]. + +**Nota:** Si no ve eventos aparecer en la interfaz de usuario, asegúrese de establecer el marco de tiempo de Event Explorer a un período más largo, por ejemplo, los últimos 7 días. + +{{< img src="service_management/service_level_objectives/slo-audit-events.png" alt="Eventos de auditoría de SLO" >}} + +También puede usar la pestaña "Historial de Auditoría" en los detalles del SLO para ver todos los eventos de auditoría de un SLO individual: + +{{< img src="service_management/service_level_objectives/slo_audit_history_tab.png" alt="Pestaña de historial de auditoría de detalles del SLO" >}} + +Con [Event Monitors][28], puede configurar notificaciones para rastrear eventos de auditoría de SLO. Por ejemplo, si desea ser notificado cuando se modifique la configuración de un SLO específico, configure un Event Monitor para rastrear el texto `[SLO Modified]` sobre las etiquetas `audit,slo_id:`. + +## Widgets de SLO {#slo-widgets} + +{{< learning-center-callout header="Intente crear conocimientos críticos para el negocio utilizando Dashboards y SLOs en el Learning Center" btn_title="Inscríbase ahora" btn_url="https://learn.datadoghq.com/courses/dashboards-slos">}} + Aprenda sin costo en capacidad de computación en la nube real y una cuenta de prueba de Datadog. Inscríbase hoy para aprender más sobre cómo construir Dashboards para rastrear SLOs. +{{< /learning-center-callout >}} + +Después de crear su SLO, puede visualizar los datos a través de Dashboards y widgets. + - Utilice el widget de SLO para visualizar el estado de un solo SLO + - Utilice el SLO List widget para visualizar un conjunto de SLOs + - Grafique 15 meses de datos de SLO basados en métricas con la [SLO data source][20] en widgets tanto de series temporales como escalares (valor de consulta, lista principal, tabla, cambio). + +Para más información sobre los SLO widgets, consulte las páginas del [SLO widget][21] y [SLO List widget][22]. Para más información sobre el SLO data source, consulte la guía sobre cómo [Graph historical SLO data on Dashboards][20]. + +## Correcciones de estado de SLO {#slo-status-corrections} + +Las correcciones de estado le permiten excluir períodos de tiempo específicos de los cálculos del estado del SLO y del presupuesto de errores. De esta manera, puede: +- Prevenir que el tiempo de inactividad esperado, como el mantenimiento programado, agote su presupuesto de errores +- Ignorar las horas no laborales, en las que no se espera que cumpla con sus SLOs +- Asegurar que los problemas temporales causados por implementaciones no impacten negativamente sus SLOs + +Cuando aplique una corrección, el período de tiempo que especifique se elimina del cálculo del SLO. +- Para los SLOs basados en Monitors, la ventana de tiempo de corrección no se cuenta. +- Para los SLOs basados en métricas, todos los eventos buenos y malos en la ventana de corrección no se cuentan. +- Para los SLOs de Tiempo de Segmento, la ventana de tiempo de corrección se trata como tiempo de actividad. + +Tiene la opción de crear correcciones únicas para ajustes ad hoc, o correcciones recurrentes para ajustes predecibles que ocurren de manera regular. Las correcciones únicas requieren una hora de inicio y una hora de finalización, mientras que las correcciones recurrentes requieren una hora de inicio, duración e intervalo. Las correcciones recurrentes se basan en la especificación RRULE de [iCalendar RFC 5545][24]. Las reglas soportadas son `FREQ`, `INTERVAL`, `COUNT` y `UNTIL`. Especificar una fecha de finalización para las correcciones recurrentes es opcional en caso de que necesites que la corrección se repita indefinidamente. + +Para cualquiera de los tipos de corrección, debe seleccionar una categoría de corrección que indique por qué se está realizando la corrección. Las categorías disponibles son `Scheduled Maintenance`, `Outside Business Hours`, `Deployment` y `Other`. Puede incluir opcionalmente una descripción para proporcionar contexto adicional si es necesario. + +Cada SLO tiene un límite máximo de correcciones que se pueden configurar para asegurar el rendimiento de las consultas. Estos límites solo se aplican a los últimos 90 días por SLO, por lo que las correcciones para períodos de tiempo anteriores a los últimos 90 días no cuentan para su límite. Esto significa que: +- Si el tiempo de finalización de una corrección única es antes de los últimos 90 días, cuenta para su límite. +- Si el tiempo de finalización de la última repetición de una corrección recurrente es antes de los últimos 90 días, no cuenta para su límite. + +Los límites de 90 días por SLO son los siguientes: + +| Tipo de Corrección | Límite por SLO | +| ----------------- | ------------- | +| Única | 100 | +| Diaria recurrente | 2 | +| Semanal recurrente | 3 | +| Mensual recurrente | 5 | + +Puede configurar correcciones de estado a través de la interfaz de usuario seleccionando `Correct Status` en el panel lateral de su SLO, la [API de correcciones de estado de SLO][25], o un [recurso de Terraform][26]. + +#### Acceso en la interfaz de usuario {#access-in-the-ui} + +Para acceder a las correcciones de estado de SLO en la interfaz de usuario: + +1. Cree un nuevo SLO o haga clic en uno existente. +2. Navegue a la vista del panel lateral de detalles de un SLO. +3. Bajo el ícono de engranaje, seleccione **Correct Status** para acceder al modal de creación de **Status Corrections**. +4. Elija entre `One-Time` y `Recurring` en el **Select the Time Correction Window**, y especifique el período de tiempo que desea corregir. +5. Seleccione un **Correction Type**. +6. Opcionalmente, agregue **Notes**. +7. Haga clic en **Apply Correction**. + +{{< img src="service_management/service_level_objectives/slo-corrections-ui.png" alt="SLO Correction UI" style="width:80%;">}} + +Para ver, editar y eliminar correcciones de estado existentes, haga clic en la pestaña **Corrections** en la parte superior del panel lateral detallado de un SLO. + +#### Visualizing Status Corrections {#visualizing-status-corrections} + +Para SLOs basados en métricas y Time Slice SLOs con Status Corrections, hay un interruptor en la vista de detalles del SLO que le permite habilitar o deshabilitar correcciones en la interfaz de usuario. El interruptor controla los gráficos y los datos en la sección "History" de la vista de detalles del SLO. **Nota:** Su estado general de SLO y presupuesto de errores siempre tomarán en cuenta las correcciones de estado. + +{{< img src="service_management/service_level_objectives/correction-toggle.png" alt="Interfaz de usuario de corrección de SLO" style="width:100%;">}} + +## Visualización del calendario de SLO {#slo-calendar-view} + +La Visualización del Calendario de SLO está disponible en la [página de gestión de SLO][2]. En la esquina superior derecha, cambie de la visualización "Principal" a la "Diaria", "Semanal" o "Mensual" para ver 12 meses de datos históricos del estado del SLO. La Visualización del Calendario es compatible con SLOs basados en métricas y SLOs de intervalo de tiempo. + +{{< img src="service_management/service_level_objectives/slo-calendar-view-2.png" alt="Visualización del calendario de SLO" >}} + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /es/service_level_objectives/guide/slo_types_comparison/ +[2]: https://app.datadoghq.com/slo +[3]: /es/service_level_objectives/metric/ +[4]: /es/service_level_objectives/monitor/ +[5]: /es/service_level_objectives/time_slice/ +[6]: /es/monitors/types/metric/?tab=threshold#alert-grouping +[7]: /es/service_level_objectives/metric/#define-queries +[8]: /es/service_level_objectives/monitor/#set-your-slo-targets +[9]: /es/service_level_objectives/metric/#set-your-slo-targets +[10]: /es/account_management/rbac/ +[11]: /es/account_management/rbac/permissions/#service-level-objectives/ +[12]: /es/account_management/rbac/permissions/#monitors +[13]: /es/monitors/guide/how-to-set-up-rbac-for-monitors/ +[14]: /es/mobile +[15]: https://apps.apple.com/app/datadog/id1391380318 +[16]: https://play.google.com/store/apps/details?id=com.datadog.app +[17]: /es/service_level_objectives/#saved-views +[18]: /es/account_management/teams/#associate-resources-with-team-handles +[19]: /es/api/latest/events/ +[20]: /es/dashboards/guide/slo_data_source/ +[21]: /es/dashboards/widgets/slo/ +[22]: /es/dashboards/widgets/slo_list/ +[23]: /es/monitors/types/event/ +[24]: https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html +[25]: /es/api/latest/service-level-objective-corrections/ +[26]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/slo_correction +[27]: /es/events/explorer/ +[28]: /es/monitors/types/event/ \ No newline at end of file diff --git a/content/es/session_replay/_index.md b/content/es/session_replay/_index.md new file mode 100644 index 00000000000..f421b5a18ed --- /dev/null +++ b/content/es/session_replay/_index.md @@ -0,0 +1,139 @@ +--- +aliases: +- /es/real_user_monitoring/guide/session-replay-getting-started/ +- /es/real_user_monitoring/session_replay/ +- /es/product_analytics/session_replay/ +- /es/real_user_monitoring/session_replay/developer_tools +- /es/real_user_monitoring/session_replay/browser/developer_tools +- /es/product_analytics/session_replay/browser/developer_tools +description: Aprende cómo capturar y reproducir visualmente la experiencia de navegación + web o de aplicaciones móviles de tus usuarios con la reproducción de sesión. +further_reading: +- link: https://www.datadoghq.com/blog/session-replay-datadog/ + tag: Blog + text: Utiliza la reproducción de sesión de Datadog para ver los recorridos de los + usuarios en tiempo real +- link: https://www.datadoghq.com/blog/reduce-customer-friction-funnel-analysis/ + tag: Blog + text: Utiliza el análisis de embudos para comprender y optimizar los flujos clave + de usuarios +- link: https://www.datadoghq.com/blog/zendesk-session-replay-integration/ + tag: Blog + text: Reproduce visualmente los problemas que enfrentan los usuarios con Zendesk + y la Reproducción de Sesiones de Datadog +- link: /real_user_monitoring/explorer + tag: Documentación + text: Visualiza tus datos de RUM en el Explorador +- link: /integrations/content_security_policy_logs + tag: Documentación + text: Detecta y agrega violaciones de CSP con Datadog +- link: https://learn.datadoghq.com/courses/intro-to-rum + tag: Centro de Aprendizaje + text: Introducción a la Monitorización de Usuarios Reales (RUM) +title: Reproducción de sesión +--- +## Descripción General {#overview} + +La reproducción de sesión amplía tu monitoreo de la experiencia del usuario al permitirte capturar y reproducir visualmente la experiencia de navegación web o de aplicaciones móviles de tus usuarios. La reproducción de sesión está disponible tanto en [RUM][1] como en [Product Analytics][2], ayudándote a identificar y reproducir errores, comprender los recorridos de los usuarios y obtener información sobre los patrones de uso y las fallas de diseño de tu aplicación. + +## Reproducción de sesión del navegador {#browser-session-replay} + +La reproducción de sesión del navegador amplía tu monitoreo de la experiencia del usuario al permitirte capturar y reproducir visualmente la experiencia de navegación web de tus usuarios. Combinada con los datos de rendimiento de RUM, la reproducción de sesión es beneficiosa para la identificación, reproducción y resolución de errores, y proporciona información sobre los patrones de uso y las fallas de diseño de tu aplicación web. + +El SDK del Navegador RUM es [código abierto][3] y aprovecha el proyecto de código abierto [rrweb][4]. + +Aprende más sobre la [reproducción de sesión para navegadores][5]. + +## Reproducción de sesión móvil {#mobile-session-replay} + +La reproducción de sesión móvil amplía la visibilidad de tus aplicaciones móviles al reproducir visualmente cada interacción del usuario, como toques, deslizamientos y desplazamientos. Está disponible para aplicaciones nativas tanto en Android como en iOS. Reproducir visualmente las interacciones del usuario en tus aplicaciones facilita la reproducción de fallos y errores, así como entender el recorrido del usuario para realizar mejoras en la interfaz de usuario. + +Aprende más sobre la [reproducción de sesión para móviles][6]. + +## Resúmenes impulsados por IA y capítulos inteligentes {#ai-powered-summaries-and-smart-chapters} + +{{< site-region region="gov,gov2" >}}
Esta función no es compatible con tu sitio Datadog seleccionado ({{< region-param key="dd_site_name" >}}).
{{< /site-region >}} + +Los resúmenes y capítulos inteligentes te brindan contexto sobre lo que sucedió en una sesión antes de que la veas. + +**Los resúmenes** describen la intención del usuario, acciones clave, señales de fricción y resultado. Momentos específicos en el resumen están hipervinculados para que puedas saltar directamente a ese punto en la reproducción. En la lista de sesiones, pasa el cursor sobre una reproducción para previsualizar el resumen, o abre la reproducción directamente. Si una sesión ha sido resumida antes, el resumen aparece instantáneamente cuando abres la reproducción. + +{{< img src="real_user_monitoring/session_replay/session-replay-ai-summary.png" alt="Resumen impulsado por IA en el reproductor de reproducción de sesión, mostrando la intención del usuario, acciones clave, señales de fricción y momentos hipervinculados." style="width:100%;" >}} + +**Los capítulos inteligentes** segmentan automáticamente la línea de tiempo de la reproducción en etapas etiquetadas del recorrido del usuario. Por ejemplo, en una sesión de comercio electrónico, los capítulos podrían incluir "Explorar iluminación", "Comprar ropa de cama y sillas", y "Revisar carrito y pagar". Los capítulos aparecen cuando pasas el cursor sobre la línea de tiempo y en el menú desplegable de los controles del reproductor, permitiéndote saltar directamente entre ellos. + +{{< img src="real_user_monitoring/session_replay/session-replay-smart-chapters.png" alt="Menú desplegable de capítulos inteligentes en el reproductor de reproducción de sesión mostrando etapas etiquetadas del recorrido del usuario." style="width:100%;" >}} + +Los resúmenes impulsados por IA y los capítulos inteligentes se generan para sesiones con al menos cuatro acciones de usuario y una duración de al menos 45 segundos. + +## Comentarios {#comments} + +{{< site-region region="gov,gov2" >}}
Esta función no es compatible con tu sitio Datadog seleccionado ({{< region-param key="dd_site_name" >}}). Si requiere esta capacidad, comuníquese con Soporte de Datadog.
{{< /site-region >}} + +Los comentarios de la reproducción de sesión permiten a su equipo colaborar en errores, problemas de usabilidad y otras observaciones directamente dentro de una reproducción. + +Con los comentarios, usted puede: + +- Agregar un comentario en un momento específico de la línea de tiempo de la reproducción. Los marcadores de comentarios aparecen en la línea de tiempo y en la pestaña de **Comentarios**. +- @mencionar a un compañero de equipo o a un equipo en un comentario. Los usuarios etiquetados reciben una notificación por correo electrónico con un enlace que abre la reproducción en el momento comentado. +- Copiar un enlace a cualquier comentario y compartirlo externamente. El enlace abre la reproducción en el momento anotado con ese hilo de comentarios abierto. +- Responder en el hilo para colaborar dentro de una reproducción, y editar o eliminar sus propios comentarios según sea necesario. + +{{< img src="real_user_monitoring/session_replay/session-replay-comments.png" alt="Reproductor de reproducción de sesión con comentarios con marca de tiempo en la línea de tiempo y una pestaña de Comentarios abierta con respuestas en hilo." style="width:100%;" >}} + +Para encontrar reproducciones que necesiten su atención, use las listas de reproducción predeterminadas de **Todas las menciones a mí** y **Reproducciones comentadas**. Vea [Listas de reproducción de sesión][7] para más detalles. + +## Extender la retención de datos {#extend-data-retention} + +Por defecto, los datos de reproducción de sesión se retienen durante 30 días. + +Para extender la retención de datos de reproducción de sesión a 15 meses, puede habilitar _Retención Extendida_ en reproducciones de sesiones individuales. Estas sesiones deben ser no activas (el usuario ha completado su experiencia). + +Para acceder a cualquier reproducción de sesión en un momento posterior, Datadog recomienda guardar la URL o agregarla a una [Lista de reproducción][7]. + +La Retención Extendida solo se aplica a la Reproducción de Sesión y no incluye los eventos asociados. Los 15 meses comienzan cuando se habilita la Retención Extendida, no cuando se recopila la sesión. + +Puedes desactivar la Retención Extendida en cualquier momento. Si la reproducción de la sesión aún está dentro de su período predeterminado de retención de 30 días, la reproducción expira al final de la ventana inicial de 30 días. Si desactivas la Retención Extendida en una reproducción de sesión que tiene más de 30 días, la reproducción expira de inmediato. + +{{< img src="real_user_monitoring/session_replay/extended-retention-1.png" alt="Habilitar retención extendida" style="width:100%;" >}} + +Consulta el diagrama a continuación para entender qué datos se retienen con la retención extendida. + +{{< img src="real_user_monitoring/session_replay/replay-extended-retention-1.png" alt="Diagrama de qué datos se retienen con la retención extendida" style="width:100%;" >}} + +## Historial de reproducciones {#playback-history} + +Puedes ver quién ha visto una reproducción de sesión dada haciendo clic en el conteo de **visto** que se muestra en la página del reproductor. Esta función te permite verificar si alguien con quien deseas compartir la grabación ya la ha visto. + +{{< img src="real_user_monitoring/session_replay/session-replay-playback-history.png" alt="Verifica quién ha visto la grabación de una sesión" style="width:100%;" >}} + +El historial incluye solo las reproducciones que ocurrieron en la página del reproductor o en un reproductor embebido, como en un [Notebook][8] o panel lateral. Las reproducciones incluidas también generan un evento de [Audit Trail][9]. Las vistas previas en miniatura no están incluidas en el historial. + +Para ver tu propio historial de reproducciones, consulta la lista de reproducción de [Mi Historial de Visualización][10]. + +## Listas de reproducción {#playlists} + +Puedes crear una lista de reproducción de Reproducciones de Sesión para organizarlas según cualquier patrón que notes. Aprende más sobre [Listas de Reproducción de Reproducciones de Sesión][7]. + +## Herramientas de Desarrollo {#dev-tools} + +Las Herramientas de Desarrollo son un panel de depuración integrado en la Reproducción de Sesión que expone información clave durante la reproducción. Úsalo para identificar problemas, rastrear solicitudes y entender cuellos de botella en el rendimiento, todo sin reproducir el problema tú mismo. Las herramientas de desarrollo están disponibles para sesiones de [RUM][1]. + +Aprenda más sobre las herramientas de desarrollo para [navegador][11] y [móvil][12]. + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /es/real_user_monitoring/ +[2]: /es/product_analytics/ +[3]: https://github.com/DataDog/browser-sdk +[4]: https://www.rrweb.io/ +[5]: /es/session_replay/browser/ +[6]: /es/session_replay/mobile/ +[7]: /es/session_replay/playlists +[8]: /es/notebooks/ +[9]: /es/account_management/audit_trail/ +[10]: /es/rum/replay/playlists/my-watch-history +[11]: /es/session_replay/browser/dev_tools/ +[12]: /es/session_replay/mobile/dev_tools/ \ No newline at end of file diff --git a/content/es/source_code/_index.md b/content/es/source_code/_index.md new file mode 100644 index 00000000000..ddcce5f47cf --- /dev/null +++ b/content/es/source_code/_index.md @@ -0,0 +1,24 @@ +--- +aliases: +- /es/integrations/guide/source-code-integration/ +description: Configure la integración del código fuente que se conecta con APM para + vincular su telemetría con sus repositorios, incrustar información de Git en los + artefactos de su canalización de CI y utilizar integraciones de gestión de código + fuente para generar fragmentos de código en línea en Datadog. +title: Integración de Código Fuente +--- +## Descripción general {#overview} + +La integración de código fuente de Datadog permite conectar sus repositorios de Git a Datadog para habilitar diversas funciones relacionadas con el código fuente en toda la plataforma de Datadog. Permite depurar trazas de pila, perfiles lentos y otros problemas accediendo a las líneas relevantes de su código fuente. + +{{< img src="source_code_integration/inline-code-snippet.png" alt="Fragmento de código en línea de una Java RuntimeException con un botón para ver el código en GitHub" style="width:100%;">}} + +## Configuración y características {#setup-and-features} + +{{< whatsnext desc="Para la configuración y características de la integración de código fuente, consulte las siguientes páginas:" >}} + {{< nextlink href="source_code/source-code-management" >}}Integraciones de proveedores de gestión de código fuente{{< /nextlink >}} + {{< nextlink href="source_code/service-mapping" >}}Mapeo de servicios + y etiquetado de telemetría{{< /nextlink >}} + {{< nextlink href="source_code/resource-mapping" >}}Mapeo de recursos de Kubernetes{{< /nextlink >}} + {{< nextlink href="source_code/features" >}}Características de la integración de código fuente{{< /nextlink >}} +{{< /whatsnext >}} \ No newline at end of file diff --git a/content/es/synthetics/api_tests/http_tests.md b/content/es/synthetics/api_tests/http_tests.md index 4501cc9d883..7ec35eb7a26 100644 --- a/content/es/synthetics/api_tests/http_tests.md +++ b/content/es/synthetics/api_tests/http_tests.md @@ -1,242 +1,373 @@ --- algolia: - category: Documentación + category: Documentation rank: 70 - subcategory: Tests API Synthetic + subcategory: Synthetic API Tests tags: - http - - test http - - tests http + - http test + - http tests aliases: - /es/synthetics/http_test - /es/synthetics/http_check - /es/synthetics/guide/or-logic-api-tests-assertions -description: Simula solicitudes HTPP para monitorizar endpoints de API públicos e - internos. +description: Simular solicitudes HTTP para monitorear puntos finales de API públicos + e internos. further_reading: - link: https://www.datadoghq.com/blog/introducing-synthetic-monitoring/ tag: Blog - text: Presentación de la monitorización Synthetic de Datadog + text: Presentamos el Monitoreo Sintético de Datadog - link: https://learn.datadoghq.com/courses/intro-to-synthetic-tests - tag: Centro de aprendizaje - text: Introducción a los tests Synthetic + tag: Centro de Aprendizaje + text: Introducción a las Pruebas Sintéticas - link: /getting_started/synthetics/api_test tag: Documentación - text: Empezando con los tests HTTP + text: Comience con pruebas HTTP - link: /synthetics/private_locations tag: Documentación - text: Ejecutar tests HTTP en endpoints internos + text: Ejecutar pruebas HTTP en puntos finales internos - link: /synthetics/multistep tag: Documentación - text: Ejecutar tests HTTP de varios pasos + text: Ejecutar pruebas HTTP de múltiples pasos - link: /synthetics/guide/synthetic-test-monitors tag: Documentación - text: Más información sobre los monitores de test Synthetic -title: Tests HTTP + text: Aprenda sobre los monitores de prueba Synthetic +title: Pruebas HTTP --- -## Información general +## Resumen {#overview} -Los tests HTTP te permiten enviar solicitudes HTTP a los endpoints de API de tus aplicaciones para verificar las respuestas y las condiciones definidas, como el tiempo de respuesta global, el código de estado esperado, la cabecera o el contenido del cuerpo. +Las pruebas HTTP le permiten enviar solicitudes HTTP a los puntos finales de la API de sus aplicaciones para verificar respuestas y condiciones definidas, como el tiempo de respuesta general, el código de estado esperado, el encabezado o el contenido del cuerpo. -Los tests HTTP pueden ejecutarse tanto desde [localizaciones gestionadas](#select-locations) como de [localizaciones privadas][1] dependiendo de tu preferencia de ejecución de tests desde fuera o dentro de tu red. Los tests HTTP pueden ejecutarse de forma programada, bajo demanda o directamente dentro de tus [pipelines CI/CD][2]. +Las pruebas HTTP pueden ejecutarse desde [ubicaciones gestionadas](#select-locations) y [ubicaciones privadas][1] dependiendo de su preferencia por ejecutar la prueba desde fuera o dentro de su red. Las pruebas HTTP pueden ejecutarse según un horario, a demanda o directamente dentro de sus [canalizaciones de CI/CD][2]. -## Configuración +## Configuración {#configuration} -Puedes crear un test utilizando una de las siguientes opciones: +Puede crear una prueba utilizando una de las siguientes opciones: - - **Crea un test a partir de una plantilla**: + - **Crear una prueba a partir de una plantilla**: + + 1. Pase el cursor sobre una de las plantillas predefinidas y haga clic en **Ver Plantilla**. Esto abre un panel lateral que muestra información de configuración predefinida, incluyendo: Detalles de la Prueba, Detalles de la Solicitud, Afirmaciones, Condiciones de Alerta y Configuraciones de Monitoreo. + 2. Haga clic en **+Crear prueba** para abrir la página **Definir solicitud**, donde puede revisar y editar las opciones de configuración predefinidas. Los campos presentados son idénticos a los disponibles al crear una prueba desde cero. + 3. Haga clic en **Guardar detalles** para enviar su prueba de API.

- 1. Pasa el ratón por encima de una de las plantillas ya rellenadas y haz clic en **View Template** (Ver plantilla). Se abrirá un panel lateral en el que se mostrará la información de configuración rellenada previamente, que incluye: detalles de tests, detalles de solicitudes, aserciones, condiciones de alerta y parámetros de monitor. - 2. Haz clic en **+Create Test** (+Crear test) para abrir la página **Definir solicitud**, en la que podrás revisar y editar las opciones de configuración rellenadas previamente. Los campos presentados son idénticos a aquellos disponibles cuando se crea un test desde cero. - 3. Haz clic en **Save Details** (Guardar detalles) para enviar tu test de API.

+ {{< img src="getting_started/synthetics/synthetics_templates_api_video.mp4" alt="Video de la página de inicio de prueba de API de Synthetics con plantillas" video="true" >}} - {{< img src="getting_started/synthetics/synthetics_templates_api_video.mp4" alt="Vídeo de la página de inicio del test de la API Synthetics" video="true" >}} + - **Construya una prueba desde cero**: + + 1. Para construir una prueba desde cero, haga clic en la plantilla **+ Comenzar desde cero**, luego seleccione el tipo de `HTTP`solicitud y especifique la **URL** a consultar. + Los métodos disponibles son: `GET`, `POST`, `PATCH`, `PUT`, `HEAD`, `DELETE` y `OPTIONS`. Se admiten tanto `http` como `https` URLs. - - **Crea un test desde cero**: +
Vea Opciones avanzadas para más opciones.
- 1. Para crear un test desde cero, haz clic en la plantilla **+ Start from scratch** (+ Empezar desde cero), selecciona el tipo de solicitud `HTTP` y especifica la **URL** a consultar. - Los métodos disponibles son: `GET`, `POST`, `PATCH`, `PUT`, `HEAD`, `DELETE` y `OPTIONS`. Se admiten las URL `http` y `https`. + 2. **Name** your HTTP test. -
Para ver más opciones, consulta Opciones avanzadas.
+ 3. Add Environment **Tags** as well as any other tag to your HTTP test. You can then use these tags to filter through your Synthetic tests on the [Synthetic Monitoring & Continuous Testing page][3]. + + 4. Click **Send** to try out the request configuration. A response preview is displayed on the right side of your screen.

- 2. **Pon un nombre** a tu test HTTP. + {{< img src="getting_started/synthetics/api-test-config-4.png" alt="Definir solicitud HTTP" style="width:90%;" >}} - 3. Añade **etiquetas (tags)** de entorno así como cualquier otra etiqueta a tu test HTTP. A continuación, puedes utilizar estas etiquetas para filtrar a través de tus tests Synthetic en la [página de monitorización Synthetic y tests continuos][3]. + 5. Click **Create Test** to submit your API test. - 4. Haz clic en **Enviar** para probar la configuración de la solicitud. Aparecerá una vista previa de la respuesta en la parte derecha de la pantalla.

- - {{< img src="getting_started/synthetics/api-test-config-4.png" alt="Definir splicitud HTTP" style="width:90%;" >}} - - 5. Haz clic en **Create Test** (Crear test) para enviar tu test de API. - -### Fragmentos +### Fragmentos {#snippets} {{% synthetics-api-tests-snippets %}} -### Opciones avanzadas +### Opciones avanzadas {#advanced-options} -{{< tabs >}} + {{< tabs >}} -{{% tab "Opciones de solicitud" %}} - * **Versión HTTP**: Selecciona `HTTP/1.1 only`, `HTTP/2 only` o `HTTP/2 fallback to HTTP/1.1`. - * **Seguir redirecciones**: Selecciona esta opción para que tu test HTTP pueda acceder a un máximo de diez redirecciones al realizar la solicitud. - * **Ignorar error de certificado del servidor**: Selecciona esta opción para que tu test HTTP continúe con la conexión, aunque se produzcan errores al validar el certificado SSL. - * **Tiempo de espera**: Especifica la cantidad de tiempo en segundos antes de que se inicie un tiempo de espera en el test. - * **Request headers** (Encabezados de la solicitud): define encabezados para añadir a tu solicitud HTTP. También puedes anular los encabezados predeterminados (por ejemplo, el encabezado `user-agent`). - * **Cookies**: define cookies para añadir a tu solicitud HTTP. Define varias cookies con el formato `=; =`. + {{% tab "Opciones de solicitud" %}} + * **Versión HTTP**: Seleccione `HTTP/1.1 only`, `HTTP/2 only` o `HTTP/2 fallback to HTTP/1.1`. + * **Seguir redirecciones**: Seleccione para que su prueba HTTP siga hasta diez redirecciones al realizar la solicitud. + * **Ignorar error de certificado del servidor**: Seleccione para que su prueba HTTP continúe con la conexión incluso si hay errores al validar el certificado SSL. + * **Tiempo de espera**: Especifique la cantidad de tiempo en segundos antes de que la prueba exceda el tiempo límite. + * **Encabezados de solicitud**: Define encabezados para agregar a tu solicitud HTTP. También puedes anular los encabezados predeterminados (por ejemplo, el encabezado `user-agent`). + * **Cookies**: Define cookies para agregar a tu solicitud HTTP. Establece múltiples cookies utilizando el formato `=; =`. {{% /tab %}} {{% tab "Autenticación" %}} - * **Certificado de cliente**: Autentícate a través de mTLS cargando tu certificado de cliente (`.crt`) y la clave privada asociada (`.key`) en formato `PEM`. Puedes utilizar la biblioteca `openssl` para convertir tus certificados. Por ejemplo, puedes convertir un certificado `PKCS12` en certificados y claves privadas en formato `PEM`. + * **Certificado de cliente**: Autentica a través de mTLS subiendo tu certificado de cliente (`.crt`) y la clave privada asociada (`.key`) en formato `PEM`. Puedes usar la biblioteca `openssl` para convertir tus certificados. Por ejemplo, convierte un certificado `PKCS12` a claves privadas y certificados en formato `PEM`. ``` openssl pkcs12 -in .p12 -out .key -nodes -nocerts openssl pkcs12 -in .p12 -out .cert -nokeys ``` - * **HTTP Basic Auth** (Autenticación básica de HTTP): añade credenciales de autenticación básica de HTTP. - * **Autenticación Digest**: Añade credenciales de autenticación Digest. - * **NTLM**: añade credenciales de autenticación NTLM. Es compatible con NTLMv2 y NTLMv1. - * **AWS Signature v4**: Introduce tu ID de clave de acceso y tu clave de acceso secreta. Datadog genera la firma para tu solicitud. Esta opción utiliza la implementación básica de SigV4. Las firmas específicas, como Amazon S3, no son compatibles de forma predefinida. - Para las solicitudes de transferencia "Single Chunk" a buckets de Amazon S3, añade `x-amz-content-sha256` con el cuerpo de la solicitud codificado con sha256 como cabecera (para un cuerpo vacío: `x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`). - * **OAuth 2.0**: Elige entre conceder credenciales de cliente o una contraseña de propietario de recurso e introduce un token de acceso URL. Dependiendo de tu selección, introduce un ID de cliente y un secreto, o un nombre de usuario y una contraseña. En el menú desplegable, selecciona una opción para enviar el token de la API como encabezado de autenticación básica o envía las credenciales del cliente en el cuerpo. Opcionalmente, puedes proporcionar información adicional como la audiencia, el recurso y el contexto (así como el ID y el secreto del cliente, si seleccionaste **Contraseña del propietario del recurso**). + * **Autenticación básica HTTP**: Agrega credenciales de autenticación básica HTTP. + * **Autenticación Digest**: Agrega credenciales de autenticación Digest. + * **NTLM**: Agrega credenciales de autenticación NTLM. Admite tanto NTLMv2 como NTLMv1. + * **Firma AWS v4**: Ingresa tu ID de clave de acceso y clave de acceso secreta. Datadog genera la firma para tu solicitud. Esta opción utiliza la implementación básica de SigV4. Firmas específicas como Amazon S3 no son compatibles de forma predeterminada. + Para solicitudes de transferencia "Single Chunk" a los buckets de Amazon S3, agrega `x-amz-content-sha256` que contenga el cuerpo de la solicitud codificado en sha256 como un encabezado (para un cuerpo vacío: `x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`). + * **OAuth 2.0**: Elige entre otorgar credenciales de cliente o una contraseña de propietario de recurso e ingresa una URL de token de acceso. Dependiendo de tu selección, ingresa un ID de cliente y secreto, o un nombre de usuario y contraseña. Desde el menú desplegable, selecciona una opción para enviar el token de API como un encabezado de autenticación básica, o enviar las credenciales del cliente en el cuerpo. Opcionalmente, puedes proporcionar información adicional como la audiencia, el recurso y el contexto (así como el ID y secreto del cliente, si seleccionaste **Recurso de Propietario de Contraseña**). {{% /tab %}} - {{% tab "Parámetros de consulta" %}} + {{% tab "Parámetros de Consulta" %}} - * **Codificar parámetros**: Añade el nombre y el valor de los parámetros de consulta que requieren codificación. + * **Codificar parámetros**: Agrega el nombre y valor de los parámetros de consulta que requieren codificación. {{% /tab %}} - {{% tab "Cuerpo de la solicitud" %}} + {{% tab "Cuerpo de la Solicitud" %}} - * **Tipo de cuerpo**: Selecciona el tipo de cuerpo de la solicitud (`application/json`, `application/octet-stream`, `application/x-www-form-urlencoded`, `multipart/form-data`, `text/html`, `text/plain`, `text/xml`, `GraphQL` o `None`) que quieres añadir a tu solicitud HTTP. - * **Cuerpo de la solicitud**: Añade el contenido del cuerpo de tu solicitud HTTP. + * **Tipo de cuerpo**: Seleccione el tipo de cuerpo de la solicitud (`application/json`, `application/octet-stream`, `application/x-www-form-urlencoded`, `multipart/form-data`, `text/html`, `text/plain`, `text/xml`, `GraphQL` o `None`) que desea agregar a su solicitud HTTP. + * **Cuerpo de la solicitud**: Agrega el contenido de tu cuerpo de solicitud HTTP. * El cuerpo de la solicitud está limitado a un tamaño máximo de 50 kilobytes para `application/json`, `application/x-www-form-urlencoded`, `text/html`, `text/plain`, `text/xml`, `GraphQL`. * El cuerpo de la solicitud está limitado a un archivo de 3 megabytes para `application/octet-stream`. - * El cuerpo de la solicitud está limitado a tres archivos de 3 megabytes cada uno para `multipart/form-data`. + * El cuerpo de la solicitud está limitado a tres archivos de 3 megabytes cada uno para `multipart/form-data`. {{% /tab %}} {{% tab "Proxy" %}} - * **Proxy URL** (URL del proxy): especifica la URL del proxy por la que debe pasar la solicitud HTTP (`http://:@:`). - * **Cabecera de proxy**: Añade cabeceras para incluir en la solicitud HTTP al proxy. + * **URL del proxy**: Especifique la URL del proxy por el que debe pasar la solicitud HTTP (`http://:@:`). + * **Encabezado del proxy**: Agregue encabezados para incluir en la solicitud HTTP al proxy. {{% /tab %}} {{% tab "Privacidad" %}} - * **No guardar el cuerpo de la respuesta**: Selecciona esta opción para evitar que se guarde el cuerpo de la respuesta en tiempo de ejecución. Esta opción es útil para garantizar que no se muestren datos confidenciales en los resultados del test, pero debes utilizarla con prudencia ya que puede dificultar la resolución de problemas. Para obtener recomendaciones de seguridad, consulta [Seguridad en la monitorización Synthetic][1]. + * **No guardar el cuerpo de la respuesta**: Seleccione esta opción para evitar que el cuerpo de la respuesta se guarde en tiempo de ejecución y para truncar el mensaje de error de las afirmaciones de JavaScript fallidas. Esto ayuda a garantizar que no se muestre información sensible en los resultados de su prueba, pero puede dificultar la solución de problemas de fallos. Para recomendaciones de seguridad completas, consulte [Seguridad de Datos de Monitoreo Sintético][1]. [1]: /es/data_security/synthetics {{% /tab %}} -{{% tab "Javascript" %}} + {{% tab "Javascript" %}} -Define variables para tus tests de API HTTP con JavaScript: +Defina variables para sus pruebas de API HTTP con JavaScript: -{{< img src="synthetics/api_tests/http_javascript.png" alt="Definir tests de API HTTP con Javascript" style="width:90%;" >}} +{{< img src="synthetics/api_tests/http_javascript.png" alt="Defina prueba de API HTTP con Javascript" style="width:90%;" >}} -
Las capacidades de JavaScript no son compatibles con los tests de API en ubicaciones privadas de Windows.
+
Las capacidades de JavaScript no son compatibles con las pruebas de API en ubicaciones privadas de Windows.
{{% /tab %}} {{< /tabs >}} -### Definición de aserciones +### Define afirmaciones {#define-assertions} -Las aserciones definen cuál es el resultado esperado de un test. Después de hacer clic en **URL del test**, se añaden aserciones básicas de `response time`, `status code` y `header` `content-type` basadas en la respuesta obtenida. Debes definir al menos una aserción para que sea monitorizada por tu test. +Las afirmaciones definen cuál es un resultado de prueba esperado. Después de hacer clic en **Probar URL**, se añaden afirmaciones básicas sobre `response time`, `status code` y `header` `content-type` basadas en la respuesta que se obtuvo. Debes definir al menos una afirmación para que tu prueba sea objeto de seguimiento. -
Las secciones de aserciones de cabecera, cuerpo y JavaScript solo sirven para definir aserciones. No se pueden utilizar para realizar solicitudes HTTP adicionales.
+
El encabezado de afirmaciones, el cuerpo y las secciones de JavaScript son solo para definir afirmaciones. No se pueden usar para hacer solicitudes HTTP adicionales.
+ +{{< tabs >}} +{{% tab "Afirmaciones de respuesta" %}} | Tipo | Operador | Tipo de valor | |---------------|--------------------------------------------------------------------------------------------------------|----------------------------------------------------------------| -| cuerpo | `contains`, `does not contain`, `is`, `is not`,
`matches`, `does not match`,
[`jsonpath`][4], [`xpath`][5] | Cadena
[Expresión regular][6] | -| encabezado | `contains`, `does not contain`, `is`, `is not`,
`matches`, `does not match` | Cadena
[Expresión regular][6] | +| cuerpo | `contains`, `does not contain`, `is`, `is not`,
`matches`, `does not match`,
[`jsonpath`][4], [`xpath`][5] | _Cadena_
_[Regex][6]_ | +| encabezado | `contains`, `does not contain`, `is`, `is not`,
`matches`, `does not match` | _Cadena_
_[Regex][6]_ | | tiempo de respuesta | `is less than` | _Entero (ms)_ | -| código de estado | `is`, `is not`,
`matches`, `does not match` | Entero
[Expresión regular][6] | +| código de estado | `is`, `is not`,
`matches`, `does not match` | _Entero_
_[Regex][6]_ | + +Las pruebas HTTP pueden descomprimir cuerpos con los siguientes `content-encoding` encabezados: `br`, `deflate`, `gzip` y `identity`. + +Puedes crear hasta 20 afirmaciones por prueba de API haciendo clic en **Nueva Afirmación** o haciendo clic directamente en la vista previa de la respuesta: + +{{< img src="synthetics/api_tests/assertions_http.png" alt="Define afirmaciones para que tu prueba HTTP tenga éxito o falle en" style="width:90%;" >}} + +Para realizar `OR` lógica en una afirmación, usa el `matches regex` comparador para definir una expresión regular con múltiples valores esperados como `(200|302)`. Por ejemplo, puedes querer que tu prueba HTTP tenga éxito cuando un servidor deba responder con un código de estado `200` o `302`. La afirmación `status code` tiene éxito si el código de estado es 200 o 302. También puedes añadir lógica `OR` en una afirmación `body` o `header` con el comparador `matches regex`. + +Si una prueba no contiene una afirmación sobre el cuerpo de la respuesta, la carga del cuerpo se descarta y se devuelve un tiempo de respuesta asociado para la solicitud dentro del límite de tiempo establecido por el Synthetics Worker. + +El cuerpo de la respuesta solo se devuelve si ha agregado afirmaciones sobre su contenido y estas afirmaciones han fallado. Si una prueba contiene una afirmación sobre el cuerpo de la respuesta y tiene éxito, la carga del cuerpo se descarta y solo se muestra un fragmento de los primeros 50 caracteres del cuerpo de la respuesta. + +Si una prueba contiene una afirmación sobre el cuerpo de la respuesta y se alcanza el límite de tiempo, aparece un error `Assertions on the body/response cannot be run beyond this limit`. + +[4]: https://restfulapi.net/json-jsonpath/ +[5]: https://www.w3schools.com/xml/xpath_syntax.asp +[6]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions + +{{% /tab %}} +{{% tab "JavaScript" %}} + +Utilice afirmaciones de JavaScript cuando las afirmaciones de respuesta estándar no satisfagan sus necesidades de validación. Synthetic Monitoring utiliza la [biblioteca de afirmaciones Chai][20], que proporciona `dd.expect()`, `dd.should` y `dd.assert()` para estilos de afirmación flexibles. + +Al trabajar con respuestas JSON, utilice `JSON.parse(dd.response.body)` para analizar el cuerpo de la respuesta antes de acceder a sus propiedades. Esto es necesario para todos los métodos de afirmación (`dd.assert()`, `dd.expect()` y `dd.should`) al validar datos JSON. + +{{< img src="synthetics/api_tests/JS_assertion.png" alt="Afirmación de JavaScript para prueba de API HTTP" style="width:90%;" >}} + +
+
    +
  • Las capacidades de JavaScript no son compatibles con pruebas de API en ubicaciones privadas de Windows.
  • +
  • Si el mensaje de error de una afirmación de JavaScript fallida puede incluir datos sensibles, bajo Opciones Avanzadas > Privacidad, habilite No guardar el cuerpo de la respuesta. Esto trunca el mensaje de error de la afirmación.
  • +
+
+ +#### Usando dd.assert() {#using-ddassert} + +Utilice `dd.assert()` para la sintaxis tradicional de afirmaciones: + +Por ejemplo, para afirmar que un campo `status.code` es uno de varios valores permitidos: -Los tests HTTP pueden descomprimir cuerpos con las siguientes cabeceras `content-encoding`: `br`, `deflate`, `gzip` y `identity`. +{{< code-block lang="javascript" >}} +const response = JSON.parse(dd.response.body); +// Assert that the status code is 200, 210, 320, or 330 +dd.assert.include([200, 210, 320, 330], response.status.code); +{{< /code-block >}} -Puedes crear hasta 20 aserciones por test de API haciendo clic en **Nueva aserción** o haciendo clic directamente en la vista previa de la respuesta: +Respuesta de ejemplo: -{{< img src="synthetics/api_tests/assertions_http.png" alt="Definir aserciones en las que tu test HTTP tenga éxito o falle" style="width:90%;" >}} +```json +{ + "status": { + "code": 200, + "message": "Success" + } +} +``` -Para aplicar una lógica `OR` en una aserción, utiliza el comparador `matches regex` para definir una expresión regular con varios valores esperados, como `(200|302)`. Por ejemplo, te podría interesar que tu test HTTP tenga éxito cuando el servidor responde con un código de estado `200` o `302`. La aserción `status code` tiene éxito si el código de estado es 200 o 302. También puedes añadir la lógica `OR` en una aserción de `body` o `header`. +Esta afirmación: +- Analiza el cuerpo de la respuesta JSON +- Verifica que `status.code` esté incluido en el arreglo de valores permitidos (200, 210, 320 o 330) -Si un test no contiene una aserción en el cuerpo de la respuesta, la carga útil del cuerpo cae y devuelve un tiempo de respuesta asociado para la solicitud dentro del límite de tiempo de espera establecido por el worker de Synthetics. +La prueba **pasa** porque `status.code` es `200`, lo cual está incluido en el arreglo de valores permitidos. -Si un test contiene una aserción en el cuerpo de la respuesta y se alcanza el límite de tiempo de espera, aparecerá el error `Assertions on the body/response cannot be run beyond this limit`. +Para más información sobre `assert.include()`, consulta la [documentación de Chai assert.include()][21]. -### Seleccionar localizaciones +#### Usando dd.expect() {#using-ddexpect} -Selecciona las **Localizaciones** desde donde ejecutar tu test HTTP. Los tests HTTP pueden ejecutarse desde localizaciones gestionadas y también [privadas][1], en función de si prefieres ejecutar el test desde fuera o desde dentro de tu red. +Utilice `dd.expect()` para afirmaciones con validación de propiedades anidadas. + +Por ejemplo, para afirmar que un campo `status.indicator` coincida con uno de los varios valores esperados: + +{{< code-block lang="javascript" >}} +const response = JSON.parse(dd.response.body); +const regex = /^(major|critical|minor|none)$/; + +dd.expect(response) + .to.have.nested.property('status.indicator') + .that.matches(regex); +{{< /code-block >}} + +Respuesta de ejemplo: + +```json +{ + "status": { + "indicator": "none" + } +} +``` +Esta afirmación: +- Analiza el cuerpo de la respuesta JSON +- Valida que la propiedad anidada `status.indicator` exista +- Verifica que el valor coincida con el patrón regex (uno de: `major`, `critical`, `minor` o `none`) + +Con el regex `/^(major|critical|minor|none)$/`, la prueba **pasa** porque `status.indicator` es `"none"`, lo cual coincide con el patrón. + +Con el regex `/^(major|critical|minor)$/`, la prueba **falla** porque `"none"` no está incluido en los valores permitidos. + +Para más información sobre `expect()`, consulta la [documentación de Chai expect()][22]. + +#### Usando dd.should {#using-ddshould} + +Usa `dd.should` para escribir afirmaciones con sintaxis de lenguaje natural: + +Por ejemplo, para afirmar que un campo `status.indicator` existe y es igual a un valor específico: + +{{< code-block lang="javascript" >}} +const response = JSON.parse(dd.response.body); +response.status.should.exist(); +const indicator = response.status.indicator; +indicator.should.equal('none'); +{{< /code-block >}} + +Respuesta de ejemplo: + +```json +{ + "status": { + "indicator": "none" + } +} +``` + +Esta afirmación: +- Analiza el cuerpo de la respuesta JSON +- Verifica que la propiedad `status` exista +- Extrae el valor del indicador en una variable +- Verifica que `status.indicator` sea igual a `"none"` + +La prueba **pasa** porque `status` existe y `status.indicator` es `"none"`. + +Para más información sobre `should()`, consulta la [documentación de Chai should()][23]. + +[20]: https://www.chaijs.com/api/ +[21]: https://www.chaijs.com/api/assert/#method_include +[22]: https://www.chaijs.com/guide/styles/#expect +[23]: https://www.chaijs.com/guide/styles/#should + +{{% /tab %}} +{{< /tabs >}} + +### Seleccione ubicaciones {#select-locations} + +Seleccione las **Ubicaciones** desde las cuales ejecutar su prueba HTTP. Las pruebas HTTP pueden ejecutarse desde ubicaciones gestionadas y [privadas][1] dependiendo de su preferencia por ejecutar la prueba desde fuera o dentro de su red. {{% managed-locations %}} -### Indicar la frecuencia del test +### Especifique la frecuencia de la prueba {#specify-test-frequency} -Los tests HTTP se pueden ejecutar: +Las pruebas HTTP pueden ejecutarse: -* **De forma programada** para garantizar que los endpoints más importantes siempre resulten accesibles para tus usuarios. Selecciona la frecuencia con la que quieres que Datadog ejecute tu test HTTP. -* [**En tus pipelines CI/CD**][2] para empezar a realizar envíos sin temer que un código defectuoso pueda afectar a la experiencia de tus clientes. -* **Bajo demanda** para ejecutar tus tests cuando sea más conveniente para tu equipo. +* **Según un horario** para asegurar que sus puntos de conexión más importantes siempre sean accesibles para sus usuarios. Seleccione la frecuencia con la que desea que Datadog ejecute su prueba HTTP. +* [**Dentro de sus pipelines de CI/CD**][2] para comenzar a enviar sin temer que un código defectuoso pueda afectar la experiencia de sus clientes. +* **A demanda** para ejecutar sus pruebas cuando tenga más sentido para su equipo. {{% synthetics-alerting-monitoring %}} -## Un clic +{{% synthetics-downtimes %}} + +## Un clic {#one-click} -La creación de tests de API sugiere endpoints del [Catálogo de software][17] y de los tests de API existentes para pre-rellenar tu formulario de tests con opciones relevantes. -Utiliza las fuentes de datos existentes de Datadog, como las trazas (traces) APM, la detección de endpoints del Catálogo de software y los tests Synthetic existentes similares, creados por los usuarios. +La creación de pruebas de API sugiere puntos de conexión del [Catálogo][17] y pruebas de API existentes para completar su formulario de prueba con opciones relevantes. +Utilice fuentes de datos existentes de Datadog, como trazas de APM, descubrimiento de puntos de conexión del Catálogo y pruebas Synthetic similares existentes creadas por usuarios. -Empieza a escribir en la entrada **URL** del test de la API para obtener sugerencias de endpoints o tests similares en la monitorización Synthetic: +Comience a escribir en la entrada de **URL** de la prueba de API para obtener sugerencias de puntos de conexión o pruebas similares en Synthetic Monitoring: - {{< img src="synthetics/api_tests/api-one-click.png" alt="Test de API HTTP que muestra una búsqueda GET de un test de API existente" style="width:90%;" >}} + {{< img src="synthetics/api_tests/api-one-click.png" alt="Prueba de API HTTP mostrando una búsqueda GET para una prueba de API existente" style="width:90%;" >}} -A continuación, selecciona una sugerencia para pre-rellenar la configuración de tu test (opciones y cabeceras de solicitud, autenticación y variables): +Luego, seleccione una sugerencia para completar la configuración de su prueba (opciones de solicitud y encabezados, autenticación y variables): - {{< img src="synthetics/api_tests/api-test-monitor-search.png" alt="Seleccionar" style="width:90%;" >}} + {{< img src="synthetics/api_tests/api-test-monitor-search.png" alt="Seleccione" style="width:90%;" >}} {{% synthetics-variables %}} -### Usar variables +### Utilice variables {#use-variables} -Puedes utilizar las [variables globales definidas en la página **Parámetros**][11] en la URL, las opciones avanzadas y las aserciones de tus tests HTTP. +Puede usar las [variables globales definidas en la página **Settings**][11] en la URL, opciones avanzadas y afirmaciones de sus pruebas HTTP. -Para visualizar tu lista de variables, escribe `{{` en el campo de tu elección. +Para mostrar su lista de variables, escriba `{{` en el campo deseado: -{{< img src="synthetics/api_tests/http_use_variable.mp4" alt="Uso de variables en un test HTTP" video="true" width="100%" >}} +{{< img src="synthetics/api_tests/http_use_variable.mp4" alt="Usando variables en una prueba HTTP" video="true" width="100%" >}} -## Fallo del test +## Fallo de prueba {#test-failure} -Un test se considera `FAILED` si no satisface una o más aserciones o si la solicitud ha fallado prematuramente. En algunos casos, el test puede fallar sin comprobar las aserciones respecto al endpoint. +Una prueba se considera `FAILED` si no satisface una o más afirmaciones o si la solicitud falló prematuramente. En algunos casos, la prueba puede fallar sin probar las afirmaciones contra el punto de conexión. -Para obtener una lista completa de los códigos de error HTTP y SSL, consulta [Errores de tests de API][12]. +Para una lista completa de códigos de error HTTP y SSL, consulta [Errores de pruebas de API][12]. -## Permisos +## Permisos {#permissions} -De manera predeterminada, sólo los usuarios con los roles de [administrador de Datadog y estándar de Datadog][13] pueden crear, editar y eliminar tests HTTP Synthetic. Para crear, editar y eliminar tests HTTP Synthetic, actualiza tu usuario a uno de esos dos [roles predeterminados][13]. +Por defecto, solo los usuarios con los [Datadog Admin y Datadog Standard roles][13] pueden crear, editar y eliminar pruebas HTTP Synthetic. Para obtener acceso para crear, editar y eliminar pruebas HTTP Synthetic, actualice su rol de usuario a uno de esos dos [default roles][13]. -Si estás utilizando la [función de rol personalizado][14], añade tu usuario a cualquier rol que incluya permisos `synthetics_read` y `synthetics_write`. +Si está usando la [función de rol personalizado][14], agregue su usuario a cualquiera de los roles personalizados que incluyan los permisos `synthetics_read` y `synthetics_write`. -### Restringir el acceso +### Restringir acceso {#restrict-access} {{% synthetics_grace_permissions %}} -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: /es/synthetics/private_locations [2]: /es/synthetics/cicd_integrations [3]: /es/synthetics/search/#search -[4]: https://restfulapi.net/json-jsonpath/ -[5]: https://www.w3schools.com/xml/xpath_syntax.asp -[6]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions [7]: /es/monitors/notify/#configure-notifications-and-automations [8]: https://www.markdownguide.org/basic-syntax/ [9]: /es/monitors/notify/?tab=is_recoveryis_alert_recovery#conditional-variables diff --git a/content/es/synthetics/browser_tests/_index.md b/content/es/synthetics/browser_tests/_index.md index 30c7d653305..0b9636f7d37 100644 --- a/content/es/synthetics/browser_tests/_index.md +++ b/content/es/synthetics/browser_tests/_index.md @@ -2,115 +2,118 @@ aliases: - /es/synthetics/browser_check - /es/synthetics/browser_test -description: Simula y monitoriza los recorridos de los usuarios desde localizaciones +description: Simular y monitorear los recorridos de los usuarios desde ubicaciones específicas. further_reading: +- link: /getting_started/synthetics/browser_test + tag: Documentación + text: Comenzando con Pruebas de Navegador +- link: /synthetics/guide/synthetic-test-monitors + tag: Documentación + text: Aprender sobre monitores de pruebas Synthetic - link: /synthetics/guide/version_history/ tag: Guía text: Historial de versiones de Synthetic Monitoring +- link: https://learn.datadoghq.com/courses/getting-started-with-synthetic-browser-testing + tag: Centro de Aprendizaje + text: 'Centro de Aprendizaje de Datadog: Comenzando con pruebas de navegador Synthetic' - link: https://www.datadoghq.com/blog/test-creation-best-practices/ tag: Blog - text: Prácticas recomendadas para la creación de tests de extremo a extremo -- link: https://learn.datadoghq.com/courses/getting-started-with-synthetic-browser-testing - tag: Centro de aprendizaje - text: 'Centro de aprendizaje de Datadog: Empezando con los tests de navegador Synthetic' -- link: /getting_started/synthetics/browser_test - tag: Documentación - text: Introducción a los tests de navegador -- link: /synthetics/guide/synthetic-test-monitors - tag: Documentación - text: Más información sobre los monitores de test Synthetic -- link: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/synthetics_test - tag: Sitio externo - text: Creación y gestión de tests de navegador Synthetic con Terraform + text: Mejores prácticas para crear pruebas de extremo a extremo +- link: https://www.datadoghq.com/blog/simplifying-troubleshooting-with-synthetic-monitoring + tag: Blog + text: Simplificando la resolución de problemas a lo largo del recorrido del usuario + con Synthetic Monitoring de Datadog - link: https://www.datadoghq.com/blog/ambassador-browser-tests/ tag: Blog - text: Cómo ayudé a mi cliente a escalar sus tests de navegador con Datadog -title: Tests de navegador + text: Cómo ayudé a mi cliente a escalar sus pruebas de navegador con Datadog +- link: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/synthetics_test + tag: Sitio Externo + text: Crear y gestionar pruebas de navegador Synthetic con Terraform +title: Pruebas de Navegador --- +## Resumen {#overview} -## Información general +Las pruebas de navegador son escenarios ejecutados por Datadog en sus aplicaciones web. Se ejecutan en intervalos periódicos configurables desde múltiples ubicaciones alrededor del mundo, desde múltiples navegadores y dispositivos. Estas pruebas verifican tanto que sus aplicaciones están activas y respondiendo a solicitudes, como que se cumplen las condiciones definidas en sus escenarios. -Los tests de navegador son escenarios ejecutados por Datadog en tus aplicaciones web. Se ejecutan a intervalos periódicos configurables desde varias localizaciones en todo el mundo, desde varios navegadores y dispositivos. Estos tests verifican tanto que tus aplicaciones están activas y responden a las solicitudes, como que se cumplen las condiciones definidas en tus escenarios. +
Si está interesado en probar aplicaciones que están detrás de MFA, lea la guía dedicada y envíe comentarios al equipo de Monitoreo Sintético para ayudar a mejorar los sistemas que más importan a sus equipos.
-
Si te interesa probar aplicaciones basadas en la MFA, consulta la guía exclusiva y envía tus comentarios al equipo de monitorización Synthetic para que te ayuden a mejorar los sistemas que más importan a tus equipos.
+## Configuración de prueba {#test-configuration} -## Configuración del test +Puede crear una prueba utilizando una de las siguientes opciones: -Puedes crear un test utilizando una de las siguientes opciones: +### Crear una prueba a partir de una plantilla {#create-a-test-from-a-template} -### Crear un test a partir de una plantilla + 1. Pase el cursor sobre una de las plantillas predefinidas y haga clic en **Ver plantilla**. Esto abre un panel lateral que muestra información de configuración predefinida, incluyendo: Detalles de la prueba, Condiciones de alerta, Pasos y, opcionalmente, Variables. + 2. Haga clic en **+Crear prueba** para abrir la página de configuración, donde puede revisar y editar las opciones de configuración predefinidas. Los campos presentados son idénticos a los disponibles al crear una prueba desde cero. + 3. Haga clic en **Guardar y salir** en la esquina superior derecha para enviar su prueba de navegador.

+ {{< img src="/synthetics/browser_tests/synthetics_templates_browser.mp4" alt="Video de la página de inicio de la prueba de navegador Synthetic con plantillas" video="true" >}} - 1. Pasa el ratón por encima de una de las plantillas ya rellenadas y haz clic en **View Template** (Ver plantilla). Se abrirá un panel lateral en el que se mostrará la información de configuración rellenada previamente, que incluye: detalles de tests, condiciones de alerta, pasos e incluso variables. - 2. Haz clic en **+Create Test** (+Crear test) para abrir la página de configuración, en la que podrás revisar y editar las opciones de configuración rellenadas previamente. Los campos presentados son idénticos a aquellos disponibles cuando se crea un test desde cero. - 3. Haz clic en **Save & Quit** (Guardar y salir) en la esquina superior derecha para enviar tu test de navegador.

- {{< img src="/synthetics/browser_tests/synthetics_templates_browser.mp4" alt="Vídeo de la página de inicio de un test de navegador Synthetic con plantillas" video="true" >}} +### Construir una prueba desde cero {#build-a-test-from-scratch} -### Crear un test desde cero + 1. Haga clic en la plantilla **+** para iniciar una nueva prueba de navegador desde cero. + 1. Ingrese una **URL de inicio**: La URL desde la cual su prueba de navegador inicia el escenario. + 1. Agregue un **nombre**: El nombre de su prueba de navegador. + 1. Seleccione **entorno y etiquetas adicionales**: Establezca el `env` y las etiquetas relacionadas adjuntas a su prueba de navegador. Utilice el `:` formato para filtrar en un `` para un `` dado. - 1. Haz clic en la plantilla **+** para iniciar un nuevo test de navegador desde cero. - 1. Introduce una **URL de inicio**: La URL desde la que tu test de navegador inicia el escenario. - 1. Añade un **nombre**: El nombre del test de tu navegador. - 1. Selecciona **etiquetas (tags) de entorno y adicionales**: Define la etiqueta `env` y otras etiquetas relacionadas, adjuntas a tu test de navegador. Utiliza el formato `:` para filtrar por `` una `` determinada. +
Vea Opciones avanzadas para más opciones.
-
Para ver más opciones, consulta Opciones avanzadas.
- - 5. Selecciona **navegadores y dispositivos**: Los navegadores (como `Chrome`, `Firefox` y `Edge`) y los dispositivos (como `Laptop Large`, `Tablet` y `Mobile Small`) en los que vas a ejecutar tu test. + 5. Seleccione **navegadores y dispositivos**: Los navegadores (como `Chrome`, `Firefox` y `Edge`), y dispositivos (como `Laptop Large`, `Tablet` y `Mobile Small`) para ejecutar su prueba. - Para un dispositivo portátil grande, las dimensiones son 1440 píxeles x 1100 píxeles. - - Para una tableta, las dimensiones son 768 píxeles x 1020 píxeles. + - Para un dispositivo tablet, las dimensiones son 768 píxeles x 1020 píxeles. - Para un dispositivo móvil pequeño, las dimensiones son 320 píxeles x 550 píxeles. - 6. Selecciona **localizaciones gestionadas y privadas**: Selecciona entre una lista de [localizaciones](#locations) de todo el mundo, que son administradas por Datadog, o crea [localizaciones privadas][1] para ejecutar tu test de navegador desde localizaciones personalizadas o dentro de redes privadas. + 6. Seleccione **ubicaciones gestionadas y privadas**: Seleccione de una lista de [ubicaciones](#locations) alrededor del mundo que son gestionadas por Datadog, o cree [ubicaciones privadas][1] para ejecutar su prueba de navegador desde ubicaciones personalizadas o dentro de redes privadas. - **Nota**: También puedes utilizar el [túnel de Continuous Testing][2] para activar tests en tu configuración de desarrollo local o en tu pipeline CI/CD para probar entornos internos. + **Nota**: También puede usar el [Túnel de Pruebas Continuas][2] para activar pruebas en su configuración de desarrollo local o en su canalización de CI/CD para probar entornos internos. - 7. Ajusta la **frecuencia de los tests**: los intervalos varían de cada cinco minutos a una vez por semana. Para solicitar una frecuencia de un minuto, [ponte en contacto con el servicio de asistencia][3]. - 8. Haz clic en **Save & Edit Recording** (Guardar y editar grabación) para enviar tu test de navegador. + 7. Establece la **frecuencia de prueba**: Los intervalos varían desde cada cinco minutos hasta una vez por semana. Para solicitar una frecuencia de un minuto, [contacta al Soporte][3]. + 8. Haz clic en **Guardar y Editar Grabación** para enviar tu Prueba de Navegador. -### Localizaciones +### Ubicaciones {#locations} {{% managed-locations %}} -### Fragmentos +### Fragmentos {#snippets} -Cuando configures un nuevo test de navegador de Synthetic Monitoring, utiliza fragmentos para rellenar automáticamente tus dispositivos y regiones, en lugar de seleccionar estas opciones manualmente. Están disponibles los siguientes fragmentos: +Al configurar una nueva prueba de navegador de Monitoreo Sintético, utiliza fragmentos para completar automáticamente tus dispositivos y regiones, en lugar de seleccionar estas opciones manualmente. Los siguientes fragmentos están disponibles: -* **Screen sizes** (Tamaños de pantalla): realiza automáticamente tus tests de navegador en una pantalla de tamaño específico en todos los navegadores: - * **Large** (Grande) - * **Tablet** (Tableta) - * **Mobile** (Móvil) +* **Tamaños de pantalla**: Realiza automáticamente tus pruebas de navegador en una pantalla de tamaño específico a través de los navegadores: + * **Grande** + * **Tableta** + * **Móvil** -* **Multi-region check** (Check multiregión): prueba automáticamente tu sitio web en una localización en cada una de las tres regiones geográficas principales (AMER, APAC y EMEA). +* **Verificación multi-región**: Prueba automáticamente tu sitio web contra una ubicación en cada una de las tres principales regiones geográficas (AMER, APAC y EMEA).

- {{< img src="synthetics/browser_tests/browser_snippets_2.png" alt="Captura de pantalla del lado izquierdo de la creación de test de navegador, que muestra los ejemplos de fragmentos" width="70%" >}} + {{< img src="synthetics/browser_tests/browser_snippets_2.png" alt="Captura de pantalla del lado izquierdo de la creación de una prueba de navegador, mostrando los ejemplos de fragmentos" width="70%" >}} -### Opciones avanzadas +### Opciones avanzadas {#advanced-options} {{< tabs >}} -{{% tab "Opciones de solicitud" %}} + {{% tab "Opciones de solicitud" %}} - Selecciona **Deshabilitar CORS** para evitar que la política de uso compartido de recursos entre orígenes (CORS) bloquee tu test. Para evitar que la política de seguridad del contenido (CSP) bloquee tu test, selecciona **Deshabilitar CSP**. + Selecciona **Deshabilitar CORS** para evitar que la política de intercambio de recursos de origen cruzado (CORS) bloquee tu prueba. Para evitar que la Política de Seguridad de Contenidos (CSP) bloquee tu prueba, selecciona **Deshabilitar CSP**. - * **Cabeceras de solicitud**: Define las cabeceras en los campos **Nombre** y **Valor** para añadir o anular las cabeceras predeterminadas del navegador. Por ejemplo, puedes configurar el Agent de usuario en la cabecera para [identificar scripts de Datadog][1]. - * **Cookies**: Define cookies que añadir a las cookies predeterminadas del navegador. Introduce una cookie por línea, utilizando la sintaxis de [`Set-Cookie`][2]. - * **Autenticación HTTP**: Autentícate a través de HTTP Basic, Digest o NTLM con un nombre de usuario y una contraseña. Tus credenciales se utilizan en cada paso del test del navegador. **Nota**: La autenticación a través de HTTP Basic se puede utilizar para sitios web que solicitan credenciales de usuario a través de un aviso del sistema del navegador. + * **Encabezados de Solicitud**: Define encabezados en los campos **Nombre** y **Valor** para agregar o sobrescribir los encabezados predeterminados del navegador. Por ejemplo, puedes establecer el User Agent en el encabezado para [identificar scripts de Datadog][1]. + * **Cookies**: Define cookies para agregar a las cookies predeterminadas del navegador. Ingresa una cookie por línea, utilizando la sintaxis de [`Set-Cookie`][2]. + * **Autenticación HTTP**: Autentica a través de HTTP Básico, Digest o NTLM con un nombre de usuario y una contraseña. Tus credenciales se utilizan en cada paso de tu prueba de navegador. **Nota**: La autenticación a través de HTTP Básico se puede utilizar para sitios web que solicitan credenciales de usuario a través de un aviso del sistema del navegador. - Las opciones de solicitud se definen en cada ejecución del test y se aplican a cada paso de tu test del navegador en el momento de la ejecución, no en el momento de la grabación. Si necesitas que estas opciones permanezcan activas para grabar los pasos siguientes, aplica manualmente las opciones en la página desde la que estás grabando y crea pasos posteriores en tu test. + Las opciones de solicitud se establecen en cada ejecución de prueba y se aplican a cada paso de tu prueba de navegador en el momento de la ejecución, no en el momento de grabación. Si necesitas que estas opciones permanezcan activas para grabar los siguientes pasos, aplica manualmente las opciones en la página desde la que estás grabando y crea pasos subsecuentes en tu prueba. [1]: /es/synthetics/guide/identify_synthetics_bots/?tab=apitests [2]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie {{% /tab %}} -{{% tab "Certificado" %}} + {{% tab "Certificado" %}} -Selecciona **Ignorar error de certificado del servidor** para indicar al test que omita los errores en el certificado del servidor. + Selecciona **Ignorar error de certificado del servidor** para instruir a la prueba a omitir errores en el certificado del servidor. - * **Certificado de cliente**: Realiza tests en sistemas que requieren certificados de cliente haciendo clic en **Cargar archivo** y cargando tu archivo de certificado y tu clave privada. Solo se aceptan certificados PEM. - * **Dominios de certificados de cliente**: Una vez cargados los archivos de certificado, el certificado de cliente se aplica al dominio de la URL de inicio. Para aplicar el certificado de cliente en otro dominio, especifica el dominio en el campo **Valor**. + * **Certificado del Cliente**: Realiza pruebas en sistemas que requieren certificados de cliente haciendo clic en **Subir Archivo** y subiendo tu archivo de certificado y clave privada. Solo se aceptan certificados PEM. + * **Dominios de Certificado del Cliente**: Una vez que los archivos de certificado están subidos, el certificado del cliente se aplica al dominio de la URL de inicio. Para aplicar el certificado del cliente en otro dominio, especifica el dominio en el campo **Valor**. Puedes incluir comodines en la URL. @@ -118,7 +121,7 @@ Selecciona **Ignorar error de certificado del servidor** para indicar al test qu {{% tab "Proxy" %}} - Introduce la URL del proxy a través del cual quieres enviar las solicitudes en el campo **URL de proxy** como `http://:@:`. + Ingresa una URL para un proxy por el que deseas enviar solicitudes en el campo **URL del Proxy** como `http://:@:`. Puedes incluir [variables globales](#use-global-variables) en la URL. @@ -126,33 +129,33 @@ Selecciona **Ignorar error de certificado del servidor** para indicar al test qu {{% tab "Privacidad" %}} - Seleccione **No realizar capturas de pantalla en este test** para evitar que se realicen capturas de pantalla en los pasos de tu test. + Selecciona **No capturar ninguna captura de pantalla para esta prueba** para evitar que se tomen capturas de pantalla en los pasos de tu prueba. - Esta opción de privacidad está disponible como [opción avanzada][1] en el nivel de cada paso del test y garantiza que no aparezcan datos confidenciales en los resultados del test. Si se impide que el test realice capturas de pantalla, será más difícil encontrar fallos y solucionarlos. Para obtener más información, consulta [Data Security][2]. + Esta opción de privacidad está disponible como una [opción avanzada][1] a nivel de cada paso de prueba y asegura que no aparezcan datos sensibles en tus resultados de prueba. Prevenir que la prueba tome capturas de pantalla hace que la resolución de fallas sea más difícil. Para más información, consulta [Seguridad de Datos][2]. [1]: /es/synthetics/browser_tests/advanced_options#prevent-screenshot-capture [2]: /es/data_security/synthetics {{% /tab %}} -{{% tab "URL de inicio" %}} + {{% tab "URL de inicio" %}} -Introduce una cantidad de tiempo en segundos que el test deberá esperar antes de declarar el paso de test inicial como fallido. + Ingresa un tiempo en segundos para que la prueba espere antes de declarar que el paso de prueba inicial ha fallado. {{% /tab %}} -{{% tab "Hora e idioma" %}} + {{% tab "Hora y Lenguaje" %}} - Por defecto, la zona horaria está establecida en UTC y el idioma en inglés (en). Para definir un idioma, utiliza el [código ISO][1] de 2 o 3 dígitos correspondiente. + Por defecto, la zona horaria está configurada en UTC y el idioma está configurado en inglés (en). Para definir un idioma, utiliza el correspondiente código [ISO de 2 o 3 dígitos][1]. [1]: https://www.loc.gov/standards/iso639-2/php/code_list.php {{% /tab %}} - {{% tab "Blocked Requests" %}} + {{% tab "Solicitudes Bloqueadas" %}} - Introduce uno o más patrones de solicitud para bloquear el proceso de carga mientras se ejecuta el test. Introduce un patrón de solicitud por línea utilizando el [formato de patrón coincidente][1]. Se admiten comodines (por ejemplo, `*://*.example.com/*`). + Ingresa uno o más patrones de solicitud para bloquear su carga mientras se ejecuta la prueba. Ingresa un patrón de solicitud por línea utilizando el [formato de patrón de coincidencia][1]. Se admiten Wildcard (por ejemplo, `*://*.example.com/*`). - Las solicitudes bloqueadas se omiten durante la ejecución del test pero no afectan a la presentación de una página cuando se [registran pasos](/synthetics/browser_tests/actions). Consulta las solicitudes bloqueadas en la [pestaña Recursos](/synthetics/browser_tests/test_results#resources) de las ejecuciones de tests. Las solicitudes bloqueadas tienen el estado `blocked`. + Las solicitudes bloqueadas se omiten durante la ejecución de la prueba, pero no afectan la representación de la página cuando [se graban pasos](/synthetics/browser_tests/test_steps). Visualiza las solicitudes bloqueadas en la [pestaña de Recursos](/synthetics/browser_tests/test_results#resources) de las ejecuciones de prueba. Las solicitudes bloqueadas tienen un estado de `blocked`. [1]: https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns @@ -162,198 +165,207 @@ Introduce una cantidad de tiempo en segundos que el test deberá esperar antes d {{% synthetics-variables %}} -### Uso de variables globales +### Usa variables globales {#use-global-variables} + +Puede usar las [variables globales definidas en **Configuración**][4] en la **URL de inicio** y **Opciones avanzadas** de los detalles de su prueba de navegador, así como en la grabación de su prueba. -Puedes utilizar las [variables globales definidas en **Settings** (Configuración)][4] en la **Starting URL** (URL de inicio) y **Advanced Options** (Opciones avanzadas) de los detalles del test de tu navegador, así como en la grabación del test. +Para mostrar una lista de variables disponibles: -Para visualizar una lista de las variables disponibles: +- En los detalles de su prueba en el navegador: Escriba `{{` en el campo deseado. -- En los detalles de los tests de tu navegador: Escribe `{{` en el campo deseado. + {{< img src="synthetics/browser_tests/use_global_variables_1.mp4" alt="Definiendo una variable local a partir de variables globales" video="true" width="90%" >}} - {{< img src="synthetics/browser_tests/use_global_variables_1.mp4" alt="Definición de una variable local de las variables globales" video="true" width="90%" >}} +- En el grabador de su prueba en el navegador: Importe la variable en su prueba, luego escriba `{{` en el campo deseado o inyecte la variable en su aplicación para usarla. -- En la grabadora de los tests de tu navegador: Importa la variable en tu test, luego escribe `{{` en el campo deseado o inyecta la variable en tu aplicación para utilizarla. + {{< img src="synthetics/browser_tests/use_global_variables_2.mp4" alt="Inyectando una variable local en un campo durante una grabación en el navegador" video="true" width="90%" >}} - {{< img src="synthetics/browser_tests/use_global_variables_2.mp4" alt="Inyección de una variable local en un campo durante una grabación de navegador" video="true" width="90%" >}} +Para más información sobre el uso de variables en la grabación de su prueba de navegador, consulte [Pasos de prueba en el navegador][5]. -Para más información sobre el uso de variables en la grabación del test del navegador, consulta [Pasos del test del navegador][5]. +### Defina condiciones de alerta {#define-alert-conditions} -### Definir las condiciones de alerta +Puede personalizar las condiciones de alerta para definir las circunstancias bajo las cuales desea que una prueba envíe una alerta de notificación. -Puedes personalizar las condiciones de alerta para definir las circunstancias en las que quieres que un test envíe una alerta de notificación. +{{< img src="synthetics/browser_tests/alerting_rules_2.png" alt="Regla de alerta de prueba en el navegador" style="width:80%" >}} -{{< img src="synthetics/browser_tests/alerting_rules_2.png" alt="Regla de alerta de test de navegador" style="width:80%" >}} +#### Regla de alerta {#alerting-rule} -#### Regla de alerta +Se activa una alerta si alguna afirmación falla durante `X` minutos desde cualquiera `n` de `N` ubicaciones. Esta regla de alerta le permite especificar cuánto tiempo y en cuántas ubicaciones una prueba debe fallar antes de activar la notificación. -Se activa una alerta si cualquier aserción falla durante `X` minutos desde cualquier localización `n` de `N`. Esta regla para alertas permite especificar durante cuánto tiempo y en cuántas localizaciones debe fallar un test antes de que se active la notificación. +Se activa una alerta solo si estas dos condiciones son verdaderas: -Solo se activa una alerta si se cumplen estas dos condiciones: +- Al menos una ubicación estuvo en fallo (al menos una afirmación falló) durante los últimos X minutos; +- En un momento durante los últimos X minutos, al menos `N` ubicaciones estaban en fallo. -- Al menos una ubicación presentó falloa (al menos una aserción falló) durante los últimos X minutos; -- En un momento dado durante los últimos X minutos, al menos `N` ubicaciones estaban en fallo. +En caso de fallo, reintente `X` veces antes de que la ubicación sea marcada como fallida. Esto le permite definir cuántos fallos consecutivos de prueba deben ocurrir para que una ubicación se considere fallida. Por defecto, hay una espera de `300ms` antes de reintentar una prueba que falló. Este intervalo se puede configurar con la [API][6]. -En caso de fallo, reintenta `X` veces antes de que la ubicación se marque como fallida. Esto permite definir cuántos fallos de test consecutivos deben producirse para que una ubicación se considere fallida. Por defecto, hay una espera de `300ms` antes de reintentar un test que ha fallado. Este intervalo se puede configurar con la [API][6]. +#### Reintento rápido {#fast-retry} -#### Reintento rápido +Cuando una prueba falla, el reintento rápido le permite reintentar la prueba X veces después de Y ms antes de marcarla como fallida. Personalizar el intervalo de reintento ayuda a reducir falsos positivos y mejora la precisión de sus alertas. -Cuando un test falla, el reintento rápido te permite reintentar el test X veces después de Y ms antes de marcarlo como fallido. Personalizar el intervalo de reintento ayuda a reducir los falsos positivos y mejora la precisión de las alertas. +Dado que el tiempo de actividad de la ubicación se calcula en función del resultado final de la prueba después de que se completan los reintentos, los intervalos de reintento rápido impactan directamente en lo que aparece en su gráfico de tiempo de actividad total. El tiempo de actividad total se calcula en función de las condiciones de alerta configuradas, y las notificaciones se envían en función del tiempo de actividad total. -Dado que el tiempo de actividad de la ubicación se calcula en función del resultado final del test una vez completados los reintentos, los intervalos de reintentos rápidos afectan directamente a lo que aparece en el gráfico de tiempo de actividad total. El tiempo de actividad total se calcula en función de las condiciones de alerta configuradas, y las notificaciones se envían en función del tiempo de actividad total. +
+Para más información sobre cómo las notificaciones de Synthetic Monitoring evalúan los resultados de las pruebas y activan alertas, consulta Comprendiendo la alerta de Synthetic Monitoring. +
-### Configurar el monitor de tests +{{% synthetics-downtimes %}} -Se envía una notificación según el conjunto de condiciones de alerta. Utiliza esta sección para definir qué mensajes enviar a tus equipos y cómo hacerlo. +### Configure el seguimiento de prueba {#configure-the-test-monitor} -1. Introduce un **mensaje** para el test de navegador o utiliza los mensajes prerellenados de monitor. Este campo permite el [formato Markdown][7] estándar y admite las siguientes [variables condicionales][8]: +Se envía una notificación de acuerdo con el conjunto de condiciones de alerta establecidas. Utilice esta sección para definir cómo y qué mensaje enviar a sus equipos. - | Variable condicional | Descripción | +1. Ingrese un **mensaje** para su prueba de navegador o use mensajes de seguimiento predefinidos. Este campo permite el formato estándar de [Markdown][7] y admite las siguientes [variables condicionales][8]: + + | Variable Condicional | Descripción | |----------------------------|---------------------------------------------------------------------| - | `{{#is_alert}}` | Mostrar cuando el monitor envía alertas. | - | `{{^is_alert}}` | Mostrar a menos que el monitor envía alertas. | - | `{{#is_recovery}}` | Mostrar cuando el monitor se recupera de una `alert`. | - | `{{^is_recovery}}` | Mostrar a menos que el monitor se recupere de una `alert`. | - | `{{#is_renotify}}` | Mostrar cuando el monitor vuelva a enviar una notificación. | - | `{{^is_renotify}}` | Mostrar a menos que el monitor vuelva a enviar una notificación. | - | `{{#is_priority}}` | Mostrar cuando el monitor coincide con la prioridad (de P1 a P5). | - | `{{^is_priority}}` | Mostrar a menos que el monitor coincida con la prioridad (de P1 a P5). | + | `{{#is_alert}}` | Show when the monitor alerts. | + | `{{^is_alert}}` | Show unless the monitor alerts. | + | `{{#is_recovery}}` | Show when the monitor recovers from `alerta`. | + | `{{^is_recovery}}` | Show unless the monitor recovers from `alerta`. | + | `{{#is_renotify}}` | Show when the monitor renotifies. | + | `{{^is_renotify}}` | Show unless the monitor renotifies. | + | `{{#is_priority}}` | Show when the monitor matches priority (P1 to P5). | + | `{{^is_priority}}` | Mostrar a menos que el seguimiento coincida con la prioridad (P1 a P5). | - Los mensajes de notificación incluyen el **mensaje** definido en esta sección e información sobre las ubicaciones que fallan. Los mensajes prerellenados de monitor se incluyen en la sección del cuerpo del mensaje: + Notification messages include the **message** defined in this section and information about the failing locations. Pre-filled monitor messages are included in the message body section: - {{< img src="/synthetics/browser_tests/browser_tests_pre-filled.png" alt="La sección del monitor de Synthetic Monitoring, que resalta los mensajes de monitor prerellenados" style="width:100%;" >}} + {{< img src="/synthetics/browser_tests/browser_tests_pre-filled.png" alt="Sección de seguimiento sintético, destacando los mensajes de seguimiento predefinidos" style="width:100%;" >}} - Por ejemplo, para crear un monitor que itere sobre los pasos extrayendo variables para los tests de navegador, añade lo siguiente al mensaje de monitor: + For example, to create a monitor that iterates over steps extracting variables for browser tests, add the following to the monitor message: ```text - {{! List extracted variables across all successful steps }} - # Extracted variables + {{! Liste las variables extraídas de todos los pasos exitosos }} + # Variables extraídas {{#each synthetics.attributes.result.steps}} {{#if extractedValue}} - * **Name**: `{{extractedValue.name}}` - **Value:** {{#if extractedValue.secure}}*Obfuscated (value hidden)*{{else}}`{{{extractedValue.value}}}`{{/if}} + * **Nombre**: `{{extractedValue.name}}` + **Valor:** {{#if extractedValue.secure}}*Ofuscado (valor oculto)*{{else}}`{{{extractedValue.value}}}`{{/if}} {{/if}} {{/each}} ``` -2. Selecciona los miembros del equipo y los servicios a los que notificar. -3. Especifica una frecuencia para volver a enviar la notificación. Para evitar una nueva notificación en caso de error en tests, activa la opción `Stop re-notifying on X occurrences`. -4. Haz clic en **Save & Start Recording** (Guardar e iniciar grabación) para guardar la configuración de test y grabar los pasos del navegador. - -Para más información, consulta [Notificaciones de Synthetic Monitoring][9]. +2. Choose team members and services to notify. +3. Specify a renotification frequency. To prevent renotification on failing tests, check the option `Stop re-notifying on X occurrences`. +4. Click **Save & Start Recording** to save your test configuration and record your browser steps. -## Para grabar tus pasos +For more information, see [Synthetic Monitoring notifications][9]. -Los tests solo se pueden grabar desde [Google Chrome][10] y [Microsoft Edge][18]. Para grabar tu test, descarga la [extensión de Grabación de tests de Datadog][11]. +## Record your steps -Puedes cambiar de pestaña en una grabación del test de navegador para realizar una acción en tu aplicación (como hacer clic en un enlace que abre otra pestaña) y añadir otro paso de test. El test de navegador debe interactuar primero con la página (a través de un clic) antes de poder realizar una [confirmación][12]. Al grabar todos los pasos de test, el test de navegador puede cambiar de pestaña automáticamente en la ejecución de test. +Tests can be only recorded from [Google Chrome][10] and [Microsoft Edge][18]. To record your test, download the [Datadog Record Test extension][11]. -{{< img src="synthetics/browser_tests/browser_check_record_test.png" alt="Test de grabación de un test de navegador" width="90%" >}} +You can switch tabs in a browser test recording to perform an action on your application (such as clicking on a link that opens another tab) and add another test step. Your browser test must interact with the page first (through a click) before it can perform an [assertion][12]. By recording all of the test steps, the browser test can switch tabs automatically at test execution. -1. También puedes seleccionar **Abrir en una ventana emergente** en la parte superior derecha de la página para abrir la grabación del test en una ventana emergente independiente. Esto es útil si tu aplicación no admite ser abierta en un iframe o si quieres evitar problemas de tamaño en la grabación. También puedes abrir la ventana emergente en **Modo incógnito** para empezar a grabar tu test desde un navegador nuevo, libre de sesiones ya iniciadas, cookies de tu navegador actual, etc. -2. También puedes habilitar Datadog para recopilar automáticamente datos RUM al ejecutar grabaciones de los pasos del test de tu navegador. Para obtener más información, consulta [Explorar RUM y Session Replay][13]. -3. Haz clic en **Iniciar grabación** para empezar a grabar el test de tu navegador. -4. A medida que haces clic en tu aplicación en el recorrido del usuario que quieres monitorizar, tus acciones se graban automáticamente y se utilizan para crear [pasos][14] en el escenario de test de tu navegador a la izquierda. -5. Además de los pasos grabados automáticamente, también puedes utilizar los [pasos][14] disponibles en la esquina superior izquierda para mejorar tu escenario: - {{< img src="synthetics/browser_tests/manual_steps.png" alt="Pasos del test de navegador" style="width:80%;">}} +{{< img src="synthetics/browser_tests/browser_check_record_test.png" alt="Registro de prueba del navegador" width="90%" >}} - Datadog recomienda finalizar tu test de navegador con una **[aserción][12]** para confirmar que el recorrido ejecutado por el test del navegador ha dado como resultado el estado esperado. -6. Una vez que termines tu escenario, haz clic en **Guardar e iniciar test**. +1. Opcionalmente, seleccione **Abrir en una ventana emergente** en la parte superior derecha de la página para abrir su grabación de prueba en una ventana emergente separada. Esto es útil si su aplicación no admite abrirse en un iframe o si desea evitar problemas de tamaño durante la grabación. También puede abrir la ventana emergente en **Modo Incógnito** para comenzar a grabar su prueba desde un navegador fresco, libre de sesiones ya iniciadas, cookies de su navegador existente, y más. +2. Opcionalmente, habilite Datadog para recopilar automáticamente datos de RUM al ejecutar grabaciones de pasos desde su prueba de navegador. Para más información, consulta [Explorar RUM y Reproducción de Sesiones][13]. +3. Haga clic en **Iniciar Grabación** para comenzar a grabar su prueba de navegador. +4. A medida que hace clic en su aplicación mientras recorre el viaje del usuario que desea monitorear, sus acciones se graban automáticamente y se utilizan para crear [pasos][14] dentro de su escenario de prueba de navegador a la izquierda. +5. Además de los pasos grabados automáticamente, también puede usar los [pasos][14] disponibles en la esquina superior izquierda para enriquecer su escenario: + {{< img src="synthetics/browser_tests/manual_steps.png" alt="Pasos de prueba de navegador" style="width:80%;">}} -## Repetición de pasos + Datadog recomienda finalizar su prueba de navegador con una **[afirmación][12]** para confirmar que el viaje ejecutado por la prueba de navegador resultó en el estado esperado. +6. Una vez que haya terminado su escenario, haga clic en **Guardar y Lanzar Prueba**. -La repetición de pasos te permite volver a ejecutar uno o más pasos de tu test de navegador directamente en tu navegador con la [extensión Grabación de test de Datadog][11]. Esta función te ayuda a establecer el estado correcto cuando añades o editas pasos en medio de un test, por lo que no necesitas hacerlo manualmente. +## Reproduzca sus pasos {#replay-your-steps} -### Permiso de depuración +Para volver a ejecutar uno o más pasos de su prueba de navegador directamente en su navegador, descargue la [extensión de Prueba de Grabación de Datadog][11]. -Los pasos basados en JavaScript y las simulaciones de pulsaciones de teclas requieren el permiso del depurador. +La función de Reproducción de Pasos le ayuda a depurar pasos individuales, alcanzar el estado correcto de la aplicación al editar una prueba de navegador, y confirmar flujos completos antes de guardar su prueba. -La primera vez que la extensión se actualice a una versión que requiera permiso de depuración, verás una solicitud de permiso y la extensión se desactivará hasta que la apruebes: -{{< img src="synthetics/browser_tests/recording__replay--accepting-permission_2.mp4" alt="Aceptar el permiso del depurador" video="true" height="400px" >}} -

Haz clic en el menú de tres puntos {{< img src="icons/kebab.png" inline="true" style="width:14px;">}} para aceptar el permiso.

+**Nota**: La Reproducción de Pasos puede comportarse de manera diferente a una ejecución completa de prueba Synthetic Monitoring debido a diferentes condiciones (versión del navegador, red, agente de usuario, estado de inicio de sesión) o limitaciones. -### Cómo utilizar la Repetición del paso +### Cómo usar la reproducción de pasos {#how-to-use-step-replay} -Puedes repetir los pasos de tres maneras: +Puede reproducir pasos de tres maneras: -1. Repetición de paso único: reejecuta un único paso: -{{< img src="synthetics/browser_tests/recording__replay--replay-one-step_1.mp4" alt="Repetición de un paso único" video="true" height="400px" >}} -

Pasa el ratón por encima del paso, y haz clic en el botón de reproducción para repetir solo este paso.

+1. Reproducción de un solo paso: Reejecute un solo paso: +{{< img src="synthetics/browser_tests/recording__replay--replay-one-step_1.mp4" alt="Reproducción de un Solo Paso" video="true" height="400px" >}} +

Pase el cursor sobre el paso y haga clic en el botón de reproducción para reproducir únicamente este paso.

-2. Repetición de todos los pasos: ejecuta toda la secuencia de pasos definida en la grabadora: -{{< img src="synthetics/browser_tests/recording__replay--replay-all-steps_1.mp4" alt="Repetición de todos los pasos" video="true" height="400px" >}} -

Haz clic en el botón repetir todo (⏩︎) en la parte superior de la lista de pasos para repetir todos los pasos.

+2. Reproduzca todos los pasos: Ejecute toda la secuencia de pasos tal como se definió en el grabador: +{{< img src="synthetics/browser_tests/recording__replay--replay-all-steps_1.mp4" alt="Reproduzca Todos los Pasos" video="true" height="400px" >}} +

Haga clic en el botón de reproducir todo (⏩︎) en la parte superior de la lista de pasos para reproducir todos los pasos.

-3. Repetición de los pasos seleccionados: ejecuta un subconjunto de pasos que selecciones en la lista de pasos: -{{< img src="synthetics/browser_tests/recording__replay--replay-selected-steps_1.mp4" alt="Repetición de los pasos seleccionados" video="true">}} -

Selecciona los pasos que deseas repetir y, a continuación, haz clic en el botón de repetición seleccionado (⏩︎) en la parte superior de la lista de pasos.

+3. Reproduzca pasos seleccionados: Ejecute un subconjunto de pasos que seleccione en la lista de pasos: +{{< img src="synthetics/browser_tests/recording__replay--replay-selected-steps_1.mp4" alt="Reproduzca Pasos Seleccionados" video="true">}} +

Seleccione los pasos que desea reproducir y luego haga clic en el botón de reproducir seleccionados (⏩︎) en la parte superior de la lista de pasos.

-### Compatibilidad con la función de repetición de pasos +### Soporte para la función de reproducción de pasos {#step-replay-feature-support} -La siguiente tabla resume qué tipos de paso de test de navegador admiten la repetición de pasos: +La siguiente tabla resume qué tipos de pasos de prueba de navegador son compatibles con la reproducción de pasos: -| Tipo de paso | Compatibilidad con la repetición de pasos | Notas | +| Tipo de paso | Compatible con la Reproducción de Pasos | Notas | |--------------------------|:------------------------:|-------| | Extraer variable | {{< X >}} | | -| Ir a la URL | {{< X >}} | | +| Ir a URL | {{< X >}} | | | Actualizar | {{< X >}} | | -| Desplazarse | {{< X >}} | | -| Seleccionar una opción | {{< X >}} | | +| Desplazar | {{< X >}} | | +| Seleccionar opción | {{< X >}} | | | Esperar | {{< X >}} | | -| Ejecutar test de API | {{< X >}} | | -| Confirmar el estado de la casilla | {{< X >}} | | -| Confirmar la URL actual | {{< X >}} | | -| Confirmar el atributo de elemento | {{< X >}} | | -| Confirmar el contenido de elemento | {{< X >}} | | -| Confirmar el elemento presente | {{< X >}} | | -| Confirmar la descarga del archivo | {{< X >}} | | -| Confirmar el contenido de página | {{< X >}} | | -| Confirmar los faltantes de página | {{< X >}} | | -| Confirmar desde JavaScript | {{< X >}} | | -| Extraer desde JavaScript | {{< X >}} | | -| Pulsar tecla | {{< X >}} | | +| Ejecutar prueba de API | {{< X >}} | | +| Afirmar estado de casilla | {{< X >}} | | +| Afirmar URL actual | {{< X >}} | | +| Afirmar atributo de elemento | {{< X >}} | | +| Afirmar contenido de elemento | {{< X >}} | | +| Afirmar elemento presente | {{< X >}} | | +| Afirmar descarga de archivo | {{< X >}} | | +| Afirmar que la página contiene| {{< X >}} | | +| Afirmar que la página carece | {{< X >}} | | +| Afirmar desde JavaScript | {{< X >}} | | +| Extraer de JavaScript | {{< X >}} | | +| Presionar tecla | {{< X >}} | | | Escribir texto | {{< X >}} | | -| Clic | {{< X >}}* | *Se admiten pasos de clic, pero pueden comportarse de forma diferente que en una ejecución completa de test de Synthetic Monitoring. | -| Pasar el cursor | {{< X >}}* | *Se admiten pasos flotantes, pero pueden comportarse de forma diferente que en una ejecución completa del test de Synthetic Monitoring. | +| Hacer clic | {{< X >}}* | *Click steps are supported, but may behave differently than in a full Synthetic Monitoring test run. | +| Pasar el cursor | {{< X >}}* | *Hover steps are supported, but may behave differently than in a full Synthetic Monitoring test run. | -### Tipos de pasos no compatibles con la repetición de pasos +### Tipos de paso no soportados por la reproducción de pasos {#step-types-not-supported-by-step-replay} -| Tipo de paso | Compatible con la repetición de pasos | +| Tipo de paso | Soportado por la reproducción de pasos | |--------------------------|:------------------------:| -| Confirmar correo electrónico | Aún no se admite | -| Confirmar solicitudes | Aún no se admite | -| Extraer del cuerpo del correo electrónico | Aún no se admite | -| Ir al enlace de correo electrónico | Aún no se admite | -| Cargar archivos | Aún no se admite | -| Confirmar el lenguaje natural | Aún no se admite | +| Verificar correo electrónico | No soportado aún | +| Verificar solicitudes | No soportado aún | +| Extraer del cuerpo del correo electrónico | No soportado aún | +| Ir al enlace del correo electrónico | No soportado aún | +| Subir archivos | No soportado aún | + +### Permiso de depurador {#debugger-permission} + +Para estar lo más cerca posible de una ejecución completa de prueba de Synthetic Monitoring, algunos pasos como los basados en JavaScript o simulaciones de pulsaciones de teclas requieren el permiso de depurador para ser reproducidos. + +La primera vez que la extensión se actualiza a una versión que requiere permiso de depurador, aparece una solicitud de permiso y la extensión se desactiva hasta que la apruebe: +{{< img src="synthetics/browser_tests/recording__replay--accepting-permission_2.mp4" alt="Aceptando el permiso de depurador" video="true" height="400px" >}} +

Haga clic en los tres puntos {{< img src="icons/kebab.png" inline="true" style="width:14px;">}} Menú para aceptar el permiso.

-## Permisos +## Permisos {#permissions} -De manera predeterminada, solo los usuarios con los roles de [administrador de Datadog y estándar de Datadog][15] pueden crear, editar y eliminar tests de navegador Synthetic. Para crear, editar y eliminar tests de navegador Synthetic, actualiza tu usuario a uno de esos dos [roles predeterminados][15]. +Por defecto, solo los usuarios con los roles [Datadog Admin y Datadog Standard][15] pueden crear, editar y eliminar pruebas de navegador Synthetic. Para obtener acceso para crear, editar y eliminar pruebas de navegador Synthetic, actualice su usuario a uno de esos dos [roles predeterminados][15]. -Si estás utilizando la [función de rol personalizado][15], añade tu usuario a cualquier rol que incluya permisos `synthetics_read` y `synthetics_write`. +Si está utilizando la [función de rol personalizado][15], agregue su usuario a cualquier rol personalizado que incluya `synthetics_read` y `synthetics_write` permisos. -### Restringir el acceso +### Restringir acceso {#restrict-access} -Utiliza el [control de acceso detallado][17] para limitar quién tiene acceso a tu test en función de roles, equipos o usuarios individuales: +Utilice [control de acceso granular][17] para limitar quién tiene acceso a su prueba según roles, equipos o usuarios individuales: -1. Abre la sección de permisos del formulario. -2. Haz clic en **Edit Access** (Editar acceso). - {{< img src="synthetics/settings/grace_2.png" alt="Establecer permisos para tu test en el formulario de configuración de localizaciones privadas" style="width:100%;" >}} -3. Haz clic en **Restrict Access** (Restringir el acceso). -4. Selecciona equipos, roles o usuarios. -5. Haz clic en **Add** (Añadir). -6. Selecciona el nivel de acceso que deseas asociar a cada uno de ellos. -7. Haz clic en **Done** (Listo). +1. Abra la sección de permisos del formulario. +2. Haga clic en **Editar Acceso**. + {{< img src="synthetics/settings/grace_2.png" alt="Establezca permisos para su prueba desde el formulario de configuración de Ubicaciones Privadas" style="width:100%;" >}} +3. Haga clic en **Restringir Acceso**. +4. Seleccione equipos, roles o usuarios. +5. Haga clic en **Agregar**. +6. Seleccione el nivel de acceso que desea asociar con cada uno de ellos. +7. Haga clic en **Done**. -
Puedes ver los resultados de una Ubicación privada incluso sin acceso del Visor a esa Ubicación privada.
+
Puede ver resultados de una Private Location incluso sin acceso de Visualizador a esa Private Location.
-| Nivel de acceso | Ver configuración del test | Editar configuración del test | Ver los resultados de los tests | Ejecutar tests | Ver grabación | Editar grabación | +| Nivel de acceso | Ver configuración de prueba | Editar configuración de prueba | Ver resultados de prueba | Ejecutar prueba | Ver grabación | Editar grabación | | ------------ | ----------------------- | ----------------------- | ------------------| --------- | -------------- | -------------- | | Sin acceso | | | | | | | -| Visor | {{< X >}} | | {{< X >}} | | | | +| Visualizador | {{< X >}} | | {{< X >}} | | | | | Editor | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -## Referencias adicionales +## Para saber más {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -361,17 +373,18 @@ Utiliza el [control de acceso detallado][17] para limitar quién tiene acceso a [2]: /es/continuous_testing/environments/proxy_firewall_vpn [3]: /es/help/ [4]: /es/synthetics/settings/#global-variables -[5]: /es/synthetics/browser_tests/actions#variables +[5]: /es/synthetics/browser_tests/test_steps#variables [6]: /es/api/latest/synthetics/#create-or-clone-a-test [7]: http://daringfireball.net/projects/markdown/syntax [8]: /es/monitors/notify/variables/?tab=is_alert#conditional-variables [9]: /es/synthetics/notifications/ [10]: https://www.google.com/chrome [11]: https://chrome.google.com/webstore/detail/datadog-test-recorder/kkbncfpddhdmkfmalecgnphegacgejoa -[12]: /es/synthetics/browser_tests/actions/#assertion +[12]: /es/synthetics/browser_tests/test_steps/#assertion [13]: /es/synthetics/guide/explore-rum-through-synthetics/ -[14]: /es/synthetics/browser_tests/actions/ +[14]: /es/synthetics/browser_tests/test_steps/ [15]: /es/account_management/rbac#custom-roles [16]: /es/account_management/rbac/#create-a-custom-role [17]: /es/account_management/rbac/granular_access -[18]: https://www.microsoft.com/edge \ No newline at end of file +[18]: https://www.microsoft.com/edge +[19]: /es/synthetics/guide/how-synthetics-monitors-trigger-alerts/ \ No newline at end of file diff --git a/content/es/synthetics/platform/private_locations/_index.md b/content/es/synthetics/platform/private_locations/_index.md index 5c6098bf974..0d42c8d32b8 100644 --- a/content/es/synthetics/platform/private_locations/_index.md +++ b/content/es/synthetics/platform/private_locations/_index.md @@ -1,67 +1,64 @@ --- aliases: - /es/synthetics/private_locations -description: Ejecutar tests de API y de navegador Synthetic desde localizaciones privadas +description: Ejecute pruebas Synthetic API y pruebas de navegador desde ubicaciones + privadas further_reading: - link: https://www.datadoghq.com/blog/synthetic-private-location-monitoring-datadog/ tag: Blog - text: Monitorizar tus localizaciones privadas Synthetic con Datadog + text: Monitoree sus ubicaciones privadas Synthetic con Datadog - link: /getting_started/synthetics/private_location tag: Documentación - text: Empezando con las localizaciones privadas + text: Introducción a las ubicaciones privadas - link: /synthetics/private_locations/monitoring tag: Documentación - text: Monitorizar tus localizaciones privadas + text: Monitoree sus ubicaciones privadas - link: /synthetics/private_locations/dimensioning tag: Documentación - text: Dimensionar tus localizaciones privadas -- link: /synthetics/api_tests - tag: Documentación - text: Configurar un test de API + text: Dimensione sus ubicaciones privadas - link: https://www.datadoghq.com/architecture/protect-sensitive-data-with-synthetics-private-location-runners/ - tag: Centro de arquitectura - text: Protege los datos confidenciales con los ejecutores de localización privada - de Synthetics + tag: Centro de Arquitectura + text: Proteja datos sensibles con los ejecutores de ubicaciones privadas Synthetics - link: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/synthetics_private_location - tag: Sitio externo - text: Crear y gestionar localizaciones privadas Synthetic con Terraform -title: Ejecutar tests Synthetic desde localizaciones privadas + tag: Sitio Externo + text: Cree y gestione ubicaciones privadas Synthetic con Terraform +title: Ejecute pruebas Synthetic desde ubicaciones privadas --- +## Resumen {#overview} -## Información general - -Las localizaciones privadas permiten **monitorizar aplicaciones internas o cualquier endpoint privado** que no resultan accesibles a través de la red pública de Internet. También pueden utilizarse para: +Las ubicaciones privadas le permiten **monitorear aplicaciones internas o cualquier punto de conexión privado** que no sea accesible desde internet público También se pueden utilizar para: -* **Crear localizaciones de Synthetic** en áreas consideradas críticas para el desarrollo de tu negocio. -* **Verificar el rendimiento de la aplicación en tu entorno interno de integración continua** antes de lanzar nuevas funciones a la fase de producción con [tests continuos y (CI/CD)][28]. -* **Comparar el rendimiento de la aplicación** desde dentro y fuera de tu red interna. +* **Crear ubicaciones Synthetic personalizadas** en áreas que son críticas para su negocio +* **Verificar el rendimiento de la aplicación en su entorno interno de CI** antes de lanzar nuevas características a producción con [Continuous Testing y CI/CD][28] +* **Comparar el rendimiento de la aplicación** tanto desde dentro como desde fuera de su red interna +* **[Autenticar pruebas de Synthetic Monitoring usando Kerberos SSO][33]** para sitios y APIs internas basadas en Windows -{{< img src="synthetics/private_locations/private_locations_worker_1.png" alt="Diagrama de arquitectura que muestra cómo funciona una localización privada durante la monitorización Synthetic" style="width:100%;">}} +{{< img src="synthetics/private_locations/private_locations_worker_1.png" alt="Diagrama de arquitectura de cómo funciona una ubicación privada en Synthetic Monitoring" style="width:100%;">}} -Las localizaciones privadas vienen como contenedores Docker o servicios de Windows que puedes instalar en tu red privada. Después de crear e instalar una localización privada, puedes asignarle [tests de Synthetic][29], como a cualquier localización gestionada. +Las ubicaciones privadas se presentan como contenedores Docker o servicios de Windows que puede instalar dentro de su red privada Después de crear e instalar una ubicación privada, puede asignarle [pruebas Synthetic][29], al igual que con cualquier ubicación administrada -El worker de tu localización privada extrae tus configuraciones de test de los servidores de Datadog utilizando HTTPS, ejecuta el test de forma programada o bajo demanda y devuelve los resultados a los servidores de Datadog. A continuación, puedes ver los resultados de tus tests de localizaciones privadas exactamente de la misma forma que verías los tests que se ejecutan desde localizaciones gestionadas: +El trabajador de su ubicación privada obtiene las configuraciones de prueba de los servidores de Datadog utilizando HTTPS, ejecuta la prueba según un horario o bajo demanda, y devuelve los resultados de la prueba a los servidores de Datadog Luego puede visualizar los resultados de las pruebas de sus ubicaciones privadas de manera completamente idéntica a como visualizaría las pruebas que se ejecutan desde ubicaciones administradas: -{{< img src="synthetics/private_locations/test_results_pl.png" alt="Asignar un test Synthetic a una localización privada" style="width:100%;">}} +{{< img src="synthetics/private_locations/test_results_pl.png" alt="Asigne una prueba Synthetic a una ubicación privada" style="width:100%;">}} -## Requisitos previos +## Requisitos previos {#prerequisites} -Para utilizar localizaciones privadas para [tests continuos][23], necesitas v1.27.0 o posterior. +Para usar ubicaciones privadas para [Continuous Testing tests][23], necesita la versión v1.27.0 o posterior. {{< tabs >}} {{% tab "Docker" %}} -Las localizaciones privadas son contenedores Docker que puedes instalar en cualquier lugar de tu red privada. Puedes acceder a la [imagen del worker de la localización privada][101] en el hub Docker. Puede ejecutarse en un sistema operativo basado en Linux o un sistema operativo Windows, si el [motor Docker][102] está disponible en tu host y puede ejecutarse en modo de contenedor Linux.**\*** +Las ubicaciones privadas son contenedores Docker que puede instalar en cualquier lugar dentro de su red privada. Puede acceder a la [imagen del trabajador de ubicación privada][101] en Docker hub. Puede ejecutarse en un sistema operativo basado en Linux o en Windows si el [motor de Docker][102] está disponible en su host y puede funcionar en modo de contenedores de Linux.**\*** -{{< site-region region="gov" >}} +{{< site-region region="gov,gov2" >}} -Si necesitas compatibilidad con FIPS, utiliza la [imagen compatible con FIPS][26] en el centro de Docker. +Si requiere soporte FIPS, utilice la [imagen compatible con FIPS][26] en Docker hub. -[26]: https://hub.docker.com/repository/docker/datadog/synthetics-private-location-worker-fips/general +[26]: https://hub.docker.com/r/datadog/synthetics-private-location-worker-fips {{< /site-region >}} -**\*** **El uso y el funcionamiento de este software se rigen por el Acuerdo de licencia del usuario final, disponible [aquí][103]**. +**\*** **El uso y operación de este software está regido por el Acuerdo de Licencia de Usuario Final disponible [aquí][103].** [101]: https://hub.docker.com/r/datadog/synthetics-private-location-worker [102]: https://docs.docker.com/engine/install/ @@ -70,9 +67,9 @@ Si necesitas compatibilidad con FIPS, utiliza la [imagen compatible con FIPS][26 {{% /tab %}} {{% tab "Helm" %}} -Las localizaciones privadas son despliegues de Kubernetes que puedes instalar en tu clúster Kubernetes utilizando Helm. El [Helm Chart][101] puede ejecutarse en Kubernetes basado en Linux. +Las ubicaciones privadas son implementaciones de Kubernetes que puede instalar en su clúster de Kubernetes con Helm. El [chart de helm][101] puede ejecutarse en Kubernetes basado en Linux. -**Nota**: El uso y el funcionamiento de este software se rigen por el [Acuerdo de licencia del usuario final[103]. +**Nota**: El uso y operación de este software está regido por el [Acuerdo de Licencia de Usuario Final][103]. [101]: https://github.com/DataDog/helm-charts/tree/main/charts/synthetics-private-location [103]: https://www.datadoghq.com/legal/eula/ @@ -80,27 +77,26 @@ Las localizaciones privadas son despliegues de Kubernetes que puedes instalar en {{% /tab %}} {{% tab "Windows" %}} -Las localizaciones privadas son servicios de Windows que puedes instalar en cualquier lugar de tu red privada utilizando un [archivo MSI][101]. Ejecuta este archivo desde la máquina virtual o física en la que quieres instalar la localización privada.**\*** +Las ubicaciones privadas son servicios de Windows que puede instalar en cualquier lugar dentro de su red privada utilizando un [archivo MSI][101]. Ejecute este archivo desde la máquina virtual o física en la que desea instalar la ubicación privada.**\*** -**\*** **El uso y el funcionamiento de este software se rigen por el Acuerdo de licencia del usuario final, disponible [aquí][102]**. +**\*** **El uso y operación de este software está regido por el Acuerdo de Licencia de Usuario Final disponible [aquí][102].** -Los requisitos de esta máquina se enumeran en la tabla siguiente. Los scripts de PowerShell deben estar habilitados en el equipo en el que instalas el worker de la localización privada. +Los requisitos de esta máquina se enumeran en la tabla a continuación. La ejecución de scripts de PowerShell debe estar habilitada en la máquina en la que está instalando el trabajador de ubicación privada. | Sistema | Requisitos | |---|---| -| Sistema operativo | Windows Server 2022, Windows Server 2019, Windows Server 2016 o Windows 10. | +| SO | Windows Server 2022, Windows Server 2019, Windows Server 2016 o Windows 10. | | RAM | 4GB mínimo. 8GB recomendado. | -| CPU | Procesador Intel o AMD compatible con 64 bits. Procesador de 2,8 GHz o superior recomendado. | +| CPU | Procesador Intel o AMD con soporte de 64 bits. Se recomienda un procesador de 2.8 GHz o más rápido. | -**Nota**: Para que las localizaciones privadas de Windows ejecuten tests de navegador, los navegadores (por ejemplo, Chrome, Edge o Firefox) deben estar instalados en el ordenador Windows. +**Nota**: Para que las Ubicaciones Privadas de Windows ejecuten pruebas en el navegador, los navegadores (por ejemplo, Chrome, Edge o Firefox) deben estar instalados en la computadora con Windows. -Debes instalar .NET versión 4.7.2 o posterior en tu ordenador antes de utilizar el instalador de MSI. +Debe instalar la versión 4.7.2 o posterior de .NET en su computadora antes de usar el instalador MSI. -{{< site-region region="gov" >}} +**Habilitar el modo criptográfico FIPS 140-2**:
+Habilitar módulos criptográficos compatibles con FIPS para comunicaciones seguras. El host de Windows debe estar ejecutándose en modo FIPS de Windows para usar esta opción. Disponible en Ubicación Privada `v1.63.0` y superior. -
El cumplimiento de FIPS no es compatible con las localizaciones privadas que informan a ddog-gov.com. Para deshabilitar este comportamiento, utiliza la opción --disableFipsCompliance.
- -{{< /site-region >}} +{{< img src="synthetics/private_locations/synthetics_pl_windows_fips.png" alt="Asistente de trabajador de Ubicación Privada Synthetics, instalador MSI. La configuración del modo criptográfico FIPS 140-2 se muestra." style="width:80%;" >}} [101]: https://ddsynthetics-windows.s3.amazonaws.com/datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi [102]: https://www.datadoghq.com/legal/eula/ @@ -108,150 +104,89 @@ Debes instalar .NET versión 4.7.2 o posterior en tu ordenador antes de utilizar {{% /tab %}} {{< /tabs >}} -### Endpoints de localizaciones privadas de Datadog +### Puntos de conexión de ubicaciones privadas de Datadog {#datadog-private-locations-endpoints} -Para extraer configuraciones de test y enviar resultados de test, el worker de la localización privada necesita acceso a los siguientes endpoints de API de Datadog. +Para obtener configuraciones de prueba y enviar resultados de prueba, el trabajador de ubicación privada necesita acceso a los siguientes puntos de conexión de la API de Datadog. -{{< site-region region="us" >}} - -| Puerto | Endpoint | Descripción | +| Puerto | Punto de conexión | Descripción | | ---- | -------------------------------------- | ------------------------------------------------------------- | -| 443 | `intake.synthetics.datadoghq.com` | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el [protocolo AWS Signature versión 4][1]. | -| 443 | `intake-v2.synthetics.datadoghq.com` para las versiones 0.2.0 o posteriores y 1.4.0 o anteriores | Utilizado por la localización privada para extraer artefactos de test de navegador, como capturas de pantalla, errores y recursos. | +| 443 | {{< region-param key=synthetics_intake_endpoint code="true" >}} | Utilizado por la ubicación privada para obtener configuraciones de prueba y enviar resultados de prueba a Datadog utilizando un protocolo interno basado en [AWS Signature Version 4 protocol][1].{{< site-region region="gov,gov2" >}} Para versiones `1.32.0` y posteriores, las solicitudes de **Ubicaciones Privadas en contenedores de Linux** son compatibles con los Estándares Federales de Procesamiento de Información (FIPS). Para **Ubicaciones Privadas de Windows**, se admite cifrado compatible con FIPS en la versión `1.63.0` y posteriores.{{< /site-region >}} | [1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html -{{< /site-region >}} - {{< site-region region="eu" >}} -| Puerto | Endpoint | Descripción | -| ---- | ---------------------------------- | -------------------------------------------------------------- | -| 443 | `intake.synthetics.datadoghq.eu` | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el [protocolo AWS Signature versión 4][1]. | - **Nota**: Estos dominios apuntan a un conjunto de direcciones IP estáticas. Estas direcciones se pueden encontrar en https://ip-ranges.datadoghq.eu. -[1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html - -{{< /site-region >}} - -{{< site-region region="us3" >}} - -| Puerto | Endpoint | Descripción | -| ---- | --------------------------------------- | ---------------------------------------------------------------------------------- | -| 443 | `intake.synthetics.us3.datadoghq.com` | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el [protocolo AWS Signature versión 4][1]. | - -[1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html - {{< /site-region >}} -{{< site-region region="ap1" >}} +## Configure su ubicación privada {#set-up-your-private-location} -| Puerto | Endpoint | Descripción | -| ---- | --------------------------------------- | ---------------------------------------------------------------------------------- | -| 443 | `intake.synthetics.ap1.datadoghq.com` | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el [protocolo AWS Signature versión 4][1]. | +Solo los usuarios con el rol de **Synthetics Private Locations Write** pueden crear ubicaciones privadas. Para más información, consulta [Permisos](#permissions). -[1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html +### Cree su ubicación privada {#create-your-private-location} -{{< /site-region >}} +Navegue a [**Synthetic Monitoring** > **Settings** > **Private Locations**][22] y haga clic en **Add Private Location**. -{{< site-region region="ap2" >}} +{{< img src="synthetics/private_locations/synthetics_pl_add_1.png" alt="Cree una ubicación privada" style="width:90%;">}} -| Puerto | Endpoint | Descripción | -| ---- | --------------------------------------- | ---------------------------------------------------------------------------------- | -| 443 | `intake.synthetics.ap2.datadoghq.com` | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el [protocolo AWS Signature versión 4][1]. | +Complete los detalles de su ubicación privada: -[1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html +1. Especifique el **Nombre** y la **Descripción** de su ubicación privada. +2. Agregue cualquier **Etiqueta** que desee asociar con su ubicación privada. +3. Elija una de sus **Claves API** existentes. Seleccionar una clave de API permite la comunicación entre su ubicación privada y Datadog. Si no tiene una clave de API existente, haga clic en **Generate API key** para crear una en la página dedicada. Solo los campos `Name` y `API key` son obligatorios. +4. Establezca el acceso para su ubicación privada y haga clic en **Save Location and Generate Configuration File**. Datadog crea su ubicación privada y genera el archivo de configuración asociado. -{{< /site-region >}} +{{< img src="synthetics/private_locations/pl_creation_1.png" alt="Agregue detalles a la ubicación privada" style="width:85%;">}} -{{< site-region region="us5" >}} +### Configure su ubicación privada {#configure-your-private-location} -| Puerto | Endpoint | Descripción | -| ---- | ------------------------------------- | -------------------------------------------------------------- | -| 443 | `intake.synthetics.us5.datadoghq.com` | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el [protocolo AWS Signature versión 4][1]. | +Configure su ubicación privada personalizando el archivo de configuración generado. Cuando agrega parámetros de configuración iniciales como [proxies](#proxy-configuration) y [IPs reservadas bloqueadas](#blocking-reserved-ips) en **Paso 3**, su archivo de configuración generado se actualiza automáticamente en **Paso 4**. -[1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html - -{{< /site-region >}} +Puede acceder a opciones avanzadas para ajustar la configuración según la configuración de su red interna. Para más información sobre el `help` comando, consulte [Configuración][5]. -{{< site-region region="gov" >}} +#### Configuración del proxy {#proxy-configuration} -| Puerto | Endpoint | Descripción | -|------|----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 443 | `intake.synthetics.ddog-gov.com` | Utilizado por la localización privada para extraer configuraciones de test y enviar resultados de test en Datadog utilizando un protocolo interno basado en el [protocolo AWS Signature versión 4][1]. Para la versión 1.32.0 y posteriores, estas solicitudes son compatibles con el Estándar federal de procesamiento de información (FIPS). | +Si el tráfico entre su ubicación privada y Datadog debe pasar por un proxy, especifique la URL de su proxy como `http://:@:` para agregar el parámetro `proxyDatadog` asociado a su archivo de configuración generado. -[1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html - -{{< /site-region >}} +{{Agregue un proxy a su archivo de configuración de ubicación privada.}} -## Configuración de tu localización privada +#### Bloqueo de IPs reservadas {#blocking-reserved-ips} -Sólo los usuarios con el rol **Synthetics Private Locations Write** pueden crear localizaciones privadas. Para obtener más información, consulta [Permisos](#permissions). +Por defecto, los usuarios de Synthetic pueden crear pruebas Synthetic en puntos de conexión utilizando cualquier IP. Si desea evitar que los usuarios creen pruebas en IPs internas sensibles de su red, active el botón **Block reserved IPs** para bloquear un conjunto predeterminado de rangos de IPs reservadas ([IPv4 address registry][6] y [IPv6 address registry][7]) y establezca el parámetro asociado `enableDefaultBlockedIpRanges` en `true` en su archivo de configuración generado. -### Creación de tu localización privada +Si algunos de los puntos de conexión que desea probar se encuentran dentro de uno o varios de los rangos de IPs reservadas bloqueadas, puede agregar sus IPs y/o CIDRs a las listas permitidas para añadir los parámetros asociados `allowedIPRanges` a su archivo de configuración generado. -Ve a [**Monitorización Synthetic** > **Parámetros** > **Localizaciones privadas**][22] y haz clic en **Add Private Location** (Añadir localización privada). +{{< img src="synthetics/private_locations/pl_reserved_ips_1.png" alt="Configure IPs reservadas" style="width:90%;">}} -{{< img src="synthetics/private_locations/synthetics_pl_add_1.png" alt="Crear una localización privada" style="width:90%;">}} +### Vea su archivo de configuración {#view-your-configuration-file} -Rellena la información de tu localización privada: +Después de agregar las opciones apropiadas a su archivo de configuración de ubicación privada, puede copiar y pegar este archivo en su directorio de trabajo. El archivo de configuración contiene secretos para la autenticación de ubicación privada, la desencriptación de la configuración de prueba y la encriptación de los resultados de prueba. -1. Especifica el **nombre** y la **descripción** de tu localización privada. -2. Añade cualquier **Etiqueta** (tag) que quieras asociar a tu localización privada. -3. Selecciona una de tus **claves de API** actuales. Al seleccionar una clave de API, se posibilita la comunicación entre tu localización privada y Datadog. Si aún no tienes una clave de API, haz clic en **Generate API key** (Generar clave de API) para crear una en la página correspondiente. Sólo son obligatorios los campos `Name` y `API key`. -4. Configura el acceso para tu localización privada y haz clic en **Save Location and Generate Configuration File** (Guardar localización y generar archivo de configuración). Datadog creará tu localización privada y generará el archivo de configuración asociado. +{{< img src="synthetics/private_locations/pl_view_file_1.png" alt="Configure IPs reservadas" style="width:90%;">}} -{{< img src="synthetics/private_locations/pl_creation_1.png" alt="Añadir detalles a una localización privada" style="width:85%;">}} +Datadog no almacena sus secretos, así que guárdelos localmente antes de hacer clic en **Ver Instrucciones de Instalación**. -### Configuración de tu localización privada +**Nota:** Necesita poder referenciar estos secretos nuevamente si decide agregar más trabajadores o instalar trabajadores en otro servidor. -Configura tu localización privada personalizando el archivo de configuración generado. Cuando añadas parámetros de configuración inicial como [proxies](#proxy-configuration) e [IP reservadas bloqueadas](#blocking-reserved-ips) en el **Paso 3**, el archivo de configuración generado se actualizará automáticamente en el **Paso 4**. +### Instale su ubicación privada {#install-your-private-location} -Puedes acceder a opciones avanzadas para ajustar la configuración en función de tu configuración de red interna. Para obtener más información sobre el comando `help`, consulta [Configuración][5]. +Puede usar `DATADOG_API_KEY`, `DATADOG_ACCESS_KEY`, `DATADOG_SECRET_ACCESS_KEY`, `DATADOG_PUBLIC_KEY_PEM` y `DATADOG_PRIVATE_KEY` variables de entorno en la definición de su tarea. -#### Configuración del proxy - -Si el tráfico entre tu localización privada y Datadog debe ir a través de un proxy, especifica la URL del proxy como `http://:@:` para añadir el parámetro `proxyDatadog` asociado al archivo de configuración generado. - -{{Add a proxy to your private location configuration file}} - -#### Bloqueo de direcciones IP reservadas - -De forma predeterminada, los usuarios de Synthetic pueden crear tests Synthetic en endpoints utilizando cualquier dirección IP. Si quieres impedir que los usuarios creen tests en direcciones IP internas confidenciales de tu red, activa el botón **Block reserved IPs** (Bloquear IP reservadas) para bloquear un conjunto predeterminado de intervalos de direcciones IP reservadas ([registro de direcciones IPv4][6] y [registro de direcciones IPv6][7]) y configura el parámetro `enableDefaultBlockedIpRanges` asociado como `true` en el archivo de configuración generado. - -Si algunos de los endpoints a los que quieres hacer un test se encuentran dentro de uno o varios intervalos de direcciones IP reservadas bloqueadas, puedes añadir sus IP o CIDR a las listas de permisos para añadir los parámetros `allowedIPRanges` asociados al archivo de configuración generado. - -{{< img src="synthetics/private_locations/pl_reserved_ips_1.png" alt="Configurar direcciones IP reservadas" style="width:90%;">}} - -### Visualizar tu archivo de configuración - -Luego de añadir las opciones correspondientes al archivo de configuración de tu localización privada, puedes copiar y pegar este archivo en tu directorio de trabajo. El archivo de configuración contiene secretos para la autenticación de localizaciones privadas, el descifrado de configuraciones de tests y el cifrado de resultados de tests. - -{{< img src="synthetics/private_locations/pl_view_file_1.png" alt="Configurar direcciones IP reservadas" style="width:90%;">}} - -Como Datadog no almacena tus secretos, debes almacenarlos localmente antes de hacer clic en **View Installation Instructions** (Ver instrucciones de instalación). - -**Nota:** Debes poder volver a hacer referencia a estos secretos, si decides añadir más workers o instalar workers en otro host. - -### Instalación de tu localización privada - -Puedes utilizar las variables de entorno `DATADOG_API_KEY`, `DATADOG_ACCESS_KEY`, `DATADOG_SECRET_ACCESS_KEY`, `DATADOG_PUBLIC_KEY_PEM` y `DATADOG_PRIVATE_KEY` en tu definición de tarea. - -Inicia tu localización privada en: +Lance su ubicación privada en: {{< tabs >}} {{% tab "Docker" %}} -Ejecuta este comando para iniciar el worker de la localización privada montando tu archivo de configuración en el contenedor. Asegúrate de que tu archivo `.json` está en `/etc/docker` y no la carpeta de inicio raíz: +Ejecute este comando para iniciar su trabajador de ubicación privada montando su archivo de configuración en el contenedor. Asegúrese de que su `.json` archivo esté en `/etc/docker`, no en la carpeta raíz de inicio: ```shell docker run -d --restart unless-stopped -v $PWD/.json:/etc/datadog/synthetics-check-runner.json datadog/synthetics-private-location-worker:latest ``` -**Nota:** Si tienes direcciones IP bloqueadas reservadas, añade [funcionalidades de Linux] `NET_ADMIN`[26] a tu contenedor de localización privada. +**Nota:** Si ha bloqueado IPs reservadas, agregue las `NET_ADMIN` [capacidades de Linux][26] a su contenedor de ubicación privada. -Este comando inicia un contenedor Docker y prepara tu localización privada para realizar tests. **Datadog recomienda ejecutar el contenedor en modo independiente con la política de reinicio adecuada.** +Este comando inicia un contenedor de Docker y prepara su ubicación privada para ejecutar pruebas. **Datadog recomienda ejecutar el contenedor en modo desacoplado con una política de reinicio adecuada.** [26]: https://docs.docker.com/engine/containers/run/#runtime-privilege-and-linux-capabilities @@ -259,7 +194,7 @@ Este comando inicia un contenedor Docker y prepara tu localización privada para {{% tab "Docker Compose" %}} -1. Crea un archivo con `docker-compose.yml`: +1. Cree un archivo `docker-compose.yml` con: ```yaml version: "3" @@ -269,9 +204,9 @@ Este comando inicia un contenedor Docker y prepara tu localización privada para volumes: - PATH_TO_PRIVATE_LOCATION_CONFIG_FILE:/etc/datadog/synthetics-check-runner.json ``` - **Nota:** Si ha bloqueado IPs reservadas, añada las [Linux capacidades][26] de `NET_ADMIN` a su contenedor de ubicaciones privadas. + **Note:** If you have blocked reserved IPs, add the `NET_ADMIN` [Linux capabilities][26] to your private location container. -2. Empieza tu contenedor con: +2. Inicie su contenedor con: ```shell docker-compose -f docker-compose.yml up @@ -281,31 +216,31 @@ Este comando inicia un contenedor Docker y prepara tu localización privada para {{< /tab >}} {{% tab "Podman" %}} -La configuración de Podman es muy similar a Docker, sin embargo, debes configurar `NET_RAW` como una capacidad adicional para admitir tests de ICMP. +La configuración de Podman es muy similar a Docker; sin embargo, debe establecer `NET_RAW` como una capacidad adicional para soportar pruebas ICMP. -1. Ejecuta `sysctl -w "net.ipv4.ping_group_range = 0 2147483647"` desde el host donde se ejecuta el contenedor. -2. Ejecuta este comando para iniciar el worker de la localización privada montando tu archivo de configuración en el contenedor. Asegúrate de que tu archivo `.json` esté accesible para montarlo en el contendor: +1. Ejecute `sysctl -w "net.ipv4.ping_group_range = 0 2147483647"` desde el servidor donde se ejecuta el contenedor. +2. Ejecute este comando para iniciar su trabajador de ubicación privada montando su archivo de configuración en el contenedor. Asegúrese de que su archivo `.json` sea accesible para montarlo en el contenedor: ```shell podman run --cap-add=NET_RAW --rm -it -v $PWD/.json:/etc/datadog/synthetics-check-runner.json gcr.io/datadoghq/synthetics-private-location-worker:latest ``` - Si tienes direcciones IP reservadas bloqueadas configuradas, añade las funcionalidades de Linux `NET_ADMIN` a tu contenedor de localización privada. + Si ha configurado direcciones IP reservadas bloqueadas, agregue `NET_ADMIN` las capacidades de Linux a su contenedor de ubicación privada. -Este comando inicia un contenedor Podman y prepara tu localización privada para realizar tests. Datadog recomienda ejecutar el contenedor en modo independiente con la política de reinicio adecuada. +Este comando inicia un contenedor de Podman y prepara su ubicación privada para ejecutar pruebas. Datadog recomienda ejecutar el contenedor en modo desacoplado con una política de reinicio adecuada. {{< /tab >}} -{{% tab "Despliegue Kubernetes" %}} +{{% tab "Despliegue de Kubernetes" %}} -Para desplegar el worker de localizaciones privadas de forma segura, configura y monta un recurso de secreto de Kubernetes en el contenedor en `/etc/datadog/synthetics-check-runner.json`. +Para desplegar el trabajador de ubicación privada de manera segura, configure y monte un secreto de Kubernetes en el contenedor bajo `/etc/datadog/synthetics-check-runner.json`. -1. Crea un secreto de Kubernetes con el archivo JSON creado anteriormente, ejecutando lo siguiente: +1. Cree un secreto de Kubernetes con el archivo JSON creado previamente ejecutando lo siguiente: ```shell kubectl create secret generic private-location-worker-config --from-file=.json ``` -2. Utiliza despliegues para describir el estado deseado asociado a tus localizaciones privadas. Crea el siguiente archivo `private-location-worker-deployment.yaml`: +2. Utilice despliegues para describir el estado deseado asociado con sus ubicaciones privadas. Cree el siguiente archivo `private-location-worker-deployment.yaml`: ```yaml apiVersion: apps/v1 @@ -336,40 +271,40 @@ Para desplegar el worker de localizaciones privadas de forma segura, configura y secretName: private-location-worker-config ``` - **Nota:** Si tienes direcciones IP bloqueadas reservadas, añade [funcionalidades de Linux][26] `NET_ADMIN` a tu contenedor de localización privada. + **Note:** If you have blocked reserved IPs, add the `NET_ADMIN` [Linux capabilities][26] to your private location container. -3. Aplica la configuración: +3. Aplique la configuración: ```shell kubectl apply -f private-location-worker-deployment.yaml ``` -Para OpenShift, ejecuta la localización privada con el SCC `anyuid`. Esto es necesario para que se ejecute tu test de navegador. +Para OpenShift, ejecute la ubicación privada con el SCC `anyuid`. Esto es necesario para que su prueba de navegador se ejecute. [26]: https://docs.docker.com/engine/containers/run/#runtime-privilege-and-linux-capabilities {{< /tab >}} -{{% tab "Helm Chart" %}} +{{% tab "Chart de Helm" %}} -Puedes configurar variables de entorno en tus parámetros de configuración que apunten a secretos ya configurados. Para crear variables de entorno con secretos, consulta la [documentación de Kubernetes][3]. +Puede establecer variables de entorno en sus parámetros de configuración que apunten a secretos que ya ha configurado. Para crear variables de entorno con secretos, consulte la [documentación de Kubernetes][3]. -También puedes hacer lo siguiente: +Alternativamente: -1. Añade la [localización privada Synthetics de Datadog][2] a tus repositorios Helm: +1. Agregue la [Ubicación Privada de Datadog Synthetics][2] a sus repositorios de Helm: ```shell helm repo add datadog https://helm.datadoghq.com helm repo update ``` -2. Instala el chart con el nombre de la versión `` utilizando el archivo JSON creado anteriormente: +2. Instale el gráfico con el nombre de lanzamiento `` utilizando el archivo JSON creado previamente: ```shell helm install datadog/synthetics-private-location --set-file configFile=.json ``` -**Nota:** Si tienes direcciones IP bloqueadas reservadas, añade [funcionalidades de Linux] `NET_ADMIN`[26] a tu contenedor de localización privada. +**Nota:** Si ha bloqueado IPs reservadas, agregue `NET_ADMIN` las [capacidades de Linux][26] a su contenedor de ubicación privada. [2]: https://github.com/DataDog/helm-charts/tree/main/charts/synthetics-private-location [3]: https://kubernetes.io/docs/tasks/inject-data-application/distribute-credentials-secure/#define-container-environment-variables-using-secret-data @@ -379,7 +314,7 @@ También puedes hacer lo siguiente: {{% tab "ECS" %}} -Crea una nueva definición de tarea de EC2 que coincida con lo siguiente. Sustituye cada parámetro con el valor correspondiente de tu archivo de configuración de localización privada generado anteriormente: +Cree una nueva definición de tarea EC2 que coincida con lo siguiente. Reemplace cada parámetro con el valor correspondiente encontrado en su archivo de configuración de ubicación privada generado previamente: ```yaml { @@ -410,8 +345,8 @@ Crea una nueva definición de tarea de EC2 que coincida con lo siguiente. Sustit ``` **Notas:** -- Si tienes direcciones IP reservadas bloqueadas, configura un [parámetro de Linux][31] para conceder funcionalidades `NET_ADMIN` a tus contenedores de localización privada. -- Si utilizas las variables de entorno `DATADOG_API_KEY`, `DATADOG_ACCESS_KEY`, `DATADOG_SECRET_ACCESS_KEY`, `DATADOG_PUBLIC_KEY_PEM` y `DATADOG_PRIVATE_KEY`, no es necesario incluirlas en la sección `"command": [ ]`. +- Si ha bloqueado IPs reservadas, configure un [linuxParameters][31] para otorgar `NET_ADMIN` capacidades a sus contenedores de ubicación privada. +- Si utiliza las variables de entorno `DATADOG_API_KEY`, `DATADOG_ACCESS_KEY`, `DATADOG_SECRET_ACCESS_KEY`, `DATADOG_PUBLIC_KEY_PEM` y `DATADOG_PRIVATE_KEY`, no necesita incluirlas en la sección `"command": [ ]`. [31]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LinuxParameters.html @@ -419,7 +354,7 @@ Crea una nueva definición de tarea de EC2 que coincida con lo siguiente. Sustit {{% tab "Fargate" %}} -Crea una nueva definición de tarea de Fargate que coincida con lo siguiente. Sustituye cada parámetro con el valor correspondiente de tu archivo de configuración de localización privada generado anteriormente: +Cree una nueva definición de tarea Fargate que coincida con lo siguiente. Reemplace cada parámetro con el valor correspondiente encontrado en su archivo de configuración de ubicación privada generado previamente: ```yaml { @@ -450,13 +385,13 @@ Crea una nueva definición de tarea de Fargate que coincida con lo siguiente. Su } ``` -**Nota:** Como la opción de firewall de localización privada no es compatible con AWS Fargate, no es posible configurar el parámetro `enableDefaultBlockedIpRanges` como `true`. +**Nota:** Debido a que la opción de firewall de ubicación privada no es compatible con AWS Fargate, el parámetro `enableDefaultBlockedIpRanges` no puede establecerse en `true`. {{< /tab >}} {{% tab "Fargate con AWS Secret Manager" %}} -Crea un secreto en AWS Secret Manager para almacenar toda o parte de la configuración de localización privada generada anteriormente. Ten en cuenta que la `publicKey` no puede guardarse tal cual en el archivo de configuración. Por ejemplo: +Cree un secreto en el administrador de secretos de AWS para almacenar todo o parte de la configuración de ubicación privada generada previamente. Tenga en cuenta que el `publicKey` no puede mantenerse tal como está en el archivo de configuración. Por ejemplo: ```json { @@ -471,11 +406,11 @@ Crea un secreto en AWS Secret Manager para almacenar toda o parte de la configur } ``` -Se requieren permisos para permitir que la definición de tarea y la instancia de AWS Fargate lean en Secret Manager. Consulta [Especificación de datos confidenciales mediante secretos de Secret Manager en Amazon ECS][25] para obtener más información. +Se requieren permisos para permitir que la definición de tarea y la instancia de AWS Fargate lean del administrador de secretos. Consulte [Especificar datos sensibles utilizando secretos de Secrets Manager en Amazon ECS][25] para más información. -Crea una definición de tarea de Fargate que coincida con el siguiente ejemplo, sustituyendo los valores de la lista de secretos por el ARN del secreto que creaste en el paso anterior. Por ejemplo: `arn:aws:secretsmanager:::secret::::`. +Cree una definición de tarea de Fargate que coincida con el siguiente ejemplo, reemplazando los valores en la lista de secretos con el ARN del secreto que creó en el paso anterior. Por ejemplo: `arn:aws:secretsmanager:::secret::::`. -Si no guardaste toda la configuración en el gestor de secretos, aún puedes pasar el valor como argumentos de cadena hardcoded. +Si no guardó toda la configuración en el administrador de secretos, aún puede pasar el valor como argumentos de cadena codificados. ```yaml { @@ -537,7 +472,7 @@ Si no guardaste toda la configuración en el gestor de secretos, aún puedes pas } ``` -**Nota:** Como la opción de firewall de localización privada no es compatible con AWS Fargate, no es posible configurar el parámetro `enableDefaultBlockedIpRanges` como `true`. +**Nota:** Debido a que la opción de firewall de ubicación privada no es compatible con AWS Fargate, el parámetro `enableDefaultBlockedIpRanges` no puede establecerse en `true`. [25]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-tutorial.html @@ -545,15 +480,15 @@ Si no guardaste toda la configuración en el gestor de secretos, aún puedes pas {{% tab "EKS" %}} -Como Datadog ya se integra con Kubernetes y AWS, está preparado para monitorizar EKS. +Debido a que Datadog ya se integra con Kubernetes y AWS, está listo para monitorear EKS. -1. Crea un secreto de Kubernetes con el archivo JSON creado anteriormente, ejecutando lo siguiente: +1. Cree un secreto de Kubernetes con el archivo JSON creado anteriormente ejecutando lo siguiente: ```shell kubectl create secret generic private-location-worker-config --from-file=.json ``` -2. Utiliza despliegues para describir el estado deseado asociado a tus localizaciones privadas. Crea el siguiente archivo `private-location-worker-deployment.yaml`: +2. Utilice despliegues para describir el estado deseado asociado con sus ubicaciones privadas. Cree el siguiente archivo `private-location-worker-deployment.yaml`: ```yaml apiVersion: apps/v1 @@ -584,9 +519,9 @@ Como Datadog ya se integra con Kubernetes y AWS, está preparado para monitoriza name: private-location-worker-config ``` - **Nota:** Si tienes direcciones IP reservadas bloqueadas, configura un contexto de seguridad para conceder [funcionalidades de Linux][26] `NET_ADMIN` a tus contenedores de localización privada. + **Note:** If you have blocked reserved IPs, configure a security context to grant `NET_ADMIN` [Linux capabilities][26] to your private location containers. -3. Aplica la configuración: +3. Aplique la configuración: ```shell kubectl apply -f private-location-worker-deployment.yaml @@ -596,122 +531,133 @@ Como Datadog ya se integra con Kubernetes y AWS, está preparado para monitoriza {{< /tab >}} -{{% tab "Windows via GUI" %}} +{{% tab "Windows a través de la interfaz gráfica de usuario (GUI)" %}} + +1. Descargue el archivo [`datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi`][101] y ejecute este archivo desde la máquina en la que desea instalar la ubicación privada. +1. Haga clic en **Siguiente** en la página de bienvenida, lea el EULA y acepte los términos y condiciones. Haga clic en **Siguiente**. +1. Modifique dónde se instalará la aplicación, o deje la configuración predeterminada. Haga clic en **Siguiente**. +1. Para configurar su ubicación privada de Windows, puede optar por: + - Pegue e ingrese una configuración JSON para su Trabajador de Ubicación Privada de Datadog Synthetics. Este archivo es generado por Datadog cuando [cree una ubicación privada][102]. + - Navegue o escriba una ruta de archivo a un archivo que contenga una configuración JSON para su Trabajador de Ubicación Privada de Datadog Synthetics. + - Puede dejarlo en blanco y ejecutar `C:\\Program Files\Datadog-Synthetics\Synthetics\synthetics-pl-worker.exe --config=` en el símbolo del sistema de Windows después de que la instalación esté completa. -1. Descarga el archivo [`datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi`][101] y ejecútalo desde la máquina en la que deseas instalar la localización privada. -1. Haz clic en **Next** (Siguiente) en la página de bienvenida, lee el EULA y acepta los términos y condiciones. Luego, haz clic en **Next** (Siguiente). -1. Modifica dónde se instalará la aplicación o deja la configuración predeterminada. Haz clic en **Next** (Siguiente). -1. Para configurar tu localización Windows privada, puedes: - - Pegar e introducir una configuración JSON para tu worker de la localización privada Synthetics de Datadog. Este archivo es generado por Datadog cuando [creas una localización privada][102]. - - Busca o escribe una ruta de acceso a un archivo que contenga una configuración JSON para tu worker de la localización privada Synthetics de Datadog. - - Una vez finalizada la instalación, puedes dejarla en blanco y ejecutar `C:\\Program Files\Datadog-Synthetics\Synthetics\synthetics-pl-worker.exe --config=` en la línea de comandos Windows. + {{< img src="synthetics/private_locations/configuration_selector_paste.png" alt="Asistente de trabajador de Ubicación Privada Synthetics, instalador MSI. La opción 'Pegar en una configuración JSON' está seleccionada. Se muestra un campo de texto para esta configuración JSON." style="width:80%;" >}} - {{< img src="synthetics/private_locations/configuration_selector_paste.png" alt="Asistente del worker de la localización privada Synthetics, instalador MSI. La opción 'Pegar en una configuración JSON' está seleccionada. Se muestra un campo de texto para esta configuración JSON." style="width:80%;" >}} +1. Puede aplicar las siguientes opciones de configuración: -1. Puedes aplicar las siguientes opciones de configuración: + {{< img src="synthetics/private_locations/synthetics_pl_windows_fips.png" alt="Asistente de trabajador de Ubicación Privada Synthetics, instalador MSI. La configuración del modo criptográfico FIPS 140-2 se muestra." style="width:80%;" >}} - {{< img src="synthetics/private_locations/settings.png" alt="Asistente del worker de la localización privada Synthetics, instalador MSI. Se muestran los parámetros de firewalls y logs." style="width:80%;" >}} + Aplique las reglas de firewall necesarias para este programa en el Firewall de Windows. + : Permita que el instalador aplique las reglas de firewall durante la instalación y las elimine al desinstalar. - Aplica las reglas de firewall que necesita este programa a Windows Firewall - : Permite que el instalador aplique reglas de firewall durante la instalación y las elimine durante la desinstalación. + Aplique reglas para bloquear IPs reservadas en el Firewall de Windows. + : Configure reglas de bloqueo para Chrome, Firefox y Edge (si están instalados) y agregue reglas para bloquear rangos de direcciones IP reservadas salientes en el Firewall de Windows. - Aplica reglas para bloquear direcciones IP reservadas en Windows Firewall - : Configura reglas de bloqueo para Chrome, Firefox y Edge (si están instalados) y añade reglas para bloquear rangos de direcciones IP reservadas salientes en Windows Firewall. + Habilitar registro de archivos. + : Permita que el trabajador de ubicación privada de Synthetics registre archivos en el directorio de instalación. - Habilita el registro de archivos - : Permite que el worker de la localización privada Synthetics registre archivos en el directorio de instalación. + Días de rotación de registros. + : Especifica cuántos días mantener los registros antes de eliminarlos del sistema local. - Días de rotación de logs - : Especifica cuántos días conservar logs antes de eliminarlos del sistema local. + Verbosidad del registro. + : Especifica la verbosidad del registro en consola y archivos para el trabajador de ubicación privada de Synthetics. - Verbosidad del registro - : Especifica la verbosidad de la consola y el registro de archivos para el el worker de la localización privada Synthetics. + Habilitar modo criptográfico FIPS 140-2. + : Habilite módulos criptográficos compatibles con FIPS para comunicaciones seguras. El servidor de Windows debe estar ejecutándose en modo FIPS de Windows para usar esta opción. Disponible en Private Location v1.63.0 y superiores. -1. Haz clic en **Next** (Siguiente) e **Install** (Instalar) para iniciar el proceso de instalación. +1. Haga clic en **Siguiente** y **Instalar** para iniciar el proceso de instalación. -Una vez completado el proceso, haz clic en **Finish** (Finalizar) en la página de finalización de la instalación. +Una vez que el proceso esté completo, haga clic en **Finalizar** en la página de finalización de la instalación. -
Si introdujiste tu configuración JSON, el servicio de Windows comienza a ejecutarse utilizando esa configuración. Si no introdujiste tu configuración JSON, ejecuta C:\\Program Files\Datadog-Synthetics\Synthetics\synthetics-pl-worker.exe --config=< PathToYourConfiguration > desde un símbolo del sistema o utilice el acceso directo del menú de inicio para iniciar el worker de la localización privada Synthetics.
+
Si ingresó su configuración JSON, el servicio de Windows comenzará a ejecutarse utilizando esa configuración. Si no ingresó su configuración, ejecute C:\\Program Files\Datadog-Synthetics\Synthetics\synthetics-pl-worker.exe --config=< PathToYourConfiguration > desde un símbolo del sistema o use el start menu acceso directo para iniciar el Trabajador de Ubicación Privada de Synthetics.
[101]: https://ddsynthetics-windows.s3.amazonaws.com/datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi [102]: https://app.datadoghq.com/synthetics/settings/private-locations {{< /tab >}} -{{% tab "Windows via CLI" %}} +{{% tab "Windows a través de CLI" %}} -1. Descarga el archivo [`datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi`][101] y ejecútalo desde la máquina en la que deseas instalar la localización privada. -2. Ejecuta uno de los siguientes comandos dentro del directorio en el que descargaste el instalador. +1. Descargue el archivo [`datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi`][101] y ejecute este archivo desde la máquina en la que desea instalar la ubicación privada. +2. Ejecute uno de los siguientes comandos dentro del directorio donde descargó el instalador: - - En un terminal PowerShell: + - En una terminal de PowerShell: ```powershell - Start-Process msiexec "/i datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi /quiet /qn WORKERCONFIG_FILEPATH=C:\ProgramData\Datadog-Synthetics\worker-config.json"; + Start-Process msiexec "/i datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi /quiet /qn CONFIG_FILEPATH="; ``` - - O en un terminal de comandos: + - O en una terminal de comandos: ```cmd - msiexec /i datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi /quiet /qn WORKERCONFIG_FILEPATH=C:\ProgramData\Datadog-Synthetics\worker-config.json + msiexec /i datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi /quiet /qn CONFIG_FILEPATH= ``` -Se pueden añadir parámetros adicionales: +Se pueden agregar parámetros adicionales: -| Parámetro opcional | Definición | Valor | Valor por defecto | Tipo | +| Parámetro Opcional | Definición | Valor | Valor por Defecto | Tipo | |---|---|---|---|---| -| APPLYDEFAULTFIREWALLRULES | Aplica las reglas de firewall necesarias para el programa. | 1 | N/A | 0: Deshabilitado
1: Habilitado | -| APPLYFIREWALLDEFAULTBLOCKRULES | Bloquea las direcciones IP reservadas para cada navegador que tengas instalado (Chrome, Edge y Firefox). El bloqueo de conexiones loopback no es posible en Windows Firewall. | 0 | N/A | 0: Deshabilitado
1: Habilitado | -| LOGGING_ENABLED | Cuando se habilita, se configura el registro de archivos. Estos logs se almacenan en el directorio de instalación en la carpeta de logs. | 0 | `--enableFileLogging` | 0: Deshabilitado
1: Habilitado | -| LOGGING_VERBOSITY | Configura la verbosidad del registro para el programa. Esto afecta a la consola y a los logs de archivo. | Esto afecta a la consola y a los logs de archivo. | `-vvv` | `-v`: Error
`-vv`: Advertencia
`-vvv`: Información
`vvvv`: Depurar | -| LOGGING_MAXDAYS | Número de días para conservar logs de archivo en el sistema antes de eliminarlos. Puede ser cualquier número cuando se ejecuta una instalación desatendida. | 7 | `--logFileMaxDays` | Entero | -| WORKERCONFIG_FILEPATH | Debe cambiarse por la ruta a tu archivo de configuración JSON del worker de la localización privada Synthetics. Escriba esta ruta entre comillas, si la ruta contiene espacios. | | `--config` | Cadena | +| APPLYDEFAULTFIREWALLRULES | Aplica las reglas de firewall necesarias para el programa. | 1 | N/A | 0: Desactivado
1: Activado | +| APPLYFIREWALLDEFAULTBLOCKRULES | Bloquea las direcciones IP reservadas para cada navegador que tenga instalado (Chrome, Edge y Firefox). No es posible bloquear conexiones de loopback en el Firewall de Windows. | 0 | N/A | 0: Desactivado
1: Activado | +| LOGGING_ENABLED | Cuando está habilitado, esto configura el registro de archivos. Estos registros se almacenan en el directorio de instalación bajo la carpeta de registros. | 0 | `--enableFileLogging` | 0: Desactivado
1: Activado | +| LOGGING_VERBOSITY | Configura la verbosidad del registro para el programa. Esto afecta los registros de consola y de archivos. | Esto afecta los registros de consola y de archivos. | `-vvv` | `-v`: Error
`-vv`: Advertencia
`-vvv`: Información
`vvvv`: Depuración | +| LOGGING_MAXDAYS | Número de días para mantener los registros de archivos en el sistema antes de eliminarlos. Puede ser cualquier número al ejecutar una instalación desatendida. | 7 | `--logFileMaxDays` | Entero | +| CONFIG_FILEPATH | Esto debe cambiarse a la ruta de su archivo de configuración JSON del Trabajador de Ubicación Privada de Synthetics. Envuelva esta ruta entre comillas si su ruta contiene espacios. | | `--config` | Cadena | + +Para habilitar el modo criptográfico FIPS 140-2, establezca la variable de entorno `ENABLE_FIPS=1` antes de ejecutar el ejecutable del trabajador. El servidor de Windows debe estar ejecutándose en modo FIPS de Windows para usar esta opción. Disponible en Private Location v1.63.0 y superiores. + +Ejemplo: + +```cmd +set ENABLE_FIPS=1 && .\synthetics-pl-worker.exe --config "" +``` [101]: https://ddsynthetics-windows.s3.amazonaws.com/datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi {{< /tab >}} {{< /tabs >}} -Para obtener más información sobre parámetros de localizaciones privadas para administradores, consulta [Configuración][32]. +Para más información sobre los parámetros de ubicaciones privadas para administradores, consulte [Configuración][32]. -#### Certificados raíz +#### Certificados raíz {#root-certificates} -Puedes cargar certificados raíz personalizados en tus localizaciones privadas para que tus tests de API y de navegador realicen el enlace SSL utilizando tus propios archivos `.pem`. +Puede cargar certificados raíz personalizados en sus ubicaciones privadas para que sus pruebas de API y navegador realicen el SSL handshake utilizando sus propios `.pem` archivos. {{< tabs >}} -{{% tab "Contenedor Linux" %}} +{{% tab "Contenedor de Linux" %}} -A la hora de preparar tus contenedores de localizaciones privadas, monta los archivos `.pem` de certificado correspondientes en `/etc/datadog/certs` de la misma forma que el archivo de configuración de localización privada. Estos certificados se consideran CA de confianza y se utilizan en el tiempo de ejecución de test. +Al iniciar sus contenedores de ubicación privada, monte los archivos de certificado relevantes `.pem` en `/etc/datadog/certs` de la misma manera que monta su archivo de configuración de ubicación privada. Estos certificados son considerados CA de confianza y se utilizan en el tiempo de ejecución de las pruebas. -
Nota: Si combinas todos tus archivos .pem en un solo archivo, la secuencia de los certificados dentro del archivo es importante. Es necesario que el certificado intermedio preceda al certificado raíz para establecer correctamente una cadena de confianza.
+
Si combina todos sus .pem archivos en un solo archivo, la secuencia de los certificados dentro del archivo es importante. Es necesario que el certificado intermedio preceda al certificado raíz para establecer con éxito una cadena de confianza.
{{% /tab %}} -{{% tab "Windows service" %}} +{{% tab "Servicio de Windows" %}} -Para instalar certificados raíz para ubicaciones privadas en un servicio de Windows, sigue estos pasos: +Para instalar certificados raíz para ubicaciones privadas en un servicio de Windows, use los siguientes pasos: -1. Abre la aplicación de editor del registro. -2. Navega hasta la entrada `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\synthetics-private-location`. -3. Crea una clave de registro llamada `Environment` con el tipo de valor `Multi-string`. +1. Abra la aplicación del Editor del Registro. +2. Navegue a la entrada `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\synthetics-private-location`. +3. Cree una clave del Registro llamada `Environment` con el tipo de valor `Multi-string`. -
Nota: Tu certificado debe estar en la misma carpeta que tu servicio Synthetic Monitoring: -por defecto: C:\Program Files\Datadog-Synthetics\Synthetics.
+
Su certificado debe estar en la misma carpeta que su Servicio de Monitoreo Sintético: +predeterminado: C:\Program Files\Datadog-Synthetics\Synthetics.
-4. Fija el valor `NODE_EXTRA_CA_CERTS=C:\Program Files\Datadog-Synthetics\Synthetics\CACert.pem` +4. Establezca el valor `NODE_EXTRA_CA_CERTS=C:\Program Files\Datadog-Synthetics\Synthetics\CACert.pem` - {{< img src="synthetics/private_locations/windows_pl_set_service.png" alt="Tu descripción de imagen" style="width:100%;" >}} + {{< img src="synthetics/private_locations/windows_pl_set_service.png" alt="La descripción de su imagen" style="width:100%;" >}} -5. Abre la aplicación de servicios y vuelve a cargar el servicio de localización privada de Datadog Synthetic Monitoring. +5. Abra la aplicación de Servicios y recargue el servicio de Ubicación Privada de Monitoreo Sintético de Datadog. {{% /tab %}} -{{% tab "Windows standalone" %}} +{{% tab "Windows independiente" %}} -Para instalar certificados raíz para localizaciones privadas en un proceso independiente de Windows con `synthetics-private-location.exe`, sigue estos pasos: +Para instalar certificados raíz para ubicaciones privadas en un proceso independiente de Windows con `synthetics-private-location.exe`, utilice los siguientes pasos: -1. Abre el símbolo del sistema Windows o PowerShell. +1. Abra su símbolo del sistema de Windows o PowerShell. -2. Establece la variable de entorno y llama al ejecutable. +2. Establezca la variable de entorno y llame al ejecutable. Ejemplo: @@ -719,14 +665,22 @@ Ejemplo: set NODE_EXTRA_CA_CERTS=C:\Program Files\Datadog-Synthetics\Synthetics\CACert.pem && .\synthetics-private-location.exe --config "C:\ProgramData\Datadog-Synthetics\Synthetics\worker-config.json" ``` +Para habilitar el modo criptográfico FIPS 140-2, incluya `ENABLE_FIPS=1`: + +```text +set ENABLE_FIPS=1 && set NODE_EXTRA_CA_CERTS=C:\Program Files\Datadog-Synthetics\Synthetics\CACert.pem && .\synthetics-private-location.exe --config "C:\ProgramData\Datadog-Synthetics\Synthetics\worker-config.json" +``` + +El servidor de Windows debe estar ejecutándose en modo FIPS de Windows para usar esta opción. Disponible en Private Location v1.63.0 y superiores. + {{% /tab %}} {{< /tabs >}} -#### Configurar sondeos de ejecución y preparación +#### Configure las sondas de disponibilidad y preparación {#set-up-liveness-and-readiness-probes} -Añade un sondeo de ejecución o preparación para que tu orquestador pueda garantizar el correcto funcionamiento de los workers. +Agregue una sonda de disponibilidad o preparación para que su orquestador pueda asegurar que los trabajadores estén funcionando correctamente. -Para los sondeos de preparación, debes habilitar sondeos de estado de localización privada en el puerto `8080` en tu implementación de localización privada. Para obtener más información, consulta [Configuración de localizaciones privadas][5]. +Para las sondas de preparación, necesita habilitar las sondas de estado de ubicación privada en el puerto `8080` en su implementación de ubicación privada. Para más información, consulte [Configuración de Ubicaciones Privadas][5]. {{< tabs >}} @@ -745,7 +699,7 @@ healthcheck: {{% /tab %}} -{{% tab "Despliegue Kubernetes" %}} +{{% tab "Despliegue de Kubernetes" %}} ```yaml livenessProbe: @@ -766,7 +720,7 @@ readinessProbe: {{% /tab %}} -{{% tab "Helm Chart" %}} +{{% tab "Gráfico de Helm" %}} ```yaml livenessProbe: @@ -841,13 +795,13 @@ readinessProbe: {{% /tab %}} {{< /tabs >}} -#### Configuraciones de checks de estado adicionales +#### Configuraciones adicionales de verificación de salud {#additional-health-check-configurations} -
Este método de añadir checks de estado de localizaciones privadas ya no es compatible. Datadog recomienda utilizar sondeos de ejecución y preparación.
+
Este método de agregar verificaciones de salud de ubicación privada ya no es compatible. Datadog recomienda usar sondas liveness y readiness.
-El archivo `/tmp/liveness.date` de contenedores de localización privada se actualiza después de cada análisis que se realiza correctamente desde Datadog (por defecto, 2s). Se considera que el estado del contenedor no es adecuado si ha pasado tiempo sin realizar ningún análisis, por ejemplo: sin recuperación en el último minuto. +El archivo `/tmp/liveness.date` de contenedores de ubicación privada se actualiza después de cada sondeo exitoso de Datadog (2s por defecto). El contenedor se considera no saludable si no se ha realizado un sondeo en un tiempo, por ejemplo: sin obtención en el último minuto. -Utiliza la siguiente configuración para configurar checks de estado en tus contenedores con el `livenessProbe`: +Utiliza la configuración a continuación para establecer verificaciones de salud en tus contenedores con `livenessProbe`: {{< tabs >}} @@ -866,7 +820,7 @@ healthcheck: {{% /tab %}} -{{% tab "Despliegue Kubernetes" %}} +{{% tab "Despliegue de Kubernetes" %}} ```yaml livenessProbe: @@ -883,7 +837,7 @@ livenessProbe: {{% /tab %}} -{{% tab "Helm Chart" %}} +{{% tab "Gráfico de Helm" %}} ```yaml livenessProbe: @@ -951,88 +905,89 @@ livenessProbe: {{< /tabs >}} -### Actualizar una imagen de localización privada +### Actualiza una imagen de ubicación privada {#upgrade-a-private-location-image} -Para actualizar una localización privada existente, haga clic en el icono del **engranaje** del panel lateral de la localización privada y haz clic en **Installation instructions** (Instrucciones de instalación). +Para actualizar una ubicación privada existente, haga clic en el ícono de **Engranaje** en el panel lateral de ubicación privada y haga clic en **Instrucciones de instalación**. -{{< img src="synthetics/private_locations/pl_edit_config.png" alt="Acceder al flujo (flow) de trabajo de una localización privada" style="width:90%;" >}} +{{< img src="synthetics/private_locations/pl_edit_config.png" alt="Acceda al flujo de trabajo de configuración para una ubicación privada" style="width:90%;" >}} -A continuación, ejecuta el [comando de configuración basado en tu entorno](#install-your-private-location) para obtener la versión más reciente de la imagen de localización privada. +Luego, ejecute el comando de configuración [ basado en su entorno](#install-your-private-location) para obtener la última versión de la imagen de ubicación privada. -**Nota**: Si estás utilizando `docker run` para iniciar la imagen de tu localización privada y ya has instalado la imagen de la localización privada utilizando la etiqueta `latest`, asegúrate de añadir `--pull=always` al comando `docker run` para asegurarte de que se extraiga la última versión, en lugar de depender de la versión en caché de la imagen que pueda existir localmente con la misma etiqueta `latest`. +**Nota**: Si está utilizando `docker run` para lanzar su imagen de ubicación privada y ha instalado previamente la imagen de ubicación privada usando la etiqueta `latest`, asegúrese de agregar `--pull=always` al comando `docker run` para garantizar que se obtenga la versión más nueva en lugar de depender de la versión en caché de la imagen que pueda existir localmente con la misma etiqueta `latest`. -### Realizar un test de tu endpoint interno +### Pruebe su punto de conexión interno {#test-your-internal-endpoint} -Una vez que al menos un worker de la localización privada comienza a informar a Datadog, el estado de la localización privada aparece en verde. +Una vez que al menos un trabajador de ubicación privada comience a reportar a Datadog, el estado de la ubicación privada se muestra en verde. -{{< img src="synthetics/private_locations/pl_reporting.png" alt="Localización privada informando" style="width:90%;">}} +{{< img src="synthetics/private_locations/pl_reporting.png" alt="Reporte de ubicación privada" style="width:90%;">}} -Puedes ver el estado de `REPORTING` y el estado de un monitor asociado mostrados en la lista de localizaciones privadas lista en la página **Parámetros**. +Puedes ver un estado de salud `REPORTING` y un estado de monitor asociado en la lista de Ubicaciones Privadas en la página de **Configuraciones**. -{{< img src="synthetics/private_locations/pl_monitoring_table_reporting_1.png" alt="Estado de la localización privada y estado del monitor" style="width:100%;">}} +{{< img src="synthetics/private_locations/pl_monitoring_table_reporting_1.png" alt="Estado de salud y monitor de ubicación privada" style="width:100%;">}} -Empieza realizando un test de tu primer endpoint interno ejecutando un test rápido en uno de tus endpoints internos para ver si obtienes la respuesta esperada: +Comience a probar su primer punto de conexión interno lanzando una prueba rápida en uno de sus puntos de conexión internos para ver si obtiene la respuesta esperada: -{{< img src="synthetics/private_locations/pl_fast_test.mp4" alt="Test rápido de una localización privada" video="true" width="90%">}} +{{< img src="synthetics/private_locations/pl_fast_test.mp4" alt="Prueba rápida en ubicación privada" video="true" width="90%">}} -**Nota:** Datadog sólo transmite tráfico saliente desde tu localización privada, pero no transmite tráfico entrante. +**Nota:** Datadog solo envía tráfico saliente desde su ubicación privada, no se transmite tráfico entrante. -## Iniciar tests Synthetic desde tu localización privada +## Lance pruebas sintéticas desde su ubicación privada {#launch-synthetic-tests-from-your-private-location} -Crea un test de API, de API de varios pasos o de navegador y selecciona tus **Localizaciones privadas** elegidas. +Cree una prueba de API, API de múltiples pasos o prueba de navegador, y seleccione sus **Ubicaciones Privadas** de interés. -{{< img src="synthetics/private_locations/assign-test-pl-2.png" alt="Asignar un test Synthetic a una localización privada" style="width:90%;">}} +{{< img src="synthetics/private_locations/assign-test-pl_3.png" alt="Asigne prueba Synthetic a ubicación privada" style="width:90%;">}} -Utiliza localizaciones privadas de la misma forma que utilizas tus localizaciones gestionadas de Datadog: asigna [tests de Synthetic][29] a localizaciones privadas, visualiza resultados de test, obtén [métricas de Synthetic][11], etc. +Utilice ubicaciones privadas de la misma manera que sus ubicaciones gestionadas por Datadog: asigne [Synthetic tests][29] a ubicaciones privadas, visualice los resultados de las pruebas, recupere [Synthetic metrics][11] y más. -## Escalar tu localización privada +## Escale su ubicación privada {#scale-your-private-location} -Dado que puedes ejecutar varios workers para una única localización privada con un único archivo de configuración, puedes **escalar horizontalmente** tus localizaciones privadas añadiéndoles o quitándoles workers. Al hacerlo, asegúrate de configurar un parámetro `concurrency` y asignar recursos de worker que correspondan a los tipos y número de tests que quieres que ejecute tu localización privada. +Debido a que puede ejecutar varios trabajadores para una sola ubicación privada con un único archivo de configuración, puede **escalar horizontalmente** sus ubicaciones privadas añadiendo o eliminando trabajadores de ellas. Al hacerlo, asegúrese de establecer un `concurrency` parámetro y asignar recursos de trabajadores que sean consistentes con los tipos y el número de pruebas que desea que su ubicación privada ejecute. -También puedes **escalar verticalmente** tus localizaciones privadas aumentando la carga que tus workers de localización privada pueden manejar. Del mismo modo, debes utilizar el parámetro `concurrency` para ajustar el número máximo de tests que tus workers pueden ejecutar y actualizar los recursos asignados a tus workers. +También puede **escalar verticalmente** sus ubicaciones privadas aumentando la carga que sus trabajadores de ubicación privada pueden manejar. De manera similar, debe usar el parámetro `concurrency` para ajustar el número máximo de pruebas que sus trabajadores pueden ejecutar y actualizar los recursos asignados a ellos. -Para obtener más información, consulta [Dimensionar tus localizaciones privadas][18]. +Para más información, consulte [Dimensionamiento de Ubicaciones Privadas][18]. -Para utilizar localizaciones privadas para tests continuos, define un valor en el parámetro `concurrency` para controlar tu paralelización. Para obtener más información, consulta [Tests continuos][23]. +Para utilizar ubicaciones privadas para Continuous Testing, establezca un valor en el `concurrency` parámetro para controlar su paralelización. Para más información, consulte [Continuous Testing][23]. -## Monitorizar tu localización privada +## Realice el seguimiento de su ubicación privada {#monitor-your-private-location} -Mientras añades inicialmente recursos que se ajustan al número y tipo de tests que se van a ejecutar desde tu localización privada, la forma más sencilla de saber si vas a tener que reducir o ampliar la escala de tu localización privada es monitorizarlos con detalle. En [Monitorización de localizaciones privadas][19] encontrarás información sobre el rendimiento y estado de tu localización privada, además de métricas y monitores predefinidos. +Mientras inicialmente añade recursos que son consistentes con el número y tipo de pruebas a ejecutar desde su ubicación privada, la forma más fácil de saber si debe reducir o aumentar la escala de su ubicación privada es monitorearlos de cerca. [Seguimiento de Ubicaciones Privadas][19] proporciona información sobre el rendimiento y el estado de su ubicación privada, así como métricas y Monitors listos para usar. -Para obtener más información, consulta [Monitorización de localizaciones privadas][19]. +Para más información, consulte [Seguimiento de Ubicaciones Privadas][19]. -## Permisos +## Permisos {#permissions} -De forma predeterminada, sólo los usuarios que tienen el rol de administrador de Datadog pueden crear localizaciones privadas, eliminarlas y acceder a directrices para instalarlas. +Por defecto, solo los usuarios con el Rol de Datadog Admin pueden crear ubicaciones privadas, eliminar ubicaciones privadas y acceder a las pautas de instalación de ubicaciones privadas. -Los usuarios que tienen el [rol de administrador de Datadog y el rol estándar de Datadog][20] pueden visualizar localizaciones privadas, buscarlas y asignarles tests Synthetic. Para conceder acceso a la página [**Localizaciones privadas**][22], actualiza tu usuario a uno de estos dos [roles predeterminados][19]. +Los usuarios con los [roles de Datadog Admin y Datadog Standard][20] pueden ver ubicaciones privadas, buscar ubicaciones privadas y asignar pruebas Synthetic a ubicaciones privadas. Conceda acceso a la [**página de Ubicaciones Privadas**][22] actualizando su usuario a uno de estos dos [roles predeterminados][19]. -Si utilizas la [función de rol personalizado][21], añade tu usuario a un rol personalizado que incluya los permisos `synthetics_private_location_read` y `synthetics_private_location_write`. +Si está utilizando la [función de rol personalizado][21], añada su usuario a un rol personalizado que incluya permisos de `synthetics_private_location_read` y `synthetics_private_location_write`. -
Nota: Si un test incluye localizaciones privadas restringidas, la actualización de test elimina dichas localizaciones de test.
+
Si una prueba incluye ubicaciones privadas restringidas, actualizar la prueba elimina esas ubicaciones de la prueba.
-## Restringir el acceso +## Restringir acceso {#restrict-access} -Utiliza el [control de acceso granular][24] para limitar quién tiene acceso a tu test en función de roles, equipos o usuarios individuales: +Utilice [control de acceso granular][24] para limitar quién tiene acceso a su prueba según roles, equipos o usuarios individuales: -1. Abre la sección de permisos del formulario. -2. Haz clic en **Edit Access** (Editar acceso). - {{< img src="synthetics/settings/grace_2.png" alt="Establecer permisos para tu test en el formulario de configuración de Localizaciones privadas" style="width:100%;" >}} -3. Haz clic en **Restrict Access** (Restringir el acceso). -4. Selecciona equipos, roles o usuarios. -5. Haz clic en **Add** (Añadir). -6. Selecciona el nivel de acceso que deseas asociar a cada uno de ellos. -7. Haz clic en **Done** (Listo). +1. Abra la sección de permisos del formulario. +2. Haga clic en **Editar Acceso**. + {{< img src="synthetics/settings/grace_2.png" alt="Establezca permisos para su prueba desde el formulario de configuración de Ubicaciones Privadas." style="width:100%;" >}} +3. Haga clic en **Restringir Acceso**. +4. Seleccione equipos, roles o usuarios. +5. Haga clic en **Agregar**. +6. Seleccione el nivel de acceso que desea asociar con cada uno de ellos. +7. Haga clic en **Listo**. -
Nota: Puedes ver los resultados de una localización privada incluso sin tener acceso a esa localización privada.
+
Puede ver resultados de una Ubicación Privada incluso sin acceso de visualización a esa Ubicación Privada.

+Restringir una Ubicación Privada puede impedir que otros usuarios la agreguen a una prueba o la editen, pero aún podrán ver el nombre de la ubicación si fue agregada a una prueba por un usuario autorizado.
-| Nivel de acceso | Ver instrucciones de PL | Ver métricas de PL | Utilizar PL en el test | Editar la configuración de PL | +| Nivel de acceso | Ver instrucciones de PL | Ver métricas de PL | Usar PL en prueba | Editar configuración de PL | | ------------ | ---------------------| --------------- | -------------- | ---------------------- | | Sin acceso | | | | | -| Visor | {{< X >}} | {{< X >}} | {{< X >}} | | +| Viewer | {{< X >}} | {{< X >}} | {{< X >}} | | | Editor | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -1062,4 +1017,5 @@ Utiliza el [control de acceso granular][24] para limitar quién tiene acceso a t [29]: /es/synthetics/ [30]: https://github.com/DataDog/helm-charts/tree/master/charts/synthetics-private-location [31]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LinuxParameters.html -[32]: /es/synthetics/platform/private_locations/configuration \ No newline at end of file +[32]: /es/synthetics/platform/private_locations/configuration +[33]: /es/synthetics/guide/kerberos-authentication/ \ No newline at end of file diff --git a/content/es/tests/_index.md b/content/es/tests/_index.md index 52415dec007..e6182b8eea0 100644 --- a/content/es/tests/_index.md +++ b/content/es/tests/_index.md @@ -4,55 +4,67 @@ aliases: - /es/continuous_integration/guides/test_configurations/ - /es/continuous_integration/integrate_tests/ - /es/continuous_integration/tests/ +- /es/tests/repositories/ +- /es/tests/search/ cascade: algolia: rank: 70 tags: - - test ci - - tests ci - - optimización de tests - - visibilidad de tests - - test fallido + - ci test + - ci tests + - test optimization + - test visibility + - failed test - flaky test - - funciones compatibles + - supported features site_support_id: test_optimization further_reading: +- link: https://learn.datadoghq.com/courses/getting-started-test-optimization + tag: Centro de Aprendizaje + text: Introducción a Test Optimization - link: https://app.datadoghq.com/release-notes?category=Software%20Delivery - tag: Notas de versiones - text: ¡Echa un vistazo a las últimas versiones de entrega de software! (Es necesario - iniciar sesión en la aplicación) + tag: Notas de la Versión + text: ¡Consulta las últimas versiones de Software Delivery! (Se requiere inicio + de sesión en la aplicación) - link: https://www.datadoghq.com/blog/datadog-ci-visibility/ tag: Blog - text: Monitoriza tus pipelines CI y tests con Datadog CI Visibility + text: Monitorea tus pipelines de CI y pruebas con Datadog CI Visibility - link: https://www.datadoghq.com/blog/ci-test-visibility-with-rum/ tag: Blog - text: Solución de problemas en tests de extremo a extremo con CI Visibility y RUM + text: Soluciona problemas de pruebas de extremo a extremo con CI Visibility y RUM - link: /monitors/types/ci/ tag: Documentación - text: Más información sobre monitores de tests de CI + text: Aprende sobre Monitores de Pruebas de CI - link: /tests/flaky_test_management/ tag: Documentación - text: Más información sobre gestión de tests defectuosos + text: Aprende sobre la Gestión de Pruebas Inestables - link: /tests/browser_tests/ tag: Documentación - text: Aprende a Instrumentar tus tests de navegador con RUM + text: Aprende cómo instrumentar tus pruebas de navegador con RUM - link: /tests/troubleshooting/ tag: Documentación - text: Aprende a solucionar problemas de optimización de tests + text: Aprende cómo solucionar problemas de Test Optimization - link: https://www.datadoghq.com/blog/gitlab-source-code-integration tag: Blog - text: Solucionar problemas más rápidamente con la integración de GitLab Source Code + text: Soluciona problemas más rápido con la integración de Código Fuente de GitLab en Datadog -title: Optimización de tests en Datadog +- link: https://www.datadoghq.com/blog/dbt-data-quality-testing + tag: Blog + text: Implementa verificaciones de calidad de datos de dbt con dbt-expectations +title: Test Optimization en Datadog --- +{{< learning-center-callout header="Intenta comenzar con Test Optimization en el Centro de Aprendizaje" btn_title="Inscríbete Ahora" btn_url="https://learn.datadoghq.com/courses/getting-started-test-optimization">}} + Aprende cómo acelerar tus pipelines de CI configurando el monitoreo de pruebas, identificando pruebas inestables y utilizando el Análisis de Impacto de Pruebas para ejecutar solo las pruebas que importan. +{{< /learning-center-callout >}} + -## Información general +## Resumen {#overview} -La [optimización de tests][1] ofrece una vista del estado de tu CI que prioriza los tests al mostrar métricas y resultados importantes de tus tests. Puede ayudarte a investigar los problemas de rendimiento y las fallas de tests que son más relevantes para tu trabajo, centrándose en el código del que eres responsable, en lugar de en los procesos que ejecutan tus pruebas. +[Test Optimization][1] proporciona una vista de prueba primero sobre la salud de tu CI al mostrar métricas importantes y resultados de tus pruebas. Puede ayudarte a investigar problemas de rendimiento y fallos de pruebas que son más relevantes para tu trabajo, enfocándose en el código del que eres responsable, en lugar de los pipelines que ejecutan tus pruebas. -## Instalación +## Configuración {#setup} -Selecciona una opción para configurar la optimización de tests en Datadog: +Selecciona una opción para configurar Test Optimization en Datadog: {{< card-grid card_width="75px" >}} {{< image-card href="/tests/setup/dotnet/" src="integrations_logos/dotnet_avatar.svg" alt=".net" >}} @@ -62,125 +74,125 @@ Selecciona una opción para configurar la optimización de tests en Datadog: {{< image-card href="/tests/setup/ruby/" src="integrations_logos/ruby_avatar.svg" alt="ruby" >}} {{< image-card href="/tests/setup/swift/" src="integrations_logos/swift_avatar.svg" alt="swift" >}} {{< image-card href="/tests/setup/go/" src="integrations_logos/golang-avatar.png" alt="go" >}} - {{< image-card href="/tests/setup/junit_xml/" src="integrations_logos/junit_xml.png" alt="upload junit tests to datadog" >}} + {{< image-card href="/tests/setup/junit_xml/" src="integrations_logos/junit_xml.png" alt="subir pruebas junit a datadog" >}} {{< /card-grid >}}
-Además de los tests, la optimización de tests proporciona visibilidad para toda la fase de tests de tu proyecto. +Además de las pruebas, Test Optimization proporciona visibilidad sobre toda la fase de pruebas de tu proyecto. -### Funciones compatibles +### Características soportadas {#supported-features} -| | .NET | Java/JVM‑based | JavaScript | Python | Ruby | Swift | Go | JUnit Xml | +| | .NET | Java/JVM‑basado | Javascript | Python | Ruby | Swift | Go | JUnit Xml | |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------:|:--------------------:|:----------------------:|:---------:|:---------------------:|:---------:|:---------:|:----------------------:| -| {{< ci-details title="Resultados precisos de tiempo/duración" >}}Resolución de microsegundos en el tiempo de inicio y duración del test.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Trazas distribuidas en tests de integración" >}}Los tests que realizan llamadas a servicios externos instrumentados con Datadog muestran la traza (trace) distribuida completa en tus detalles del test.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Informes basados ​​en el Agent" >}}Capacidad de brindar información de tests a través del Datadog Agent.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Informes sin Agent" >}}Capacidad de brindar información de tests sin el Datadog Agent.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -| {{< ci-details title="Visibilidad a nivel de conjunto de tests" >}}Visibilidad para todo el proceso de prueba, incluidas sesiones, módulos, conjuntos y tests.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -| {{< ci-details title="API manual" >}}Capacidad de crear mediante programación eventos de visibilidad de CI para frameworks de test que no son compatibles con la instrumentación automática de Datadog.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | | -| {{< ci-details title="Propietario de código por test" >}}Detección automática del propietario de un archivo de test basado en el archivo CODEOWNERS.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} (parcialmente) | -| {{< ci-details title="Inicio/fin del código fuente" >}}Informe automático de las líneas de inicio y final de un test.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} (solo inicio) | {{< X >}} | {{< X >}} (solo inicio)| {{< X >}} | {{< X >}} | {{< X >}} (solo inicio) | -| {{< ci-details title="CI e información de Git" >}}Recopilación automática de metadatos del entorno de Git y CI, como el proveedor de CI, el SHA de confirmación de Git o la URL del pipeline.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -| {{< ci-details title="Carga de metadatos de Git" >}}Carga automática de la información del árbol de Git utilizada para el Análisis del impacto de los tests.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -| {{< ci-details title="Análisis del impacto de tests*" >}}Capacidad para habilitar el Análisis del impacto de los tests, que omite de forma inteligente los tests en función de la cobertura del código y los metadatos de Git.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Soporte de cobertura de código" >}}Capacidad para brindar información de las métricas de cobertura de código total.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} (manual) | -| {{< ci-details title="Soporte de tests de referencia" >}}Detección automática de estadísticas de rendimiento para tests de referencia.{{< /ci-details >}} | {{< X >}} | | | {{< X >}} | | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Tests parametrizados" >}}Detección automática de tests parametrizados.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | -| {{< ci-details title="Detección temprana de defectos*" >}}Repetir tests nuevos automáticamente para detectar defectos.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Repetir tests automáticamente*" >}}Repetir tests fallidos automáticamente hasta N veces para evitar que la compilación falle debido a defectos en los tests.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Failed test replay *" >}}Acceder a información local variable en tests fallidos reintentados.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | | | | -| {{< ci-details title="Integración de Selenium RUM" >}}Vincular sesiones del navegador a casos de testsautomáticamente al probar aplicaciones instrumentadas con RUM.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | | +| {{< ci-details title="Resultados precisos de tiempo/duraciones" >}}Resolución en microsegundos en el tiempo de inicio de la prueba y duración.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Trazas distribuidas en pruebas de integración" >}}Las pruebas que realizan llamadas a servicios externos instrumentados con Datadog muestran la traza distribuida completa en los detalles de su prueba.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Informes basados en agentes" >}}Capacidad para informar información de pruebas a través del Agente de Datadog.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Informes sin agente" >}}Capacidad para informar información de pruebas sin el Agente de Datadog.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | +| {{< ci-details title="Visibilidad a nivel de conjunto de pruebas" >}}Visibilidad sobre todo el proceso de prueba, incluyendo sesión, módulo, conjuntos de pruebas y pruebas.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | +| {{< ci-details title="API manual" >}}Capacidad para crear eventos de CI Visibility programáticamente para frameworks de prueba que no son compatibles con la instrumentación automática de Datadog.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | | +| {{< ci-details title="Propietario de código por prueba" >}}Detección automática del propietario de un archivo de prueba basado en el archivo CODEOWNERS.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} (parcialmente) | +| {{< ci-details title="Inicio/final del código fuente" >}}Informe automático de las líneas de inicio y final de una prueba.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} (solo inicio) | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} (solo inicio) | +| {{< ci-details title="Información de CI y git" >}}Colección automática de metadatos del entorno de git y CI, como proveedor de CI, SHA de commit de git o URL de pipeline.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | +| {{< ci-details title="Carga de metadatos de git" >}}Carga automática de información del árbol de git utilizada para Test Impact Analysis.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | +| {{< ci-details title="Test Impact Analysis *" >}}Capacidad para habilitar Test Impact Analysis, que omite inteligentemente pruebas basadas en la cobertura de código y metadatos de git.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Soporte de cobertura de código" >}}Capacidad para reportar métricas de cobertura total de código.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} (manual) | +| {{< ci-details title="Soporte para pruebas de referencia" >}}Detección automática de estadísticas de rendimiento para pruebas de referencia.{{< /ci-details >}} | {{< X >}} | | | {{< X >}} | | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Pruebas parametrizadas" >}}Detección automática de pruebas parametrizadas.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | +| {{< ci-details title="Detección temprana de fallos *" >}}Automáticamente reintentar nuevas pruebas para detectar inestabilidad.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Reintentos automáticos de pruebas *" >}}Automáticamente reintentar pruebas fallidas hasta N veces para evitar que la construcción falle debido a inestabilidad en las pruebas.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Reproducción de pruebas fallidas *" >}}Acceder a información de variables locales en pruebas fallidas reintentadas.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | | | | +| {{< ci-details title="Integración de Selenium RUM" >}}Automáticamente vincula sesiones del navegador a casos de prueba al probar aplicaciones instrumentadas con RUM.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | | -\* Esta función es opcional y debe activarse en la [página **Test Optimization Settings**][2] (Configuración de Test Optimization). +\* La función es opcional y debe habilitarse en la página de [**Test Optimization Settings**][2]. -## Configuraciones por defecto +## Configuraciones predeterminadas {#default-configurations} -Los tests evalúan el comportamiento del código para un conjunto de condiciones dadas. Algunas de esas condiciones están relacionadas con el entorno en el que se ejecutan los tests, como el sistema operativo o el entorno de ejecución utilizado. El mismo código ejecutado bajo diferentes conjuntos de condiciones puede comportarse de manera diferente, por lo que los desarrolladores generalmente configuran sus tests para que se ejecuten en diferentes conjuntos de condiciones y validan que el comportamiento sea el esperado para todas ellas. Este conjunto específico de condiciones se denomina *configuración*. +Las pruebas evalúan el comportamiento del código para un conjunto de condiciones dadas. Algunas de esas condiciones están relacionadas con el entorno donde se ejecutan las pruebas, como el sistema operativo o el sistema de ejecución utilizado. El mismo código ejecutado bajo diferentes conjuntos de condiciones puede comportarse de manera diferente, por lo que los desarrolladores suelen configurar sus pruebas para ejecutarse en diferentes conjuntos de condiciones y validar que el comportamiento sea el esperado en todos ellos. Este conjunto específico de condiciones se llama *configuración*. -En la optimización de tests, un test con varias configuraciones se trata como varios tests con un test independiente para cada configuración. En el caso de que una de las configuraciones falle, pero las otras no, solo esa combinación específica de test y configuración se marca como fallida. +En Test Optimization, una prueba con múltiples configuraciones se trata como múltiples pruebas, con una prueba separada para cada configuración. En el caso de que una de las configuraciones falle pero las otras pasen, solo esa combinación específica de prueba y configuración se marca como fallida. -Por ejemplo, supongamos que estás probando una única confirmación y tienes un test de Python que se ejecuta en tres versiones diferentes de Python. Si el test falla en una de esas versiones, ese test específico se marca como fallido, mientras que las otras versiones se marcan como aprobadas. Si repites los tests en la misma confirmación y ahora el test para las tres versiones de Python no falla, el test con la versión que falló anteriormente se marcará como aprobado y con defectos, mientras que las otras dos versiones permanecen aprobadas, sin que se detecte ninguna falla. +Por ejemplo, supongamos que estás probando un solo commit y tienes una prueba en Python que se ejecuta contra tres versiones diferentes de Python. Si la prueba falla para una de esas versiones, esa prueba específica se marca como fallida, mientras que las otras versiones se marcan como pasadas. Si vuelves a intentar las pruebas contra el mismo commit y ahora la prueba para las tres versiones de Python pasa, la prueba con la versión que falló anteriormente se marca ahora como pasada e inestable, mientras que las otras dos versiones permanecen pasadas, sin detectar inestabilidad. -### Probar los atributos de configuración +### Atributos de configuración de prueba {#test-configuration-attributes} -Cuando ejecutas tus tests con la optimización de tests, la biblioteca detecta e informa sobre el entorno en el que se ejecutan los tests como etiquetas (tags) de test. Por ejemplo, el nombre del sistema operativo, como `Windows` o `Linux`, y la arquitectura de la plataforma, como `arm64` o `x86_64`, se agregan como etiquetas en cada test. Estos valores se muestran en las páginas de confirmación y de información general de la rama cuando un test falla o es defectuoso para una configuración específica, pero no para otras. +Cuando ejecutas tus pruebas con Test Optimization, la biblioteca detecta e informa información sobre el entorno donde se ejecutan las pruebas como etiquetas de prueba. Por ejemplo, el nombre del sistema operativo, como `Windows` o `Linux`, y la arquitectura de la plataforma, como `arm64` o `x86_64`, se añaden como etiquetas en cada prueba. Estos valores se muestran en el commit y en las páginas de resumen de ramas cuando una prueba falla o es inestable para una configuración específica pero no para otras. -Las siguientes etiquetas se recopilan automáticamente para identificar configuraciones de test y algunas pueden aplicarse solo a plataformas específicas: +Las siguientes etiquetas se recopilan automáticamente para identificar configuraciones de prueba, y algunas pueden aplicarse solo a plataformas específicas: | Nombre de la etiqueta | Descripción | |------------------------|-----------------------------------------------------------------| -| `os.platform` | Nombre del sistema operativo en el que se ejecutan los tests. | -| `os.family` | Familia del sistema operativo donde se ejecutan los tests. | -| `os.version` | Versión del sistema operativo donde se ejecutan los tests. | -| `os.architecture` | Arquitectura del sistema operativo donde se ejecutan los tests. | -| `runtime.name` | Nombre del sistema de ejecución de los tests. | +| `os.platform` | Nombre del sistema operativo donde se ejecutan las pruebas. | +| `os.family` | Familia del sistema operativo donde se ejecutan las pruebas. | +| `os.version` | Versión del sistema operativo donde se ejecutan las pruebas. | +| `os.architecture` | Arquitectura del sistema operativo donde se ejecutan las pruebas. | +| `runtime.name` | Nombre del sistema de ejecución para las pruebas. | | `runtime.version` | Versión del sistema de ejecución. | -| `runtime.vendor` | Proveedor que compiló la plataforma de ejecución en la que se ejecutan los tests. | -| `runtime.architecture` | Arquitectura del sistema de ejecución de los tests. | -| `device.model` | El modelo de dispositivo que ejecuta los tests. | +| `runtime.vendor` | Proveedor que construyó la plataforma de ejecución donde se ejecutan las pruebas. | +| `runtime.architecture` | Arquitectura del sistema de ejecución para las pruebas. | +| `device.model` | El modelo de dispositivo que ejecuta las pruebas. | | `device.name` | Nombre del dispositivo. | -| `ui.appearance` | Estilo de la interfaz de usuario. | +| `ui.appearance` | Estilo de interfaz de usuario. | | `ui.orientation` | Orientación en la que se ejecuta la interfaz de usuario. | -| `ui.localization` | Lenguaje de la solicitud. | +| `ui.localization` | Idioma de la aplicación. | -### Configuraciones de tests parametrizados +### Configuraciones de prueba parametrizadas {#parameterized-test-configurations} -Cuando se ejecutan tests parametrizados, la biblioteca detecta y genera información sobre los parámetros utilizados. Los parámetros son parte de la configuración del test, por lo que el mismo caso de test ejecutado con diferentes parámetros se considera como dos pruebas diferentes en la optimización de tests. +Cuando ejecutas pruebas parametrizadas, la biblioteca detecta e informa sobre los parámetros utilizados. Los parámetros son parte de la configuración de prueba, por lo que el mismo caso de prueba ejecutado con diferentes parámetros se considera como dos pruebas diferentes en Test Optimization. -Si un parámetro de test no es determinista y tiene un valor diferente cada vez que se ejecuta un test, cada ejecución de test se considera un nuevo test en la optimización de tests. Como consecuencia, es posible que algunas funciones del producto no funcionen correctamente para dichos tests: historial de ejecuciones, detección de defectos, análisis del impacto de los tests y otras. +Si un parámetro de prueba es no determinista y tiene un valor diferente cada vez que se ejecuta una prueba, cada ejecución de prueba se considera una nueva prueba en Test Optimization. Como consecuencia, algunas características del producto pueden no funcionar correctamente para tales pruebas: historial de ejecuciones, detección de inestabilidad, Test Impact Analysis, y otras. -Algunos ejemplos de parámetros de test no deterministas son: +Algunos ejemplos de parámetros de prueba no deterministas son: - fecha actual - un valor aleatorio -- un valor que depende del entorno de ejecución del test (como una ruta de archivo absoluta o el nombre de usuario actual) -- un valor que no tiene una representación de cadena determinista (por ejemplo, una instancia de una clase Java cuyo método `toString()` no se anula) +- un valor que depende del entorno de ejecución de la prueba (como una ruta de archivo absoluta o el nombre de usuario actual) +- un valor que no tiene una representación de cadena determinista (por ejemplo, una instancia de una clase de Java cuyo `toString()` método no está sobreescrito) -Evita utilizar parámetros de test no deterministas. En caso de que esto no sea posible, algunos frameworks de test ofrecen una forma de especificar una representación de cadena determinista para un parámetro no determinista (como anular el nombre de visualización del parámetro). +Evita usar parámetros de prueba no deterministas. En caso de que esto no sea posible, algunos marcos de prueba proporcionan una forma de especificar una representación de cadena determinista para un parámetro no determinista (como sobreescribir el nombre de visualización del parámetro). -## Configuraciones personalizadas +## Configuraciones personalizadas {#custom-configurations} -Hay algunas configuraciones que no se pueden identificar directamente ni informar de forma automática porque pueden depender de variables de entorno, argumentos de ejecución de tests u otros enfoques que utilizan los desarrolladores. En esos casos, debes proporcionar los detalles de configuración a la biblioteca para que la optimización de tests pueda identificarlos correctamente. +Hay algunas configuraciones que no pueden ser identificadas y reportadas automáticamente porque pueden depender de variables de entorno, argumentos de ejecución de prueba u otros enfoques que los desarrolladores utilizan. Para esos casos, debe proporcionar los detalles de configuración a la biblioteca para que Test Optimization pueda identificarlos correctamente. -Define estas etiquetas como parte de la variable de entorno `DD_TAGS` con el prefijo `test.configuration`. +Defina estas etiquetas como parte de la `DD_TAGS` variable de entorno usando el prefijo `test.configuration`. -Por ejemplo, las siguientes etiquetas de configuración de test identifican una configuración de test donde el tiempo de respuesta del disco es lento y la memoria disponible es baja: +Por ejemplo, las siguientes etiquetas de configuración de prueba identifican una configuración de prueba donde el tiempo de respuesta del disco es lento y la memoria disponible es baja: {{< code-block lang="bash" >}} DD_TAGS=test.configuration.disk:slow,test.configuration.memory:low {{< /code-block >}} -Todas las etiquetas con el prefijo `test.configuration` se utilizan como etiquetas de configuración, además de las recopiladas automáticamente. +Todas las etiquetas con el prefijo `test.configuration` se utilizan como etiquetas de configuración, además de las que se recopilan automáticamente. -Nota: No se admiten las etiquetas `test.configuration` anidadas, como `test.configuration.cpu.memory`. +Nota: Las etiquetas `test.configuration` anidadas, como `test.configuration.cpu.memory`, no son compatibles. -Para filtrar utilizando estas etiquetas de configuraciones, [debes crear facetas para estas etiquetas][3]. +Para filtrar utilizando estas etiquetas de configuración, [debe crear facetas para estas etiquetas][3]. -## Mejora el flujo de trabajo de tu desarrollador +## Mejore su flujo de trabajo de desarrollador {#enhance-your-developer-workflow} -{{< whatsnext desc="Integrar Test Optimization con herramientas para informar datos de cobertura de código, mejorar tests de navegador con RUM y acceder a información entre plataformas al mejorar la identificación de problemas y la resolución en tu ciclo de desarrollo." >}} -{{< nextlink href="/tests/developer_workflows/" >}}Mejorar los procesos de desarrollo con Datadog{{< /nextlink >}} -{{< nextlink href="/tests/code_coverage" >}}Obtén información sobre Code Coverage{{< /nextlink >}} -{{< nextlink href="/tests/browser_tests" >}}Instrumentar tests de navegador de Cypress con Browser RUM{{< /nextlink >}} -{{< nextlink href="/tests/swift_tests" >}}Instrumentar tests de Swift con RUM{{< /nextlink >}} +{{< whatsnext desc="Integre Test Optimization con herramientas para informar datos de Code Coverage, mejore las pruebas de navegador con RUM y acceda a información a través de plataformas al agilizar la identificación y resolución de problemas en su ciclo de desarrollo." >}} +{{< nextlink href="/tests/developer_workflows/" >}}Mejorando los Flujos de Trabajo de Desarrolladores con Datadog{{< /nextlink >}} +{{< nextlink href="/tests/code_coverage" >}}Aprenda sobre Code Coverage{{< /nextlink >}} +{{< nextlink href="/tests/browser_tests" >}}Instrumente las pruebas de navegador Cypress con Browser RUM{{< /nextlink >}} +{{< nextlink href="/tests/swift_tests" >}}Instrumente las pruebas Swift con RUM{{< /nextlink >}} {{< /whatsnext >}} -## Utilizar los datos de los tests CI +## Utilice datos de pruebas de CI {#use-ci-tests-data} {{% ci-information-collected %}} -Al crear un [dashboard][4] o un [notebook][5], puedes utilizar datos de tests CI en tu consulta de búsqueda, lo que actualiza las opciones del widget de visualización. Para obtener más información, consulta la documentación de [Dashboards][6] y [Notebooks][7]. +Al crear un [dashboard][4] o un [notebook][5], puede utilizar datos de pruebas de CI en su consulta de búsqueda, lo que actualiza las opciones del widget de visualización. Para más información, consulte [Dashboards][6] y la [documentación de Notebooks][7]. -## Alertas sobre los datos de los tests +## Alerte sobre datos de pruebas {#alert-on-test-data} -Cuando estés evaluando tests fallidos o defectuosos, o el rendimiento de un test CI, puedes exportar tu consulta de búsqueda en el [Explorador de optimización de tests][8] a un [monitor de tests CI][9] haciendo clic en el botón **Export**. +Cuando esté evaluando pruebas fallidas o inestables, o el rendimiento de una prueba de CI, puede exportar su consulta de búsqueda en el [Test Optimization Explorer][8] a un [CI Test monitor][9] haciendo clic en el botón **Export**. -## Referencias adicionales +##  Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[1]: https://app.datadoghq.com/ci/test-repositories +[1]: https://app.datadoghq.com/ci/test/health [2]: https://app.datadoghq.com/ci/settings/test-optimization [3]: /es/continuous_integration/explorer/facets/ [4]: https://app.datadoghq.com/dashboard/lists diff --git a/content/es/tracing/glossary/_index.md b/content/es/tracing/glossary/_index.md index 6e4016ec9eb..a3b5725db93 100644 --- a/content/es/tracing/glossary/_index.md +++ b/content/es/tracing/glossary/_index.md @@ -4,125 +4,123 @@ aliases: - /es/tracing/faq/what-is-the-difference-between-type-service-resource-and-name - /es/tracing/visualization/ description: Aprende la terminología esencial de APM, incluyendo servicios, recursos, - trazas (traces), tramos (spans), instrumentación y otros conceptos clave del rastreo - distribuido. + trazas, tramos, instrumentación y otros conceptos clave para el trazado distribuido. further_reading: - link: /tracing/trace_collection/ tag: Documentación - text: Aprende a configurar APM tracing con su aplicación -- link: /tracing/software_catalog/ + text: Aprenda cómo configurar el trazado de APM con su aplicación +- link: /internal_developer_portal/catalog/ tag: Documentación - text: Descubrir y catalogar los servicios de informes a Datadog + text: Descubra y catalogue los servicios que reportan a Datadog - link: /tracing/services/service_page/ tag: Documentación - text: Más información sobre servicios en Datadog + text: Aprenda más sobre los servicios en Datadog - link: /tracing/services/resource_page/ tag: Documentación - text: Profundiza en el rendimiento de tus recursos y trazas + text: Profundice en el rendimiento de sus recursos y trazas - link: /tracing/trace_explorer/trace_view/ tag: Documentación - text: Aprende a leer trazas en Datadog + text: Aprenda cómo leer una traza en Datadog - link: /monitors/types/apm/ tag: Documentación - text: Más información sobre los monitores APM -title: APM Términos y conceptos + text: Aprenda sobre los monitores de APM +title: Términos y conceptos de APM --- - {{< jqmath-vanilla >}} -## Información general +## Resumen {#overview} -La interfaz de usuario APM ofrece numerosas herramientas para solucionar problemas de rendimiento de las aplicaciones y correlacionarlos en todo el producto, lo que te permite encontrar y resolver problemas en sistemas distribuidos. +La interfaz de usuario de APM proporciona muchas herramientas para solucionar problemas de rendimiento de aplicaciones y correlacionarlos a lo largo del producto, permitiéndole encontrar y resolver problemas en sistemas distribuidos -Para más definiciones y descripciones de términos importantes de APM, como _spans_ e _indexed_, consulte el [glosario principal][22]. +Para definiciones y descripciones adicionales de términos importantes de APM como _tramos_ y _indexado_, consulte el [glosario principal][22] | Concepto | Descripción | |---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [Servicio](#services) | Los servicios son los bloques de construcción de las modernas arquitecturas de micro servicios: en términos generales, un servicio agrupa endpoints, consultas o trabajos con el fin de construir tu aplicación. | -| [Recurso](#resources) | Los recursos representan un dominio concreto de una aplicación del cliente: suelen ser un endpoint web instrumentado, una consulta a una base de datos o un trabajo en segundo plano. | -| [Monitores][23] | Los monitores APM de métrica funcionan como los monitores de métrica normales, pero con controles adaptados específicamente a APM. Utiliza estos monitores para recibir alertas al nivel de servicio sobre aciertos, errores y una variedad en las medidas de latencia. | -| [Trazas](#trace) | Una traza se utiliza para realizar un seguimiento del tiempo empleado por una aplicación procesando una solicitud y el estado de esta solicitud. Cada traza consta de uno o varios tramos. | -| [Propagación de contexto de rastreo](#trace-context-propagation)| El método para pasar identificadores de traza entre servicios, lo que permite a Datadog juntar tramos individuales en una traza distribuida completa. | -| [Filtros de retención](#retention-filters) | Los filtros de retención son controles basados en etiquetas establecidos en la interfaz de usuario de Datadog que determinan qué tramos se indexar en Datadog durante 15 días. | -| [Controles de ingesta](#ingestion-controls) | Los controles de ingesta se utilizan para el envío de hasta el 100% de las trazas a Datadog para buscar en directo y analizar durante 15 minutos. -| [Instrumentación](#instrumentation) | La instrumentación es el proceso de añadir código a tu aplicación para capturar e informar los datos de observabilidad. | -| [Equipaje](#baggage) | El equipaje es información contextual que se pasa entre trazas, métricas y logs en forma de pares clave-valor. | +| [Los servicios](#services) | son los bloques de construcción de arquitecturas modernas de microservicios; en términos generales, un servicio agrupa puntos de conexión, consultas o trabajos con el propósito de construir su aplicación | +| [Los recursos](#resources) | representan un dominio particular de una aplicación del cliente; típicamente son un punto de conexión web instrumentado, una consulta de base de datos o un trabajo en segundo plano | +| [Monitores][23] | Los monitores de métricas de APM funcionan como monitores de métricas regulares, pero con controles adaptados específicamente a APM. Utilice estos monitores para recibir alertas a nivel de servicio sobre hits, errores y una variedad de medidas de latencia | +Una traza se utiliza para rastrear el tiempo que dedica una aplicación a procesar una solicitud y el estado de la misma Cada traza consiste en uno o más tramos. | +| [Propagación del contexto de trazas](#trace-context-propagation)| El método de pasar identificadores de traza entre servicios, permitiendo que Datadog una los tramos individuales en una traza distribuida completa | +| [Filtros de Retención](#retention-filters) | Los filtros de retención son controles basados en etiquetas establecidos dentro de la interfaz de usuario de Datadog que determinan qué tramos indexar en Datadog durante 15 días. | +| [Controles de Ingesta](#ingestion-controls) | Los controles de ingesta se utilizan para enviar hasta el 100% de las trazas a Datadog para búsqueda y análisis en vivo durante 15 minutos. +La instrumentación es el proceso de agregar código a su aplicación para capturar e informar datos de observabilidad | +| [Equipaje](#baggage) | El equipaje es información contextual que se pasa entre trazas, métricas y registros en forma de pares clave-valor. | -## Servicios +## Servicios {#services} -Después de [instrumentar tu aplicación][3], el [Software Catalog][4] es tu página de inicio principal para los datos de APM. +Después de [instrumentar su aplicación][3], el [Catálogo][4] es su página principal para los datos de APM. -{{< img src="tracing/visualization/software_catalog.png" alt="Software Catalog" >}} +{{< img src="tracing/visualization/software_catalog.png" alt="Catálogo" >}} -Los servicios son los componentes básicos de las arquitecturas de microservicios modernas: en términos generales, un servicio agrupa endpoints, consultas o trabajos con el fin de escalar instancias. Algunos ejemplos son: +Los servicios son los bloques de construcción de arquitecturas modernas de microservicios; en términos generales, un servicio agrupa puntos de conexión, consultas o trabajos con el propósito de escalar instancias Algunos ejemplos: -* Un grupo de endpoints de URL puede agruparse bajo un servicio de API. -* Un grupo de consultas a la base de datos que se agrupan dentro de un servicio de base de datos. +* Un grupo de puntos de conexión de URL puede agruparse bajo un servicio API +* Un grupo de consultas de base de datos que se agrupan dentro de un servicio de base de datos. * Un grupo de trabajos periódicos configurados en el servicio crond. -La siguiente captura de pantalla es un sistema distribuido de microservicios para un constructor de sitios de comercio electrónico. Hay `web-store`, `ad-server`, `payment-db` y `auth-service`, todos representados como servicios en APM. +La captura de pantalla a continuación es un sistema de microservicios distribuido para un constructor de sitios de comercio electrónico. Hay un `web-store`, `ad-server`, `payment-db` y `auth-service` todos representados como servicios en APM. -{{< img src="tracing/visualization/service_map.png" alt="Mapa de servicios" >}} +{{< img src="tracing/visualization/service_map.png" alt="Service Map" >}} -Todos los servicios pueden encontrarse en el [Software Catalog][4] y representarse visualmente en el [Mapa de servicios][5]. Cada servicio tiene su propia [Página de servicios][6] donde puedes ver y analizar [métricas de traza](#trace-metrics) como el rendimiento, la latencia y las tasas de error. Utiliza estas métricas para crear widgets de dashboard, monitores y ver el rendimiento de cada recurso, como un endpoint web o una consulta de base de datos perteneciente al servicio. +Todos los servicios se pueden encontrar en el [Catálogo][4] y se representan visualmente en el [Service Map][5]. Cada servicio tiene su propia [Página de Servicio][6] donde se pueden ver e inspeccionar métricas de [traza](#trace-metrics) como rendimiento, latencia y tasas de error. Utilice estas métricas para crear widgets de dashboard, crear monitores y ver el rendimiento de cada recurso, como un punto de conexión web o una consulta de base de datos perteneciente al servicio -{{< img src="tracing/visualization/service_page.mp4" video="true" alt="Página de servicios" >}} +{{< img src="tracing/visualization/service_page.mp4" video="true" alt="página de servicio" >}}
-¿No ves los endpoints HTTP que esperabas en la Página de servicios? En APM, los endpoints están conectados a un servicio por algo más que el nombre de servicio. También se conectan con el `span.name` del tramo de punto de entrada de la traza. Por ejemplo, en el servicio de tienda web anterior, `web.request` es el tramo del punto de entrada. Más información al respecto aquí. +¿No ve los puntos de conexión HTTP que esperaba en la Página de Servicio? En APM, los puntos de conexión están conectados a un servicio por algo más que el nombre del servicio También se realiza mediante el `span.name` del span de punto de entrada de la traza Por ejemplo, en el servicio de tienda web anterior, `web.request` es el span de punto de entrada. Más información sobre esto aquí.
-## Recursos +## Recursos {#resources} -Los recursos representan un dominio particular de una aplicación del cliente. Por lo general, pueden ser un endpoint web instrumentado, una consulta de base de datos o un trabajo en segundo plano. En un servicio web, estos recursos pueden ser endpoints web dinámicos agrupados por un nombre de tramo estático: `web.request`. En un servicio de base de datos, serían consultas de base de datos con el nombre de tramo `db.query`. Por ejemplo, el servicio `web-store` tiene recursos instrumentados automáticamente (endpoints web) que gestionan las compras, actualizan los carritos, añaden artículos, etc. Un nombre de recurso puede ser el método HTTP y la ruta HTTP, por ejemplo `GET /productpage` o `ShoppingCartController#checkout`. +Los recursos representan un dominio particular de una aplicación del cliente. Podrían ser típicamente un punto de conexión web instrumentado, una consulta a la base de datos o un trabajo en segundo plano Para un servicio web, estos recursos pueden ser puntos de conexión web dinámicos que se agrupan por un nombre de span estático - `web.request` En un servicio de base de datos, estos serían consultas a la base de datos con el nombre de span `db.query`. Por ejemplo, el servicio `web-store` ha instrumentado automáticamente recursos: puntos de conexión web que manejan pagos, actualizaciones de carritos, adición de artículos, y así sucesivamente Un nombre de recurso puede ser el método HTTP y la ruta HTTP, por ejemplo `GET /productpage` o `ShoppingCartController#checkout`. -Cada recurso tiene su propia [Página de recursos][7] con [métricas de traza][15] para el endpoint específico. Las métricas de traza pueden utilizarse como cualquier otra métrica de Datadog, son exportables a un dashboard o pueden utilizarse para crear monitores. La Página de recursos también muestra el widget de resumen del tramo con una vista agregada de [tramos][21] para todas las [trazas](#trace), distribución de latencia de las solicitudes y trazas que muestran las solicitudes realizadas a este endpoint. +Cada recurso tiene su propia [página de recurso][7] con [métricas de traza][15] específicas para el punto de conexión Las métricas de traza se pueden usar como cualquier otra métrica de Datadog: son exportables a un Dashboard o se pueden usar para crear monitores La página de recurso también muestra el widget de resumen de tramo con una visualización agregada de [tramos][21] para todas las [trazas](#trace), la distribución de latencia de las solicitudes y las trazas que muestran las solicitudes realizadas a este punto de conexión. -{{< img src="tracing/visualization/resource_page.mp4" video="true" alt="Página de recursos" >}} +{{< img src="tracing/visualization/resource_page.mp4" video="true" alt="página de recurso" >}} -## Traza +## Traza {#trace} -Una traza se utiliza para realizar un seguimiento del tiempo empleado por una aplicación procesando una solicitud y el estado de esta solicitud. Cada traza consta de uno o más tramos. Durante el tiempo de vida de la solicitud, puedes ver las llamadas distribuidas a través de servicios (porque [se inyecta/extrae un ID de traza a través de encabezados HTTP][8]), [bibliotecas instrumentadas automáticamente][3] e [instrumentación manual][9] mediante herramientas de código abierto como [OpenTracing][10] en la vista de la gráfica de llamas. En la página Vista de traza, cada traza recopila información que la conecta con otras partes de la plataforma, incluyendo [conectar logs a trazas][11], [añadir etiquetas a tramos][12] y [recopilar métricas de tiempo de ejecución][13]. +Una traza se utiliza para rastrear el tiempo que pasa una aplicación procesando una solicitud y el estado de esta solicitud. Cada traza consiste en uno o más tramos. Durante la vida útil de la solicitud, puedes ver llamadas distribuidas entre servicios (porque un [ID de traza se inyecta/se extrae a través de encabezados HTTP][8]), [bibliotecas instrumentadas automáticamente][3] y [instrumentación manual][9] utilizando herramientas de código abierto como [OpenTracing][10] en la visualización de gráfico de llamas. En la página de vista de traza, cada traza recopila información que la conecta a otras partes de la plataforma, incluyendo [conectar registros a trazas][11], [agregar etiquetas a tramos][12] y [recopilar métricas de tiempo de ejecución][13]. -{{< img src="tracing/visualization/trace_view.png" alt="Vista de traza" >}} +{{< img src="tracing/visualization/trace_view.png" alt="vista de traza" >}} -## Propagación del contexto de rastreo +## Propagación del contexto de trazas {#trace-context-propagation} -La propagación del contexto de rastreo es el método para pasar identificadores de trazas entre servicios en un sistema distribuido. Permite a Datadog unir tramos individuales de diferentes servicios en una única traza distribuida. La propagación del contexto de rastreo funciona insertando identificadores, como el ID de traza y el ID de tramo principal, en los encabezados HTTP a medida que la solicitud fluye por el sistema. Luego, el servicio de descarga extrae estos identificadores y continúa el rastreo. Esto permite que Datadog reconstruya la ruta completa de una solicitud a través de múltiples servicios. +La propagación del contexto de trazas es el método de pasar identificadores de traza entre servicios en un sistema distribuido. Permite a Datadog unir tramos individuales de diferentes servicios en una sola traza distribuida. La propagación del contexto de trazas funciona inyectando identificadores, como el ID de traza y el ID de tramo padre, en los encabezados HTTP a medida que la solicitud fluye a través del sistema. El servicio descendente luego extrae estos identificadores y continúa la traza. Esto permite a Datadog reconstruir el camino completo de una solicitud a través de múltiples servicios. -Para más información, consulta la [propagación del contexto de rastreo][27] para el lenguaje de tu aplicación. +Para más información, consulte la [propagación del contexto de trazas][27] para el lenguaje de su aplicación. -## Filtros de retención +## Filtros de retención {#retention-filters} -[Establece filtros basados en etiquetas][19] en la interfaz de usuario para indexar tramos durante 15 días para su uso con [la Búsqueda de trazas y análisis][14]. +[Establecer filtros basados en etiquetas][19] en la interfaz de usuario para indexar tramos durante 15 días para su uso con [Búsqueda y Análisis de Trazas][14]. -## Controles de ingesta +## Controles de ingestión {#ingestion-controls} -[Envía el 100% de las trazas][20] de tus servicios a Datadog y combínalas con [filtros de retención basados en etiquetas](#retention-filters) para conservar trazas relevantes para tu negocio durante 15 días. +[Envíe el 100% de las trazas][20] de sus servicios a Datadog y combínelas con [filtros de retención basados en etiquetas](#retention-filters) para mantener las trazas que importan para su negocio durante 15 días -## Instrumentación +## Instrumentación {#instrumentation} -La instrumentación es el proceso de añadir código a tu aplicación para capturar e informar datos de observabilidad a Datadog, como trazas, métricas y logs. Datadog proporciona bibliotecas de instrumentación para varios lenguajes y frameworks de programación. +La instrumentación es el proceso de agregar código a su aplicación para capturar y reportar datos de observabilidad a Datadog, como trazas, métricas y registros Datadog proporciona bibliotecas de instrumentación para varios lenguajes de programación y frameworks. -Puedes instrumentar automáticamente tu aplicación cuando instales el Datadog Agent con la [Instrumentación de paso único][24] o cuando [añadas de forma manual bibliotecas de rastreo de Datadog][25] a tu código. +Puede instrumentar automáticamente su aplicación cuando instale el Datadog Agent con [Instrumentación de un solo paso][24] o cuando [agregue manualmente los SDK de Datadog][25] a su código -Puedes utilizar la instrumentación personalizada al incrustar código de rastreo directamente en el código de tu aplicación. Esto te permite crear, modificar o eliminar mediante programación trazas para enviarlas a Datadog. +Puede usar instrumentación personalizada al incrustar código de traza directamente en el código de su aplicación. Esto le permite crear, modificar o eliminar trazas programáticamente para enviarlas a Datadog. -Para saber más, lee [Instrumentación de aplicación][26]. +Para obtener más información, lea [Instrumentación de Aplicaciones][26]. -## Baggage +## Baggage {#baggage} -El equipaje te permite propagar pares clave-valor (también conocidos como elementos de equipaje) a través de los límites de servicio en un sistema distribuido. A diferencia del contexto de traza, que se centra en los identificadores de traza, el equipaje permite transmitir datos empresariales y otra información contextual junto con trazas. +Baggage le permite propagar pares clave-valor (también conocidos como elementos de Baggage) a través de los límites del servicio en un sistema distribuido. A diferencia del contexto de traza, que se centra en los identificadores de traza, Baggage permite la transmisión de datos comerciales y otra información contextual junto con las trazas. -Para obtener más información, lee los [formatos de propagación][28] compatibles con el lenguaje de tu aplicación. +Para aprender más, lea los [formatos de propagación][28] soportados para el lenguaje de su aplicación. -## Referencias adicionales +## Lectura Adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[2]: /es/developers/guide/data-collection-resolution/ +[2]: /es/extend/guide/data-collection-resolution/ [3]: /es/tracing/setup/ -[4]: /es/tracing/software_catalog/ +[4]: /es/internal_developer_portal/catalog/ [5]: /es/tracing/services/services_map/ [6]: /es/tracing/services/service_page/ [7]: /es/tracing/services/resource_page/ diff --git a/content/es/tracing/other_telemetry/connect_logs_and_traces/dotnet.md b/content/es/tracing/other_telemetry/connect_logs_and_traces/dotnet.md index 17ccda47566..533a24a68d9 100644 --- a/content/es/tracing/other_telemetry/connect_logs_and_traces/dotnet.md +++ b/content/es/tracing/other_telemetry/connect_logs_and_traces/dotnet.md @@ -3,82 +3,81 @@ aliases: - /es/tracing/connect_logs_and_traces/dotnet code_lang: dotnet code_lang_weight: 60 -description: Conecta tu logs y trazas (traces) de .NET para correlacionarlos en Datadog. +description: Conecte sus registros y trazas de .NET para correlacionarlos en Datadog. further_reading: - link: tracing/trace_collection/custom_instrumentation tag: Documentación - text: Instrumenta tu aplicación de forma manual para crear trazas. + text: Instrumente manualmente su aplicación para crear trazas. - link: tracing/glossary/ tag: Documentación - text: Explora tus servicios, recursos y trazas + text: Explore sus servicios, recursos y trazas. - link: https://www.datadoghq.com/blog/request-log-correlation/ tag: Blog - text: Correlacionar automáticamente logs de solicitud con trazas + text: Correlacione automáticamente los registros de solicitudes con las trazas. - link: /logs/guide/ease-troubleshooting-with-cross-product-correlation/ tag: Guía - text: Facilita la solución de problemas con una correlación entre productos. -title: Correlación de logs y trazas de .NET + text: Facilite la solución de problemas con la correlación entre productos. +title: Correlacionando Registros y Trazas de .NET type: multi-code-lang --- +Puede configurar su biblioteca de registros y las configuraciones de trazado de .NET para que los ID de traza y de tramo se inyecten en los registros de la aplicación, proporcionándole datos de monitoreo del rendimiento de la aplicación correlacionados con los datos de registro. -Puedes establecer tu biblioteca de registro y las configuraciones de rastreo de .NET para que los IDs de traza y tramo se inyecten en los logs de aplicación, lo que te proporcionará datos de monitorización del rendimiento de la aplicación correlacionados con los datos de log. +Configure el .NET Tracer con [Unified Service Tagging][1] para la mejor experiencia y un contexto útil al correlacionar trazas y registros de la aplicación. -Configura el .NET Tracer con el [etiquetado de servicios unificado][1] para obtener la mejor experiencia y un contexto útil al correlacionar las trazas y logs de aplicación. - -.NET Tracer admite las siguientes bibliotecas de registro: +El .NET Tracer admite las siguientes bibliotecas de registros: - [Serilog][2] (v1.4+) - [log4net][3] - [NLog][4] -- [Microsoft.Extensions.Logging][5] (añadido en v1.28.6) +- [Microsoft.Extensions.Logging][5] (agregado en v1.28.6) -## Configuración de la recopilación de logs +## Configure la recolección de registros {#configure-log-collection} -Asegúrate de que la recopilación de log está configurada en el Datadog Agent y que la [configuración del Logs Agent][15] para los archivos especificados a la cola esté establecida en `source: csharp`, de modo que los pipelines de log puedan analizar los archivos de log. Para obtener más información, consulta [Recopilación de logs de C#][7]. Si `source` se establece en un valor distinto de `csharp`, es posible que tengas que añadir un [reasignador de traza][8] al pipeline de procesamiento de log apropiado para que la correlación funcione correctamente. +Asegúrese de que la recolección de registros esté configurada en el Agente de Datadog y que la [configuración del Agente de Registros][15] para los archivos especificados a seguir esté configurada en `source: csharp` para que las canalizaciones de registros puedan parsear los archivos de registro. Para más información, consulta [Recolección de Registros en C#][7]. Si el `source` está configurado a un valor diferente de `csharp`, es posible que necesites agregar un [remapeador de trazas][8] a la canalización de procesamiento de registros apropiada para que la correlación funcione correctamente. -
La recopilación automática de logs solo funciona para logs formateados como JSON. Como alternativa, utiliza reglas de parseo personalizadas.
+
La recolección automática de registros solo funciona para registros formateados como JSON. Alternativamente, utilice reglas de parseo personalizadas.
-## Configuración de la inyección en logs +## Configure la inyección en los registros {#configure-injection-in-logs} -Para inyectar identificadores de correlación en tus mensajes de log, sigue las instrucciones de tu biblioteca de registro. +Para inyectar identificadores de correlación en sus mensajes de registro, siga las instrucciones para su biblioteca de registro.
- Consulta las muestras en dd-trace-dotnet para ver más ejemplos. + Vea los ejemplos en dd-trace-dotnet para más ejemplos.
{{< tabs >}} {{% tab "Serilog" %}}
- Nota: A partir de la versión 2.0.1 del rastreador de .NET, la inyección automática para la biblioteca de registro de Serilog requiere que la aplicación esté instrumentada con la instrumentación automática. + Nota: A partir de la versión 2.0.1 del .NET Tracer, la inyección automática para la biblioteca de registro Serilog requiere que la aplicación esté instrumentada con instrumentación automática.
-Para inyectar automáticamente identificadores de correlación en tus mensajes de log: +Para inyectar automáticamente identificadores de correlación en sus mensajes de registro: -1. Configura el .NET Tracer con la siguiente configuración del rastreador: +1. Configure el .NET Tracer con las siguientes configuraciones del Tracer: - `DD_ENV` - `DD_SERVICE` - `DD_VERSION` -2. Activa el rastreo de instrumentación automática de tu aplicación siguiendo las [instrucciones para instalar .NET Tracer][1]. +2. Habilite el trazado de instrumentación automática de su aplicación siguiendo las [instrucciones para instalar el .NET Tracer][1]. [1]: https://docs.datadoghq.com/es/tracing/trace_collection/dd_libraries/dotnet-core/ {{% /tab %}} {{% tab "log4net" %}}
- Nota: A partir de la versión 1.29.0 del rastreador de .NET, la inyección automática para la biblioteca de registro de log4net requiere que la aplicación esté instrumentada con instrumentación automática. + Nota: A partir de la versión 1.29.0 del .NET Tracer, la inyección automática para la biblioteca de registro log4net requiere que la aplicación esté instrumentada con instrumentación automática.
-Para inyectar automáticamente identificadores de correlación en tus mensajes de log: +Para inyectar automáticamente identificadores de correlación en sus mensajes de registro: -1. Configura el .NET Tracer con la siguiente configuración del rastreador: +1. Configure el .NET Tracer con las siguientes configuraciones del tracer: - `DD_ENV` - `DD_SERVICE` - `DD_VERSION` -2. Activa el rastreo de instrumentación automática de tu aplicación siguiendo las [instrucciones para instalar .NET Tracer][1]. +2. Habilite el trazado de instrumentación automática de su aplicación siguiendo las [instrucciones para instalar el .NET Tracer][1]. -3. Añade las propiedades de log `dd.env`, `dd.service`, `dd.version`, `dd.trace_id` y `dd.span_id` en tu salida de registro. Puedes hacer esto al incluir estas propiedades _individualmente_ o al incluir _todas_ las propiedades de log. Ambos enfoques se muestran en el siguiente código de ejemplo: +3. Agregue `dd.env`, `dd.service`, `dd.version`, `dd.trace_id` y `dd.span_id` propiedades de registro en su salida. Esto se puede hacer incluyendo estas propiedades _individualmente_ o incluyendo _todas_ las propiedades de registro. Ambos enfoques se muestran en el siguiente código de ejemplo: ```xml @@ -102,7 +101,7 @@ Para inyectar automáticamente identificadores de correlación en tus mensajes d ``` -Para ver ejemplos adicionales, consulta [el proyecto de inyección automática de ID de traza de log4net][2] en GitHub. +Para ejemplos adicionales, consulte [el proyecto de inyección automática de ID de traza log4net][2] en GitHub. [1]: https://docs.datadoghq.com/es/tracing/trace_collection/dd_libraries/dotnet-core/ @@ -111,19 +110,19 @@ Para ver ejemplos adicionales, consulta [el proyecto de inyección automática d {{% tab "NLog" %}}
- Nota: A partir de la versión 2.0.1 del rastreador de .NET, la inyección automática para la biblioteca de registro de NLog requiere que la aplicación esté instrumentada con instrumentación automática. + Nota: A partir de la versión 2.0.1 de .NET Tracer, la inyección automática para la biblioteca de registro NLog requiere que la aplicación esté instrumentada con instrumentación automática.
-Para inyectar automáticamente identificadores de correlación en tus mensajes de log: +Para inyectar automáticamente identificadores de correlación en sus mensajes de registro: -1. Configura el .NET Tracer con la siguiente configuración del rastreador: +1. Configure el .NET Tracer con las siguientes configuraciones del tracer: - `DD_ENV` - `DD_SERVICE` - `DD_VERSION` -2. Activa el rastreo de instrumentación automática de tu aplicación siguiendo las [instrucciones para instalar .NET Tracer][1]. +2. Habilite el trazado de instrumentación automática de su aplicación siguiendo las [instrucciones para instalar el .NET Tracer][1]. -3. Habilita el contexto de diagnóstico asignado (MDC), como se muestra en el siguiente código de ejemplo para NLog versión 5.0+: +3. Habilite el contexto de diagnóstico mapeado (MDC), como se muestra en el siguiente código de ejemplo para NLog versión 5.0+: ```xml @@ -158,7 +157,7 @@ Para NLog versión 4.5: ``` -Para ver ejemplos adicionales, consulta los proyectos de inyección automática de ID de traza utilizando [NLog 4.0][2], [NLog 4.5][3], o [NLog 4.6][4] en GitHub. +Para ejemplos adicionales, consulte los proyectos de inyección automática de ID de traza utilizando [NLog 4.0][2], [NLog 4.5][3] o [NLog 4.6][4] en GitHub. [1]: https://docs.datadoghq.com/es/tracing/trace_collection/dd_libraries/dotnet-core/ @@ -167,16 +166,16 @@ Para ver ejemplos adicionales, consulta los proyectos de inyección automática [4]: https://github.com/DataDog/dd-trace-dotnet/blob/master/tracer/samples/AutomaticTraceIdInjection/NLog46Example/NLog.config {{% /tab %}} {{% tab "Microsoft.Extensions.Logging" %}} -Para inyectar automáticamente identificadores de correlación en tus mensajes de log: +Para inyectar automáticamente identificadores de correlación en sus mensajes de registro: -1. Configura el .NET Tracer con la siguiente configuración del rastreador: +1. Configure el .NET Tracer con las siguientes configuraciones del tracer: - `DD_ENV` - `DD_SERVICE` - `DD_VERSION` -2. Activa el rastreo de instrumentación automática de tu aplicación siguiendo las [instrucciones para instalar .NET Tracer][1]. +2. Habilite el trazado de instrumentación automática de su aplicación siguiendo las [instrucciones para instalar el .NET Tracer][1]. -3. Activa [contextos de log][2] para tu proveedor de registro, como se muestra en el código de ejemplo. Solo los proveedores que admiten contextos de log tendrán identificadores de correlación inyectados. +3. Habilite [los ámbitos de registro][2] para su proveedor de registro, como se muestra en el código de ejemplo. Solo los proveedores que admiten ámbitos de registro tendrán identificadores de correlación inyectados. ```csharp Host.CreateDefaultBuilder(args) @@ -190,11 +189,11 @@ Host.CreateDefaultBuilder(args) } ``` -Si hay una traza activa cuando se está escribiendo el log, los IDs de traza y tramo se inyectan automáticamente en la aplicación de logs con las propiedades `dd_trace_id` y `dd_span_id`. Si no hay una traza activa, solo se inyectan las propiedades `dd_env`, `dd_service` y `dd_version`. +Si hay una traza activa cuando se está escribiendo el registro, los IDs de traza y de span se inyectan automáticamente en los registros de la aplicación con las propiedades `dd_trace_id` y `dd_span_id`. Si no hay una traza activa, solo se inyectan las propiedades `dd_env`, `dd_service` y `dd_version`. -**Nota:** Si estás utilizando una biblioteca de registro que reemplaza el despliegue`LoggerFactory` por defecto como los paquetes [_Serilog.Extensions.Hosting_][3] o [_Serilog.Extensions.Logging_][4], sigue las instrucciones específicas del framework (en este ejemplo, ve **Serilog**). +**Nota:** Si está utilizando una biblioteca de registro que reemplaza la implementación predeterminada de `LoggerFactory`, como los paquetes de [_Serilog.Extensions.Hosting_][3] o [_Serilog.Extensions.Logging_][4], siga las instrucciones específicas del marco (en este ejemplo, consulte **Serilog**). -Para obtener ejemplos adicionales, consulta [el proyecto de inyección de ID de traza automática Microsoft.Extensions.Logging][5] en GitHub. +Para ejemplos adicionales, consulte [el proyecto de inyección automática de ID de traza Microsoft.Extensions.Logging][5] en GitHub. [1]: https://docs.datadoghq.com/es/tracing/trace_collection/dd_libraries/dotnet-core/ @@ -205,52 +204,52 @@ Para obtener ejemplos adicionales, consulta [el proyecto de inyección de ID de {{% /tab %}} {{< /tabs >}} -A continuación, completa la configuración para la inyección automática o manual. +A continuación, complete la configuración para la inyección automática o manual. -## Inyección automática +## Inyección automática {#automatic-injection} -Para activar la inyección automática de identificadores de correlación, asegúrate de que `DD_LOGS_INJECTION` está activado. +Para habilitar la inyección automática del identificador de correlación, asegúrese de que `DD_LOGS_INJECTION` esté habilitado. -A partir de la versión 3.24.0, `DD_LOGS_INJECTION` está activado por defecto. Para versiones anteriores, configura `DD_LOGS_INJECTION=true` en las variables de entorno del rastreador de .NET. +A partir de la versión 3.24.0, `DD_LOGS_INJECTION` está habilitado por defecto. Para versiones anteriores, configure `DD_LOGS_INJECTION=true` en las variables de entorno del .NET Tracer. -Para configurar el rastreador de .NET con un método diferente, consulta [Configuración del rastreador de .NET][6]. +Para configurar el .NET Tracer con un método diferente, consulte [Configuración del .NET Tracer][6]. -Después de configurar la inyección del identificador de correlación, consulta [Recopilación de log de C#][7] para configurar tu recopilación de log. +Después de configurar la inyección del identificador de correlación, consulte [Recopilación de registros en C#][7] para configurar su recopilación de registros. -**Nota:** Para correlacionar trazas con logs, puede que necesites configurar un [reasignador de ID de traza][8] para analizar `dd_trace_id` como el ID de traza del log. Consulta [Los logs correlacionados no aparecen en el panel de ID de traza][9] para obtener más información. +**Nota:** Para correlacionar trazas con registros, es posible que necesite configurar un [remapeador de ID de traza][8] para analizar `dd_trace_id` como el ID de traza del registro. Consulte [Registros correlacionados que no aparecen en el panel de ID de traza][9] para más información. -
A partir de la versión 2.35.0, si la configuración remota del Agent está habilitada donde se ejecuta este servicio, puedes establecer DD_LOGS_INJECTION en la interfaz de usuario de Software Catalog.
+
A partir de la versión 2.35.0, si Configuración Remota del Agente está habilitada donde se ejecuta este servicio, puede configurar DD_LOGS_INJECTION en la interfaz de usuario del Catálogo.
-## Inyección manual +## Inyección manual {#manual-injection} -Si prefieres correlacionar manualmente tus trazas con tus logs, puedes añadir identificadores de correlación a tus logs. +Si prefiere correlacionar manualmente sus trazas con sus registros, puede agregar identificadores de correlación a sus registros. | Clave requerida | Descripción | | -------------- | -------------------------------------------- | - | `dd.env` | Configura globalmente el `env` para el rastreador. Por defecto es `""` si no se configura. | - | `dd.service` | Configura globalmente el nombre raíz del servicio. Por defecto es el nombre de la aplicación o el nombre del sitio IIS si no está configurado. | - | `dd.version` | Configura globalmente `version` para el servicio. Por defecto es `""` si no se configura. | - | `dd.trace_id` | ID de traza activo (representado como un número decimal de 64 bits) durante la sentencia de log. Por defecto `0` si no hay trazas. | - | `dd.span_id` | ID de tramo activo (representado como un número decimal de 64 bits) durante la sentencia de log. Por defecto `0` si no hay trazas. | + | `dd.env` | Configure globalmente el `env` para el SDK. Por defecto es `""` si no se establece. | + | `dd.service` | Configure globalmente el nombre del servicio raíz. Por defecto es el nombre de la aplicación o el nombre del sitio de IIS si no se establece. | + | `dd.version` | Configure globalmente `version` para el servicio. Por defecto es `""` si no se establece. | + | `dd.trace_id` | ID de traza activa (representado como un número decimal de 64 bits) durante la declaración de registro. Por defecto, se establece en `0` si no hay traza. | + | `dd.span_id` | ID de tramo activo (representado como un número decimal de 64 bits) durante la declaración de registro. Por defecto, se establece en `0` si no hay traza. | -**Nota:** Si no utilizas [la integración de log de Datadog][7] para analizar tus logs, las reglas personalizadas de parseo de log deben analizar `dd.trace_id` y `dd.span_id` como cadenas. Para obtener más información, consulta [Los Logs correlacionados no aparecen en el panel de ID de traza][10]. +**Nota:** Si no está utilizando una [Integración de Registro de Datadog][7] para analizar sus registros, las reglas de análisis de registros personalizadas deben analizar `dd.trace_id` y `dd.span_id` como cadenas. Para más información, consulte [Registros Correlacionados que No Aparecen en el Panel de ID de Traza][10]. -**Nota**: Si estás utilizando Serilog, Nlog o log4net a través de ILogger, consulta la sección Microsoft.Extensions.Logging para configurar estas propiedades con `BeginScope()`. +**Nota**: Si está utilizando Serilog, Nlog o log4net a través de ILogger, consulte la sección Microsoft.Extensions.Logging para configurar estas propiedades utilizando `BeginScope()`. -Después de completar los [pasos de introducción](#getting-started), termina tu configuración de mejora de log manual: +Después de completar los [pasos iniciales](#getting-started), finalice su configuración manual de enriquecimiento de registros: -1. Haz referencia al [paquete `Datadog.Trace` de NuGet][11] en tu proyecto. +1. Agregue una referencia al [`Datadog.Trace` paquete NuGet][11] en su proyecto. -2. Utiliza la API `CorrelationIdentifier` para recuperar identificadores de correlación y añadirlos al contexto de log mientras esté activo un tramo. +2. Utilice la `CorrelationIdentifier` API para recuperar identificadores de correlación y agregarlos al contexto de registro mientras un tramo está activo. -Por último, consulta [Recopilación de log de C#][7] para configurar tu recopilación de log. +Por último, consulte [Colección de Registros en C#][7] para configurar su colección de registros. Ejemplos: {{< tabs >}} {{% tab "Serilog" %}} -**Nota**: La biblioteca de Serilog requiere que los nombres de las propiedades de los mensajes sean identificadores C# válidos. Los nombres de propiedades obligatorios son: `dd_env`, `dd_service`, `dd_version`, `dd_trace_id` y `dd_span_id`. +**Nota**: La biblioteca Serilog requiere que los nombres de las propiedades de los mensajes sean identificadores válidos de C#. Los nombres de propiedades requeridos son: `dd_env`, `dd_service`, `dd_version`, `dd_trace_id` y `dd_span_id`. ```csharp using Datadog.Trace; @@ -340,12 +339,12 @@ using(_logger.BeginScope(new Dictionary {{% /tab %}} {{< /tabs >}} -Puedes obtener más información sobre el uso de BeginScope para crear mensajes estructurados de log para los siguientes proveedores de log: -- Serilog: [la semántica de ILogger.BeginScope()][12] -- NLog: [propiedades de NLog con Microsoft Extension Logging][13] -- log4net: [con BeginScope][14] +Puede leer más sobre el uso de BeginScope para crear mensajes de registro estructurados para los siguientes proveedores de registro: +- Serilog: [La semántica de ILogger.BeginScope()][12] +- NLog: [Propiedades de NLog con Microsoft Extension Logging][13] +- log4net: [Usando BeginScope][14] -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -356,7 +355,7 @@ Puedes obtener más información sobre el uso de BeginScope para crear mensajes [5]: https://docs.microsoft.com/en-us/dotnet/core/extensions/logging [6]: /es/tracing/trace_collection/library_config/dotnet-core/#configuring-the-net-tracer [7]: /es/logs/log_collection/csharp/ -[8]: /es/logs/log_configuration/processors/?tab=ui#trace-remapper +[8]: /es/logs/log_configuration/processors/trace_remapper/ [9]: /es/tracing/troubleshooting/correlated-logs-not-showing-up-in-the-trace-id-panel/?tab=withlogintegration [10]: /es/tracing/troubleshooting/correlated-logs-not-showing-up-in-the-trace-id-panel/?tab=custom [11]: https://www.nuget.org/packages/Datadog.Trace/ diff --git a/content/es/tracing/services/inferred_services.md b/content/es/tracing/services/inferred_services.md index 277e874b777..dccc1499ec0 100644 --- a/content/es/tracing/services/inferred_services.md +++ b/content/es/tracing/services/inferred_services.md @@ -1,36 +1,35 @@ --- aliases: - /es/tracing/guide/inferred-service-opt-in -description: Descubre automáticamente dependencias de servicios como bases de datos - y colas mediante el análisis de solicitudes salientes. +description: Descubra automáticamente las dependencias de servicio como bases de datos + y colas a través del análisis de solicitudes salientes. further_reading: - link: /tracing/services/service_page/ tag: Documentación - text: Más información sobre servicios en Datadog + text: Aprenda más sobre los servicios en Datadog title: Servicios inferidos --- +## Resumen {#overview} -## Información general +Datadog descubre automáticamente las dependencias de un servicio instrumentado, como bases de datos, colas o APIs de terceros, incluso si esa dependencia no ha sido instrumentada directamente. Al analizar las solicitudes salientes de sus servicios instrumentados, Datadog infiere la presencia de estas dependencias y recopila métricas de rendimiento asociadas. -Datadog detecta automáticamente las dependencias de un servicio instrumentado, como bases de datos, colas o API de terceros, incluso si esas dependencias no se instrumentaron directamente. A través del análisis de las solicitudes salientes de tus servicios instrumentados, Datadog infiere la presencia de las dependencias y recopila las métricas de rendimiento asociadas. - -{{< img src="tracing/visualization/service/dependencies_section.png" alt="Mapa de dependencias de la página de servicios" style="width:90%;">}} +{{< img src="tracing/visualization/service/dependencies_section.png" alt="Mapa de dependencias de la página de servicio" style="width:90%;">}} {{< site-region region="ap1,us3,us5,eu,us,ap2" >}} -Explora los servicios inferidos en el [Catálogo de software][1], filtrando las entradas por tipo de entidad, como bases de datos, colas o API de terceros. Cada [página de servicios][2] se ajusta al tipo de servicio que estás investigando. Por ejemplo, las páginas de servicios de bases de datos muestran información específica de las bases de datos y, si estás utilizando [Database Monitoring][3], incluyen datos de monitorización de estas bases de datos. +Explore los servicios inferidos en el [Catálogo][1] filtrando entradas por tipo de entidad, como base de datos, cola o API de terceros. Cada [página de servicio][2] está adaptada al tipo de servicio que está investigando. Por ejemplo, las páginas de servicio de bases de datos muestran información específica de la base de datos e incluyen datos de DBM si está utilizando [DBM][3]. -## Configurar servicios inferidos +## Configure servicios inferidos {#set-up-inferred-services} {{< tabs >}} -{{% tab "Agent v7.60.0+" %}} -A partir de la versión [7.60.0][1] del Datadog Agent, no se necesita ninguna configuración manual para ver servicios inferidos. Las configuraciones necesarias —`apm_config.compute_stats_by_span_kind` y `apm_config.peer_tags_aggregation`— están activadas por defecto. +{{% tab "Agente v7.60.0+" %}} +A partir de la versión [7.60.0][1] del Agente de Datadog, no se necesita configuración manual para ver los servicios inferidos. Las configuraciones requeridas—`apm_config.compute_stats_by_span_kind` y `apm_config.peer_tags_aggregation`—están habilitadas por defecto. [1]: https://github.com/DataDog/datadog-agent/releases/tag/7.60.0 {{% /tab %}} -{{% tab "Agent v7.55.1 - v7.59.1" %}} +{{% tab "Agente v7.55.1 - v7.59.1" %}} -Para las versiones [7.55.1][1] a [7.59.1][2] del Datadog Agent, añade lo siguiente a tu archivo de configuración `datadog.yaml`: +Para las versiones del Agente de Datadog [7.55.1][1] a [7.59.1][2], agrega lo siguiente a tu archivo de configuración `datadog.yaml`: {{< code-block lang="yaml" filename="datadog.yaml" collapsible="true" >}} @@ -40,7 +39,7 @@ apm_config: {{< /code-block >}} -Alternativamente, configura estas variables de entorno en tu configuración del Datadog Agent: +Alternativamente, establezca estas variables de entorno en la configuración de su Agente de Datadog: {{< code-block collapsible="true" lang="yaml" >}} @@ -49,15 +48,15 @@ DD_APM_PEER_TAGS_AGGREGATION=true {{< /code-block >}} -Si utilizas Helm, incluye estas variables de entorno en tu [archivo][3] `values.yaml`. +Si está utilizando Helm, incluya estas variables de entorno en su `values.yaml` [archivo][3]. [1]: https://github.com/DataDog/datadog-agent/releases/tag/7.55.1 [2]: https://github.com/DataDog/datadog-agent/releases/tag/7.59.1 [3]: https://github.com/DataDog/helm-charts/blob/main/charts/datadog/values.yaml {{% /tab %}} -{{% tab "Agent v7.50.3 - v7.54.1" %}} +{{% tab "Agente v7.50.3 - v7.54.1" %}} -Para las versiones [7.50.3][1] a [7.54.1][2] del Datadog Agent, añade lo siguiente a tu archivo de configuración `datadog.yaml`: +Para las versiones del Agente de Datadog [7.50.3][1] a [7.54.1][2], agregue lo siguiente a su archivo de configuración `datadog.yaml`: {{< code-block lang="yaml" filename="datadog.yaml" collapsible="true" >}} @@ -68,7 +67,7 @@ apm_config: {{< /code-block >}} -Alternativamente, configura estas variables de entorno en tu configuración del Datadog Agent: +Alternativamente, establezca estas variables de entorno en la configuración de su Agente de Datadog: {{< code-block collapsible="true" lang="yaml" >}} @@ -78,7 +77,7 @@ DD_APM_PEER_TAGS='["_dd.base_service","amqp.destination","amqp.exchange","amqp.q {{< /code-block >}} -Si utilizas Helm, incluye estas variables de entorno en tu [archivo][3] `values.yaml`. +Si está utilizando Helm, incluya estas variables de entorno en su `values.yaml` [archivo][3]. [1]: https://github.com/DataDog/datadog-agent/releases/tag/7.50.3 [2]: https://github.com/DataDog/datadog-agent/releases/tag/7.54.1 @@ -86,7 +85,7 @@ Si utilizas Helm, incluye estas variables de entorno en tu [archivo][3] `values. {{% /tab %}} {{% tab "OpenTelemetry Collector" %}} -Para OpenTelemetry Collector, la versión mínima recomendada es [v0.95.0][1] o posterior de `opentelemetry-collector-contrib`. En ese caso, actualiza esta configuración: +Para el OpenTelemetry Collector, la versión mínima recomendada es `opentelemetry-collector-contrib` [v0.95.0][1] o posterior. En ese caso, actualice esta configuración: {{< code-block lang="yaml" collapsible="true" >}} @@ -99,7 +98,7 @@ connectors: {{< /code-block >}} -Si tu versión del Collector es anterior a v0.95.0, actualiza la siguiente configuración del Collector: +Si la versión de su Collector es inferior a v0.95.0, actualice la siguiente configuración del Collector: {{< code-block lang="yaml" collapsible="true" >}} @@ -119,13 +118,13 @@ exporters: {{% /tab %}} {{< /tabs >}} -## Nombrar entidades inferidas +## Nombramiento de entidades inferidas {#naming-inferred-entities} -Para determinar los nombres y tipos de las dependencias de servicio inferidas, Datadog utiliza atributos estándar de tramo y los asigna a atributos de `peer.*`. Por ejemplo, las API externas inferidas utilizan el esquema de nomenclatura predeterminado `net.peer.name` como `api.stripe.com`, `api.twilio.com` y `us6.api.mailchimp.com`. Las bases de datos inferidas utilizan el esquema de nomenclatura predeterminado `db.instance`. Puedes renombrar entidades inferidas creando [reglas de renombrado][5]. +Para determinar los nombres y tipos de los servicios dependientes inferidos, Datadog utiliza atributos estándar de tramo y los asocia a atributos `peer.*`. Por ejemplo, las APIs externas inferidas utilizan el esquema de nombres por defecto `net.peer.name` como `api.stripe.com`, `api.twilio.com` y `us6.api.mailchimp.com`. Las bases de datos inferidas utilizan el esquema de nombres por defecto `db.instance`. Puede renombrar entidades inferidas creando [reglas de renombrado][5]. -### Etiquetas (tags) pares +### Etiquetas de pares {#peer-tags} -Etiqueta par | Atributos de origen +Etiqueta de par | Atributos de fuente --------------------|------------------- `peer.aws.dynamodb.table` | `tablename` `peer.aws.kinesis.stream` | `streamname` @@ -143,44 +142,44 @@ Etiqueta par | Atributos de origen `peer.rpc.system` | `rpc.system` `peer.service` | `peer.service` -**Nota**: Los valores de atributos pares que coinciden con formatos de direcciones IP (por ejemplo, 127.0.0.1) se modifican y ofuscan con `blocked-ip-address` para evitar ruidos innecesarios y el etiquetado de métricas con dimensiones de alta cardinalidad. Como resultado, es posible que veas que algunos servicios `blocked-ip-address` aparecen como dependencias descendentes de tus servicios instrumentados. +**Nota**: Los valores de atributos de pares que coinciden con formatos de direcciones IP son modificados y redactados con `blocked-ip-address` para evitar ruido innecesario y el etiquetado de métricas con dimensiones de alta cardinalidad. Como resultado, puede encontrar que algunos servicios `blocked-ip-address` aparecen como dependencias descendentes de sus servicios instrumentados. -#### Prioridad de etiquetas pares +#### Precedencia de etiquetas de pares {#precedence-of-peer-tags} -Para asignar el nombre a las entidades inferidas, Datadog utiliza un orden específico de prioridad entre etiquetas pares, cuando las entidades se definen mediante una combinación de varias etiquetas. +Para asignar el nombre a entidades inferidas, Datadog utiliza un orden específico de precedencia entre etiquetas de pares, cuando las entidades se definen por una combinación de varias etiquetas. -Tipo de entidad | Orden de prioridad +Tipo de entidad | Orden de precedencia -----------|---------------- Base de datos | `peer.db.name` > `peer.aws.s3.bucket` (Para AWS S3) / `peer.aws.dynamodb.table` (Para AWS DynamoDB) / `peer.cassandra.contact.points` (Para Cassandra) / `peer.couchbase.seed.nodes` (Para Couchbase) > `peer.hostname` > `peer.db.system` -Cola | `peer.messaging.destination` > `peer.kafka.bootstrap.servers` (para Kafka) / `peer.aws.sqs.queue` (para AWS SQS) / `peer.aws.kinesis.stream` (Para AWS Kinesis) > `peer.messaging.system` +Cola | `peer.messaging.destination` > `peer.kafka.bootstrap.servers` (para Kafka) / `peer.aws.sqs.queue` (para AWS SQS) / `peer.aws.kinesis.stream` (para AWS Kinesis) > `peer.messaging.system` Servicio inferido | `peer.service` > `peer.rpc.service` > `peer.hostname` -Si la etiqueta con mayor prioridad, como `peer.db.name`, no se detecta como parte de la instrumentación, Datadog utiliza la segunda etiqueta con mayor prioridad, como `peer.hostname`, y continúa en ese orden. +Si la etiqueta de mayor prioridad, como `peer.db.name`, no se captura como parte de la instrumentación, Datadog utiliza la segunda etiqueta de mayor prioridad, como `peer.hostname`, y continúa en ese orden. -**Nota**: Datadog nunca define el `peer.service` para bases de datos y colas inferidas. `peer.service` es el atributo par con mayor prioridad. Si se define, tiene prioridad sobre todos los demás atributos. +**Nota**: Datadog nunca establece el `peer.service` para bases de datos y colas inferidas. `peer.service` es el atributo de par de mayor prioridad. Si se establece, tiene prioridad sobre todos los demás atributos. -## Migración a la nomenclatura global de servicios por defecto +## Migre a la nomenclatura global de servicios predeterminada {#migrate-to-global-default-service-naming} -Con los servicios inferidos, las dependencias de servicios se detectan automáticamente a partir de los atributos de tramo existentes. Como resultado, no es necesario cambiar los nombres de los servicios (utilizando la etiqueta `service`) para identificar estas dependencias. +Con los servicios inferidos, las dependencias de servicios se detectan automáticamente a partir de los atributos de tramo existentes. Como resultado, no es necesario cambiar los nombres de los servicios (usando la etiqueta `service`) para identificar estas dependencias. -Habilita `DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED` para asegurarte de que ninguna integración Datadog defina nombres de servicios diferentes del nombre global del servicio por defecto. Esto también mejora la forma en que las conexiones servicio-a-servicio y los servicios inferidos son representados en las visualizaciones de Datadog, a través de todos los lenguajes de bibliotecas de rastreo e integraciones compatibles. +Habilite `DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED` para asegurar que ninguna integración de Datadog establezca nombres de servicio que sean diferentes del nombre de servicio global predeterminado. Esto también mejora la forma en que se representan las conexiones de servicio a servicio y los servicios inferidos en las visualizaciones de Datadog, en todos los lenguajes compatibles con el SDK e integraciones compatibles. -
La activación de esta opción puede afectar a las métricas existentes de APM, las métricas personalizadas de tramo, los análisis de traza, los filtros de retención, los escaneos de datos confidenciales, los monitores, los dashboards o los notebooks que hacen referencia a los antiguos nombres de servicio. Actualiza estos activos para utilizar la etiqueta de servicio global predeterminada(service:<DD_SERVICE>).
+
Habilitar esta opción puede afectar las métricas de APM existentes, métricas de tramo personalizadas, análisis de trazas, filtros de retención, escaneos de datos sensibles, monitores, tableros o notebooks que hagan referencia a los antiguos nombres de servicio. Actualice estos activos para usar la etiqueta de servicio predeterminada global (service:<DD_SERVICE>).
-Para obtener instrucciones sobre cómo eliminar servicios anulados y migrar a servicios inferidos, consulta la guía [Anulación de servicios][4]. +Para instrucciones sobre cómo eliminar las sobreescrituras de servicio y migrar a servicios inferidos, consulte la [guía de sobreescrituras de servicio][4]. -[1]: /es/software_catalog/ +[1]: /es/internal_developer_portal/catalog/ [2]: /es/tracing/services/service_page [3]: /es/database_monitoring/ [4]: /es/tracing/guide/service_overrides [5]: /es/tracing/services/renaming_rules/ {{< /site-region >}} -{{< site-region region="gov" >}} -
La función de servicios inferidos no está disponible por defecto en tu centro de datos. Rellena este formulario para solicitar acceso.
+{{< site-region region="gov,gov2" >}} +
La función de Servicios Inferidos no está disponible por defecto en su centro de datos. Complete este formulario para solicitar acceso.
{{< /site-region >}} -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} \ No newline at end of file diff --git a/content/es/tracing/trace_collection/compatibility/java.md b/content/es/tracing/trace_collection/compatibility/java.md index f5d766ab1ba..86baf519ac2 100644 --- a/content/es/tracing/trace_collection/compatibility/java.md +++ b/content/es/tracing/trace_collection/compatibility/java.md @@ -5,214 +5,231 @@ aliases: - /es/tracing/setup_overview/compatibility_requirements/java code_lang: java code_lang_weight: 0 -description: 'Requisitos de compatibilidad del rastreador Java ' +description: Requisitos de compatibilidad para el trazador de Java further_reading: - link: tracing/trace_collection/dd_libraries/java tag: Documentación - text: Instrumentación de tu aplicación -title: Requisitos de compatibilidad Java -type: lenguaje de código múltiple + text: Instrumente su aplicación +title: Requisitos de compatibilidad de Java +type: multi-code-lang --- +## Compatibilidad {#compatibility} -## Compatibilidad +La biblioteca Datadog Trace para Java es de código abierto; consulte el [repositorio de GitHub][1] para más información. -La librería de rastreo Datadog Java es de código abierto. Para obtener más información, consulta el [repositorio GitHub][1]. +### Entornos de ejecución de Java compatibles {#supported-java-runtimes} -### Tiempos de ejecución compatibles Java +El trazador de Java admite la instrumentación automática para los siguientes entornos de ejecución de Oracle JDK, OpenJDK JVM y [GraalVM](#graalvm-native-image-support). -El rastreador Java es compatible con la instrumentación automática para los siguientes tiempos de ejecución Oracle JDK, OpenJDK JVM, y [GraalVM](#graalvm-native-image-support). - -#### Rastreador Java v1 (última versión) +#### Trazador de Java v1 (última versión) {#java-tracer-v1-latest} - - + - + - + - + - +
Versiones de Java + Versiones de Java Sistemas operativos Nivel de soporte
desde 22 en adelantedesde 27 en adelante Windows (x86, x86-64)
Linux (x86, x86-64, arm64)
Mac (x86, x86-64, arm64)
BetaVista previa
desde 18 a 21de 18 a 26 Windows (x86, x86-64)
Linux (x86, x86-64, arm64)
Mac (x86, x86-64, arm64)
GA
desde 8 a 17de 8 a 17 Windows (x86, x86-64)
Linux (x86, x86-64)
Mac (x86, x86-64)
GA
Linux (arm64)
Mac (arm64)
BetaVista previa
-Datadog no ofrece soporte oficial para ninguna versión de acceso anticipado de Java. +Datadog no soporta oficialmente ninguna versión de acceso anticipado de Java. -#### Rastreador Java v0 (mantenimiento) +#### Trazador de Java v0 {#java-tracer-v0} -| Versiones de Java | Sistemas operativos | Nivel de soporte | +| Versiones de Java | Sistemas Operativos | Nivel de soporte | |--------------------|---------------------------------------------------------------------------------|-----------------------------------| -| Sólo 7 | Windows (x86, x86-64)
Linux (x86, x86-64)
Mac (x86, x86-64) | [Mantenimiento](#levels-of-support) | -| Sólo 7 | Linux (arm64)
Mac (arm64) | [Fin de vida útil](#levels-of-support) | +| Solo 7 | Windows (x86, x86-64)
Linux (x86, x86-64)
Mac (x86, x86-64) | [Fin de vida](#levels-of-support) | +| Solo 7 | Linux (arm64)
Mac (arm64) | [End-of-life](#levels-of-support) | -### Niveles de soporte +### Niveles de soporte {#levels-of-support} | **Nivel** | **Soporte proporcionado** | |--------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| -| Sin soporte | Sin implementación. Por solicitudes especiales, ponte en contacto con el [servicio de asistencia de Datadog][2]. | -| Beta | Implementación inicial. Puede que aún no contenga todas las funciones. La compatibilidad con las nuevas funciones y la corrección de errores y problemas de seguridad se realiza en la medida de lo posible. | -| Disponibilidad general (GA) | Implementación completa de todas las funciones. Soporte completo para nuevas funciones y correcciones de errores y problemas de seguridad. | -| Mantenimiento | Implementación completa de las funciones existentes. No recibe nuevas funciones. Soporte sólo para correcciones de errores y problemas de seguridad. | -| Fin de vida útil (EOL) | Sin soporte. | +| No soportado | Sin implementación. Contacte a [soporte de Datadog][2] para solicitudes especiales. | +| Vista previa | Implementación inicial. Puede que aún no contenga todas las características. El soporte para nuevas características, correcciones de errores y de seguridad se brinda bajo el principio de mejor esfuerzo. | +| Disponibilidad General (GA) | Implementación completa de todas las características. Soporte completo para nuevas características y correcciones de errores y de seguridad. | +| Mantenimiento | Implementación completa de las características existentes. No recibe nuevas características. Soporte solo para correcciones de errores y de seguridad. | +| Fin de vida (EOL) | Sin soporte. | -## Integraciones +## Integrations {#integrations} -Las integraciones Beta están deshabilitadas por defecto, pero pueden habilitarse individualmente: +Las Integrations en la vista previa están deshabilitadas por defecto, pero se pueden habilitar individualmente: -- System Property: `-Ddd.integration..enabled=true` +- Propiedad del sistema: `-Ddd.integration..enabled=true` - Variable de entorno: `DD_INTEGRATION__ENABLED=true` -### Compatibilidad con web frameworks - -`dd-java-agent` incluye soporte para rastrear automáticamente los siguientes web frameworks. - -**El rastreo de web frameworks proporciona:** - -- temporización de solicitud a respuesta HTTP -- etiquetas (tags) para la solicitud HTTP (código de estado, método, etc.) -- captura de errores y trazas de stacks tecnológicos -- vinculación del trabajo creado dentro de una solicitud web y rastreo distribuido - -| Servidor | Versiones | Tipo de soporte | Nombres de instrumentaciones (utilizados para la configuración) | -|-------------------------|------------|-----------------------------------------------------|----------------------------------------------------------| -| Servidor Akka-Http | 10.0 o posterior | Totalmente compatible | `akka-http`, `akka-http-server` | -| Finatra Web | 2.9 o posterior | Totalmente compatible | `finatra` | -| Grizzly | 2.0 o posterior | Totalmente compatible | `grizzly` | -| Grizzly-HTTP | 2.3.20 o posterior | Totalmente compatible | `grizzly-filterchain` | -| Java Servlet compatible | 2.3, 3.0 o posterior | Totalmente compatible | `servlet`, `servlet-2`, `servlet-3` | -| Anotaciones Jax-RS | JSR311-API | Totalmente compatible | `jax-rs`, `jaxrs`, `jax-rs-annotations`, `jax-rs-filter` | -| Jetty | 7.0-12.x | Totalmente compatible | `jetty` | -| Servidor HTTP Micronaut | 2.x | Totalmente compatible | `micronaut` | -| Mulesoft | 4 | Totalmente compatible | `mule` | -| Servidor HTTP Netty | 3.8 o posterior | Totalmente compatible | `netty`, `netty-3.8`, `netty-4.0`, `netty-4.1` | -| Play | 2.3-2.8 | Totalmente compatible | `play`, `play-action` | -| Ratpack | 1.5 o posterior | Totalmente compatible | `ratpack` | -| Servidor HTTP Restlet | 2.2-2.4 | Totalmente compatible | `restlet-http`. | -| Spark Java | 2.3 o posterior | [Beta](#framework-integrations-disabled-by-default) | `sparkjava` (requiere `jetty`) | -| Spring Boot | 1.5 o posterior | Totalmente compatible | `spring-web` o `spring-webflux` | -| Spring Web (MVC) | 4.0 o posterior | Totalmente compatible | `spring-web` | -| Spring WebFlux | 5.0 o posterior | Totalmente compatible | `spring-webflux` | -| Tomcat | 5.5 o posterior | Totalmente compatible | `tomcat` | -| Vert.x | 3.4 o posterior | Totalmente compatible | `vertx`, `vertx-3.4`, `vertx-3.9`, `vertx-4.0` | +### Compatibilidad con marcos web {#web-framework-compatibility} + +`dd-java-agent` incluye soporte para rastrear automáticamente los siguientes marcos web. + +**El rastreo de marcos web proporciona:** + +- Medición del tiempo de la solicitud HTTP a la respuesta +- etiquetas para la solicitud HTTP (código de estado, método, etc.) +- captura de errores y stacktrace +- vinculación del trabajo creado dentro de una solicitud web y Distributed Tracing + +| Servidor | Versiones | Tipo de soporte | Nombres de instrumentación (utilizados para configuración) | +|-------------------------|--------------|--------------------------------------------------------|------------------------------------------------------------| +| Servidor Akka-Http | 10.0+ | Totalmente soportado | `akka-http`, `akka-http-server` | +| Apache Pekko | 1.0+ | Totalmente soportado | `pekko-http`, `pekko-http-server` | +| Finatra Web | 2.9+ | Totalmente soportado | `finatra` | +| Grizzly | 2.0+ | Totalmente soportado | `grizzly` | +| Grizzly-HTTP | 2.3.20+ | Totalmente soportado | `grizzly-filterchain` | +| Compatible con Java Servlet | 2.3+, 3.0+ | Totalmente soportado | `servlet`, `servlet-2`, `servlet-3` | +| Anotaciones Jax-RS | JSR311-API | Totalmente soportado | `jax-rs`, `jaxrs`, `jax-rs-annotations`, `jax-rs-filter` | +| Jetty | 7.0-12.x | Totalmente soportado | `jetty` | +| Servidor HTTP de Micronaut | 2.x+ | Totalmente Soportado | `micronaut` | +| Mulesoft | 4.5.0+ | Totalmente Soportado | `mule` | +| Servidor HTTP de Netty | 3.8+ | Totalmente Soportado | `netty`, `netty-3.8`, `netty-4.0`, `netty-4.1` | +| Play | 2.3-2.8 | Totalmente Soportado | `play`, `play-action` | +| Ratpack | 1.5+ | Totalmente Soportado | `ratpack` | +| Servidor HTTP de Restlet | 2.2 - 2.4 | Totalmente Soportado | `restlet-http`. | +| Spark Java | 2.3+ | [vista previa](#framework-integrations-disabled-by-default) | `sparkjava` (requiere `jetty`) | +| Spring Boot | 1.5+ | Totalmente Soportado | `spring-web` o `spring-webflux` | +| Spring Web (MVC) | 4.0+ | Totalmente Soportado | `spring-web` | +| Spring WebFlux | 5.0+ | Totalmente Soportado | `spring-webflux` | +| Tomcat | 5.5+ | Totalmente Soportado | `tomcat` | +| Undertow | 2.0+ | Totalmente Soportado | `undertow` | +| Vert.x | 3.4 - 5.x | Totalmente Soportado | `vertx`, `vertx-3.4`, `vertx-3.9`, `vertx-4.0`, `vertx-5.0`| +| Websocket (JSR356) | 1.0+ | [vista previa](#framework-integrations-disabled-by-default) | `websocket` | **Nota**: Muchos servidores de aplicaciones son compatibles con Servlet y están cubiertos automáticamente por esa instrumentación, como Websphere, Weblogic y JBoss. -Además, los marcos como Spring Boot (versión 3) funcionan de forma inherente porque suelen utilizar un servidor de aplicaciones integrado compatible, como Tomcat, Jetty o Netty. +Además, frameworks como Spring Boot (versión 3) funcionan inherentemente porque generalmente utilizan un servidor de aplicaciones embebido soportado, como Tomcat, Jetty o Netty. -### Integraciones de marcos deshabilitadas por defecto +### Framework Integrations Desactivadas por Defecto {#framework-integrations-disabled-by-default} -Las siguientes instrumentaciones están deshabilitadas por defecto y pueden habilitarse con los siguientes parámetros: +Las siguientes instrumentaciones están desactivadas por defecto y se pueden habilitar con las siguientes configuraciones: -| Instrumentación | Para habilitar | -|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------| -| JAX-WS | `-Ddd.integration.jax-ws.enabled=true` | -| Mulesoft | `-Ddd.integration.mule.enabled=true`, `-Ddd.integration.grizzly-client.enabled=true`, `-Ddd.integration.grizzly-filterchain.enabled=true` | -| Grizzly | `-Ddd.integration.grizzly-client.enabled=true` | -| Grizzly-HTTP | `-Ddd.integration.grizzly-filterchain.enabled=true` | -| Ning | `-Ddd.integration.ning.enabled=true` | -| Spark Java | `-Ddd.integration.sparkjava.enabled=true` | -| Hazelcast | `-Ddd.integration.hazelcast.enabled=true`
`-Ddd.integration.hazelcast_legacy.enabled=true` | -| TIBCO BusinessWorks | `-Ddd.integration.tibco.enabled=true` | +| Instrumentación | Para Habilitar | +|------------------------------|----------------------------------------------------------------------------------------------------------| +| Grizzly | `-Ddd.integration.grizzly-client.enabled=true` | +| Grizzly-HTTP | `-Ddd.integration.grizzly-filterchain.enabled=true` | +| Hazelcast (solo del lado del cliente) | `-Ddd.integration.hazelcast.enabled=true`
`-Ddd.integration.hazelcast_legacy.enabled=true` | +| Ignite | `-Ddd.integration.ignite.enabled=true` | +| JAX-WS | `-Ddd.integration.jax-ws.enabled=true` | +| JDBC Datasource | `-Ddd.integration.jdbc-datasource.enabled=true` | +| Mulesoft | `-Ddd.integration.mule.enabled=true` | +| Netty Promise | `-Ddd.integration.netty-promise.enabled=true` | +| Ning | `-Ddd.integration.ning.enabled=true` | +| Spark Java | `-Ddd.integration.sparkjava.enabled=true` | +| TIBCO BusinessWorks | `-Ddd.integration.tibco.enabled=true` | +| Conexión URL | `-Ddd.integration.urlconnection.enabled=true`
`-Ddd.integration.httpurlconnection.enabled=true` | +| Websocket | `-Ddd.trace.websocket.messages.enabled=true` | +| ZIO | `-Ddd.integration.zio.experimental.enabled=true` | -**Nota**: La integración JAX-WS instrumenta endpoints anotados con @WebService (JAX-WS 1.x) y @WebServiceProvider (JAX-WS 2.x). +**Nota**: La integración JAX-WS instrumenta puntos de conexión anotados con @WebService (JAX-WS 1.x) y @WebServiceProvider (JAX-WS 2.x). -¿No encuentras el marco web que buscas? Datadog añade continuamente soporte adicional. Si necesitas ayuda, ponte en contacto con el [servicio de asistencia de Datadog][2]. +¿No ve los frameworks web que desea? Datadog está continuamente agregando soporte adicional. Contacte a [Datadog support][2] si necesita ayuda. -### Compatibilidad con marcos de red +### Compatibilidad del networking framework {#networking-framework-compatibility} -`dd-java-agent` incluye soporte para rastrear automáticamente las siguientes estructuras de red. +`dd-java-agent` incluye soporte para rastrear automáticamente los siguientes marcos de trabajo de red. -**El rastreo de redes proporciona:** +**El rastreo de red proporciona:** -- temporización de solicitud a respuesta +- tiempo entre solicitud y respuesta - etiquetas para la solicitud (por ejemplo, código de respuesta) -- captura de errores y trazas de stacks tecnológicos +- captura de errores y trazas de pila - rastreo distribuido -| Marco | Versiones | Tipo de soporte | Nombres de instrumentaciones (utilizados para la configuración) | -|------------------------------------|-------------|-----------------------------------------------------|---------------------------------------------------------| -| Cliente HTTP Apache | 4.0 o posterior | Totalmente compatible | `httpclient`, `apache-httpclient`, `apache-http-client` | -| Cliente HTTP Async Apache | 4.0 o posterior | Totalmente compatible | `httpasyncclient`, `apache-httpasyncclient` | -| SDK Java AWS | 1.11, 2.2 o posterior | Totalmente compatible | `aws-sdk` | -| Camel-OpenTelemetry | 3.12.0 o posterior | Beta | [opentelemetry-1][5] | -| Cliente HTTP Commons | 2.0 o posterior | Totalmente compatible | `commons-http-client` | -| Cliente HTTP Google | 1.19.0 o posterior | Totalmente compatible | `google-http-client` | -| Google Pub/Sub | 1.116.0 o posterior | Totalmente compatible | `google-pubsub` | -| Cliente HTTP Grizzly | 1.9 o posterior | [Beta](#framework-integrations-disabled-by-default) | `grizzly-client` | -| gRPC | 1.5 o posterior | Totalmente compatible | `grpc`, `grpc-client`, `grpc-server` | -| HttpURLConnection | todos | Totalmente compatible | `httpurlconnection`, `urlconnection` | -| Clientes Kafka | 0.11 o posterior | Totalmente compatible | `kafka` | -| Flujos Kafka | 0.11 o posterior | Totalmente compatible | `kafka`, `kafka-streams` | -| RMI Java | todos | Rastreo distribuido no soportado | `rmi`, `rmi-client`, `rmi-server` | -| Clientes Jax RS | 2.0 o posterior | Totalmente compatible | `jax-rs`, `jaxrs`, `jax-rs-client` | -| Cliente Jersey | 1.9-2.29 | Totalmente compatible | `jax-rs`, `jaxrs`, `jax-rs-client` | -| JMS / Jakarta JMS | 1-3.0 o posterior | Totalmente compatible | `jms`, `jms-1`, `jms-2`, `jakarta-jms` | -| Cliente HTTP Netty | 4.0 o posterior | Totalmente compatible | `netty`, `netty-4.0`, `netty-4.1` | -| Cliente HTTP Ning | 1.9.0 o posterior | [Beta](#framework-integrations-disabled-by-default) | `ning` | -| OkHTTP | 2.2 o posterior | Totalmente compatible | `okhttp`, `okhttp-2`,`okhttp-3` | -| Cliente Play WS | 1.0 o posterior | Totalmente compatible | `play-ws` | -| Rabbit AMQP | 2.7 o posterior | Totalmente compatible | `amqp`, `rabbitmq` | -| Spring SessionAwareMessageListener | 3.1 o posterior | Totalmente compatible | `spring-jms-3.1` | -| Cliente Spring Web | 5.0 o posterior | Totalmente compatible | `spring-webflux`, `spring-webflux-client` | - -**Nota de Kafka**: La integración Kafka de Datadog funciona con la versión de Kafka `0.11+`, que soporta la API de cabecera. Esta API se utiliza para inyectar y extraer contextos de rastreo. Si estás ejecutando un entorno de versión mixta, el broker de Kafka podría informar incorrectamente de la versión más reciente de Kafka. Esto causa un problema cuando el rastreador intenta inyectar cabeceras que no son soportadas por el productor local. Además, los consumidores más antiguos no pueden consumir el mensaje debido a la presencia de cabeceras. Para evitar estos problemas, si estás ejecutando un entorno de versión mixta de Kafka con versiones anteriores a la v0.11, deshabilita la propagación de contexto con la variable de entorno: `DD_KAFKA_CLIENT_PROPAGATION_ENABLED=false`. - -**Nota de JMS**: La integración JMS de Datadog añade y lee automáticamente propiedades de los objetos de mensajes `x__dash__datadog__dash__trace__dash__id` y `x__dash__datadog__dash__parent__dash__id` para mantener la propagación del contexto entre los servicios del consumidor y el productor. - -**Nota de Camel**: No se admite la propagación de rastreo distribuido a través de rutas Camel. - -¿No encuentras el marco de red que buscas? Datadog añade continuamente soporte adicional. Si necesitas ayuda, ponte en contacto con el [servicio de asistencia de Datadog][2]. - -### Compatibilidad con almacenes de datos - -`dd-java-agent` incluye soporte para rastrear automáticamente los siguientes marcos/controladores de bases de datos. - -**El rastreo del almacén de datos proporciona:** - -- temporización de solicitud a respuesta -- información de la consulta (por ejemplo, una cadena de consulta desinfectada) -- captura de errores y trazas de stacks tecnológicos - -| Base de datos | Versiones | Tipo de soporte | Nombres de instrumentaciones (utilizados para la configuración) | +| Marco de trabajo | Versiones | Tipo de Soporte | Nombres de Instrumentación (utilizados para configuración) | +|------------------------------------|-------------|--------------------------------------------------------|---------------------------------------------------------| +| Cliente HTTP de Apache | 4.0+ | Totalmente Soportado | `httpclient`, `apache-httpclient`, `apache-http-client` | +| Cliente HTTP Asíncrono de Apache | 4.0+ | Totalmente Soportado | `httpasyncclient`, `apache-httpasyncclient` | +| AWS Java SDK | 1.11+, 2.2+ | Totalmente Soportado | `aws-sdk` | +| Camel-OpenTelemetry | 3.12.0+ | Vista Previa | [opentelemetry-1][5] | +| Cliente HTTP de Commons | 2.0+ | Totalmente Soportado | `commons-http-client` | +| Cliente HTTP de Google | 1.19.0+ | Totalmente Soportado | `google-http-client` | +| Google Pub/Sub | 1.116.0+ | Totalmente Soportado | `google-pubsub` | +| Cliente HTTP de Grizzly | 1.9+ | [Vista Previa](#framework-integrations-disabled-by-default) | `grizzly-client` | +| gRPC | 1.5+ | Totalmente Soportado | `grpc`, `grpc-client`, `grpc-server` | +| HttpURLConnection | todo | Totalmente Soportado | `httpurlconnection`, `urlconnection` | +| Kafka-Clients | 0.11+ | Totalmente Soportado | `kafka` | +| Kafka-Streams | 0.11+ | Totalmente Soportado | `kafka`, `kafka-streams` | +| Java RMI | todo | El rastreo distribuido no está soportado | `rmi`, `rmi-client`, `rmi-server` | +| Jax RS Clients | 2.0+ | Totalmente Soportado | `jax-rs`, `jaxrs`, `jax-rs-client` | +| Jersey Client | 1.9-2.29 | Totalmente Soportado | `jax-rs`, `jaxrs`, `jax-rs-client` | +| JMS / Jakarta JMS | 1-3.0+ | Totalmente Soportado | `jms`, `jms-1`, `jms-2`, `jakarta-jms` | +| Netty HTTP Client | 4.0+ | Totalmente Soportado | `netty`, `netty-4.0`, `netty-4.1` | +| Ning HTTP Client | 1.9.0+ | [Vista Previa](#framework-integrations-disabled-by-default) | `ning` | +| OkHTTP | 2.2+ | Totalmente soportado | `okhttp`, `okhttp-2`, `okhttp-3` | +| Play WSClient | 1.0+ | Totalmente soportado | `play-ws` | +| Rabbit AMQP | 2.7+ | Totalmente soportado | `amqp`, `rabbitmq` | +| SOFA RPC | 5.0+ | Totalmente soportado | `sofarpc` | +| Spring SessionAwareMessageListener | 3.1+ | Totalmente soportado | `spring-jms-3.1` | +| Spring WebClient | 5.0+ | Totalmente soportado | `spring-webflux`, `spring-webflux-client` | + +**Kafka Note**: La integración de Kafka de Datadog funciona con la versión de Kafka `0.11+`, que soporta la Header API. Esta API se utiliza para inyectar y extraer el contexto de traza. Si está ejecutando un entorno de versiones mixtas, el broker de Kafka puede informar incorrectamente la versión más nueva de Kafka. Esto causa un problema cuando el SDK intenta inyectar encabezados que no son soportados por el productor local. Además, los consumidores más antiguos no pueden consumir el mensaje debido a la presencia de encabezados. Para prevenir estos problemas, si está ejecutando un entorno de Kafka de versiones mixtas con versiones anteriores a 0.11, desactive la propagación de contexto con la variable de entorno: `DD_KAFKA_CLIENT_PROPAGATION_ENABLED=false`. + +**Nota de JMS**: La integración de JMS de Datadog agrega y lee automáticamente las propiedades del objeto de mensaje `x__dash__datadog__dash__trace__dash__id` y `x__dash__datadog__dash__parent__dash__id` para mantener la propagación del contexto entre los servicios de consumidor y productor. + +**Camel Note**: La propagación del rastreo distribuido a través de rutas de Camel no es compatible. + +**Nota de SOFA RPC**: La integración de SOFA RPC de Datadog admite los protocolos de transporte Bolt, Triple y REST. Triple utiliza transporte gRPC; el rastreo distribuido para las llamadas de Triple requiere que la `grpc` integración permanezca habilitada. + +¿No ve el marco de red que desea? Datadog está continuamente agregando soporte adicional. Contacte a [soporte de Datadog][2] si necesita ayuda. + +### Compatibilidad con Datastore {#data-store-compatibility} + +`dd-java-agent` incluye soporte para rastrear automáticamente los siguientes marcos/drivers de bases de datos. + +**El rastreo de Datastore proporciona:** + +- tiempo entre solicitud y respuesta +- información de consulta (por ejemplo, una cadena de consulta sanitizada) +- captura de errores y trazas de pila + +| Base de datos | Versiones | Tipo de soporte | Nombres de instrumentación (utilizados para la configuración) | |-------------------------|----------|-----------------|--------------------------------------------------------------------------------------------| -| Aerospike | 4.0 o posterior | Totalmente compatible | `aerospike` | -| Couchbase | 2.0 o posterior | Totalmente compatible | `couchbase` | -| Cassandra | 3.0 o posterior | Totalmente compatible | `cassandra` | -| Elasticsearch Transport | 2.0 o posterior | Totalmente compatible | `elasticsearch`, `elasticsearch-transport`, `elasticsearch-transport-{2,5,6,7}` (elige uno) | -| Elasticsearch Rest | 5.0 o posterior | Totalmente compatible | `elasticsearch`, `elasticsearch-rest`, `elasticsearch-rest-{5,6,7}` (elige uno) | -| JDBC | N/A | Totalmente compatible | `jdbc`, `jdbc-datasource` | -| Jedis | 1.4 o posterior | Totalmente compatible | `jedis`, `redis` | -| Lettuce | 4.0 o posterior | Totalmente compatible | `lettuce`, `lettuce-4-async`, `lettuce-5-rx` | -| MongoDB | 3.0-4.0 o posterior | Totalmente compatible | `mongo` | -| OpenSearch Rest | 1.x-2.x | Totalmente compatible | `opensearch`, `opensearch-rest` | -| OpenSearch Transport | 1.x-2.x | Totalmente compatible | `opensearch`, `opensearch-transport` | -| RediScala | 1.5 o posterior | Totalmente compatible | `rediscala`, `redis` | -| Redisson | 2.x-3.x | Totalmente compatible | `redisson`, `redis` | -| SpyMemcached | 2.12 o posterior | Totalmente compatible | `spymemcached` | -| Cliente Vert.x Cassandra | 3.9 o posterior | Totalmente compatible | `cassandra` | -| Cliente Vert.x Redis | 3.9 | Totalmente compatible | `vertx-redis-client` | -| Cliente MySQL Vert.x | 3.9 o posterior | Totalmente compatible | `vertx-sql-client` | - -`dd-java-agent` también es compatible con los controladores JDBC más comunes, incluidos: +| Aerospike | 4.0+ | Totalmente soportado | `aerospike` | +| Couchbase | 2.0+ | Totalmente soportado | `couchbase` | +| Cassandra | 3.0+ | Totalmente soportado | `cassandra` | +| Elasticsearch Transport | 2.0+ | Totalmente soportado | `elasticsearch`, `elasticsearch-transport`, `elasticsearch-transport-{2,5,6,7}` (elige uno) | +| Elasticsearch Rest | 5.0+ | Totalmente soportado | `elasticsearch`, `elasticsearch-rest`, `elasticsearch-rest-{5,6,7}` (elige uno) | +| Ignite | 2.0-3.0 | [Vista Previa](#framework-integrations-disabled-by-default) | `ignite` | +| JDBC | N/A | Totalmente soportado | `jdbc`, `jdbc-datasource` | +| Jedis | 1.4+ | Totalmente soportado | `jedis`, `redis` | +| Lettuce | 4.0+ | Totalmente soportado | `lettuce`, `lettuce-4-async`, `lettuce-5-rx` | +| MongoDB | 3.0-4.0+ | Totalmente soportado | `mongo` | +| OpenSearch Rest | 1.x-2.x | Totalmente soportado | `opensearch`, `opensearch-rest` | +| OpenSearch Transport | 1.x-2.x | Totalmente soportado | `opensearch`, `opensearch-transport` | +| RediScala | 1.5+ | Totalmente soportado | `rediscala`, `redis` | +| Redisson | 2.x-3.x | Totalmente soportado | `redisson`, `redis` | +| SpyMemcached | 2.12+ | Totalmente soportado | `spymemcached` | +| Vert.x Cassandra Client | 3.9-4.x | Totalmente soportado | `cassandra` | +| Vert.x Redis Client | 3.9-4.x | Totalmente soportado | `vertx-redis-client` | +| Vert.x MySQL Client | 3.9-4.x | Totalmente soportado | `vertx-sql-client` | + +**Nota**: Redis 6.0+ soporta autenticación en línea en comandos como `HELLO`, `MIGRATE`, y `ACL SETUSER`. + + - **Datadog Trace Agent**: La versión mínima requerida y recomendada es `7.76.1` para asegurar que los parámetros de autenticación se ofusquen automáticamente en los metadatos de trazas. + - **Datadog Lambda Extension** (Serverless environments): La versión mínima requerida es `v28.0.0`. + +`dd-java-agent` también es compatible con drivers JDBC comunes, incluyendo: - Apache Derby - Firebird SQL -- Motor de base de datos H2 +- H2 Database Engine - HSQLDB - IBM DB2 - MariaDB @@ -222,113 +239,159 @@ Las siguientes instrumentaciones están deshabilitadas por defecto y pueden habi - Postgres SQL - ScalikeJDBC -### Integraciones de bases de datos deshabilitadas por defecto +### Integraciones de base de datos deshabilitadas por defecto {#database-integrations-disabled-by-default} -Las siguientes instrumentaciones están deshabilitadas por defecto y pueden habilitarse con los siguientes parámetros: +Las siguientes instrumentaciones están desactivadas por defecto y se pueden habilitar con la siguiente configuración: -| Instrumentación | Para habilitar | +| Instrumentación | Para habilitar | |-------------------|-------------------------------------------------| -| Fuente de datos JDBC | - System Property: `-Ddd.integration.jdbc-datasource.enabled=true`
- Environment Variable: `DD_INTEGRATION_JDBC_DATASOURCE_ENABLED=true` | +| JDBC-Datasource | - Propiedad del sistema: `-Ddd.integration.jdbc-datasource.enabled=true`
- Variable de entorno: `DD_INTEGRATION_JDBC_DATASOURCE_ENABLED=true` | -¿No encuentras los almacenes de datos que buscas? Datadog añade continuamente soporte adicional. Si necesitas ayuda, ponte en contacto con el [servicio de asistencia de Datadog][2]. +¿No ve sus almacenes de datos deseados? Datadog está continuamente agregando soporte adicional. Contacte a [soporte de Datadog][2] si necesita ayuda. -### Compatibilidad con marcos adicionales +### Compatibilidad adicional con frameworks {#additional-framework-compatibility} -`dd-java-agent` incluye soporte para rastrear automáticamente los siguientes marcos. +`dd-java-agent` incluye soporte para rastrear automáticamente los siguientes frameworks. -| Marco | Versiones | Tipo de soporte | Nombres de instrumentaciones (utilizados para la configuración) | -|-------------------|------------|------------------------------------------------------------------|------------------------------------------------| -| Datanucleus JDO | 4.0 o posterior | Totalmente compatible | `datanucleus` | -| Vistas de Dropwizard | 0.7 o posterior | Totalmente compatible | `dropwizard`, `dropwizard-view` | -| GraphQL | 14.0 o posterior | Totalmente compatible | `graphql-java` | -| Hazelcast | 3.6 o posterior | [Beta](#framework-integrations-disabled-by-default) | `hazelcast`, `hazelcast_legacy` | -| Hibernate | 3.5 o posterior | Totalmente compatible | `hibernate`, `hibernate-core` | -| Hystrix | 1.4 o posterior | Totalmente compatible | `hystrix` | -| Renderizado JSP | 2.3 o posterior | Totalmente compatible | `jsp`, `jsp-render`, `jsp-compile` | -| JUnit | 4.1, 5.3 o posterior | Totalmente compatible | `junit`, `junit-4`, `junit-5` | -| Project Reactor | 3.1 o posterior | Totalmente compatible | `reactor-core` | -| Quartz | 2.x | Totalmente compatible | `quartz` | -| RxJava | 2.x | Totalmente compatible | `rxjava` | -| Datos de Spring | 1.8 o posterior | Totalmente compatible | `spring-data` | -| Programación de Spring | 3.1 o posterior | Totalmente compatible | `spring-scheduling` | -| TIBCO BusinessWorks | 5.14.0 o posterior | [Beta](#framework-integrations-disabled-by-default) | `tibco`, `tibco_bw` | -| SDK de Twilio | Anterior a 8.0 | Totalmente compatible | `twilio-sdk` | +| Framework | Versiones | Tipo de soporte | Nombres de instrumentación (utilizados para configuración) | +|---------------------|------------------|--------------------------------------------------------|------------------------------------------------| +| Apache CXF (Jax-WS) | 3.0+ | [Extensión OpenTelemetry][10] | `cxf` | +| Datanucleus JDO | 4.0+ | Totalmente Compatible | `datanucleus` | +| Dropwizard Views | 0.7+ | Totalmente Compatible | `dropwizard`, `dropwizard-view` | +| GraphQL | 14.0+ | Totalmente Compatible | `graphql-java` | +| Hazelcast (cliente) | 3.6+ | [Vista Previa](#framework-integrations-disabled-by-default) | `hazelcast`, `hazelcast_legacy` | +| Hibernate | 3.5+ | Totalmente Compatible | `hibernate`, `hibernate-core` | +| Hystrix | 1.4+ | Totalmente Compatible | `hystrix` | +| Renderizado JSP | 2.3+ | Totalmente Compatible | `jsp`, `jsp-render`, `jsp-compile` | +| JUnit | 4.1+, 5.3+ | Totalmente Compatible | `junit`, `junit-4`, `junit-5` | +| Corutinas de Kotlin | 1.3+ | Totalmente Compatible | `kotlin_coroutine` | +| Project Reactor | 3.1+ | Totalmente Compatible | `reactor-core` | +| Quartz | 2.x | Totalmente Compatible | `quartz` | +| RxJava | 2.x | Totalmente Compatible | `rxjava` | +| Spring Data | 1.8+ | Totalmente Compatible | `spring-data` | +| Spring Scheduling | 3.1+ | Totalmente Compatible | `spring-scheduling` | +| TIBCO BusinessWorks | 5.14.0 - 6.11.0 | [Vista Previa](#framework-integrations-disabled-by-default) | `tibco`, `tibco_bw` | +| Twilio SDK | < 8.0 | Totalmente Compatible | `twilio-sdk` | -¿No encuentras el marco que buscas? Datadog está añadiendo soporte continuamente. Para solicitar un marco, ponte en contacto con nuestro magnífico [equipo de asistencia][2]. +¿No encuentra los frameworks deseados? Datadog está continuamente agregando soporte adicional. Para solicitar un framework, contacte a nuestro excelente [equipo de soporte][2]. -Para mejorar la visibilidad de las aplicaciones que utilizan marcos no soportados, considera: +Para mejorar la visibilidad en aplicaciones que utilizan frameworks no soportados, considere: -- [Añadir una instrumentación][3]. -- [Enviar una solicitud pull][4] con instrumentación para su inclusión en una futura versión. -- Ponerte en contacto con el [servicio de asistencia de Datadog][2] y solicitar una función. +- [Agregar instrumentación personalizada][3]. +- [Enviar un pull request][4] con instrumentación para su inclusión en una futura versión. +- Contacte a [soporte de Datadog][2] y envíe una solicitud de funcionalidad. -### Deshabilitación de integraciones +### Deshabilitando integraciones {#disabling-integrations} La mayoría de las integraciones están habilitadas por defecto. La siguiente configuración puede cambiar el valor predeterminado a deshabilitado. -- System Property: `-Ddd.integrations.enabled=false` +- Propiedad del sistema: `-Ddd.integrations.enabled=false` - Variable de entorno: `DD_INTEGRATIONS_ENABLED=false` -Las integraciones pueden habilitarse o deshabilitarse individualmente (anulando el valor predeterminado anterior). +Las integraciones pueden ser habilitadas o deshabilitadas individualmente (sobrescribiendo el valor predeterminado anterior). -- System Property: `-Ddd.integration..enabled=true` +- Propiedad del sistema: `-Ddd.integration..enabled=true` - Variable de entorno: `DD_INTEGRATION__ENABLED=true` -(Consulta más arriba el nombre de cada integración.) +(Consulte arriba el nombre de cada una de las integraciones.) + +### Problemas conocidos {#known-issues} + +- No se admite la ejecución del rastreador de Java en Bitbucket. +- Cargar múltiples Agentes de Java que realicen funciones de APM/rastreo no es una configuración recomendada ni admitida. +- Al ejecutar el SDK con Java 24+, puede ver advertencias relacionadas con el acceso nativo de JNI. Suprima estas advertencias agregando el `--enable-native-access=ALL-UNNAMED` indicador. Consulte [JEP 472][13] para más información. + +## Soporte de carga y enlace de clases anticipadas (AOT) {#ahead-of-time-aot-class-loading-linking-support} + +Para mejorar el tiempo de inicio, la carga y enlace de clases anticipadas (AOT) hace que las clases de la aplicación estén instantáneamente disponibles en un estado cargado y enlazado cuando se inicia la JVM. Consulte [JEP 483][14] y [JEP 514][15] para más información. + +### Requisitos {#requirements} + +Usar: + +- Java 25 o posterior +- [Datadog Java SDK][1] 1.57.0 o posterior + +### Configuración {#setup} + +Para configurar la carga y vinculación de clases AOT para APM, agregue el Datadog Java SDK durante la ejecución de entrenamiento: + +```shell +java -javaagent:/path/to/dd-java-agent.jar -XX:AOTCacheOutput=app.aot -jar App.jar +``` + +#### Uso {#usage} + +Durante la producción, agregue el mismo Datadog Java SDK junto con los datos de entrenamiento previamente almacenados en caché: + +```shell +java -javaagent:/path/to/dd-java-agent.jar -XX:AOTCache=app.aot -jar App.jar +``` + +Puede ver trazas utilizando el [Trace Explorer][9]. -### Problemas conocidos +{{% collapse-content title="Resolución de problemas" level="h4" %}} +##### No adjuntar el Datadog Java SDK durante la ejecución de entrenamiento {#not-attaching-the-datadog-java-sdk-during-the-training-run} -- La ejecución del rastreador Java en Bitbucket no es compatible. -- La carga de varios Agents Java que realizan funciones de APM/rastreo no es una configuración recomendada o compatible. +Si ve esta advertencia en producción, significa que el Datadog Java SDK no fue adjuntado durante el entrenamiento: + +``` +Mismatched values for property jdk.module.addmods: java.instrument specified during runtime but not during dump time +``` +La JVM no puede utilizar la caché AOT para mejorar el tiempo de inicio. La solución es adjuntar el Datadog Java SDK durante el entrenamiento. + +{{% /collapse-content %}} -## Soporte de GraalVM Native Image +## Soporte para GraalVM Native Image {#graalvm-native-image-support} -GraalVM Native Image es una tecnología que permite compilar aplicaciones Java en ejecutables nativos. El rastreador Java de Datadog es compatible con GraalVM Native Image. Esto te permite compilar tus aplicaciones en ejecutables nativos y seguir disfrutando de las capacidades de rastreo que ofrece la librería. +GraalVM Native Image es una tecnología que permite compilar aplicaciones Java en ejecutables nativos. El Datadog Java SDK es compatible con GraalVM Native Image. Esto le permite compilar sus aplicaciones en ejecutables nativos mientras sigue beneficiándose de las capacidades de trazado que ofrece la biblioteca. -### Requisitos +### Requisitos {#requirements-1} -Utiliza: +Usar: -- [GraalVM JDK 21][7] -- [Rastreador Java de Datadog][1] +- [GraalVM JDK 21 o JDK 25][7] +- [Datadog Java SDK][1] -### Configuración +### Configuración {#setup-1} {{< tabs >}} {{% tab "GraalVM" %}} -Para configurar el rastreador Java de Datadog con GraalVM Native Image, sigue los pasos a continuación: +Para configurar el Datadog Java SDK con GraalVM Native Image, siga estos pasos: -1. Instrumenta tu aplicación, siguiendo los pasos descritos en [Rastreo de aplicaciones Java][6]. -2. Cuando crees un ejecutable nativo con el comando `native-image`, añade el argumento `-J-javaagent:/path/to/dd-java-agent.jar`. Por ejemplo: +1. Instrumente su aplicación, siguiendo los pasos descritos en [Tracing Java Applications][6]. +2. Cuando construya un ejecutable nativo con el comando `native-image`, agregue el argumento `-J-javaagent:/path/to/dd-java-agent.jar`. Por ejemplo: ```shell native-image -J-javaagent:/path/to/dd-java-agent.jar -jar App.jar ``` -3. (Opcional) Habilita la integración del generador de perfiles añadiendo el siguiente argumento: +3. (Opcional) Habilite la integración del perfilador agregando el siguiente argumento: `-J-Ddd.profiling.enabled=true --enable-monitoring=jfr`. + - Para versiones del tracer anteriores a `1.39.1`, al ejecutar el ejecutable nativo generado, asegúrese de que `DD_PROFILING_START_FORCE_FIRST=true` esté configurado como una variable de entorno. [6]: /es/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/ {{% /tab %}} {{% tab "Quarkus Native" %}} -Para configurar el rastreador Java de Datadog con Quarkus Native, sigue los pasos a continuación: +Para configurar el Datadog Java SDK con Quarkus Native, siga estos pasos: -1. Instrumenta tu aplicación, siguiendo los pasos descritos en [Rastreo de aplicaciones Java][6]. -2. Cuando crees un ejecutable nativo, utiliza la propiedad `quarkus.native.additional-build-args`. Por ejemplo: +1. Instrumente su aplicación, siguiendo los pasos descritos en [Tracing Java Applications][6]. +2. Cuando construya un ejecutable nativo, utilice la propiedad `quarkus.native.additional-build-args`. Por ejemplo: ```shell ./mvnw package -Dnative -Dquarkus.native.additional-build-args='-J-javaagent:/path/to/dd-java-agent.jar' ``` -3. (Opcional) Habilita la integración del generador de perfiles añadiendo el siguiente argumento: +3. (Opcional) Habilite la integración del perfilador agregando el siguiente argumento: `-J-Ddd.profiling.enabled=true --enable-monitoring=jfr`. + - Para versiones del tracer anteriores a `1.39.1`, al ejecutar el ejecutable nativo generado, asegúrese de que `DD_PROFILING_START_FORCE_FIRST=true` esté configurado como una variable de entorno. [6]: /es/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/ {{% /tab %}} {{% tab "Spring Native" %}} -Para configurar el rastreador Java de Datadog con Spring Native, sigue los pasos a continuación: +Para configurar el Datadog Java SDK con Spring Native, siga estos pasos: -1. Instrumenta tu aplicación, siguiendo los pasos descritos en [Rastreo de aplicaciones Java][6]. -2. Para compilaciones de Spring Native basadas en paquetes de compilación, activa el [paquete de compilación Paketo para Datadog][8] utilizando `BP_DATADOG_ENABLED=true`. - - Puedes hacerlo a nivel de la herramienta de compilación, como Maven: +1. Instrumente su aplicación, siguiendo los pasos descritos en [Tracing Java Applications][6]. +2. Para compilaciones de Spring Native basadas en Buildpacks, habilite el [Paketo Buildpack for Datadog][8] usando `BP_DATADOG_ENABLED=true`. + - Puede hacer esto a nivel de herramienta de construcción, como Maven: ```yaml @@ -349,8 +412,9 @@ Para configurar el rastreador Java de Datadog con Spring Native, sigue los pasos ``` - - También puedes utilizar el comando `pack build` con la opción `--env BP_DATADOG_ENABLED=true` para habilitar el paquete de compilación Datadog. -3. (Opcional) Habilita la integración del generador de perfiles configurando la siguiente variable de entorno:`BP_NATIVE_IMAGE_BUILD_ARGUMENTS=’-J-Ddd.profiling.enabled=true --enable-monitoring=jfr’` . + - Alternativamente, puede usar el comando `pack build` con la opción `--env BP_DATADOG_ENABLED=true` para habilitar el buildpack de Datadog. +3. (Opcional) Habilite la integración del perfilador configurando la variable de entorno `BP_NATIVE_IMAGE_BUILD_ARGUMENTS=’-J-Ddd.profiling.enabled=true --enable-monitoring=jfr’`. + - Para versiones del tracer anteriores a `1.39.1`, al ejecutar el ejecutable nativo generado, asegúrese de que `DD_PROFILING_START_FORCE_FIRST=true` esté configurado como una variable de entorno. [6]: /es/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/ [8]: https://github.com/paketo-buildpacks/datadog @@ -358,16 +422,25 @@ Para configurar el rastreador Java de Datadog con Spring Native, sigue los pasos {{< /tabs >}} -#### Uso +
Para GraalVM 25, puede ver errores relacionados con Use of Unsafe. Agregue -Dnet.bytebuddy.safe=false al construir el ejecutable nativo para abordar esto.
-Una vez completada la configuración, el servicio debería enviar trazas (traces) a Datadog. +#### Uso {#usage-1} -Puedes visualizar las trazas (traces) a través del [Explorador de trazas][9]. +Después de completar la configuración, el servicio debería enviar trazas a Datadog. -{{% collapse-content title="Troubleshooting" level="h4" %}} -##### Versiones del paquete de compilación Native-Image anteriores a la v5.12.2 +Puede visualizar trazas utilizando el [Trace Explorer][9]. -Las versiones más antiguas del paquete de compilación Native-Image muestran la siguiente opción: `USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM`. +{{% collapse-content title="Resolución de problemas" level="h4" %}} +##### Las características no están habilitadas o configuradas correctamente para imágenes nativas {#features-are-not-enabled-or-configured-correctly-for-native-images} + +Existen problemas conocidos al acceder a propiedades del sistema en tiempo de ejecución desde un binario construido con Graal Native Image. + +- Para la configuración en tiempo de ejecución, use variables de entorno (`DD_PROPERTY_NAME=value`), en lugar de propiedades del sistema (`-Ddd.property.name=value`). +- La excepción a esta regla es al habilitar el perfilador. En este caso, pase `-J-Ddd.profiling.enabled=true` a la herramienta `native-image` en _tiempo de construcción_. + +##### Las versiones del buildpack de imagen nativa anteriores a 5.12.2 {#native-image-buildpack-versions-older-than-5122} + +Las versiones más antiguas del buildpack de imagen nativa exponen la siguiente opción: `USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM`. Cuando esta opción es `false`, pueden ocurrir excepciones como las siguientes: @@ -381,12 +454,12 @@ instantiated use --trace-object-instantiation=datadog.trace.bootstrap.DatadogCla Las soluciones a este problema son: -- Configurar `USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM` explícitamente como true (verdadero) en la configuración del entorno de la imagen. -- O actualizar el paquete de compilación `native-image` a la versión 5.12.2 o superior. La mejor opción es actualizar el paquete de compilación `java-native-image` a la versión 8.13.0 o superior. +- Establezca `USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM` explícitamente en verdadero en la configuración de env de la imagen, +- O actualice el buildpack `native-image` a la versión 5.12.2 o posterior. La mejor manera de hacer esto es actualizando el buildpack `java-native-image` a la versión 8.13.0 o posterior. -##### Paquete de compilación Paketo para versiones de Datadog anteriores a la v4.6.0 +##### Buildpack de Paketo para versiones de Datadog anteriores a 4.6.0 {#paketo-buildpack-for-datadog-versions-older-than-460} -El paquete de compilación Paketo para Datadog tenía un error en versiones anteriores que se ponía en evidencia a través del siguiente mensaje de error: +El buildpack de Paketo para Datadog tenía un error en versiones anteriores que se materializó con el siguiente mensaje de error: ```text disabling Datadog at launch time is unsupported for Node @@ -394,11 +467,59 @@ ERROR: failed to launch: exec.d: failed to execute exec.d file at path '/layers paketo-buildpacks_datadog/helper/exec.d/toggle': exit status 1 ``` -La solución a este problema es actualizar a la versión 4.6.0 o superior. +La solución a este problema es actualizar a la versión 4.6.0 o posterior. + +##### La compilación de Spring Native se bloquea con el error exec.d/toggle {#spring-native-build-crashes-with-execdtoggle-error} + +Puede encontrar un error similar al anterior, incluso en versiones de buildpack más recientes que 4.6.0, al construir una imagen nativa de Spring Boot: + +```text +disabling Datadog at launch time is unsupported for Node +ERROR: failed to launch: exec.d: failed to execute exec.d file at path '/layers +paketo-buildpacks_datadog/helper/exec.d/toggle': exit status 1 +``` + +Esto ocurre típicamente porque el buildpack de Datadog se ejecuta antes que el buildpack de imagen nativa, por lo que no sabe que se pretende una construcción de imagen nativa. Añade de forma incorrecta un script de alternancia destinado a compilaciones de JVM, que es incompatible con el ejecutable nativo final. + +La solución es establecer explícitamente la variable de entorno `BP_NATIVE_IMAGE` en `true` en la configuración de `spring-boot-maven-plugin`. Esto asegura que todos los buildpacks sean conscientes de que es una construcción de imagen nativa desde el principio. + +```yaml + + + + org.springframework.boot + spring-boot-maven-plugin + + + ... + + ... + true + ... + + + + + + +``` + +##### Problema al activar el SDK de Datadog {#problem-activating-datadog-sdk} + +Puede encontrar errores de inicialización si su configuración de tracer depende de Unix Domain Sockets (UDS), que no son compatibles con imágenes nativas: + +```text +dd.trace 2024-12-30 08:34:43:306 +0000] [main] WARN datadog.trace.agent.tooling.nativeimage.TracerActivation - Problem activating datadog tracer +java.lang.NoClassDefFoundError: Could not initialize class jnr.unixsocket.UnixSocketChannel +``` + +La solución es configurar el tracer de Java para usar comunicación basada en servidor (`hostip` o `service` modo), en lugar de comunicación basada en socket (`socket` modo). + +Para más información, consulte [Configurar el modo de comunicación APM y DogstatsD][11]. Para configuraciones que no dependen del Admission Controller, consulte la documentación de [DD_TRACE_AGENT_URL][12]. {{% /collapse-content %}} -## Leer más +## Más información {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -409,3 +530,9 @@ La solución a este problema es actualizar a la versión 4.6.0 o superior. [5]: /es/tracing/trace_collection/otel_instrumentation/java/ [7]: https://www.graalvm.org/downloads/ [9]: /es/tracing/trace_explorer/ +[10]: /es/opentelemetry/interoperability/instrumentation_libraries/?tab=java +[11]: /es/containers/cluster_agent/admission_controller/?tab=datadogoperator#configure-apm-and-dogstatsd-communication-mode +[12]: /es/tracing/trace_collection/library_config/#agent +[13]: https://openjdk.org/jeps/472 +[14]: https://openjdk.org/jeps/483 +[15]: https://openjdk.org/jeps/514 \ No newline at end of file diff --git a/content/es/tracing/trace_collection/library_config/java.md b/content/es/tracing/trace_collection/library_config/java.md index 1479316cb1d..2b0aed33fe4 100644 --- a/content/es/tracing/trace_collection/library_config/java.md +++ b/content/es/tracing/trace_collection/library_config/java.md @@ -4,633 +4,631 @@ code_lang_weight: 0 further_reading: - link: https://github.com/DataDog/dd-trace-java tag: Código fuente - text: Código fuente APM de Java para Datadog + text: Código fuente de APM de Datadog para Java - link: tracing/glossary/ tag: Documentación - text: Explorar tus servicios, recursos y traces (trazas) + text: Explora tus servicios, recursos y trazas - link: /tracing/trace_collection/trace_context_propagation/ tag: Documentación - text: Propagación del contexto de rastreo utilizando cabeceras + text: Propagando el contexto de traza con encabezados - link: /opentelemetry/interoperability/environment_variable_support tag: Documentación text: Configuraciones de variables de entorno de OpenTelemetry -title: Configuración de la biblioteca de rastreo de Java +- link: https://learn.datadoghq.com/courses/apm-java-host + tag: Centro de aprendizaje + text: Configura APM para aplicaciones Java +title: Configurando el SDK de Java type: multi-code-lang --- - -Después de configurar la biblioteca de rastreo con tu código y de configurar el Agent para recopilar datos de APM, también puedes configurar la biblioteca de rastreo como prefieras e incluir la configuración del [Etiquetado unificado de servicios][1]. +Después de configurar el SDK con su código y configurar el Agente para recopilar datos de APM, opcionalmente configure el SDK como desee, incluyendo la configuración de [Unified Service Tagging][1]. {{% apm-config-visibility %}} -Todas las opciones de configuración anteriores tienen propiedades del sistema y variables de entorno equivalentes. -Si se define el mismo tipo de clave para ambas, la configuración de propiedades del sistema tiene prioridad. -Las propiedades del sistema se pueden establecer como marcas de máquinas virtuales Java. +Todas las opciones de configuración a continuación tienen equivalentes en propiedades del sistema y variables de entorno. +Si se establece el mismo tipo de clave para ambos, la configuración de la propiedad del sistema tiene prioridad. +Las propiedades del sistema se pueden establecer como JVM flags. -### Conversión entre propiedades del sistema y variables de entorno -A menos que se indique lo contrario, puedes convertir entre propiedades del sistema y variables de entorno utilizando las siguientes transformaciones: +### Convirtiendo entre propiedades del sistema y variables de entorno {#converting-between-system-properties-and-environment-variables} +A menos que se indique lo contrario, puede convertir entre propiedades del sistema y variables de entorno con las siguientes transformaciones: -- Para definir una propiedad del sistema como variable de entorno, escribe el nombre de la propiedad en mayúsculas y sustitúyelo por `.` o `-` por `_`. +- Para establecer una propiedad del sistema como una variable de entorno, convierta el nombre de la propiedad a mayúsculas y reemplace `.` o `-` con `_`. Por ejemplo, `dd.service` se convierte en `DD_SERVICE`. -- Para definir una variable de entorno como propiedad del sistema, escribe el nombre de la variable en minúsculas y sustituye `_` por `.` +- Para establecer una variable de entorno como una propiedad del sistema, convierta el nombre de la variable a minúsculas y reemplace `_` con `.`. Por ejemplo, `DD_TAGS` se convierte en `dd.tags`. -**Nota**: Cuando utilices las propiedades del sistema del rastreador Java, enumera las propiedades antes de `-jar`. Esto asegura que las propiedades serán leídas como opciones de máquinas virtuales Java. +**Nota**: Al usar las propiedades del sistema del rastreador de Java, enumere las propiedades antes de `-jar`. Esto asegura que las propiedades se lean como opciones de la JVM. -## Opciones de configuración +## Opciones de configuración {#configuration-options} -### Etiquetado de servicios unificados +### Unified service tagging {#unified-service-tagging} `dd.service` : **Variable de entorno**: `DD_SERVICE`
-**Por defecto**: `unnamed-java-app`
-El nombre de un conjunto de procesos que realizan la misma tarea. Se utiliza para agrupar estadísticas para tu aplicación. Disponible para las versiones 0.50.0 o posteriores. +**Predeterminado**: `unnamed-java-app`
+El nombre de un conjunto de procesos que realizan el mismo trabajo. Utilizado para agrupar estadísticas de su aplicación. Disponible para versiones 0.50.0+. `dd.env` : **Variable de entorno**: `DD_ENV`
-**Por defecto**: `none`
-El entorno de tu aplicación (por ejemplo, producción, staging). Disponible para las versiones 0.48 o posteriores. +**Predeterminado**: `none`
+El entorno de su aplicación (por ejemplo, production, staging). Disponible para versiones 0.48+. `dd.version` : **Variable de entorno**: `DD_VERSION`
-**Por defecto**: `null`
-La versión de tu aplicación (por ejemplo, 2.5, 202003181415, 1.3-alpha). Disponible para las versiones 0.48 o posteriores. +**Predeterminado**: `null`
+La versión de su aplicación (por ejemplo, 2.5, 202003181415, 1.3-alpha). Disponible para versiones 0.48+. -### Traces (trazas) +### Trazas {#traces} `dd.trace.enabled` : **Variable de entorno**: `DD_TRACE_ENABLED`
-**Predeterminada**: `true`
-Cuando es `false` el agente de rastreo está desactivado.
-Consulta también [DD_APM_TRACING_ENABLED][21]. +**Predeterminado**: `true`
+Cuando `false` el agente de trazado está deshabilitado.
+Ver también [DD_APM_TRACING_ENABLED][21]. `dd.trace.config` : **Variable de entorno**: `DD_TRACE_CONFIG`
-**Predeterminada**: `null`
-Ruta opcional a un archivo donde se proporcionan las propiedades de configuración, una por cada línea. Por ejemplo, la ruta al archivo se puede proporcionar a través de `-Ddd.trace.config=.properties`, configurando el nombre del servicio en el archivo con `dd.service=`
-**Nota**: No confíes en `dd.trace.config` como el único mecanismo para para activar o desactivar productos dependientes del kit de desarrollo de software (SDK) (por ejemplo, Profiler y Dynamic Instrumentation). En su lugar, utiliza las propiedades del sistema o las variables de entorno correspondientes (o `application_monitoring.yaml` para la instrumentación de un solo step (UI) / paso (generic)). +**Predeterminado**: `null`
+Ruta opcional a un archivo donde se proporcionan las propiedades de configuración, una por cada línea. Por ejemplo, la ruta del archivo se puede proporcionar a través de `-Ddd.trace.config=.properties`, configurando el nombre del servicio en el archivo con `dd.service=`
. +**Nota**: No confíe en `dd.trace.config` como el único mecanismo para habilitar o deshabilitar productos dependientes del SDK (por ejemplo, Profiler y Dynamic Instrumentation). En su lugar, utilice las propiedades del sistema correspondientes o las variables de entorno (o `application_monitoring.yaml` para Instrumentación de Paso Único). `dd.service.mapping` : **Variable de entorno**: `DD_SERVICE_MAPPING`
-**Por defecto**: `null`
+**Predeterminado**: `null`
**Ejemplo**: `mysql:my-mysql-service-name-db, postgresql:my-postgres-service-name-db`
-Cambia dinámicamente el nombre del servicio mediante la configuración. Esto es útil para hacer que las bases de datos tengan nombres distintos en diferentes servicios. +Renombrar servicios dinámicamente a través de la configuración. Útil para que las bases de datos tengan nombres distintos entre diferentes servicios. `dd.writer.type` -: **Variable de entorno**: `DD_WRITER_TYPE`
-**Por defecto**: `DDAgentWriter`
-El valor por defecto envía trazas al Agent. Si se configura con `LoggingWriter`, escribe trazas a la consola. +: **Variable de Entorno**: `DD_WRITER_TYPE`
+**Predeterminado**: `DDAgentWriter`
+El valor predeterminado envía trazas al Agente. Configurar con `LoggingWriter` en su lugar escribe trazas en la consola. `dd.trace.agent.port` -: **Variable de entorno**: `DD_TRACE_AGENT_PORT`
-**Por defecto**: `8126`
-El número del puerto en el que el Agent escucha el host configurado. Si la [configuración del Agent][6] define `receiver_port` o `DD_APM_RECEIVER_PORT` con un valor distinto del valor predeterminado `8126`, `dd.trace.agent.port` o `dd.trace.agent.url` deben coincidir con él. +: **Variable de Entorno**: `DD_TRACE_AGENT_PORT`
+**Predeterminado**: `8126`
+El número de puerto en el que el Agente está escuchando para el host configurado. Si la [configuración del Agente][6] establece `receiver_port` o `DD_APM_RECEIVER_PORT` en algo diferente al predeterminado `8126`, entonces `dd.trace.agent.port` o `dd.trace.agent.url` deben coincidir. `dd.trace.agent.unix.domain.socket` -: **Variable de entorno**: `DD_TRACE_AGENT_UNIX_DOMAIN_SOCKET`
-**Por defecto**: `null`
-Puede utilizarse para dirigir el tráfico de rastreo a un proxy, a fin de enviarlo posteriormente a un Datadog Agent remoto. +: **Variable de Entorno**: `DD_TRACE_AGENT_UNIX_DOMAIN_SOCKET`
+**Predeterminado**: `null`
+Esto se puede usar para dirigir el tráfico de trazas a un proxy, que luego se enviará a un Datadog Agent remoto. `dd.trace.agent.url` -: **Variable de entorno**: `DD_TRACE_AGENT_URL`
-**Por defecto**: `null`
-La URL a la que enviar trazas. Si la [configuración del Agent][6] define `receiver_port` o `DD_APM_RECEIVER_PORT` con un valor distinto del valor predeterminado `8126`, `dd.trace.agent.port` o `dd.trace.agent.url` deben coincidir con él. El valor de la URL puede comenzar con `http://`, para conectarse mediante HTTP, o con `unix://`, para utilizar un socket de dominio Unix. Cuando se define, tiene prioridad sobre `DD_AGENT_HOST` y `DD_TRACE_AGENT_PORT`. Disponible para las versiones 0.65 o posteriores. +: **Variable de Entorno**: `DD_TRACE_AGENT_URL`
+**Predeterminado**: `null`
+La URL a la que enviar trazas. Si la [configuración del Agente][6] establece `receiver_port` o `DD_APM_RECEIVER_PORT` en algo diferente al predeterminado `8126`, entonces `dd.trace.agent.port` o `dd.trace.agent.url` deben coincidir. El valor de la URL puede comenzar con `http://` para conectarse usando HTTP o con `unix://` para usar un Socket de Dominio Unix. Cuando se establece, esto tiene prioridad sobre `DD_AGENT_HOST` y `DD_TRACE_AGENT_PORT`. Disponible para versiones 0.65+. `dd.trace.agent.timeout` -: **Variable de entorno**: `DD_TRACE_AGENT_TIMEOUT`
-**Por defecto**: `10`
-Tiempo de espera en segundos de las interacciones de red con el Datadog Agent. +: **Variable de Entorno**: `DD_TRACE_AGENT_TIMEOUT`
+**Predeterminado**: `10`
+Tiempo de espera en segundos para interacciones de red con el Datadog Agent. `dd.trace.client-ip.enabled` -: **Predeterminada**: `false`
-Activa la recopilación de IP del cliente a partir de encabezados de IP pertinentes en spans (tramos) de solicitudes HTTP. Activado automáticamente cuando `dd.appsec.enabled=true`. +: **Predeterminado**: `false`
+Habilitar la recopilación de IP del cliente a partir de los encabezados IP relevantes en los tramos de solicitud HTTP. Se habilita automáticamente cuando `dd.appsec.enabled=true`. `dd.trace.header.tags` -: **Variable de entorno**: `DD_TRACE_HEADER_TAGS`
-**Predeterminada**: `null`
+: **Variable de Entorno**: `DD_TRACE_HEADER_TAGS`
+**Predeterminado**: `null`
**Ejemplo**: `CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name`
-Acepta un mapa de claves de encabezado que no distinguen entre mayúsculas/minúsculas para nombres de tags (etiquetas) y aplica automáticamente los valores de encabezado coincidentes como tags (etiquetas) en las traces (trazas). También acepta entradas sin un nombre de tag (etiqueta) especificado que se asignan automáticamente a tags (etiquetas) de la forma `http.request.headers.` y `http.response.headers.`, respectivamente.

-Antes de la versión 0.96.0 esta configuración solo se aplicaba a las tags (etiquetas) de encabezados de solicitudes. Para volver al comportamiento anterior, añade la configuración `-Ddd.trace.header.tags.legacy.parsing.enabled=true` o la variable de entorno `DD_TRACE_HEADER_TAGS_LEGACY_PARSING_ENABLED=true`.

-A partir de la versión 1.18.3, si la [Configuración remota del Agent][3] está activada donde se ejecuta el servicio, puedes configurar `DD_TRACE_HEADER_TAGS` en la interfaz de usuario de [Software Catalog][4] UI. +Acepta un mapa de claves de encabezado que no distinguen entre mayúsculas y minúsculas a nombres de etiquetas y aplica automáticamente los valores de encabezado coincidentes como etiquetas en las trazas. También acepta entradas sin un nombre de etiqueta especificado que se mapean automáticamente a etiquetas de la forma `http.request.headers.` y `http.response.headers.` respectivamente.

+Antes de la versión 0.96.0, esta configuración solo se aplicaba a las etiquetas de encabezado de solicitud. Para volver al comportamiento anterior, agregue la configuración `-Ddd.trace.header.tags.legacy.parsing.enabled=true` o la variable de entorno `DD_TRACE_HEADER_TAGS_LEGACY_PARSING_ENABLED=true`.

+A partir de la versión 1.18.3, si [Remote Configuration][3] está habilitada donde se ejecuta este servicio, puede establecer `DD_TRACE_HEADER_TAGS` en la interfaz de usuario del [Catálogo][4]. `dd.trace.request_header.tags` -: **Variable de entorno**: `DD_TRACE_REQUEST_HEADER_TAGS`
-**Predeterminada**: `null`
+: **Variable de Entorno**: `DD_TRACE_REQUEST_HEADER_TAGS`
+**Predeterminado**: `null`
**Ejemplo**: `CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name`
-Acepta un mapa de claves de encabezados que no distinguen entre mayúsculas/minúsculas para nombres de tags (etiquetas) y aplica automáticamente valores de encabezados coincidentes como tags (etiquetas) en las traces (trazas). También acepta entradas sin un nombre de tag (etiqueta) especificado, que se asignan automáticamente a tags (etiquetas) con el formato `http.request.headers.`.
-Disponible a partir de la versión 0.96.0. +Acepta un mapa de claves de encabezado que no distinguen entre mayúsculas y minúsculas a nombres de etiquetas y aplica automáticamente los valores de encabezado de solicitud coincidentes como etiquetas en las trazas. También acepta entradas sin un nombre de etiqueta especificado que se asignan automáticamente a etiquetas de la forma `http.request.headers.`.
. +Disponible desde la versión 0.96.0. `dd.trace.response_header.tags` : **Variable de entorno**: `DD_TRACE_RESPONSE_HEADER_TAGS`
-**Por defecto**: `null`
+**Predeterminado**: `null`
**Ejemplo**: `CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name`
-Acepta un mapa de claves de cabeceras que no distinguen entre mayúsculas/minúsculas para nombres de etiquetas y aplica automáticamente valores de cabeceras coincidentes como etiquetas en las trazas. También acepta entradas sin un nombre de etiqueta especificado, que se asignan automáticamente a etiquetas con el formato `http.response.headers.`.
-Disponible a partir de la versión 0.96.0. +Acepta un mapa de claves de encabezado que no distinguen entre mayúsculas y minúsculas a nombres de etiquetas y aplica automáticamente los valores de encabezado de respuesta coincidentes como etiquetas en las trazas. También acepta entradas sin un nombre de etiqueta especificado que se asignan automáticamente a etiquetas de la forma `http.response.headers.`.
. +Disponible desde la versión 0.96.0. `dd.trace.header.baggage` -: **Variable de entorno**: `DD_TRACE_HEADER_BAGGAGE`
-**Por defecto**: `null`
+: **Variable de Entorno**: `DD_TRACE_HEADER_BAGGAGE`
+**Predeterminado**: `null`
**Ejemplo**: `CASE-insensitive-Header:my-baggage-name,User-ID:userId,My-Header-And-Baggage-Name`
-Acepta un mapa de claves de cabecera que no distinguen entre mayúsculas/minúsculas a claves de equipaje y aplica automáticamente los valores de cabeceras de solicitud coincidentes como equipaje en las trazas. En la propagación se aplica la asignación inversa: el equipaje se asigna a las cabeceras.
-Disponible a partir de la versión 1.3.0. +Acepta un mapa de claves de encabezado que no distinguen entre mayúsculas y minúsculas a claves de equipaje y aplica automáticamente los valores de encabezado de solicitud coincidentes como equipaje en las trazas. En la propagación, se aplica el mapeo inverso: El baggage se asigna a los encabezados.
+Disponible desde la versión 1.3.0. `dd.trace.annotations` : **Variable de entorno**: `DD_TRACE_ANNOTATIONS`
-**Por defecto**: ([listado aquí][7])
+**Predeterminado**: ([listado aquí][7])
**Ejemplo**: `com.some.Trace;io.other.Trace`
-Una lista de anotaciones de métodos para tratar como `@Trace`. +Una lista de anotaciones de método a tratar como `@Trace`. `dd.trace.methods` -: **Variable de entorno**: `DD_TRACE_METHODS`
-**Predeterminada**: `null`
+: **Variable de Entorno**: `DD_TRACE_METHODS`
+**Predeterminado**: `null`
**Ejemplo**: `package.ClassName[method1,method2,...];AnonymousClass$1[call];package.ClassName[*]`
-Lista de clase/interfaz y métodos para rastrear. Similar a añadir `@Trace`, pero sin cambiar el código. **Nota:** La compatibilidad de métodos comodín (`[*]`) no acomoda constructores, getters, setters, sintéticos, toString, equals, hashcode ni llamadas a métodos finalizadores. -`dd.trace.methods` no está diseñado para rastrear un gran número de métodos y clases. Para buscar cuellos de botella de CPU, memoria e IO, desglosados por nombre del método, nombre de la clase y número de línea, considera en su lugar el producto [Continuous Profiler][22]. +Lista de clases, interfaces y métodos a trazar. Similar a agregar `@Trace`, pero sin cambiar el código. **Nota:** El soporte de método comodín (`[*]`) no acomoda llamadas a constructores, getters, setters, métodos sintéticos, toString, equals, hashcode, o finalizadores. +`dd.trace.methods` no está destinado a rastrear grandes cantidades de métodos y clases. Para encontrar cuellos de botella en CPU, memoria y IO, desglosados por nombre de método, nombre de clase y número de línea, considere el producto [Continuous Profiler] en su lugar. `dd.trace.classes.exclude` -: **Variable de entorno**: `DD_TRACE_CLASSES_EXCLUDE`
-**Por defecto**: `null`
+: **Variable de Entorno**: `DD_TRACE_CLASSES_EXCLUDE`
+**Predeterminado**: `null`
**Ejemplo**: `package.ClassName,package.ClassName$Nested,package.Foo*,package.other.*`
-Una lista de clases completamente cualificadas (que pueden terminar con un comodín para denotar un prefijo) que serán ignoradas (no modificadas) por el rastreador. Debes utilizar la representación interna de máquinas virtuales Java para los nombres (por ejemplo package.ClassName$Nested y no package.ClassName.Nested). +Una lista de clases completamente calificadas (que pueden terminar con un comodín para denotar un prefijo) que serán ignoradas (no modificadas) por el SDK. Debe usar la representación interna de jvm para nombres (por ejemplo, package.ClassName$Nested y no package.ClassName.Nested) `dd.trace.partial.flush.min.spans` -: **Variable de entorno**: `DD_TRACE_PARTIAL_FLUSH_MIN_SPANS`
-**Por defecto**: `1000`
-Define un número de tramos parciales para la descarga. Es útil para reducir sobrecarga de memoria cuando se trata de tráfico pesado o de trazas de ejecución prolongada. +: **Variable de Entorno**: `DD_TRACE_PARTIAL_FLUSH_MIN_SPANS`
+**Predeterminado**: `1000`
+Establezca un número de tramos parciales para activar su envío. Útil para reducir la sobrecarga de memoria al tratar con tráfico intenso o trazas de larga duración. `dd.trace.split-by-tags` -: **Variable de entorno**: `DD_TRACE_SPLIT_BY_TAGS`
-**Por defecto**: `null`
+: **Variable de Entorno**: `DD_TRACE_SPLIT_BY_TAGS`
+**Predeterminado**: `null`
**Ejemplo**: `aws.service`
-Se utiliza para renombrar el nombre de servicio asociado a tramos, para que se identifique con la etiqueta del tramo correspondiente. +Se utiliza para renombrar el nombre del servicio asociado con los tramos para ser identificado con la etiqueta de tramo correspondiente. `dd.trace.health.metrics.enabled` -: **Variable de entorno**: `DD_TRACE_HEALTH_METRICS_ENABLED`
-**Por defecto: `true`
-Cuando se configura como `true`, envía métricas de estado del rastreador. +: **Variable de Entorno**: `DD_TRACE_HEALTH_METRICS_ENABLED`
+**Predeterminado**: `true`
+Cuando se establece en `true`, envía métricas de salud del rastreador. `dd.trace.health.metrics.statsd.host` -: **Variable de entorno**: `DD_TRACE_HEALTH_METRICS_STATSD_HOST`
-**Por defecto**: Igual que `dd.jmxfetch.statsd.host`
-Host de Statsd al que enviar métricas de estado. +: **Variable de Entorno**: `DD_TRACE_HEALTH_METRICS_STATSD_HOST`
+**Predeterminado**: Igual a `dd.jmxfetch.statsd.host`
+Host de Statsd para enviar métricas de salud. `dd.trace.health.metrics.statsd.port` -: **Variable de entorno**: `DD_TRACE_HEALTH_METRICS_STATSD_PORT`
-**Por defecto**: Igual que `dd.jmxfetch.statsd.port`
-Puerto de Statsd al que enviar métricas de estado. +: **Variable de Entorno**: `DD_TRACE_HEALTH_METRICS_STATSD_PORT`
+**Predeterminado**: Igual a `dd.jmxfetch.statsd.port`
+Puerto de Statsd para enviar métricas de salud. `dd.trace.obfuscation.query.string.regexp` -: **Variable de entorno**: `DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP`
-**Por defecto**: `null`
-Una expresión regular (regex) para ocultar datos sensibles de la cadena de consulta de solicitudes entrantes informadas en la etiqueta `http.url` (las coincidencias se sustituyen por ). +: **Variable de Entorno**: `DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP`
+**Predeterminado**: `null`
+Una expresión regular para redactar datos sensibles de la cadena de consulta de solicitudes entrantes reportada en la `http.url` etiqueta (las coincidencias se reemplazan con ). `dd.trace.servlet.async-timeout.error` -: **Variable de entorno**: `DD_TRACE_SERVLET_ASYNC_TIMEOUT_ERROR`
-**Por defecto**: `true`
-Por defecto, las solicitudes asíncronas de ejecución prolongada se marcan como errores. Definir este valor como falso permite marcar todos los tiempos de inactividad como solicitudes exitosas. +: **Variable de Entorno**: `DD_TRACE_SERVLET_ASYNC_TIMEOUT_ERROR`
+**Predeterminado**: `true`
+Por defecto, las solicitudes asíncronas de larga duración se marcarán como un error; establecer este valor en falso permite marcar todos los tiempos de espera como solicitudes exitosas. `dd.trace.span.tags` -: **Variable de entorno**: `DD_TRACE_SPAN_TAGS`
-**Predeterminada**: `none`
+: **Variable de Entorno**: `DD_TRACE_SPAN_TAGS`
+**Predeterminado**: `none`
**Ejemplo**: `tag1:value1,tag2:value2`
-Una lista de las tags (etiquetas) predeterminadas que se añadirán a cada span (tramo). +Una lista de etiquetas predeterminadas que se agregarán a cada tramo. `dd.trace.jmx.tags` -: **Variable de entorno**: `DD_TRACE_JMX_TAGS`
-**Predeterminada**: `none`
+: **Variable de Entorno**: `DD_TRACE_JMX_TAGS`
+**Predeterminado**: `none`
**Ejemplo**: `tag1:value1,tag2:value2`
-Una lista de las tags (etiquetas) de span (tramo) que se añadirán a cada métrica jmx. +Una lista de etiquetas de tramo que se agregarán a cada métrica jmx. `dd.trace.startup.logs` -: **Variable de entorno**: `DD_TRACE_STARTUP_LOGS`
-**Por defecto**: `true`
-Cuando es `false`, se deshabilita el registro informativo de inicio. Disponible para las versiones 0.64 o posteriores. - +: **Variable de Entorno**: `DD_TRACE_STARTUP_LOGS`
+**Predeterminado**: `true`
+Cuando `false`, el registro de inicio informativo está deshabilitado. Disponible para versiones 0.64+. `dd.trace.debug` -: **Variable de entorno**: `DD_TRACE_DEBUG`
-**Predeterminada**: `false`
-Cuando `true`, el modo de depuración para el Java de Datadog está activado. +: **Variable de Entorno**: `DD_TRACE_DEBUG`
+**Predeterminado**: `false`
+Cuando `true`, el modo de depuración para el Datadog Java Tracer está habilitado. `datadog.slf4j.simpleLogger.jsonEnabled` -: **Variable de entorno**: No disponible
-**Predeterminada**: `false`
-Cuando `true`, los logs del rastreador de Java de Datadog se escriben en JSON. Disponible para las versiones 1.48.0+.
-**Nota**: Esta configuración es específica del registrador simple SLF4J insertado y no admite variables de entorno. `dd.log.format.json` es la opción de configuración preferida. +: **Variable de Entorno**: No disponible
+**Predeterminado**: `false`
+Cuando `true`, los registros del SDK de Datadog Java se escriben en JSON. Disponible para versiones 1.48.0+.
+**Nota**: Esta configuración es específica para el registrador simple SLF4J embebido y no soporta variables de entorno. `dd.log.format.json` es la opción de configuración preferida. `dd.trace.servlet.principal.enabled` -: **Variable de entorno**: `DD_TRACE_SERVLET_PRINCIPAL_ENABLED`
-**Por defecto**: `false`
-Cuando es `true`, se recopila el usuario principal. Disponible para las versiones 0.61 o posteriores. - +: **Variable de Entorno**: `DD_TRACE_SERVLET_PRINCIPAL_ENABLED`
+**Predeterminado**: `false`
+Cuando `true`, se recopila el principal del usuario. Disponible para versiones 0.61+. `dd.trace.rate.limit` -: **Variable de entorno**: `DD_TRACE_RATE_LIMIT`
-**Por defecto**: `100`
-Número máximo de tramos para muestrear por segundo, por cada proceso, cuando se configuran`DD_TRACE_SAMPLING_RULES` o `DD_TRACE_SAMPLE_RATE`. De lo contrario, el Datadog Agent controla la limitación de la frecuencia. +: **Variable de Entorno**: `DD_TRACE_RATE_LIMIT`
+**Predeterminado**: `100`
+Número máximo de tramos a muestrear por segundo, por proceso, cuando `DD_TRACE_SAMPLING_RULES` o `DD_TRACE_SAMPLE_RATE` está configurado. De lo contrario, el Agente de Datadog controla la limitación de tasa. `dd.http.server.tag.query-string` -: **Variable de entorno**: `DD_HTTP_SERVER_TAG_QUERY_STRING`
-**Por defecto**: `true`
-Cuando se configura como `true`, los parámetros y el fragmento de la cadena de consulta se añaden a tramos de servidores web. +: **Variable de Entorno**: `DD_HTTP_SERVER_TAG_QUERY_STRING`
+**Predeterminado**: `true`
+Cuando se establece en `true`, los parámetros de la cadena de consulta y el fragmento se agregan a los tramos del servidor web. `dd.http.server.route-based-naming` -: **Variable de entorno**: `DD_HTTP_SERVER_ROUTE_BASED_NAMING`
-**Por defecto**: `true`
-Cuando se configura como `false`, las rutas de frameworks http no se utilizan para los nombres de recursos. Si se cambia, esto puede cambiar los nombres de recursos y las métricas derivadas. +: **Variable de Entorno**: `DD_HTTP_SERVER_ROUTE_BASED_NAMING`
+**Predeterminado**: `true`
+Cuando se establece en `false`, las rutas del marco HTTP no se utilizan para los nombres de recursos. _Esto puede cambiar los nombres de recursos y las métricas derivadas si se modifica._ `dd.trace.http.server.path-resource-name-mapping`
-: **Variable de entorno**: `DD_TRACE_HTTP_SERVER_PATH_RESOURCE_NAME_MAPPING`
+: **Variable de Entorno**: `DD_TRACE_HTTP_SERVER_PATH_RESOURCE_NAME_MAPPING`
**Predeterminado**: `{}` (vacío)
-Asigna rutas de solicitudes HTTP a nombres de recursos personalizados. Proporciona una lista separada por comas de pares `pattern:resource_name`:
-   – `pattern`: Un [patrón de ruta de Ant‐style][20] que debe coincidir con el valor de la tag (etiqueta) de span (tramo) `http.path_group`.
-   – `resource_name`: El nombre del recurso personalizado que se asignará si el patrón coincide.
-Si se utiliza `*` como el `resource_name` para un patrón coincidente, la ruta original, no normalizada, combinada con el método HTTP, se utilizará como el nombre del recurso. Por ejemplo, dada la regla `/test/**:*`, una solicitud `GET` para `/test/some/path` da lugar al nombre del recurso `GET /test/some/path`.
-Las asignaciones se evalúan por orden de prioridad y se aplica la primera regla coincidente. Las rutas de solicitudes no coincidentes utilizan el comportamiento de normalización predeterminado.
-**Ejemplo**: La utilización de `-Ddd.trace.http.server.path-resource-name-mapping=/admin/*.jsp:/admin-page,/admin/user/**:/admin/user` da:
-Ruta de la solicitud | Ruta del recurso +Mapea las rutas de solicitudes HTTP a nombres de recursos personalizados. Proporcione una lista de pares separados por comas: `pattern:resource_name`:
+   – `pattern`: Un [patrón de ruta estilo Ant][20] que debe coincidir con el valor de la etiqueta de tramo `http.path_group`.
+   – `resource_name`: El nombre de recurso personalizado a asignar si el patrón coincide.
+Si `*` se utiliza como el `resource_name` para un patrón coincidente, se utiliza la ruta de solicitud original, no normalizada, combinada con el método HTTP como el nombre del recurso. Por ejemplo, dada la regla `/test/**:*`, una `GET` solicitud para `/test/some/path` resulta en el nombre del recurso `GET /test/some/path`.
+Las asignaciones se evalúan en orden de prioridad, y se aplica la primera regla que coincide. Las rutas de solicitud no coincidentes utilizan el comportamiento de normalización predeterminado.
+**Ejemplo**: Usar `-Ddd.trace.http.server.path-resource-name-mapping=/admin/*.jsp:/admin-page,/admin/user/**:/admin/user` produce:
+Ruta de solicitud | Ruta de recurso ------------ | ------------- `/admin/index.jsp` | `/admin-page` `/admin/user/12345/delete` | `/admin/user` `/user/12345` | `/user/?` `dd.trace.http.client.path-resource-name-mapping`
-: **Variable de entorno**: `DD_TRACE_HTTP_CLIENT_PATH_RESOURCE_NAME_MAPPING`
+: **Variable de Entorno**: `DD_TRACE_HTTP_CLIENT_PATH_RESOURCE_NAME_MAPPING`
**Predeterminado**: `{}` (vacío)
-Asigna rutas de solicitudes del cliente HTTP a nombres de recursos personalizados. Utiliza el mismo formato que `dd.trace.http.server.path-resource-name-mapping`, pero se aplica a spans (tramos) de cliente HTTP de spans (tramos) del servidor. +Mapea las rutas de solicitud del cliente HTTP a nombres de recursos personalizados. Utiliza el mismo formato que `dd.trace.http.server.path-resource-name-mapping`, pero se aplica a los tramos del cliente HTTP en lugar de los tramos del servidor. `dd.trace.status404rule.enabled` -: **Variable de entorno**: `DD_TRACE_STATUS404RULE_ENABLED`
+: **Variable de Entorno**: `DD_TRACE_STATUS404RULE_ENABLED`
**Predeterminado**: `true`
-En forma predeterminada, las respuestas HTTP 404 utilizan "404" como el nombre del recurso del span (tramo). Cuando es `false`, las respuestas HTTP 404 mantienen la ruta URL original como el nombre del recurso. +Por defecto, las respuestas HTTP 404 utilizan "404" como el nombre del recurso del tramo. Cuando `false`, las respuestas HTTP 404 mantienen la ruta URL original como el nombre del recurso. `dd.trace.128.bit.traceid.generation.enabled` -: **Variable de entorno**: `DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED`
-**Por defecto**: `true`
-Cuando es `true`, el rastreador genera los ID de rastreo de 128 bits y codifica los ID de rastreo como 32 caracteres hexadecimales en minúsculas con cero relleno. +: **Variable de Entorno**: `DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED`
+**Predeterminado**: `true`
+Cuando `true`, el SDK genera IDs de traza de 128 bits y codifica los IDs de traza como 32 caracteres hexadecimales en minúsculas con relleno de ceros. `dd.trace.128.bit.traceid.logging.enabled` -: **Variable de entorno**: `DD_TRACE_128_BIT_TRACEID_LOGGING_ENABLED`
-**Por defecto**: `false`
-Cuando es `true`, el rastreador inyecta los ID de rastreo de 128 bits como 32 caracteres hexadecimales en minúsculas con cero relleno y los ID de rastreo de 64 bits como números decimales. De lo contrario, el rastreador siempre inyecta los ID de rastreo como números decimales. +: **Variable de Entorno**: `DD_TRACE_128_BIT_TRACEID_LOGGING_ENABLED`
+**Predeterminado**: `false`
+Cuando `true`, el SDK inyectará IDs de traza de 128 bits como 32 caracteres hexadecimales en minúsculas con relleno de ceros, y IDs de traza de 64 bits como números decimales. De lo contrario, el SDK siempre inyecta IDs de traza como números decimales. `dd.trace.otel.enabled` -: **Variable de entorno**: `DD_TRACE_OTEL_ENABLED`
-**Por defecto**: `false`
-Cuando es `true`, el rastreo basado en OpenTelemetry para instrumentaciones [personalizadas][16] está habilitado. +: **Variable de Entorno**: `DD_TRACE_OTEL_ENABLED`
+**Predeterminado**: `false`
+Cuando `true`, el seguimiento basado en OpenTelemetry para [instrumentación][16] personalizada está habilitado. `dd.trace.cloud.payload.tagging.services` -: **Variable de entorno**: `DD_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES`
+: **Variable de Entorno**: `DD_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES`
**Predeterminado**: `ApiGateway,ApiGatewayV2,EventBridge,Sqs,Sns,S3,Kinesis`
**Ejemplo**: `S3,Sso`
-Para activar el [etiquetado de la carga útil de AWS][18] para servicios adicionales, utiliza esta configuración. +Para habilitar [etiquetado de carga útil de AWS][18] para servicios adicionales, use esta configuración. `dd.trace.cloud.request.payload.tagging` -: **Variable de entorno**: `DD_TRACE_CLOUD_REQUEST_PAYLOAD_TAGGING`
-**Predeterminado**: N/A (desactivado)
+: **Variable de Entorno**: `DD_TRACE_CLOUD_REQUEST_PAYLOAD_TAGGING`
+**Predeterminado**: N/A (deshabilitado)
**Ejemplo**: `$.Metadata.UserId,$.phoneNumber`
-Una cadena separada por comas de entradas de JSONPath que se eliminarán de las solicitudes del kit de desarrollo de software (SDK) de AWS. Al configurarla, se activa el [etiquetado de la carga útil de AWS][18] para las solicitudes. +Una cadena de texto separada por comas de entradas JSONPath para redactar de las solicitudes del SDK de AWS. Activar esto habilita el [etiquetado de carga útil de AWS][18] para las solicitudes. `dd.trace.cloud.response.payload.tagging` -: **Variable de entorno**: `DD_TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING`
-**Predeterminada**: N/A (desactivada)
+: **Variable de Entorno**: `DD_TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING`
+**Predeterminado**: N/A (deshabilitado)
**Ejemplo**: `$.Metadata.Credentials.*`
-Una cadena separada por comas de las entradas JSONPath que se eliminarán de las respuestas del kit de desarrollo de software (SDK) de AWS. Esta configuración activa el [etiquetado de la carga útil de AWS][18] para las respuestas. +Una cadena de texto separada por comas de entradas JSONPath para redactar de las respuestas del SDK de AWS. Activar esto habilita el [etiquetado de carga útil de AWS][18] para las respuestas. `dd.trace.cloud.payload.tagging.max-depth` -: **Variable de entorno**: `DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH`
-**Predeterminada**: `10`
-Un número entero que representa la profundidad máxima de una carga útil de la solicitud/respuesta del kit de desarrollo de software (SDK) de AWS que se utilizará para el [etiquetado de la carga útil de AWS][18]. +: **Variable de Entorno**: `DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH`
+**Predeterminado**: `10`
+Un entero que representa la profundidad máxima de una carga útil de solicitud/respuesta del SDK de AWS para usar en el [etiquetado de carga útil de AWS][18]. `dd.trace.cloud.payload.tagging.max-tags` -: **Variable de entorno**: `DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_TAGS`
+: **Variable de Entorno**: `DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_TAGS`
**Predeterminado**: `758`
-Un número entero que representa el número máximo de tags (etiquetas) que se extraerán por cada span (tramo) que se utilizará para el [etiquetado de la carga útil de AWS][18]. +Un entero que representa el número máximo de etiquetas a extraer por un tramo para ser utilizado en el [etiquetado de carga útil de AWS][18]. -### Agent +### Agente {#agent} `dd.tags` -: **Variable de entorno**: `DD_TAGS`
-**Por defecto**: `null`
+: **Variable de Entorno**: `DD_TAGS`
+**Predeterminado**: `null`
**Ejemplo**: `layer:api,team:intake,key:value`
-Una lista de etiquetas (tags) predeterminadas que se añadirá a cada tramo (span), perfil y métrica JMX. Si se utiliza DD_ENV o DD_VERSION, se anula cualquier etiqueta de entorno o versión definida en DD_TAGS. Disponible para las versiones 0.50.0 o posteriores. +Una lista de etiquetas predeterminadas que se agregarán a cada tramo, perfil y métrica JMX. Si se utiliza DD_ENV o DD_VERSION, anula cualquier etiqueta de entorno o versión definida en DD_TAGS. Disponible para versiones 0.50.0+. `dd.agent.host` -: **Variable de entorno**: `DD_AGENT_HOST`
-**Por defecto**: `localhost`
-Nombre de host al que enviar trazas. Si utilizas un entorno contenedorizado, configúralo como IP del host. Para obtener más detalles, consulta [Rastreo de aplicaciones Docker][5]. +: **Variable de Entorno**: `DD_AGENT_HOST`
+**Predeterminado**: `localhost`
+Nombre del host al que se enviarán las trazas. Si se utiliza un entorno en contenedores, configure esto para que sea la IP del host. Consulte [Trazado de Aplicaciones Docker][5] para más detalles. `dd.instrumentation.telemetry.enabled` -: **Variable de entorno**: `DD_INSTRUMENTATION_TELEMETRY_ENABLED`
-**Por defecto**: `true`
-Cuando es `true`, el rastreador recopila [datos de telemetría][8]. Disponible para las versiones 0.104 o posteriores. Por defecto es `true` para las versiones 0.115 o posteriores. +: **Variable de Entorno**: `DD_INSTRUMENTATION_TELEMETRY_ENABLED`
+**Predeterminado**: `true`
+Cuando `true`, el rastreador recopila [datos de telemetría][8]. Disponible para versiones 0.104+. Por defecto es `true` para versiones 0.115+. -### Bases de datos +### Bases de Datos {#databases} `dd.trace.db.client.split-by-instance` -: **Variable de entorno**: `DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE`
-**Por defecto**: `false`
-Cuando se configura como `true`, a los tramos de bases de datos se les asigna el nombre de la instancia como nombre de servicio. +: **Variable de Entorno**: `DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE`
+**Predeterminado**: `false`
+Cuando se establece en `true`, los tramos de la base de datos reciben el nombre de instancia como el nombre del servicio `dd.trace.db.client.split-by-host` -: **Variable de entorno**: `DD_TRACE_DB_CLIENT_SPLIT_BY_HOST`
-**Por defecto**: `false`
-Cuando se configura como `true`, a los tramos de bases de datos se les asigna el nombre del host de la base de datos remota como nombre de servicio. +: **Variable de Entorno**: `DD_TRACE_DB_CLIENT_SPLIT_BY_HOST`
+**Predeterminado**: `false`
+Cuando se establece en `true`, los tramos de la base de datos reciben el nombre de host de la base de datos remota como el nombre del servicio `dd.dbm.propagation.mode` -: **Variable de entorno**: `DD_DBM_PROPAGATION_MODE`
-**Predeterminada**: `null`
-Cuando se establece en `service` o `full`, activa la correlación de Database Monitoring y APM. Para obtener más información, consulta [Correlacionar Database Monitoring y traces (trazas][23]. +: **Variable de Entorno**: `DD_DBM_PROPAGATION_MODE`
+**Predeterminado**: `null`
+Cuando se establece en `service` o `full`, habilita Database Monitoring y la correlación de APM. Para más información, consulte [Correlacionar Database Monitoring y trazas][23]. -### AAP +### AAP {#aap} `dd.appsec.enabled` -: **Variable de entorno**: `DD_APPSEC_ENABLED`
-**Predeterminada**: `false`
-Cuando es `true`, activa App and API Protection Monitoring de Datadog. Además, esto activa automáticamente la recopilación de IP del cliente (`dd.trace.client-ip.enabled`).
-Para obtener más información, consulta [Activar AAP para Java][19]. +: **Variable de Entorno**: `DD_APPSEC_ENABLED`
+**Predeterminado**: `false`
+Cuando `true`, habilita el monitoreo de Datadog App and API Protection. Además, esto habilita automáticamente la recolección de IP del cliente (`dd.trace.client-ip.enabled`).
+Para más información, consulte [Habilitar AAP para Java][19]. -### Errores +### Errores {#errors} `dd.trace.http.client.tag.query-string` -: **Propiedad del sistema (obsoleta)**: `dd.http.client.tag.query-string`
-**Variable de entorno**: `DD_TRACE_HTTP_CLIENT_TAG_QUERY_STRING`
-**Variable de entorno (obsoleta)**: `DD_HTTP_CLIENT_TAG_QUERY_STRING`
-**Predeterminada**: `true`
-En forma predeterminada, los parámetros y fragmentos de cadenas de consulta se añaden a la tag (etiqueta) `http.url` en los spans (tramos) de clientes web. Configúralo en `false` para impedir la recopilación de estos datos. +: **Propiedad del Sistema (Obsoleta)**: `dd.http.client.tag.query-string`
+**Variable de Entorno**: `DD_TRACE_HTTP_CLIENT_TAG_QUERY_STRING`
+**Variable de Entorno (Obsoleta)**: `DD_HTTP_CLIENT_TAG_QUERY_STRING`
+**Predeterminado**: `true`
+Por defecto, los parámetros de la cadena de consulta y los fragmentos se añaden a la etiqueta `http.url` en los tramos del cliente web. Establecer en `false` para prevenir la recolección de estos datos. `dd.trace.http.client.error.statuses` -: **Variable de entorno**: `DD_TRACE_HTTP_CLIENT_ERROR_STATUSES`
-**Predeterminada**: `400-499`
-Se puede aceptar un rango de errores. En forma predeterminada, 4xx errores se informan como errores para clientes HTTP. Esta configuración lo sustituye. Por ejemplo, `dd.trace.http.client.error.statuses=400-403,405,410-499` +: **Variable de Entorno**: `DD_TRACE_HTTP_CLIENT_ERROR_STATUSES`
+**Predeterminado**: `400-499`
+Se puede aceptar una variedad de errores. Por defecto, los errores 4xx se reportan como errores para los clientes HTTP. Esta configuración anula eso. Ej. `dd.trace.http.client.error.statuses=400-403,405,410-499` `dd.trace.http.server.error.statuses` -: **Variable de entorno**: `DD_TRACE_HTTP_SERVER_ERROR_STATUSES`
+: **Variable de Entorno**: `DD_TRACE_HTTP_SERVER_ERROR_STATUSES`
**Predeterminado**: `500-599`
-Se puede aceptar un rango de errores. En forma predeterminada 5xx códigos de estado se informan como errores para servidores HTTP. Esta configuración lo sustituye. Por ejemplo, `dd.trace.http.server.error.statuses=500,502-599` +Se puede aceptar una variedad de errores. Por defecto, los códigos de estado 5xx se reportan como errores para los servidores HTTP. Esta configuración anula eso. Ej. `dd.trace.http.server.error.statuses=500,502-599` `dd.grpc.client.error.statuses` -: **Variable de entorno**: `DD_GRPC_CLIENT_ERROR_STATUSES`
+: **Variable de Entorno**: `DD_GRPC_CLIENT_ERROR_STATUSES`
**Predeterminado**: `1-16`
-Se puede aceptar un rango de errores. En forma predeterminada, los códigos de estado gRPC 1 a 16 se informan como errores para los clientes gRPC. Esta configuración lo sustituye. Por ejemplo, `dd.grpc.client.error.statuses=1-4,7-10` +Se puede aceptar una variedad de errores. Por defecto, los códigos de estado de gRPC del 1 al 16 se informan como errores para los clientes de gRPC. Esta configuración anula eso. Ej. `dd.grpc.client.error.statuses=1-4,7-10` `dd.grpc.server.error.statuses` -: **Variable de entorno**: `DD_GRPC_SERVER_ERROR_STATUSES`
+: **Variable de Entorno**: `DD_GRPC_SERVER_ERROR_STATUSES`
**Predeterminado**: `2-16`
-Se puede aceptar un rango de errores. En forma predeterminada, los códigos de estado gRPC 2 a 16 se informan como errores para los servidores gRPC. Esta configuración lo sustituye. Por ejemplo, `dd.grpc.server.error.statuses=2-4,7-10` +Se puede aceptar una variedad de errores. Por defecto, los códigos de estado de gRPC del 2 al 16 se informan como errores para los servidores de gRPC. Esta configuración anula eso. Ej. `dd.grpc.server.error.statuses=2-4,7-10` -### Logs +### Logs {#logs} `dd.log.level` -: **Variable de entorno**: `DD_LOG_LEVEL`
+: **Variable de Entorno**: `DD_LOG_LEVEL`
**Predeterminado**: `INFO`
-Establece el nivel interno de log para Datadog Java Tracer. Valores válidos: `DEBUG`, `INFO`, `WARN`, `ERROR`.
-Disponible a partir de la versión 1.36.0 +Establece el nivel de registro interno para el Java Tracer de Datadog. Valores válidos: `DEBUG`, `INFO`, `WARN`, `ERROR`.
+Disponible desde la versión 1.36.0 `dd.log.format.json` -: **Variable de entorno**: `DD_LOG_FORMAT_JSON`
+: **Variable de Entorno**: `DD_LOG_FORMAT_JSON`
**Predeterminado**: `false`
-Cuando es `true`, genera logs de Datadog Java Tracer en un formato JSON compatible con la interfaz de usuario de logs de Datadog.
-Disponible a partir de la versión 1.58.0 +Cuando `true`, genera registros del Java Tracer de Datadog en un formato JSON compatible con Datadog Logs UI.
+Disponible desde la versión 1.58.0 `dd.logs.injection` -: **Variable de entorno**: `DD_LOGS_INJECTION`
+: **Variable de Entorno**: `DD_LOGS_INJECTION`
**Predeterminado**: `true`
-Activada la inserción automática de claves MDC para ID de traces (trazas) y spans (tramos) de Datadog. Consulta [Utilización avanzada][2] para obtener más información.

-A partir de la versión 1.18.3, si la [Configuración remota del Agent][3] está activada donde se ejecuta este servicio, puedes configurar `DD_LOGS_INJECTION` en la interfaz de usuario de [Software Catalog][4]. +Se habilitó la inyección automática de claves MDC para los IDs de traza y de tramo de Datadog. Consulte [Uso Avanzado][2] para más detalles.

+A partir de la versión 1.18.3, si se habilita la [Agent Remote Configuration][3] donde se ejecuta este servicio, puede establecer `DD_LOGS_INJECTION` en la interfaz de usuario del [Catálogo][4]. -### Propagación del contexto de rastreo +### Propagación del contexto de trazas {#trace-context-propagation} -Para obtener información sobre los valores válidos y el uso de las siguientes opciones de configuración, consulta [Propagación del contexto de rastreo Java][15]. +Para información sobre valores válidos y el uso de las siguientes opciones de configuración, consulte [Propagando el Contexto de Traza de Java][15]. `dd.trace.propagation.style.inject` -: **Variable de entorno**: `DD_TRACE_PROPAGATION_STYLE_INJECT`
-**Por defecto**: `datadog,tracecontext`
-Una lista separada por comas de formatos de cabeceras para incluir, para propagar trazas distribuidas entre servicios.
-Disponible a partir de la versión 1.9.0 +: **Variable de Entorno**: `DD_TRACE_PROPAGATION_STYLE_INJECT`
+**Predeterminado**: `datadog,tracecontext`
+Una lista de formatos de encabezado separados por comas que se incluirán para propagar trazas distribuidas entre servicios.
+Disponible desde la versión 1.9.0 `dd.trace.propagation.style.extract` -: **Variable de entorno**: `DD_TRACE_PROPAGATION_STYLE_EXTRACT`
-**Por defecto**: `datadog,tracecontext`
-Una lista separada por comas de formatos de cabeceras de los que se intentará extraer datos de propagación del rastreo distribuido. El primer formato encontrado con cabeceras completas y válidas se utiliza para definir la traza y continuar.
-Disponible a partir de la versión 1.9.0 +: **Variable de Entorno**: `DD_TRACE_PROPAGATION_STYLE_EXTRACT`
+**Predeterminado**: `datadog,tracecontext`
+Una lista de formatos de encabezado separados por comas de los cuales se intentará extraer datos de propagación de trazas distribuidas. El primer formato encontrado con encabezados completos y válidos se utiliza para definir la traza a continuar.
+Disponible desde la versión 1.9.0 `dd.trace.propagation.style` -: **Variable de entorno**: `DD_TRACE_PROPAGATION_STYLE`
-**Por defecto**: `datadog,tracecontext`
-Una lista separada por comas de formatos de cabeceras en los que se intentará inyectar y extraer datos de propagación del rastreo distribuido. El primer formato encontrado con cabeceras completas y válidas se utiliza para definir la traza y continuar. Los parámetros de configuración más específicos `dd.trace.propagation.style.inject` y `dd.trace.propagation.style.extract` tienen prioridad cuando están presentes.
-Disponible a partir de la versión 1.9.0 +: **Variable de Entorno**: `DD_TRACE_PROPAGATION_STYLE`
+**Predeterminado**: `datadog,tracecontext`
+Una lista de formatos de encabezado separados por comas de los cuales intentar inyectar y extraer datos de propagación de trazas distribuidas. El primer formato encontrado con encabezados completos y válidos se utiliza para definir la traza a continuar. Las configuraciones más específicas `dd.trace.propagation.style.inject` y `dd.trace.propagation.style.extract` tienen prioridad cuando están presentes.
+Disponible desde la versión 1.9.0 `trace.propagation.extract.first` -: **Variable de entorno**: `DD_TRACE_PROPAGATION_EXTRACT_FIRST`
-**Por defecto**: `false`
-Cuando se configura como `true`, deja de extraer contextos de rastreo cuando encuentra uno válido. +: **Variable de Entorno**: `DD_TRACE_PROPAGATION_EXTRACT_FIRST`
+**Predeterminado**: `false`
+Cuando se establece en `true`, se detiene la extracción del contexto de trazas cuando se encuentra uno válido. -### Métricas de JMX +### Métricas JMX {#jmx-metrics} `dd.jmxfetch.enabled` -: **Variable de entorno**: `DD_JMXFETCH_ENABLED`
-**Por defecto**: `true`
-Habilita la recopilación de métricas JMX por parte del Agent de rastreo Java. +: **Variable de Entorno**: `DD_JMXFETCH_ENABLED`
+**Predeterminado**: `true`
+Habilitar la recolección de métricas JMX por el Agente de Trazado de Java. `dd.jmxfetch.config.dir` -: **Variable de entorno**: `DD_JMXFETCH_CONFIG_DIR`
-**Por defecto**: `null`
+: **Variable de Entorno**: `DD_JMXFETCH_CONFIG_DIR`
+**Predeterminado**: `null`
**Ejemplo**: `/path/to/directory/etc/conf.d`
-Directorio de configuración adicional para la recopilación de métricas JMX. El Agent Java busca `jvm_direct:true` en la sección `instance` del archivo `yaml` para cambiar la configuración. +Directorio de configuración adicional para la recolección de métricas JMX. El Agente de Java busca `jvm_direct:true` en la sección `instance` en el archivo `yaml` para cambiar la configuración. `dd.jmxfetch.config` -: **Variable de entorno**: `DD_JMXFETCH_CONFIG`
-**Por defecto**: `null`
+: **Variable de Entorno**: `DD_JMXFETCH_CONFIG`
+**Predeterminado**: `null`
**Ejemplo**: `path/to/file/conf.yaml,other/path/to/file/conf.yaml`
-Directorio de configuración adicional para la recopilación de métricas JMX. El Agent Java busca `jvm_direct:true` en la sección `instance` del archivo `yaml` para cambiar la configuración. +Archivo de configuración de métricas adicionales para la recolección de métricas JMX. El Agente de Java busca `jvm_direct:true` en la sección `instance` del archivo `yaml` para cambiar la configuración. `dd.jmxfetch.check-period` -: **Variable de entorno**: `DD_JMXFETCH_CHECK_PERIOD`
+: **Variable de Entorno**: `DD_JMXFETCH_CHECK_PERIOD`
**Predeterminado**: `15000`
-Frecuencia de envío de métricas de JMX (en ms). +Con qué frecuencia enviar métricas JMX (en ms). `dd.jmxfetch.refresh-beans-period` -: **Variable de entorno**: `DD_JMXFETCH_REFRESH_BEANS_PERIOD`
-**Por defecto**: `600`
-Frecuencia de actualización de lista de beans JMX disponibles (en segundos). - +: **Variable de Entorno**: `DD_JMXFETCH_REFRESH_BEANS_PERIOD`
+**Predeterminado**: `600`
+Con qué frecuencia actualizar la lista de beans JMX disponibles (en segundos). `dd.jmxfetch.statsd.host` -: **Variable de entorno**: `DD_JMXFETCH_STATSD_HOST`
-**Por defecto**: Igual que `agent.host`
-Host de Statsd al que enviar métricas JMX. Si utilizas sockets de dominio Unix, utiliza un argumento como 'unix://PATH_TO_UDS_SOCKET'. Ejemplo: `unix:///var/datadog-agent/dsd.socket` - +: **Variable de Entorno**: `DD_JMXFETCH_STATSD_HOST`
+**Predeterminado**: Igual que `agent.host`
+Servidor de Statsd para enviar métricas JMX. Si está utilizando Sockets de Dominio Unix, use un argumento como 'unix://PATH_TO_UDS_SOCKET'. Ejemplo: `unix:///var/datadog-agent/dsd.socket` `dd.jmxfetch.statsd.port` -: **Variable de entorno**: `DD_JMXFETCH_STATSD_PORT`
-**Por defecto**: `8125`
-Puerto de StatsD al que enviar métricas JMX. Si utilizas sockets de dominio Unix, introduce 0. +: **Variable de Entorno**: `DD_JMXFETCH_STATSD_PORT`
+**Predeterminado**: `8125`
+Puerto de StatsD para enviar métricas JMX. Si está utilizando Sockets de Dominio Unix, ingrese 0. `dd.jmxfetch..enabled` -: **Variable de entorno**: `DD_JMXFETCH__ENABLED`
-**Por defecto**: `false`
I +: **Variable de Entorno**: `DD_JMXFETCH__ENABLED`
+**Predeterminado**: `false`
Integración JMX para habilitar (por ejemplo, Kafka o ActiveMQ). -### integraciones +### Integrations {#integrations} -Consulta cómo deshabilitar integraciones en la sección de compatibilidad de las [integraciones][13]. +Vea cómo deshabilitar Integrations en la sección de compatibilidad [integrations][13]. `dd.integration.opentracing.enabled` -: **Variable de entorno**: `DD_INTEGRATION_OPENTRACING_ENABLED`
-**Por defecto**: `true`
-Por defecto, el cliente de rastreo detecta si se está cargando un GlobalTracer y registra dinámicamente un rastreador en él. Si se cambia a falso, se elimina cualquier dependencia del rastreador OpenTracing. +: **Variable de Entorno**: `DD_INTEGRATION_OPENTRACING_ENABLED`
+**Predeterminado**: `true`
+Por defecto, el cliente de trazado detecta si se está cargando un GlobalTracer y registra dinámicamente un trazador en él. Al cambiar esto a falso, se elimina cualquier dependencia del trazador en OpenTracing. `dd.hystrix.tags.enabled` -: **Variable de entorno**: `DD_HYSTRIX_TAGS_ENABLED`
-**Por defecto**: `false`
-Por defecto, el grupo Hystrix, el comando y las etiquetas de estado del circuito no están habilitados. Esta propiedad los habilita. +: **Variable de Entorno**: `DD_HYSTRIX_TAGS_ENABLED`
+**Predeterminado**: `false`
+Por defecto, los grupos, comandos y etiquetas de estado de circuito de Hystrix no están habilitados. Esta propiedad los habilita. `dd.trace.elasticsearch.body.enabled` -: **Variable de entorno**: `DD_TRACE_ELASTICSEARCH_BODY_ENABLED`
-**Por defecto**: `false`
-Cuando se configura como `true`, el cuerpo se añade a tramos de Elasticsearch y OpenSearch. +: **Variable de Entorno**: `DD_TRACE_ELASTICSEARCH_BODY_ENABLED`
+**Predeterminado**: `false`
+Cuando se establece en `true`, el cuerpo se agrega a los tramos de Elasticsearch y OpenSearch. `dd.trace.elasticsearch.params.enabled` -: **Variable de entorno**: `DD_TRACE_ELASTICSEARCH_PARAMS_ENABLED`
-**Por defecto**: `true`
-Cuando se configura como `true`, los parámetros de cadenas de consulta se añaden a tramos de Elasticsearch y OpenSearch. +: **Variable de Entorno**: `DD_TRACE_ELASTICSEARCH_PARAMS_ENABLED`
+**Predeterminado**: `true`
+Cuando se establece en `true`, los parámetros de la cadena de consulta se agregan a los tramos de Elasticsearch y OpenSearch. `dd.trace.cassandra.keyspace.statement.extraction.enabled` -: **Variable de entorno**: `DD_TRACE_CASSANDRA_KEYSPACE_STATEMENT_EXTRACTION_ENABLED`
+: **Variable de Entorno**: `DD_TRACE_CASSANDRA_KEYSPACE_STATEMENT_EXTRACTION_ENABLED`
**Predeterminado**: `false`
-En forma predeterminada, el espacio de claves se extrae solo si se configura durante la creación de la sesión. Cuando se configura en `true`, el espacio de claves también se puede extraer examinando los metadatos en los resultados de la consulta. +Por defecto, el espacio de claves se extrae solo si está configurado durante la creación de la sesión. Cuando se establece en `true`, el espacio de claves también se puede extraer examinando los metadatos en los resultados de la consulta. `dd.trace.websocket.messages.enabled` -: **Variable de entorno**: `DD_TRACE_WEBSOCKET_MESSAGES_ENABLED`
+: **Variable de Entorno**: `DD_TRACE_WEBSOCKET_MESSAGES_ENABLED`
**Predeterminado**: `false`
-Activa el rastreo de mensajes de websocket enviados y recibidos (de texto y binarios) y eventos de cierre de connection (conexión). +Habilita el seguimiento de los mensajes de websocket enviados y recibidos (texto y binario) y eventos de cierre de conexión. `dd.trace.websocket.messages.inherit.sampling` -: **Variable de entorno**: `DD_TRACE_WEBSOCKET_MESSAGES_INHERIT_SAMPLING`
+: **Variable de Entorno**: `DD_TRACE_WEBSOCKET_MESSAGES_INHERIT_SAMPLING`
**Predeterminado**: `true`
-En forma predeterminada, los mensajes de websocket conservan el mismo muestreo que el span (tramo) capturado durante el protocolo de enlace. Esto asegura que, si se ha muestreado un span (tramo) de protocolo de enlace, también se muestrearán todos los mensajes de la sesión. Para desactivar ese comportamiento y muestrear cada mensaje de websocket de forma independiente, establece esta configuración en `false`. +Por defecto, los mensajes de websocket preservan el mismo muestreo que el tramo capturado durante el apretón de manos. Esto asegura que, si un tramo de apretón de manos ha sido muestreado, todos los mensajes en su sesión también serán muestreados. Para deshabilitar ese comportamiento y muestrear cada mensaje de websocket de manera independiente, configure esta opción a `false`. `dd.trace.websocket.messages.separate.traces` -: **Variable de entorno**: `DD_TRACE_WEBSOCKET_MESSAGES_SEPARATE_TRACES`
+: **Variable de Entorno**: `DD_TRACE_WEBSOCKET_MESSAGES_SEPARATE_TRACES`
**Predeterminado**: `true`
-En forma predeterminada, cada mensaje recibido genera una nueva trace (traza). El protocolo de enlace se vincula a ella como un enlace de span (tramo). La configuración de este parámetro en `false` hace que todos los spans (tramos) capturados durante la sesión estén en la misma trace (traza). +Por defecto, cada mensaje recibido genera una nueva traza. El apretón de manos está vinculado a él como un enlace de tramo. Configurar este parámetro a `false` provoca que todos los tramos capturados durante la sesión estén en la misma traza. `dd.trace.websocket.tag.session.id` -: **Variable de entorno**: `DD_TRACE_WEBSOCKET_TAG_SESSION_ID`
+: **Variable de Entorno**: `DD_TRACE_WEBSOCKET_TAG_SESSION_ID`
**Predeterminado**: `false`
-Cuando se configura en `true`, los spans (tramos) de websocket tienen la tag (etiqueta) `websocket.session.id` que contiene el ID de sesión cuando está disponible. +Cuando se establece en `true`, los tramos de websocket tienen la etiqueta `websocket.session.id` que contiene el ID de sesión cuando está disponible. **Nota**: -- Si se define el mismo tipo de clave para ambas, la configuración de la propiedad del sistema tiene prioridad. -- Las propiedades del sistema pueden utilizarse como parámetros de máquinas virtuales Java. -- Por defecto, las métricas JMX de tu aplicación se envían al Datadog Agent gracias a DogStatsD, a través del puerto `8125`. Asegúrate de que [DogStatsD está habilitado para el Agent][9]. +- Si se establece el mismo tipo de clave para ambos, la configuración de propiedad del sistema tiene prioridad. +- Las propiedades del sistema pueden ser utilizadas como parámetros de la JVM. +- Por defecto, las métricas JMX de su aplicación se envían al Datadog Agent gracias a DogStatsD a través del puerto `8125`. Asegúrese de que [DogStatsD esté habilitado para el Datadog Agent][9]. - - Si estás ejecutando el Agent como contenedor, asegúrate de que `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` [está configurado como `true`][10] y que el puerto `8125` está abierto en el contenedor Agent. - - En Kubernetes, [vincula el puerto de DogStatsD con un puerto de host][11]. En ECS, [configura las marcas apropiadas en la definición de tu tarea][12]. + - Si está ejecutando el Datadog Agent como un contenedor, asegúrese de que `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` [esté configurado a `true`][10], y que el puerto `8125` esté abierto en el contenedor del Datadog Agent. + - En Kubernetes, [vincule el puerto de DogStatsD a un puerto de host][11]; en ECS, [establezca las banderas apropiadas en la definición de su tarea][12]. -### UDS +### UDS {#uds} `dd.jdk.socket.enabled` -: **Variable de entorno**: `DD_JDK_SOCKET_ENABLED`
+: **Variable de Entorno**: `DD_JDK_SOCKET_ENABLED`
**Predeterminado**: `true`
-Activa la compatibilidad nativa de JDK para sockets de dominio de Unix. +Habilitar soporte nativo de JDK para Sockets de Dominio Unix. -### Ejemplos +### Ejemplos {#examples} -#### `dd.service.mapping` +#### `dd.service.mapping` {#ddservicemapping} -Ejemplo con la propiedad del sistema: +Ejemplo con propiedad del sistema: ```shell java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.service.mapping=postgresql:web-app-pg -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/service_mapping.png" alt="Asignación de servicios" >}} +{{< img src="tracing/setup/java/service_mapping.png" alt="mapeo de servicio" >}} -#### `dd.tags` -Configuración de una variable de entorno global para spans (tramos) y métricas de JMX: +#### `dd.tags` {#ddtags} +Configurando un entorno global para tramos y métricas JMX: ```shell java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/trace_global_tags.png" alt="Tags (etiquetas) globales de traces (trazas)" >}} +{{< img src="tracing/setup/java/trace_global_tags.png" alt="etiquetas globales de traza" >}} -#### `dd.trace.span.tags` +#### `dd.trace.span.tags` {#ddtracespantags} -Ejemplo con la adición de project:test a cada span (tramo): +Ejemplo agregando project:test a cada tramo: ```shell java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.span.tags=project:test -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/trace_span_tags.png" alt="Etiquetas de tramos de trazas" >}} +{{< img src="tracing/setup/java/trace_span_tags.png" alt="etiquetas de tramo de traza" >}} -#### `dd.trace.jmx.tags` +#### `dd.trace.jmx.tags` {#ddtracejmxtags} -Configuración de custom.type:2 en una métrica de JMX: +Configurando custom.type:2 en una métrica JMX: ```shell java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.span.tags=project:test -Ddd.trace.jmx.tags=custom.type:2 -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/trace_jmx_tags.png" alt="Etiquetas JMX de trazas" >}} +{{< img src="tracing/setup/java/trace_jmx_tags.png" alt="etiquetas JMX de traza" >}} -#### `dd.trace.methods` +#### `dd.trace.methods` {#ddtracemethods} -Ejemplo con la propiedad del sistema: +Ejemplo con propiedad del sistema: ```shell java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.methods="hello.GreetingController[doSomeStuff,doSomeOtherStuff];hello.Randomizer[randomize]" -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/trace_methods.png" alt="Métodos de rastreo" >}} +{{< img src="tracing/setup/java/trace_methods.png" alt="métodos de traza" >}} -#### `dd.trace.db.client.split-by-instance` +#### `dd.trace.db.client.split-by-instance` {#ddtracedbclientsplit-by-instance} -Ejemplo con la propiedad del sistema: +Ejemplo con propiedad del sistema: ```shell java -javaagent:/path/to/dd-java-agent.jar -Ddd.env=dev -Ddd.service=web-app -Ddd.trace.db.client.split-by-instance=TRUE -jar path/to/application.jar ``` -La instancia 1 de base de datos, `webappdb`, ahora tiene su propio nombre de servicio, que es el mismo que el de los metadatos de tramos `db.instance`: +La instancia de DB 1, `webappdb`, ahora tiene su propio nombre de servicio que es el mismo que los metadatos del tramo `db.instance`: -{{< img src="tracing/setup/java/split_by_instance_1.png" alt="Instancia 1" >}} +{{< img src="tracing/setup/java/split_by_instance_1.png" alt="instancia 1" >}} -La instancia 2 de base de datos, `secondwebappdb`, ahora tiene su propio nombre de servicio, que es el mismo que el de los metadatos de tramos `db.instance`: +La instancia de DB 2, `secondwebappdb`, ahora tiene su propio nombre de servicio que es el mismo que los metadatos del tramo `db.instance`: -{{< img src="tracing/setup/java/split_by_instance_2.png" alt="Instancia 2" >}} +{{< img src="tracing/setup/java/split_by_instance_2.png" alt="instancia 2" >}} -De forma similar, en el mapa de servicios ahora verías una aplicación web haciendo llamadas a dos bases de datos Postgres diferentes. +De manera similar, en el mapa de servicios, ahora verías una aplicación web haciendo llamadas a dos bases de datos Postgres diferentes. -#### `dd.http.server.tag.query-string` +#### `dd.http.server.tag.query-string` {#ddhttpservertagquery-string} -Ejemplo con la propiedad del sistema: +Ejemplo con propiedad del sistema: ```shell java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.http.server.tag.query-string=TRUE -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/query_string.png" alt="Cadena de consulta" >}} +{{< img src="tracing/setup/java/query_string.png" alt="cadena de consulta" >}} -#### `dd.trace.enabled` +#### `dd.trace.enabled` {#ddtraceenabled} -Ejemplo con propiedad del sistema y modo de depuración de aplicación: +Ejemplo con propiedad del sistema y modo de depuración de la aplicación: ```shell java -javaagent:/path/to/dd-java-agent.jar -Ddd.trace.enabled=false -Ddd.trace.debug=true -jar path/to/application.jar ``` -Los logs de la aplicación de la aplicación muestran que `Tracing is disabled, not installing instrumentations.` +Los registros de depuración de la aplicación muestran que `Tracing is disabled, not installing instrumentations.` -#### `dd.jmxfetch.config.dir` y `dd.jmxfetch.config` +#### `dd.jmxfetch.config.dir` y `dd.jmxfetch.config` {#ddjmxfetchconfigdir-and-ddjmxfetchconfig} -Ejemplo de configuración: +Configuración de ejemplo: -- Ya sea la combinación de: `DD_JMXFETCH_CONFIG_DIR=` + `DD_JMXFETCH_CONFIG=conf.yaml` +- O la combinación de: `DD_JMXFETCH_CONFIG_DIR=` + `DD_JMXFETCH_CONFIG=conf.yaml` - O directamente: `DD_JMXFETCH_CONFIG=/conf.yaml` Con el siguiente contenido para `conf.yaml`: @@ -650,29 +648,29 @@ instances: alias: sb.usage.used ``` -Se produciría el siguiente resultado: +Produciría el siguiente resultado: -{{< img src="tracing/setup/java/jmxfetch_example.png" alt="Ejemplo de búsqueda JMX" >}} +{{< img src="tracing/setup/java/jmxfetch_example.png" alt="Ejemplo de JMX fetch" >}} -Para obtener más información sobre la recopilación de métricas Java con la búsqueda JMX, consulta la [documentación de la integración Java][14]. +Consulte la [documentación de integración de Java][14] para aprender más sobre la recolección de métricas de Java con JMX fetch. -#### Parámetros de extracción e inyección obsoletos +#### Configuraciones de extracción e inyección obsoletas {#deprecated-extraction-and-injection-settings} -Estos parámetros de extracción e inyección han quedado obsoletas en favor de los parámetros `dd.trace.propagation.style.inject`, `dd.trace.propagation.style.extract` y `dd.trace.propagation.style`, a partir de la versión 1.9.0. Consulta [Propagación del contexto de rastreo Java][15]. La configuración anterior `b3`, tanto para la cabecera múltiple B3 como para la cabecera única B3, ha sido sustituida por los nuevos parámetros `b3multi` y `b3single`. +Estas configuraciones de extracción e inyección han sido obsoletas a favor de las configuraciones `dd.trace.propagation.style.inject`, `dd.trace.propagation.style.extract` y `dd.trace.propagation.style` desde la versión 1.9.0. Consulte [Propagación del contexto de traza de Java][15]. La configuración anterior `b3` para ambos encabezados múltiples B3 y encabezado único B3 ha sido reemplazada por las nuevas configuraciones `b3multi` y `b3single`. `dd.propagation.style.inject` : **Variable de entorno**: `DD_PROPAGATION_STYLE_INJECT`
-**Por defecto**: `datadog`
-Una lista separada por comas de formatos de cabeceras para incluir, para propagar trazas distribuidas entre servicios.
-Obsoleto a partir de la versión 1.9.0 +**Predeterminado**: `datadog`
+Una lista separada por comas de formatos de encabezado para incluir para propagar trazas distribuidas entre servicios.
+Obsoleto desde la versión 1.9.0 `dd.propagation.style.extract` : **Variable de entorno**: `DD_PROPAGATION_STYLE_EXTRACT`
-**Por defecto**: `datadog`
-Una lista separada por comas de formatos de cabecera de los que se intentará extraer datos de propagación del rastreo distribuido. El primer formato encontrado con cabeceras completas y válidas se utiliza para definir la traza y continuar.
-Disponible a partir de la versión 1.9.0 +**Predeterminado**: `datadog`
+Una lista separada por comas de formatos de encabezado de los cuales intentar extraer datos de propagación de trazas distribuidas. El primer formato encontrado con encabezados completos y válidos se utiliza para definir la traza a continuar.
+Obsoleto desde la versión 1.9.0 -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/es/tracing/trace_collection/single-step-apm/_index.md b/content/es/tracing/trace_collection/single-step-apm/_index.md new file mode 100644 index 00000000000..49de4511992 --- /dev/null +++ b/content/es/tracing/trace_collection/single-step-apm/_index.md @@ -0,0 +1,88 @@ +--- +aliases: +- /es/tracing/trace_collection/admission_controller/ +- /es/tracing/trace_collection/library_injection_local/ +- /es/tracing/trace_collection/automatic_instrumentation/single-step-apm/ +further_reading: +- link: /tracing/metrics/runtime_metrics/ + tag: Documentación + text: Habilitar métricas en tiempo de ejecución +- link: /tracing/guide/injectors + tag: Documentación + text: Comprendiendo el comportamiento del inyector con la instrumentación de un + solo paso +- link: /tracing/trace_collection/automatic_instrumentation/single-step-apm/troubleshooting/ + tag: Documentación + text: Solucionando problemas de APM de un solo paso +- link: https://learn.datadoghq.com/courses/troubleshooting-apm-instrumentation-on-a-host + tag: Centro de aprendizaje + text: Solucionando problemas de la instrumentación de APM en un servidor +- link: /tracing/guide/local_sdk_injection + tag: Documentación + text: Instrumenta tus aplicaciones utilizando inyección de SDK local +- link: https://www.datadoghq.com/blog/datadog-csi-driver/ + tag: Blog + text: Lleva la observabilidad de alto rendimiento a entornos de Kubernetes seguros + con el controlador CSI de Datadog +- link: https://www.datadoghq.com/blog/rum-apm-single-step + tag: Blog + text: Habilite la visibilidad de extremo a extremo en sus aplicaciones Java con + un solo comando +title: Instrumentación de APM de un solo paso +--- +## Descripción general {#overview} + +La instrumentación de un solo paso (SSI) instala automáticamente los SDK de Datadog sin requerir configuración adicional, reduciendo el tiempo de incorporación de días a minutos. + +Para aprender más sobre cómo funciona, consulte la [guía del inyector para la instrumentación de un solo paso][8]. + +## Requisitos previos {#prerequisites} + +1. Elimine cualquier código de instrumentación personalizado de su aplicación y reiníciela. SSI se desactiva automáticamente si se detecta instrumentación personalizada. +1. Confirme la compatibilidad del entorno revisando la [guía de compatibilidad de SSI][18] para lenguajes, sistemas operativos y arquitecturas soportadas. + +## Instrumente SDKs en sus aplicaciones {#instrument-sdks-across-applications} + +Cuando [instale o actualice el Agente de Datadog][1] con **instrumentación de APM** habilitada, el Agente instrumenta sus aplicaciones cargando el SDK de Datadog en procesos soportados. Esto permite el seguimiento distribuido al capturar y enviar datos de traza desde sus servicios sin requerir cambios en el código. + +Después de la instrumentación, puede opcionalmente: +- [Configure Etiquetas de Servicio Unificadas (UST)][14] +- Habilite productos y características adicionales dependientes del SDK, como Continuous Profiler o Application Security Monitoring + +Haga clic en uno de los siguientes mosaicos para aprender cómo configurar SSI para su tipo de implementación: + +{{< card-grid card_width="170px" image_width="200" >}} + {{< image-card href="linux/" src="integrations_logos/linux.png" alt="linux" >}} + {{< image-card href="docker/" src="integrations_logos/docker.png" alt="docker" >}} + {{< image-card href="kubernetes/" src="integrations_logos/kubernetes.png" alt="kubernetes" >}} + {{< image-card href="windows/" src="integrations_logos/windows.png" alt="windows" >}} +{{< /card-grid >}} + +
+ +## Solución de problemas {#troubleshooting} + +Si encuentra problemas al habilitar APM con SSI, consulte la [guía de solución de problemas de SSI][15]. + +## Lectura adicional {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/account/settings/agent/latest +[2]: /es/tracing/metrics/runtime_metrics/ +[3]: /es/internal_developer_portal/catalog/ +[4]: /es/tracing/glossary/#instrumentation +[5]: /es/containers/cluster_agent/admission_controller/ +[6]: /es/tracing/trace_collection/automatic_instrumentation/single-step-apm/compatibility +[7]: /es/tracing/trace_collection/custom_instrumentation/ +[8]: /es/tracing/guide/injectors +[9]: /es/tracing/trace_collection/automatic_instrumentation/single-step-apm/kubernetes/?tab=installingwithdatadogoperator#configure-instrumentation-for-namespaces-and-pods +[10]: /es/tracing/trace_collection/library_config/ +[11]: /es/tracing/metrics/runtime_metrics/ +[12]: /es/internal_developer_portal/catalog/ +[13]: /es/tracing/glossary/#instrumentation +[14]: /es/getting_started/tagging/unified_service_tagging +[15]: /es/tracing/trace_collection/automatic_instrumentation/single-step-apm/troubleshooting +[16]: /es/tracing/trace_collection/custom_instrumentation/ +[17]: /es/tracing/trace_collection/library_config/application_monitoring_yaml/ +[18]: /es/tracing/trace_collection/automatic_instrumentation/single-step-apm/compatibility/ \ No newline at end of file diff --git a/content/es/tracing/trace_explorer/_index.md b/content/es/tracing/trace_explorer/_index.md index 8de00a2fe4d..ebca87d25d1 100644 --- a/content/es/tracing/trace_explorer/_index.md +++ b/content/es/tracing/trace_explorer/_index.md @@ -7,130 +7,154 @@ description: Trace Explorer further_reading: - link: tracing/trace_explorer/search tag: Documentación - text: Buscar tramos + text: Buscar Tramos +- link: https://learn.datadoghq.com/courses/getting-started-apm + tag: Centro de Aprendizaje + text: Introducción a las Métricas y Trazas de APM +- link: https://learn.datadoghq.com/courses/diagnosing-bugs-with-apm + tag: Centro de Aprendizaje + text: Diagnóstico de Errores de Aplicación con Datadog APM title: Trace Explorer --- - {{< img src="tracing/apm_lifecycle/trace_explorer.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Trace Explorer" >}} -## Información general +## Descripción General {#overview} + +El [Trace Explorer][1] le brinda la capacidad de buscar todos los tramos ingeridos o indexados utilizando cualquier etiqueta en cualquier tramo. Los tramos encontrados por su consulta cambian dependiendo de si está buscando en Live (todos los tramos ingeridos en los últimos 15 minutos, en forma continua) o tramos indexados (tramos retenidos durante 15 días por sus filtros personalizados). + +Las aplicaciones instrumentadas envían trazas a Datadog basadas en sus [controles de ingestión][2] configurados. Las trazas ingeridas están disponibles como trazas en vivo durante una ventana móvil de 15 minutos. + +El Trace Explorer muestra un indicador de **Búsqueda en Vivo - Todos los datos ingeridos** cada vez que esté en modo en vivo: -El [Trace Explorer][1] te ofrece la posibilidad de buscar todos los tramos (spans) ingeridos o indexados mediante cualquier etiqueta en cualquier tramo. Los tramos encontrados por tu consulta cambian según si estás buscando tramos en Live (todos los tramos ingeridos en los últimos 15 minutos, de forma continua) o tramos indexados (tramos retenidos durante 15 días por tus filtros personalizados). +{{< img src="tracing/trace_explorer/live_search.png" alt="Indicador de Búsqueda en Vivo" style="width:75%;" >}} -Las aplicaciones instrumentadas envían trazas a Datadog en función de los [controles de ingesta][2] configurados. Las trazas ingestadas están disponibles como trazas en directo durante un periodo de 15 minutos. +Todas las trazas ingeridas son luego procesadas a través de: +- [Filtros de retención personalizados][3] que puede crear para determinar qué tramos indexar. Una vez indexadas a través de un filtro de retención personalizado, las trazas se retienen durante **15 días**. +- El [filtro de retención inteligente][4] por defecto que retiene un conjunto diverso de trazas. Cuando se indexan a través del filtro de retención inteligente, las trazas se retienen durante **30 días**. -El Trace Explorer muestra un indicador **Live Search - All ingested data** (Live Search: todos los datos ingeridos) siempre que se encuentre en el modo Live: +El Trace Explorer muestra un indicador de **Búsqueda - Solo Datos Indexados** cada vez que busque [tramos indexados][5]: -{{< img src="tracing/trace_explorer/live_search.png" alt="Indicador de Live Search" style="width:75%;" >}} +{{< img src="tracing/trace_explorer/historical_search.png" alt="Indicador de Solo Datos Indexados" style="width:75%;" >}} -Todas las trazas ingeridas se pasan mediante: -- [Filtros de retención personalizados][3] que puedes crear para determinar qué tramos indexar. Una vez indexadas a través de un filtro de retención personalizado, las trazas se conservan durante **15 días**. -- El [filtro de retención inteligente][4] predeterminado que retiene un conjunto diverso de trazas. Cuando se indexa a través del filtro de retención inteligente, las trazas se retienen durante **30 días**. +La Búsqueda en Vivo es la vista predeterminada en la página de Trazas. Cambie de Búsqueda en Vivo a Búsqueda de Datos Indexados utilizando el selector de tiempo en la esquina superior derecha. -El Trace Explorer muestra un indicador **Search - Only Indexed Data** (Búsqueda: solo los datos indexados) siempre que buscas [tramos indexados][5]: +### Trace Patterns {#trace-patterns} -{{< img src="tracing/trace_explorer/historical_search.png" alt="Indicador Solo datos indexados" style="width:75%;" >}} +{{< callout url="https://www.datadoghq.com/product-preview/apm-trace-patterns/" btn_hidden="false" header="¡Únase a la Vista Previa!" >}} +Trace Patterns está en Vista Previa. Utilice este formulario para enviar su solicitud hoy. +{{< /callout >}} -Live Search es la vista por defecto en la página Traces (Trazas). Cambia de Live Search a Indexed Data Search (Búsqueda de datos indexados) utilizando el selector de tiempo situado en la esquina superior derecha. +Trace Patterns agrupa tramos con una estructura y atributos similares en patrones recurrentes, para que pueda analizar el comportamiento a través de miles de trazas a la vez en lugar de leerlas individualmente. Utilice Trace Patterns cuando una consulta devuelva demasiados tramos para escanear traza por traza, por ejemplo, para identificar qué formas de error son nuevas esta semana o qué patrones de latencia han cambiado después de un despliegue. -### Control del volumen de traza +### Control de volumen de trazas {#trace-volume-control} -Puedes personalizar la configuración tanto de [ingesta como de retención][6] para enviar y conservar exactamente los datos que más te interesan. +Puede personalizar la configuración tanto para [ingestión y retención][6] para enviar y mantener exactamente los datos que son más relevantes para usted. -#### Ingesta +#### Ingestión {#ingestion} -Controla tu volumen globalmente con [las opciones de configuración del Datadog Agent][7] o establece [reglas de ingesta][8] precisas por servicio instrumentado con Datadog APM. +Controle su volumen globalmente con [opciones de configuración del Datadog Agent][7] o establezca [reglas de ingestión][8] precisas por servicio instrumentado con Datadog APM. -#### Indexación +#### Indexación {#indexing} -Después de instrumentar servicios e ingerir trazas, establece etiquetas basadas en [filtros de retención][3] dentro de la aplicación de Datadog para que Datadog retenga tramos que sean relevantes para ti. +Después de instrumentar sus servicios e ingerir trazas, establezca filtros de retención basados en etiquetas dentro de la aplicación de Datadog para que Datadog retenga los tramos que sean relevantes para usted. -**Nota:** Tanto la ingesta como la indexación de tramos pueden afectar a tu factura. Para más información, consulta [Facturación de APM][9]. +**Nota:** Tanto los tramos ingeridos como los indexados pueden afectar su factura. Para más información, consulte [Facturación de APM][9]. -## Live Search durante 15 minutos +## Búsqueda en Vivo por 15 minutos {#live-search-for-15-minutes} -{{< img src="tracing/apm_lifecycle/trace_explorer_live_search.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Live Search" >}} +{{< img src="tracing/apm_lifecycle/trace_explorer_live_search.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Búsqueda en Vivo" >}} -Cuando se utiliza Live Search, Datadog muestra tramos tan pronto como son enviados por el Datadog Agent y antes de que hayan sido indexados por tus filtros de retención. Todos los tramos ingeridos están disponibles para los últimos 15 minutos (intervalo fijo), mostrados sin ningún muestreo. +Cuando utiliza Búsqueda en Vivo, Datadog muestra tramos tan pronto como son enviados por el Datadog Agent y antes de que hayan sido indexados por sus filtros de retención. Todos los tramos ingeridos están disponibles para los últimos 15 minutos (ventana móvil), mostrados sin ningún muestreo. {{< tabs >}} -{{% tab "List view" %}} +{{% tab "Vista de lista" %}} -{{< img src="tracing/live_search/live-search.mp4" alt="Vista de Lista de Live Search" video="true" >}} +{{< img src="tracing/live_search/live-search.mp4" alt="Vista de lista de búsqueda en vivo" video="true" >}} -Con la **Vista de lista**, puedes: +Con la **Vista de lista**, puede: -- Monitoriza si un nuevo despliegue ha funcionado correctamente al filtrar en `version_id` todas las etiquetas. -- Ve la información relacionada con las interrupciones en tiempo real al buscar en el 100% de las trazas ingeridas un `org_id` o `customer_id` concreto que esté asociado a un tramo secundario problemático. -- Comprueba si un proceso se ha iniciado correctamente al escribir `process_id` y autocompletar el nuevo ID de proceso como una etiquetar en los tramos secundarios. -- Monitoriza la prueba de carga y el impacto en el rendimiento de tus endpoints al filtrar por la duración de un recurso secundario. -- Ejecuta consultas de búsqueda con un solo clic en cualquier tramo o etiqueta directamente desde la vista del panel de traza. -- Añade, elimina y ordena columnas de span tags para obtener una vista personalizada. +- Verifique si un nuevo despliegue se realizó sin problemas filtrando por `version_id` de todas las etiquetas. +- Ver información relacionada con interrupciones en tiempo real buscando el 100% de las trazas ingeridas para un tramo particular `org_id` o `customer_id` que esté asociado con un tramo hijo problemático. +- Verifique si un proceso ha comenzado correctamente escribiendo `process_id` y autocompletando el nuevo ID de proceso como una etiqueta en los tramos hijos. +- Monitoree la prueba de carga y el impacto en el rendimiento en sus puntos de conexión filtrando por la duración de un recurso hijo. +- Ejecute consultas de búsqueda con un clic en cualquier tramo o etiqueta directamente desde la vista del panel de traza. +- Agregue, elimine y ordene columnas de etiquetas de tramo para una vista personalizada. -El número de tramos recibidos por segundo se muestra en la parte superior de la tabla de trazas. Dado que un flujo (stream) de miles de tramos por segundo no es legible para las personas, los flujos de tramos de alto rendimiento muestran algunos tramos para mayor claridad visual. Puedes buscar todos los tramos disponibles en la consulta de búsqueda. Utiliza las funciones de filtrado de la barra de consulta de Live Search para filtrar el flujo de tramos y el botón **Pause/Play** (Pausa/Reproducción) situado en la parte superior derecha de la pantalla para pausar o reanudar el flujo. +El número de tramos recibidos por segundo se muestra en la parte superior de la tabla de trazas. Dado que un flujo de miles de tramos por segundo no es legible para los humanos, los flujos de tramos de alto rendimiento muestran algunos tramos para mayor claridad visual. Puede buscar todos los tramos disponibles en la consulta de búsqueda. Utilice las funciones de filtrado de la barra de consulta de Búsqueda en Vivo para filtrar el flujo de tramos y el botón **Pausar/Reproducir** en la parte superior derecha de la pantalla para pausar o reanudar el flujo. -{{< img src="tracing/live_search/play-pause-button.png" alt="Pausar o reproducir el flujo" style="width:75%;" >}} +{{< img src="tracing/live_search/play-pause-button.png" alt="Pausar o Reproducir el Flujo en Vivo" style="width:75%;" >}} -**Nota**: Al seleccionar cualquier tramo, se pausa el flujo y se muestran más detalles sobre el tramo seleccionado en el panel lateral de la traza. +**Nota**: Seleccionar cualquier tramo pausa el flujo y muestra más detalles sobre el tramo seleccionado en el panel lateral de traza. {{% /tab %}} -{{% tab "Timeseries View" %}} +{{% tab "Vista de series temporales" %}} -{{< img src="tracing/live_search/live-analytics.mp4" alt="Ventana de series temporales en Live Search" video="true" >}} +{{< img src="tracing/live_search/live-analytics.mp4" alt="Vista de series temporales de búsqueda en vivo" video="true" >}} -Visualiza tus tramos como series temporales en lugar de una lista utilizando la **vista de series temporales**. La vista de series temporales de Live Search es útil para crear gráficas de solicitudes o errores que corresponden a criterios especificados, como: +Visualice sus tramos como series temporales en lugar de una lista utilizando la **Vista de series temporales**. La vista de series temporales de búsqueda en vivo es útil para graficar solicitudes o errores que corresponden a criterios especificados, tales como: -- Errores para el servicio `ShoppingCart##checkout` y el endpoint, con un valor de carrito de al menos `$100`, con la posibilidad de ver trazas que coincidan con estos criterios individualmente. +- Errores para el `ShoppingCart##checkout` servicio y punto de conexión, con un valor de cart de al menos `$100`, con la capacidad de ver trazas que coincidan individualmente con estos criterios. -- Monitoriza un despliegue canary de una actualización de aplicación crítica en tiempo real. +- Realice seguimiento de un despliegue canario de una actualización crítica de la aplicación en tiempo real. -- Compara la latencia entre regiones geográficas con la última versión de tu aplicación para iOS. +- Comparar la latencia entre regiones geográficas limitadas a la última versión de su aplicación iOS. -Además de mostrar las series temporales de las solicitudes que coinciden con tus consultas, también puedes visualizar tus tramos como una lista de principales clientes más afectados, zonas de disponibilidad o cualquier otra etiqueta durante una interrupción o investigación. +Además de mostrar series temporales para las solicitudes que coinciden con sus consultas, también puede visualizar sus tramos como una lista de los clientes más afectados, Availability Zones, o cualquier otra etiqueta durante una interrupción o investigación. -**Nota:** La exportación a dashboards y monitores solo es posible utilizando tramos conservados. +**Nota:** La exportación a Dashboards y Monitors solo es posible utilizando tramos retenidos. {{% /tab %}} {{< /tabs >}} -### Filtrado +### Filtrando {#filtering} + +{{< img src="tracing/live_search/service_entry_root_spans.mp4" alt="Buscando todos los tramos" video="true" >}} + +Una consulta válida en la barra de búsqueda muestra trazas que coinciden con sus criterios de búsqueda en **todos los tramos**. La sintaxis de búsqueda es la misma en las vistas de Búsqueda en Vivo que en las otras vistas de trazas, pero aquí, su consulta se compara con todas las trazas ingeridas en **cualquier tramo** y **cualquier etiqueta**, y no solo con las indexadas. + +Puede elegir consultar los [tramos de entrada del servicio][10], los [tramos raíz][11], o todos los tramos cambiando la selección en el cuadro sobre la tabla de trazas. Utilice esta función en aplicaciones de alto tráfico para reducir el número de tramos mostrados y ver solo los tramos de punto de entrada de los servicios o el punto de entrada de la traza. Seleccionar este cuadro solo filtra los tramos mostrados en la lista; los otros aún se muestran en el gráfico de llamas al hacer clic en un tramo para ver los detalles de la traza. + +También puede filtrar por atributos que no están definidos como facetas. Por ejemplo, para filtrar por el `cart.value` atributo, hay dos opciones: -{{< img src="tracing/live_search/service_entry_root_spans.mp4" alt="Buscar todos los tramos" video="true" >}} +- Haga clic en el `cart.value` atributo en el panel de detalles de la traza y agréguelo a la consulta de búsqueda: +{{< img src="tracing/live_search/add-attribute-to-query.mp4" alt="Agregando un atributo a la consulta" video="true" >}} -Una consulta válida en la barra de búsqueda muestra trazas que coinciden con tus criterios de búsqueda en **todos los tramos**. La sintaxis de búsqueda es la misma en las vistas de Live Search que en las otras vistas de traza, pero aquí la consulta se compara con todas las entradas de trazas en **cualquier tramo** y **cualquier etiqueta**, y no solo con las indexadas. +- Filtrar en todos los tramos con un `cart.value` atributo escribiendo "cart.value" en la barra de consulta de búsqueda: +{{< img src="tracing/live_search/filter-by-attribute2.mp4" alt="Filtro de Búsqueda en Vivo por atributo" video="true" >}} -Puedes elegir consultar los [tramos de entrada del servicio][10], los [tramos raíz][11], o todos los tramos cambiando la selección de la casilla situada encima de la tabla de traza. Utiliza esta función en aplicaciones con mucho tráfico para reducir el número de tramos mostrados y para ver solo los tramos de punto de entrada de los servicios o el punto de entrada de la traza. Al seleccionar esta casilla, solo se filtran los tramos mostrados en la lista; los demás se siguen mostrando en la gráfica de llamas al hacer clic en un tramo para ver los detalles de traza. +### Analizando anomalías con información integrada {#analyzing-anomalies-with-integrated-insights} -También puedes filtrar por atributos que no estén definidos como facetas. Por ejemplo, para filtrar en el atributo `cart.value`, hay dos opciones: +Trace Explorer combina la detección automática de valores anómalos de Watchdog con el Análisis de etiquetas para ayudarle a identificar rápidamente la causa raíz de los problemas. Cuando Watchdog detecta etiquetas que están estadísticamente sobrerrepresentadas en errores o tramos de alta latencia, estos insights se muestran en múltiples lugares: -- Haz clic en el atributo `cart.value` del panel de detalles de traza y añádelo a la consulta de búsqueda: -{{< img src="tracing/live_search/add-attribute-to-query.mp4" alt="Añadir un atributo a la consulta" video="true" >}} +- **Sugerencias de búsqueda**: A medida que escribe en la barra de búsqueda, los valores anómalos de etiquetas aparecen como sugerencias con un indicador que muestra que están correlacionados con errores o problemas de latencia. +- **Recomendaciones de agrupación**: Al seleccionar atributos para agrupar, las facetas de valores anómalos se destacan para guiar su investigación. +- **Barra lateral de facetas**: Las etiquetas de valores anómalos se promueven a la parte superior de la lista de facetas en una sección dedicada de "VALORES ANÓMALOS". +- **Métricas RED**: El botón "Analizar" junto a los gráficos de errores y latencia se resalta cuando se detectan valores anómalos relevantes. -- Filtra en todos los tramos con un atributo `cart.value` al escribir "cart.value" en la barra de consulta de búsqueda: -{{< img src="tracing/live_search/filter-by-attribute2.mp4" alt="Filtro Live Search por atributo" video="true" >}} +{{< img src="tracing/trace_explorer/visualize/trace_explorer_outliers.mp4" alt="Analizando anomalías con información integrada" video="true" >}} -## Búsqueda de tramos indexados con 15 días de retención +## Búsqueda de tramos indexados con retención de 15 días {#indexed-spans-search-with-15-day-retention} {{< img src="tracing/apm_lifecycle/trace_explorer_indexed_search.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Búsqueda indexada" >}} -Puedes buscar trazas retenidas de la misma manera que en Live Search. Para pasar de buscar datos en directo a buscar datos retenidos, cambia el selector de tiempo a cualquier periodo superior a 15 minutos. Todos los tramos indexados por filtros de retención son accesibles desde la búsqueda. Estos tramos son conservados por Datadog durante 15 días después de ser indexados por un filtro de retención. +Puede buscar trazas retenidas de la misma manera que realiza una Búsqueda en Vivo. Para cambiar de buscar datos en vivo a buscar datos retenidos, cambie el selector de tiempo a cualquier período de tiempo mayor a 15 minutos. Todos los tramos que están indexados por filtros de retención son accesibles desde la búsqueda. Estos tramos son mantenidos por Datadog durante 15 días después de ser indexados por un filtro de retención. -{{< img src="tracing/live_search/searching-retained-traces.mp4" alt="Buscar trazas retenidas" video="true" >}} +{{< img src="tracing/live_search/searching-retained-traces.mp4" alt="Buscando trazas retenidas" video="true" >}} {{< tabs >}} -{{% tab "List view" %}} +{{% tab "Vista de lista" %}} -Todos los tramos indexados por filtros de retención personalizados *y* el filtro de retención inteligente están disponibles para su búsqueda en la Vista de lista. Sin embargo, si filtras por una etiqueta que aparece solo en tramos que no están indexados por ningún filtro de retención, tu búsqueda no devuelve ningún resultado, a diferencia de cuando se utiliza [Live Search](#live-search-for-15-minutes). +Todos los tramos indexados por filtros de retención personalizados *y* el filtro de retención inteligente están disponibles para ser buscados en la vista de lista. Sin embargo, si filtra por una etiqueta que aparece únicamente en tramos que no están indexados por ningún filtro de retención, su búsqueda no devuelve resultados, a diferencia de cuando utiliza [Búsqueda en Vivo](#live-search-for-15-minutes). {{% /tab %}} -{{% tab "Timeseries View" %}} +{{% tab "Vista de series temporales" %}} -Todos los tramos indexados por filtros de retención personalizados o el filtro de retención inteligente están disponibles para su búsqueda cuando se utiliza el análisis de trazas. +Todos los tramos indexados por filtros de retención personalizados o el filtro de retención inteligente están disponibles para ser buscados al usar análisis de trazas. -Desde la vista de series temporales, exporta tu consulta a un [dashboard][1], [monitor][2], o [notebook][3] para investigar más en detalle o para alertar automáticamente cuando un número agregado de tramos cruce un umbral específico. +Desde la vista de series temporales, exporte su consulta a un [dashboard][1], [monitor][2] o [notebook][3] para investigar más a fondo o para alertar automáticamente cuando un número agregado de tramos cruza un umbral específico. -**Nota**: Los tramos indexados por el filtro de retención inteligente se excluyen de las evaluaciones del monitor de análisis de trazas de APM. Para obtener más información, consulta [Retención de trazas][4]. +**Nota**: Los tramos indexados por el filtro de retención inteligente están excluidos de las evaluaciones de monitores de análisis de trazas APM. Para más información, consulte [Retención de Trazas][4]. [1]: /es/dashboards/widgets/timeseries/ [2]: /es/monitors/types/apm/?tab=analytics @@ -140,11 +164,11 @@ Desde la vista de series temporales, exporta tu consulta a un [dashboard][1], [m {{% /tab %}} {{< /tabs >}} -### Configuración de retención +### Configuración de retención {#retention-configuration} -Puedes personalizar qué tramos se retienen y con qué frecuencia de retención. Por defecto, se aplica [el filtro de retención inteligente de Datadog ][4], que retiene automáticamente trazas con diversidad de errores y latencia, así como recursos de bajo rendimiento. Para obtener más información sobre el filtro de retención inteligente predeterminado y sobre cómo crear tus propios filtros adicionales, consulta la [documentación sobre filtros de retención][3]. Ve a la página [Filtros de retención][12] dentro de la aplicación de Datadog para crear o modificar tus propios filtros. +Puede personalizar qué tramos se retienen y a qué tasas de retención. Por defecto, se aplica [el filtro de retención inteligente de Datadog][4], que retiene automáticamente trazas con diversidad de errores y latencia, así como recursos de bajo rendimiento. Para aprender más sobre el filtro de retención inteligente por defecto y cómo crear sus propios filtros adicionales, consulte la [documentación de filtros de retención][3]. Vaya a la [página de Filtros de Retención][12] dentro de la aplicación de Datadog para crear o modificar sus propios filtros. -## Referencias adicionales +## Lectura adicional {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -159,4 +183,4 @@ Puedes personalizar qué tramos se retienen y con qué frecuencia de retención. [9]: /es/account_management/billing/apm_distributed_tracing/ [10]: /es/glossary/#service-entry-span [11]: /es/glossary/#trace-root-span -[12]: https://app.datadoghq.com/apm/traces/retention-filters +[12]: https://app.datadoghq.com/apm/traces/retention-filters \ No newline at end of file diff --git a/content/fr/agent/guide/_index.md b/content/fr/agent/guide/_index.md index a1e57f958a9..17bd79d82fb 100644 --- a/content/fr/agent/guide/_index.md +++ b/content/fr/agent/guide/_index.md @@ -3,73 +3,72 @@ cascade: algolia: category: Guide rank: 70 - subcategory: Guides de l'Agent + subcategory: Agent Guides description: Collection de guides complets couvrant la configuration, l'installation, - le dépannage et les fonctions avancées de l'Agent Datadog. + le dépannage et les fonctionnalités avancées de l'Agent Datadog. disable_toc: true private: true title: Guides de l'Agent --- - -{{< header-list header="Configuration guides" >}} - {{< nextlink href="agent/guide/setup_remote_config" >}}Mettre en place une configuration à distance pour Fleet Automation{{< /nextlink >}} +{{< header-list header="Guides de configuration" >}} + {{< nextlink href="agent/guide/setup_remote_config" >}}Configurer la configuration à distance pour Fleet Automation{{< /nextlink >}} {{< nextlink href="agent/guide/environment-variables" >}}Variables d'environnement de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/datadog-disaster-recovery" >}}Reprise après sinistre de Datadog{{< /nextlink >}} - - {{< nextlink href="agent/guide/installing-the-agent-on-a-server-with-limited-internet-connectivity" >}}Installation de Agent sur un serveur avec une connectivité internet limitée{{< /nextlink >}} - {{< nextlink href="agent/guide/ansible_standalone_role/" >}}Mettre en place Ansible en utilisant un rôle Datadog autonome{{< /nextlink >}} - {{< nextlink href="agent/guide/how-do-i-uninstall-the-agent" >}}Comment désinstaller l'Agent ?{{< /nextlink >}} - {{< nextlink href="agent/guide/Linux-key-rotation-2024" >}}Rotation des clés Linux 2024{{< /nextlink >}} + {{< nextlink href="agent/guide/datadog-disaster-recovery" >}}Récupération après sinistre Datadog{{< /nextlink >}} + {{< nextlink href="agent/guide/installing-the-agent-on-a-server-with-limited-internet-connectivity" >}}Installer l'Agent sur un serveur avec une connectivité Internet limitée{{< /nextlink >}} + {{< nextlink href="agent/guide/ansible_standalone_role/" >}}Configurer Ansible en utilisant un rôle Datadog autonome{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-retry/" >}}Logique de réessai et de mise en mémoire tampon de l'Agent {{< /nextlink >}} + {{< nextlink href="agent/guide/how-do-i-uninstall-the-agent" >}}Comment désinstaller l'Agent ?{{< /nextlink >}} + {{< nextlink href="agent/guide/linux-key-rotation-2024" >}}Rotation des clés Linux 2024{{< /nextlink >}} {{< /header-list >}} -{{< header-list header="Windows guides" >}} +{{< header-list header="Guides Windows" >}} {{< nextlink href="agent/guide/datadog-agent-manager-windows" >}}Datadog Agent Manager pour Windows{{< /nextlink >}} - {{< nextlink href="agent/guide/windows-agent-ddagent-user" >}}Utilisateur de l'Agent Datadog pour Windows{{< /nextlink >}} + {{< nextlink href="agent/guide/windows-agent-ddagent-user" >}}Utilisateur de l'Agent Windows Datadog{{< /nextlink >}} {{< /header-list >}} -{{< header-list header="Cloud infrastructure guides" >}} - {{< nextlink href="agent/guide/can-i-set-up-the-dd-agent-mysql-check-on-my-google-cloudsql/" >}}Est-il possible de configurer le check dd-agent/MySQL sur mon Google Cloud SQL ?{{< /nextlink >}} +{{< header-list header="Guides d'infrastructure cloud" >}} + {{< nextlink href="agent/guide/can-i-set-up-the-dd-agent-mysql-check-on-my-google-cloudsql/" >}}Puis-je configurer le dd-agent MySQL check sur mon Google CloudSQL ?{{< /nextlink >}} {{< nextlink href="/agent/guide/heroku-ruby" >}}Instrumenter une application Ruby on Rails sur Heroku avec Datadog{{< /nextlink >}} {{< nextlink href="agent/guide/heroku-troubleshooting/" >}}Dépannage du buildpack Datadog-Heroku{{< /nextlink >}} - {{< nextlink href="agent/guide/private-link" >}}Transmettre de façon sécurisée vos données de télémétrie via AWS PrivateLink{{< /nextlink >}} - {{< nextlink href="agent/guide/azure-private-link" >}}Se connecter à Datadog via Liaison Privée Azure{{< /nextlink >}} - {{< nextlink href="agent/guide/why-should-i-install-the-agent-on-my-cloud-instances" >}}Pourquoi installer l'Agent Datadog sur mes instances cloud ?{{< /nextlink >}} - {{< nextlink href="agent/guide/gcp-private-service-connect" >}}Se connecter à Datadog via GCP Private Service Connect{{< /nextlink >}} + {{< nextlink href="agent/guide/private-link" >}}Transférez votre télémétrie de manière sécurisée vers Datadog via AWS PrivateLink{{< /nextlink >}} + {{< nextlink href="agent/guide/azure-private-link" >}}Connectez-vous à Datadog via Azure Private Link{{< /nextlink >}} + {{< nextlink href="agent/guide/why-should-i-install-the-agent-on-my-cloud-instances" >}}Pourquoi installer l'Agent Datadog sur mes instances dans le cloud ?{{< /nextlink >}} + {{< nextlink href="agent/guide/gcp-private-service-connect" >}}Connectez-vous à Datadog via GCP Private Service Connect{{< /nextlink >}} {{< /header-list >}} -{{< header-list header="Integration guides" >}} +{{< header-list header="Guides d'intégration" >}} {{< nextlink href="agent/guide/use-community-integrations" >}}Utiliser les intégrations de la communauté{{< /nextlink >}} {{< nextlink href="agent/guide/integration-management" >}}Gestion des intégrations{{< /nextlink >}} {{< /header-list >}} -{{< whatsnext desc="Agent versioning guides:" >}} - {{< nextlink href="agent/guide/version_differences" >}}Différences des versions de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/upgrade_agent_fleet_automation" >}} Mettez à jour votre Agent Datadog {{< /nextlink >}} - {{< nextlink href="agent/guide/agent-v6-python-3" >}}Gestion des versions de Python : Utiliser Python 3 avec l’Agent v6 de Datadog{{< /nextlink >}} - {{< nextlink href="agent/guide/python-3" >}}Migration de checks custom de Python 2 vers Python 3{{< /nextlink >}} +{{< whatsnext desc="Guides de versionnement de l'Agent :" >}} + {{< nextlink href="agent/guide/version_differences" >}}Différences entre les versions de l'Agent{{< /nextlink >}} + {{< nextlink href="agent/guide/upgrade_agent_fleet_automation" >}} Mettez à niveau votre Agent Datadog {{< /nextlink >}} + {{< nextlink href="agent/guide/agent-v6-python-3" >}}Gestion des versions Python : Utilisez Python 3 avec l'Agent Datadog v6{{< /nextlink >}} + {{< nextlink href="agent/guide/python-3" >}}Migration du Custom Check de Python 2 à 3{{< /nextlink >}} {{< /header-list >}} -{{< header-list header="Agent 6 guides" >}} - {{< nextlink href="agent/guide/install-agent-6" >}}Installer la version 6 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-6-commands" >}}Commandes la version 6 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-6-configuration-files" >}}Fichiers de configuration de la version 6 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-6-log-files" >}}Fichiers de log de la version 6 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/upgrade_to_agent_6" >}}Mise à niveau vers la version 6 de l'Agent{{< /nextlink >}} +{{< header-list header="Guides de l'Agent 6" >}} + {{< nextlink href="agent/guide/install-agent-6" >}}Installer l'Agent 6{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-6-commands" >}}Commandes de l'Agent 6{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-6-configuration-files" >}}Fichiers de configuration de l'Agent 6{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-6-log-files" >}}Fichiers journaux de l'Agent 6{{< /nextlink >}} + {{< nextlink href="agent/guide/upgrade_to_agent_6" >}}Upgrade vers l'Agent 6{{< /nextlink >}} {{< /header-list >}} -{{< header-list header="Agent 5 guides" >}} - {{< nextlink href="agent/guide/agent-5-architecture" >}}Architecture de la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-commands" >}}Commandes de la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-configuration-files" >}}Fichiers de configuration de la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-log-files" >}}Fichiers de log de la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/install-agent-5" >}}Installer la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-ports" >}}Ports de la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-proxy" >}}Configuration du proxy pour la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-flare" >}}Envoyer un flare avec la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-autodiscovery" >}}Autodiscovery dans la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-kubernetes-basic-agent-usage" >}}Utilisation basique de l'Agent avec Kubernetes pour la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-check-status" >}}Dépannage un check de l'Agent avec la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-permissions-issues" >}}Problèmes d'autorisation avec la version 5 de l'Agent{{< /nextlink >}} - {{< nextlink href="agent/guide/agent-5-debug-mode" >}}Mode de débogage avec la version 5 de l'Agent{{< /nextlink >}} +{{< header-list header="Guides de l'Agent 5" >}} + {{< nextlink href="agent/guide/agent-5-architecture" >}}Architecture de l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-commands" >}}Commandes de l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-configuration-files" >}}Fichiers de configuration de l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-log-files" >}}Fichiers journaux de l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/install-agent-5" >}}Installer l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-ports" >}}Ports de l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-proxy" >}}Configuration du proxy de l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-flare" >}}Envoyer un flare de l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-autodiscovery" >}}Autodiscovery dans l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-kubernetes-basic-agent-usage" >}}Utilisation basique de l'Agent sur Kubernetes dans l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-check-status" >}}Dépanner un Agent Check sur l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-permissions-issues" >}}Problèmes de permission de l'Agent 5{{< /nextlink >}} + {{< nextlink href="agent/guide/agent-5-debug-mode" >}}Mode débogage de l'Agent 5{{< /nextlink >}} {{< nextlink href="agent/guide/dogstream" >}}Dogstream{{< /nextlink >}} {{< /header-list >}} \ No newline at end of file diff --git a/content/fr/agent/troubleshooting/send_a_flare.md b/content/fr/agent/troubleshooting/send_a_flare.md index aae6a61871b..da29472f57a 100644 --- a/content/fr/agent/troubleshooting/send_a_flare.md +++ b/content/fr/agent/troubleshooting/send_a_flare.md @@ -13,115 +13,118 @@ further_reading: text: Obtenir le statut d'un check de l'Agent title: Commande flare de l'Agent --- +Un flare vous permet d'envoyer les informations de dépannage nécessaires à l'équipe de support de Datadog. -Un flare vous permet d'envoyer les informations nécessaires au dépannage à l'équipe de support Datadog. +Cette page couvre : +- [Envoyer un flare en utilisant la commande `flare`](#send-a-flare-using-the-flare-command). +- [Envoyer un flare depuis le site Datadog](#send-a-flare-from-the-datadog-site) en utilisant Remote Configuration. +- [Soumission manuelle](#manual-submission). -Cette page explique comment : -- [Envoyer un flare avec la commande `flare`](#envoyer-un-flare-avec-la-commande-flare). -- [Envoyer un flare depuis le site Datadog](#envoyer-un-flare-depuis-le-site-datadog) en utilisant la configuration à distance. -- [Effectuer une soumission manuelle] (#fffectuer-une-soumission-manuelle). +Une flare rassemble tous les fichiers de configuration et journaux de l'Agent dans un fichier d'archive. Elle supprime les informations sensibles, y compris les mots de passe, les clés API, les identifiants de proxy et les chaînes de communauté SNMP. Si APM est activé, le flare inclut [les journaux de débogage du traceur][4] lorsqu'ils sont disponibles. -Un flare rassemble tous les fichiers de configuration et les logs de l'Agent Datadog dans un fichier d'archive. Il supprime les informations sensibles, y compris les mots de passe, clés d'API, identifiants Proxy et chaînes de communauté SNMP. Si la solution APM de Datadog est activée, le flare inclut les [logs de débogage du traceur][4] lorsqu'ils sont disponibles. +L'Agent Datadog est entièrement open source, ce qui vous permet de [vérifier le comportement du code][1]. Si nécessaire, le flare peut être examiné avant l'envoi, car le flare demande une confirmation avant de le téléverser. -L'Agent Datadog est entièrement open source, ce qui vous permet de [vérifier le comportement du code][1]. Une demande de confirmation s'affiche avant l'envoi des informations, ce qui signifie que vous pouvez les passer en revue si vous le souhaitez. +Lorsque vous contactez Datadog Support avec Remote Configuration activée pour un Agent, l'équipe de support peut initier un flare depuis votre environnement afin de mieux vous aider dans les meilleurs délais. Les flares fournissent des informations de dépannage au support Datadog pour vous aider à résoudre votre problème. -Lorsque vous contactez l'assistance Datadog avec la configuration à distance activée pour un Agent, l'équipe d'assistance peut initier un flare depuis votre environnement afin de mieux vous aider dans les plus brefs délais. Les flares fournissent à l'assistance Datadog des informations de diagnostic pour vous aider à résoudre votre problème. +## Envoyer un flare depuis le site Datadog {#send-a-flare-from-the-datadog-site} -## Envoyer un flare depuis le site Datadog - -{{< site-region region="gov" >}} -
L'envoi d'un flare d'Agent depuis Fleet Automation n'est pas pris en charge pour ce site.
+{{< site-region region="gov,gov2" >}} +
L'envoi d'un flare d'Agent depuis Fleet Automation n'est pas pris en charge pour votre site Datadog sélectionné ({{< region-param key="dd_datacenter" >}}). Utilisez la soumission manuelle de flare à la place.
{{< /site-region >}} -Pour envoyer un flare depuis le site Datadog, assurez-vous d'avoir activé [Fleet Automation][2] et la [configuration à distance][3] sur l'Agent. +Pour envoyer un flare depuis le site Datadog, assurez-vous d'avoir activé [Fleet Automation][2] et [Remote Configuration][3] sur l'Agent. {{% remote-flare %}} -{{< img src="agent/fleet_automation/fleet_automation_remote_flare.png" alt="Le bouton Send Ticket ouvre un formulaire pour envoyer un flare dans le cadre d'un ticket d'assistance existant ou nouveau" style="width:70%;" >}} +{{< img src="agent/fleet_automation/fleet_automation_remote_flare.png" alt="Le bouton Envoyer un ticket lance un formulaire pour envoyer un flare pour un ticket de support existant ou nouveau." style="width:70%;" >}} + +## Envoyer un flare en utilisant la commande `flare` {#send-a-flare-using-the-flare-command} -## Envoyer un flare à l'aide de la commande `flare` +{{< site-region region="gov,gov2" >}} +
Envoyer un flare d'Agent en utilisant le flare la sous-commande n'est pas prise en charge pour votre site Datadog sélectionné ({{< region-param key="dd_datacenter" >}}). Utilisez la soumission manuelle de flare à la place.
+{{< /site-region >}} -Utilisez la sous-commande `flare` pour envoyer un flare. Dans les commandes ci-dessous, remplacez `` par l'identifiant de votre ticket d'assistance Datadog si vous en avez un, puis saisissez l'adresse e-mail associée. +Utilisez la sous-commande `flare` pour envoyer un flare. Dans les commandes ci-dessous, remplacez `` par votre identifiant de cas de support Datadog si vous en avez un, puis entrez l'adresse e-mail associée. -Si vous ne disposez pas d'un identifiant de ticket, saisissez l'adresse e-mail utilisée pour vous connecter à Datadog afin de créer un nouveau ticket d'assistance. +Si vous n'avez pas d'identifiant de cas, entrez votre adresse e-mail utilisée pour vous connecter à Datadog afin de créer un nouveau cas de support. -**Confirmez le téléversement de l'archive pour l'envoyer immédiatement à l'assistance Datadog**. +**Confirmez le téléversement de l'archive pour l'envoyer immédiatement au support Datadog**. {{< tabs >}} {{% tab "Agent" %}} | Plateforme | Commande | |------------|---------------------------------------------------------| -| AIX | `datadog-agent flare ` | -| Docker | `docker exec -it dd-agent agent flare ` | -| macOS | `datadog-agent flare ` ou via l'[interface Web][1] | -| CentOS | `sudo datadog-agent flare ` | -| Debian | `sudo datadog-agent flare ` | +| AIX | `datadog-agent flare ` | +| Docker | `docker exec -it dd-agent agent flare ` | +| macOS | `datadog-agent flare ` ou via le [web GUI][1] | +| CentOS | `sudo datadog-agent flare ` | +| Debian | `sudo datadog-agent flare ` | | Kubernetes | `kubectl exec -it -- agent flare ` | -| Fedora | `sudo datadog-agent flare ` | -| Redhat | `sudo datadog-agent flare ` | -| Suse | `sudo datadog-agent flare ` | -| Source | `sudo datadog-agent flare ` | +| Fedora | `sudo datadog-agent flare ` | +| Redhat | `sudo datadog-agent flare ` | +| Suse | `sudo datadog-agent flare ` | +| Source | `sudo datadog-agent flare ` | | Windows | `& "$env:ProgramFiles\Datadog\Datadog Agent\bin\agent.exe" flare ` | -| Heroku | Consultez la [documentation relative à Heroku][3] | -| PCF | `sudo /var/vcap/jobs/dd-agent/packages/dd-agent/bin/agent/agent flare ` | +| Heroku | Consultez la [Heroku documentation][3] | +| PCF | `sudo /var/vcap/jobs/dd-agent/packages/dd-agent/bin/agent/agent flare ` | -## Conteneurs dédiés +## Conteneurs dédiés {#dedicated-containers} -Si vous utilisez l'Agent v7.19 ou version ultérieure ainsi que le chart Helm Datadog avec la [dernière version][4], ou un DaemonSet dans lequel l'Agent Datadog et l'Agent de trace sont dans des conteneurs séparés, vous déployez un pod de l'Agent qui contient : +Lors de l'utilisation de l'Agent v7.19+ et du Datadog Helm Chart avec la [dernière version][4] ou d'un DaemonSet où l'Agent Datadog et le Trace Agent se trouvent dans des conteneurs séparés, vous déployez un Pod Agent contenant : -* Un conteneur avec le processus Agent (Agent + Agent de log) +* Un conteneur avec le processus de l'Agent (Agent + Log Agent) * Un conteneur avec le processus process-agent * Un conteneur avec le processus trace-agent * Un conteneur avec le processus system-probe Pour obtenir un flare de chaque container, exécutez les commandes suivantes : -### Agent +### Agent {#agent} ```bash -kubectl exec -it -c agent -- agent flare +kubectl exec -it -c agent -- agent flare ``` -### Agent de processus +### Process Agent {#process-agent} ```bash -kubectl exec -it -c process-agent -- agent flare --local +kubectl exec -it -c process-agent -- agent flare --local ``` -### Agent de trace +### Agent de Trace {#trace-agent} ```bash -kubectl exec -it -c trace-agent -- agent flare --local +kubectl exec -it -c trace-agent -- agent flare --local ``` -### Agent de sécurité +### Security Agent {#security-agent} ```bash -kubectl exec -it -c security-agent -- security-agent flare +kubectl exec -it -c security-agent -- security-agent flare ``` -### System probe +### System probe {#system-probe} Le conteneur system-probe ne peut pas envoyer de flare. Vous devez donc récupérer les logs de conteneur : ```bash -kubectl logs -c system-probe > system-probe.log +kubectl logs -c system-probe > system-probe.log ``` -## ECS Fargate +## ECS Fargate {#ecs-fargate} -Si vous utilisez la plateforme ECS Fargate v1.4.0, vous pouvez configurer les tâches et services ECS afin d'autoriser l'accès aux conteneurs Linux en cours d'exécution en activant [Amazon ECS Exec][5]. Une fois Amazon ECS Exec activé, exécutez la commande suivante pour envoyer un flare : +Lors de l'utilisation de la plateforme ECS Fargate v1.4.0, les tâches et services ECS peuvent être configurés pour permettre l'accès aux conteneurs Linux en cours d'exécution en activant [Amazon ECS Exec][5]. Après avoir activé Amazon ECS Exec, exécutez la commande suivante pour envoyer un flare: ```bash -aws ecs execute-command --cluster \ - --task \ +aws ecs execute-command --cluster \ + --task \ --container datadog-agent \ --interactive \ - --command "agent flare " + --command "agent flare " ``` -**Remarque :** ECS Exec ne peut être activé que pour de nouvelles tâches. Vous devez recréer les tâches existantes pour utiliser ECS Exec. +**Remarque :** ECS Exec ne peut être activé que pour de nouvelles tâches. Vous devez recréer les tâches existantes pour utiliser ECS Exec. [1]: /fr/agent/basic_agent_usage/#gui [2]: /fr/agent/basic_agent_usage/windows/#agent-v6 @@ -130,28 +133,29 @@ aws ecs execute-command --cluster \ [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html {{% /tab %}} -{{% tab "Agent de cluster" %}} +{{% tab "Cluster Agent" %}} | Plateforme | Commande | |---------------|-----------------------------------------------------------------------------| | Kubernetes | `kubectl exec -n -it -- datadog-cluster-agent flare ` | -| Cloud Foundry | `/var/vcap/packages/datadog-cluster-agent/datadog-cluster-agent-cloudfoundry flare -c /var/vcap/jobs/datadog-cluster-agent/config ` | +| Cloud Foundry | `/var/vcap/packages/datadog-cluster-agent/datadog-cluster-agent-cloudfoundry flare -c /var/vcap/jobs/datadog-cluster-agent/config ` | {{% /tab %}} {{< /tabs >}} -## Envoi manuel +## Soumission manuelle {#manual-submission} + +Le protocole de flare de l'Agent collecte les configurations et les journaux dans un fichier d'archive situé d'abord dans le répertoire local `/tmp`. +Obtenez ce fichier manuellement et fournissez-le au support s'il y a des problèmes de connectivité avec l'Agent. -Le protocole flare de l'Agent recueille les configurations et les logs dans un fichier d'archive situé dans le répertoire `/tmp` local. -Récupérez manuellement ce fichier et envoyez-le à l'équipe d'assistance si l'Agent rencontre des problèmes de connectivité. +### Kubernetes {#kubernetes} +Pour obtenir le fichier d'archive dans Kubernetes, utilisez la commande kubectl : -### Kubernetes -Pour récupérer le fichier d'archive dans Kubernetes, utilisez la commande kubectl : ``` -kubectl cp datadog-:tmp/datadog-agent-.zip flare.zip -c agent +kubectl cp datadog-:tmp/datadog-agent-.zip flare.zip -c agent ``` -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/fr/bits_ai/_index.md b/content/fr/bits_ai/_index.md index fc20ecaf658..d16624cce04 100644 --- a/content/fr/bits_ai/_index.md +++ b/content/fr/bits_ai/_index.md @@ -1,41 +1,46 @@ --- aliases: - /fr/bits_ai/query_examples/ +description: Découvrez Bits AI, votre agent dans Datadog, qui automatise le développement, + la sécurité et les flux de travail opérationnels. disable_toc: false further_reading: -- link: https://www.datadoghq.com/product/platform/bits-ai/ +- link: https://www.datadoghq.com/product/ai/bits-ai-agents/ tag: Page produit - text: Bits AI + text: Bits AI Agents - link: https://www.datadoghq.com/blog/bits-ai-sre/ tag: Blog - text: Présentation de Bits AI SRE, votre coéquipier IA toujours disponible + text: Présentation de Bits AI SRE, votre agent d'astreinte AI +- link: https://www.datadoghq.com/blog/bits-ai-dev-agent/ + tag: Blog + text: Identifiez automatiquement les problèmes et générez des corrections avec Bits + AI Dev - link: https://www.datadoghq.com/blog/bits-ai-security-analyst/ tag: Blog - text: Automatiser les investigations Cloud SIEM avec Bits AI Security Analyst + text: Automatisez les enquêtes Cloud SIEM avec Bits AI Security Analyst +- link: https://www.datadoghq.com/blog/introducing-bits-assistant/ + tag: Blog + text: Recherchez et agissez dans Datadog pour résoudre les problèmes plus rapidement + avec Bits Assistant. - link: https://www.datadoghq.com/blog/how-to-use-ai-more-effectively/ tag: Blog - text: 'Conseils des ingénieurs Datadog : comment utiliser les outils IA plus efficacement - (en anglais)' + text: 'Comment utiliser les outils IA plus efficacement : Conseils des ingénieurs + de Datadog' is_beta: true title: Bits AI --- +Bits AI est votre agent dans Datadog, conçu pour automatiser le développement, la sécurité et les flux de travail opérationnels. Vous pouvez discuter et collaborer avec Bits en temps réel, ou déléguer des tâches complètes—comme les enquêtes d'alerte, les corrections de code ou le triage de sécurité—et le laisser s'occuper des détails. -Bits AI est votre coéquipier agentique dans Datadog, conçu pour automatiser les workflows de développement, de sécurité et d'exploitation. Vous pouvez discuter et collaborer en temps réel avec Bits, ou lui déléguer des tâches complètes, comme l'analyse d'alertes, les corrections de code ou le triage de sécurité, et le laisser gérer tous les détails. +## Fonctionnalités {#features} -## Fonctionnalités - -{{< whatsnext desc="Découvrez comment utiliser Bits AI :" >}} - {{< nextlink href="bits_ai/bits_ai_sre" >}}Enquêter sur les alertes et coordonner les incidents de manière proactive avec Bits AI SRE{{< /nextlink >}}  - {{< nextlink href="bits_ai/bits_ai_dev_agent" >}}Automatiser les corrections de code avec Bits AI Dev Agent{{< /nextlink >}}  -   - {{< nextlink href="actions/action_interface" >}}Agir sur vos systèmes avec l'Action Interface{{< /nextlink >}}  - {{< nextlink href="bits_ai/chat_with_bits_ai" >}}Discuter avec Bits de vos données d'observabilité{{< /nextlink >}}  - {{< nextlink href="bits_ai/mcp_server" >}}Obtenir des informations d'observabilité grâce aux agents IA avec le serveur MCP de Datadog{{< /nextlink >}}  +{{< whatsnext desc="Découvrez comment vous pouvez utiliser Bits AI :" >}} + {{< nextlink href="bits_ai/bits_ai_sre" >}}Enquêtez sur les alertes avec Bits AI SRE{{< /nextlink >}} + {{< nextlink href="bits_ai/bits_ai_dev_agent" >}}Automatisez les corrections de code avec Bits AI Dev Agent{{< /nextlink >}} + {{< nextlink href="bits_ai/bits_ai_security_analyst" >}}Triagez les signaux de menaces de sécurité avec Bits AI Security Analyst{{< /nextlink >}} + {{< nextlink href="bits_ai/bits_assistant" >}}Explorez vos données d'observabilité avec Bits AI Assistant{{< /nextlink >}} + {{< nextlink href="bits_ai/mcp_server" >}}Obtenez des insights d'observabilité des agents AI grâce au serveur MCP de Datadog.{{< /nextlink >}} {{< /whatsnext >}} -## Pour aller plus loin - -{{< partial name="whats-next/whats-next.html" >}} +## Lectures complémentaires {#further-reading} -[3]: /fr/service_management/incident_management -[4]: /fr/bits_ai/bits_ai_sre/coordinate_incidents/ \ No newline at end of file +{{< partial name="whats-next/whats-next.html" >}} \ No newline at end of file diff --git a/content/fr/cloud_cost_management/_index.md b/content/fr/cloud_cost_management/_index.md index b28038c74d8..96c1093ed53 100644 --- a/content/fr/cloud_cost_management/_index.md +++ b/content/fr/cloud_cost_management/_index.md @@ -18,140 +18,145 @@ cascade: - data collected azure - data collected google cloud further_reading: +- link: /monitors/types/cloud_cost/ + tag: Documentation + text: Créez un moniteur de coûts cloud +- link: /cloud_cost_management/tags/ + tag: Documentation + text: Découvrez les Tags dans Cloud Cost Management +- link: /cloud_cost_management/cloud_cost_skill/ + tag: Documentation + text: Utilisez le Cloud Cost skill dans Bits AI Assistant. - link: https://www.datadoghq.com/blog/control-your-cloud-spend-with-datadog-cloud-cost-management/ - tag: GitHub - text: Bénéficiez d'une visibilité et d'un contrôle accrus sur vos dépenses cloud - avec Datadog Cloud Cost Management (en anglais) + tag: Blog + text: Obtenez de la visibilité et du contrôle sur vos dépenses cloud avec Datadog + Cloud Cost Management. +- link: https://www.datadoghq.com/blog/manage-ai-cost-and-performance-with-datadog/ + tag: Blog + text: 'Maximiser le retour sur investissement de l''IA : comment Datadog relie coût, + performance et infrastructure pour que vous puissiez évoluer de manière responsable' - link: https://www.datadoghq.com/blog/cloud-cost-management-container-support/ tag: Blog text: Analysez vos dépenses liées à Kubernetes et ECS avec la solution Cloud Cost Management de Datadog - link: https://www.datadoghq.com/blog/google-cloud-cost-management/ tag: Blog - text: Donner aux ingénieurs les moyens de prendre en main les coûts liés à Google - Cloud avec Datadog (en anglais) + text: Donnez aux ingénieurs le pouvoir de prendre en charge les coûts de Google + Cloud avec Datadog - link: https://www.datadoghq.com/blog/total-cost-of-service-ownership-ccm/ tag: Blog - text: Analysez rapidement et de façon exhaustive les coûts cloud et SaaS associés - à vos services -- link: /monitors/types/cloud_cost/ - tag: Documentation - text: Créer un monitor Cloud Cost -- link: /cloud_cost_management/tag_pipelines/ - tag: Documentation - text: En savoir plus sur les pipelines de tags -- link: /cloud_cost_management/tag_pipelines - tag: Documentation - text: Standardiser les tags dans Cloud Cost Management à l'aide des pipelines de - tags + text: Analysez rapidement et de manière exhaustive les coûts cloud et SaaS derrière + vos services - link: https://www.datadoghq.com/blog/cloud-costs-study-learnings/ tag: Blog - text: Principaux enseignements de l'étude sur l'état des coûts cloud + text: Principales leçons de l'étude sur l'état des coûts cloud - link: https://www.datadoghq.com/blog/unit-economics-ccm/ tag: Blog - text: Surveiller les coûts unitaires avec Datadog Cloud Cost Management (en anglais) + text: Surveillez l'économie unitaire avec Datadog Cloud Cost Management. - link: https://www.datadoghq.com/blog/finops-at-datadog/ tag: Blog - text: Comment nous avons mis en place une pratique FinOps efficace chez Datadog - (en anglais) + text: Comment nous avons créé une pratique FinOps réussie chez Datadog - link: https://www.datadoghq.com/blog/cloud-cost-management-saved-millions/ tag: Blog text: Comment nous avons économisé 1,5 million de dollars par an avec Cloud Cost - Management (en anglais) + Management. +- link: https://www.datadoghq.com/blog/cloud-cost-management-oci/ + tag: Blog + text: Gérez et optimisez vos coûts OCI avec Datadog Cloud Cost Management. +- link: https://www.datadoghq.com/blog/cambia-health-cost-optimization + tag: Blog + text: Comment Cambia Health Solutions a économisé 30 000 dollars par mois avec Cloud + Cost Management et le Datadog Resource Catalog. title: Cloud Cost Management --- - -{{< learning-center-callout header="Participez à un webinar de formation" hide_image="true" btn_title="Inscription" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=Cloud+Cost+Management">}} - Explorez les coûts de vos fournisseurs cloud et mettez-les en corrélation avec les données de télémétrie en temps réel. Obtenez des insights et des alertes exploitables sur l'origine de vos coûts cloud, leur évolution et les possibilités d'optimisation. +{{< learning-center-callout header="Participez à une session de webinaire de formation" hide_image="true" btn_title="Inscrivez-vous" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=Cloud+Cost+Management">}} + Explorez les coûts de votre fournisseur cloud et corrélez-les avec des données de télémétrie en temps réel. Obtenez des informations exploitables et des alertes sur l'origine de vos coûts cloud, comment ils évoluent et où trouver des optimisations potentielles. {{< /learning-center-callout >}} -## Présentation +## Aperçu {#overview} -Cloud Cost Management fournit des insights aux équipes d'ingénierie et de finance pour comprendre comment les changements d'infrastructure influent sur les coûts, répartir les dépenses au sein de votre organisation et identifier les inefficacités. +Cloud Cost Management fournit des informations aux équipes d'ingénierie et de finance pour comprendre comment les changements d'infrastructure impactent les coûts, allouer les dépenses dans votre organisation et identifier les inefficacités. -{{< img src="cloud_cost/summary.png" alt="Obtenez des insights sur tous les coûts et usages de votre fournisseur cloud depuis la page du résumé de Cloud Costs dans Datadog" style="width:100%;" >}} +{{< img src="cloud_cost/summary.png" alt="Obtenez des informations sur tous les coûts et l'utilisation de votre fournisseur cloud sur la page Cloud Costs Summary dans Datadog." style="width:100%;" >}} -Datadog ingère vos données de coûts cloud et les transforme en métriques que vous pouvez utiliser dans une requête de recherche sur la page [**Explorer**][1]. En cas d'augmentation des coûts, vous pouvez la corréler avec des métriques d'usage pour en déterminer la cause. +Datadog ingère vos données de coûts cloud et les transforme en métriques que vous pouvez utiliser dans une requête de recherche sur la page [**Explorer**][1]. Si les coûts augmentent, vous pouvez corréler l'augmentation avec les métriques d'utilisation pour déterminer la cause profonde. -## Configuration +## Setup {#setup} -{{< whatsnext desc="Pour commencer à gérer vos coûts cloud avec Cloud Cost Management, consultez la documentation suivante." >}} - {{< nextlink href="/cloud_cost_management/setup/aws">}}AWS : Configurez Cloud Cost Management pour votre facture AWS.{{< /nextlink >}} - {{< nextlink href="/cloud_cost_management/setup/azure">}}Azure : Configurez Cloud Cost Management pour votre facture Azure.{{< /nextlink >}} - {{< nextlink href="/cloud_cost_management/setup/google_cloud">}}Google Cloud : Configurez Cloud Cost Management pour votre facture Google Cloud.{{< /nextlink >}} - {{< nextlink href="/cloud_cost_management/setup/saas_costs">}}Intégrations de coûts SaaS : Envoyez les données de coûts d'un fournisseur SaaS compatible vers Datadog.{{< /nextlink >}} - {{< nextlink href="/cloud_cost_management/setup/custom">}}Coûts personnalisés : Téléversez toute source de données de coûts dans Datadog.{{< /nextlink >}} - {{< nextlink href="/cloud_cost_management/datadog_costs">}}Coûts Datadog : Visualisez les dépenses et les métriques d'utilisation quotidiennes de Datadog.{{< /nextlink >}} +{{< whatsnext desc="Pour commencer à gérer vos coûts cloud avec Cloud Cost Management, consultez la documentation suivante.">}} + {{< nextlink href="/cloud_cost_management/setup/aws">}}AWS : Configurez Cloud Cost Management pour votre facture AWS.{{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/setup/azure">}}Azure : Configurez Cloud Cost Management pour votre facture Azure. {{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/setup/google_cloud">}}Google Cloud : Configurez Cloud Cost Management pour votre facture Google Cloud. {{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/setup/oracle">}}Oracle : Configurez Cloud Cost Management pour votre facture Oracle. {{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/setup/saas_costs">}}SaaS Cost Integrations : Envoyez des données de coûts d'un fournisseur de coûts SaaS pris en charge à Datadog. {{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/setup/custom">}}Custom Costs : Téléversez toute source de données de coûts vers Datadog. {{< /nextlink >}} + {{< nextlink href="/cloud_cost_management/datadog_costs">}}Datadog Costs : Visualisez les dépenses quotidiennes de Datadog et les métriques d'utilisation. {{< /nextlink >}} {{< /whatsnext >}} -## Utiliser les données de coûts cloud +## Utilisez les données de coûts cloud {#use-cloud-cost-data} + +Visualisez les dépenses d'infrastructure aux côtés des métriques d'utilisation connexes avec une période de conservation de 15 mois pour repérer les inefficacités potentielles et les opportunités d'économies. + +Lors de la création d'un tableau de bord, sélectionnez {{< ui >}}Cloud Cost{{< /ui >}} comme source de données pour votre requête de recherche. + +{{< img src="cloud_cost/cloud_cost_data_source-1.png" alt="Cloud Cost disponible en tant que source de données lors de la création de widgets de tableau de bord" style="width:80%;" >}} + +En option, vous pouvez exporter de manière programmatique un graphique de séries temporelles de vos données de coût cloud en utilisant le [Metrics API][2]. + +## Utilisez les données de coût quotidiennes de Datadog {#use-daily-datadog-cost-data} + +Visualisez les dépenses Datadog quotidiennes aux côtés des métriques d'utilisation connexes avec une période de conservation de 15 mois pour repérer les inefficacités potentielles et les opportunités d'économies. En savoir plus sur [Datadog Costs][8]. -Affichez les dépenses d'infrastructure en parallèle des métriques d'utilisation correspondantes, avec une rétention de 15 mois, pour détecter d'éventuelles inefficacités et opportunités d'économies. +Lors de la création d'un tableau de bord, sélectionnez {{< ui >}}Cloud Cost{{< /ui >}} comme source de données, puis choisissez {{< ui >}}Datadog{{< /ui >}} parmi les types de coûts disponibles. -Lors de la création d'un dashboard, sélectionnez **Cloud Cost** comme source de données pour votre requête de recherche. +{{< img src="cloud_cost/datadog_costs/dashboard-updated.png" alt="Datadog Costs en tant qu'option pour la source de données Cloud Cost dans un tableau de bord" style="width:80%;" >}} -{{< img src="cloud_cost/cloud_cost_data_source-1.png" alt="Cloud Cost disponible comme source de données lors de la création d'un widget de dashboard" style="width:80%;" >}} +En option, vous pouvez exporter de manière programmatique un graphique de séries temporelles de vos données de coût Datadog en utilisant le [Metrics API][2]. -Vous pouvez également exporter de manière programmatique un graphique de séries temporelles de vos données de coûts cloud à l'aide de l'[API Metrics][2]. +## Étiquetage et allocation des coûts {#tagging-and-cost-allocation} -## Utiliser les données de coûts Datadog quotidiennes +Apprenez comment les balises sont sourcées, enrichies et gérées dans Cloud Cost Management en lisant la [documentation sur les balises][5]. -Affichez les dépenses quotidiennes de Datadog en parallèle des métriques d'utilisation associées, avec une période de rétention de 15 mois, pour identifier d'éventuelles inefficacités et opportunités d'économies. +Vous pouvez créer des règles de balisage pour corriger les balises manquantes ou incorrectes, et ajouter des balises inférées qui s'alignent avec la logique commerciale de votre organisation. -Lors de la création d'un dashboard, sélectionnez **Cloud Cost** comme source de données pour votre requête de recherche. +## Créez un moniteur de coûts {#create-a-cost-monitor} -{{< img src="cloud_cost/datadog_costs/dashboard-updated.png" alt="Sélection des coûts Datadog comme source de données Cloud Cost lors de la création d'un dashboard" style="width:80%;" >}} +Gérez et optimisez proactivement vos dépenses cloud en créant un [Cloud Cost Monitor][3]. Vous pouvez choisir {{< ui >}}Cost Changes{{< /ui >}} ou {{< ui >}}Cost Threshold{{< /ui >}} pour surveiller vos dépenses cloud. -Vous pouvez également exporter de manière programmatique un graphique de séries temporelles de vos données de coûts Datadog à l'aide de l'[API Metrics][2]. +{{< img src="cloud_cost/monitor.png" alt="Créez un Cloud Cost monitor qui alerte sur les changements de coûts" style="width:100%;" >}} -## Créer des règles de tags +## Allouer des coûts {#allocate-costs} -Utilisez les [pipelines de tags][5] pour garantir un suivi complet des coûts en standardisant les tags sur l'ensemble des ressources cloud. Cela permet d'éviter que certaines données de coût ne soient ignorées. +Utilisez [Container Cost Allocation metrics][4] pour découvrir les coûts associés aux clusters et aux charges de travail sur Kubernetes, Amazon ECS, Azure et Google Cloud. Vous pouvez obtenir une visibilité sur les coûts au niveau des pods, identifier les coûts des ressources inactives et analyser les coûts par type de ressource. -{{< img src="cloud_cost/tags_addnew.png" alt="Créer une règle de tag dans les pipelines de tags pour garantir l'utilisation de tags standard sur vos ressources cloud" style="width:60%;" >}} +## Permissions {#permissions} -Vous pouvez créer des règles de tags pour corriger les tags manquants ou incorrects, et ajouter des tags déduits en fonction de la logique métier de votre organisation. +Cloud Cost Management utilise les permissions suivantes pour contrôler l'accès aux données de coût et à la plupart des configurations CCM : +- `cloud_cost_management_read` +- `cloud_cost_management_write` -## Créer un monitor de coûts +Pour un aperçu détaillé des exigences par page, voir [Permissions][9]. -Gérez et optimisez proactivement vos dépenses cloud en créant un [monitor Cloud Cost][3]. Vous pouvez choisir **Cost Changes** ou **Cost Threshold** pour surveiller vos dépenses cloud. +## Examiner l'historique des données {#review-data-history} -{{< img src="cloud_cost/monitor.png" alt="Créer un monitor Cloud Cost qui déclenche une alerte en cas de variation des coûts" style="width:100%;" >}} +{{< img src="cloud_cost/ccm-data-history.png" alt="Consultez l'historique de vos données de coûts cloud dans Cloud Cost settings." style="width:100%;" >}} -## Répartir les coûts +Surveillez la fraîcheur et l'état de traitement de vos données de coûts cloud sur la page {{< ui >}}Cloud Cost{{< /ui >}} > {{< ui >}}Settings{{< /ui >}} > {{< ui >}}Data History{{< /ui >}}. -Utilisez les [métriques Container Cost Allocation][4] pour identifier les coûts associés aux clusters et aux workloads sur Kubernetes, Amazon ECS, Azure et Google Cloud. Bénéficiez d'une visibilité sur les coûts au niveau des pods, identifiez les ressources inactives et analysez les coûts par type de ressource. +- {{< ui >}}Last Bill Received{{< /ui >}} : Lorsque votre fournisseur cloud ou SaaS a généré les données de facturation visibles dans CCM. +- {{< ui >}}Last Processed{{< /ui >}} : Lorsque Datadog a traité pour la dernière fois les données de facturation de votre fournisseur cloud, y compris : + - Règles de pipeline de balisage (traite rétroactivement jusqu'à 3 mois de données historiques par défaut) + - Règles d'allocation des coûts (traite rétroactivement jusqu'à 1 mois de données historiques par défaut) -## Autorisations -Deux autorisations sont disponibles : -1. Cloud Cost Management Read (`cloud_cost_management_read`) -2. Cloud Cost Management Write (`cloud_cost_management_write`) +Utilisez cette page pour résoudre les retards de données ou confirmer que les récents pipelines de balises et les changements d'allocation des coûts ont pris effet. -Le tableau ci-dessous décrit l'impact de ces autorisations dans Cloud Cost Management et les pages associées. +## Utilisez l'IA pour l'analyse des coûts {#use-ai-for-cost-analysis} -| Page ou fonctionnalité | Autorisation Cloud Cost Management Read | Autorisation Cloud Cost Management Write | -|-----------------------------------|---------------------------------------------|---------------------------------------------------| -| Page de résumé de CCM | Autorisation requise | S. O. | -| Page des conteneurs de CCM | Autorisation requise | S. O. | -| Page des recommandations de CCM | Autorisation requise | S. O. | -| Page de l'explorer de CCM | Autorisation requise | S. O. | -| Page des offres de CCM | Autorisation requise | Autorisation requise pour consulter les budgets | -| Page des paramètres de CCM - Coûts personnalisés | Autorisation requise | Autorisation requise pour télécharger des coûts personnalisés | -| Page des paramètres de CCM - Pipelines de tags | Autorisation requise | Autorisation requise pour créer des pipelines de tags | -| Page des paramètres de CCM - Intégrations Saas | Autorisation requise | Autorisation requise pour activer l'intégration avec CCM | -| Page des paramètres de CCM - Comptes | Autorisation requise | Autorisation requise pour modifier ou créer des comptes | -| Page des paramètres de CCM - Configurer les recommandations | Autorisation requise | Autorisation requise pour personnaliser les recommandations | -| Dashboards/Notebooks (externes) | Autorisation requise pour créer et consulter des données | S. O. | -| Monitors (externe) | Autorisation requise pour créer des monitors CCM | S. O. | -| Service Catalog (externe) | Autorisation requise pour consulter les données sur les coûts | S. O. | -| Resource Catalog (externe) | Autorisation requise pour consulter les données sur les coûts | S. O. | -| Requêtes API pour les données de coûts | Autorisation requise | S. O. | +Utilisez le [Cloud Cost Skill in Bits AI Assistant][10] pour enquêter sur les changements de coûts, identifier les propriétaires probables, comparer les dépenses par rapport aux budgets, corréler les coûts avec les métriques d'observabilité et créer des carnets de transfert pour les équipes d'ingénierie. -### Aperçu du contrôle d'accès aux données -Des restrictions plus granulaires au niveau des tags sont disponibles dans le cadre de l'[aperçu du contrôle d'accès aux données][6]. Pour demander l'accès à l'aperçu, -veuillez remplir [ce formulaire][7]. +{{< img src="cloud_cost/cc_skill_cost_summary.png" alt="Résumé de l'enquête de Bits AI Assistant montrant une analyse initiale." style="width:60%;" >}} -## Pour aller plus loin +## Lectures complémentaires : {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -159,6 +164,9 @@ veuillez remplir [ce formulaire][7]. [2]: /fr/api/latest/metrics/#query-timeseries-data-across-multiple-products [3]: /fr/monitors/types/cloud_cost/ [4]: /fr/cloud_cost_management/container_cost_allocation -[5]: /fr/cloud_cost_management/tag_pipelines +[5]: /fr/cloud_cost_management/tags/ [6]: /fr/account_management/rbac/data_access/ -[7]: https://www.datadoghq.com/product-preview/data-access-control/ \ No newline at end of file +[7]: https://www.datadoghq.com/product-preview/data-access-control/ +[8]: /fr/cloud_cost_management/datadog_costs +[9]: /fr/cloud_cost_management/setup/permissions +[10]: /fr/cloud_cost_management/cloud_cost_skill/ \ No newline at end of file diff --git a/content/fr/cloud_cost_management/setup/aws.md b/content/fr/cloud_cost_management/setup/aws.md index fce830155a5..9c92ea18df4 100644 --- a/content/fr/cloud_cost_management/setup/aws.md +++ b/content/fr/cloud_cost_management/setup/aws.md @@ -8,113 +8,153 @@ further_reading: text: Cloud Cost Management - link: /cloud_cost_management/azure tag: Documentation - text: Mieux comprendre votre facture Azure + text: Obtenez des informations sur votre facture Azure - link: /cloud_cost_management/google_cloud tag: Documentation - text: Mieux comprendre votre facture Google Cloud + text: Obtenez des informations sur votre facture Google Cloud - link: /cloud_cost_management/oracle tag: Documentation - text: Mieux comprendre votre facture Oracle + text: Obtenez des informations sur votre facture Oracle title: AWS --- +## Aperçu {#overview} - -## Présentation - -Pour configurer Cloud Cost Management dans Datadog, vous avez besoin de ce qui suit : +Pour configurer Cloud Cost Management dans Datadog, vous devez : 1. Un compte AWS avec accès à la facturation 2. L'intégration AWS installée dans Datadog -3. Un rapport sur les coûts et l'utilisation (suivez les étapes ci-dessous pour en créer un) +3. Un rapport de coûts et d'utilisation (suivez les étapes ci-dessous pour en créer un) -## Configuration +## Configuration {#setup} -### Configurer l'intégration AWS +Vous pouvez configurer en utilisant l'[API][21], [Terraform][22], ou directement dans Datadog en suivant les instructions ci-dessous. -Accédez à [Setup & Configuration][7] et sélectionnez un compte AWS dans le menu déroulant pour récupérer les coûts associés. +### Configurer l'intégration AWS {#configure-the-aws-integration} -**Remarque** : Datadog recommande de configurer un rapport sur les coûts et l'utilisation à partir d'un [**compte de gestion** AWS][2] pour pouvoir accéder aux coûts des **comptes de membres** associés. +Accédez à [Setup & Configuration][7], ajoutez un compte AWS et suivez les étapes pour configurer l'intégration AWS. -Si vous envoyez un rapport sur les coûts et l'utilisation à partir d'un **compte de membre** AWS, assurez-vous d'avoir sélectionné les options suivantes dans les [préférences][3] de votre **compte de gestion** : -- **Linked Account Access** -- **Linked Account Refunds and Credits** -- **Linked Account Discounts** +**Remarque** : Datadog recommande de configurer un rapport de coûts et d'utilisation à partir d'un [compte **de gestion AWS**][2] pour la visibilité des coûts dans les **comptes membres** associés. -Ces paramètres permettent de calculer les coûts périodiques et de les comparer à ceux de l'AWS Cost Explorer, afin de garantir la précision des coûts. +Si vous envoyez un rapport de coûts et d'utilisation depuis un **compte membre AWS**, assurez-vous d'avoir sélectionné les options suivantes dans les [préférences] de votre **compte de gestion** : +- {{< ui >}}Linked Account Access{{< /ui >}} +- {{< ui >}}Linked Account Refunds and Credits{{< /ui >}} +- {{< ui >}}Linked Account Discounts{{< /ui >}} + +Ces paramètres garantissent une précision totale des coûts en permettant des calculs de coûts périodiques via l'AWS Cost Explorer. {{< tabs >}} {{% tab "CloudFormation" %}} -{{< img src="cloud_cost/setup/aws_cloudformation_setup.jpg" alt="Formulaire de configuration Cloud Cost Management en mode CloudFormation" style="width:100%" >}} +{{< img src="cloud_cost/setup/aws_cloudformation_setup.png" alt="Formulaire de configuration de Cloud Cost Management en mode CloudFormation" style="width:100%" >}} -### Sélectionner les ressources à créer +### Sélectionnez les ressources à créer {#select-the-resources-to-create} -La pile CloudFormation peut être configurée de trois manières différentes selon vos ressources AWS existantes : +La pile CloudFormation peut être configurée de trois manières en fonction de vos ressources AWS existantes : -* **Nouvelle configuration** : sélectionnez **Create Cost and Usage Report** pour créer à la fois le rapport et son compartiment S3. -* **Compartiment existant** : sélectionnez **Create Cost and Usage Report** et désélectionnez **Create S3 Bucket** pour utiliser votre compartiment S3 existant. -* **Rapport existant** : désélectionnez **Create Cost and Usage Report** pour importer un rapport existant sur les coûts et l'utilisation. +* **Nouvelle configuration** : Sélectionnez {{< ui >}}Create Cost and Usage Report{{< /ui >}} pour créer à la fois le rapport et son bucket S3 +* **Bucket existant** : Sélectionnez {{< ui >}}Create Cost and Usage Report{{< /ui >}} et désélectionnez {{< ui >}}Create S3 Bucket{{< /ui >}} pour utiliser un bucket S3 existant +* **Rapport existant** : Désélectionnez {{< ui >}}Create Cost and Usage Report{{< /ui >}} pour importer un rapport de coûts et d'utilisation existant -### Configurer les paramètres du rapport sur les coûts et l'utilisation +### Configurez les paramètres du rapport de coûts et d'utilisation :{#configure-the-cost-and-usage-report-settings} -Renseignez les informations suivantes pour votre rapport sur les coûts et l'utilisation : +Entrez les détails suivants pour votre rapport de coûts et d'utilisation : -* **Bucket Name** : le nom du compartiment S3 dans lequel les fichiers de rapport sont stockés. -* **Bucket Region** : le [code de région][100] AWS de la région contenant votre compartiment S3, par exemple `us-east-1`. -* **Export Path Prefix** : le préfixe du chemin S3 où les fichiers de rapport sont stockés. -* **Export Name** : le nom du rapport sur les coûts et l'utilisation. +* {{< ui >}}Bucket Name{{< /ui >}} : Le nom du bucket S3 où les fichiers de rapport sont stockés. +* {{< ui >}}Bucket Region{{< /ui >}} : Le [code de région AWS][100] de la région contenant votre bucket S3. Par exemple, `us-east-1`. +* {{< ui >}}Export Path Prefix{{< /ui >}} : Le préfixe de chemin S3 où les fichiers de rapport sont stockés. + * **Remarque :** Les formats de préfixe suivants ne sont pas pris en charge : vide, commençant par `/` (tel que `/` ou `/cost`), ou se terminant par `/` (tel que `cost/`). Les préfixes contenant `/` au milieu sont pris en charge (tels que `cost/hourly`). +* {{< ui >}}Export Name{{< /ui >}} : Le nom de votre rapport de coûts et d'utilisation. -**Remarques** : -- Ces valeurs permettent de repérer votre rapport sur les coûts et l'utilisation existant ou de définir les paramètres des nouvelles ressources créées. -- Après la génération d'un rapport complet sur les coûts et l'utilisation, il peut s'écouler entre 48 et 72 heures avant que toutes les données disponibles ne soient renseignées au sein de votre organisation Datadog. Passé ce délai, si aucune donnée n'est fournie, contactez l'[assitance Datadog][18]. +**Remarque** : +- Ces valeurs localisent soit votre rapport de coûts et d'utilisation existant, soit définissent les paramètres pour les ressources nouvellement créées. +- Il peut falloir entre 48 et 72 heures pour que toutes les données disponibles apparaissent dans votre organisation Datadog après qu'un rapport de coûts et d'utilisation complet a été généré. Si 72 heures se sont écoulées et que les données ne sont toujours pas apparues, contactez [le support Datadog][101]. [100]: https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html +[101]: /fr/help/ + +{{% /tab %}} + +{{% tab "Terraform" %}} + +{{< img src="cloud_cost/setup/aws_terraform_setup.png" alt="Page de configuration CCM avec l'option Terraform sélectionnée, montrant l'étape 1 développée pour configurer les paramètres du rapport de coûts et d'utilisation, y compris le nom du bucket, la région et les détails d'exportation" style="width:100%" >}} + +### Sélectionnez les ressources à créer {#select-the-resources-to-create-1} + +La configuration Terraform prend en charge trois configurations en fonction de vos ressources AWS existantes : + +* **Nouvelle configuration** : Sélectionnez {{< ui >}}Create Cost and Usage Report{{< /ui >}} pour créer à la fois le rapport et son bucket S3 +* **Bucket existant** : Sélectionnez {{< ui >}}Create Cost and Usage Report{{< /ui >}} et désélectionnez {{< ui >}}Create S3 Bucket{{< /ui >}} pour utiliser un bucket S3 existant +* **Bucket et rapport existants** : Désélectionnez {{< ui >}}Create Cost and Usage Report{{< /ui >}} et {{< ui >}}Create S3 Bucket{{< /ui >}} pour utiliser un rapport et un bucket S3 existants. + +**Remarque** : Si vous utilisez un bucket existant, vérifiez qu'AWS a la permission d'écrire des CURs dedans. Sinon, vous devrez peut-être mettre à jour la politique de votre bucket. + +### Configurez les paramètres du rapport de coûts et d'utilisation {#configure-the-cost-and-usage-report-settings-1} + +Entrez les détails suivants pour votre rapport de coûts et d'utilisation : + +* {{< ui >}}Bucket Name{{< /ui >}} : Le nom du bucket S3 où les fichiers de rapport sont stockés. +* {{< ui >}}Bucket Region{{< /ui >}} : Le [code de région AWS][100] de la région contenant votre bucket S3. Par exemple, `us-east-1`. +* {{< ui >}}Export Path Prefix{{< /ui >}} : Le préfixe de chemin S3 où les fichiers de rapport sont stockés. + * **Remarque :** Les formats de préfixe suivants ne sont pas pris en charge : vide, commençant par `/` (comme `/` ou `/cost`), ou se terminant par `/` (comme `cost/`). Les préfixes contenant `/` au milieu sont pris en charge (comme `cost/hourly`). +* {{< ui >}}Export Name{{< /ui >}} : Le nom de votre rapport de coûts et d'utilisation. + +**Remarque** : +- Ces valeurs localisent soit votre rapport de coûts et d'utilisation existant, soit définissent les paramètres pour les ressources nouvellement créées. +- Il peut falloir entre 48 et 72 heures pour que toutes les données disponibles apparaissent dans votre organisation Datadog après qu'un rapport de coûts et d'utilisation complet a été généré. Si 72 heures se sont écoulées et que les données ne sont toujours pas apparues, contactez [le support Datadog][101]. + +[100]: https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html +[101]: /fr/help/ + +### Copiez le HCL Terraform généré et appliquez les modifications {#copy-generated-terraform-hcl-and-apply-changes} + +Dans l'interface de configuration Terraform CCM, suivez les instructions de l'étape {{< ui >}}Apply Terraform Configuration{{< /ui >}}. Résolvez tous les problèmes qui apparaissent lors de l'exécution de `terraform plan` ou `terraform apply` avant de revenir à CCM pour confirmer la création du compte. {{% /tab %}} {{% tab "Méthode manuelle" %}} -{{< img src="cloud_cost/setup/aws_manual_setup.jpg" alt="Formulaire de configuration Cloud Cost Management en mode manuel" style="width:100%" >}} +{{< img src="cloud_cost/setup/aws_manual_setup.png" alt="Formulaire de configuration de Cloud Cost Management en mode manuel" style="width:100%" >}} -### Prérequis : générer un rapport de coûts et d'utilisation +### Prérequis : générez un rapport de coûts et d'utilisation {#prerequisite-generate-a-cost-and-usage-report} -[Créez un ancien rapport sur les coûts et l'utilisation][201] dans AWS depuis la section **Data Exports**. +[Créez un rapport de coûts et d'utilisation hérité][201] dans AWS sous la section {{< ui >}}Data Exports{{< /ui >}}. -Sélectionnez le type d'exportation **Legacy CUR export**. +Sélectionnez le type d'exportation {{< ui >}}Legacy CUR export{{< /ui >}}. Sélectionnez les options suivantes dans la section Content : -* Type d'exportation : **Legacy CUR export** -* **Include resource IDs** -* **Split cost allocation data** (permet d'activer l'allocation des coûts ECS ; vous devez également activer l'[allocation des coûts AWS répartis][210] dans les préférences du Cost Explorer) -* **"Refresh automatically"** +* Type d'exportation : {{< ui >}}Legacy CUR export{{< /ui >}} +* {{< ui >}}Include resource IDs{{< /ui >}} +* {{< ui >}}Split cost allocation data{{< /ui >}} (Active l'allocation des coûts ECS) Vous devez également vous inscrire à [AWS Split Cost Allocation][210] dans les préférences de Cost Explorer). +* {{< ui >}}Refresh automatically{{< /ui >}} -Sélectionnez les options de création suivantes : +Sélectionnez les options de livraison suivantes : -* Granularité temporelle : **Hourly** -* Versions du rapport : **Create new report version** -* Type de compression : **GZIP** ou **Parquet** +* Granularité temporelle : {{< ui >}}Hourly{{< /ui >}} +* Versionnage des rapports : {{< ui >}}Create new report version{{< /ui >}} +* Type de compression : {{< ui >}}GZIP{{< /ui >}} ou {{< ui >}}Parquet{{< /ui >}} -### Accéder au rapport de coûts et d'utilisation +### Localisez le rapport de coûts et d'utilisation {#locate-the-cost-and-usage-report} -Si vous avez fermé le rapport créé dans la section des prérequis, consultez la documentation AWS pour [visualiser vos exportations de données][204]. Sélectionnez l'ancienne exportation de rapport sur les coûts et l'utilisation que vous avez créée, puis sélectionnez **Edit** pour afficher les détails de l'exportation. +Si vous vous êtes éloigné du rapport que vous avez créé dans la section des prérequis, suivez la documentation AWS pour [voir vos exports de données][204]. Sélectionnez l'export CUR hérité que vous avez créé, puis sélectionnez {{< ui >}}Edit{{< /ui >}} pour voir les détails de l'export. Pour permettre à Datadog d'accéder au rapport de coûts et d'utilisation, remplissez les champs avec les informations pertinentes : -* **Bucket Name** : il s'agit du nom du **compartiment S3** indiqué dans les paramètres de stockage des exportations de données. -* **Bucket Region** : il s'agit de la région de votre compartiment. Exemple : `us-east-1`. -* **Export Path Prefix** : il s'agit du **préfixe du chemin S3** indiqué dans les paramètres de stockage des exportations de données. -* **Export Name** : il s'agit du **nom de l'exportation** défini à la section dédiée. +* {{< ui >}}Bucket Name{{< /ui >}} : C'est le nom du bucket S3 dans la section des paramètres de stockage des exports de données. +* {{< ui >}}Bucket Region{{< /ui >}} : C'est la région où se trouve votre bucket. Par exemple, `us-east-1`. +* {{< ui >}}Export Path Prefix{{< /ui >}} : C'est le préfixe de chemin S3 dans la section des paramètres de stockage des exports de données. + * **Remarque** : Les formats de préfixe suivants ne sont pas pris en charge : vide, commençant par `/` (tels que `/` ou `/cost`), ou se terminant par `/` (tels que `cost/`). Les préfixes contenant `/` au milieu sont pris en charge (tels que `cost/hourly`). +* {{< ui >}}Export Name{{< /ui >}} : C'est le nom de l'export dans la section du nom de l'export. -**Remarque** : Datadog prend uniquement en charge les anciens rapports sur les coûts et l'utilisation générés par AWS. Évitez de modifier ou de déplacer les fichiers générés par AWS. Ne tentez pas non plus d'accorder l'accès à des fichiers générés par un tiers. +**Remarque** : Datadog ne prend en charge que les rapports sur les coûts et l'utilisation (CUR) hérités générés par AWS. Ne modifiez pas ou ne déplacez pas les fichiers générés par AWS, ni n'essayez de fournir un accès aux fichiers générés par un tiers. -{{< site-region region="gov" >}} -
L'endpoint AWS des rapports sur les coûts et l'utilisation sert à valider les informations des champs ci-dessus en les comparant à l'exportation du rapport dans votre compartiment S3. Cet endpoint ne respecte pas la norme FIPS.
+{{< site-region region="gov,gov2" >}} +
Le point de terminaison des rapports de coûts et d'utilisation AWS est utilisé pour valider les champs ci-dessus par rapport à l'export CUR dans votre bucket S3. Ce point de terminaison n'est pas validé par FIPS.
{{< /site-region >}} -### Configurer l'accès au rapport de coûts et d'utilisation +### Configurez l'accès au rapport de coûts et d'utilisation {#configure-access-to-the-cost-and-usage-report} -[Créer une stratégie][205] dans AWS pour vous assurer que Datadog puisse accéder au rapport sur les coûts et l'utilisation ainsi qu'au compartiment S3 dans lequel il est stocké. Utilisez le JSON suivant : +[Créez une politique][205] dans AWS pour garantir que Datadog dispose des autorisations nécessaires pour accéder au CUR et au bucket S3 dans lequel il est stocké. Utilisez le JSON suivant : {{< code-block lang="yaml" collapsible="true" >}} { @@ -165,19 +205,19 @@ Pour permettre à Datadog d'accéder au rapport de coûts et d'utilisation, remp } {{< /code-block >}} -**Remarque :** notez le nom de votre nouvelle stratégie, car vous en aurez besoin pour les prochaines étapes. +**Remarque** : Notez le nom que vous avez créé pour cette politique pour les étapes suivantes. -### Associer la stratégie au rôle de l'intégration Datadog +### Attachez la politique au rôle d'intégration Datadog {#attach-the-policy-to-the-datadog-integration-role} Associez la nouvelle stratégie S3 au rôle de l'intégration Datadog. -1. Accédez à **Roles** depuis la console IAM d'AWS. -2. Repérez le rôle utilisé par l'intégration Datadog. Il est intitulé **DatadogIntegrationRole** par défaut, mais il est possible que votre organisation l'ait renommé. Cliquez sur le nom du rôle pour ouvrir une page de synthèse. -3. Cliquez sur **Attach policies**. -4. Saisissez le nom de la stratégie de compartiment S3 créée précédemment. -5. Cliquez sur **Attach policy**. +1. Accédez à {{< ui >}}Roles{{< /ui >}} dans la console AWS IAM. +2. Localisez le rôle utilisé par l'intégration Datadog. Par défaut, il est nommé **DatadogIntegrationRole**, mais le nom peut varier si votre organisation l'a renommé. Cliquez sur le nom du rôle pour ouvrir la page de résumé du rôle. +3. Cliquez sur {{< ui >}}Attach policies{{< /ui >}}. +4. Entrez le nom de la politique du bucket S3 créée ci-dessus. +5. Cliquez sur {{< ui >}}Attach policy{{< /ui >}}. -**Remarque** : après la génération d'un rapport complet sur les coûts et l'utilisation, il peut s'écouler entre 48 et 72 heures avant que toutes les données disponibles ne soient renseignées au sein de votre organisation Datadog. Passé ce délai, si aucune donnée n'est fournie, contactez l'[assitance Datadog][18]. +**Remarque** : Il peut falloir entre 48 et 72 heures pour que toutes les données disponibles apparaissent dans votre organisation Datadog après la génération d'un rapport complet de coûts et d'utilisation. Si 72 heures se sont écoulées et que les données ne sont toujours pas apparues, contactez [le support Datadog][18]. [201]: https://docs.aws.amazon.com/cur/latest/userguide/dataexports-create-legacy.html [204]: https://docs.aws.amazon.com/cur/latest/userguide/dataexports-view.html @@ -188,205 +228,223 @@ Associez la nouvelle stratégie S3 au rôle de l'intégration Datadog. {{< /tabs >}} -### Filtrage des comptes +### Filtrage de compte {#account-filtering} + +Utilisez le filtrage de compte pour contrôler quels comptes membres AWS doivent être intégrés à la gestion des coûts Cloud. Exclure des comptes n'entraîne pas de coûts supplémentaires pour Datadog. + +L'utilisation du filtrage de compte nécessite un compte de gestion AWS. Vous pouvez configurer des filtres de compte après qu'un compte a été configuré dans la gestion des coûts dans le cloud. + +**Remarque :** Les filtres de compte ne sont pas pris en charge pour la recherche par étiquette. + +#### Configurez des filtres de compte pour un compte existant {#configure-account-filters-for-an-existing-account} + +Accédez à [**Cloud Cost** > **Settings**, sélectionnez **Comptes**][17], puis cliquez sur {{< ui >}}Manage Account{{< /ui >}} pour le compte de gestion que vous souhaitez filtrer. + +{{< img src="cloud_cost/account_filtering/manage_account.png" alt="Bouton Gérer le compte sur la carte de compte" style="width:100%;" >}} + +Cliquez sur {{< ui >}}Billing dataset{{< /ui >}} pour accéder à l'interface utilisateur de filtrage de compte. + +{{< img src="cloud_cost/account_filtering/account_filtering.png" alt="Interface utilisateur de filtrage de compte pour filtrer les comptes membres AWS" style="width:100%;" >}} -Utilisez le filtrage des comptes pour contrôler les comptes de membre AWS qui doivent être importés dans Cloud Cost Management. Le filtrage des comptes n'entraîne pas de coûts supplémentaires dans Datadog. +### Obtenir des données historiques {#getting-historical-data} -L'utilisation du filtrage des comptes nécessite un compte de gestion AWS. Vous pouvez configurer les filtres de compte après avoir configuré un compte dans Cloud Cost Management. +Si vous configurez un rapport de coûts et d'utilisation qui a déjà des données historiques disponibles dans S3, Datadog ingère automatiquement jusqu'à 15 mois de données de coûts historiques. -**Remarque :** les filtres de compte ne sont pas pris en charge pour les recommandations ou la recherche de tags. +Si votre rapport nouvellement configuré n'a pas de données historiques, vous pouvez demander un remplissage rétroactif à AWS : -#### Configurer des filtres de compte pour un compte existant +Pour demander un remplissage rétroactif des données de coûts historiques AWS : -Accédez à [**Cloud Cost** > **Settings**, select **Accounts**][17], puis cliquez sur **Manage Account** pour le compte de gestion que vous souhaitez filtrer. +1. [Ouvrez un cas de support AWS][20] et demandez un remplissage rétroactif de vos données de coûts. +2. Incluez le **nom du rapport** et la **période de facturation souhaitée** dans votre demande. +3. Attendez qu'AWS traite la demande de remplissage rétroactif. -{{< img src="cloud_cost/account_filtering/manage_account.png" alt="Bouton Manage Account sur la fiche d'un compte" style="width:100%;" >}} +Lorsque les données sont complétées rétroactivement par AWS, Datadog ingère automatiquement les données dans les 24 heures. -Cliquez sur **Billing dataset** pour accéder à l'interface de filtrage des comptes. +AWS ne peut pas compléter rétroactivement les données de coûts qui précèdent votre compte AWS ou qui reflètent une structure précédente des organisations AWS. -{{< img src="cloud_cost/account_filtering/account_filtering.png" alt="Interface de filtrage des comptes de membre AWS" style="width:100%;" >}} +Pour plus d'informations, consultez le [guide de dépannage des rapports de coûts et d'utilisation AWS][20]. -## Types de coûts +## Types de coûts {#cost-types} -Visualisez vos données ingérées à l'aide des types de coûts par défaut. Les différents types de coûts se distinguent principalement par la manière dont ils reflètent les réductions, les programmes de remise et les réservations. +Visualisez vos données ingérées en utilisant des types de coûts prêts à l'emploi. Les types de coûts diffèrent principalement par la manière dont ils rendent compte des taux de remise, des plans d'économies et des réservations. -### On-demand -Les coûts **On-demand** représentent les coûts d'utilisation à la demande au tarif public publié par AWS. Ce tarif ne tient pas compte des programmes de remise, des réservations, des réductions, des taxes et des frais. +### À la demande {#on-demand} +**Les coûts à la demande** représentent le coût d'utilisation au tarif public à la demande publié par AWS. Cela exclut tous les plans d'économies, réservations, remises, taxes et frais. -**Remarque** : dans la plupart des cas, les coûts à la demande ne permettent pas d'estimer de manière fiable les coûts réels. +**Remarque** : Dans la plupart des cas, les coûts à la demande ne sont pas une source fiable pour estimer les coûts réels. -### Coûts Amortized et Unblended -Les métriques de coûts **Amortized** reflètent les économies liées à l'engagement sur toute la durée de l'escompte. C'est aussi ce qu'on appelle la base de régularisation, ou _accrual basis_. Les réservations et les programmes de remise sont établis à partir d'un engagement mensuel et appliqués directement à l'utilisation couverte, et ce en temps réel. Le solde inutilisé est comptabilisé sous forme de frais. +### Coûts amortis et non mélangés {#amortized-and-unblended-costs} +**Les** métriques de coût amorti répartissent les économies d'engagement sur toute la durée de la remise. Ceci est également appelé _base d'accumulation_. Les réservations et les plans d'économies sont déduits d'un engagement mensuel et appliqués directement à l'utilisation couverte, au moment de l'utilisation. Tout reste inutilisé apparaît comme un frais. -À l'inverse, les métriques de coûts **Unblended** représentent toutes les charges à la date à laquelle elles ont été encourues. C'est ce qu'on appelle aussi la base des coûts, ou _cost basis_. Les frais liés aux réservations et aux programmes de remise apparaissent à la date à laquelle ils ont été facturés et ne sont pas appliqués directement à l'utilisation couverte. Une fois les données de facturation d'un mois donné finalisées, les métriques unblended correspondent exactement à la facture AWS. +En revanche, **les** métriques de coût non mélangé montrent tous les frais à la date où ils sont encourus. Ceci est également appelé _base de coût_. Les frais de réservation et de plan d'économies apparaissent à la date à laquelle ils ont été facturés et ne sont pas appliqués directement à l'utilisation couverte. Après que les données de facturation pour un mois soient finalisées, les métriques non mélangées correspondent exactement à la facture AWS. -### Coûts Net -Les coûts **Net** appliquent les réductions privées directement à l'utilisation. Le coût d'utilisation d'une ressource spécifique représente le coût effectif une fois toutes les économies appliquées. +### Coûts nets {#net-costs} +**Les** coûts nets appliquent des remises privées directement à l'utilisation. Le coût d'utilisation pour une ressource spécifique représente le coût effectif après que toutes les économies soient réalisées. -À l'inverse, les autres métriques présentent les remises privées en tant que postes distincts, à valeur négative, sans tags d'attribution des ressources. Plutôt que d'attribuer les remises directement à l'utilisation, ces métriques les soustraient du coût total. +En revanche, d'autres métriques montrent les remises privées comme des éléments de ligne séparés, à valeur négative, sans étiquettes d'attribution de ressource. Plutôt que d'attribuer les remises directement à l'utilisation, ces métriques soustraient les remises du coût total. -Les coûts **Net Amortized** offrent la représentation la plus juste de l'allocation des coûts, toutes les remises étant appliquées directement à l'utilisation. Ces métriques sont disponibles si des remises d'entreprise ont été négociées en privé pour votre compte AWS. Si votre compte ne possède pas de remise d'entreprise, les coûts **Net Amortized** et **Amortized** sont identiques. +**Les coûts amortis nets** fournissent la représentation la plus précise pour l'allocation des coûts, avec toutes les économies appliquées directement à l'utilisation. Les métriques de coût net sont disponibles si votre compte AWS a des remises d'entreprise négociées en privé. Si votre compte ne dispose pas de remises d'entreprise, alors **le coût net amorti** et **le coût amorti** sont équivalents. -### Allocation des conteneurs -Les métriques **Container allocation** représentent les mêmes coûts que les métriques AWS, mais offrent des informations supplémentaires en fonction des charges de travail des conteneurs. Consultez la section [Allocation des coûts des conteneurs][11] pour en savoir plus. +### Allocation de conteneurs{#container-allocation} +Les métriques **d'allocation de conteneurs** contiennent tous les mêmes coûts que les métriques AWS, mais avec des décompositions et des informations supplémentaires pour les charges de travail de conteneurs. Voir [allocation des coûts des conteneurs][11] pour plus de détails. -### Exemple -L'exemple qui suit illustre le comportement des différents types de coûts. Imaginons les conditions suivantes : -- Une instance EC2 qui s'exécute pendant une heure pour un coût de 3 $ par heure de calcul. -- Un programme de remise qui fait que ce type d'instance ne vous coûte que 2 $ par heure de calcul. -- Une remise EDP de 10 % qui vient s'ajouter à toutes les autres remises. +### Exemple{#example} +Le scénario suivant démontre comment différents types de coûts se comportent. Imaginez que vous avez : +- Une instance EC2 fonctionnant pendant une heure avec un coût de 3 $ par heure de calcul. +- Un plan d'économies qui fixe le prix de ce type d'instance à 2 $ par heure de calcul. +- Une remise EDP négociée de 10 % en plus de toutes les autres remises. Voici comment le coût de l'instance, l'engagement horaire du programme de remise et les réductions sont représentés pour chaque type de coût : -|Type de coût |Utilisation |Programme de remise |Réduction | Explication | +|Type de coût| Utilisation| Plan d'économies| Remise| Explication| |:---------|-|-|-|:------------------------------------------------| -|On-demand |3,00 $|||Le tarif public en cas de facturation à la demande.| -|Unblended |3,00 $|2,00 $|-0,20 $|Les frais récurrents liés au programme de remise et la réduction EDP sont des postes distincts, qui ne sont pas associés à une ressource spécifique. (**Remarque :** le coût de 3 $ par ressource est compensé par `SavingsPlanNegation`). | -|Net Unblended||1,80 $||Les frais récurrents liés au programme de remise apparaissent sous forme de poste distinct avec la remise appliquée ; le coût n'est associé à aucune ressource spécifique.| -|Amortized |2,00 $||-0,20 $|Les frais réduits liés au programme de remise sont appliqués directement au coût de la ressource. La réduction EDP est affichée sous forme de poste distinct. | -|Net Amortized |1,80 $|||Les frais réduits liés au programme de remise et la réduction EDP sont directement appliqués au coût de la ressource. | -|Net Amortized - Shared Resources Allocated |1,80 $|||Le coût est identique au coût Net Amortized, mais vous avez la possibilité de le décomposer en fonction des dimensions Kubernetes et des tags de pod. | +|À la demande| 3,00 $||| C'est le tarif public à la demande.| +|Non mélangé| 3,00 $| 2,00 $| -0,20 $| Les frais récurrents du plan d'économies et la remise EDP sont des éléments distincts, non associés à une ressource spécifique. (**Remarque:** le coût de la ressource de 3 $ est compensé par `SavingsPlanNegation`.) | +|Net non mélangé|| 1,80 $|| Les frais récurrents du plan d'économies apparaissent comme un élément distinct avec la remise appliquée ; le coût n'est pas associé à une ressource spécifique.| +|Amorti |2,00 $||-0,20 $|La remise du plan d'économies est appliquée directement au coût de la ressource. La remise EDP est un élément distinct. | +|Net amorti |1,80 $|||Les remises du plan d'économies et EDP sont appliquées directement au coût de la ressource. | +|Net amorti - Ressources partagées allouées |1,80 $|||Le même coût que le net amorti, mais ce coût peut être décomposé davantage par les dimensions Kubernetes et les balises de pod. | -### Résumé des métriques de coûts +### Résumé des métriques de coût{#cost-metrics-summary} En règle générale : -- `aws.cost.net.amortized.shared.resources.allocated` offre la répartition des coûts la plus détaillée pour des charges de travail et des équipes spécifiques. -- Si vous ne bénéficiez pas de l'allocation des coûts en fonction des conteneurs, utilisez `aws.cost.net.amortized`. -- Si vous ne bénéficiez pas des coûts Net Amortized, utilisez `aws.cost.amortized.shared.resources.allocated` ou `aws.cost.amortized`. +- `aws.cost.net.amortized.shared.resources.allocated` fournit l'allocation des coûts la plus complète pour des charges de travail et des équipes spécifiques. +- Si vous n'avez pas d'allocation des coûts des conteneurs, utilisez `aws.cost.net.amortized`. +- Si vous n'avez pas de coûts amortis nets, utilisez `aws.cost.amortized.shared.resources.allocated` ou `aws.cost.amortized`. -| Métrique | Rôle | +| Métrique | Description | | -------------------- | --------------------- | -| `aws.cost.net.amortized.shared.resources.allocated` | L'ensemble de vos coûts Net Amortized AWS, avec la possibilité de les décomposer en fonction des charges de travail des conteneurs. Nécessite l'[Allocation des coûts des conteneurs][11].| -| `aws.cost.net.amortized` | Les coûts Net Amortized, sans possibilité de les décomposer en fonction des conteneurs. | -| `aws.cost.net.unblended` | Les coûts Net Unblended, sans possibilité de les décomposer en fonction des conteneurs. Correspond à la facture AWS, les remises spéciales étant déjà appliquées aux coûts d'utilisation. | -| `aws.cost.amortized.shared.resources.allocated` | L'ensemble de vos coûts Amortized AWS, avec la possibilité de les décomposer en fonction des charges de travail des conteneurs. Nécessite l'[Allocation des coûts des conteneurs][11].| -| `aws.cost.amortized` | Les coûts Amortized, sans possibilité de les décomposer en fonction des conteneurs. | -| `aws.cost.unblended` | Les coûts Unblended, sans possibilité de les décomposer en fonction des conteneurs. Correspond à la facture AWS. | -| `aws.cost.ondemand` | Les coûts calculés en fonction des tarifs publics AWS. Ces coûts ne tiennent pas compte des programmes de remise, des réservations, des réductions, des taxes et des frais. | +| `aws.cost.net.amortized.shared.resources.allocated` | Tous vos coûts amortis nets AWS, avec des détails supplémentaires et des informations pour les charges de travail des conteneurs. Nécessite [l'allocation des coûts des conteneurs][11].| +| `aws.cost.net.amortized` | Coûts amortis nets, sans détails sur les coûts des conteneurs. | +| `aws.cost.net.unblended` | Coûts non mélangés, sans détails sur les coûts des conteneurs. Correspond à la facture AWS, avec des remises spécialisées pré-calculées dans les coûts d'utilisation. | +| `aws.cost.amortized.shared.resources.allocated` | Tous vos coûts amortis AWS, avec des détails supplémentaires et des informations pour les charges de travail des conteneurs. Nécessite [l'allocation des coûts des conteneurs][11].| +| `aws.cost.amortized` | Coûts amortis, sans détails sur les coûts des conteneurs. | +| `aws.cost.unblended` | Coûts non mélangés, sans détails sur les coûts des conteneurs. Correspond à la facture AWS. | +| `aws.cost.ondemand` | Coûts basés sur le tarif de liste fourni par AWS, excluant tous les plans d'économies, réservations, remises, taxes et frais. | -## Comment Datadog enrichit vos données de coûts AWS avec des tags +## Comment Datadog enrichit vos données de coûts AWS avec des tags {#how-datadog-enriches-your-aws-cost-data-with-tags} -Datadog enrichit automatiquement vos données de coûts AWS en y ajoutant des tags provenant de plusieurs sources. Pour découvrir plus en détail comment les tags sont appliqués aux données de coûts, consultez la section [Tags][19]. +Datadog enrichit automatiquement vos données de coûts AWS avec des tags provenant de plusieurs sources. Pour un aperçu complet de la manière dont les tags sont appliqués aux données de coûts, voir [Tags][19]. -Les tags source suivants sont disponibles pour AWS : +Les sources de tags suivantes sont disponibles pour AWS : -- Colonnes du rapport de coûts et d'utilisation -- Tags des ressources AWS -- Tags du compte AWS -- Tags de l'intégration AWS -- Tags par défaut -- Tags des charges de travail des conteneurs -- Pipelines de tags +- Colonnes du rapport sur les coûts et l'utilisation +- Étiquettes de ressources AWS +- Étiquettes de compte AWS +- Étiquettes d'intégration AWS +- Étiquettes prêtes à l'emploi +- Étiquettes de charge de travail de conteneur +- Étiquettes de pipelines -### Colonnes du rapport de coûts et d'utilisation +### Colonnes du rapport de coûts et d'utilisation {#cost-and-usage-report-columns} Toutes les colonnes contenant des chaînes du [Rapport de coût et d'utilisation AWS][6] sont ajoutées en tant que tags aux métriques de coûts. -Pour plus de cohérence, Datadog normalise les clés de tags en utilisant des underscores et des minuscules. Par exemple, la colonne `lineItem/ResourceId` du rapport correspond à la clé de tag `line_item/resource_id`. Les valeurs des tags ne sont généralement pas modifiées : la casse et la plupart des caractères spéciaux restent tels quels. +Pour garantir la cohérence, Datadog normalise les clés d'étiquettes en utilisant des underscores et des minuscules. Par exemple, la colonne CUR `lineItem/ResourceId` correspond à la clé d'étiquette `line_item/resource_id`. Les valeurs d'étiquettes sont généralement non modifiées, maintenant la casse exacte et la plupart des caractères spéciaux. -**Exemples :** +**Exemples :** -|Colonne du rapport|Valeur du rapport|Tag des coûts du cloud| +|Colonne CUR|Valeur CUR|Étiquette de coût cloud| |---|---|---| |lineItem/ResourceId|i-12345678a9b12cd3e|line_item/resource_id:i-12345678a9b12cd3e| |product/region|us-east-1|product/region:us-east-1| |product/usagetype|DataTransfer-Regional-Bytes|product/usagetype:DataTransfer-Regional-Bytes| -### Tags des ressources AWS +### Étiquettes de ressources AWS {#aws-resource-tags} -Les [tags de ressources AWS][12] sont des tags définis par l'utilisateur qui apparaissent dans la console AWS lorsque vous consultez une ressource spécifique, telle qu'une instance EC2 ou un compartiment S3. +[Les étiquettes de ressources AWS][12] sont des étiquettes définies par l'utilisateur qui apparaissent dans la console AWS lors de la visualisation d'une ressource particulière, comme une instance EC2 ou un bucket S3. -Lorsque vous activez l'intégration AWS/Datadog, Datadog recueille automatiquement des tags de ressources pour la plupart des ressources AWS. Ces tags sont appliqués à l'ensemble des coûts figurant dans le rapport de coût et d'utilisation pour une ressource donnée. Les tags de ressources sont récupérés de façon périodique et appliqués aux données de coûts à partir du jour où ils ont été créés ou modifiés. Les valeurs historiques des tags ne sont pas supprimées lorsque les tags sont modifiés. +Lorsque vous activez l'intégration AWS de Datadog, Datadog collecte automatiquement les étiquettes de ressources pour la plupart des ressources AWS. Ces étiquettes sont appliquées à tous les coûts trouvés dans le CUR pour une ressource donnée. Les étiquettes de ressources sont récupérées régulièrement et sont appliquées aux données de coût à partir du jour où elles sont créées ou modifiées. Les valeurs des étiquettes historiques ne sont pas écrasées lorsque les étiquettes changent. -Si l'intégration AWS n'est pas configurée, vous pouvez activer l'ajout des tags de ressources en activant l'option [Cost allocation tags][13] dans la facturation AWS. Vous pourrez ainsi sélectionner les clés de tags de ressources à inclure en tant que colonnes dans le rapport de coût AWS. Datadog ajoute automatiquement ces colonnes en tant que tags lors du traitement du rapport. +Si l'intégration AWS n'est pas activée, vous pouvez activer l'enrichissement des étiquettes de ressources en activant les [étiquettes d'allocation des coûts][13] dans la facturation AWS. Cela vous permet de sélectionner un sous-ensemble de clés d'étiquettes de ressources à inclure en tant que colonnes dans le AWS CUR. Datadog inclut automatiquement ces colonnes en tant qu'étiquettes lors du traitement du CUR. -### Tags de l'organisation et du compte AWS -Les organisations AWS prennent en charge les [tags définis par l'utilisateur][14] sur les unités organisationnelles et les comptes. Datadog récupère et applique automatiquement ces tags aux données de coûts. Les tags de compte sont appliqués à toutes les utilisations associées à ces comptes. Les tags d'organisation sont appliqués à toutes les données de facturation pour le compte payeur correspondant. +### Étiquettes d'organisation et de compte AWS {#aws-organization-and-account-tags} +Les organisations AWS prennent en charge les [étiquettes définies par l'utilisateur][14] sur les unités organisationnelles et les comptes. Datadog récupère automatiquement et applique ces étiquettes aux données de coût. Les étiquettes de compte sont appliquées à toute l'utilisation associée à ces comptes. Les étiquettes d'organisation sont appliquées à toutes les données de facturation pour le compte payeur correspondant. -_L'intégration AWS/Datadog doit être configurée sur le compte de l'organisation._ +_Nécessite l'intégration Datadog AWS sur le compte de l'organisation._ -### Tags de l'intégration AWS +### Étiquettes d'intégration AWS {#aws-integration-tags} -Les tags d'intégration AWS sont des tags définis depuis le carré de l'intégration AWS dans Datadog. Ils sont appliqués à l'ensemble des coûts figurant dans le rapport de coût et d'utilisation pour le compte AWS associé. +Les étiquettes d'intégration AWS sont des étiquettes définies sur la tuile d'intégration AWS dans la page des intégrations Datadog. Elles sont appliquées à tous les coûts trouvés dans le CUR pour le compte AWS associé. -### Tags par défaut -Datadog ajoute des tags par défaut aux données de coûts ingérées, vous permettant ainsi d'obtenir une vue plus détaillée de vos coûts et de mieux les décomposer. Ces tags sont issus de votre [rapport de coûts et d'utilisation][6] et vous permettent d'analyser vos données plus en profondeur. +### Étiquettes prêtes à l'emploi {#out-of-the-box-tags} +Datadog ajoute des étiquettes prêtes à l'emploi aux données de coût ingérées pour vous aider à décomposer et à allouer vos coûts. Ces étiquettes sont dérivées de votre [rapport de coûts et d'utilisation (CUR)][6] et facilitent la découverte et la compréhension des données de coût. Les tags par défaut suivants peuvent être utilisés pour filtrer et regrouper vos données : -| Tag | Rôle | +| Étiquette | Description | | ---------------------------- | ----------------- | | `aws_product` | Le service AWS facturé.| | `aws_product_family` | La catégorie du service AWS facturé (par exemple, Compute ou Storage).| | `aws_management_account_name`| Le nom du compte de gestion AWS associé à l'élément.| -| `aws_management_account_id` | L'identifiant du compte de gestion AWS associé à l'élément.| -| `aws_member_account_name` | Le nom du compte de membre AWS associé à l'élément.| -| `aws_member_account_id` | L'ID du compte de membre AWS associé à l'élément.| -| `aws_cost_type` | Le type de dépense couverte par cet élément (par exemple, Usage ou Tax).| -| `aws_pricing_term` | Indique si l'utilisation est de type Reserved, Spot ou On Demand.| -| `aws_reservation_arn` | L'ARN de l'instance réservée dont l'élément a bénéficié.| -| `aws_savings_plan_arn` | L'ARN du programme de remise dont l'élément a bénéficié.| -| `aws_usage_type` | Les détails de l'utilisation de l'élément (par exemple, BoxUsage:i3.8xlarge).| +| `aws_management_account_id` | L'ID du compte de gestion AWS associé à l'élément.| +| `aws_member_account_name` | Le nom du compte membre AWS associé à l'élément.| +| `aws_member_account_id` | L'ID du compte membre AWS associé à l'élément.| +| `aws_cost_type` | Le type de charge couvert par cet élément (par exemple, Usage ou Tax).| +| `aws_pricing_term` | Si l'utilisation est Reserved, Spot ou On-Demand.| +| `aws_reservation_arn` | L'ARN de la Reserved Instance dont l'élément a bénéficié.| +| `aws_savings_plan_arn` | L'ARN du Savings Plan dont l'élément a bénéficié.| +| `aws_usage_type` | Les détails d'utilisation de l'élément (par exemple, BoxUsage:i3.8xlarge).| | `aws_operation` | L'opération associée à l'élément (par exemple, RunInstances).| | `aws_region` | La région associée à l'élément (par exemple, us-east-1).| | `aws_availability_zone` | La zone de disponibilité associée à l'élément.| -| `aws_resource_id` | L'ID de resource associé à l'élément.| +| `aws_resource_id` | L'ID de la ressource associée à l'élément.| | `aws_instance_type` | Le type d'instance de l'élément.| -| `aws_instance_family` | La famille d'instance associée à votre élément (Storage optimized, par exemple).| +| `aws_instance_family` | La famille d'instances associée à votre élément (par exemple, Storage Optimized).| | `aws_datatransfer_type` | Le type de transfert de données associé à l'élément (par exemple, cross-zone ou cross-region).| -| `aws_datatransfer_direction` | Le sens du transfert de données associé à l'élément (par exemple, in ou out).| -| `is_aws_ec2_compute` | Indiquez si l'utilisation est liée au calcul EC2.| -| `is_aws_ec2_compute_on_demand`| Indiquez si l'utilisation est à la demande.| -| `is_aws_ec2_compute_reservation`| Indique si l'utilisation est associée à une instance réservée.| -| `is_aws_ec2_capacity_reservation`| Indique si l'utilisation est associée à une réservation de capacité.| -| `is_aws_ec2_spot_instance` | Indique si l'utilisation est associée à une instance Spot.| -| `is_aws_ec2_savings_plan` | Indiquez si l'utilisation est associée à un programme de remise.| -| `aws_bill_entity` | Le vendeur AWS associé à votre compte. Les transactions peuvent correspondre à un achat sur l'AWS Marketplace (`AWS Marketplace`) ou un achat d'autres services AWS (`AWS`). | -| `aws_bill_type` | Le type de facture couvert par ce rapport (par exemple `Purchase`). | -| `aws_cost_type` | Le type de dépense couvrant le poste spécifique (par exemple `SavingsPlanCoveredUsage`). | -| `aws_discount_lease_term` | La durée de réservation d'une instance réservée. | -| `aws_discount_purchase_option` | Le mode de paiement choisi pour une réservation (par exemple `All Upfront`). | -| `aws_ec2_compute_product_family` | Le type d'utilisation d'un poste de calcul EC2 (par exemple `BoxUsage` ou `SpotUsage`). | -| `aws_pricing_usage_unit` | L'unité de tarification utilisée par AWS pour calculer le coût d'utilisation (par exemple `Hours`). | -| `aws_reservation_modification_status` | Indique si le bail d'instance réservée a été modifié ou non (exemple : `Manual`). | -| `bill/billing_entity` | Le vendeur AWS associé à votre compte. Les transactions peuvent correspondre à un achat sur l'AWS Marketplace (`AWS Marketplace`) ou un achat d'autres services AWS (`AWS`). | -| `bill/bill_type` | Le type de facture couvert par ce rapport (par exemple `Purchase`). | +| `aws_datatransfer_direction` | La direction du transfert de données associée à l'élément (par exemple, in ou out).| +| `is_aws_ec2_compute` | Si l'utilisation est liée à EC2 Compute.| +| `is_aws_ec2_compute_on_demand`| Si l'utilisation est On-Demand.| +| `is_aws_ec2_compute_reservation`| Si l'utilisation est associée à une Reserved Instance.| +| `is_aws_ec2_capacity_reservation`| Si l'utilisation est associée à une Capacity Reservation.| +| `is_aws_ec2_spot_instance` | Si l'utilisation est associée à une Spot Instance.| +| `is_aws_ec2_savings_plan` | Si l'utilisation est associée à un Savings Plan.| +| `aws_bill_entity` | Le vendeur AWS avec lequel votre compte est associé. Les transactions peuvent être soit un achat sur le marché AWS (`AWS Marketplace`), soit un achat d'autres services AWS (`AWS`). | +| `aws_bill_type` | Le type de facture que ce rapport couvre (tel que `Purchase`). | +| `aws_cost_type` | Le type de charge couvrant l'élément de ligne (tel que `SavingsPlanCoveredUsage`). | +| `aws_discount_lease_term` | La durée pendant laquelle une Reserved Instance est réservée. | +| `aws_discount_purchase_option` | Comment vous avez choisi de payer pour une réservation (tel que `All Upfront`). | +| `aws_ec2_compute_product_family` | Le type d'utilisation pour un élément de ligne EC2 Compute (tel que `BoxUsage` ou `SpotUsage`). | +| `aws_pricing_usage_unit` | L'unité de tarification qu'AWS a utilisée pour calculer le coût d'utilisation (tel que `Hours`). | +| `aws_reservation_modification_status` | Indique si le bail RI a été modifié ou non (tel que `Manual`). | +| `bill/billing_entity` | Le vendeur AWS avec lequel votre compte est associé. Les transactions peuvent être soit un achat sur le marché AWS (`AWS Marketplace`), soit un achat d'autres services AWS (`AWS`). | +| `bill/bill_type` | Le type de facture que ce rapport couvre (tel que `Purchase`). | | `bill/invoicing_entity` | L'entité AWS qui émet la facture. | -| `bill/payer_account_id` | L'ID de compte du compte payeur. Pour une organisation faisant partie d'AWS Organizations, il s'agit de l'ID de compte du compte de gestion. | -| `is_aws_ec2_compute_savings_plan` | `true` pour les postes qui représentent une utilisation de calcul EC2, payée à l'aide d'un programme de remise. | -| `line_item/currency_code` | La devise dans laquelle ce poste est affiché (`USD` par défaut). | +| `bill/payer_account_id` | L'ID du compte payant. Pour une organisation dans AWS Organizations, il s'agit de l'ID du compte de gestion. | +| `is_aws_ec2_compute_savings_plan` | `true` pour les articles de ligne qui représentent l'utilisation d'EC2 Compute, payés avec un Savings Plan. | +| `line_item/currency_code` | La devise dans laquelle cet élément de ligne est affiché (`USD` par défaut). | | `line_item/legal_entity` | Le fournisseur de vos services AWS. | -| `line_item/line_item_type` | Le type de dépense couverte par le poste (par exemple `Credit`). | -| `line_item/operation` | L'opération AWS spécifique couverte par le poste (par exemple `RunInstances`). | -| `line_item/product_code` | Le code du produit mesuré (par exemple `Amazon EC2` pour Amazon Elastic Cloud Compute). | -| `line_item/resource_id` | L'ID de ressource individuel associée au poste (facultatif). | -| `line_item/tax_type` | Le type de taxe appliqué par AWS au poste. | -| `line_item/usage_account_id` | L'ID du compte qui a utilisé le poste. | -| `line_item/usage_type` | Les détails de l'utilisation du poste (par exemple `USW2-BoxUsage:m2.2xlarge`). | -| `pricing/lease_contract_length` | La durée de réservation de l'instance réservée. | -| `pricing/purchase_option` | Le mode de paiement choisi pour le poste (par exemple `All Upfront`). | -| `pricing/term` | Indique si votre utilisation d'AWS est `Reserved` ou `On-Demand`. | -| `pricing/unit` | L'unité de tarification utilisée par AWS pour calculer le coût d'utilisation (par exemple `Hours`). | -| `reservation/availability_zone` | La zone de disponibilité de la ressource associée au poste (par exemple `us-east-1`). | -| `reservation/modification_status` | Indique si le bail d'instance réservée a été modifié ou non (exemple : `Manual`). | -| `reservation/reservation_arn` | L'ARN de l'instance réservée dont le poste a bénéficié. | -| `reservation/subscription_id` | L'ID unique mappe le poste à l'offre associée. | -| `savings_plan/instance_type_family` | La famille d'instances associée à l'utilisation spécifiée (par exemple `m4`). | -| `savings_plan/offering_type` | Le type de programme de remise souscrit (par exemple `ComputeSavingsPlans`). | -| `savings_plan/payment_option` | Les options de paiement disponibles pour le programme de remise (par exemple `All Upfront`). | -| `savings_plan/purchase_term` | Décrit la durée ou le terme du programme de remise (par exemple `1yr`). | -| `savings_plan/region` | La région AWS qui héberge les services AWS (par exemple `US East (N. Virginia)`). | -| `savings_plan/savings_plan_arn` | L'ID unique du programme de remise. | - -#### Corrélation entre les coûts et les données d'observabilité - -Visualiser les coûts à l'aide de données d'observabilité est essentiel pour comprendre l'impact des modifications apportées à l'infrastructure sur les coûts, déterminer les raisons pour lesquelles les coûts évoluent, et optimiser les coûts et performances de l'infrastructure. Datadog ajoute les tags d'identification de ressource aux données de coûts pour les principaux produits AWS, afin de simplifier la mise en corrélation des données d'observabilité et des métriques de coûts. - -Par exemple, pour consulter l'utilisation et le coût de chaque base de données RDS, vous pouvez créer un tableau avec `aws.cost.amortized`, `aws.rds.cpuutilization` et `aws.rds.freeable_memory` (ou toute autre métrique RDS) et effectuer un regroupement en fonction de `dbinstanceidentifier`. Pour comparer visuellement les données d'utilisation et de coût Lambda, vous pouvez représenter `aws.lambda.concurrent_executions` et `aws.cost.amortized` au sein d'un graphique, en effectuant un regroupement selon `functionname`. - -Les tags par défaut suivants sont disponibles : - -| Produit AWS | Tag | +| `line_item/line_item_type` | Le type de charge couvert par l'article de ligne (tel que `Credit`). | +| `line_item/operation` | L'opération AWS spécifique couverte par l'article de ligne (tel que `RunInstances`). | +| `line_item/product_code` | Le code du produit mesuré (tel que `Amazon EC2` pour Amazon Elastic Cloud Compute). | +| `line_item/resource_id` | L'ID de la ressource individuelle associée à l'article de ligne (facultatif). | +| `line_item/tax_type` | Le type de taxe que AWS a appliqué à l'article de ligne. | +| `line_item/usage_account_id` | L'ID du compte qui a utilisé l'article de ligne. | +| `line_item/usage_type` | Les détails d'utilisation de l'article de ligne (tel que `USW2-BoxUsage:m2.2xlarge`). | +| `pricing/lease_contract_length` | La durée pendant laquelle la Reserved Instance est réservée. | +| `pricing/purchase_option` | Comment vous avez choisi de payer pour l'article de ligne (tel que `All Upfront`). | +| `pricing/term` | Si votre utilisation d'AWS est `Reserved` ou `On-Demand`. | +| `pricing/unit` | L'unité de tarification que AWS a utilisée pour calculer le coût d'utilisation (tel que `Hours`). | +| `reservation/availability_zone` | La zone de disponibilité de la ressource associée à l'article de ligne (tel que `us-east-1`). | +| `reservation/modification_status` | Indique si le RI lease a été modifié ou inchangé (tel que `Manual`). | +| `reservation/reservation_arn` | L'ARN de la Reserved Instance dont l'article de ligne a bénéficié. | +| `reservation/subscription_id` | L'ID unique qui associe l'article de ligne à l'offre associée. | +| `savings_plan/instance_type_family` | La famille d'instances associée à l'utilisation spécifiée (tel que `m4`). | +| `savings_plan/offering_type` | Le type de Savings Plan acheté (tel que `ComputeSavingsPlans`). | +| `savings_plan/payment_option` | Les options de paiement disponibles pour le Savings Plan (tel que `All Upfront`). | +| `savings_plan/purchase_term` | Décrit la durée ou le terme du Savings Plan (tel que `1yr`). | +| `savings_plan/region` | La région AWS qui héberge les services AWS (tel que `US East (N. Virginia)`). | +| `savings_plan/savings_plan_arn` | L'identifiant unique du Savings Plan. | + +#### Corrélation des coûts et de l'observabilité {#cost-and-observability-correlation} + +Il est important de visualiser les coûts dans le contexte des données d'observabilité pour comprendre comment les changements d'infrastructure impactent les coûts, identifier pourquoi les coûts changent et optimiser l'infrastructure pour les coûts et la performance. Datadog met à jour les étiquettes d'identification des ressources sur les données de coût pour les principaux produits AWS afin de simplifier la corrélation entre les métriques d'observabilité et de coût. + +Par exemple, pour visualiser le coût et l'utilisation de chaque base de données RDS, vous pouvez créer un tableau avec `aws.cost.amortized`, `aws.rds.cpuutilization` et `aws.rds.freeable_memory` (ou toute autre métrique RDS) et regrouper par `dbinstanceidentifier`. Pour voir l'utilisation et les coûts de Lambda côte à côte, vous pouvez tracer `aws.lambda.concurrent_executions` et `aws.cost.amortized` regroupés par `functionname`. + +Les étiquettes prêtes à l'emploi suivantes sont disponibles : + +| Produit AWS | Étiquette | | ---------------------------- | ----------------- | | ec2 | `instance_id`| | s3 | `bucketname`| @@ -395,38 +453,38 @@ Les tags par défaut suivants sont disponibles : | dynamodb | `tablename`| | elasticache | `cacheclusterid`| | cloudfront (distribution) | `distributionid`| -| cloudfront (fonction) | `functionname`| +| cloudfront (function) | `functionname`| | ec2 natgateway | `natgatewayid`| | redshift | `clusteridentifier`| | kinesis | `streamname`| | queue | `queuename`| | sns | `topicname`| -| elb (application, passerelle, réseau) | `loadbalancer`| +| elb (application, gateway, réseau) | `loadbalancer`| | elb (tous les autres coûts) | `loadbalancername` | -### Orchestrateurs de conteneurs +### Orchestrateurs de conteneurs {#container-orchestrators} -La fonctionnalité d'allocation des coûts en fonction des conteneurs ajoute des tags issus des charges de travail qui génèrent des coûts. Il peut par exemple s'agir des tags associés aux pods et aux nœuds Kubernetes, ainsi qu'aux tâches et aux conteneurs ECS. +L'allocation des coûts des conteneurs ajoute des étiquettes provenant des charges de travail générant des coûts. Les exemples incluent des étiquettes provenant des pods et nœuds Kubernetes ainsi que des tâches et conteneurs ECS. -_Nécessite l'[Allocation des coûts des conteneurs][11] et s'applique uniquement aux métriques `shared.resources.allocated`._ +_Nécessite [l'allocation des coûts des conteneurs][11], et s'applique uniquement aux `shared.resources.allocated` métriques._ -### Pipelines de tags +### Pipelines d'étiquettes {#tag-pipelines} -Enfin, tous les ensembles de règles de votre [pipeline de tags][15] sont appliqués, ce qui permet une allocation complète des coûts lorsque l'ajout de tags d'infrastructure n'est pas possible. Les pipelines de tags constituent la dernière étape d'enrichissement : ils ajoutent de nouveaux tags à vos données de coûts. +Enfin, tous les ensembles de règles de votre [pipeline de tags][15] sont appliqués, ce qui permet une décomposition complète des coûts lorsque l'ajout des tags d'infrastructure n'est pas possible. Les pipelines d'étiquettes constituent la dernière couche d'enrichissement et ajoutent de nouvelles étiquettes à vos données de coûts. -## Billing Conductor -[AWS Billing Conductor][16] est un service de facturation personnalisé destiné aux partenaires de distribution d'AWS Marketplace et aux organisations qui ont des exigences en matière de rétrofacturation. -Billing Conductor permet aux clients de créer une deuxième version pro forma de leurs coûts à partager avec leurs clients ou les propriétaires de comptes. -Les taux de facturation, les crédits et les frais, ainsi que les frais généraux, peuvent être personnalisés à votre guise. Vous pouvez également sélectionner les comptes à inclure dans le rapport sur les coûts et l'utilisation. +## Billing Conductor {#billing-conductor} +[AWS Billing Conductor][16] est un service de facturation personnalisé pour les partenaires du canal AWS Marketplace et les organisations ayant des exigences de refacturation. +Billing Conductor permet aux clients de créer une seconde version pro forma de leurs coûts à partager avec leurs clients ou propriétaires de compte. +Les tarifs de facturation, crédits et frais, ainsi que les coûts indirects peuvent être personnalisés à votre discrétion. Vous pouvez également sélectionner les comptes à inclure dans le CUR. -**Limitations importantes** : -- Les rapports sur les coûts et d'utilisation pro forma n'incluent pas les remises ni les taxes, ce qui rend difficile la comparaison des coûts dans Datadog avec ceux dans l'AWS Cost Explorer. -- L'ajout de comptes à un groupe de facturation a une incidence sur la manière dont les réservations et les programmes de remise sont partagés entre les comptes AWS. +**Limitations importantes** : +- Les rapports de coûts et d'utilisation pro forma n'incluent pas les remises et les taxes, ce qui rend difficile la comparaison des coûts dans Datadog avec AWS Cost Explorer. +- Ajouter des comptes à un groupe de facturation impacte la manière dont les Reservations et Savings Plans sont partagés entre les comptes AWS. -Pour créer un rapport à l'aide du conducteur de facturation, suivez les instructions figurant dans le [guide d'utilisation des rapports de coûts et d'utilisation AWS][8]. Assurez-vous que le rapport répond aux [exigences de Datadog][9]. -Une fois le rapport créé à l'aide du conducteur de facturation, suivez les instructions relatives à la solution Cloud Cost Management ci-dessus pour la configurer dans Datadog. +Pour créer un CUR de Billing Conductor, suivez le [guide de l'utilisateur des rapports de coûts et d'utilisation AWS][8]. Assurez-vous que le CUR répond aux [exigences de Datadog][9]. +Après la création du CUR de Billing Conductor, suivez les instructions de Cloud Cost Management ci-dessus pour le configurer dans Datadog. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: https://docs.aws.amazon.com/cur/latest/userguide/dataexports-create-legacy.html @@ -443,8 +501,11 @@ Une fois le rapport créé à l'aide du conducteur de facturation, suivez les in [12]: https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html [13]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html [14]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html -[15]: /fr/cloud_cost_management/tags/tag_pipelines +[15]: /fr/cloud_cost_management/allocation/tag_pipelines [16]: https://docs.aws.amazon.com/billingconductor/latest/userguide/what-is-billingconductor.html [17]: https://app.datadoghq.com/cost/settings/accounts [18]: /fr/help/ -[19]: /fr/cloud_cost_management/tags \ No newline at end of file +[19]: /fr/cloud_cost_management/tags +[20]: https://docs.aws.amazon.com/cur/latest/userguide/troubleshooting.html#backfill-data +[21]: /fr/api/latest/cloud-cost-management/#create-cloud-cost-management-aws-cur-config +[22]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/aws_cur_config \ No newline at end of file diff --git a/content/fr/cloud_cost_management/setup/google_cloud.md b/content/fr/cloud_cost_management/setup/google_cloud.md index b6f0712d503..3866db59130 100644 --- a/content/fr/cloud_cost_management/setup/google_cloud.md +++ b/content/fr/cloud_cost_management/setup/google_cloud.md @@ -8,84 +8,114 @@ further_reading: text: Cloud Cost Management - link: /cloud_cost_management/setup/aws tag: Documentation - text: Mieux comprendre votre facture AWS + text: Obtenez des informations sur votre facture AWS - link: /cloud_cost_management/azure tag: Documentation - text: Mieux comprendre votre facture Azure + text: Obtenez des informations sur votre facture Azure - link: /cloud_cost_management/oracle tag: Documentation - text: Mieux comprendre votre facture Oracle -title: Google Cloud + text: Obtenez des informations sur votre facture Oracle +title: Google Cloud --- +## Aperçu {#overview} +Pour utiliser la gestion des coûts de Google Cloud dans Datadog, suivez ces étapes : +1. Configurez l'[intégration Google Cloud Platform][12] +2. Configurez l'[exportation détaillée des coûts d'utilisation][13] avec les autorisations nécessaires (Google Service APIs, accès au projet d'exportation et accès au jeu de données BigQuery) +3. Créez ou sélectionnez un [Google Cloud Storage bucket][15] avec les autorisations nécessaires (accès au bucket) -## Présentation +## Configuration {#setup} -Pour utiliser Google Cloud Cost Management dans Datadog, suivez ces étapes : -1. Configurer l'[intégration Google Cloud Platform][12] -2. Configurer l'[exportation des coûts d'utilisation détaillés][13] avec les autorisations nécessaires (API de services Google, accès au projet d'exportation et accès à l'ensemble de données BigQuery) -3. Créer ou sélectionner un [bucket Google Cloud Storage][15] avec les autorisations nécessaires (accès au bucket) +Vous pouvez configurer en utilisant l'[API][18], [Terraform][19] ou directement dans Datadog en suivant les instructions ci-dessous. -## Configuration - -Vous pouvez configurer le système en utilisant l'[API][18] ou [Terraform][19], ou directement dans Datadog en suivant les instructions ci-dessous. - -### Configurer l'intégration de Google Cloud Platform -Accédez à [Setup & Configuration][3], et sélectionnez une intégration Google Cloud Platform. -Si vous ne voyez pas le compte de service souhaité dans la liste, accédez à l'[intégration Google Cloud Platform][4] pour le configurer. +### Configurez l'intégration Google Cloud Platform {#configure-the-google-cloud-platform-integration} +Accédez à [Setup & Configuration][3], ajoutez un compte Google Cloud Platform et suivez les étapes pour configurer l'intégration Google Cloud Platform.
-L'intégration Google Cloud Platform de Datadog permet à Cloud Costs de surveiller automatiquement tous les projets auxquels ce compte de service a accès. -Pour limiter les hosts de surveillance d'infrastructure pour ces projets, appliquez des tags aux hosts. Définissez ensuite si les tags doivent être inclus ou exclus de la surveillance dans la section Limit Metric Collection Filters de la page d'intégration. +L'intégration Datadog Google Cloud Platform permet à Cloud Costs de surveiller automatiquement tous les projets auxquels ce compte de service a accès. +Pour limiter les hôtes de surveillance de l'infrastructure pour ces projets, appliquez des balises aux hôtes. Ensuite, définissez si les balises doivent être incluses ou exclues de la surveillance dans la section {{< ui >}}Limit Metric Collection Filters{{< /ui >}} de la page d'intégration.
-{{< img src="cloud_cost/gcp_integration_limit_metric_collection.png" alt="Section des filtres de limitation de collecte de métriques configurée dans la page d'intégration Google Cloud Platform" >}} +{{< img src="cloud_cost/gcp_integration_limit_metric_collection.png" alt="Limitez la section des filtres de collecte de métriques configurée dans la page d'intégration Google Cloud Platform" >}} -### Activer l'exportation des coûts d'utilisation détaillés +### Activez l'exportation détaillée des coûts d'utilisation {#enable-detailed-usage-cost-export}
-Les données de coûts d'utilisation détaillés fournissent toutes les informations incluses dans les données de coûts d'utilisation standard, ainsi que des champs supplémentaires qui fournissent des données de coûts granulaires au niveau des ressources. +Les données détaillées sur les coûts d'utilisation fournissent toutes les informations incluses dans les données standard sur les coûts d'utilisation, ainsi que des champs supplémentaires qui fournissent des données de coût au niveau des ressources.
- 1. Accédez à [Billing Export][1] sous *Billing* dans la console Google Cloud. - 2. Activez l'exportation [Detailed Usage cost][2] (sélectionnez ou créez un projet et un ensemble de données BigQuery). - 3. Notez le `Billing Account ID` du compte de facturation où l'exportation a été configurée, ainsi que le `Project ID` et le `Dataset Name` de l'exportation. + 1. Accédez à [Billing Export][1] sous la console Google Cloud *Billing*. + 2. Activez l'[Detailed Usage cost export][2] (sélectionnez ou créez un projet et un ensemble de données BigQuery) + 3. Documentez le {{< ui >}}Billing Account ID{{< /ui >}} pour le compte de facturation où l'exportation a été configurée, ainsi que l'export {{< ui >}}Project ID{{< /ui >}} et {{< ui >}}Dataset Name{{< /ui >}}. -{{< img src="cloud_cost/billing_export.png" alt="Informations sur le projet et l'ensemble de données Google Cloud mises en surbrillance" >}} +{{< img src="cloud_cost/billing_export.png" alt="Informations sur le projet Google Cloud et le jeu de données mises en évidence" >}} _Les ensembles de données d'exportation de facturation BigQuery nouvellement créés ne contiennent que les deux derniers mois de données. Il peut falloir un jour ou deux pour que ces données soient remplies dans BigQuery._ -#### Activer les API de services Google +#### Activez les Google Service APIs {#enable-google-service-apis} Les autorisations suivantes permettent à Datadog d'accéder et de transférer l'exportation de facturation dans le bucket de stockage à l'aide d'une requête BigQuery planifiée. -- Activez l'[API BigQuery][5]. +- Activez le [BigQuery API][5]. 1. Dans la console Google Cloud, accédez à la page de sélection de projet et sélectionnez votre projet Google Cloud. 2. Activez la facturation sur votre projet pour tous les transferts. -- Activez le [service BigQuery Data Transfer][5]. - 1. Ouvrez la page de l'API BigQuery Data Transfer dans la bibliothèque d'API. +- Activez le [BigQuery Data Transfer Service][5]. + 1. Ouvrez la page de l'API de transfert de données BigQuery dans la bibliothèque d'API. 2. Dans le menu déroulant, sélectionnez le projet qui contient le compte de service. - 3. Cliquez sur le bouton ENABLE. + 3. Cliquez sur le bouton {{< ui >}}ENABLE{{< /ui >}}. + + **Remarque :** Le BigQuery Data Transfer API doit être activée sur le projet Google qui contient le compte de service. + +{{< tabs >}} + +{{% tab "Terraform" %}} + +{{< img src="cloud_cost/setup/gcp_terraform_setup.png" alt="Formulaire de configuration de Cloud Cost Management en mode Terraform" style="width:100%" >}} + +### Définissez les détails de configuration {#define-configuration-details} + +Entrez les détails suivants pour votre configuration : + +* **Google Cloud Storage bucket** : Sélectionnez **Oui** pour créer un bucket de stockage, ou sélectionnez **Non** pour utiliser un bucket existant. + + **Remarque** : Si vous utilisez un bucket existant, vérifiez que le bucket est co-localisé avec l'ensemble de données d'exportation BigQuery. + +* **Bucket name** : Le nom de votre nouveau Google Cloud Storage bucket ou de celui existant. +* **Région** : La région GCP de votre bucket. Par exemple, `northamerica-northeast1`. +* **Identifiant du compte de facturation** : L'identifiant du compte de facturation pour lequel vos rapports d'exportation des coûts d'utilisation sont générés. +* **Nom et identifiant du projet d'exportation** : Le nom et l'identifiant de votre projet d'exportation. +* **Nom et identifiant du dataset d'exportation** : Le nom et l'identifiant de votre dataset d'exportation. + +### Créer une exportation de coûts et activer les Google Service APIs {#create-cost-export-and-enable-google-service-apis} + +Complétez les étapes [Enable detailed usage cost export](#enable-detailed-usage-cost-export) et [Enable Google Service APIs](#enable-google-service-apis) ci-dessus, puis revenez à CCM. + +### Copier le HCL Terraform généré et appliquer les modifications {#copy-generated-terraform-hcl-and-apply-changes} + +Dans l'interface utilisateur de configuration Terraform de CCM, suivez les instructions de l'étape **Apply Terraform Configuration**. Résolvez tous les problèmes qui apparaissent lors de l'exécution de `terraform plan` ou `terraform apply` avant de revenir à CCM pour confirmer la création du compte. - **Remarque** : l'API BigQuery Data Transfer doit être activée sur le projet Google qui contient le compte de service. +{{% /tab %}} +{{% tab "Méthode manuelle" %}} -#### Configurer l'accès au projet d'exportation -[Ajoutez le compte de service en tant que principal sur la ressource de projet d'ensemble de données d'exportation][7] : -1. Accédez à la page IAM dans la console Google Cloud et sélectionnez le projet d'ensemble de données d'exportation. +{{< img src="cloud_cost/setup/gcp_manual_setup.png" alt="Formulaire de configuration de Cloud Cost Management en mode manuel" style="width:100%" >}} + +#### Configurer l'accès au projet d'exportation {#configure-export-project-access} +[Ajoutez le compte de service en tant que principal sur la ressource du projet de dataset d'exportation][7] : +1. Accédez à la page IAM dans la console Google Cloud et sélectionnez le projet de dataset d'exportation. 2. Sélectionnez le compte de service en tant que principal. -3. Sélectionnez un rôle avec les autorisations suivantes à accorder dans la liste déroulante : +3. Sélectionnez un rôle avec les permissions suivantes à accorder dans la liste déroulante : * `bigquery.jobs.create` * `bigquery.transfers.get` * `bigquery.transfers.update` - **Remarque** : il peut s'agir d'un rôle personnalisé, ou vous pouvez utiliser le rôle Google Cloud existant `roles/bigquery.admin`. + **Remarque :** Cela peut être un rôle personnalisé, ou vous pouvez utiliser le rôle Google Cloud existant `roles/bigquery.admin`. -#### Configurer l'accès à l'ensemble de données BigQuery d'exportation -[Ajoutez le compte de service en tant que principal sur la ressource d'ensemble de données BigQuery d'exportation][8] : -1. Dans le volet Explorer de la page BigQuery, développez votre projet et sélectionnez l'ensemble de données BigQuery d'exportation. -2. Cliquez sur **Sharing > Permissions**, puis sur **add principal**. -3. Dans le champ new principals, saisissez le compte de service. -4. À l'aide de la liste select a role, attribuez un rôle avec les autorisations suivantes : +#### Configurer l'accès au dataset BigQuery d'exportation {#configure-export-bigquery-dataset-access} +[Ajoutez le compte de service en tant que principal sur la ressource du dataset BigQuery d'exportation][8] : +1. Dans le panneau Explorateur de la page BigQuery, développez votre projet et sélectionnez le dataset BigQuery d'exportation. +2. Cliquez sur {{< ui >}}Sharing{{< /ui >}} > {{< ui >}}Permissions{{< /ui >}} puis sur {{< ui >}}add principal{{< /ui >}}. +3. Dans le nouveau champ des principals, entrez le compte de service. +4. En utilisant la liste de sélection d'un rôle, assignez un rôle avec les permissions suivantes : * `bigquery.datasets.get` * `bigquery.tables.create` * `bigquery.tables.delete` @@ -96,108 +126,122 @@ Les autorisations suivantes permettent à Datadog d'accéder et de transférer l * `bigquery.tables.update` * `bigquery.tables.updateData` - **Remarque** : il peut s'agir d'un rôle personnalisé, ou vous pouvez utiliser le rôle Google Cloud existant `roles/bigquery.dataEditor`. - -### Créer ou sélectionner un bucket Google Cloud Storage -Utilisez un bucket Google Cloud Storage existant ou créez-en un nouveau. -Les données sont extraites régulièrement de votre ensemble de données BigQuery Detailed Usage Cost vers le bucket sélectionné et préfixées avec `datadog_cloud_cost_detailed_usage_export`. + **Remarque :** Cela peut être un rôle personnalisé, ou vous pouvez utiliser le rôle Google Cloud existant `roles/bigquery.dataEditor`. -**Remarque** : le bucket [doit être colocalisé][9] avec l'ensemble de données d'exportation BigQuery. - -#### Configurer l'accès au bucket -[Ajoutez le compte de service en tant que principal sur la ressource de bucket GCS][6] : -1. Accédez à la page Cloud Storage Buckets dans la console Google Cloud et sélectionnez votre bucket. -2. Sélectionnez l'onglet permissions et cliquez sur le bouton **grant access**. -3. Dans le champ new principals, saisissez le compte de service. -4. Attribuez un rôle avec les autorisations suivantes : +#### Configurez l'accès au bucket {#configure-bucket-access} +[Ajoutez le compte de service en tant que principal sur la ressource du GCS bucket][6]: +1. Accédez à la page des Buckets de Cloud Storage dans la console Google Cloud et sélectionnez votre bucket. +2. Sélectionnez l'onglet des permissions et cliquez sur le bouton {{< ui >}}grant access{{< /ui >}}. +3. Dans le nouveau champ des principals, entrez le compte de service. +4. Assignez un rôle avec les permissions suivantes : * `storage.buckets.get` * `storage.objects.create` * `storage.objects.delete` * `storage.objects.get` * `storage.objects.list` - **Remarque** : il peut s'agir d'un rôle personnalisé, ou vous pouvez utiliser les rôles Google Cloud existants `roles/storage.legacyObjectReader` et `roles/storage.legacyBucketWriter`. + **Remarque :** Cela peut être un rôle personnalisé, ou vous pouvez utiliser les rôles Google Cloud existants `roles/storage.legacyObjectReader` et `roles/storage.legacyBucketWriter`. + +[6]: https://cloud.google.com/storage/docs/access-control/using-iam-permissions#bucket-add +[7]: https://cloud.google.com/iam/docs/granting-changing-revoking-access#grant-single-role +[8]: https://cloud.google.com/bigquery/docs/control-access-to-resources-iam#grant_access_to_a_dataset + +{{% /tab %}} + +{{< /tabs >}} + +### Créez ou sélectionnez un [Google Cloud Storage bucket]{#create-or-select-a-google-cloud-storage-bucket} +La solution Cloud Cost Management utilise un [Google Cloud Storage bucket] pour recevoir des données extraites de votre [Detailed Usage Cost BigQuery dataset] (préfixé par `datadog_cloud_cost_detailed_usage_export`). Vous pouvez créer un nouveau bucket ou utiliser un existant. + +**Remarque :** Le bucket [doit être co-localisé][9] avec l'ensemble de données d'exportation BigQuery. -### (Facultatif) Configurer l'autorisation de compte de service inter-projets : -Si votre compte de service intégré existe dans un projet Google Cloud Platform différent de votre ensemble de données d'exportation de facturation, vous devez [accorder une autorisation de compte de service inter-projets][10] : +### (Optionnel) Configurez l'autorisation de service inter-projets : {#optional-configure-cross-project-service-authorization} +Si votre compte de service intégré existe dans un projet Google Cloud Platform différent de votre ensemble de données d'exportation de facturation, vous devez [accorder l'autorisation de compte de service inter-projets][10] : -1. Déclenchez la création de l'agent de service en suivant la [documentation officielle][11] en utilisant les valeurs suivantes : - * ENDPOINT : `bigquerydatatransfer.googleapis.com` - * RESOURCE_TYPE : `project` - * RESOURCE_ID : projet d'ensemble de données d'exportation

+1. Déclenchez la création de l'agent de service en suivant la [documentation officielle][11] en utilisant les valeurs suivantes : + * POINT D'ACCÈS : `bigquerydatatransfer.googleapis.com` + * TYPE DE RESSOURCE : `project` + * RESOURCE_ID : export dataset project

- Cela crée un nouvel agent de service qui ressemble à `service-@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com`. + Cela crée un nouvel agent de service qui ressemble à `service-@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com`. -2. Ajoutez le rôle de compte de service BigQuery Data Transfer créé par le déclencheur en tant que principal sur votre compte de service +2. Ajoutez le rôle [BigQuery Data Transfer Service Account] créé par le déclencheur en tant que principal sur votre compte de service. 3. Attribuez-lui le rôle `roles/iam.serviceAccountTokenCreator`. -### Configurer Cloud Cost +### Configurez Cloud Cost Management {#configure-cloud-cost} Continuez à suivre les étapes indiquées dans [Setup & Configuration][3]. -**Remarque** : les données peuvent prendre 48 à 72 heures après la configuration pour se stabiliser dans Datadog. +**Remarque** : Les données peuvent prendre de 48 à 72 heures après la configuration pour se stabiliser dans Datadog. -### Obtenir des données historiques +### Obtention des données historiques {#getting-historical-data} -Les ensembles de données d'exportation de facturation BigQuery nouvellement créés ne contiennent que les 2 derniers mois de données. Il peut falloir un jour ou deux pour que ces données soient remplies dans BigQuery. Datadog ingère automatiquement jusqu'à 15 mois de données de coûts historiques disponibles une fois qu'elles apparaissent dans la table BigQuery. +Les ensembles de données d'exportation de facturation BigQuery nouvellement créés ne contiennent que les 2 derniers mois de données. Il peut falloir un jour ou deux pour que ces données soient remplies dans BigQuery. Datadog ingère automatiquement jusqu'à 15 mois de données historiques de coûts disponibles une fois qu'elles apparaissent dans la table BigQuery. Google Cloud ne fournit pas de processus pour remplir des données historiques supplémentaires au-delà des 2 mois automatiquement inclus lors de la première création de l'exportation BigQuery. -## Types de coûts +## Types de coûts {#cost-types} Vous pouvez visualiser vos données ingérées en utilisant les types de coûts suivants : -| Type de coût | Description | +| Type de coût  | Description |. |-------------------------------------------------| ----------------------------------| -| `gcp.cost.amortized` | Coût total des ressources allouées au moment de l'utilisation sur un intervalle. Les coûts incluent les crédits de promotion ainsi que les crédits de remise d'utilisation engagée. | -| `gcp.cost.amortized.shared.resources.allocated` | Tous vos coûts amortis Google Cloud Platform, avec des ventilations et des informations supplémentaires pour les charges de travail de conteneurs. Nécessite l'[allocation des coûts de conteneurs][14].| -| `gcp.cost.ondemand` | Coût public total à la demande des ressources avant l'application des remises publiques et privées sur un intervalle. | +| `gcp.cost.amortized` | Coût total des ressources allouées au moment de l'utilisation sur un intervalle. Les coûts incluent les crédits de promotion ainsi que les crédits de réduction pour utilisation engagée. | +| `gcp.cost.amortized.shared.resources.allocated` | Tous vos coûts amortis de Google Cloud Platform, avec des ventilations et des analyses supplémentaires pour les charges de travail des conteneurs. Nécessite [allocation des coûts des conteneurs][14].| +| `gcp.cost.ondemand` | Coût total public, à la demande, des ressources avant que les réductions publiques et privées ne soient appliquées sur un intervalle. | -### Tags par défaut +### Étiquettes prêtes à l'emploi {#out-of-the-box-tags} -Datadog enrichit automatiquement vos données de coûts Google Cloud avec des tags provenant de plusieurs sources. Pour un aperçu complet de la façon dont les tags sont appliqués aux données de coûts, consultez la section [Tags][17]. +Datadog enrichit automatiquement vos données de coûts Google Cloud avec des étiquettes provenant de plusieurs sources. Pour un aperçu complet de la manière dont les étiquettes sont appliquées aux données de coûts, voir [Étiquettes][17]. -Les tags prêts à l'emploi suivants sont dérivés de votre [rapport de coûts d'utilisation détaillés][16] et facilitent la découverte et la compréhension des données de coûts : +Les étiquettes prêtes à l'emploi suivantes sont dérivées de votre [rapport détaillé sur les coûts d'utilisation][16] et facilitent la découverte et la compréhension des données de coûts : -| Nom du tag | Description du tag | +| Nom de la balise | Description de la balise | | ---------------------------- | ----------------- | | `google_product` | Le service Google facturé.| -| `google_cost_type` | Le type de frais couvert par cet élément (par exemple, regular, tax, adjustment ou rounding error).| -| `google_usage_type` | Les détails d'utilisation de l'élément (par exemple, Standard Storage US).| +| `google_cost_type` | Le type de frais couvert par cet élément (par exemple, régulier, taxe, ajustement ou erreur d'arrondi).| +| `google_usage_type` | Les détails d'utilisation de l'élément (par exemple, Stockage Standard US).| | `google_location` | L'emplacement associé à l'élément au niveau d'une multi-région, d'un pays, d'une région ou d'une zone.| | `google_region` | La région associée à l'élément.| | `google_zone` | La zone de disponibilité associée à l'élément.| -| `google_pricing_usage_unit` | L'unité de tarification utilisée pour calculer le coût d'utilisation (par exemple, gibibyte, tebibyte ou year).| -| `google_is_unused_reservation`| Si l'utilisation a été réservée mais non utilisée.| +| `google_pricing_usage_unit` | L'unité de tarification utilisée pour calculer le coût d'utilisation (par exemple, gibioctet, tébioctet ou an).| +| `google_is_unused_reservation`| Indique si l'utilisation était réservée mais non utilisée.| | `service_description` | Le service Google Cloud (tel que Compute Engine ou BigQuery). | | `project_id` | L'ID du projet Google Cloud qui a généré les données de facturation Cloud. | | `project_name` | Le nom du projet Google Cloud qui a généré les données de facturation Cloud. | -| `cost_type` | Le type de coût que représente cette ligne : `regular`, `tax`, `adjustment` ou `rounding error`. | -| `sku_description` | Une description du type de ressource utilisé, décrivant les détails d'utilisation de la ressource. | -| `resource_name` | Un nom que les clients ajoutent aux ressources. Cela peut ne pas être sur toutes les ressources. | +| `cost_type` | Le type de coût que cet élément représente : `regular`, `tax`, `adjustment` ou `rounding error`. | +| `sku_description` | Une description du type de ressource utilisée, décrivant les détails d'utilisation de la ressource. | +| `resource_name` | Un nom que les clients ajoutent aux ressources. Cela peut ne pas être présent sur toutes les ressources. | | `global_resource_name` | Un identifiant de ressource unique au niveau mondial généré par Google Cloud. | -#### Corrélation entre les coûts et les données d'observabilité +#### Corrélation des coûts et d'observabilité {#cost-and-observability-correlation} -Visualiser les coûts dans le contexte des données d'observabilité est important pour comprendre comment les changements d'infrastructure impactent les coûts, identifier pourquoi les coûts changent et optimiser l'infrastructure à la fois pour les coûts et les performances. Datadog met à jour les tags d'identification de ressources sur les données de coûts pour les principaux produits Google afin de simplifier la corrélation entre les métriques d'observabilité et de coûts. +Il est important de visualiser les coûts dans le contexte des données d'observabilité pour comprendre comment les changements d'infrastructure impactent les coûts, identifier pourquoi les coûts changent et optimiser l'infrastructure tant pour les coûts que pour la performance. Datadog met à jour les balises d'identification des ressources sur les données de coût pour les principaux produits Google afin de simplifier la corrélation entre les métriques d'observabilité et de coût. -Par exemple, pour voir le coût et l'utilisation de chaque base de données Cloud SQL, vous pouvez créer un tableau avec `gcp.cost.amortized`, `gcp.cloudsql.database.cpu.utilization` et `gcp.cloudsql.database.memory.utilization` (ou toute autre métrique Cloud SQL) et regrouper par `database_id`. Ou, pour voir l'utilisation et les coûts de Cloud Function côte à côte, vous pouvez représenter graphiquement `gcp.cloudfunctions.function.execution_count` et `gcp.cost.amortized` regroupés par `function_name`. +Par exemple, pour visualiser le coût et l'utilisation de chaque base de données Cloud SQL, vous pouvez créer un tableau avec `gcp.cost.amortized`, `gcp.cloudsql.database.cpu.utilization` et `gcp.cloudsql.database.memory.utilization` (ou toute autre métrique Cloud SQL) et regrouper par `database_id`. Ou, pour voir l'utilisation et les coûts des Cloud Functions côte à côte, vous pouvez tracer `gcp.cloudfunctions.function.execution_count` et `gcp.cost.amortized` regroupés par `function_name`. -Les tags prêts à l'emploi suivants sont disponibles : | Produit Google | Tag(s) | | -------------------| ----------------------------- | | Compute Engine | `instance_id`, `instance-type`| | Cloud Functions | `function_name` | | Cloud Run | `job_name`, `service_name` | | Cloud SQL | `database_id` | | Cloud Spanner | `instance_id` | | App Engine | `module_id` | | BigQuery | `project_id`, `dataset_id` | | Kubernetes Engine | `cluster_name` | +Les balises prêtes à l'emploi suivantes sont disponibles : +| Produit Google | Balise(s) | +| -------------------| ----------------------------- | +| Compute Engine | `instance_id`, `instance-type`| +| Cloud Functions | `function_name` | +| Cloud Run | `job_name`, `service_name` | +| Cloud SQL | `database_id` | +| Cloud Spanner | `instance_id` | +| App Engine | `module_id` | +| BigQuery | `project_id`, `dataset_id` | +| Kubernetes Engine | `cluster_name` | -### Allocation des conteneurs -**Les mesures d'allocation des conteneurs** contiennent les mêmes coûts que les mesures de Google Cloud Platform, mais avec des ventilations et des informations supplémentaires pour les charges de travail des conteneurs. Voir [Container Cost Allocation][14] pour plus de détails. +### Allocation de conteneurs {#container-allocation} +**Les métriques d'allocation de conteneurs** contiennent tous les mêmes coûts que les métriques de Google Cloud Platform, mais avec des ventilations et des analyses supplémentaires pour les charges de travail des conteneurs. Voir [Allocation des coûts des conteneurs][14] pour plus de détails. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: https://console.cloud.google.com/billing/export/ [2]: https://cloud.google.com/billing/docs/how-to/export-data-bigquery-setup -[3]: https://app.datadoghq.com/cost/setup?cloud=gcp +[3]: https://app.datadoghq.com/cost/setup [4]: https://app.datadoghq.com/integrations/google-cloud-platform [5]: https://cloud.google.com/bigquery/docs/enable-transfer-service -[6]: https://cloud.google.com/storage/docs/access-control/using-iam-permissions#bucket-add -[7]: https://cloud.google.com/iam/docs/granting-changing-revoking-access#grant-single-role -[8]: https://cloud.google.com/bigquery/docs/control-access-to-resources-iam#grant_access_to_a_dataset [9]: https://cloud.google.com/bigquery/docs/exporting-data#data-locations [10]: https://cloud.google.com/bigquery/docs/enable-transfer-service#cross-project_service_account_authorization [11]: https://cloud.google.com/iam/docs/create-service-agents#create diff --git a/content/fr/containers/autoscaling/_index.md b/content/fr/containers/autoscaling/_index.md new file mode 100644 index 00000000000..9c2facf4070 --- /dev/null +++ b/content/fr/containers/autoscaling/_index.md @@ -0,0 +1,658 @@ +--- +aliases: +- /fr/containers/monitoring/autoscaling +description: Évoluez automatiquement les charges de travail Kubernetes en utilisant + les métriques Datadog et des recommandations de mise à l'échelle intelligentes +further_reading: +- link: /infrastructure/containers/kubernetes_resource_utilization + tag: Documentation + text: Utilisation des ressources Kubernetes +- link: /account_management/rbac/permissions + tag: Documentation + text: Autorisations des rôles Datadog +- link: /agent/remote_config/ + tag: Documentation + text: Configuration à distance +- link: https://www.datadoghq.com/blog/autoscaling-custom-metrics + tag: Blog + text: Mise à l'échelle des charges de travail Kubernetes sur des métriques personnalisées +- link: https://www.datadoghq.com/blog/kubernetes-custom-query-autoscaling + tag: Blog + text: Optimisez les charges de travail Kubernetes avec la mise à l'échelle par requête + personnalisée +- link: https://www.datadoghq.com/blog/ddot-gateway + tag: Blog + text: Centralisez et gouvernez votre pipeline OpenTelemetry avec la passerelle DDOT +- link: https://www.datadoghq.com/blog/datadog-kubernetes-autoscaling/ + tag: Blog + text: Dimensionnez correctement vos charges de travail et réduisez les coûts grâce + à Datadog Kubernetes Autoscaling. +title: Kubernetes Autoscaling +--- +{{< site-region region="gov,gov2" >}} +
+ Cette fonctionnalité n'est pas disponible pour Datadog for Government ({{< region-param key="dd_datacenter" >}}) +
+{{< /site-region >}} + +L'autoscaling Kubernetes de Datadog surveille en continu vos ressources Kubernetes pour fournir des recommandations de mise à l'échelle immédiates et une mise à l'échelle multidimensionnelle de vos charges de travail Kubernetes. Vous pouvez déployer l'autoscaling via l'interface web de Datadog, ou avec une `DatadogPodAutoscaler` ressource personnalisée. + +## Comment cela fonctionne {#how-it-works} +Datadog utilise des métriques d'utilisation en temps réel et historiques ainsi que des signaux d'événements de vos agents Datadog existants pour faire des recommandations. Vous pouvez ensuite examiner ces recommandations et choisir de les déployer. + +Par défaut, l'autoscaling Kubernetes de Datadog utilise des valeurs estimées de coût CPU et mémoire pour montrer les opportunités d'économies et les estimations d'impact. Vous pouvez également utiliser l'autoscaling Kubernetes en parallèle avec [Gestion des coûts Cloud](#idle-cost-and-savings-estimates) pour obtenir des rapports basés sur les coûts exacts de votre type d'instance. + +La mise à l'échelle automatisée des charges de travail est alimentée par une `DatadogPodAutoscaler` ressource personnalisée qui définit le comportement de mise à l'échelle au niveau de chaque charge de travail. L'agent de cluster Datadog agit en tant que contrôleur pour cette ressource personnalisée. + +**Remarque:** Chaque cluster peut avoir un maximum de 1000 charges de travail optimisées avec l'autoscaling Kubernetes de Datadog. + +### Compatibilité {#compatibility} + +- **Distributions** : Cette fonctionnalité est compatible avec toutes les [distributions Kubernetes prises en charge par Datadog][5]. +- **Mise à l'échelle automatique de la charge de travail** : Cette fonctionnalité est une alternative à Horizontal Pod Autoscaler (HPA) et à Vertical Pod Autoscaler (VPA). Datadog recommande de supprimer tout HPA ou VPA d'une charge de travail lors de l'activation de Datadog Kubernetes Autoscaling pour l'optimiser. Ces charges de travail sont identifiées dans l'application en votre nom. +**Remarque :** Vous pouvez expérimenter avec Datadog Kubernetes Autoscaling tout en conservant votre HPA et/ou VPA en créant un `DatadogPodAutoscaler` avec `mode: Preview` dans la section `applyPolicy`. + +### Exigences {#requirements} + +- [Configuration à distance][1] doit être activée à la fois au niveau de l'organisation et sur les Agents de votre cluster cible. Voir [Activation de la configuration à distance][2] pour les instructions de configuration. +- [Helm][3], pour mettre à jour votre Agent Datadog. +- (Pour les utilisateurs de Datadog Operator) [`kubectl` CLI][4], pour mettre à jour l'Agent Datadog. +- Lorsque vous utilisez la mise à l'échelle automatique en direct, Datadog recommande d'utiliser la dernière version de l'Agent Datadog. Cela permet de garantir l'accès aux dernières améliorations et optimisations. Les recommandations de mise à l'échelle nécessitent que l'intégration [Kubernetes State Core][9] soit activée.

+ + | Fonctionnalité | Version minimale de l'Agent | + |---------|----------------------| + | Recommandations de mise à l'échelle des charges de travail dans l'application | 7.50+ | + | Mise à l'échelle des charges de travail en direct | 7.66.1+ | + | Recommandations Argo Rollout et mise à l'échelle automatique | 7.71+ | + | Mise à l'échelle automatique du cluster ([inscription à l'aperçu][10]) | 7.72+ | + | Redimensionnement vertical des pods sur place (opt-in) | 7.78+ | + | Activation du profil de cluster, étiquette de charge de travail | 7.78+ | + | Activation du profil de cluster, étiquette de namespace | 7.79+ | + +- Les autorisations utilisateur suivantes : + - Gestion de l'organisation (nécessaire pour la configuration à distance) + - Clés API écriture (nécessaire pour la configuration à distance) + - Écriture de mise à l'échelle de la charge de travail + - Gestion de l'autoscaling +- (Recommandé) noyau Linux v5.19+ et cgroup v2 + +## Configuration {#setup} + +{{< tabs >}} +{{% tab "Operator Datadog" %}} + +1. Assurez-vous d'utiliser Datadog Operator v1.16.0+. Pour mettre à niveau votre Datadog Operator : + +```shell +helm upgrade datadog-operator datadog/datadog-operator +``` + +2. Ajoutez ce qui suit à votre fichier de configuration `datadog-agent.yaml` : + +```yaml +spec: + features: + autoscaling: + workload: + enabled: true + eventCollection: + unbundleEvents: true + override: + clusterAgent: + env: + - name: DD_AUTOSCALING_FAILOVER_ENABLED + value: "true" + nodeAgent: + env: + - name: DD_AUTOSCALING_FAILOVER_ENABLED + value: "true" +``` + +3. [Contrôleur d'admission][1] est activé par défaut avec le Datadog Operator. Si vous l'avez désactivé, réactivez-le en ajoutant les lignes mises en surbrillance suivantes à `datadog-agent.yaml` : + +{{< highlight yaml "hl_lines=4-5" >}} +... +spec: + features: + admissionController: + enabled: true +... +{{< /highlight >}} + +4. Appliquez la configuration `datadog-agent.yaml` mise à jour : + +```shell +kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml +``` + +[1]: /fr/containers/cluster_agent/admission_controller/ + +{{% /tab %}} +{{% tab "Helm" %}} + +1. Assurez-vous d'utiliser l'Agent et l'Agent de Cluster v7.66.1+. Ajoutez ce qui suit à votre fichier de configuration `datadog-values.yaml` : + +```yaml +datadog: + autoscaling: + workload: + enabled: true + kubernetesEvents: + unbundleEvents: true +``` + +2. [Admission Controller][1] est activé par défaut dans le Datadog Helm chart. Si vous l'avez désactivé, réactivez-le en ajoutant les lignes mises en surbrillance suivantes à `datadog-values.yaml` : +{{< highlight yaml "hl_lines=5-6" >}} +... +clusterAgent: + admissionController: + enabled: true +... +{{< /highlight >}} + +3. Mettez à jour votre version de Helm : + +```shell +helm repo update +``` + +4. Redéployez l'Agent Datadog avec votre `datadog-values.yaml` mis à jour : + +```shell +helm upgrade -f datadog-values.yaml datadog/datadog +``` + +[1]: /fr/containers/cluster_agent/admission_controller/ + +{{% /tab %}} +{{< /tabs >}} + +### Estimations des coûts inactifs et des économies {#idle-cost-and-savings-estimates} + +{{< tabs >}} +{{% tab "Avec Cloud Cost Management" %}} +Si [Cloud Cost Management][1] est activé au sein d'une organisation, Datadog Kubernetes Autoscaling affiche des estimations de coûts inactifs et d'économies basées sur le coût exact de votre facture des instances surveillées sous-jacentes. + +Consultez les instructions de configuration de Cloud Cost Management pour AWS, Azure ou Google Cloud. + +Les données de Cloud Cost Management améliorent Kubernetes Autoscaling, mais ne sont pas requises. Toutes les recommandations de charge de travail et les décisions d'autoscaling de Datadog sont valides et fonctionnelles sans Cloud Cost Management. + +[1]: /fr/cloud_cost_management +[2]: /fr/cloud_cost_management/aws +[3]: /fr/cloud_cost_management/azure +[4]: /fr/cloud_cost_management/google_cloud +{{% /tab %}} + +{{% tab "Par défaut" %}} +Si Cloud Cost Management **n'est pas** activé, Datadog Kubernetes Autoscaling affiche des estimations de coûts inactifs et d'économies en utilisant les formules et valeurs fixes suivantes : + +**Cluster inactif**: + +``` + (cpu_capacity - max(cpu_usage, cpu_requests)) * core_rate_per_hour ++ (mem_capacity - max(mem_usage, mem_requests)) * memory_rate_per_hour +``` + +**Charge de travail inactive**: + +``` + (max(cpu_usage, cpu_requests) - cpu_usage) * core_rate_per_hour ++ (max(mem_usage, mem_requests) - mem_usage) * memory_rate_per_hour +``` + +**Valeurs fixes**: +- core_rate_per_hour = 0,0295 $ par heure de cœur CPU +- memory rate_per_hour = 0,0053 $ par heure de mémoire GB + + +_Les valeurs de coût fixes sont susceptibles d'être affinées au fil du temps._ +{{% /tab %}} +{{< /tabs >}} + +## Utilisation{#usage} + +### Identifier les ressources à dimensionner correctement {#identify-resources-to-rightsize} + +La page de résumé d'autoscaling fournit un point de départ pour les équipes de plateforme afin de comprendre les opportunités d'économies de ressources Kubernetes au sein d'une organisation, et de filtrer vers des clusters et des espaces de noms clés. + +La page de configuration offre l'option de sélectionner plusieurs charges de travail à mettre à l'échelle, et de gérer votre optimisation par lots. + +La vue de mise à l'échelle des clusters fournit des informations par cluster sur le total des CPU inactifs, la mémoire inactive totale et les coûts. + +Cliquez sur un cluster pour des informations détaillées et un tableau des charges de travail du cluster triées par économies estimées. Si vous êtes un propriétaire d'application ou de service individuel, vous pouvez également filtrer par le nom de votre équipe ou de votre service directement depuis la vue de liste de mise à l'échelle des charges de travail. + +Depuis n'importe laquelle de ces vues, cliquez {{< ui >}}Optimize{{< /ui >}} sur une charge de travail pour voir sa recommandation de mise à l'échelle, puis activez [l'autoscaling pour une charge de travail](#enable-autoscaling-for-a-workload). + +### Activer l'autoscaling pour une charge de travail{#enable-autoscaling-for-a-workload} + +Après avoir identifié une charge de travail à optimiser, inspectez son {{< ui >}}Scaling Recommendation{{< /ui >}}. Cliquez sur {{< ui >}}Configure Recommendation{{< /ui >}} pour ajouter des contraintes ou ajuster les niveaux d'utilisation cibles avant d'activer. + +Il existe trois façons d'activer l'autoscaling pour une charge de travail. Choisissez le chemin qui correspond à la manière dont vous déployez des charges de travail aujourd'hui. + +| Chemin | Meilleur pour | Où commencer | Gestion continue | +|------|----------|-----------------|--------------------| +| **A. Assistant de configuration de l'interface utilisateur Datadog** | Commencez rapidement et itérez sur les paramètres avec un retour visuel immédiat, ou donnez à vos équipes d'application les moyens de prendre de meilleures décisions de configuration de mise à l'échelle | [Page de configuration][11] dans l'interface utilisateur Datadog | Modifiez le `DatadogPodAutoscaler` de la charge de travail depuis l'interface ou votre cluster | +| **B. Rédigez un `DatadogPodAutoscaler` manifeste** | Flux de travail existants pour l'expédition de manifestes Kubernetes (`kubectl`, Helm, ArgoCD, Terraform ou d'autres outils GitOps) | YAML écrit à la main ou modélisé appliqué via vos outils existants | Modifiez le manifeste et réappliquez-le via les mêmes outils | +| **C. Appliquez un [profil de cluster](#cluster-profiles) étiquette** | Activer l'autoscaling sur de nombreuses charges de travail ou espaces de noms avec une seule politique partagée | Étiquetez la charge de travail ou l'espace de noms avec `autoscaling.datadoghq.com/profile` | Modifiez le profil pour mettre à jour chaque charge de travail qu'il gère, ou déplacez des charges de travail entre les profils en changeant l'étiquette | + +#### Chemin A : Datadog UI {#path-a-datadog-ui} + +Le moyen le plus rapide de commencer est la [page de configuration][11] dans Datadog UI. L'assistant vous guide à travers cinq étapes : sélectionnez un cluster, vérifiez les exigences de l'Agent et des autorisations, choisissez une méthode d'installation, choisissez un modèle de mise à l'échelle et déployez. Modèles disponibles dans l'assistant : + +- **Optimiser les coûts** : cible d'utilisation CPU élevée, réduction agressive, plancher de répliques le plus bas. Idéal pour les charges de travail sans état sensibles aux coûts. +- **Optimiser l'équilibre** : cible d'utilisation modérée, montée et descente équilibrées. Idéal pour la plupart des charges de travail sans état. +- **Optimiser les performances** : cible d'utilisation conservatrice, réduction lente, plancher de répliques plus élevé. Idéal pour les services avec état ou critiques. +- **Personnaliser** : commencez à partir de l'un des éléments ci-dessus et ajustez vous-même la cible CPU, les répliques et les fenêtres de stabilisation. + +L'assistant de configuration est idéal pour essayer l'autoscaling sur une seule charge de travail, se familiariser avec une recommandation ou intégrer un petit ensemble de charges de travail. (Nécessite les autorisations `Workload Scaling Write` et `Autoscaling Manage`.) + +#### Chemin B : GitOps {#path-b-gitops} + +Définissez une `DatadogPodAutoscaler` ressource personnalisée qui cible votre charge de travail et appliquez-la via les outils que vous utilisez déjà pour expédier des manifestes Kubernetes, que ce soit `kubectl apply`, Helm, ArgoCD, Terraform ou un autre outil GitOps. La rédaction du manifeste est la même, quel que soit le mécanisme de livraison. Consultez les [exemples de configurations](#example-datadogpodautoscaler-configurations) ci-dessous pour des points de départ prêts à être modifiés, couvrant l'optimisation des coûts, l'échelle équilibrée, le redimensionnement vertical uniquement et l'échelle horizontale par requête personnalisée. + +Pour des guides spécifiques aux outils, voir : + +- [Gérer DatadogPodAutoscaler avec ArgoCD][12] +- [Gérer DatadogPodAutoscaler avec Terraform][13] + +### Exemples de configurations DatadogPodAutoscaler {#example-datadogpodautoscaler-configurations} + +Les exemples suivants démontrent des `DatadogPodAutoscaler` configurations courantes pour différentes stratégies de mise à l'échelle. Utilisez-les comme points de départ et ajustez les valeurs pour correspondre aux exigences de votre charge de travail. Si vous préférez choisir un modèle dans l'interface utilisateur, suivez le [Chemin A](#path-a-datadog-ui-setup-wizard) ci-dessus. + +{{< tabs >}} +{{% tab "Optimiser les coûts" %}} + +Choisissez ce modèle pour une charge de travail sans état, sensible aux coûts, où le contrôleur doit supprimer rapidement la capacité lorsque la charge diminue. Le paramètre déterminant est l'objectif d'utilisation CPU élevé (85 %), associé à une règle de réduction agressive et à un minimum d'une réplique. + +```yaml +apiVersion: datadoghq.com/v1alpha2 +kind: DatadogPodAutoscaler +metadata: + name: + namespace: +spec: + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: + owner: Local + applyPolicy: + mode: Apply + scaleDown: + rules: + # Aggressive: allow 50% reduction every 2 minutes + - periodSeconds: 120 + type: Percent + value: 50 + stabilizationWindowSeconds: 300 + scaleUp: + rules: + - periodSeconds: 120 + type: Percent + value: 50 + stabilizationWindowSeconds: 300 + update: + strategy: Auto + constraints: + maxReplicas: 100 + # Allow scaling down to 1 replica for maximum savings + minReplicas: 1 + objectives: + # High utilization target to maximize cost efficiency + - type: PodResource + podResource: + name: cpu + value: + type: Utilization + utilization: 85 +``` + +{{% /tab %}} +{{% tab "Optimiser l'équilibre" %}} + +Choisissez ce modèle lorsque vous souhaitez des économies sans compromettre la disponibilité. C'est un choix par défaut raisonnable pour la plupart des charges de travail sans état. Le paramètre déterminant est l'objectif d'utilisation CPU modéré (70 %) associé à une réduction conservatrice (20 % toutes les 20 minutes) et à un minimum de deux répliques. Le contrôleur ajoute rapidement de la capacité mais la retire lentement. + +```yaml +apiVersion: datadoghq.com/v1alpha2 +kind: DatadogPodAutoscaler +metadata: + name: + namespace: +spec: + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: + owner: Local + applyPolicy: + mode: Apply + scaleDown: + rules: + # Conservative: allow only 20% reduction every 20 minutes + - periodSeconds: 1200 + type: Percent + value: 20 + stabilizationWindowSeconds: 600 + scaleUp: + rules: + - periodSeconds: 120 + type: Percent + value: 50 + stabilizationWindowSeconds: 600 + update: + strategy: Auto + constraints: + maxReplicas: 100 + # Maintain at least 2 replicas for availability + minReplicas: 2 + objectives: + # Moderate utilization target balances cost and performance + - type: PodResource + podResource: + name: cpu + value: + type: Utilization + utilization: 70 +``` + +{{% /tab %}} +{{% tab "CPU et mémoire verticales" %}} + +Choisissez ce modèle lorsqu’une charge de travail ne peut pas être mise à l’échelle horizontalement, ou lorsque vous souhaitez un redimensionnement pur sans changer le nombre de répliques. Les cas courants sont les services singleton, les charges de travail avec état et les composants élus par un leader. Le paramètre définissant est `scaleDown.strategy: Disabled` et `scaleUp.strategy: Disabled`, ce qui laisse seulement `update.strategy: Auto` pour appliquer les recommandations de CPU et de mémoire. + +Par défaut, le contrôleur applique les recommandations verticales en déclenchant un déploiement (évincer et recréer des pods). L'Agent de Cluster **7.78+** prend également en charge le **redimensionnement de pod sur place**, qui met à jour les demandes et les limites de CPU et de mémoire d'un pod sans le redémarrer. Le redimensionnement sur place est opt-in : définissez `autoscaling.workload.in_place_vertical_scaling.enabled: true` sur l'Agent de Cluster (ou définissez la variable d'environnement `DD_AUTOSCALING_WORKLOAD_IN_PLACE_VERTICAL_SCALING_ENABLED=true`). + +Votre cluster doit également exposer la sous-ressource `pods/resize`. C’est le paramètre par défaut dans Kubernetes 1.33+ où le `InPlacePodVerticalScaling` feature gate est à l’état bêta. Sur Kubernetes 1.27 à 1.32, le feature gate doit être activé sur `kube-apiserver` et tous les `kubelet`. + +Lorsque les deux conditions préalables sont remplies : + +- **Par défaut** : Les charges de travail avec `applyPolicy.update.strategy: Auto` (le paramètre par défaut) se redimensionnent sur place. +- **Repli** : Si le kubelet signale un redimensionnement comme `Infeasible`, le contrôleur revient à un déploiement. +- **Désactivation** : Pour forcer une charge de travail à toujours utiliser un redimensionnement vertical basé sur le déploiement, quelle que soit la configuration du cluster, définissez `applyPolicy.update.strategy: TriggerRollout` sur son `DatadogPodAutoscaler`. + +```yaml +apiVersion: datadoghq.com/v1alpha2 +kind: DatadogPodAutoscaler +metadata: + name: + namespace: +spec: + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: + owner: Local + applyPolicy: + mode: Apply + # Horizontal scaling disabled; only vertical resizing + scaleDown: + strategy: Disabled + scaleUp: + strategy: Disabled + update: + strategy: Auto + constraints: + maxReplicas: 100 +``` + +{{% /tab %}} +{{% tab "Requête personnalisée horizontale" %}} + +Choisissez ce modèle lorsque le CPU et la mémoire ne sont pas le bon signal de mise à l'échelle. Les exemples incluent un travailleur de file d'attente qui devrait se mettre à l'échelle en fonction de la profondeur de la file d'attente, ou un service API qui devrait se mettre à l'échelle en fonction de la latence des requêtes. Le paramètre définissant est le bloc `objectives`, qui fait référence à une requête de métrique Datadog et à une cible `AbsoluteValue` au lieu d'un pourcentage d'utilisation. Remplacez la requête d'exemple par une qui correspond à votre charge de travail. + +```yaml +apiVersion: datadoghq.com/v1alpha2 +kind: DatadogPodAutoscaler +metadata: + name: + namespace: +spec: + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: + owner: Local + applyPolicy: + mode: Apply + scaleDown: + rules: + - periodSeconds: 1200 + type: Percent + value: 20 + stabilizationWindowSeconds: 600 + scaleUp: + rules: + - periodSeconds: 120 + type: Percent + value: 50 + stabilizationWindowSeconds: 600 + # Vertical updates disabled — horizontal only + update: + strategy: Disabled + constraints: + maxReplicas: 100 + minReplicas: 2 + objectives: + - type: CustomQuery + customQuery: + # Replace with your own Datadog metric query + request: + formula: usage + queries: + - name: usage + source: Metrics + metrics: + query: avg:redis.info.latency_ms{kube_cluster_name:,kube_namespace:,kube_deployment:} + value: + type: AbsoluteValue + absoluteValue: 500M + window: 5m0s + fallback: + horizontal: + # With custom queries, local fallback is not activated by default + enabled: false + # Direction can be ScaleUp, ScaleDown or All + direction: ScaleUp + # When using custom queries, a CPU or Memory fallback objective is required + objectives: + - type: PodResource + podResource: + name: cpu + value: + type: Utilization + utilization: 70 + triggers: + staleRecommendationThresholdSeconds: 600 +``` + +{{% /tab %}} +{{< /tabs >}} + +### Profils de cluster {#cluster-profiles} + +Un `DatadogPodAutoscalerClusterProfile` est une ressource à portée de cluster qui contient un modèle `DatadogPodAutoscaler`. L'Agent de Cluster surveille les ressources `Deployment` et `StatefulSet` (et, sur 7.79+, les espaces de noms qui les contiennent) pour l'étiquette `autoscaling.datadoghq.com/profile`, et crée un `DatadogPodAutoscaler` géré pour chaque charge de travail correspondante. Un profil s'applique à de nombreuses charges de travail ; une charge de travail correspond toujours à un `DatadogPodAutoscaler`. + +Les profils de cluster et l'étiquette au niveau de la charge de travail nécessitent l'Agent de Cluster Datadog 7.78.0+. L'activation au niveau de l'espace de noms (étiquetage d'un espace de noms pour inclure chaque charge de travail prise en charge à l'intérieur dans un profil) nécessite l'Agent de Cluster Datadog 7.79.0+. Les anciens Agents de Cluster ignorent l'étiquette de profil. + +#### Profils intégrés {#built-in-profiles} + +L'Agent de Cluster fournit trois profils intégrés et les recrée au démarrage, vous n'avez donc pas besoin de valider de YAML CRD pour les utiliser. Les noms sont réservés. + +| Profil | Cible CPU | Réplicas min | Profil de comportement | +|---|---|---|---| +| `datadog-optimize-cost` | 85% | 1 | Charges de travail sans état, sensibles aux coûts. Montée en charge et descente rapide (fenêtres de stabilisation de 5 minutes, étape de 50% toutes les 2 minutes). | +| `datadog-optimize-balance` | 70% | 2 | Par défaut pour la plupart des charges de travail sans état. Fenêtres de stabilisation équilibrées de 10 minutes, descente conservatrice (étape de 20% toutes les 20 minutes). | +| `datadog-optimize-performance` | 60% | 3 | Charges de travail avec état ou sensibles à la latence. Descente très conservatrice (fenêtres de stabilisation de 15 minutes, étape de 10% toutes les 30 minutes). | + +Pour activer un profil sur une seule charge de travail, ajoutez l'étiquette à `metadata.labels` de la charge de travail : + +```yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: web-app + namespace: production + labels: + autoscaling.datadoghq.com/profile: datadog-optimize-balance +spec: + # ...rest of the Deployment spec +``` + +Pour activer un profil sur chaque charge de travail prise en charge dans un espace de noms, étiquetez plutôt l'espace de noms (nécessite l'Agent de Cluster 7.79.0+) : + +```yaml +apiVersion: v1 +kind: Namespace +metadata: + name: production + labels: + autoscaling.datadoghq.com/profile: datadog-optimize-balance +``` + +#### Profils personnalisés {#custom-profiles} + +Rédigez un `DatadogPodAutoscalerClusterProfile` lorsque aucun profil intégré ne correspond à votre politique de mise à l'échelle. Les profils sont spécifiques au cluster, donc appliquez-les sans un `--namespace` drapeau (ou placez-les dans la couche au niveau du cluster de votre dépôt de configuration). + +```yaml +apiVersion: datadoghq.com/v1alpha2 +kind: DatadogPodAutoscalerClusterProfile +metadata: + name: cost-optimized-strict-floor +spec: + template: + applyPolicy: + mode: Apply + scaleUp: + stabilizationWindowSeconds: 300 + rules: + - type: Percent + value: 50 + periodSeconds: 120 + scaleDown: + stabilizationWindowSeconds: 300 + rules: + - type: Percent + value: 50 + periodSeconds: 120 + constraints: + minReplicas: 1 + objectives: + - type: PodResource + podResource: + name: cpu + value: + type: Utilization + utilization: 85 +``` + +Référez-vous au profil personnalisé depuis une charge de travail ou un espace de noms en utilisant la même étiquette : + +```yaml +metadata: + labels: + autoscaling.datadoghq.com/profile: cost-optimized-strict-floor +``` + +Le corps du modèle accepte les mêmes champs qu'une spécification `DatadogPodAutoscaler`, à l'exception de `targetRef` (l'Agent de Cluster le remplit pour chaque charge de travail correspondante). Voir les [exemples de configurations](#example-datadogpodautoscaler-configurations) ci-dessus pour l'ensemble des champs que vous pouvez mettre sous `spec.template`. + +#### Priorité d'activation {#activation-precedence} + +L'Agent de Cluster 7.79.0+ ajoute l'activation au niveau de l'espace de noms, l'`excluded` désactivation, et la règle de priorité entre eux. Sur l'Agent de Cluster 7.78.0, seule l'étiquette au niveau de la charge de travail est lue — les règles ci-dessous qui impliquent des espaces de noms ou la valeur `excluded` ne s'appliquent pas. + +- **Les étiquettes de charge de travail ont la priorité sur les étiquettes d'espace de noms.** Si un espace de noms est étiqueté `autoscaling.datadoghq.com/profile=ns-profile` et qu'une charge de travail à l'intérieur est étiquetée `autoscaling.datadoghq.com/profile=workload-profile`, la charge de travail utilise `workload-profile`. +- **Désactivation avec `excluded`.** Définissez `autoscaling.datadoghq.com/profile: excluded` sur une charge de travail pour l'exempter lorsque son espace de noms est étiqueté. Ceci est utile pour les charges de travail avec état ou critiques dans un espace de noms configuré en opt-in. + + ```yaml + apiVersion: apps/v1 + kind: StatefulSet + metadata: + name: payments-ledger + namespace: production + labels: + autoscaling.datadoghq.com/profile: excluded + ``` + +- **Les noms de profils inconnus sont ignorés.** Si une charge de travail ou un espace de noms fait référence à un profil qui n'existe pas, l'Agent de Cluster ne crée pas de `DatadogPodAutoscaler` géré et ne signale pas d'erreur. La réconciliation prend en charge l'attribution dès qu'un profil portant ce nom est créé. +- **La réconciliation est automatique.** L'ajout, la modification ou la suppression de l'étiquette se propage à un `DatadogPodAutoscaler` géré en quelques secondes. + +#### Types de charge de travail pris en charge {#supported-workload-kinds} + +L'activation du profil prend en charge `Deployment` et `StatefulSet`. Pour d'autres types (par exemple, Argo `Rollout`), utilisez [Path B: GitOps](#path-b-gitops) pour rédiger un `DatadogPodAutoscaler` directement. + +### Déployer les recommandations manuellement {#deploy-recommendations-manually} + +Si vous souhaitez obtenir les recommandations de Datadog sans activer l'autoscaling, vous pouvez les appliquer manuellement une seule fois. Lorsque vous configurez des ressources pour vos déploiements Kubernetes, utilisez les valeurs suggérées dans la recommandation de mise à l'échelle. Vous pouvez également cliquer sur {{< ui >}}Export Recommendation{{< /ui >}} pour voir une commande `kubectl patch` générée. Datadog continue de mettre à jour la recommandation, mais le cluster ne change que lorsque vous la réappliquez. + +## Gérer les charges de travail à grande échelle {#manage-workloads-at-scale} + +Après qu'une charge de travail a été mise à l'échelle automatiquement, les opérations du deuxième jour sont gérées par une combinaison de la ressource `DatadogPodAutoscaler` et de l'interface utilisateur de Datadog : + +- **Modifier le modèle de mise à l'échelle.** Modifiez la spécification `DatadogPodAutoscaler` de la charge de travail (cible CPU, limites de réplicas, règles d'augmentation et de diminution) directement, ou choisissez un modèle différent dans la vue Liste de mise à l'échelle des charges de travail [Workload Scaling list view][8]. Les changements prennent effet lors de la prochaine réconciliation. +- **Mettre en pause l'autoscaling sans supprimer la ressource.** Définissez `applyPolicy.mode: Preview` pour garder les recommandations visibles dans `.status` tout en empêchant le contrôleur de les appliquer. Ceci est utile lors de l'exécution avec un HPA ou un VPA pendant l'évaluation. +- **Surveiller le déploiement.** La vue liste de mise à l'échelle des charges de travail montre l'état en direct de la recommandation de chaque charge de travail, la dernière action appliquée et les erreurs de réconciliation. +- **Supprimer l'autoscaling proprement.** Supprimez la ressource `DatadogPodAutoscaler` pour arrêter l'autoscaling. Les ressources de pod existantes restent à leurs dernières valeurs appliquées, et la charge de travail revient à ce que son contrôleur parent (Déploiement, StatefulSet, etc.) spécifie lors du prochain déploiement. + +## Référence {#reference} + +### Comment les recommandations verticales sont calculées {#how-vertical-recommendations-are-calculated} + +Datadog calcule des recommandations de mise à l'échelle verticale pour le CPU et la mémoire en analysant les données historiques d'utilisation des conteneurs au cours des 8 derniers jours. La méthodologie utilisée pour chaque ressource dépend du fait que la demande de cette ressource soit égale à sa limite, reflétant le concept de [classe de qualité de service (QoS) Kubernetes][14]. Le CPU et la mémoire sont évalués indépendamment : une charge de travail peut utiliser la méthodologie Burstable pour le CPU et la méthodologie Guaranteed pour la mémoire, ou vice versa. + +#### Recommandations de mémoire {#memory-recommendations} + +**Burstable** (la demande de mémoire est inférieure à la limite de mémoire) : + +| | Comment cela est calculé | +|---|---| +| **Recommandation pour la demande** | Basée sur le **p95** de l'utilisation de la mémoire au cours des 8 derniers jours, avec un poids décroissant appliqué aux échantillons plus anciens afin que les modèles d'utilisation récents soient prioritaires. Une **marge de sécurité de 10%** est ensuite ajoutée. | +| **Recommandation pour la limite** | Basée sur l'**utilisation maximale de la mémoire** observée au cours des 8 derniers jours. Une **marge de sécurité de 5%** est ensuite ajoutée. | + +**Guaranteed** (la demande de mémoire est égale à la limite de mémoire) : + +| | Comment cela est calculé | +|---|---| +| **Recommandation pour la demande et la limite** | Basée sur l'**utilisation maximale de la mémoire** observée au cours des 8 derniers jours. Une **marge de sécurité de 5%** est ensuite ajoutée. Si un **OOMKill** est détecté, une augmentation supplémentaire de **20%** est appliquée pour aider à prévenir de futurs événements de manque de mémoire. | + +**Remarque :** Le suivi du pic de mémoire capture la plus haute utilisation de mémoire jamais enregistrée par un conteneur ayant existé dans la fenêtre de retour de 8 jours. Cela signifie que même si un conteneur a démarré avant cette fenêtre, son utilisation maximale (par exemple, au démarrage) est toujours prise en compte dans la recommandation. + +#### Recommandations de CPU {#cpu-recommendations} + +**Burstable** (la demande de CPU est inférieure à la limite de CPU) : + +| | Comment cela est calculé | +|---|---| +| **Recommandation pour la demande** | Basée sur le **p90** de l'utilisation du CPU par rapport à la demande actuelle au cours des 8 derniers jours, avec un poids décroissant appliqué aux échantillons plus anciens afin que les modèles d'utilisation récents soient prioritaires. Une **marge de sécurité de 10%** est ensuite ajoutée. | +| **Recommandation de limite** | Basée sur le **p95** de l'utilisation du CPU par rapport à la demande actuelle au cours des 8 derniers jours. Une **marge de sécurité de 5%** est ensuite ajoutée. Si la recommandation de demande résultante dépasse la recommandation de limite, la valeur de la demande est utilisée pour les deux. | + +**Guaranteed** (la demande de CPU est égale à la limite de CPU) : + +| | Comment cela est calculé | +|---|---| +| **Recommandation de demande et de limite** | Basée sur le **p95** de l'utilisation du CPU par rapport à la demande actuelle au cours des 8 derniers jours. Une **marge de sécurité de 5%** est ensuite ajoutée. | + +#### Principes de conception clés {#key-design-principles} + +- **Fenêtre de rétrospection de 8 jours** : Toutes les recommandations prennent en compte les données d'utilisation des 8 derniers jours, fournissant suffisamment d'historique pour capturer les modèles de trafic hebdomadaires tout en restant réactives aux changements. +- **Poids décroissants** : Pour les recommandations de demande de classe Burstable (CPU ou mémoire), les échantillons plus anciens sont moins pondérés, de sorte que la recommandation s'adapte plus rapidement aux changements récents d'utilisation. +- **Marges de sécurité** : Chaque recommandation inclut une marge au-dessus de l'utilisation observée (5 à 10 %) pour fournir un tampon contre les pics inattendus. +- **Réponse OOMKill** : Lorsque la mémoire est de classe Guaranteed (demande égale à la limite) et qu'un OOMKill se produit, une augmentation de 20% est appliquée pour réduire la probabilité d'échecs répétés de mémoire insuffisante. +- **Préservation de la classe Guaranteed** : Lorsqu'une ressource a une demande égale à la limite, Datadog utilise le calcul le plus conservateur (niveau limite) pour les deux, garantissant que les recommandations n'introduisent pas d'écart entre la demande et la limite. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /fr/agent/remote_config +[2]: /fr/agent/remote_config/?tab=configurationyamlfile#enable-remote-configuration +[3]: https://helm.sh/ +[4]: https://kubernetes.io/docs/tasks/tools/install-kubectl/ +[5]: /fr/containers/kubernetes/distributions +[6]: https://app.datadoghq.com/orchestration/scaling/summary +[7]: https://app.datadoghq.com/orchestration/scaling/cluster +[8]: https://app.datadoghq.com/orchestration/scaling/workload +[9]: /fr/integrations/kubernetes_state_core/ +[10]: https://www.datadoghq.com/product-preview/kubernetes-cluster-autoscaling/ +[11]: https://app.datadoghq.com/orchestration/scaling/setup +[12]: /fr/containers/guide/manage-datadogpodautoscaler-with-argocd/ +[13]: /fr/containers/guide/manage-datdadogpodautoscaler-with-terraform/ +[14]: https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/ \ No newline at end of file diff --git a/content/fr/containers/datadog_operator/_index.md b/content/fr/containers/datadog_operator/_index.md index 37a30f86b01..c13a1eda469 100644 --- a/content/fr/containers/datadog_operator/_index.md +++ b/content/fr/containers/datadog_operator/_index.md @@ -2,12 +2,12 @@ aliases: - /fr/agent/kubernetes/operator_configuration - /fr/containers/kubernetes/operator_configuration -description: Déployez et gérez le Datadog Agent sur Kubernetes à l'aide du Datadog - Operator +description: Déployez et gérez l'Agent Datadog sur Kubernetes en utilisant l'Opérateur + Datadog further_reading: - link: /getting_started/containers/datadog_operator tag: guide - text: Débuter avec le Datadog Operator + text: Débuter avec l'Operator Datadog - link: https://github.com/DataDog/datadog-operator/blob/main/docs/installation.md tag: Code source text: 'Operator Datadog : installation avancée' @@ -15,42 +15,41 @@ further_reading: tag: Code source text: 'Operator Datadog : configuration' - link: https://www.datadoghq.com/architecture/instrument-your-app-using-the-datadog-operator-and-admission-controller/ - tag: Architecture Center - text: Instrumenter votre application à l'aide du Datadog Operator et du contrôleur - d'admission -title: Datadog Operator + tag: Centre d'Architecture + text: Instrumentez votre application en utilisant l'Opérateur Datadog et le Contrôleur + d'Admission +title: Operator Datadog --- - L'[Operator Datadog][1] est un [Operator Kubernetes][2] open source qui vous permet de déployer et de configurer l'Agent Datadog dans un environnement Kubernetes. -Grâce à cet Operator, une seule définition de ressource personnalisée (ou CRD) est nécessaire pour déployer l'Agent de nœud, l'[Agent de cluster][3] et l'[exécuteur de checks de cluster][4]. L'Operator transmet les données relatives au statut, à la santé et aux erreurs du déploiement dans le statut de sa CRD. Dans la mesure où l'Operator utilise des options de configuration de niveau supérieur, il réduit les éventuels problèmes de configuration. +En utilisant l'Opérateur, vous pouvez utiliser un seul Custom Resource Definition (CRD) pour déployer le node-based Agent, [Cluster Agent][3] et [cluster checks runner][4]. L'Opérateur rapporte l'état de déploiement, la santé et les erreurs dans l'état de la CRD de l'Opérateur. Parce que l'Opérateur utilise des options de configuration de niveau supérieur, il limite le risque de mauvaise configuration. Une fois l'Agent déployé, l'Operator Datadog apporte les fonctionnalités suivantes : -- Validation des configurations de votre Agent -- Application de votre configuration à tous les Agents -- Orchestration pour la création et la mise à jour des ressources de l'Agent -- Transmission du statut de la configuration de l'Agent dans le statut CRD de l'Operator -- (Facultatif) Déploiement d'un DaemonSet avancé à l'aide du contrôleur [ExtendedDaemonSet][5] de Datadog +- Validation de vos configurations d'Agent +- Maintenir tous les Agents à jour avec votre configuration +- Orchestration pour créer et mettre à jour les ressources d'Agent +- Rapport de l'état de configuration de l'Agent dans l'état de la CRD de l'Opérateur +- Optionnellement, utilisation d'un déploiement avancé de DaemonSet en utilisant [ExtendedDaemonSet][5] de Datadog -### Pourquoi utiliser l'Operator Datadog au lieu d'un chart Helm ou d'un DaemonSet ? +### Pourquoi utiliser l'Opérateur Datadog au lieu d'un Helm chart ou d'un DaemonSet ? {#why-use-the-datadog-operator-instead-of-a-helm-chart-or-daemonset} -Vous pouvez également utiliser un chart Helm ou un DaemonSet pour installer l'Agent Datadog sur Kubernetes. Toutefois, l'utilisation de l'Operator Datadog offre les avantages suivants : +Vous pouvez également utiliser un Helm chart ou un DaemonSet pour installer l'Agent Datadog sur Kubernetes. Cependant, l'utilisation de l'Opérateur Datadog offre les avantages suivants : -- L'Operator intègre des paramètres par défaut basés sur les bonnes pratiques de Datadog. -- La configuration de l'Operator est plus flexible pour les futures améliorations. -- En tant qu'[Operaror Kubernetes][2], l'Operator Datadog est traité comme une ressource de première classe par l'API Kubernetes. -- Contrairement au chart Helm, l'Operator est inclus dans la boucle de rapprochement de Kubernetes. +- L'Opérateur a des valeurs par défaut intégrées basées sur les meilleures pratiques de Datadog. +- La configuration de l'Opérateur est plus flexible pour les améliorations futures. +- En tant que [Kubernetes Operator][2], l'Opérateur Datadog est traité comme une ressource de première classe par l'API Kubernetes. +- Contrairement au Helm chart, l'Opérateur est inclus dans la boucle de réconciliation de Kubernetes. -Datadog prend totalement en charge l'utilisation d'un DaemonSet pour le déploiement de l'Agent, mais la configuration manuelle du DaemonSet présente une marge d'erreur trop importante. L'utilisation d'un DaemonSet n'est donc pas très recommandée. +Datadog prend entièrement en charge l'utilisation d'un DaemonSet pour déployer l'Agent, mais la configuration manuelle du DaemonSet laisse une marge d'erreur significative. Par conséquent, l'utilisation d'un DaemonSet n'est pas fortement recommandée. -## Utilisation +## Utilisation {#usage} Consultez le guide [Débuter avec l'Operator Datadog][6] pour savoir comment utiliser l'Operator pour déployer l'Agent Datadog. -Pour connaître toutes les options d'installation et de configuration, consultez les pages d'[installation][7] et de [configuration][8] détaillées dans le référentiel [`datadog-operator`][1]. +Pour toutes les options d'installation et de configuration, consultez les pages détaillées [installation][7] et [configuration][8] dans le dépôt [`datadog-operator`][1]. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/fr/containers/docker/apm.md b/content/fr/containers/docker/apm.md new file mode 100644 index 00000000000..ab6b342db90 --- /dev/null +++ b/content/fr/containers/docker/apm.md @@ -0,0 +1,398 @@ +--- +aliases: +- /fr/tracing/docker/ +- /fr/tracing/setup/docker/ +- /fr/agent/apm/docker +- /fr/agent/docker/apm +description: Configurez la collecte de traces APM pour les applications s'exécutant + dans des conteneurs Docker en utilisant l'Agent Datadog +further_reading: +- link: https://github.com/DataDog/datadog-agent/tree/main/pkg/trace + tag: Code source + text: Code source +- link: /integrations/amazon_ecs/#trace-collection + tag: Documentation + text: Tracer vos applications ECS +- link: /agent/docker/log/ + tag: Documentation + text: Recueillir les logs de votre application +- link: /agent/docker/integrations/ + tag: Documentation + text: Recueillez automatiquement les métriques et les logs de vos applications +- link: /agent/guide/autodiscovery-management/ + tag: Documentation + text: Limitez la collecte de données à un sous-ensemble de conteneurs +- link: /agent/docker/tag/ + tag: Documentation + text: Attribuez des tags à toutes les données envoyées par un conteneur +title: Tracer des applications Docker +--- +À partir de l'Agent 6.0.0, le Trace Agent est activé par défaut. S'il a été désactivé, vous pouvez le réactiver dans le `registry.datadoghq.com/agent` conteneur en passant `DD_APM_ENABLED=true` comme variable d'environnement. + +Les commandes CLI sur cette page concernent le runtime Docker. Remplacez `docker` par `nerdctl` pour le runtime containerd, ou `podman` pour le runtime Podman. + +
Si vous collectez des traces d'une application conteneurisée (votre Agent et votre application s'exécutant dans des conteneurs séparés), en alternative aux instructions suivantes, vous pouvez injecter automatiquement le SDK dans votre application. Lisez Injecting Libraries pour les instructions.
+ +## Traçage depuis l'hôte {#tracing-from-the-host} + +Le traçage est disponible sur le port `8126/tcp` depuis _votre hôte uniquement_ en ajoutant l'option `-p 127.0.0.1:8126:8126/tcp` à la commande `docker run`. + +Pour le rendre disponible depuis _n'importe quel hôte_, utilisez `-p 8126:8126/tcp` à la place. + +Par exemple, la commande suivante permet à l'Agent de recevoir des traces depuis votre host uniquement : + +{{< tabs >}} +{{% tab "Linux" %}} + +```shell +docker run -d --cgroupns host \ + --pid host \ + -v /var/run/docker.sock:/var/run/docker.sock:ro \ + -v /proc/:/host/proc/:ro \ + -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ + -p 127.0.0.1:8126:8126/tcp \ + -e DD_API_KEY= \ + -e DD_APM_ENABLED=true \ + -e DD_SITE= \ + registry.datadoghq.com/agent:latest +``` +Où se trouve votre `` {{< region-param key="dd_site" code="true" >}} (par défaut `datadoghq.com`). + +{{% /tab %}} +{{% tab "Windows" %}} + +```shell +docker run -d -p 127.0.0.1:8126:8126/tcp \ + -e DD_API_KEY= \ + -e DD_APM_ENABLED=true \ + -e DD_SITE= \ + registry.datadoghq.com/agent:latest +``` +Où se trouve votre `` {{< region-param key="dd_site" code="true" >}} (par défaut `datadoghq.com`). + +{{% /tab %}} +{{< /tabs >}} + +## Variables d'environnement de l'Agent APM Docker {#docker-apm-agent-environment-variables} + +Utilisez les variables d'environnement suivantes pour configurer le traçage pour l'Agent Docker. Voir le [fichier d'exemple `config_template.yaml`][8] pour plus de détails. + +`DD_API_KEY` +: requis - _ chaîne _ +
Votre [clé API Datadog][1]. + +`DD_SITE` +: optionnel - _ chaîne _ +
Votre [site Datadog][7]. Définissez ceci sur `{{< region-param key="dd_site" >}}`. +
**Default**: `datadoghq.com` + +`DD_APM_ENABLED` +: optionnel - _Booléen_ - **par défaut**: `true` +
Lorsqu'il est défini sur `true` (par défaut), l'Agent Datadog accepte les traces et les métriques de trace. + +`DD_APM_RECEIVER_PORT` +: optionnel - _entier_ - **par défaut**: `8126` +
Définit le port sur lequel le récepteur de traces de l'Agent Datadog écoute. Définissez `0` pour désactiver le récepteur HTTP. + +`DD_APM_RECEIVER_SOCKET` +: optionnel - _chaîne_ +
Pour collecter vos traces via des sockets de domaine UNIX, fournissez le chemin vers le socket UNIX. S'il est défini, cela prend la priorité sur la configuration du nom d'hôte et du port, et doit pointer vers un fichier de socket valide. + +`DD_APM_NON_LOCAL_TRAFFIC` +: optionnel - _Booléen_ - **par défaut**: `false` +
Lorsqu'il est défini sur `true`, l'Agent Datadog écoute le trafic non local. Si vous [tracez depuis d'autres conteneurs](#tracing-from-other-containers), définissez cette variable d'environnement sur `true`. + +`DD_APM_DD_URL` +: optionnel - _chaîne_ +
Pour utiliser un proxy pour APM, fournissez le point de terminaison et le port comme `:`. Le proxy doit être capable de gérer les connexions TCP. + +`DD_APM_CONNECTION_LIMIT` +: requis - _entier_ - **par défaut**: `2000` +
Définit le nombre maximum de connexions APM pour une fenêtre de temps de 30 secondes. Voir [Limites de taux de l'Agent][6] pour plus de détails. + +`DD_APM_IGNORE_RESOURCES` +: optionnel - _[chaîne]_ +
Fournit une liste d'exclusion de ressources que l'Agent Datadog doit ignorer. Si le nom de la ressource d'une trace correspond à une ou plusieurs des expressions régulières de cette liste, la trace n'est pas envoyée à Datadog. +
Exemple: `"GET /ignore-me","(GET\|POST) and-also-me"`. + +`DD_APM_FILTER_TAGS_REQUIRE` +: optionnel - _objet_ +
Définit des règles pour le filtrage des traces basé sur des tags. Pour être envoyées à Datadog, les traces doivent avoir ces tags. Voir [Ignorer les ressources indésirables dans APM][5]. + +`DD_APM_FILTER_TAGS_REGEX_REQUIRE` +: optionnel - _objet_ +
Pris en charge dans l'Agent 7.49+. Définit des règles pour le filtrage des traces basé sur des tags avec des expressions régulières. Pour être envoyées à Datadog, les traces doivent avoir des tags qui correspondent à ces motifs regex. + +`DD_APM_FILTER_TAGS_REJECT` +: optionnel - _objet_ +
Définit des règles pour le filtrage des traces basé sur des tags. Si une trace a ces tags, elle n'est pas envoyée à Datadog. Voir [Ignorer les ressources indésirables dans APM][5] pour plus de détails. + +`DD_APM_FILTER_TAGS_REGEX_REJECT` +: optionnel - _objet_ +
Pris en charge dans l'Agent 7.49+. Définit des règles pour le filtrage des traces basé sur des tags avec des expressions régulières. Si une trace a des tags qui correspondent à ces motifs regex, elle n'est pas envoyée à Datadog. + +`DD_APM_REPLACE_TAGS` +: optionnel - _[objet]_ +
Définit un ensemble de règles pour [remplacer ou supprimer des tags contenant potentiellement des informations sensibles][2]. + +`DD_HOSTNAME` +: optionnel - _chaîne_ - **par défaut** : détecté automatiquement +
Définit le nom d'hôte à utiliser pour les métriques si la détection automatique du nom d'hôte échoue, ou lors de l'exécution du Datadog Cluster Agent. + +`DD_DOGSTATSD_PORT` +: optionnel - _ entier _ - **par défaut** : `8125` +
Définit le port DogStatsD. + +`DD_PROXY_HTTPS` +: optionnel - _ chaîne _ +
Pour utiliser un [proxy][4] pour se connecter à Internet, fournissez l'URL. + +`DD_BIND_HOST` +: optionnel - _ chaîne _ - **par défaut** : `localhost` +
Définit l'hôte sur lequel écouter pour DogStatsD et les traces. + +`DD_LOG_LEVEL` +: optionnel - _ chaîne _ - **par défaut** : `info` +
Définit le niveau de journalisation minimal. Options valides : `trace`, `debug`, `info`, `warn`, `error`, `critical` et `off`. + +## Traçage depuis d'autres conteneurs {#tracing-from-other-containers} + +Comme avec DogStatsD, les traces peuvent être envoyées à l'Agent depuis d'autres conteneurs soit en utilisant [ les réseaux Docker ](#docker-network) soit avec [ l'IP hôte Docker ](#docker-host-ip). + +### Réseau Docker {#docker-network} + +Commencez par créer un pont définir par l'utilisateur : + +```bash +docker network create +``` + +Les commandes CLI sur cette page concernent le runtime Docker. Remplacez `docker` par `nerdctl` pour le runtime containerd, ou `podman` pour le runtime Podman. + +Démarrez ensuite l'Agent et le conteneur de l'application, connectés au réseau précédemment créé : + +{{< tabs >}} +{{% tab "Standard" %}} + +```bash +# Datadog Agent +docker run -d --name datadog-agent \ + --network \ + --cgroupns host \ + --pid host \ + -v /var/run/docker.sock:/var/run/docker.sock:ro \ + -v /proc/:/host/proc/:ro \ + -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ + -e DD_API_KEY= \ + -e DD_APM_ENABLED=true \ + -e DD_SITE= \ + -e DD_APM_NON_LOCAL_TRAFFIC=true \ + registry.datadoghq.com/agent:latest +# Application +docker run -d --name app \ + --network \ + -e DD_AGENT_HOST=datadog-agent \ + company/app:latest +``` + +Où se trouve votre `` {{< region-param key="dd_site" code="true" >}} (par défaut `datadoghq.com`). + +{{% /tab %}} +{{% tab "Windows" %}} + +```bash +# Datadog Agent +docker run -d --name datadog-agent \ + --cgroupns host \ + --pid host \ + --network "" \ + -e DD_API_KEY= \ + -e DD_APM_ENABLED=true \ + -e DD_SITE= \ + -e DD_APM_NON_LOCAL_TRAFFIC=true \ + registry.datadoghq.com/agent:latest +# Application +docker run -d --name app \ + --network "" \ + -e DD_AGENT_HOST=datadog-agent \ + company/app:latest +``` +Où se trouve votre `` {{< region-param key="dd_site" code="true" >}} (par défaut `datadoghq.com`). + +{{% /tab %}} +{{< /tabs >}} + +Cela expose le nom d'hôte `datadog-agent` dans votre conteneur `app`. +Si vous utilisez `docker-compose`, les paramètres `` sont ceux définis dans la section `networks` de votre `docker-compose.yml`. + +Vos SDK d'application doivent être configurés pour soumettre des traces à cette adresse. Définissez les variables d'environnement avec `DD_AGENT_HOST` comme nom du conteneur Agent, et `DD_TRACE_AGENT_PORT` comme port de trace de l'Agent dans vos conteneurs d'application. L'exemple ci-dessus utilise l'hôte `datadog-agent` et le port `8126` (la valeur par défaut, donc vous n'avez pas à le définir). + +Vous pouvez également consulter les exemples ci-dessous pour définir manuellement le host de l'Agent dans chaque langage pris en charge. + +{{< programming-lang-wrapper langs="java,python,ruby,go,nodeJS,.NET" >}} + +{{< programming-lang lang="java" >}} + +Mettez à jour la configuration de l'Agent Java avec des variables d'environnement : + +```bash +DD_AGENT_HOST=datadog-agent \ +DD_TRACE_AGENT_PORT=8126 \ +java -javaagent:/path/to/the/dd-java-agent.jar -jar /your/app.jar +``` + +ou avec des propriétés système : + +```bash +java -javaagent:/path/to/the/dd-java-agent.jar \ + -Ddd.agent.host=datadog-agent \ + -Ddd.agent.port=8126 \ + -jar /your/app.jar +``` + +{{< /programming-lang >}} + +{{< programming-lang lang="python" >}} + +```python +from ddtrace import tracer + +tracer.configure( + hostname='datadog-agent', + port=8126, +) +``` + +{{< /programming-lang >}} + +{{< programming-lang lang="ruby" >}} + +```ruby +Datadog.configure do |c| + c.agent.host = 'datadog-agent' + c.agent.port = 8126 +end +``` + +{{< /programming-lang >}} + +{{< programming-lang lang="go" >}} + +{{% tracing-go-v2 %}} + +```go +package main + +import ( + "github.com/DataDog/dd-trace-go/v2/ddtrace/tracer" +) + +func main() { + tracer.Start(tracer.WithAgentAddr("datadog-agent:8126")) + defer tracer.Stop() +} +``` + +{{< /programming-lang >}} + +{{< programming-lang lang="nodeJS" >}} + +```javascript +const tracer = require('dd-trace').init({ + hostname: 'datadog-agent', + port: 8126 +}); +``` + +{{< /programming-lang >}} + +{{< programming-lang lang=".NET" >}} + +Définissez les variables d'environnement avant d'exécuter l'application instrumentée : + +```bash +# Environment variables +export CORECLR_ENABLE_PROFILING=1 +export CORECLR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8} +export CORECLR_PROFILER_PATH= +export DD_DOTNET_TRACER_HOME=/opt/datadog + +# For containers +export DD_AGENT_HOST=datadog-agent +export DD_TRACE_AGENT_PORT=8126 + +# Start your application +dotnet example.dll +``` + +La valeur de la variable d'environnement `CORECLR_PROFILER_PATH` varie en fonction du système sur lequel l'application s'exécute : + + Valeur de | CORECLR_PROFILER_PATH + ------------------------------------------|---------------------------- + Alpine Linux x64 | `/datadog/linux-musl-x64/Datadog.Trace.ClrProfiler.Native.so` + Linux x64 | `/datadog/linux-x64/Datadog.Trace.ClrProfiler.Native.so` + Linux ARM64 | `/datadog/linux-arm64/Datadog.Trace.ClrProfiler.Native.so` + Windows x64 | `\datadog\win-x64\Datadog.Trace.ClrProfiler.Native.dll` + Windows x86 | `\datadog\win-x86\Datadog.Trace.ClrProfiler.Native.dll` + +Dans le tableau ci-dessus, `` fait référence au répertoire contenant les fichiers `.dll` de l'application. + +{{< /programming-lang >}} + +{{< /programming-lang-wrapper >}} + +### IP de l'hôte Docker {#docker-host-ip} + +Le port du conteneur Agent `8126` doit être lié directement à l'hôte. +Configurez votre traceur d'application pour signaler à la route par défaut de ce conteneur (déterminez cela en utilisant la commande `ip route`). + +Ce qui suit est un exemple pour le Traceur Python, en supposant que `172.17.0.1` est la route par défaut : + +```python +from ddtrace import tracer + +tracer.configure(hostname='172.17.0.1', port=8126) +``` + +### Socket de domaine Unix (UDS) {#unix-domain-socket-uds} +Pour soumettre des traces via socket, le socket doit être monté sur le conteneur Agent et votre conteneur d'application. + +```bash +# Datadog Agent +docker run -d --name datadog-agent \ + --network \ + --cgroupns host \ + --pid host \ + -v /var/run/docker.sock:/var/run/docker.sock:ro \ + -v /proc/:/host/proc/:ro \ + -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ + -v /var/run/datadog/:/var/run/datadog/ \ + -e DD_API_KEY= \ + -e DD_APM_ENABLED=true \ + -e DD_SITE= \ + -e DD_APM_NON_LOCAL_TRAFFIC=true \ + -e DD_APM_RECEIVER_SOCKET=/var/run/datadog/apm.socket \ + registry.datadoghq.com/agent:latest +# Application +docker run -d --name app \ + --network \ + -v /var/run/datadog/:/var/run/datadog/ \ + -e DD_TRACE_AGENT_URL=unix:///var/run/datadog/apm.socket \ + company/app:latest +``` + +Référez-vous à la [documentation d'instrumentation APM spécifique au langage][3] pour les paramètres du traceur. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + + +[1]: https://app.datadoghq.com/organization-settings/api-keys +[2]: /fr/tracing/configure_data_security/#replace-tags +[3]: /fr/tracing/setup/ +[4]: /fr/agent/proxy +[5]: /fr/tracing/guide/ignoring_apm_resources/ +[6]: /fr/tracing/troubleshooting/agent_rate_limits +[7]: /fr/getting_started/site/ +[8]: https://github.com/DataDog/datadog-agent/blob/master/pkg/config/config_template.yaml \ No newline at end of file diff --git a/content/fr/containers/kubernetes/configuration.md b/content/fr/containers/kubernetes/configuration.md index c78d2b2de7a..50228caacdd 100644 --- a/content/fr/containers/kubernetes/configuration.md +++ b/content/fr/containers/kubernetes/configuration.md @@ -3,48 +3,90 @@ aliases: - /fr/integrations/faq/gathering-kubernetes-events - /fr/agent/kubernetes/event_collection - /fr/agent/kubernetes/configuration -title: Configuration avancée de l'Agent Datadog sur Kubernetes +description: Options de configuration supplémentaires pour APM, journaux, processus, + événements et autres capacités après l'installation de l'Agent Datadog +title: Configuration avancée de l'Agent Datadog sur Kubernertes --- - -## Présentation +## Aperçu {#overview} Une fois l'Agent Datadog installé dans votre environnement Kubernetes, d'autres options de configuration sont disponibles. -### Activez Datadog pour recueillir les données suivantes : -- Des [traces (APM)](#activer-apm-et-le-tracing) -- Des [événements Kubernetes](#activer-la-collecte-d-evenements-kubernetes) -- Des [données NPM](#activer-la-collecte-de-donnees-npm) -- Des [logs](#activer-la-collecte-de-logs) -- Des [processus](#activer-la-collecte-de-processus) +### Activer Datadog pour collecter : {#enable-datadog-to-collect} +- [Traces (APM)](#enable-apm-and-tracing) +- [Événements Kubernetes](#enable-kubernetes-event-collection) +- [CNM](#enable-cnm-collection) +- [Journaux](#enable-log-collection) +- [Processus](#enable-process-collection) -### Autres fonctionnalités -- [Agent de cluster Datadog](#agent-de-cluster-datadog) +### Autres capacités {#other-capabilities} +- [Datadog Cluster Agent](#datadog-cluster-agent) - [Intégrations](#integrations) -- [Vue des conteneurs](#vue-des-conteneurs) -- [Orchestrator Explorer](#orchestrator-explorer) -- [Serveur de métriques externes](#serveur-de-metriques-custom) +- [Vue des conteneurs](#containers-view) +- [Orchestrator Explorer](#orchestrator-explorer) +- [Serveur de métriques externes](#custom-metrics-server) + +### Plus de configurations {#more-configurations} +- [Variables d'environnement](#environment-variables) +- [DogStatsD pour des métriques personnalisées](#configure-dogstatsd) +- [Mappage des étiquettes](#configure-tag-mapping) +- [Secrets](#using-secret-files) +- [Ignorer les conteneurs](#ignore-containers) +- [Délai d'attente du serveur API Kubernetes](#kubernetes-api-server-timeout) +- [Paramètres de proxy](#proxy-settings) +- [Autodécouverte](#autodiscovery) +- [Définir le nom du cluster](#set-cluster-name) +- [Divers](#miscellaneous) + +## Activer APM et le traçage {#enable-apm-and-tracing} + +{{< tabs >}} +{{% tab "Operator Datadog" %}} + +Modifiez votre `datadog-agent.yaml` pour définir `features.apm.enabled` sur `true`. + +```yaml +apiVersion: datadoghq.com/v2alpha1 +kind: DatadogAgent +metadata: + name: datadog +spec: + global: + credentials: + apiKey: + + features: + apm: + enabled: true +``` + +{{% k8s-operator-redeploy %}} + +{{% /tab %}} +{{% tab "Helm" %}} -### Configurations supplémentaires -- [Variables d'environnement](#variables-d-environnement) -- [DogStatsD pour les métriques custom](#configurer-dogstatsd) -- [Mappage des tags](#configurer-le-mappage-des-tags) -- [Secrets](#utiliser-des-fichiers-de-secret) -- [Ignorer des conteneurs](#ignorer-des-conteneurs) +Dans Helm, APM est **activé par défaut** via UDS ou un pipe nommé Windows. -## Activer APM et le tracing +Pour vérifier, assurez-vous que `datadog.apm.socketEnabled` est défini sur `true` dans votre `values.yaml`. -Si vous avez installé Kubernetes avec l'Operator Datadog ou avec Helm, **la solution APM est activée par défaut**. +```yaml +datadog: + apm: + socketEnabled: true +``` + +{{% /tab %}} +{{< /tabs >}} Pour en savoir plus, consultez la section [Collecte de traces APM avec Kubernetes][16]. -## Activer la collecte d'événements Kubernetes +## Activer la collecte d'événements Kubernetes {#enable-kubernetes-event-collection} -Utilisez l'[Agent de cluster Datadog][2] pour recueillir vos événements Kubernetes. +Utilisez l'[Agent de cluster Datadog][2] pour recueillir vos événements Kubernetes. {{< tabs >}} {{% tab "Operator Datadog" %}} -La collecte d'événements est activée par défaut par l'Operator Datadog. Pour configurer cette fonctionnalité, utilisez le paramètre `features.eventCollection.collectKubernetesEvents` dans votre fichier de configuration `datadog-agent.yaml`. +La collecte d'événements est activée par défaut par l'Opérateur Datadog. Cela peut être géré dans la configuration `features.eventCollection.collectKubernetesEvents` de votre `datadog-agent.yaml`. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -54,8 +96,8 @@ metadata: spec: global: credentials: - apiKey: - site: + apiKey: + site: features: eventCollection: @@ -65,7 +107,7 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -Pour recueillir des événements Kubernetes avec l'Agent de cluster Datadog, assurez-vous que les options `clusterAgent.enabled`, `datadog.collectEvents` et `clusterAgent.rbac.create` sont définies sur `true` dans votre fichier `datadog-values.yaml`. +Pour collecter des événements Kubernetes avec le Datadog Cluster Agent, assurez-vous que les options `clusterAgent.enabled`, `datadog.collectEvents` et `clusterAgent.rbac.create` sont définies sur `true` dans votre fichier `datadog-values.yaml`. ```yaml datadog: @@ -76,7 +118,7 @@ clusterAgent: create: true ``` -Si vous ne souhaitez pas utiliser l'Agent de cluster, vous pouvez vous servir d'un Agent de nœud pour recueillir les événements Kubernetes en définissant les options `datadog.leaderElection`, `datadog.collectEvents` et `agents.rbac.create` sur `true` dans votre fichier `datadog-values.yaml`. +Si vous ne souhaitez pas utiliser le Cluster Agent, vous pouvez toujours avoir un Node Agent collecter des événements Kubernetes en définissant les options `datadog.leaderElection`, `datadog.collectEvents` et `agents.rbac.create` sur `true` dans votre fichier `datadog-values.yaml`. ```yaml datadog: @@ -94,12 +136,12 @@ agents: Pour les configurations reposant sur un DaemonSet, consultez la documentation relative à la [collecte d'événements avec l'Agent de cluster et un Daemonset][14]. -## Activer la collecte de données NPM +## Activer la collecte CNM {#enable-cnm-collection} {{< tabs >}} {{% tab "Operator Datadog" %}} -Dans votre fichier `datadog-agent.yaml`, définissez `features.npm.enabled` sur `true`. +Dans votre `datadog-agent.yaml`, définissez `features.npm.enabled` sur `true`. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -109,7 +151,7 @@ metadata: spec: global: credentials: - apiKey: + apiKey: features: npm: @@ -125,7 +167,7 @@ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml {{% /tab %}} {{% tab "Helm" %}} -Modifiez votre fichier `datadog-values.yaml` en indiquant la configuration suivante : +Mettez à jour votre `datadog-values.yaml` avec la configuration suivante : ```yaml datadog: @@ -137,19 +179,19 @@ datadog: Mettez ensuite à niveau votre chart Helm : ```shell -helm upgrade -f datadog-values.yaml datadog/datadog +helm upgrade -f datadog-values.yaml datadog/datadog ``` {{% /tab %}} {{< /tabs >}} -Pour en savoir plus, consultez la section [Network Performance Monitoring][18]. +Pour plus d'informations, voir [Cloud Network Monitoring][18]. -## Activer la collecte de logs +## Activer la collecte de journaux {#enable-log-collection} {{< tabs >}} {{% tab "Operator Datadog" %}} -Dans votre fichier `datadog-agent.yaml`, définissez `features.logCollection.enabled` et `features.logCollection.containerCollectAll` sur `true`. +Dans votre `datadog-agent.yaml`, définissez `features.logCollection.enabled` et `features.logCollection.containerCollectAll` sur `true`. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -159,7 +201,7 @@ metadata: spec: global: credentials: - apiKey: + apiKey: features: logCollection: @@ -175,7 +217,7 @@ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml {{% /tab %}} {{% tab "Helm" %}} -Modifiez votre fichier `datadog-values.yaml` en indiquant la configuration suivante : +Mettez à jour votre `datadog-values.yaml` avec la configuration suivante : ```yaml datadog: @@ -188,18 +230,18 @@ datadog: Mettez ensuite à niveau votre chart Helm : ```shell -helm upgrade -f datadog-values.yaml datadog/datadog +helm upgrade -f datadog-values.yaml datadog/datadog ``` {{% /tab %}} {{< /tabs >}} Pour en savoir plus, consultez la section [Collecte de logs Kubernetes][17]. -## Activer la collecte de processus +## Activer la collecte de processus {#enable-process-collection} {{< tabs >}} {{% tab "Operator Datadog" %}} -Dans votre fichier `datadog-agent.yaml`, définissez `features.liveProcessCollection.enabled` sur `true`. +Dans votre `datadog-agent.yaml`, définissez `features.liveProcessCollection.enabled` sur `true`. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -209,7 +251,7 @@ metadata: spec: global: credentials: - apiKey: + apiKey: features: liveProcessCollection: @@ -224,7 +266,7 @@ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml {{% /tab %}} {{% tab "Helm" %}} -Modifiez votre fichier `datadog-values.yaml` en indiquant la configuration suivante : +Mettez à jour votre `datadog-values.yaml` avec la configuration suivante : ```yaml datadog: @@ -237,26 +279,26 @@ datadog: Mettez ensuite à niveau votre chart Helm : ```shell -helm upgrade -f datadog-values.yaml datadog/datadog +helm upgrade -f datadog-values.yaml datadog/datadog ``` {{% /tab %}} {{< /tabs >}} Pour en savoir plus, consultez la section [Live processes][23]. -## Agent de cluster Datadog +## Datadog Cluster Agent{#datadog-cluster-agent} -L'Agent de cluster Datadog simplifie la collecte de données de surveillance au niveau des clusters grâce à une approche centralisée. Datadog vous recommande fortement d'utiliser l'Agent de cluster pour surveiller Kubernetes. +Le Datadog Cluster Agent fournit une approche centralisée et rationalisée pour la collecte des données de surveillance au niveau du cluster. Datadog recommande fortement d'utiliser le Cluster Agent pour surveiller Kubernetes. -À partir de la version 1.0.0 de l'Operator Datadog et de la version 2.7.0 du chart Helm, l'**Agent de cluster est activé par défaut**. Aucune configuration supplémentaire n'est requise. +L'Opérateur Datadog v1.0.0+ et le graphique Helm v2.7.0+ **activent le Cluster Agent par défaut**. Aucune configuration supplémentaire n'est nécessaire. {{< tabs >}} {{% tab "Operator Datadog" %}} -À partir de la version 1.0.0 de l'Operator Datadog, l'Agent de cluster est activé par défaut. L'Operator crée les autorisations RBAC nécessaires et déploie l'Agent de cluster. Les deux Agents utilisent la même clé d'API. +L'Opérateur Datadog v1.0.0+ active le Cluster Agent par défaut. L'Opérateur crée les RBAC nécessaires et déploie le Cluster Agent. Les deux Agents utilisent la même clé API. -L'Operator génère automatiquement un token aléatoire dans un `Secret` Kubernetes. Ce token est partagé avec l'Agent Datadog et l'Agent de cluster afin de sécuriser leurs communications. +L'Opérateur génère automatiquement un jeton aléatoire dans un Kubernetes `Secret` à partager entre le Datadog Agent et le Cluster Agent pour une communication sécurisée. -Vous pouvez spécifier ce token dans le champ `global.clusterAgentToken` de votre fichier `datadog-agent.yaml` : +Vous pouvez spécifier manuellement ce jeton dans le champ `global.clusterAgentToken` de votre `datadog-agent.yaml` : ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -266,12 +308,12 @@ metadata: spec: global: credentials: - apiKey: - appKey: - clusterAgentToken: + apiKey: + appKey: + clusterAgentToken: ``` -Il est également possible de spécifier ce token en faisant référence au nom d'un `Secret` existant et au nom de la clé de données contenant ce token : +Alternativement, vous pouvez spécifier ce jeton en faisant référence au nom d'un `Secret` existant et à la clé de données contenant ce jeton : ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -281,14 +323,14 @@ metadata: spec: global: credentials: - apiKey: - appKey: - clusterAgentTokenSecret: - secretName: - keyName: + apiKey: + appKey: + clusterAgentTokenSecret: + secretName: + keyName: ``` -**Remarque** : lorsque le token est défini manuellement, il doit être composé de 32 caractères alphanumériques. +**Remarque** : Lorsqu'il est défini manuellement, ce jeton doit comporter 32 caractères alphanumériques. Ensuite, appliquez la nouvelle configuration : @@ -301,29 +343,29 @@ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml À partir de la version 2.7.0 du chart Helm, l'Agent de cluster est activé par défaut. -Pour vous assurer que l'Agent de cluster est bien activé, vérifiez que `clusterAgent.enabled` est défini sur `true` dans votre fichier `datadog-values.yaml` : +Pour vérification, assurez-vous que `clusterAgent.enabled` est défini sur `true` dans votre `datadog-values.yaml` : ```yaml clusterAgent: enabled: true ``` -Helm génère automatiquement un token aléatoire dans un `Secret` Kubernetes. Ce token est partagé avec l'Agent Datadog et l'Agent de cluster afin de sécuriser leurs communications. +Helm génère automatiquement un jeton aléatoire dans un Kubernetes `Secret` à partager entre le Datadog Agent et le Cluster Agent pour une communication sécurisée. -Vous pouvez spécifier ce token dans le champ `clusterAgent.token` de votre fichier `datadog-agent.yaml` : +Vous pouvez spécifier manuellement ce jeton dans le champ `clusterAgent.token` de votre `datadog-agent.yaml` : ```yaml clusterAgent: enabled: true - token: + token: ``` -Il est également possible de spécifier ce token en faisant référence au nom d'un `Secret` existant comportant la clé `token` comportant le token : +Alternativement, vous pouvez spécifier ce jeton en faisant référence au nom d'un `Secret` existant, où le jeton se trouve dans une clé nommée `token` : ```yaml clusterAgent: enabled: true - tokenExistingSecret: + tokenExistingSecret: ``` {{% /tab %}} @@ -331,13 +373,13 @@ clusterAgent: Pour en savoir plus, consultez la [documentation relative à l'Agent de cluster Datadog][2]. -## Serveur de métriques custom +## Serveur de métriques personnalisées {#custom-metrics-server} Pour utiliser le [serveur de métriques custom][22] de l'Agent de cluster, vous devez fournir une [clé d'application][24] Datadog et activer le fournisseur de métriques. {{< tabs >}} {{% tab "Operator Datadog" %}} -Dans le fichier `datadog-agent.yaml`, spécifiez une clé d'application sous `spec.global.credentials.appKey` et définissez `features.externalMetricsServer.enabled` sur `true`. +Dans `datadog-agent.yaml`, fournissez une clé d'application sous `spec.global.credentials.appKey` et définissez `features.externalMetricsServer.enabled` sur `true`. ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -347,8 +389,8 @@ metadata: spec: global: credentials: - apiKey: - appKey: + apiKey: + appKey: features: externalMetricsServer: @@ -362,42 +404,42 @@ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml ``` {{% /tab %}} {{% tab "Helm" %}} -Dans le fichier `datadog-values.yaml`, spécifiez une clé d'application `datadog.appKey` et définissez `clusterAgent.metricsProvider.enabled` sur `true`. +Dans `datadog-values.yaml`, fournissez une clé d'application sous `datadog.appKey` et définissez `clusterAgent.metricsProvider.enabled` sur `true`. ```yaml datadog: - apiKey: - appKey: + apiKey: + appKey: - clusterAgent: +clusterAgent: + enabled: true + metricsProvider: enabled: true - metricsProvider: - enabled: true ``` Mettez ensuite à niveau votre chart Helm : ```shell -helm upgrade -f datadog-values.yaml datadog/datadog +helm upgrade -f datadog-values.yaml datadog/datadog ``` {{% /tab %}} {{< /tabs >}} -## Intégrations +## Intégrations {#integrations} Dès lors que votre Agent s'exécute dans votre cluster, vous pouvez utiliser la [fonctionnalité Autodiscovery de Datadog][5] pour recueillir automatiquement des métriques et des logs à partir de vos pods. -## Vue des conteneurs +## Vue des conteneurs {#containers-view} -Pour pouvoir vous servir de la vue [Container Explorer][3] de Datadog, vous devez activer l'Agent de processus. L'Operator Datadog et le chart Helm **activent par défaut l'Agent de processus**. Aucune configuration supplémentaire n'est requise. +Pour utiliser le [Container Explorer][3] de Datadog, activez le Process Agent. L'Opérateur Datadog et le graphique Helm **activent le Process Agent par défaut**. Aucune configuration supplémentaire n'est nécessaire. {{< tabs >}} {{% tab "Operator Datadog" %}} -L'Operator Datadog active par défaut l'Agent de processus. +L'Operator Datadog active par défaut l'Agent de processus. -Pour vous assurer que l'Agent de processus est bien activé, vérifiez que `features.liveContainerCollection.enabled` est défini sur `true` dans votre `datadog-agent.yaml` : +Pour vérification, assurez-vous que `features.liveContainerCollection.enabled` est défini sur `true` dans votre `datadog-agent.yaml` : ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -407,19 +449,36 @@ metadata: spec: global: credentials: - apiKey: - appKey: + apiKey: + appKey: features: liveContainerCollection: enabled: true ``` +Dans certaines configurations, le Process Agent et le Cluster Agent ne peuvent pas détecter automatiquement le nom d'un cluster Kubernetes. Si cela se produit, la fonctionnalité ne démarre pas et l'avertissement suivant s'affiche dans le journal du Cluster Agent : `Orchestrator explorer enabled but no cluster name set: disabling`. Dans ce cas, vous devez définir `spec.global.clusterName` sur le nom de votre cluster dans `datadog-agent.yaml` : + +```yaml +apiVersion: datadoghq.com/v2alpha1 +kind: DatadogAgent +metadata: + name: datadog +spec: + global: + clusterName: + credentials: + apiKey: + appKey: + features: + orchestratorExplorer: + enabled: true +``` {{% /tab %}} {{% tab "Helm" %}} Le chart Helm active par défaut l'Agent de processus. -Pour vous assurer que l'Agent de processus est bien activé, vérifiez que `processAgent.enabled` est défini sur `true` dans votre fichier `datadog-values.yaml` : +Pour vérification, assurez-vous que `processAgent.enabled` est défini sur `true` dans votre `datadog-values.yaml` : ```yaml datadog: @@ -428,12 +487,12 @@ datadog: enabled: true ``` -Dans certaines configurations, il arrive que l'Agent de processus et l'Agent de cluster ne parviennent pas à détecter automatiquement un nom de cluster Kubernetes. Lorsque c'est le cas, la fonctionnalité ne démarre pas et l'avertissement suivant s'affiche dans le log de l'Agent de cluster : `Orchestrator explorer enabled but no cluster name set: disabling`. Vous devez alors définir `datadog.clusterName` sur le nom de votre cluster dans le fichier `values.yaml`. +Dans certaines configurations, le Process Agent et le Cluster Agent ne peuvent pas détecter automatiquement le nom d'un cluster Kubernetes. Si cela se produit, la fonctionnalité ne démarre pas et l'avertissement suivant s'affiche dans le journal du Cluster Agent : `Orchestrator explorer enabled but no cluster name set: disabling.` Dans ce cas, vous devez définir `datadog.clusterName` sur le nom de votre cluster dans `datadog-values.yaml`. ```yaml datadog: #(...) - clusterName: + clusterName: #(...) processAgent: enabled: true @@ -444,18 +503,20 @@ datadog: {{% /tab %}} {{< /tabs >}} +Pour les restrictions sur les noms de cluster valides, voir [Set cluster name](#set-cluster-name). + Consultez la documentation relative à la [vue des conteneurs][15] pour obtenir des informations supplémentaires. -## Orchestrator Explorer +## Orchestrator Explorer {#orchestrator-explorer} -L'Operator Datadog et le chart Helm **activent par défaut la vue [Orchestrator Explorer][20] de Datadog**. Aucune configuration supplémentaire n'est requise. +L'Opérateur Datadog et le graphique Helm **activent par défaut le [Orchestrator Explorer][20]**. Aucune configuration supplémentaire n'est nécessaire. {{< tabs >}} {{% tab "Operator Datadog" %}} -L'Operator Datadog active par défaut l'Orchestrator Explorer. +L'Operator Datadog active par défaut l'Orchestrator Explorer. -Pour vous assurer que cette vue est bien activée, vérifiez que le paramètre `features.orchestratorExplorer.enabled` est défini sur `true` dans votre fichier `datadog-agent.yaml` : +Pour vérification, assurez-vous que le paramètre `features.orchestratorExplorer.enabled` est défini sur `true` dans votre `datadog-agent.yaml` : ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -465,19 +526,38 @@ metadata: spec: global: credentials: - apiKey: - appKey: + apiKey: + appKey: features: orchestratorExplorer: enabled: true ``` +Dans certaines configurations, le Process Agent et le Cluster Agent ne peuvent pas détecter automatiquement le nom d'un cluster Kubernetes. Si cela se produit, la fonctionnalité ne démarre pas et l'avertissement suivant s'affiche dans le journal du Cluster Agent : `Orchestrator explorer enabled but no cluster name set: disabling`. Dans ce cas, vous devez définir `spec.global.clusterName` sur le nom de votre cluster dans `datadog-agent.yaml` : + +```yaml +apiVersion: datadoghq.com/v2alpha1 +kind: DatadogAgent +metadata: + name: datadog +spec: + global: + clusterName: + credentials: + apiKey: + appKey: + features: + orchestratorExplorer: + enabled: true +``` + + {{% /tab %}} {{% tab "Helm" %}} Le chart Helm active par défaut l'Orchestrator Explorer. -Pour vous assurer que cette vue est bien activée, vérifiez que le paramètre `orchestratorExplorer.enabled` est défini sur `true` dans votre fichier `datadog-values.yaml` : +Pour vérification, assurez-vous que le paramètre `orchestratorExplorer.enabled` est défini sur `true` dans votre fichier `datadog-values.yaml` : ```yaml datadog: @@ -488,50 +568,65 @@ datadog: enabled: true ``` +Dans certaines configurations, le Process Agent et le Cluster Agent ne peuvent pas détecter automatiquement le nom d'un cluster Kubernetes. Si cela se produit, la fonctionnalité ne démarre pas et l'avertissement suivant s'affiche dans le journal du Cluster Agent : `Orchestrator explorer enabled but no cluster name set: disabling.` Dans ce cas, vous devez définir `datadog.clusterName` sur le nom de votre cluster dans `values.yaml`. + +```yaml +datadog: + #(...) + clusterName: + #(...) + processAgent: + enabled: true + orchestratorExplorer: + enabled: true +``` + {{% /tab %}} {{< /tabs >}} +Pour les restrictions sur les noms de cluster valides, voir [Set cluster name](#set-cluster-name). + Consultez la section [Orchestrator Explorer][21] pour obtenir des informations supplémentaires. -## Variables d'environnement +## Configuration de base {#basic-configuration} -Les variables d'environnement suivantes servent à configurer l'Agent Datadog. +Utilisez les champs de configuration suivants pour configurer le Datadog Agent. {{< tabs >}} {{% tab "Operator Datadog" %}} | Paramètre (v2alpha1) | Description | | --------------------------- | ----------- | -| `global.credentials.apiKey` | Permet de configurer votre clé d'API Datadog. | -| `global.credentials.apiSecret.secretName` | Au lieu d'utiliser `global.credentials.apiKey`, spécifiez le nom d'un `Secret` Kubernetes contenant votre clé d'API Datadog.| -| `global.credentials.apiSecret.keyName` | Au lieu d'utiliser `global.credentials.apiKey`, spécifiez la clé du `Secret` Kubernetes fourni dans `global.credentials.apiSecret.secretName`.| -| `global.credentials.appKey` | Permet de configurer votre clé d'application Datadog. Si vous utilisez le serveur de métriques externes, vous devez définir une clé d'application Datadog afin de pouvoir consulter vos métriques. | -| `global.credentials.appSecret.secretName` | Au lieu d'utiliser `global.credentials.apiKey`, spécifiez le nom d'un `Secret` Kubernetes contenant votre clé d'application Datadog.| -| `global.credentials.appSecret.keyName` | Au lieu d'utiliser `global.credentials.apiKey`, spécifiez la clé du `Secret` Kubernetes fourni dans `global.credentials.appSecret.secretName`.| -| `global.logLevel` | Définit le niveau de détail de la journalisation. Ce paramètre peut être remplacé par le conteneur. Niveaux de log valides : `trace`, `debug`, `info`, `warn`, `error`, `critical` et `off`. Valeur par défaut : `info`. | -| `global.registry` | Registre d'images à utiliser pour toutes les images d'Agent. Valeur par défaut : `gcr.io/datadoghq`. | -| `global.site` | Permet de définir le [site d'admission][1] Datadog vers lequel les données de l'Agent sont envoyées. Votre site est {{< region-param key="dd_site" code="true" >}} (assurez-vous que le SITE sélectionné à droite est correct). | -| `global.tags` | La liste des tags à appliquer à l'ensemble des métriques, événements et checks de service recueillis. | - -Pour obtenir la liste complète des variables d'environnements pour l'Operator Datadog, consultez la [spécification v2alpha1 de l'Operator][2]. Pour les versions antérieures, consultez la [spécification v1alpha1 de l'Operator][3]. +| `global.credentials.apiKey` | Configure votre clé API Datadog. | +| `global.credentials.apiSecret.secretName` | Au lieu de `global.credentials.apiKey`, fournissez le nom d'un `Secret` Kubernetes contenant votre clé API Datadog.| +| `global.credentials.apiSecret.keyName` | Au lieu de `global.credentials.apiKey`, fournissez la clé du `Secret` Kubernetes nommé dans `global.credentials.apiSecret.secretName`.| +| `global.credentials.appKey` | Configure votre clé d'application Datadog. Si vous utilisez le serveur de métriques externe, vous devez définir une clé d'application Datadog pour un accès en lecture à vos métriques. | +| `global.credentials.appSecret.secretName` | Au lieu de `global.credentials.apiKey`, fournissez le nom d'un `Secret` Kubernetes contenant votre clé d'application Datadog.| +| `global.credentials.appSecret.keyName` | Au lieu de `global.credentials.apiKey`, fournissez la clé du `Secret` Kubernetes nommé dans `global.credentials.appSecret.secretName`.| +| `global.logLevel` | Définit la verbosité des journaux. Cela peut être remplacé par le conteneur. Les niveaux de journal valides sont : `trace`, `debug`, `info`, `warn`, `error`, `critical` et `off`. Par défaut : `info`. | +| `global.registry` | Registre d'images à utiliser pour toutes les images de l'Agent. Par défaut : `gcr.io/datadoghq`. | +| `global.site` | Définit le Datadog intake site auquel les données de l'Agent sont envoyées. Votre site est {{< region-param key="dd_site" code="true" >}}. (Assurez-vous que le SITE correct est sélectionné à droite). | +| `global.tags` | Une liste de balises à attacher à chaque métrique, événement et vérification de service collectés. | + +Pour une liste complète des champs de configuration pour l'Opérateur Datadog, voir la [spécification de l'Opérateur v2alpha1][2]. Pour les versions plus anciennes, voir [Migrer les DatadogAgent CRDs vers v2alpha1][3]. Les champs de configuration peuvent également être interrogés en utilisant `kubectl explain datadogagent --recursive`. [1]: /fr/getting_started/ [2]: https://github.com/DataDog/datadog-operator/blob/main/docs/configuration.v2alpha1.md -[3]: https://github.com/DataDog/datadog-operator/blob/main/docs/configuration.v1alpha1.md +[3]: /fr/containers/guide/v2alpha1_migration/ {{% /tab %}} {{% tab "Helm" %}} | Helm | Description | | ---- | ----------- | -| `datadog.apiKey` | Permet de configurer votre clé d'API Datadog. | -| `datadog.apiKeyExistingSecret` | Au lieu d'utiliser `datadog.apiKey`, spécifiez le nom d'un `Secret` Kubernetes existant contenant votre clé API Datadog, qui est définie par la clé `api-key`. | -| `datadog.appKey` | Permet de configurer votre clé d'application Datadog. Si vous utilisez le serveur de métriques externes, vous devez définir une clé d'application Datadog afin de pouvoir consulter vos métriques. | -| `datadog.appKeyExistingSecret` | Au lieu d'utiliser `datadog.appKey`, spécifiez le nom d'un `Secret` Kubernetes existant contenant votre clé d'application Datadog, qui est définie par la clé `app-key`. | -| `datadog.logLevel` | Définit le niveau de détail de la journalisation. Ce paramètre peut être remplacé par le conteneur. Niveaux de log valides : `trace`, `debug`, `info`, `warn`, `error`, `critical` et `off`. Valeur par défaut : `info`. | -| `registry` | Registre d'images à utiliser pour toutes les images d'Agent. Valeur par défaut : `gcr.io/datadoghq`. | -| `datadog.site` | Permet de définir le [site d'admission][1] Datadog vers lequel les données de l'Agent sont envoyées. Votre site est {{< region-param key="dd_site" code="true" >}} (assurez-vous que le SITE sélectionné à droite est correct). | -| `datadog.tags` | La liste de tags à appliquer à l'ensemble des métriques, événements et checks de services recueillis. | +| `datadog.apiKey` | Configurez votre clé API Datadog. | +| `datadog.apiKeyExistingSecret` | Au lieu de `datadog.apiKey`, fournissez le nom d'un `Secret` Kubernetes existant contenant votre clé API Datadog, définie avec le nom de clé `api-key`. | +| `datadog.appKey` | Configurez votre clé d'application Datadog. Si vous utilisez le serveur de métriques externe, vous devez définir une clé d'application Datadog pour un accès en lecture à vos métriques. | +| `datadog.appKeyExistingSecret` | Au lieu de `datadog.appKey`, fournissez le nom d'un `Secret` Kubernetes existant contenant votre clé d'application Datadog, définie avec le nom de clé `app-key`. | +| `datadog.logLevel` | Définit la verbosité des journaux. Cela peut être remplacé par le conteneur. Les niveaux de journal valides sont : `trace`, `debug`, `info`, `warn`, `error`, `critical` et `off`. Par défaut : `info`. | +| `registry` | Registre d'images à utiliser pour toutes les images de l'Agent. Par défaut : `gcr.io/datadoghq`. | +| `datadog.site` | Définit le site d'intake de Datadog [intake site][1] auquel les données de l'Agent sont envoyées. Votre site est {{< region-param key="dd_site" code="true" >}}. (Assurez-vous que le SITE correct est sélectionné à droite). | +| `datadog.tags` | Une liste de balises à attacher à chaque métrique, événement et vérification de service collectés. | -Pour obtenir la liste complète des variables d'environnement pour le chart Helm, consultez la [liste des options][2] pour le fichier `datadog-values.yaml`. +Pour une liste complète des variables d'environnement pour le chart Helm, consultez la [liste complète des options][2] pour `datadog-values.yaml`. [1]: /fr/getting_started/site [2]: https://github.com/DataDog/helm-charts/tree/main/charts/datadog#all-configuration-options @@ -539,50 +634,120 @@ Pour obtenir la liste complète des variables d'environnement pour le chart Helm {{% tab "DaemonSet" %}} | Variable d'environnement | Description | |----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_API_KEY` | Votre clé d'API Datadog (**obligatoire**). | -| `DD_ENV` | Permet de définir le tag global `env` pour toutes les données générées. | -| `DD_HOSTNAME` | Le hostname à utiliser pour les métriques (si la détection automatique échoue). | -| `DD_TAGS` | Tags de host séparés par des espaces. Exemple : `simple-tag-0 tag-key-1:tag-value-1`. | -| `DD_SITE` | Site auquel vos métriques, traces et logs sont envoyés. Votre `DD_SITE` est {{< region-param key="dd_site" code="true">}}. Valeur par défaut : `datadoghq.com`. | -| `DD_DD_URL` | Paramètre facultatif permettant de remplacer l'URL pour l'envoi de métriques. | -| `DD_URL` (6.36+/7.36+) | Alias pour `DD_DD_URL`. Ce paramètre est ignoré si `DD_DD_URL` est déjà défini. | -| `DD_CHECK_RUNNERS` | L'Agent exécute par défaut tous les checks simultanément (par défaut, avec `4` exécuteurs). Pour exécuter les checks de façon séquentielle, définissez la valeur `1`. Si vous devez exécuter un grand nombre de checks (ou des checks lents), le composant `collector-queue` peut prendre du retard et faire échouer le check de santé. Vous pouvez augmenter le nombre d'exécuteurs afin d'exécuter simultanément les checks. | -| `DD_LEADER_ELECTION` | Si plusieurs instances de l'Agent s'exécutent dans votre cluster, définissez cette variable sur `true` pour éviter de dupliquer la collecte d'événements. | +| `DD_API_KEY` | Votre clé API Datadog (**requise**) | +| `DD_ENV` | Définit la balise globale `env` pour toutes les données émises. | +| `DD_HOSTNAME` | Nom d'hôte à utiliser pour les métriques (si l'autodétection échoue) | +| `DD_TAGS` | Balises d'hôte séparées par des espaces. Par exemple : `simple-tag-0 tag-key-1:tag-value-1` | +| `DD_SITE` | Site de destination pour vos métriques, traces et journaux. Votre `DD_SITE` est {{< region-param key="dd_site" code="true">}}. Par défaut, c'est `datadoghq.com`. | +| `DD_DD_URL` | Paramètre optionnel pour remplacer l'URL pour la soumission des métriques. | +| `DD_URL` (6.36+/7.36+) | Alias pour `DD_DD_URL`. Ignoré si `DD_DD_URL` est déjà défini. | +| `DD_CHECK_RUNNERS` | L'Agent exécute toutes les vérifications en parallèle par défaut (valeur par défaut = `4` runners). Pour exécuter les vérifications séquentiellement, définissez la valeur sur `1`. Si vous devez exécuter un grand nombre de vérifications (ou des vérifications lentes), le composant `collector-queue` pourrait être en retard et échouer le contrôle de santé. Vous pouvez augmenter le nombre de runners pour exécuter des vérifications en parallèle. | +| `DD_LEADER_ELECTION` | Si plusieurs instances de l'Agent s'exécutent dans votre cluster, définissez cette variable sur `true` pour éviter la duplication de la collecte d'événements. | {{% /tab %}} {{< /tabs >}} -## Configurer DogStatsD +## Variables d'environnement {#environment-variables} +L'Agent Datadog conteneurisé peut être configuré en utilisant des variables d'environnement. Pour une liste exhaustive des variables d'environnement prises en charge, consultez la section [Variables d'environnement][26] de la documentation de l'Agent Docker. -DogStatsD peut envoyer des métriques custom via UDP avec le protocole StatsD. **L'Operator Datadog et Helm activent par défaut DogStatsD**. Consultez la [documentation relative à DogStatsD][19] pour en savoir plus. +### Exemples {#examples} +{{< tabs >}} +{{% tab "Operator Datadog" %}} +Lorsque vous utilisez l'Opérateur Datadog, vous pouvez définir des variables d'environnement supplémentaires dans `override` pour un composant avec `[key].env []object`, ou pour un conteneur avec `[key].containers.[key].env []object`. Les clés suivantes sont prises en charge : + +- `nodeAgent` +- `clusterAgent` +- `clusterChecksRunner` + +Les paramètres au niveau du conteneur ont la priorité sur tous les paramètres au niveau du composant. + +```yaml +apiVersion: datadoghq.com/v2alpha1 +kind: DatadogAgent +metadata: + name: datadog +spec: + override: + nodeAgent: + env: + - name: + value: + clusterAgent: + containers: + cluster-agent: + env: + - name: + value: +``` + +{{% /tab %}} +{{% tab "Helm" %}} + +```yaml +datadog: + env: + - name: + value: +clusterAgent: + env: + - name: + value: +``` + +{{% /tab %}} +{{% tab "DaemonSet" %}} +Ajoutez des variables d'environnement au DaemonSet ou au Déploiement (pour l'Agent Cluster Datadog). + +```yaml +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: datadog +spec: + template: + spec: + containers: + - name: agent + ... + env: + - name: + value: +``` + +{{% /tab %}} +{{< /tabs >}} + +## Configurer DogStatsD {#configure-dogstatsd} + +DogStatsD peut envoyer des métriques personnalisées via UDP avec le protocole StatsD. **DogStatsD est activé par défaut par l'Opérateur Datadog et Helm**. Consultez la [documentation de DogStatsD][19] pour plus d'informations. Les variables d'environnement suivantes servent à configurer DogStatsD avec un DaemonSet : | Variable d'environnement | Description | |----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` | Effectue une écoute des paquets DogStatsD issus d'autres conteneurs (requis pour envoyer des métriques custom). | -| `DD_HISTOGRAM_PERCENTILES` | Les centiles à calculer pour l'histogramme (séparés par des espaces). Valeur par défaut : `0.95`. | -| `DD_HISTOGRAM_AGGREGATES` | Les agrégations à calculer pour l'histogramme (séparées par des espaces). Valeur par défaut : `"max median avg count"`. | -| `DD_DOGSTATSD_SOCKET` | Le chemin vers le socket Unix à écouter. Doit être dans le volume `rw` monté. | -| `DD_DOGSTATSD_ORIGIN_DETECTION` | Active la détection des conteneurs et le tagging pour les métriques de socket Unix. | -| `DD_DOGSTATSD_TAGS` | Les tags supplémentaires à ajouter à l'ensemble des métriques, événements et checks de service reçus par ce serveur DogStatsD. Exemple : `"env:golden group:retrievers"`. | +| `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` | Écoutez les paquets DogStatsD provenant d'autres conteneurs (nécessaire pour envoyer des métriques personnalisées). | +| `DD_HISTOGRAM_PERCENTILES` | Les percentiles de l'histogramme à calculer (séparés par des espaces). La valeur par défaut est `0.95`. | +| `DD_HISTOGRAM_AGGREGATES` | Les agrégats de l'histogramme à calculer (séparés par des espaces). La valeur par défaut est `"max median avg count"`. | +| `DD_DOGSTATSD_SOCKET` | Chemin vers le socket Unix à écouter. Doit être dans un `rw` volume monté. | +| `DD_DOGSTATSD_ORIGIN_DETECTION` | Activer la détection et le marquage des conteneurs pour les métriques de socket Unix. | +| `DD_DOGSTATSD_TAGS` | Tags supplémentaires à ajouter à toutes les métriques, événements et vérifications de service reçus par ce serveur DogStatsD, par exemple : `"env:golden group:retrievers"`. | -## Configurer le mappage des tags +## Configurer le mappage des tags {#configure-tag-mapping} Datadog recueille automatiquement les principaux tags Kubernetes. -Vous pouvez également mapper les étiquettes de nœud, les étiquettes de pod et les annotations Kubernetes avec des tags Datadog. Les variables d'environnement suivantes servent à configurer ce mappage : +De plus, vous pouvez mapper les étiquettes de nœuds Kubernetes, les étiquettes de pods et les annotations aux tags Datadog. Utilisez les variables d'environnement suivantes pour configurer ce mappage : {{< tabs >}} {{% tab "Operator Datadog" %}} | Paramètre (v2alpha1) | Description | | --------------------------- | ----------- | -| `global.namespaceLabelsAsTags` | Permet de mapper les étiquettes d'espace de nommage Kubernetes avec des tags Datadog. Format : `<ÉTIQUETTE_ESPACE_NOMMAGE_KUBERNETES>: `. | -| `global.nodeLabelsAsTags` | Permet de mapper les étiquettes de nœud Kubernetes avec des tags Datadog. Format : `<ÉTIQUETTE_NŒUD_KUBERNETES>: `. | -| `global.podAnnotationsAsTags` | Permet de mapper les annotations Kubernetes avec des tags Datadog. Format : `: `. | -| `global.podLabelsAsTags` | Permet de mapper les étiquettes Kubernetes avec des tags Datadog. Format : `<ÉTIQUETTE_KUBERNETES>: `. | +| `global.namespaceLabelsAsTags` | Fournissez un mappage des étiquettes de namespace Kubernetes aux tags Datadog. `: ` | +| `global.nodeLabelsAsTags` | Fournissez un mappage des étiquettes de nœuds Kubernetes aux tags Datadog. `: ` | +| `global.podAnnotationsAsTags` | Fournissez un mappage des annotations Kubernetes aux tags Datadog. `: ` | +| `global.podLabelsAsTags` | Fournissez un mappage des étiquettes Kubernetes aux tags Datadog. `: ` | -### Exemples +### Exemples {#examples-1} ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -592,21 +757,21 @@ metadata: spec: global: credentials: - apiKey: + apiKey: namespaceLabelsAsTags: env: environment - # <ÉTIQUETTE_ESPACE_NOMMAGE_KUBERNETES>: + # : nodeLabelsAsTags: beta.kubernetes.io/instance-type: aws-instance-type kubernetes.io/role: kube_role - # <ÉTIQUETTE_NŒUD_KUBERNETES>: + # : podLabelsAsTags: app: kube_app release: helm_release - # <ÉTIQUETTE_KUBERNETES>: + # : podAnnotationsAsTags: iam.amazonaws.com/role: kube_iamrole - # : + # : ``` {{% /tab %}} @@ -614,90 +779,175 @@ spec: | Helm | Description | | --------------------------- | ----------- | -| `datadog.namespaceLabelsAsTags` | Permet de mapper les étiquettes d'espace de nommage Kubernetes avec des tags Datadog. Format : `<ÉTIQUETTE_ESPACE_NOMMAGE_KUBERNETES>: `. | -| `datadog.nodeLabelsAsTags` | Permet de mapper les étiquettes de nœud Kubernetes avec des tags Datadog. Format : `<ÉTIQUETTE_NŒUD_KUBERNETES>: `. | -| `datadog.podAnnotationsAsTags` | Permet de mapper les annotations Kubernetes avec des tags Datadog. Format : `: `. | -| `datadog.podLabelsAsTags` | Permet de mapper les étiquettes Kubernetes avec des tags Datadog. Format : `<ÉTIQUETTE_KUBERNETES>: `. | +| `datadog.namespaceLabelsAsTags` | Fournissez un mappage des étiquettes de namespace Kubernetes aux tags Datadog. `: ` | +| `datadog.nodeLabelsAsTags` | Fournissez un mappage des étiquettes de nœuds Kubernetes aux tags Datadog. `: ` | +| `datadog.podAnnotationsAsTags` | Fournissez un mappage des annotations Kubernetes aux tags Datadog. `: ` | +| `datadog.podLabelsAsTags` | Fournissez un mappage des étiquettes Kubernetes aux tags Datadog. `: ` | -### Exemples +### Exemples {#examples-2} ```yaml datadog: # (...) namespaceLabelsAsTags: env: environment - # <ÉTIQUETTE_ESPACE_NOMMAGE_KUBERNETES>: + # : nodeLabelsAsTags: beta.kubernetes.io/instance-type: aws-instance-type kubernetes.io/role: kube_role - # <ÉTIQUETTE_NŒUD_KUBERNETES>: + # : podLabelsAsTags: app: kube_app release: helm_release - # <ÉTIQUETTE_KUBERNETES>: + # : podAnnotationsAsTags: iam.amazonaws.com/role: kube_iamrole - # : + # : ``` {{% /tab %}} {{< /tabs >}} -### Utiliser des secrets +## Utilisation des fichiers secrets {#using-secret-files} -Les identifiants des intégrations peuvent être conservés dans des secrets Docker ou Kubernetes et utilisés dans les modèles Autodiscovery. Pour en savoir plus, consultez la section [Gestion des secrets][12]. +Les identifiants d'intégration peuvent être stockés dans des secrets Docker ou Kubernetes et utilisés dans des modèles d'Autodécouverte. Pour plus d'informations, consultez [Gestion des secrets][12]. -### Ignorer des conteneurs +## Ignorer les conteneurs {#ignore-containers} -Vous pouvez exclure des conteneurs de la collecte de logs, de la collecte de métriques et d'Autodiscovery. Par défaut, Datadog exclut les conteneurs `pause` de Kubernetes et d'OpenShift. Ces listes d'inclusion et d'exclusion s'appliquent uniquement à Autodiscovery. Elles n'ont aucun impact sur les traces ni sur DogStatsD. Il est possible d'utiliser des expressions régulières pour les valeurs de ces variables d'environnement. +Exclure les conteneurs de la collecte des journaux, de la collecte des métriques et de l'Autodécouverte. Datadog exclut par défaut les conteneurs Kubernetes et OpenShift `pause`. Ces listes blanches et noires s'appliquent uniquement à l'Autodécouverte ; les traces et DogStatsD ne sont pas affectés. Ces variables d'environnement prennent en charge les expressions régulières dans leurs valeurs. Consultez la section [Gestion de la découverte de conteneurs][13] pour obtenir des exemples. -**Remarque** : ces paramètres n'ont aucun effet sur les métriques `kubernetes.containers.running`, `kubernetes.pods.running`, `docker.containers.running`, `.stopped`, `.running.total` et `.stopped.total`, qui prennent en compte l'ensemble des conteneurs. +**Remarque** : Les métriques `kubernetes.containers.running`, `kubernetes.pods.running`, `docker.containers.running`, `.stopped`, `.running.total` et `.stopped.total` ne sont pas affectées par ces paramètres. Tous les conteneurs sont comptés. + +## Délai d'attente du serveur API Kubernetes {#kubernetes-api-server-timeout} + +Par défaut, le [Kubernetes State Metrics Core check][25] attend 10 secondes pour une réponse du serveur API Kubernetes. Pour les grands clusters, la demande peut expirer, ce qui entraîne des métriques manquantes. -### Paramètres de proxy +Vous pouvez éviter cela en définissant la variable d'environnement `DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT` à une valeur supérieure à la valeur par défaut de 10 secondes. -Depuis la version 6.4.0 de l'Agent (et 6.5.0 de l'Agent de trace), vous pouvez remplacer les paramètres de proxy de l'Agent via les variables d'environnement suivantes : +{{< tabs >}} +{{% tab "Operator Datadog" %}} +Mettez à jour votre `datadog-agent.yaml` avec la configuration suivante : + +```yaml +apiVersion: datadoghq.com/v2alpha1 +kind: DatadogAgent +metadata: + name: datadog +spec: + override: + clusterAgent: + env: + - name: DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT + value: +``` + +Ensuite, appliquez la nouvelle configuration : + +```shell +kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml +``` + +{{% /tab %}} +{{% tab "Helm" %}} +Mettez à jour votre `datadog-values.yaml` avec la configuration suivante : + +```yaml +clusterAgent: + env: + - name: DD_KUBERNETES_APISERVER_CLIENT_TIMEOUT + value: +``` + +Mettez ensuite à niveau votre chart Helm : + +```shell +helm upgrade -f datadog-values.yaml datadog/datadog +``` +{{% /tab %}} +{{< /tabs >}} + +## Paramètres du proxy {#proxy-settings} + +À partir de l'Agent v6.4.0 (et v6.5.0 pour l'Agent de trace), vous pouvez remplacer les paramètres de proxy de l'Agent via les variables d'environnement suivantes : | Variable d'environnement | Description | |--------------------------|------------------------------------------------------------------------| -| `DD_PROXY_HTTP` | URL HTTP à utiliser comme proxy pour les requêtes `http`. | -| `DD_PROXY_HTTPS` | URL HTTPS à utiliser comme proxy pour les requêtes `https`. | -| `DD_PROXY_NO_PROXY` | Liste d'URL, séparées par des espaces, pour lesquelles aucun proxy ne doit être utilisé. | -| `DD_SKIP_SSL_VALIDATION` | Option permettant de tester si l'Agent a des difficultés à se connecter à Datadog. | +| `DD_PROXY_HTTP` | Une URL HTTP à utiliser comme proxy pour les requêtes `http`. | +| `DD_PROXY_HTTPS` | Une URL HTTPS à utiliser comme proxy pour les requêtes `https`. | +| `DD_PROXY_NO_PROXY` | Une liste d'URLs séparées par des espaces pour lesquelles aucun proxy ne doit être utilisé. | +| `DD_SKIP_SSL_VALIDATION` | Une option pour tester si l'Agent rencontre des problèmes de connexion à Datadog. | + +## Définir le nom du cluster {#set-cluster-name} + +Certaines fonctionnalités nécessitent que vous définissiez un nom de cluster Kubernetes. Un nom de cluster valide doit être unique et séparé par des points, avec les restrictions suivantes : + +- Peut contenir uniquement des lettres minuscules, des chiffres et des tirets +- Doit commencer par une lettre +- La longueur totale est inférieure ou égale à 80 caractères + +{{< tabs >}} +{{% tab "Operator Datadog" %}} +Définissez `spec.global.clusterName` comme le nom de votre cluster dans `datadog-agent.yaml` : + +```yaml +apiVersion: datadoghq.com/v2alpha1 +kind: DatadogAgent +metadata: + name: datadog +spec: + global: + clusterName: +``` +{{% /tab %}} + +{{% tab "Helm" %}} +Définissez `datadog.clusterName` comme le nom de votre cluster dans `datadog-values.yaml`. + +```yaml +datadog: + #(...) + clusterName: +``` +{{% /tab %}} +{{< /tabs >}} + +## Autodécouverte {#autodiscovery} + +| Variable d'environnement | Description | +|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `DD_LISTENERS` | Auditeurs d'autodécouverte à exécuter. | +| `DD_EXTRA_LISTENERS` | Auditeurs d'autodécouverte supplémentaires à exécuter. Ils sont ajoutés en plus des variables définies dans la section `listeners` du fichier de configuration `datadog.yaml`. | +| `DD_CONFIG_PROVIDERS` | Les fournisseurs que l'Agent doit appeler pour collecter les configurations de vérification. Les fournisseurs disponibles sont :
`kubelet` - Gère les modèles intégrés dans les annotations de pod.
`docker` - Gère les modèles intégrés dans les étiquettes de conteneur.
`clusterchecks` - Récupère les configurations de vérification au niveau du cluster depuis le Cluster Agent.
`kube_services` - Surveille les services Kubernetes pour les vérifications de cluster. | +| `DD_EXTRA_CONFIG_PROVIDERS` | Fournisseurs de configuration d'autodécouverte supplémentaires à utiliser. Ils sont ajoutés en plus des variables définies dans la section `config_providers` du fichier de configuration `datadog.yaml`. | -### Divers +## Divers {#miscellaneous} | Variable d'environnement | Description | |-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_PROCESS_AGENT_CONTAINER_SOURCE` | Remplace la détection automatique des sources de conteneurs par une source unique, comme `"docker"`, `"ecs_fargate"` ou `"kubelet"`. Cela n'est plus nécessaire depuis la version 7.35.0. de l'Agent. | -| `DD_HEALTH_PORT` | Définissez cette variable sur `5555` pour exposer le check de santé de l'Agent sur le port `5555`. | -| `DD_CLUSTER_NAME` | Définissez un identifiant de cluster Kubernetes personnalisé pour éviter les conflits entre les alias de host. Le nom du cluster peut contenir jusqu'à 40 caractères correspondants à des lettres minuscules, des chiffres et des traits d'union. Il doit également commencer par une lettre et se terminer par un chiffre ou une lettre. | -| `DD_COLLECT_KUBERNETES_EVENTS ` | Active la collecte d'événements via l'Agent. Si vous exécutez plusieurs instances de l'Agent dans votre cluster, définissez également `DD_LEADER_ELECTION` sur `true`. | +| `DD_PROCESS_AGENT_CONTAINER_SOURCE` | Remplace la détection automatique de la source du conteneur afin de forcer l'utilisation d'une source unique. par exemple `"docker"`, `"ecs_fargate"`, `"kubelet"`. Cela n'est plus nécessaire depuis la version 7.35.0 de l'Agent. | +| `DD_HEALTH_PORT` | Définissez ceci sur `5555` pour exposer le contrôle de l'état de santé de l'Agent au port `5555`. | +| `DD_CLUSTER_NAME` | Définissez un identifiant de cluster Kubernetes personnalisé pour éviter les collisions d'alias d'hôte. Le nom du cluster peut comporter jusqu'à 40 caractères avec les restrictions suivantes : lettres minuscules, chiffres et tirets uniquement. Les métriques doivent commencer par une lettre. Doit se terminer par un chiffre ou une lettre. | +| `DD_COLLECT_KUBERNETES_EVENTS ` | Activez la collecte d'événements avec l'Agent. Si vous exécutez plusieurs instances de l'Agent dans votre cluster, définissez `DD_LEADER_ELECTION` sur `true` également. | -Vous pouvez ajouter d'autres écouteurs et fournisseurs de configuration à l'aide des variables d'environnement `DD_EXTRA_LISTENERS` et `DD_EXTRA_CONFIG_PROVIDERS`. Elles viennent s'ajouter aux variables définies dans les sections `listeners` et `config_providers` du fichier de configuration `datadog.yaml`. [1]: /fr/agent/ [2]: /fr/containers/cluster_agent/ [3]: https://app.datadoghq.com/containers -[4]: /fr/infrastructure/livecontainers/?tab=helm#configuration [5]: /fr/containers/kubernetes/integrations/ -[6]: https://github.com/DataDog/helm-charts/tree/master/charts/datadog#all-configuration-options -[7]: /fr/agent/kubernetes/operator_configuration -[8]: /fr/agent/proxy/#agent-v6 -[9]: /fr/developers/dogstatsd/ -[10]: /fr/developers/dogstatsd/unix_socket/ -[11]: /fr/agent/kubernetes/tag/ -[12]: /fr/agent/guide/secrets-management/ +[12]: /fr/agent/configuration/secrets-management/ [13]: /fr/agent/guide/autodiscovery-management/ [14]: /fr/containers/guide/kubernetes_daemonset#cluster-agent-event-collection -[15]: infrastructure/containers/?tab=datadogoperator +[15]: /fr/infrastructure/containers/ [16]: /fr/containers/kubernetes/apm [17]: /fr/containers/kubernetes/log -[18]: /fr/network_monitoring/performance/ -[19]: /fr/developers/dogstatsd +[18]: /fr/network_monitoring/cloud_network_monitoring/ +[19]: /fr/extend/dogstatsd [20]: https://app.datadoghq.com/orchestration/overview [21]: /fr/infrastructure/containers/orchestrator_explorer [22]: /fr/containers/guide/cluster_agent_autoscaling_metrics/?tab=helm [23]: /fr/infrastructure/process/ -[24]: /fr/account_management/api-app-keys/#application-keys \ No newline at end of file +[24]: /fr/account_management/api-app-keys/#application-keys +[25]: /fr/integrations/kubernetes_state_core/ +[26]: /fr/containers/docker/?tab=standard#environment-variables \ No newline at end of file diff --git a/content/fr/containers/kubernetes/data_collected.md b/content/fr/containers/kubernetes/data_collected.md index a0250e54d35..0566319af5e 100644 --- a/content/fr/containers/kubernetes/data_collected.md +++ b/content/fr/containers/kubernetes/data_collected.md @@ -2,175 +2,176 @@ aliases: - /fr/agent/kubernetes/metrics - /fr/agent/kubernetes/data_collected +description: Guide de référence pour les métriques et événements collectés par l'Agent + Datadog à partir des clusters Kubernetes further_reading: - link: /agent/kubernetes/log/ tag: Documentation text: Recueillir les logs de votre application - link: /agent/kubernetes/apm/ tag: Documentation - text: Recueillir les traces de vos applications + text: Recueillir les traces de votre application - link: /agent/kubernetes/prometheus/ tag: Documentation - text: Recueillir vos métriques Prometheus + text: Recueillez vos métriques Prometheus - link: /agent/kubernetes/integrations/ tag: Documentation - text: Recueillir automatiquement les métriques et les logs de vos applications + text: Recueillez automatiquement les métriques et les logs de vos applications - link: /agent/guide/autodiscovery-management/ tag: Documentation - text: Limiter la collecte de données à un sous-ensemble de conteneurs + text: Limitez la collecte de données à un sous-ensemble de conteneurs - link: /agent/kubernetes/tag/ tag: Documentation - text: Attribuer des tags à toutes les données envoyées par un conteneur + text: Attribuez des tags à toutes les données envoyées par un conteneur title: Données Kubernetes recueillies --- +Cette page répertorie les données recueillies par l'Agent Datadog lorsqu'il est déployé sur un cluster Kubernetes. Les métriques recueillies peuvent varier en fonction de la version de Kubernetes utilisée. -Cette page répertorie les données recueillies par l’Agent Datadog lorsqu’il est déployé sur un cluster Kubernetes. Les métriques recueillies peuvent varier en fonction de la version de Kubernetes utilisée. +**Remarque** : Pour les conteneurs Windows, voir [Métriques limitées pour les déploiements Windows][7]. -**Remarque** : pour les conteneurs Windows, consultez la section [Métriques limitées pour les déploiements sous Windows][7]. +## Métriques {#metrics} -## Métriques - -### Kubernetes +### Kubernetes {#kubernetes} {{< get-metrics-from-git "kubernetes" >}} -**Remarque** : pour en savoir plus sur les métriques `kubernetes.cpu.*`, consultez la section [Différences entre les métriques `kubernetes.cpu.*` et `container.cpu.*`][8]. +**Remarque** : Pour plus d'informations sur les métriques `kubernetes.cpu.*`, voir [les divergences entre les métriques `kubernetes.cpu.*` et `container.cpu.*`][8]. -### Kubelet +### Kubelet {#kubelet} Pour en savoir plus, consultez la documentation relative à l'intégration [Kubelet][1]. {{< get-metrics-from-git "kubelet" >}} -### Kubernetes State Metrics Core +### Métriques d'état de Kubernetes core {#kubernetes-state-metrics-core} -Pour en savoir plus, consultez la documentation relative à l'intégration [Kubernetes State Metrics Core][6]. Ce check nécessite la version 1.12 ou une version ultérieure de l'Agent de cluster Datadog. +Pour en savoir plus, consultez la documentation relative à l'intégration [Kubernetes State Metrics Core][6]. Cette vérification nécessite Datadog Cluster Agent v1.12 ou une version ultérieure. {{< get-metrics-from-git "kubernetes_state_core" >}} -### Kubernetes state +### État de Kubernetes {#kubernetes-state} -**Remarque** : les métriques `kubernetes_state.*` sont recueillies à partir de l'API `kube-state-metrics`. Le check `kubernetes_state` est obsolète. Consultez la section [Kubernetes State Metrics Core][6] pour utiliser le check recommandé. Datadog vous conseille de ne pas activer simultanément ces deux checks. +**Remarque** : Les métriques `kubernetes_state.*` sont collectées à partir de l'API `kube-state-metrics`. La vérification `kubernetes_state` est une vérification héritée. Pour une alternative, voir [Métriques d'état de Kubernetes core][6]. Datadog recommande de ne pas activer les deux vérifications simultanément. {{< get-metrics-from-git "kubernetes_state" >}} -### DNS Kubernetes +### Kubernetes DNS {#kubernetes-dns} {{< get-metrics-from-git "kube-dns" >}} -### Proxy Kubernetes +### Kubernetes proxy {#kubernetes-proxy} {{< get-metrics-from-git "kube-proxy" >}} -### Serveur d'API kubernetes +### Kubernetes API server {#kubernetes-api-server} Pour en savoir plus, consultez la documentation relative à l'intégration du [serveur d'API Kubernetes][3]. {{< get-metrics-from-git "kube-apiserver-metrics" >}} -### Kubernetes Controller Manager +### Kubernetes controller manager {#kubernetes-controller-manager} Pour en savoir plus, consultez la documentation relative à l'intégration [Kubernetes Controller Manager][2]. {{< get-metrics-from-git "kube-controller-manager" >}} -### Kubernetes Metrics Server +### Kubernetes metrics server {#kubernetes-metrics-server} Pour en savoir plus, consultez la documentation relative à l'intégration [Kubernetes Metrics Server][4]. -{{< get-metrics-from-git "kubernetes_state_core" >}} +{{< get-metrics-from-git "kube-metrics-server" >}} -### Kubernetes Scheduler +### Kubernetes scheduler {#kubernetes-scheduler} Pour en savoir plus, consultez la documentation relative à l'intégration [Kubernetes Scheduler][5]. {{< get-metrics-from-git "kube-scheduler" >}} -## Événements +## Événements {#events} - Backoff -- Conflict +- Conflit - Supprimer - DeletingAllPods -- Didn't have enough resource +- Ressources insuffisantes - Erreur -- Failed -- FailedCreate -- FailedDelete -- FailedMount -- FailedSync -- Failedvalidation -- FreeDiskSpaceFailed -- HostPortConflict -- InsufficientFreeCPU -- InsufficientFreeMemory -- InvalidDiskCapacity -- Killing -- KubeletsetupFailed -- NodeNotReady -- NodeoutofDisk -- OutofDisk -- Rebooted -- TerminatedAllPods -- Unable -- Unhealthy - -## Checks de service - -### Kubelet +- Échoué +- ÉchecDeLaCréation +- ÉchecDeLaSuppression +- ÉchecDuMontage +- ÉchecDeLaSynchronisation +- ÉchecDeLaValidation +- ÉchecDeL'EspaceDisqueLibre +- ConflitDePortHôte +- CPULibreInsuffisant +- MémoireLibreInsuffisante +- CapacitéDeDisqueInvalide +- Tuer +- ÉchecDeConfigurationDuKubelet +- NœudPasPrêt +- Nœud hors de disque +- Hors de disque +- Redémarré +- TousLesPodsTerminés +- Impossible +- Non sain + +## Vérifications de service {#service-checks} + +### Kubelet {#kubelet-1} Pour en savoir plus, consultez la documentation relative à l'intégration [Kubelet][1]. {{< get-service-checks-from-git "kubelet" >}} -### Kubernetes Controller Manager +### Gestionnaire de contrôleur Kubernetes {#kubernetes-controller-manager-1} Pour en savoir plus, consultez la documentation relative à l'intégration [Kubernetes Controller Manager][2]. {{< get-service-checks-from-git "kube-controller-manager" >}} -### Kubernetes Metrics Server +### Serveur de métriques Kubernetes {#kubernetes-metrics-server-1} Pour en savoir plus, consultez la documentation relative à l'intégration [Kubernetes Metrics Server][4]. -{{< get-service-checks-from-git "kubernetes_state_core" >}} +{{< get-service-checks-from-git "kube-metrics-server" >}} -### Kubernetes Scheduler +### Planificateur Kubernetes {#kubernetes-scheduler-1} Pour en savoir plus, consultez la documentation relative à l'intégration [Kubernetes Scheduler][5]. {{< get-service-checks-from-git "kube-scheduler" >}} -### Kubernetes State Metrics Core +### Métriques d'état de Kubernetes core {#kubernetes-state-metrics-core-1} Pour en savoir plus, consultez la documentation relative à l'intégration [Kubernetes State Metrics Core][6]. `kubernetes_state.cronjob.complete` -: Indique si le dernier job du cronjob a échoué ou non. Tags :`kube_cronjob` `kube_namespace` (`env` `service` `version` à partir des étiquettes standard). +: Indique si le dernier travail du cronjob a échoué ou non. Étiquettes : `kube_cronjob` `kube_namespace` (`env` `service` `version` des étiquettes standard). `kubernetes_state.cronjob.on_schedule_check` -: Envoie une alerte si la date de la prochaine planification du cronjob est située dans le passé. Tags : `kube_cronjob` `kube_namespace` (`env` `service` `version` à partir des étiquettes standard). +: Alerte si le prochain horaire du cronjob est dans le passé. Étiquettes : `kube_cronjob` `kube_namespace` (`env` `service` `version` des étiquettes standard). `kubernetes_state.job.complete` -: Indique si le job a échoué ou non. Tags : `kube_job` ou `kube_cronjob` `kube_namespace` (`env` `service` `version` à partir des étiquettes standard). +: Indique si le travail a échoué ou non. Étiquettes : `kube_job` ou `kube_cronjob` `kube_namespace` (`env` `service` `version` des étiquettes standard). `kubernetes_state.node.ready` -: Indique si le nœud est prêt. Tags : `node` `condition` `status`. +: Indique si le nœud est prêt. Étiquettes : `node` `condition` `status`. `kubernetes_state.node.out_of_disk` -: Indique si le nœud n'a plus d'espace disque. Tags : `node` `condition` `status`. +: Indique si le nœud n’a plus d’espace disque. Étiquettes : `node` `condition` `status`. `kubernetes_state.node.disk_pressure` -: Indique s'il existe une pression sur le disque du nœud. Tags : `node` `condition` `status`. +: Indique si le nœud subit une pression sur le disque. Étiquettes : `node` `condition` `status`. `kubernetes_state.node.network_unavailable` -: Indique si le réseau du nœud est indisponible. Tags : `node` `condition` `status`. +: Indique si le réseau du nœud est indisponible. Étiquettes : `node` `condition` `status`. `kubernetes_state.node.memory_pressure` -: Indique s'il existe une pression de mémoire sur le réseau du nœud. Tags : `node` `condition` `status`. +: Indique si le réseau du nœud subit une pression sur la mémoire. Étiquettes : `node` `condition` `status`. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/fr/dashboards/guide/custom_time_frames.md b/content/fr/dashboards/guide/custom_time_frames.md index e563305f796..a4da0b57565 100644 --- a/content/fr/dashboards/guide/custom_time_frames.md +++ b/content/fr/dashboards/guide/custom_time_frames.md @@ -1,79 +1,113 @@ --- +description: Utilisez des syntaxes de période personnalisées, y compris des dates + fixes, des dates relatives et des périodes alignées sur le calendrier dans les tableaux + de bord Datadog. title: Intervalles personnalisés --- +## Aperçu {#overview} -De nombreuses vues dans Datadog peuvent être filtrées en fonction d'un intervalle de temps spécifique. Les contrôles de temps comprennent une liste d'intervalles de temps courants et un sélecteur de date permettant une sélection rapide. +
Les requêtes sont exécutées en temps UTC, mais la période de requête est sélectionnée selon le fuseau horaire de votre navigateur. Alternez entre l'affichage du fuseau horaire par défaut ou de l'UTC à partir de l'action de configuration du tableau de bord. Pour plus d'informations, consultez la documentation de configuration du tableau de bord.
-Pour incrémenter un intervalle par mois, par jour, par année, par heure ou par minute, sélectionnez un élément de l'intervalle de temps et utilisez les touches `[↑]` et `[↓]` : +De nombreuses vues dans Datadog peuvent être limitées à une période spécifique. Les contrôles de temps incluent une liste de périodes courantes et un sélecteur de calendrier pour une sélection rapide. -{{< img src="dashboards/guide/custom_time_frames/increment_with_arrow_keys.mp4" alt="Incrémenter l'intervalle avec les touches fléchées" video="true" width="500" >}} +Les périodes peuvent être : -Vous pouvez également saisir ou coller des dates et timestamps personnalisés, y compris ceux copiés à partir d'autres pages Datadog : +- **Glissantes** : Le début et la fin avancent simultanément au fur et à mesure que le temps passe (par exemple, `5h` affiche toujours les 5 heures les plus récentes). +- **Croissantes** : Un début fixe avec la fin suivant "maintenant" (par exemple, `since Jun 1` montre tout depuis le 1er juin jusqu'à l'heure actuelle). +- **Fixées** : Le début et la fin sont figés à des points spécifiques dans le temps (par exemple, `Jan 1 - Jan 2`). -{{< img src="dashboards/guide/custom_time_frames/copy_and_paste.mp4" alt="Copier et coller un intervalle" video="true" >}} +Pour incrémenter par mois, jour, an, heure ou minute, mettez en surbrillance une partie de la période et utilisez les touches `[↑]` et `[↓]` : -Les intervalles de temps personnalisés fixes et relatifs sont pris en charge : +{{< img src="dashboards/guide/custom_time_frames/increment_with_arrow_keys.mp4" alt="Incrémentez le temps avec les touches fléchées" video="true" width="500" >}} -{{< img src="dashboards/guide/custom_time_frames/custom_fixed_time_frame.mp4" alt="Saisir un intervalle personnalisé fixe" video="true" width="500" >}} +## Syntaxes prises en charge {#supported-syntaxes} -{{< img src="dashboards/guide/custom_time_frames/custom_relative_time_frame.mp4" alt="Saisir un intervalle personnalisé relatif" video="true" width="500" >}} +### Dates fixes {#fixed-dates} -**Remarque** : l'exécution des requêtes est basée sur le fuseau UTC, mais la sélection de l'intervalle se fait dans votre navigateur. De plus, vous pouvez choisir d'afficher le fuseau horaire par défaut ou le fuseau UTC dans les [paramètres du dashboard][1]. - -## Syntaxes prises en charge - -### Dates fixes +{{< img src="dashboards/guide/custom_time_frames/custom_fixed_time_frame.mp4" alt="Tapez une période fixe personnalisée" video="true" width="500" >}} | Format | Exemples | -|------------------------------|--------------------------------------------------| -| `{MMM/MMMM} D` | Jan 1
January 1 | +| ---------------------------- | ------------------------------------------------ | +| `{MMM/MMMM} D` | 1er janv.
1er janvier | | `M/D` | 1​/​1 | | `M-D` | 1-1 | | `M/D/{YY/YYYY}` | 1/1/19
1/1/2019 | | `M-D-{YY/YYYY}` | 1-1-19
1-1-2019 | -| `{MMM/MMMM} D, h:mm a` | Jan 1, 1:00 pm
January 1, 1:00 pm | -| `{MMM/MMMM} D, YYYY, h:mm a` | Jan 1, 2019, 1:00 pm
January 1, 2019, 1:00 pm | -| `h:mm a` | 1:00 pm | -| Timestamp en secondes Unix | 1577883600 | -| Timestamp en millisecondes Unix | 1577883600000 | - -* N'importe quelle date fixe peut être saisie pour spécifier un intervalle. Exemples : - * `1577883600 - 1578009540` - * `Jan 1 - Jan 2` - * `6:00 am - 1:00 pm` - -### Dates relatives - -| Format | Exemples | Remarques | -|--------------|----------------------------------------------------------------------------------|-----------------------------------------------------------| -| `N{unit}` | 3m
3 min
3h
3 hours
3d
3 days
3w
3 weeks
3mo
3 months | Affiche les N dernières unités, par exemple les 3 derniers mois | -| `today` | | Affiche le jour calendaire en cours | -| `yesterday` | | Affiche l'intégralité du jour calendaire précédent | -| `this month` | | Affiche le mois calendaire en cours | -| `last month` | | Affiche l'intégralité du mois calendaire précédent | -| `this year` | | Affiche l'année calendaire en cours | -| `last year` | | Affiche l'intégralité de l'année calendaire précédente | - -* Les chaînes suivantes sont acceptées pour n'importe quelle `{unit}` dans une date relative : - * Minutes : `m`, `min`, `mins`, `minute`, `minutes` - * Heures : `h`, `hr`, `hrs`, `hour`, `hours` - * Jours : `d`, `day`, `days` - * Semaines : `w`, `week`, `weeks` - * Mois : `mo`, `mos`, `mon`, `mons`, `month`, `months` -* Les intervalles `today`, `yesterday`, `this month`, `this year` et `last year` sont calculés lors de leur saisie. Ils ne sont pas mis à jour à mesure que le temps passe. - -## URL +| `{MMM/MMMM} D, h:mm a` | 1er janv., 13h00
1er janvier, 13h00 | +| `{MMM/MMMM} D, YYYY, h:mm a` | 1er janv. 2019, 13h00
1er janvier 2019, 13h00 | +| `h:mm a` | 13h00 | +| Horodatage en secondes Unix | 1577883600 | +| Horodatage en millisecondes Unix | 1577883600000 | + +Toute date fixe peut être saisie dans le cadre d'une plage. Exemple : + +- `1577883600 - 1578009540` +- `Jan 1 - Jan 2` +- `6:00 am - 1:00 pm` + +### Dates relatives {#relative-dates} + +Les dates relatives se mettent à jour avec le temps ; elles sont calculées à partir de l'heure actuelle. + +{{< img src="dashboards/guide/custom_time_frames/custom_relative_time_frame.mp4" alt="Tapez une période de temps relative personnalisée" video="true" width="500" >}} + +| Format | Description | +| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `N{unit}` | Affiche une fenêtre glissante des N unités passées. Les unités acceptées sont listées ci-dessous. Le début et la fin avancent avec le temps. Par exemple, **3 mois** (les 3 derniers mois). Pour créer une fenêtre croissante où la fin reste à « maintenant », utilisez la syntaxe `to now` (par exemple, `10am to now`). Pour plus d'informations, consultez [Fenêtres temporelles croissantes](#growing-time-frames). | + +Les chaînes suivantes sont acceptées pour tout `{unit}` dans une date relative : + +- Minutes : `m`, `min`, `mins`, `minute`, `minutes` +- Heures : `h`, `hr`, `hrs`, `hour`, `hours` +- Jours : `d`, `day`, `days` +- Semaines : `w`, `week`, `weeks` +- Mois : `mo`, `mos`, `mon`, `mons`, `month`, `months` + +### Fenêtres temporelles croissantes {#growing-time-frames} + +Les fenêtres temporelles croissantes ont un début fixe et s'étendent automatiquement jusqu'à l'heure actuelle (« maintenant »). Elles sont utiles lorsque vous souhaitez voir toute l'activité depuis un point spécifique dans le temps. + +{{< img src="dashboards/guide/custom_time_frames/custom_growing_time_frame.mp4" alt="Saisissez une fenêtre temporelle croissante personnalisée" video="true" width="500" >}} + +| Format | Description | +| --------------- | ----------------------------------------------------------------------------------------------------------- | +| `{date} to now` | Une fenêtre temporelle croissante de `{date}` jusqu'à maintenant. Par exemple, **1er janv. jusqu'à maintenant**. | +| `{date} - now` | Équivalent à `{date} to now`. Par exemple, **1er janv. - maintenant**. | +| `since {date}` | Équivalent à `{date} to now`. Par exemple, **depuis le 1er juin**, **depuis 5h**, **depuis 1549116000**. | +| `from {date}` | Équivalent à `{date} to now`. Par exemple, **depuis le 1er juin**, **depuis 5h**. | + +Le `{date}` dans les deux formats accepte l'un des éléments suivants : + +- Abréviations relatives (par exemple, `5h`, `2d`, `3w`) +- Dates fixes (par exemple, `Jun 1`, `Feb 2 2pm`, `1/15/2024`) +- Les timestamps Unix en secondes ou millisecondes (par exemple, `1549116000`, `1549116000000`) + +### Dates alignées sur le calendrier {#calendar-aligned-dates} + +Les dates alignées sur le calendrier s'alignent sur les limites du calendrier (comme minuit, le début de la semaine et le début du mois) et se mettent à jour en conséquence au fur et à mesure que le temps passe. + +| Format | Description | +| ----------------- | ------------------------------------------------------------------------------------- | +| `today` | Le jour calendaire actuel jusqu'à présent | +| `yesterday` | Le jour calendaire complet précédent | +| `week to date` | La semaine actuelle de 00h00 lundi jusqu'à présent | +| `month to date` | Le mois actuel du 1er jusqu'à présent | +| `year to date` | L'année actuelle du 1er janvier jusqu'à présent | +| `this {unit}` | L'unité calendaire actuelle jusqu'à présent. Par exemple, **ce mois-ci**, **cette année** | +| `last {unit}` | L'unité calendaire complète précédente. Par exemple, **le mois dernier**, **l'année dernière** | +| `previous {unit}` | Équivalent à `last {unit}`. Par exemple, **la semaine précédente**, **le mois précédent** | +| `N {units} ago` | L'unité calendaire complète N périodes en arrière. Par exemple, **il y a 2 semaines**, **il y a 3 mois** | + +## URLs {#urls} Vous pouvez transmettre des requêtes temporelles dans l'URL d'un dashboard. Prenons l'exemple d'URL de dashboard suivant : ``` -https://app.datadoghq.com/dash/host/?from_ts=&to_ts=&live=true +https://app.datadoghq.com/dash/host/?from_ts=&to_ts=&live=true ``` -* Le paramètre `from_ts` correspond au timestamp Unix en millisecondes représentant l'heure de début de la requête. Exemple : `1683518770980`. -* Le paramètre `to_ts` correspond au timestamp Unix en millisecondes représentant l'heure de fin de la requête. Exemple : `1683605233205`. -* `live=true` indique que les spécifications temporelles relatives sont conservées lorsqu'une requête est enregistrée ou partagée. Il est également possible de définir ce paramètre sur `live=false`. - -[1]: /fr/dashboards/#display-utc-time \ No newline at end of file +- Le paramètre `from_ts` est le timestamp Unix en millisecondes du début de la requête. Par exemple, `1683518770980`. +- Le paramètre `to_ts` est le timestamp Unix en millisecondes de la fin de la requête. Par exemple, `1683605233205`. +- `live=true` indique que les spécifications de temps relatives sont conservées lorsqu'une requête est enregistrée ou partagée. Vous pouvez également utiliser `live=false`. \ No newline at end of file diff --git a/content/fr/dashboards/template_variables.md b/content/fr/dashboards/template_variables.md index 471999cf6b3..d35bde304f5 100644 --- a/content/fr/dashboards/template_variables.md +++ b/content/fr/dashboards/template_variables.md @@ -3,7 +3,25 @@ aliases: - /fr/graphing/dashboards/template_variables/correlate-metrics-and-events-using-dashboard-template-variables - /fr/graphing/dashboards/template_variables/how-do-i-overlay-events-onto-my-dashboards - /fr/graphing/dashboards/template_variables/ +description: Utilisez des variables de modèle pour filtrer dynamiquement les widgets + du tableau de bord par tags, attributs et facettes pour une exploration des données + flexible. further_reading: +- link: /dashboards/ + tag: Documentation + text: Créer des dashboards dans Datadog +- link: /dashboards/sharing/ + tag: Documentation + text: Partager vos graphiques en dehors de Datadog +- link: /dashboards/widgets/ + tag: Documentation + text: Découvrir les widgets disponibles pour votre dashboard +- link: https://www.datadoghq.com/blog/datadog-executive-dashboards + tag: Blog + text: Concevez des tableaux de bord exécutifs efficaces avec Datadog. +- link: https://www.datadoghq.com/blog/zendesk-cost-optimization + tag: Blog + text: 'Optimisation de Datadog à grande échelle : observabilité rentable chez Zendesk.' - link: https://www.datadoghq.com/blog/template-variable-associated-values/ tag: Blog text: Utiliser les template variables associées pour affiner vos dashboards @@ -15,133 +33,155 @@ further_reading: tag: Blog text: Filtrer les dashboards plus rapidement avec les valeurs disponibles pour les template variables -- link: /dashboards/ - tag: Documentation - text: Créer des dashboards dans Datadog -- link: /dashboards/sharing/ - tag: Documentation - text: Partager vos graphiques en dehors de Datadog -- link: /dashboards/widgets/ - tag: Documentation - text: Découvrir les widgets disponibles pour votre dashboard title: Template variables --- +## Aperçu {#overview} -## Présentation - -Les template variables vous permettent de filtrer dynamiquement un ou plusieurs widgets dans un dashboard. Vous pouvez créer des vues sauvegardées à partir de vos sélections de template variables afin d'organiser et de parcourir vos visualisations à travers les menus déroulants. +Les variables de modèle vous permettent de filtrer ou de regrouper dynamiquement les widgets dans un tableau de bord. Vous pouvez créer des vues enregistrées à partir de vos sélections de variables de modèle pour organiser et naviguer dans vos visualisations via les sélections déroulantes. Une template variable est définie par les éléments suivants : -* **Tag or Attribute** : - * Tag : si vos tags respectent le [format recommandé][1] (`:`), le *Tag* est la ``. - * Attribute : utilisez une [facette ou une mesure comme template variable](#requetes-rum-d-apm-et-de-log). -* **Name** : nom unique de la template variable qui apparaît dans les requêtes sur le dashboard. Le nom des template variables change automatiquement en fonction du tag ou de l'attribut sélectionné. -* **Default Value** : valeur de tag ou d'attribut qui apparaît automatiquement lorsque le dashboard est chargé. Valeur par défaut : `*`. -* **Available Values** : valeurs de tag ou d'attribut pouvant être sélectionnées dans le menu déroulant. Valeur par défaut : `(all)`. La liste de toutes les valeurs disponibles comprend toujours `*`, ce qui permet d'interroger toutes les valeurs du tag ou de l'attribut. +* {{< ui >}}Tag or Attribute{{< /ui >}} : + * Tag : Si vous suivez le format de [tagging recommandé][1] (`:`), le *Tag* est le ``. + * Attribut : Utilisez une [facette ou mesure comme variable de modèle](#logs-apm-and-rum-queries). +* {{< ui >}}Name{{< /ui >}} : Un nom unique pour la variable de modèle qui apparaît dans les requêtes sur le tableau de bord. Les variables de modèle sont automatiquement nommées d'après le tag ou l'attribut sélectionné. +* {{< ui >}}Default Value{{< /ui >}} : La valeur du tag ou de l'attribut qui apparaît automatiquement lorsque le tableau de bord est chargé. Par défaut, cela correspond à `*`. +* {{< ui >}}Available Values{{< /ui >}} : Les valeurs de tag ou d'attribut disponibles pour sélection dans le menu déroulant. Par défaut, cela correspond à `(all)`. La liste des valeurs disponibles inclut toujours `*`, qui interroge toutes les valeurs du tag ou de l'attribut. + +### Valeurs des variables de modèle {#template-variable-values} +Les valeurs des variables de modèle (valeurs disponibles via les menus déroulants des variables de modèle) sont peuplées en fonction des sources utilisées par les widgets dans le tableau de bord. Par exemple, si votre tableau de bord a des widgets interrogeant des journaux, seules les valeurs des journaux sont affichées. Si votre tableau de bord a des widgets interrogeant des journaux, des métriques et du RUM, les valeurs des journaux, des métriques et du RUM sont affichées. + +Pour la plupart des sources, les valeurs des variables de modèle sont pertinentes pour le cadre temporel global de votre tableau de bord. Exemple : +- Si le cadre temporel de votre tableau de bord est réglé sur les 15 dernières minutes, seules les valeurs des variables de modèle des 15 dernières minutes sont affichées. +- Si le cadre temporel de votre tableau de bord est réglé sur le 15 août dernier de 00h00 à 23h59, seules les valeurs de ce cadre temporel sont affichées. + +| Source de données | Période de requête de données | +|-------------------------------------- |---------------------| +| Métriques | Maintenant - 48 heures | +| Coût du cloud | Maintenant - 48 heures | +| Toutes les autres sources | Cadre temporel du tableau de bord | -## Ajouter une template variable +**Remarque** : Si vous ne voyez pas le tag ou l'attribut que vous recherchez, cela peut être dû au fait que ces données n'ont pas été récemment signalées à Datadog. De plus, toutes les données interrogées pour les variables de modèle sont soumises à la politique de conservation des données. Pour plus d'informations, voir [Données historiques][4]. +### Disposition du tableau de bord {#dashboard-layout} +Pour éviter que les variables n'encombrent l'en-tête, le tableau de bord affiche un petit sous-ensemble. Vous pouvez cliquer sur le bouton **+ N** pour voir les N variables supplémentaires présentes sur votre tableau de bord. + + +Si vous avez besoin de voir toutes les variables en même temps en faisant défiler, cliquez sur **Développer les variables de modèle**. + + +## Ajouter une variable de modèle {#add-a-template-variable} Pour ajouter une template variable dans un dashboard : -1. Cliquez sur **Add Variables**. -1. Si des template variables sont déjà définies, survolez l'en-tête du dashboard et cliquez sur le bouton **Edit** pour entrer en mode édition. -1. En mode édition, cliquez sur l'icône **+ (plus)** pour créer une nouvelle template variable. -1. (Facultatif) Après avoir sélectionné un tag, cliquez sur le bouton **+ Configure Dropdown Values** pour renommer la variable et définir les valeurs par défaut ou disponibles. - {{< img src="dashboards/template_variables/add_template_variable_configure_dropdown_values.png" alt="Ajouter un popover Variable affichant le bouton Configure Dropdown Values" style="width:80%;" >}} +1. Cliquez sur {{< ui >}}Add Variable{{< /ui >}} (ou {{< ui >}}+{{< /ui >}} s'il y a des variables de modèle existantes) +2. Sélectionnez dans une liste de variables de modèle recommandées ou recherchez le tag spécifique que vous avez en tête. +4. Sélectionnez les widgets auxquels appliquer cette variable de modèle. +6. Cliquez sur {{< ui >}}Save{{< /ui >}}. + + +### Configurer la variable de modèle {#configure-template-variable} +Lorsque le panneau latéral de la variable de modèle est ouvert, vous pouvez : +* Appliquer (ou retirer) cette variable aux widgets sélectionnés : notez les options {{< ui >}}Select All{{< /ui >}} ou {{< ui >}}Deselect All{{< /ui >}} +* Basculer entre le filtrage et le regroupement +* Modifier le nom d'affichage de la variable (affiché dans l'en-tête et la requête du widget) +* Sélectionner une valeur par défaut dans le menu déroulant +* Aperçu des valeurs du menu déroulant et configuration supplémentaire avec une requête de recherche + -## Modifier une template variable +## Modifier une variable de modèle {#edit-a-template-variable} +1. Survolez la variable de modèle dans l'en-tête du tableau de bord et cliquez sur **Modifier**. Le panneau latéral de la variable de modèle apparaît. +2. Utilisez les options dans le panneau pour personnaliser la variable ou appliquer la variable à d'autres widgets. -Pour modifier une template variable dans un dashboard : -1. Cliquez sur le bouton **Edit** dans lʼen-tête du dashboard -1. En mode édition, cliquez sur une template variable et apportez des modifications dans le popover. -1. Pour réorganiser les variables dans l'en-tête, survolez une variable, puis cliquez sur la poignée de l'icône de déplacement et faites-la glisser. - {{< img src="dashboards/template_variables/edit_template_variable_drag.png" alt="Popover du mode édition de la template variable, affichant lʼicône de déplacement qui vous permet de réorganiser les éléments" style="width:100%;" >}} -## Appliquer une template variable à des widgets +## Vues enregistrées {#saved-views} -Pour ajouter une template variable à des requêtes de widgets : -1. Cliquez sur le bouton **Edit** dans lʼen-tête du dashboard -1. En mode édition, cliquez sur une template variable pour ouvrir son popover. -1. Cliquez sur **Select Widgets** pour ouvrir le mode de sélection de widget. -1. La bannière affiche le nombre de sources utilisant la variable. Dans l'exemple ci-dessous, la template variable `env` est utilisée dans 20 graphiques sur le dashboard : - {{< img src="dashboards/template_variables/apply_template_variable_to_widgets.png" alt="Exemple de dashboard affichant la confirmation pour lʼapplication de la template variable 'env' à 20 widgets" style="width:100%;" >}} -1. Cliquez sur des widgets individuels pour prévisualiser le graphique avec la template variable interpolée. -1. Pour ajouter ou supprimer des informations de tous les widgets d'un groupe, cochez la case située dans le coin droit du groupe. -1. Pour ajouter ou supprimer des informations de tous les widgets du dashboard, cliquez sur **Select All** ou **Deselect All** dans la bannière de sélection. -1. Cliquez sur **Save** ou **X** dans la bannière pour quitter le mode de sélection du widget. +### Créer {#create} -## Vues enregistrées +1. Cliquez sur le menu déroulant {{< ui >}}Saved Views{{< /ui >}} à gauche des variables de modèle dans votre tableau de bord. Lorsque vous mettez à jour une valeur de variable de modèle, la valeur ne se sauvegarde pas automatiquement dans une vue. +1. Pour enregistrer les valeurs actuelles de vos variables de modèle dans une vue, sélectionnez {{< ui >}}Save selections as view{{< /ui >}} dans le menu déroulant {{< ui >}}Saved Views{{< /ui >}}. +1. Entrez un nom unique pour la vue avec une description optionnelle. +1. Cliquez sur {{< ui >}}Save{{< /ui >}}. -### Création +{{< img src="/dashboards/template_variables/saved_view_create.png" alt="Créez des vues enregistrées en sélectionnant enregistrer les sélections en tant que vue" style="width:100%;" >}} -Cliquez sur le menu déroulant **Saved Views** à gauche des template variables dans votre dashboard. Lorsque vous mettez à jour une valeur de template variable, la valeur n'est pas automatiquement enregistrée dans une vue. +Votre vue enregistrée apparaît dans le menu déroulant. Cliquez sur la vue pour récupérer les valeurs de variable de modèle que vous avez précédemment enregistrées. -{{< img src="dashboards/template_variables/saved_views_dropdown_options.png" alt="Options du menu déroulant des éléments enregistrés pour définir les template variables sélectionnées comme vue par défaut ou vue enregistrée" style="width:90%;" >}} +### Supprimer {#delete} -Pour enregistrer les valeurs actuelles de vos template variables dans une vue, sélectionnez **Save selections as view** dans le menu déroulant **Saved Views**. Saisissez un nom unique pour la vue et cliquez sur **Save**. +1. Cliquez sur le menu déroulant des vues enregistrées et survolez la vue enregistrée souhaitée. +1. Cliquez sur {{< ui >}}Delete View{{< /ui >}}. -La vue que vous avez enregistrée apparaît dans le menu déroulant. Cliquez sur la vue pour récupérer les valeurs des template variables précédemment enregistrées. +### Modifier {#modify} -### Supprimer +Le {{< ui >}}Default view{{< /ui >}} ne peut être modifié qu'en changeant les valeurs par défaut des variables de modèle. Pour modifier la Vue par Défaut : +1. Survolez les modèles. +1. Cliquez {{< ui >}}Edit{{< /ui >}} lorsque le bouton apparaît. +1. Cliquez {{< ui >}}Done{{< /ui >}} pour enregistrer. -Pour supprimer une vue, cliquez sur le menu déroulant des vues enregistrées et sélectionnez **Manage views...**. Une fenêtre contenant chacune de vos vues enregistrées avec une icône en forme de corbeille s'affiche alors. Cliquez sur la corbeille appropriée pour supprimer la vue correspondante. +Pour modifier les valeurs des variables de modèle pour d'autres vues enregistrées : +1. Sélectionnez la vue enregistrée souhaitée dans le menu déroulant. +1. Modifiez les variables de modèle pour obtenir les nouveaux modèles souhaités. +1. Ouvrez à nouveau le menu déroulant. +1. Cliquez {{< ui >}}Save Changes{{< /ui >}}. -### Modification +{{< img src="/dashboards/template_variables/saved_views_update_template_variable.png" alt="Modifiez les variables de modèle de vos vues enregistrées" style="width:100%;" >}} -Pour modifier la vue **Default view**, cliquez sur l'icône en forme de crayon et modifiez les valeurs de template variable. Cliquez ensuite sur **Done** pour enregistrer vos modifications. Si une ou plusieurs valeurs dans les autres vues ont été modifiées, enregistrez les valeurs dans une nouvelle vue et supprimez la vue initiale. +Pour modifier le titre et la description : +1. Survolez la vue enregistrée souhaitée dans le menu déroulant. +1. Cliquez {{< ui >}}Edit{{< /ui >}}. +1. Modifiez le titre ou la description. +1. Cliquez sur {{< ui >}}Save{{< /ui >}}. -## API +## Utilisation {#usage} -Les templates variables peuvent être utilisées dans les widgets et dans les recherches d'événements à superposer. +Les templates variables peuvent être utilisées dans les widgets et dans les recherches d'événements à superposer. -### Requêtes RUM, d'APM et de log +### Journaux, APM et requêtes RUM {#logs-apm-and-rum-queries} -Étant donné que les métriques, les logs, l'APM et RUM partagent les mêmes tags, les template variables peuvent être utilisées dans les widgets basés sur leurs requêtes. -Il est possible de définir des template variables RUM, de log ou d'APM basées sur vos facettes. Ces variables commencent par le caractère `@`, par exemple : `@http.status_code`. +Les variables de modèle fonctionnent avec les widgets de journaux, APM et RUM car elles partagent les mêmes tags. Vous pouvez définir des variables de modèle de journaux, APM et RUM en fonction des facettes. Ces variables commencent par `@`, par exemple : `@http.status_code`. -Sur les widgets basés sur des requêtes RUM, APM ou de log, vous pouvez utiliser un wildcard au milieu d'une valeur (par exemple, `eng*@example.com`) ou en utiliser plusieurs dans une valeur (par exemple, `*prod*`). +Sur les widgets de journaux, APM et RUM, vous pouvez utiliser des jokers au milieu d'une valeur (par exemple, `eng*@example.com`) ou utiliser plusieurs jokers dans une valeur (par exemple, `*prod*`). -**Remarque** : le bouton **Add to all** permet d'ajouter ce type de template variable à l'ensemble des widgets basés sur des requêtes RUM, d'APM et de log. +**Remarque** : L'utilisation de {{< ui >}}Add to all{{< /ui >}} pour ce type de variable de modèle ajoute la variable à tous les widgets de journaux, APM et RUM. -### Tracing distribué +### Widgets {#widgets} -Lorsque vous créez ou modifiez un widget, les template variables existantes s'affichent en tant qu'options dans le champ `from`. Par exemple, si vous configurez la template variable `environment`, l'option `$environment` est alors disponible dans le widget. +Lors de la création ou de la modification d'un widget, les variables de modèle de filtre existantes s'affichent comme options dans le champ `from`, et les variables de modèle de regroupement existantes s'affichent comme options après le champ `by`. Par exemple, si vous configurez la variable de modèle `environment`, l'option `$environment` est disponible en tant que variable dynamique dans le widget. -{{< img src="dashboards/template_variables/dynamic_template_variable.png" alt="Les template variables peuvent être définies de façon dynamique dans les widgets" style="width:100%;">}} +{{< img src="dashboards/template_variables/dynamic_template_variable.png" alt="La variable de modèle peut être définie dynamiquement dans les widgets." style="width:100%;">}} -La sélection de **production** pour la valeur `environment` limite dynamiquement le contexte des widgets avec la variable `$environment` vers lʼenvironnement de production. +Sélectionner **production** pour la valeur `environment` limite dynamiquement les widgets avec la variable `$environment` à l'environnement de production. -Lorsque vous modifiez la valeur d'une template variable, l'URL du dashboard se met à jour pour refléter la nouvelle valeur selon le format suivant : `&tpl_var_=`. Par exemple, si la template variable `$env` d'un dashboard est modifiée et définie sur `prod`, le paramètre d'URL correspondra à `&tpl_var_env=prod`. +Lorsque vous changez la valeur d'une variable de modèle, l'URL du tableau de bord se met à jour pour refléter la valeur de la variable de modèle au format `&tpl_var_=`. Par exemple, un tableau de bord avec la variable de modèle `$env` changée en `prod` aurait le paramètre d'URL `&tpl_var_env=prod`. -Pour inclure la valeur dans la requête, ajoutez-la avec la syntaxe `$.value`. Par exemple, avec une template variable nommée `service`, utilisez `env:staging-$service.value`. +Pour inclure la valeur dans la requête, ajoutez-la avec la syntaxe `$.value`. Par exemple, avec une variable de modèle nommée `service`, utilisez `env:staging-$service.value`. Survolez les champs des template variable pour voir d'un coup d'œil les widgets qui utilisent cette variable surlignée sur le dashboard. -#### Template variables associées +#### Variables de modèle associées {#associated-template-variables} -Lorsque vous sélectionnez une template variable, les valeurs associées sont affichées en haut du sélecteur. Les valeurs associées sont calculées à partir d'autres template variable sélectionnées sur la page, ce qui permet d'identifier instantanément les valeurs liées sans aucune configuration. +Lors de la sélection d'une valeur de variable de modèle, les valeurs associées s'affichent en haut du sélecteur. Les valeurs associées sont calculées à partir d'autres valeurs de variables de modèle sélectionnées sur la page et identifient de manière transparente les valeurs connexes sans aucune configuration. -#### Texte +#### Texte {#text} -Pour les widgets à base de texte, vous avez la possibilité d'afficher le tag/attribut et la valeur d'une template variable avec `{TX-PL-LABEL}lt;NOM_TEMPLATE_VARIABLE>`, sa clé avec `{TX-PL-LABEL}lt;NOM_TEMPLATE_VARIABLE>.key` ou sa valeur avec `{TX-PL-LABEL}lt;NOM_TEMPLATE_VARIABLE>.value`. Cette valeur peut être précédée par un caractère non alphanumérique et suivie par une espace ou l'un des caractères suivants : `#`, `$`, `%`, `=`, `;`, `"`, `(`, `)`, `[`, `]`, `{`, `}`, `^`, `*`, `+`, `|` et `?`. +Pour les widgets basés sur du texte, vous pouvez afficher le tag/attribut et la valeur d'une variable de modèle avec `$`, sa clé avec `$.key`, ou sa valeur avec `$.value`. Cela peut venir après tout caractère non alphanumérique et peut être suivi d'un espace ou de l'un des caractères suivants : `#`, `$`, `%`, `=`, `;`, `"`, `(`, `)`, `[`, `]`, `{`, `}`, `^`, `*`, `+`, `|` et `?`. -**Remarque ** : La syntaxe des caractères génériques n'est pas prise en charge à la suite d'une template variable. +**Remarque** : La syntaxe des jokers n'est pas prise en charge après une variable de modèle. -Par exemple, pour une template variable nommée `env` avec le tag/attribut `environment` et la valeur sélectionnée `dev` : +Par exemple, avec une variable de modèle nommée `env`, avec le tag/attribut `environment`, et avec une valeur sélectionnée de `dev` : * `$env` affiche `environment:dev` * `$env.key` affiche `environment` * `$env.value` affiche `dev` -* `$env*` recherche la valeur exacte `dev*`, PAS `dev{dynamic-wildcard-value}` +* `$env*` recherche la valeur exacte `dev*` PAS `dev{dynamic-wildcard-value}` -### Superposition d'événements +### Superposition des événements {#events-overlay} -Les template variables peuvent être utilisées lorsque vous recherchez des événements à superposer afin de trouver des événements qui partagent certains tags avec les métriques de votre dashboard. Les événements à superposer sont appliqués à l'ensemble d'un graphique individuel. +Utilisez la recherche de superposition des événements avec des variables de modèle pour trouver des événements qui partagent certains tags avec les métriques de votre tableau de bord. La recherche de superposition des événements est appliquée à travers un graphique individuel. -Les valeurs des template variables de dashboard peuvent être directement récupérées en utilisant la syntaxe `$.value` dans le champ de recherche d'événement. +Les valeurs des variables de modèle du tableau de bord peuvent être directement capturées en utilisant la syntaxe `$.value` dans le champ de recherche d'événements. -**Remarque** : les template variables de dashboard doivent être des tags de métrique et non des tags d'événement. +**Remarque** : Les variables de modèle du tableau de bord doivent être des tags de métriques, pas des tags d'événements. -#### Dashboard +#### Dashboard {#dashboard} Pour rechercher des événements à l'aide de template variables depuis votre dashboard, utilisez le format suivant : @@ -149,26 +189,27 @@ Pour rechercher des événements à l'aide de template variables depuis votre da :$.value ``` -Par exemple, si vous recherchez `region:$region.value` et que la valeur sélectionnée pour la template variable `region` est `us-east1`, vous obtenez les événements associés au tag `region:us-east1`. Les barres roses sur les graphiques indiquent à quel moment les événements se sont produits. +Par exemple, rechercher `region:$region.value` avec une valeur de `us-east1` pour la variable de modèle `region` affiche des événements avec le tag `region:us-east1`. De plus, le timing des événements est marqué par des barres roses dans les graphiques. -Utilisez des virgules pour effectuer une recherche à partir de plusieurs template variables. Exemple : `role:$role.value,env:$env.value` +Utilisez des virgules pour rechercher en utilisant plusieurs variables de modèle, par exemple : `role:$role.value,env:$env.value` -**Remarque** : après avoir validé votre recherche avec *Entrée*, `$region.value` est remplacé par la valeur dans le menu déroulant de la template variable. +**Remarque** : Une fois que vous appuyez sur *enter* pour rechercher, `$region.value` se met à jour avec la valeur dans le menu déroulant de la variable de modèle. -#### Tracing distribué +#### Widgets {#widgets-1} -Depuis un widget, utilisez les template variables pour visualiser à quel moment les événements se sont produits. Le format à appliquer est le suivant : +Depuis un widget, utilisez les template variables pour visualiser à quel moment les événements se sont produits. Utilisez le format suivant : ```text $ ``` -Par exemple, essayez d'entrer `$region` dans la barre de recherche d'événements à superposer. Vous obtenez les événements correspondant à la valeur sélectionnée dans le menu déroulant de la template variable `region` : +Par exemple, entrez `$region` dans la boîte de recherche des superpositions d'événements. Cela recherche des événements avec la valeur dans le menu déroulant de la variable de modèle `region`. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: /fr/getting_started/tagging/#define-tags [2]: /fr/logs/explorer/facets/ -[3]: /fr/real_user_monitoring/explorer/?tab=facets#setup-facets-measures \ No newline at end of file +[3]: /fr/real_user_monitoring/explorer/?tab=facets#setup-facets-measures +[4]: /fr/dashboards/faq/historical-data/ \ No newline at end of file diff --git a/content/fr/dashboards/widgets/_index.md b/content/fr/dashboards/widgets/_index.md index b99a907e19d..8b62503e044 100644 --- a/content/fr/dashboards/widgets/_index.md +++ b/content/fr/dashboards/widgets/_index.md @@ -3,182 +3,98 @@ aliases: - /fr/graphing/dashboards/widgets - /fr/graphing/faq/widgets - /fr/graphing/widgets +description: Blocs de construction de tableau de bord pour visualiser et corréler + des données à travers l'infrastructure avec divers types de graphiques et d'affichages. further_reading: -- link: /dashboards/guide/context-links/ +- link: /dashboards/ tag: Documentation - text: Liens personnalisés -title: Widgets + text: En savoir plus sur les tableaux de bord +- link: /dashboards/widgets/configuration + tag: Documentation + text: Découvrez les options de configuration des widgets et les meilleures pratiques +- link: /dashboards/widgets/types/ + tag: Documentation + text: Explorez tous les types de widgets disponibles +title: Taux --- +## Aperçu {#overview} -## Présentation - -Les widgets représentent les éléments constitutifs de vos dashboards. Ils vous permettent de visualiser et de mettre en corrélation vos données dans l'ensemble de votre infrastructure. - -### Graphiques -{{< whatsnext desc="Widgets généraux permettant de représenter les données des produits Datadog : ">}} - {{< nextlink href="/dashboards/widgets/change" - img="dashboards/widgets/icons/change_light_large.png">}}Évolution{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/distribution" - img="dashboards/widgets/icons/distribution_light_large.png">}}Distribution{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/funnel" - img="dashboards/widgets/icons/funnel_light_large.png">}}Entonnoir{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/geomap" - img="dashboards/widgets/icons/geomap_light_large.png">}}Geomap{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/heat_map" - img="dashboards/widgets/icons/heatmap_light_large.png">}}Carte thermique{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/pie_chart" - img="dashboards/widgets/icons/pie_light_large.png">}}Graphique circulaire{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/query_value" - img="dashboards/widgets/icons/query-value_light_large.png">}}Valeur de requête{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/scatter_plot" - img="dashboards/widgets/icons/scatter-plot_light_large.png">}}Nuage de points{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/table" - img="dashboards/widgets/icons/table_light_large.png">}} Tableau{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/treemap" - img="dashboards/widgets/icons/treemap_light_large.png">}} Treemap{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/timeseries" - img="dashboards/widgets/icons/timeseries_light_large.png">}}Série temporelle{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/top_list" - img="dashboards/widgets/icons/top-list_light_large.png">}}Top list{{< /nextlink >}} -{{< /whatsnext >}} - -### Groups -{{< whatsnext desc="Affichez vos widgets dans des groupes : ">}} - {{< nextlink href="/dashboards/widgets/group" - img="dashboards/widgets/icons/group_default_light_large.svg">}} Groupe{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/powerpack" - img="dashboards/widgets/icons/group_powerpack_light_large.svg">}} Powerpack{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/split_graph" - img="dashboards/widgets/icons/group-split_light_small.svg">}} Graphe scindé{{< /nextlink >}} -{{< /whatsnext >}} - -### Annotations et embeds -{{< whatsnext desc="Widgets décoratifs permettant de structurer visuellement les dashboards et d'y ajouter des annotations : ">}} - {{< nextlink href="/dashboards/widgets/free_text" - img="dashboards/widgets/icons/free-text_light_large.png">}}Texte libre{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/iframe" - img="dashboards/widgets/icons/iframe_light_large.png">}}iframe{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/image" - img="dashboards/widgets/icons/image_light_large.png">}}Image{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/note" - img="dashboards/widgets/icons/notes_light_large.png">}}Notes et liens{{< /nextlink >}} -{{< /whatsnext >}} - -### Listes et flux -{{< whatsnext desc="Affichez une liste d'événements et de problèmes provenant de diverses sources : ">}} - {{< nextlink href="/dashboards/widgets/list" - img="dashboards/widgets/icons/change_light_large.png">}} Liste{{< /nextlink >}} -{{< /whatsnext >}} - -### Alertes et réponse -{{< whatsnext desc="Widgets de synthèse permettant d'afficher des données de surveillance : ">}} - {{< nextlink href="/dashboards/widgets/alert_graph" - img="dashboards/widgets/icons/alert-graph_light_large.png">}} Graphique des alertes{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/alert_value" - img="dashboards/widgets/icons/alert-value_light_large.png">}}Valeur d'alerte{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/check_status" - img="dashboards/widgets/icons/check-status_light_large.png">}} Statut de check{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/monitor_summary" - img="dashboards/widgets/icons/monitor-summary_light_large.png">}} Résumé des monitors{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/run_workflow" - img="dashboards/widgets/icons/run-workflow_light_small.svg">}} Exécuter un workflow{{< /nextlink >}} -{{< /whatsnext >}} - -### Architecture -{{< whatsnext desc="Visualisez des données sur votre infrastructure et architecture : ">}} - {{< nextlink href="/dashboards/widgets/hostmap" - img="dashboards/widgets/icons/host-map_light_large.png">}}Hostmap{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/topology_map" - img="dashboards/widgets/icons/service-map_light_large.png">}}Carte de topologie{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/service_summary" - img="dashboards/widgets/icons/service-summary_light_large.png">}}Résumé de service{{< /nextlink >}} -{{< /whatsnext >}} - -### Performances et fiabilité -{{< whatsnext desc="Visualisations sur la fiabilité des sites : ">}} - {{< nextlink href="/dashboards/widgets/profiling_flame_graph" - img="dashboards/widgets/icons/profiling_flame_graph.svg">}} Flamegraph de profiling{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/slo" - img="dashboards/widgets/icons/slo-summary_light_large.png">}} Résumé des SLO{{< /nextlink >}} - {{< nextlink href="/dashboards/widgets/slo_list" - img="dashboards/widgets/icons/slo-list_light_large.png">}} Liste de SLO{{< /nextlink >}} -{{< /whatsnext >}} - -## Plein écran - -Vous pouvez afficher la plupart des widgets en mode plein écran et effectuer les opérations suivantes : - -* Modifier des intervalles de temps -* Avancer ou reculer en fonction de l'intervalle de temps sélectionné -* Mettre le graphique en pause à la période en cours ou afficher le graphique en direct -* Réinitialiser des intervalles de temps -* Exporter le graphique vers un dashboard, un notebook ou copier la requête -* Télécharger les données à l'origine du graphique au format CSV +Les widgets de tableau de bord sont des représentations visuelles des données. Ils servent de blocs de construction pour vos [tableaux de bord][2] afin de visualiser et de corréler vos données à travers votre infrastructure. Ils peuvent contenir différents types d'informations, telles que des graphiques, des images, des journaux et des statuts, pour vous donner un aperçu de vos systèmes et environnements. -Pour accéder directement à la vue d'ensemble du widget, cliquez sur le bouton d'affichage en plein écran situé en haut à droite du widget. +## Commencer {#get-started} -Des options supplémentaires sont disponibles pour [les widgets Série temporelle][1]. +Le moyen le plus rapide d'intégrer des widgets pertinents à vos données est de cloner un tableau de bord à partir de la [liste prédéfinie][1] qui inclut des tableaux de bord créés par d'autres membres de votre organisation et des modèles prêts à l'emploi pour vos intégrations installées. Après avoir cloné un tableau de bord, vous pouvez personnaliser les widgets selon votre cas d'utilisation. -## Liens personnalisés -Les liens personnalisés permettent d'associer des valeurs de données à des URL, comme une page Datadog ou votre console AWS. - -Pour personnaliser les interactions avec les données intégrées à vos widgets génériques, consultez la section [Liens personnalisés][2]. - -## Remplacement des unités - -Personnalisez les unités affichées dans les widgets afin d'enrichir le contexte de vos données. Pour en savoir plus et découvrir des cas d'utilisation, consultez la section [Personnaliser vos visualisations avec les remplacements d'unités][3]. -- **Remplacement des unités** : choisissez d'afficher des unités de la famille « mémoire », et laissez Datadog choisir l'échelle appropriée en fonction des données (comme les mégaoctets ou les gigaoctets). -- **Remplacement des unités et de l'échelle** : assignez une échelle unique à des unités (par exemple, afficher les données en mégaoctets quelle que soit la valeur). -- **Définir des unités personnalisées** : définissez des unités entièrement personnalisées (telles que « test » au lieu d'un nombre générique). - -Ces options ne vous dispensent pas d'attribuer des unités à vos données. -{{< whatsnext desc="Définir des unités au niveau de l'organisation : ">}} - {{< nextlink href="/metrics/units/">}} Définir des unités pour les métriques{{< /nextlink >}} - {{< nextlink href="/logs/explorer/facets/#units">}} Définir des unités pour les requêtes basées sur des événements{{< /nextlink >}} +{{< whatsnext desc="Guides et cours supplémentaires pour en savoir plus sur les widgets :" >}} + {{< nextlink href="/getting_started/dashboards/" >}}Commencer avec les tableaux de bord : Guide pour construire un tableau de bord avec des widgets{{< /nextlink >}} + {{< nextlink href="https://learn.datadoghq.com/courses/dashboard-graph-widgets" >}}Widgets de graphique de tableau de bord : Cours du centre d'apprentissage expliquant comment créer, configurer et utiliser des widgets de graphique de tableau de bord{{< /nextlink >}} + {{< nextlink href="https://learn.datadoghq.com/courses/intro-dashboards" >}}Introduction aux tableaux de bord : Cours du centre d'apprentissage expliquant comment construire un tableau de bord dans un environnement de test{{< /nextlink >}} {{< /whatsnext >}} -## Copier et coller des widgets - -
Vous devez posséder les autorisations dashboard_public_share et activer le Partage des données publiques statiques dans vos Paramètres d'organisation pour utiliser cette fonctionnalité.
- -Les widgets peuvent être copiés sur les pages des [dashboards][4], [notebooks][5], [services APM][6] et [ressources APM][7] à l'aide du raccourci `Ctrl + C` (`Cmd + C` pour Mac). Vous pouvez également sélectionner l'icône de partage et choisir l'option Copy. +### Ajouter un widget à votre tableau de bord {#add-a-widget-to-your-dashboard} -Les widgets copiés peuvent être collés dans Datadog en utilisant les touches `Ctrl + V` (`Cmd + V` pour Mac) : +Pour commencer à utiliser des widgets dans vos tableaux de bord : -* Sur les **dashboards** : cela ajoute un nouveau widget sous le curseur de votre souris. -* Sur les **notebooks** : cela ajoute une nouvelle cellule à la fin du notebook. +1. Accédez à la [Liste des tableaux de bord][1] dans Datadog. +2. Cliquez sur {{< ui >}}New Dashboard{{< /ui >}} ou sélectionnez un tableau de bord existant à modifier. +3. Cliquez sur {{< ui >}}Add Widget{{< /ui >}}. Choisissez parmi une variété de types de widgets tels que les séries temporelles, les graphiques à barres, les tableaux ou les flux d'événements. +4. Configurez votre widget : + - Sélectionnez la source de données : Choisissez des métriques, des journaux, des traces ou d'autres sources de données. + - Personnalisez la visualisation : Ajustez les paramètres d'affichage, les unités et les périodes pour répondre à vos besoins. + - Ajoutez du contexte : Utilisez des liens personnalisés, un formatage conditionnel et un regroupement pour des informations améliorées. +5. Enregistrez votre tableau de bord et partagez-le avec votre équipe ou à l'extérieur si nécessaire. -Vous pouvez également coller un widget dans votre logiciel de discussion préféré, tant que celui-ci affiche les prévisualisations de lien (par exemple, Slack ou Microsoft Teams). Cela vous permet d'afficher une image d'un snapshot de votre graphique, ainsi qu'un lien direct vers le widget. +Pour plus d'informations, consultez [Configuration des widgets][3] et explorez les [Types de widgets][4] disponibles. -### Groupe de widgets +### Organisez les widgets avec des onglets {#organize-widgets-with-tabs} -Vous pouvez copier les groupes de widgets d'un timeboard. Pour ce faire, passez le curseur sur la zone du groupe de widgets et appuyez sur les touches `Ctrl + C` (`Cmd + C` sur Mac), ou sélectionnez l'icône de partage et choisissez l'option Copy. +À mesure que les tableaux de bord se développent, utilisez des onglets pour regrouper les widgets en sections nommées. En mode édition, ouvrez le menu de partage d'un widget et sélectionnez **Déplacer vers l'onglet** pour l'assigner à un onglet existant ou en créer un nouveau. Les onglets apparaissent sous forme de barre de navigation en haut du tableau de bord, permettant aux utilisateurs de naviguer directement vers la section dont ils ont besoin. Pour plus d'informations, consultez [Onglets][5]. -**Remarque** : lorsque vous collez des graphiques dans des screenboards ou des notebooks, chaque widget du groupe est collé. +## Sources de données {#data-sources} -Pour copier plusieurs widgets de screenboard (en mode éditeur uniquement), cliquez sur les widgets en maintenant la touche Maj enfoncée, puis appuyez sur les touches `Ctrl + C` (`Cmd + C` sur Mac). +Les widgets peuvent visualiser des données provenant de plusieurs sources Datadog, y compris : -**Remarque** : ces raccourcis fonctionnent uniquement lorsque vous partagez des widgets dans Datadog. Ils ne génèrent pas d'image d'aperçu. +- **APM Traces** : Données de surveillance des performances des applications +- **Événements** : Événements personnalisés, déploiements et annotations +- **Journaux** : Événements de journal, analyses de journaux et métriques basées sur les journaux +- **Métriques** : Infrastructure, application et métriques personnalisées +- **RUM** : Surveillance des utilisateurs réels et données de tests synthétiques +- **SLOs** : Objectifs de niveau de service et budgets d'erreur +- **Sécurité** : Signaux de sécurité et données de conformité -## Exporter des graphiques +## Cas d'utilisation courants {#common-use-cases} -### Format PNG +{{% collapse-content title="Surveillance d'infrastructure" level="h4" expanded=false %}} +- Utilisez **des widgets Timeseries** pour les métriques CPU, mémoire et réseau dans le temps +- Utilisez **des widgets Hostmap** pour visualiser l'utilisation des ressources dans votre infrastructure +- Utilisez **des widgets Top List** pour identifier les hôtes ou services les plus gourmands en ressources +{{% /collapse-content %}} -Pour télécharger un widget au format PNG, cliquez sur le bouton d'exportation dans le coin supérieur droit du widget, puis sélectionnez l'option **Download as PNG**. +{{% collapse-content title="Performances de l'application" level="h4" expanded=false %}} +- Utilisez **des widgets Timeseries** pour suivre les temps de réponse, les taux d'erreur et le débit +- Utilisez **des widgets Service Summary** pour des aperçus de la santé des services à un niveau élevé +- Utilisez **des widgets Topology Map** pour visualiser les dépendances des services et le flux de données +{{% /collapse-content %}} -### Format CSV +{{% collapse-content title="Business Intelligence" level="h4" expanded=false %}} +- Utilisez **des widgets Query Value** pour les indicateurs de performance clés et les métriques commerciales +- Utilisez **des widgets Funnel** pour suivre la conversion des utilisateurs à travers votre application +- Utilisez **des widgets Retention** pour analyser l'engagement des utilisateurs et le taux de désabonnement +{{% /collapse-content %}} -Pour exporter les données d'un widget Série temporelle, Tableau ou Top list au format CSV, cliquez sur le bouton d'exportation dans le coin supérieur droit du widget, puis sélectionnez l'option **Download as CSV**. +{{% collapse-content title="Réponse aux incidents" level="h4" expanded=false %}} +- Utilisez **des widgets Alert Graph** pour montrer l'historique et les tendances des alertes +- Utilisez **des widgets Monitor Summary** pour l'état actuel des alertes dans votre infrastructure +- Utilisez **des widgets Event Stream** pour la surveillance des événements en temps réel +{{% /collapse-content %}} -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[1]: /fr/dashboards/widgets/timeseries/#full-screen -[2]: /fr/dashboards/guide/context-links/ -[3]: /fr/dashboards/guide/unit-override -[4]: /fr/dashboards/ -[5]: /fr/notebooks/ -[6]: /fr/tracing/services/service_page/ -[7]: /fr/tracing/services/resource_page/ \ No newline at end of file +[1]: https://app.datadoghq.com/dashboard/lists/preset/1 +[2]: /fr/dashboards/ +[3]: /fr/dashboards/widgets/configuration/ +[4]: /fr/dashboards/widgets/types/ +[5]: /fr/dashboards/configure/#tabs \ No newline at end of file diff --git a/content/fr/data_observability/jobs_monitoring/databricks/_index.md b/content/fr/data_observability/jobs_monitoring/databricks/_index.md new file mode 100644 index 00000000000..5f8739d726f --- /dev/null +++ b/content/fr/data_observability/jobs_monitoring/databricks/_index.md @@ -0,0 +1,526 @@ +--- +aliases: +- /fr/data_jobs/databricks +description: 'Activer l''observabilité des données : Surveillance des travaux pour + les espaces de travail Databricks avec authentification OAuth ou jeton d''accès + personnel et installation de l''agent Datadog.' +further_reading: +- link: /data_jobs + tag: Documentation + text: 'Observabilité des données : Surveillance des travaux' +- link: https://www.datadoghq.com/blog/databricks-serverless-jobs-datadog/ + tag: Blog + text: Détecter les problèmes et optimiser les dépenses avec la surveillance des + travaux sans serveur de Databricks +title: 'Activer l''observabilité des données : Surveillance des travaux pour Databricks' +--- +[Observabilité des données : Surveillance des travaux][7] 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 {#setup} + +
Si votre espace de travail Databricks a des restrictions réseau activées, {{< region-param key="ip_ranges_url_webhooks" link="true" text="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](#configure-the-datadog-databricks-integration) pour un espace de travail Databricks. +1. [Installer l'agent Datadog](#install-the-datadog-agent) sur vos clusters Databricks dans l'espace de travail. + + +### Configurer l'intégration Datadog-Databricks {#configure-the-datadog-databricks-integration} + +{{< tabs >}} + +{{% tab "Utiliser un principal de service pour OAuth" %}} + +
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 {#create-and-configure-the-service-principal-in-databricks} + +1. En tant qu'**administrateur d'espace de travail Databricks**, allez à {{< ui >}}Settings{{< /ui >}} en cliquant sur votre profil dans le coin supérieur droit de l'espace de travail. +1. Dans l'onglet {{< ui >}}Identity and access{{< /ui >}}, cliquez sur {{< ui >}}Manage{{< /ui >}} à côté de {{< ui >}}Service principals{{< /ui >}}. +1. Cliquez sur {{< ui >}}Add service principal{{< /ui >}}, puis cliquez sur {{< ui >}}Add new{{< /ui >}}. +1. 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".
+ +1. Cliquez sur le nom de votre nouveau principal de service. Sous l'onglet {{< ui >}}Secrets{{< /ui >}}, cliquez sur {{< ui >}}Generate secret{{< /ui >}}. + 1. Définissez {{< ui >}}Lifetime (days){{< /ui >}} sur la valeur maximale autorisée (730). + + 1. Cliquez sur {{< ui >}}Generate{{< /ui >}}. + + 1. Prenez note de votre ID client et de votre secret client. + + {{< img src="data_jobs/databricks/client-id-secret.png" alt="Dans Databricks, une fenêtre modale affichant l'ID client et le secret associés à un nouveau secret OAuth est affichée." style="width:70%;" >}} + +1. Dans l'onglet {{< ui >}}Permissions{{< /ui >}}, cliquez sur {{< ui >}}Grant access{{< /ui >}}. Recherchez le nouveau principal de service, accordez-lui la permission {{< ui >}}Manage{{< /ui >}}, puis cliquez sur {{< ui >}}Save{{< /ui >}}. +1. Retournez à l'onglet {{< ui >}}Identity and access{{< /ui >}} et cliquez sur {{< ui >}}Manage{{< /ui >}} à côté de {{< ui >}}Groups{{< /ui >}}. +1. Cliquez sur le groupe {{< ui >}}admins{{< /ui >}}, puis cliquez sur {{< ui >}}Add members{{< /ui >}} pour ajouter le nouveau principal de service. + +#### Ajoutez l'espace de travail Databricks à Datadog {#add-the-databricks-workspace-to-datadog} + +1. Dans Datadog, ouvrez la tuile d'intégration Databricks. +1. Dans l'onglet {{< ui >}}Configure{{< /ui >}}, cliquez sur {{< ui >}}Add Databricks Workspace{{< /ui >}}. +1. 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. + {{< img src="data_jobs/databricks/connect-workspace-form-m2m.png" alt="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." style="width:100%;" >}} +1. Pour obtenir une visibilité sur vos coûts Databricks dans l'observabilité des données : Surveillance des travaux ou [Gestion des Coûts Cloud][18], fournissez l'ID d'un [Entrepôt SQL Databricks][19] que Datadog peut utiliser pour interroger vos [tables système][20]. + - Le principal de service doit avoir accès à l'Entrepôt SQL. Dans la page de configuration de l'Entrepôt, allez à {{< ui >}}Permissions{{< /ui >}} (en haut à droite) et accordez-lui la permission `CAN USE`. + - Accordez au principal de service un accès en lecture aux [tables système][20] du Catalogue Unity en exécutant les commandes suivantes : + ```sql + GRANT USE CATALOG ON CATALOG system TO ; + GRANT SELECT ON CATALOG system TO ; + GRANT USE SCHEMA ON CATALOG system TO ; + ``` + 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. +1. Dans la section **Sélectionnez les produits pour configurer l'intégration**, assurez-vous que l'observabilité des données : Surveillance des travaux est {{< ui >}}Enabled{{< /ui >}}. +1. Dans la section {{< ui >}}Datadog Agent Setup{{< /ui >}}, choisissez soit + - [Géré par Datadog (recommandé)](?tab=datadogmanagedglobalinitscriptrecommended#install-the-datadog-agent) : Datadog installe et gère l'Agent avec un script d'initialisation global dans l'espace de travail. + - [Manuellement](?tab=manuallyinstallaglobalinitscript#install-the-datadog-agent) : Suivez les [instructions ci-dessous](?tab=manuallyinstallaglobalinitscript#install-the-datadog-agent) pour installer et gérer le script d'initialisation pour installer l'Agent globalement ou sur des clusters Databricks spécifiques. + +[18]: https://docs.datadoghq.com/fr/cloud_cost_management/ +[19]: https://docs.databricks.com/aws/en/compute/sql-warehouse/ +[20]: https://docs.databricks.com/aws/en/admin/system-tables/ + +{{% /tab %}} + +{{% tab "Connectivité par Lien Privé" %}} + +Si votre espace de travail Databricks est déployé en utilisant [Connectivité par Lien Privé][25], Datadog ne peut pas accéder directement aux API Databricks. Cela nécessite l'utilisation d'un [Exécuteur d'Action Privé][26] déployé dans votre environnement. + +Voir [Connectivité par Lien Privé (Aperçu)][15] pour des instructions complètes de configuration. + +[15]: /fr/data_observability/jobs_monitoring/databricks/private_link +[25]: https://docs.databricks.com/aws/en/security/network/front-end/front-end-private-connect +[26]: https://docs.datadoghq.com/fr/actions/private_actions/ + +{{% /tab %}} + +{{% tab "Utiliser un Jeton d'Accès Personnel (Héritage)" %}} + +
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 à {{< ui >}}Settings{{< /ui >}}. Sélectionnez {{< ui >}}Developer{{< /ui >}} dans la barre latérale gauche. À côté de {{< ui >}}Access tokens{{< /ui >}}, cliquez sur {{< ui >}}Manage{{< /ui >}}. +1. Cliquez sur {{< ui >}}Generate new token{{< /ui >}}, entrez "Intégration Datadog" dans le champ {{< ui >}}Comment{{< /ui >}}, définissez la valeur {{< ui >}}Lifetime (days){{< /ui >}} au maximum autorisé (730 jours) et créez un rappel pour mettre à jour le jeton avant son expiration. Ensuite, cliquez sur {{< ui >}}Generate{{< /ui >}}. 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][10] pour générer un jeton d'accès pour un [principal de service][11]. Le principal de service doit avoir le droit d'accès [Accès à l'espace de travail][17] activé et les permissions Administrateur de l'espace de travail ou CAN VIEW [9] comme décrit ci-dessus. +1. Dans Datadog, ouvrez la tuile d'intégration Databricks. +1. Dans l'onglet {{< ui >}}Configure{{< /ui >}}, cliquez sur {{< ui >}}Add Databricks Workspace{{< /ui >}}. +1. 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é. + {{< img src="data_jobs/databricks/configure-workspace-form.png" alt="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." style="width:100%;" >}} +1. Pour obtenir une visibilité sur vos coûts Databricks dans l'observabilité des données : Surveillance des travaux ou [Gestion des Coûts Cloud][18], fournissez l'ID d'un [Entrepôt SQL Databricks][19] que Datadog peut utiliser pour interroger vos [tables système][20]. + + - 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][20] du Catalogue Unity en exécutant les commandes suivantes : + ```sql + GRANT USE CATALOG ON CATALOG system TO ; + GRANT SELECT ON CATALOG system TO ; + GRANT USE SCHEMA ON CATALOG system TO ; + ``` + 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. +1. Dans la section **Sélectionnez les produits pour configurer l'intégration**, assurez-vous que le produit Data Observability : Surveillance des travaux est **Activé**. +1. Dans la section {{< ui >}}Datadog Agent Setup{{< /ui >}}, choisissez soit + - [Géré par Datadog (recommandé)](?tab=datadogmanagedglobalinitscriptrecommended#install-the-datadog-agent) : Datadog installe et gère l'Agent avec un script d'initialisation global dans l'espace de travail. + - [Manuellement](?tab=manuallyinstallaglobalinitscript#install-the-datadog-agent) : Suivez les [instructions ci-dessous](?tab=manuallyinstallaglobalinitscript#install-the-datadog-agent) pour installer et gérer le script d'initialisation afin d'installer l'Agent globalement ou sur des clusters Databricks spécifiques. + +[9]: https://docs.databricks.com/en/security/auth-authz/access-control/index.html#job-acls +[10]: https://docs.databricks.com/en/admin/users-groups/service-principals.html#manage-personal-access-tokens-for-a-service-principal +[11]: https://docs.databricks.com/en/admin/users-groups/service-principals.html#what-is-a-service-principal +[17]: https://docs.databricks.com/aws/en/security/auth/entitlements#entitlements-overview +[18]: https://docs.datadoghq.com/fr/cloud_cost_management +[19]: https://docs.databricks.com/aws/en/compute/sql-warehouse/ +[20]: https://docs.databricks.com/aws/en/admin/system-tables/ + + +{{% /tab %}} + +{{< /tabs >}} + +### Installez l'Agent Datadog {#install-the-datadog-agent} + +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][4]. + +{{< tabs >}} +{{% tab "Script global d'initialisation géré par Datadog (Recommandé)" %}} + +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 {#when-integrating-a-workspace-with-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é**. +1. Dans la section {{< ui >}}Datadog Agent Setup{{< /ui >}}, sélectionnez le {{< ui >}}Managed by Datadog{{< /ui >}} bouton bascule. +1. Cliquez {{< ui >}}Select API Key{{< /ui >}} pour soit sélectionner une clé API Datadog existante, soit créer une nouvelle clé API Datadog. +1. (Optionnel) Désactivez {{< ui >}}Enable Log Collection{{< /ui >}} si vous ne souhaitez pas collecter les journaux du pilote et des travailleurs pour les corréler avec les travaux. +1. Cliquez {{< ui >}}Save Databricks Workspace{{< /ui >}}. + {{< img src="data_jobs/databricks/configure-data-jobs-monitoring-new-2.png" alt="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." style="width:100%;" >}} + +#### Lors de l'ajout du script d'initialisation à un espace de travail Databricks déjà intégré avec Datadog {#when-adding-the-init-script-to-a-databricks-workspace-already-integrated-with-datadog} + +1. Dans l'onglet **Configurer**, cliquez sur l'espace de travail dans la liste des espaces de travail +1. Cliquez sur l'onglet {{< ui >}}Configured Products{{< /ui >}} +1. Assurez-vous que le produit Data Observability : Surveillance des travaux est **Activé**. +1. Dans la section {{< ui >}}Datadog Agent Setup{{< /ui >}}, sélectionnez le bouton bascule {{< ui >}}Managed by Datadog{{< /ui >}}. +1. Cliquez {{< ui >}}Select API Key{{< /ui >}} pour sélectionner une clé API Datadog existante ou créer une nouvelle clé API Datadog. +1. (Optionnel) Désactivez {{< ui >}}Enable Log Collection{{< /ui >}} si vous ne souhaitez pas collecter les journaux du pilote et des travailleurs pour les corréler avec les travaux. +1. Cliquez sur **Enregistrer l'espace de travail Databricks** en bas de la fenêtre du navigateur. + {{< img src="data_jobs/databricks/configure-data-jobs-monitoring-existing.png" alt="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." style="width:100%;" >}} + +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 {{< ui >}}Advanced Configuration{{< /ui >}} de votre cluster dans l'interface utilisateur Databricks ou en tant que [variables d'environnement Spark][2] avec l'API Databricks : + +| Variable | Description | +|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| DD_TAGS | Ajoutez 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][1]. Exemple : `env:staging,team:data_engineering` | +| DD_ENV | Définissez la balise d'environnement `env` sur les métriques, les traces et les journaux de ce cluster. | +| DD_LOGS_CONFIG_PROCESSING_RULES | Filtrez les journaux collectés avec des règles de traitement. Consultez [Collecte avancée de journaux][3] pour plus de détails. | + + +[1]: /fr/getting_started/tagging/ +[2]: https://docs.databricks.com/api/workspace/clusters/edit#spark_env_vars +[3]: /fr/agent/logs/advanced_log_collection/?tab=environmentvariable#global-processing-rules +[4]: https://docs.databricks.com/aws/en/compute/serverless/ + +{{% /tab %}} + +{{% tab "Configurez manuellement une politique de cluster" %}} + +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é][26] 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`). + + ```shell + #!/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][3]. + +1. 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. + 1. Au niveau du catalogue, accordez la permission `USE CATALOG` à tous les utilisateurs du compte. + +1. **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][27] pour ajouter le chemin de votre script d'initialisation à la liste blanche. + +**Configurez la politique de calcul** + +1. Dans {{< ui >}}Compute{{< /ui >}}, accédez à l'onglet {{< ui >}}Policies{{< /ui >}}. 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 {{< ui >}}Create Policy{{< /ui >}} pour créer une nouvelle politique. +1. Pour ajouter le script d'initialisation à la politique de cluster, dans la section {{< ui >}}Definition{{< /ui >}}, cliquez sur {{< ui >}}Add Definition{{< /ui >}}. Dans la fenêtre modale qui s'ouvre, remplissez les champs : + 1. Dans le menu déroulant {{< ui >}}Field{{< /ui >}}, sélectionnez {{< ui >}}init_scripts{{< /ui >}}. + 1. Dans le menu déroulant {{< ui >}}Source{{< /ui >}}, sélectionnez {{< ui >}}Volume{{< /ui >}}. + 1. Sous {{< ui >}}Destination{{< /ui >}}, entrez le chemin du volume vers votre script d'initialisation. + 1. Cliquez sur {{< ui >}}Add{{< /ui >}}. +1. 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_KEY | Votre [clé API Datadog][1]. | + | DD_SITE | Votre [site Datadog][2]. | + | DATABRICKS_WORKSPACE | Nom de votre espace de travail Databricks. Il doit correspondre au nom fourni dans l'[étape d'intégration Datadog-Databricks](#configure-the-datadog-databricks-integration). Entourez le nom de guillemets doubles s'il contient des espaces. | + + 1. Pour chacune des variables ci-dessus, dans la {{< ui >}}Definition{{< /ui >}} section, cliquez sur {{< ui >}}Add Definition{{< /ui >}}. Dans la fenêtre modale qui s'ouvre, remplissez les champs : + 1. Dans le menu déroulant {{< ui >}}Field{{< /ui >}}, sélectionnez {{< ui >}}spark_env_vars{{< /ui >}}. + 1. Dans le champ {{< ui >}}Key{{< /ui >}}, entrez la clé de la variable d'environnement. + 1. Dans le champ {{< ui >}}Value{{< /ui >}}, entrez la valeur de la variable d'environnement. + 1. Sous le menu déroulant {{< ui >}}Type{{< /ui >}}, sélectionnez {{< ui >}}Fixed{{< /ui >}}. + 1. Cochez la case {{< ui >}}Hidden{{< /ui >}} pour réduire l'exposition des valeurs sensibles. + 1. 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 : + + | Variable | Description | Par défaut | + |--------------------------| ------------------------------------------------------------------------------------------------------------------------------------------------------------------| ---------| + | DRIVER_LOGS_ENABLED | Collecter les journaux du pilote spark dans Datadog. | faux | + | WORKER_LOGS_ENABLED | Collecter les journaux des travailleurs spark dans Datadog. | faux | + | DD_TAGS | Ajouter 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][4]. Exemple : `env:staging,team:data_engineering` | | + | DD_ENV | Définissez la balise d'environnement `env` sur les métriques, les traces et les journaux de ce cluster. | | + | DD_LOGS_CONFIG_PROCESSING_RULES | Filtrez les journaux collectés avec des règles de traitement. Consultez [Collection avancée de journaux][5] pour plus de détails. | | + +1. Cliquez {{< ui >}}Create{{< /ui >}} si vous créez une nouvelle politique ou {{< ui >}}Save{{< /ui >}} 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 {{< ui >}}Compute{{< /ui >}}, sélectionnez le cluster que vous souhaitez mettre à jour ou cliquez sur {{< ui >}}Create Compute{{< /ui >}} pour un nouveau cluster. +1. Dans le menu déroulant {{< ui >}}Policy{{< /ui >}} en haut, sélectionnez la politique que vous avez créée. +1. Cliquez {{< ui >}}Confirm{{< /ui >}} pour enregistrer les modifications. Le cluster doit être redémarré pour que la politique prenne effet. + +[1]: https://app.datadoghq.com/organization-settings/api-keys +[2]: /fr/getting_started/site/ +[3]: https://github.com/DataDog/datadog-agent/blob/main/pkg/fleet/installer/setup/djm/databricks.go +[4]: /fr/getting_started/tagging/ +[5]: /fr/agent/logs/advanced_log_collection/?tab=environmentvariable#global-processing-rules +[26]: https://docs.databricks.com/en/connect/unity-catalog/volumes.html +[27]: https://docs.databricks.com/en/data-governance/unity-catalog/manage-privileges/allowlist#how-to-add-items-to-the-allowlist + +{{% /tab %}} + +{{% tab "Installez manuellement un script d'initialisation global" %}} + +
+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. +1. Sélectionnez {{< ui >}}Settings{{< /ui >}} et cliquez sur l'onglet {{< ui >}}Compute{{< /ui >}}. +1. Dans la section {{< ui >}}All purpose clusters{{< /ui >}}, à côté de {{< ui >}}Global init scripts{{< /ui >}}, cliquez sur {{< ui >}}Manage{{< /ui >}}. +1. Cliquez sur {{< ui >}}Add{{< /ui >}}. Nommez votre script. Ensuite, dans le champ {{< ui >}}Script{{< /ui >}}, copiez et collez le script suivant, en n'oubliant pas de remplacer les espaces réservés par vos valeurs de paramètres. + + ```shell + #!/bin/bash + + # Required parameters + export DD_API_KEY= + export DD_SITE= + export DATABRICKS_WORKSPACE="" + + # 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][3]. + +1. Pour activer le script pour tous les nouveaux clusters et ceux redémarrés, activez {{< ui >}}Enabled{{< /ui >}}. + {{< img src="data_jobs/databricks/toggle.png" alt="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é." style="width:100%;" >}} +1. Cliquez sur {{< ui >}}Add{{< /ui >}}. + +#### Définissez les paramètres requis du script d'initialisation {#set-the-required-init-script-parameters} + +Fournissez les valeurs pour les paramètres du script d'initialisation au début du script d'initialisation global. + +```bash +export DD_API_KEY= +export DD_SITE= +export DATABRICKS_WORKSPACE="" +``` + +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 : + +| Variable | Description | Par défaut | +|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------| +| DD_API_KEY | Votre [clé API Datadog][1]. | | +| DD_SITE | Votre [site Datadog][2]. | | +| DATABRICKS_WORKSPACE | Nom de votre espace de travail Databricks. Il doit correspondre au nom fourni dans l'étape [d'intégration Datadog-Databricks](#configure-the-datadog-databricks-integration). Entourez le nom de guillemets doubles s'il contient des espaces. | | +| DRIVER_LOGS_ENABLED | Collecter les journaux du pilote Spark dans Datadog. | faux | +| WORKER_LOGS_ENABLED | Collecter les journaux des travailleurs Spark dans Datadog. | faux | +| DD_TAGS | Ajoutez 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][4]. Exemple: `env:staging,team:data_engineering` | | +| DD_ENV | Définissez l'étiquette d'environnement `env` sur les métriques, les traces et les journaux de ce cluster. | | +| DD_LOGS_CONFIG_PROCESSING_RULES | Filtrer les journaux collectés avec des règles de traitement. Voir [Advanced Log Collection][5] pour plus de détails. | | + +[1]: https://app.datadoghq.com/organization-settings/api-keys +[2]: /fr/getting_started/site/ +[3]: https://github.com/DataDog/datadog-agent/blob/main/pkg/fleet/installer/setup/djm/databricks.go +[4]: /fr/getting_started/tagging/ +[5]: /fr/agent/logs/advanced_log_collection/?tab=environmentvariable#global-processing-rules + +{{% /tab %}} + +{{% tab "Installez manuellement sur un cluster spécifique" %}} + +1. Dans Databricks, créez un fichier de script d'initialisation dans un [volume Unity Catalog][26] 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`). + + ```shell + #!/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][3]. + +1. **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][27] pour ajouter le chemin de votre script d'initialisation à la liste blanche. + +1. Sur la page de configuration du cluster, cliquez sur le {{< ui >}}Advanced options{{< /ui >}} toggle. +1. En bas de la page, allez à l'onglet {{< ui >}}Init Scripts{{< /ui >}}. + + {{< img src="data_jobs/databricks/init_scripts.png" alt="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'." style="width:80%;" >}} + + - Sous le menu déroulant {{< ui >}}Destination{{< /ui >}}, sélectionnez {{< ui >}}Volume{{< /ui >}}. + - Sous {{< ui >}}Init script path{{< /ui >}}, entrez le chemin du volume vers votre script d'initialisation. + - Cliquez sur {{< ui >}}Add{{< /ui >}}. + +#### Définissez les paramètres requis du script d'initialisation {#set-the-required-init-script-parameters-1} + +1. Dans Databricks, sur la page de configuration du cluster, cliquez sur le {{< ui >}}Advanced options{{< /ui >}} toggle. +2. En bas de la page, allez à l'onglet {{< ui >}}Spark{{< /ui >}}. + {{< img src="data_jobs/databricks/configure-databricks-cluster-init-script-quoted.png" alt="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." style="width:100%;" >}} + + Dans la zone de texte {{< ui >}}Environment variables{{< /ui >}}, fournissez les valeurs pour les paramètres du script d'initialisation. + + ```text + DD_API_KEY= + DD_SITE= + DATABRICKS_WORKSPACE="" + ``` + + 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 : + +| Variable | Description | Par défaut | +|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------| +| DD_API_KEY | Votre [clé API Datadog][1]. | | +| DD_SITE | Votre [site Datadog][2]. | | +| DATABRICKS_WORKSPACE | Nom de votre espace de travail Databricks. Il doit correspondre au nom fourni dans l'étape [d'intégration Datadog-Databricks](#configure-the-datadog-databricks-integration). Entourez le nom de guillemets doubles s'il contient des espaces. | | +| DRIVER_LOGS_ENABLED | Collecter les journaux du pilote Spark dans Datadog. | faux | +| WORKER_LOGS_ENABLED | Collecter les journaux des travailleurs Spark dans Datadog. | faux | +| ÉTIQUETTES_DD | Ajoutez 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][4]. Exemplea: `env:staging,team:data_engineering` | | +| DD_ENV | Définissez l'étiquette d'environnement `env` sur les métriques, les traces et les journaux de ce cluster. | | +| RÈGLES_DE_TRAITEMENT_DES_JOURNAUX_DD | Filtrez les journaux collectés avec des règles de traitement. Consultez [Collection avancée de journaux][5] pour plus de détails. | | + + +[1]: https://app.datadoghq.com/organization-settings/api-keys +[2]: /fr/getting_started/site/ +[3]: https://github.com/DataDog/datadog-agent/blob/main/pkg/fleet/installer/setup/djm/databricks.go +[4]: /fr/getting_started/tagging/ +[5]: /fr/agent/logs/advanced_log_collection/?tab=environmentvariable#global-processing-rules +[26]: https://docs.databricks.com/en/connect/unity-catalog/volumes.html +[27]: https://docs.databricks.com/en/data-governance/unity-catalog/manage-privileges/allowlist#how-to-add-items-to-the-allowlist + +3. Cliquez sur {{< ui >}}Confirm{{< /ui >}}. + +{{% /tab %}} + +{{< /tabs >}} + +### Redémarrez les clusters déjà en cours d'exécution {#restart-already-running-clusters} + +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 {#validation} + +Dans Datadog, consultez la page [Data Observability: Jobs Monitoring][6] pour voir la liste de tous vos travaux Databricks. + +Si certains travaux ne sont pas visibles, accédez à la page [Configuration][9] 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 {#troubleshooting} + +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][25] pour vous assurer que la clé API Datadog spécifiée dans le script est valide. +1. **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 : + ```shell + sudo datadog-agent status + ``` + +## Configuration avancée {#advanced-configuration} + +### Filtrer la collecte des journaux sur les clusters {#filter-log-collection-on-clusters} + +#### Exclure toute collecte de journaux d'un cluster individuel {#exclude-all-log-collection-from-an-individual-cluster} +Configurez la variable d'environnement suivante dans la section {{< ui >}}Advanced Configuration{{< /ui >}} de votre cluster dans l'interface utilisateur de Databricks ou en tant que [variable d'environnement Spark][18] dans l'API Databricks. + +```bash +DD_LOGS_CONFIG_PROCESSING_RULES=[{\"type\": \"exclude_at_match\",\"name\": \"drop_all_logs\",\"pattern\": \".*\"}] +``` + +### Permissions {#permissions} +Accordez {{< ui >}}Workspace Admin{{< /ui >}} 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][19] pour pouvoir toujours surveiller tous les travaux, clusters et requêtes au sein d'un espace de travail : + +| Objet | Permission | +|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Travail | [PEUT VOIR][20] +| Compute | [PEUT S'ATTACHER À][21] +| Lakeflow Declarative Pipelines | [PEUT VOIR][22] +| Requête | [PEUT VOIR][23] +| SQL Warehouse | [PEUT SURVEILLER][24] + +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][26], l'utilisateur ou le principal de service utilisé pour interroger [les tables système][27] doit avoir les permissions suivantes : + - `CAN USE` permission sur l'entrepôt SQL. + - Accès en lecture aux [tables système][27] dans Unity Catalog. Cela peut être accordé avec : + ```sql + GRANT USE CATALOG ON CATALOG system TO ; + GRANT SELECT ON CATALOG system TO ; + GRANT USE SCHEMA ON CATALOG system TO ; + ``` + L'utilisateur qui accorde ces droits doit avoir le privilège `MANAGE` sur `CATALOG system`. + + +### Tag spans at runtime {#tag-spans-at-runtime} + +{{% djm-runtime-tagging %}} + +### Agrégation des métriques du cluster à partir d'exécutions de travail ponctuelles {#aggregate-cluster-metrics-from-one-time-job-runs} + 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][8] (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][8], 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 : + + {{< highlight json "hl_lines=2 18" >}} + { + "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" + } + } + } + ] + } + {{< /highlight >}} + +### Configurer l'observabilité des données : Surveillance des travaux avec Databricks Networking Restrictions {#set-up-data-observability-jobs-monitoring-with-databricks-networking-restrictions} +Avec [Databricks Networking Restrictions][12], 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][13], l'ajout de Datadog à la liste blanche spécifique permet à Datadog de se connecter aux API Databricks dans votre espace de travail. {{< region-param key="ip_ranges_url_webhooks" link="true" text="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][16] afin de donner accès à l'API Datadog. + +Pour surveiller les espaces de travail qui utilisent la connectivité [Databricks Private Link][14], consultez [Connectivité Private Link (Aperçu)][15]. + +[15]: /fr/data_observability/jobs_monitoring/databricks/private_link + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/integrations/databricks?search=databricks +[4]: https://docs.databricks.com/en/security/secrets/index.html +[6]: https://app.datadoghq.com/data-jobs/ +[7]: /fr/data_jobs +[8]: https://docs.databricks.com/api/workspace/jobs/submit +[9]: https://app.datadoghq.com/data-jobs/configuration +[12]: https://docs.databricks.com/en/security/network/front-end/index.html +[13]: https://docs.databricks.com/en/security/network/front-end/ip-access-list.html +[14]: https://www.databricks.com/trust/security-features/secure-your-data-with-private-networking +[16]: https://docs.databricks.com/en/security/network/front-end/ip-access-list-workspace +[18]: https://docs.databricks.com/api/workspace/clusters/edit#spark_env_vars +[19]: https://docs.databricks.com/aws/en/security/auth/access-control#access-control-lists-overview +[20]: https://docs.databricks.com/aws/en/security/auth/access-control#job-acls +[21]: https://docs.databricks.com/aws/en/security/auth/access-control#compute-acls +[22]: https://docs.databricks.com/aws/en/security/auth/access-control#lakeflow-declarative-pipelines-acls +[23]: https://docs.databricks.com/aws/en/security/auth/access-control#query-acls +[24]: https://docs.databricks.com/aws/en/security/auth/access-control#sql-warehouse-acls +[25]: https://docs.datadoghq.com/fr/api/latest/authentication/?code-lang=curl#validate-api-key +[26]: https://docs.datadoghq.com/fr/cloud_cost_management +[27]: https://docs.databricks.com/aws/en/admin/system-tables/ \ No newline at end of file diff --git a/content/fr/extend/integrations/agent_integration.md b/content/fr/extend/integrations/agent_integration.md new file mode 100644 index 00000000000..257ef0720fb --- /dev/null +++ b/content/fr/extend/integrations/agent_integration.md @@ -0,0 +1,514 @@ +--- +aliases: +- /fr/developers/integrations/integration_sdk/ +- /fr/developers/integrations/testing/ +- /fr/integrations/datadog_checks_dev/ +- /fr/guides/new_integration/ +- /fr/developers/integrations/new_check_howto/ +- /fr/developers/integrations/agent_integration/ +description: Apprenez à développer et publier une intégration de l'Agent Datadog. +further_reading: +- link: /extend/integrations/ + tag: Documentation + text: Créez une intégration +- link: /extend/integrations/python/ + tag: Documentation + text: Python pour le développement d'intégrations basées sur l'Agent +- link: /extend/ + tag: Documentation + text: Découvrir comment développer sur la plateforme Datadog +- link: https://learn.datadoghq.com/courses/intro-to-integrations + tag: Centre d'apprentissage + text: Créer une intégration pour l'Agent +title: Créer une intégration basée sur l'Agent +--- +## Aperçu {#overview} + +Cette page guide les Partenaires Technologiques à travers le processus de création d'une intégration officielle de l'Agent Datadog. + +Les intégrations basées sur l'Agent sont conçues pour collecter de la télémétrie à partir de logiciels ou de systèmes fonctionnant sur une infrastructure gérée par le client, où l'Agent Datadog est installé ou a accès au réseau. Ces intégrations utilisent l'[Agent Datadog][1] pour collecter et soumettre des données via des vérifications d'agent personnalisées développées par des Partenaires Technologiques approuvés. + +Les vérifications d'agent peuvent émettre des [métriques][2], des [événements][3] et des [journaux][5] dans le compte Datadog d'un client. Chaque intégration basée sur l'Agent est un package Python construit sur l'Agent Datadog, permettant aux clients de l'[installer][6] facilement via l'Agent Datadog. Les traces, cependant, sont collectées en dehors de la vérification de l'agent en utilisant l'un des SDK de Datadog. Pour plus d'informations, consultez la [documentation sur l'instrumentation des applications][25]. + +## Création d'une intégration basée sur l'agent {#building-an-agent-based-integration} +Avant de commencer, assurez-vous d'avoir [rejoint le Réseau de Partenaires Datadog][7], d'avoir accès à une organisation de développeurs partenaires, et d'avoir [créé une fiche sur la Developer Platform][8]. + +Suivez ces étapes pour créer votre intégration basée sur l'agent : + +1. [Installez les outils de développement requis](#prerequisites). +2. [Configurez l'outil de développement d'intégration de l'Agent Datadog](#configure-the-datadog-agent-integration-developer-tool). +3. [Générez votre échafaudage](#generate-your-scaffolding) +4. [Développez votre vérification d'agent](#develop-your-agent-check). +5. [Testez votre intégration](#test-your-agent-check). +6. [Soumettez votre code pour révision](#submit-your-code-for-review). + +### Conditions préalables {#prerequisites} + +Assurez-vous que les outils suivants sont installés : + +- [pipx][9] pour installer les outils de développement et les dépendances +- [Datadog Agent Integration Developer Tool][10] (`ddev`) pour générer l'échafaudage et gérer le développement d'intégration +- [Docker][11] pour exécuter l'ensemble des tests +- Git ([ligne de commande][12] ou [client GitHub Desktop][13]) + +### Configurez l'outil de développement d'intégration de l'Agent Datadog {#configure-the-datadog-agent-integration-developer-tool} +Utilisez l'outil de développement de l'Agent Datadog pour construire et tester votre intégration. Les étapes de configuration diffèrent selon que vous développez une [intégration prête à l'emploi (OOTB) ou une Intégration Marketplace][23]. Sélectionnez l'onglet approprié ci-dessous. + +{{< tabs >}} + +{{% tab "Intégration OOTB" %}} + +1. Créez un répertoire de travail. L'outil de développement s'attend à ce que votre travail soit situé dans `$HOME/dd/` : + + ```shell + mkdir $HOME/dd && cd $HOME/dd + ``` + +2. Créez un fork du dépôt [Datadog/integrations-extras][101] dans votre compte GitHub. + +3. Clonez votre fork dans le répertoire `dd` : + + ```shell + git clone git@github.com:/integrations-extras.git + ``` + +4. Créez et passez à une nouvelle branche pour votre intégration : + + ```shell + cd integrations-extras + git switch -c origin/master + ``` + +5. Définissez `extras` comme le dépôt de travail par défaut : + + ```shell + ddev config set repo extras + ``` + + Si votre dépôt est stocké en dehors de `$HOME/dd/`, spécifiez le chemin avant de le définir comme par défaut : + + ```shell + ddev config set repos.extras "/path/to/integrations-extras" + ddev config set repo extras + ``` + +[101]: https://github.com/Datadog/integrations-extras + +{{% /tab %}} + +{{% tab "Intégration Marketplace" %}} + +1. Créez un répertoire de travail. L'outil de développement s'attend à ce que votre travail soit situé dans `$HOME/dd/` : + + ```shell + mkdir $HOME/dd && cd $HOME/dd + ``` + +2. Clonez le dépôt [Datadog/marketplace][101]. Si vous n'avez pas accès, demandez-le à votre contact Datadog. + + ```shell + git clone git@github.com:DataDog/marketplace.git + ``` + +3. Créez et passez à une nouvelle branche pour votre intégration : + + ```shell + cd marketplace + git switch -c origin/master + ``` + +4. Définissez `marketplace` comme le dépôt de travail par défaut : + + ```shell + ddev config set repo marketplace + ``` + + Si votre dépôt est stocké en dehors de `$HOME/dd/`, spécifiez le chemin avant de le définir comme par défaut : + + ```shell + ddev config set repos.marketplace "/path/to/marketplace" + ddev config set repo marketplace + ``` + +[101]: https://github.com/DataDog/marketplace + +{{% /tab %}} + +{{< /tabs >}} + +### Générez votre échafaudage {#generate-your-scaffolding} + +Utilisez la commande `ddev create` pour générer la structure de fichiers et de répertoires initiale pour votre intégration basée sur un agent. + +
Consultez l'onglet Méthode de Configuration dans la Plateforme Développeur pour la commande correcte pour votre intégration.
+ +1. **Effectuez une exécution à blanc (recommandé)** + + Utilisez l'option `-n` ou `--dry-run` pour prévisualiser les fichiers générés, sans rien écrire sur le disque. Confirmez que le chemin de sortie correspond à l'emplacement du dépôt attendu. + + ```shell + ddev create -nt check_only --skip-manifest + ``` + +2. **Générez les fichiers** + + Après avoir vérifié l'emplacement du répertoire, exécutez la même commande sans le `-n` pour créer l'échafaudage. Suivez les instructions pour fournir les détails de l'intégration. + + ```shell + ddev create -t check_only --skip-manifest + ``` + +### Développez votre vérification d'agent {#develop-your-agent-check} + +Chaque intégration basée sur un agent tourne autour d'une vérification d'agent, une classe Python qui collecte périodiquement de la télémétrie et la soumet à Datadog. + +Les vérifications d'agent [héritent][16] de la classe de base `AgentCheck` et doivent répondre aux exigences suivantes : + +- **Compatibilité Python** : + - Les intégrations pour Datadog Agent v7+ doivent prendre en charge Python 3. Toutes les nouvelles intégrations doivent cibler v7+. + - Les intégrations pour Datadog Agent v5-v6 utilisent Python 2.7. +- **Héritage de classe** : Chaque vérification doit sous-classer `AgentCheck`. +- **Point d'entrée** : Chaque vérification doit implémenter une méthode `check(self, instance)`. +- **Structure de paquet** : Les vérifications sont organisées sous l'espace de noms `datadog_checks`. Par exemple, une intégration nommée `` se trouve dans : `/datadog_checks//`. +- **Nommage** : + - Le nom du paquet doit correspondre au nom de la vérification. + - Les noms de module et de classe Python au sein du paquet peuvent être choisis librement. + +#### Implémentez la logique de vérification {#implement-check-logic} + +L'exemple suivant montre la logique pour une intégration nommée `Awesome`. + +Cette vérification définit un [service de vérification][4] appelé `awesome.search`, qui recherche une chaîne spécifique sur une page web : +- Renvoie `OK` si la chaîne est trouvée. +- Renvoie `WARNING` si la page se charge mais que la chaîne est manquante. +- Renvoie `CRITICAL` si la page ne peut pas être atteinte. + +Pour apprendre à soumettre des données supplémentaires de votre vérification, voir : + +- [Vérification d'Agent Personnalisée][17] pour soumettre des métriques. +- [Collecte de Logs d'Intégration d'Agent][5] pour collecter des logs de votre AgentCheck en utilisant `send_log`. Meilleur pour l'émission de logs à source unique. +- [Tutoriel de Crawler HTTP][24] pour collecter des logs de plusieurs sources de logs, comme lors de l'interrogation de plusieurs points de terminaison ou d'APIs HTTP externes. + +Le fichier `awesome/datadog_checks/awesome/check.py` pourrait ressembler à ceci : + +{{< code-block lang="python" filename="check.py" collapsible="true" >}} + +import requests +import time + +from datadog_checks.base import AgentCheck, ConfigurationError + + +class AwesomeCheck(AgentCheck): + """AwesomeCheck derives from AgentCheck, and provides the required check method.""" + + def check(self, instance): + url = instance.get('url') + search_string = instance.get('search_string') + + # It's a very good idea to do some basic sanity checking. + # Try to be as specific as possible with the exceptions. + if not url or not search_string: + raise ConfigurationError('Configuration error, please fix awesome.yaml') + + try: + response = requests.get(url) + response.raise_for_status() + # Something went horribly wrong + except Exception as e: + # Ideally we'd use a more specific message... + self.service_check('awesome.search', self.CRITICAL, message=str(e)) + # Submit an error log + self.send_log({ + 'message': f'Failed to access {url}: {str(e)}', + 'timestamp': time.time(), + 'status': 'error', + 'service': 'awesome', + 'url': url + }) + # Page is accessible + else: + # search_string is present + if search_string in response.text: + self.service_check('awesome.search', self.OK) + # Submit an info log + self.send_log({ + 'message': f'Successfully found "{search_string}" at {url}', + 'timestamp': time.time(), + 'status': 'info', + 'service': 'awesome', + 'url': url, + 'search_string': search_string + }) + # search_string was not found + else: + self.service_check('awesome.search', self.WARNING) + # Submit a warning log + self.send_log({ + 'message': f'String "{search_string}" not found at {url}', + 'timestamp': time.time(), + 'status': 'warning', + 'service': 'awesome', + 'url': url, + 'search_string': search_string + }) +{{< /code-block >}} + +Pour en savoir plus sur la classe de base Python, voir [Anatomie d'une Vérification Python][18]. + +### Écrivez des tests de validation {#write-validation-tests} + +Il existe deux types de tests : + +- [Tests unitaires pour des fonctionnalités spécifiques](#write-a-unit-test) +- [Tests d'intégration qui exécutent la méthode `check` et vérifient la collecte correcte des métriques](#write-an-integration-test) + +[pytest][19] et [hatch][20] sont utilisés pour exécuter les tests. Des tests sont nécessaires pour publier votre intégration. + +#### Écrivez un test unitaire {#write-a-unit-test} + +La première partie de la méthode `check` pour Awesome récupère et vérifie deux éléments du fichier de configuration. C'est un bon candidat pour un test unitaire. + +Ouvrez le fichier à `awesome/tests/test_awesome.py` et remplacez le contenu par ce qui suit : + +{{< code-block lang="python" filename="test_awesome.py" collapsible="true" >}} +import pytest + + # Don't forget to import your integration + +from datadog_checks.awesome import AwesomeCheck +from datadog_checks.base import ConfigurationError + + +@pytest.mark.unit +def test_config(): + instance = {} + c = AwesomeCheck('awesome', {}, [instance]) + + # empty instance + with pytest.raises(ConfigurationError): + c.check(instance) + + # only the url + with pytest.raises(ConfigurationError): + c.check({'url': 'http://foobar'}) + + # only the search string + with pytest.raises(ConfigurationError): + c.check({'search_string': 'foo'}) + + # this should not fail + c.check({'url': 'http://foobar', 'search_string': 'foo'}) +{{< /code-block >}} + +`pytest` a le concept de marqueurs qui peuvent être utilisés pour regrouper les tests en catégories. Remarquez que `test_config` est marqué comme un test `unit`. + +L'échafaudage est configuré pour exécuter tous les tests situés dans `awesome/tests`. Pour exécuter les tests, exécutez la commande suivante : + +``` +ddev test awesome +``` + +#### Écrivez un test d'intégration {#write-an-integration-test} + +Le test unitaire [ ci-dessus](#write-a-unit-test) ne vérifie pas la logique de collection. Pour tester la logique, vous devez [créer un environnement pour un test d'intégration](#create-an-environment-for-the-integration-test) et [écrire un test d'intégration](#add-an-integration-test). + +##### Créez un environnement pour le test d'intégration {#create-an-environment-for-the-integration-test} + +L'outil utilise `docker` pour démarrer un conteneur NGINX et permet à la vérification de récupérer la page d'accueil. + +Pour créer un environnement pour le test d'intégration, créez un fichier docker-compose à `awesome/tests/docker-compose.yml` avec le contenu suivant : + +{{< code-block lang="yaml" filename="docker-compose.yml" collapsible="true" >}} +version: "3" + +services: + nginx: + image: nginx:stable-alpine + ports: + - "8000:80" + +{{< /code-block >}} + +Ensuite, ouvrez le fichier à `awesome/tests/conftest.py` et remplacez le contenu par ce qui suit : + +{{< code-block lang="python" filename="conftest.py" collapsible="true" >}} +import os + +import pytest + +from datadog_checks.dev import docker_run, get_docker_hostname, get_here + +URL = 'http://{}:8000'.format(get_docker_hostname()) +SEARCH_STRING = 'Thank you for using nginx.' +INSTANCE = {'url': URL, 'search_string': SEARCH_STRING} + + +@pytest.fixture(scope='session') +def dd_environment(): + compose_file = os.path.join(get_here(), 'docker-compose.yml') + + # This does 3 things: + # + # 1. Spins up the services defined in the compose file + # 2. Waits for the url to be available before running the tests + # 3. Tears down the services when the tests are finished + with docker_run(compose_file, endpoints=[URL]): + yield INSTANCE + + +@pytest.fixture +def instance(): + return INSTANCE.copy() +{{< /code-block >}} + +#### Ajoutez un test d'intégration {#add-an-integration-test} + +Après avoir configuré un environnement pour le test d'intégration, ajoutez un test d'intégration au fichier `awesome/tests/test_awesome.py` : + +{{< code-block lang="python" filename="test_awesome.py" collapsible="true" >}} +@pytest.mark.integration +@pytest.mark.usefixtures('dd_environment') +def test_service_check(aggregator, instance): + c = AwesomeCheck('awesome', {}, [instance]) + + # the check should send OK + c.check(instance) + aggregator.assert_service_check('awesome.search', AwesomeCheck.OK) + + # the check should send WARNING + instance['search_string'] = 'Apache' + c.check(instance) + aggregator.assert_service_check('awesome.search', AwesomeCheck.WARNING) +{{< /code-block >}} + +Pour accélérer le développement, utilisez l'option `-m/--marker` pour exécuter uniquement les tests d'intégration : + ``` + ddev test -m integration awesome + ``` + +## Testez votre vérification d'agent {#test-your-agent-check} + +Les intégrations basées sur l'Agent sont distribuées sous forme de fichiers Python wheel (.whl) que les clients installent via l'Agent Datadog. Avant de publier votre intégration, vous pouvez la tester localement en construisant et en installant manuellement le package wheel. + +### Construisez le wheel {#build-the-wheel} + +Le fichier `pyproject.toml` fournit les métadonnées utilisées pour empaqueter et construire le wheel. Le wheel contient les fichiers nécessaires au fonctionnement de l'intégration elle-même, y compris la vérification de l'agent, le fichier d'exemple de configuration et les artefacts générés lors de la construction du wheel. + +Pour en savoir plus sur l'empaquetage Python, consultez [Emballage de projets Python][21]. + +Une fois que votre `pyproject.toml` est prêt, créez un wheel en utilisant l'une des options suivantes : + +- (Recommandé) Avec l'outil `ddev` : `ddev release build `. +- Sans l'outil `ddev` : `cd && pip wheel . --no-deps --wheel-dir dist`. + +### Installez le wheel {#install-the-wheel} + +Le wheel est installé en utilisant la commande Agent `integration`, disponible dans [Agent v6.10.0 ou ultérieur][1]. Selon votre environnement, vous devrez peut-être exécuter cette commande en tant qu'utilisateur spécifique ou avec des privilèges spécifiques : + +**Linux** (en tant que `dd-agent`) : + +```bash +sudo -u dd-agent datadog-agent integration install -w /path/to/wheel.whl +``` + +**OSX** (en tant qu'administrateur) : + +```bash +sudo datadog-agent integration install -w /path/to/wheel.whl +``` + +**Windows PowerShell** (Assurez-vous que votre session shell dispose des privilèges _administrateur_) : + +{{% collapse-content title="Agent v6.11 ou antérieur" level="h4" expanded=false %}} + +```ps +& "C:\Program Files\Datadog\Datadog Agent\embedded\agent.exe" integration install -w /path/to/wheel.whl +``` + +{{% /collapse-content %}} + +{{% collapse-content title="Agent v6.12 ou ultérieur" level="h4" expanded=true %}} + +```ps +& "C:\Program Files\Datadog\Datadog Agent\bin\agent.exe" integration install -w /path/to/wheel.whl +``` + +{{% /collapse-content %}} + +Pour installer votre wheel pour tester dans des environnements Kubernetes : +1. Montez le fichier `.whl` dans un initContainer. +2. Exécutez l'installation du wheel dans l'initContainer. +3. Montez le conteneur d'initialisation dans le conteneur Agent pendant qu'il fonctionne. + +Pour les commandes d'installation des clients pour les environnements hôte et conteneur, consultez la [documentation sur les intégrations de la communauté et du marché][22]. + +## Soumettez votre code pour révision {#submit-your-code-for-review} + +Ouvrez une pull request avec votre répertoire d'intégration dans le dépôt approprié, soit [Datadog/integrations-extras][14] soit [Datadog/marketplace][15]. La pull request est examinée en parallèle avec votre soumission à la Developer Platform. + +## Mise à jour de votre intégration {#updating-your-integration} + +Après la publication de votre intégration, vous pouvez publier des mises à jour via la plateforme développeur. + +### Mise à jour de la version d'une intégration {#bumping-an-integration-version} +Une mise à jour de la version est nécessaire chaque fois que vous ajoutez, supprimez ou modifiez des fonctionnalités (par exemple, lors de l'introduction de nouvelles métriques, de la mise à jour de tableaux de bord ou de la modification du code d'intégration). Ce n'est pas nécessaire pour les mises à jour non fonctionnelles, telles que les modifications de contenu écrit, de branding, de logos ou d'images. + +Dans la Developer Platform, incluez une nouvelle entrée dans l'onglet **Release Notes** en suivant ce format : + + +``` +## Version Number / Date (YYYY-MM-DD) + +***Added***: + +* Description of new feature +* Description of new feature + +***Fixed***: + +* Description of fix +* Description of fix + +***Changed***: + +* Description of update or improvement +* Description of update or improvement + +***Removed***: + +* Description of removed feature +* Description of removed feature +``` + +Assurez-vous de mettre à jour toutes les références au numéro de version dans la documentation et les instructions d'installation de l'intégration. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://docs.datadoghq.com/fr/agent/ +[2]: https://docs.datadoghq.com/fr/metrics/ +[3]: https://docs.datadoghq.com/fr/service_management/events/ +[4]: /fr/extend/service_checks/ +[5]: https://docs.datadoghq.com/fr/logs/log_collection/agent_checks/ +[6]: https://docs.datadoghq.com/fr/agent/guide/integration-management/?tab=linux#install +[7]: /fr/extend/integrations/?tab=integrations#join-the-datadog-partner-network +[8]: /fr/extend/integrations/build_integration/#create-a-listing +[9]: https://github.com/pypa/pipx +[10]: /fr/extend/integrations/python/ +[11]: https://docs.docker.com/get-docker/ +[12]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git +[13]: https://desktop.github.com/ +[14]: https://github.com/Datadog/integrations-extras +[15]: https://github.com/DataDog/marketplace +[16]: https://docs.datadoghq.com/fr/glossary/#check +[17]: /fr/metrics/custom_metrics/agent_metrics_submission/?tab=count +[18]: https://github.com/DataDog/datadog-agent/blob/6.2.x/docs/dev/checks/python/check_api.md +[19]: https://docs.pytest.org/en/latest +[20]: https://github.com/pypa/hatch +[21]: https://packaging.python.org/en/latest/tutorials/packaging-projects/ +[22]: https://docs.datadoghq.com/fr/agent/guide/use-community-integrations/ +[23]: /fr/extend/integrations/?tab=integrations#out-of-the-box-integrations-vs-marketplace-offerings +[24]: https://datadoghq.dev/integrations-core/tutorials/logs/http-crawler/ +[25]: /fr/tracing/trace_collection/ \ No newline at end of file diff --git a/content/fr/getting_started/feature_flags/_index.md b/content/fr/getting_started/feature_flags/_index.md new file mode 100644 index 00000000000..3f3a9d9d879 --- /dev/null +++ b/content/fr/getting_started/feature_flags/_index.md @@ -0,0 +1,181 @@ +--- +description: Gérez la livraison des fonctionnalités avec une observabilité intégrée, + des métriques en temps réel et des déploiements progressifs compatibles avec OpenFeature. +further_reading: +- link: /feature_flags/client/ + tag: Documentation + text: SDKs côté client +- link: /feature_flags/server/ + tag: Documentation + text: SDKs côté serveur +- link: https://www.datadoghq.com/blog/feature-flags/ + tag: Blog + text: Déployez des fonctionnalités plus rapidement et en toute sécurité avec Datadog + Feature Flags +- link: https://www.datadoghq.com/blog/experimental-data-datadog/ + tag: Blog + text: Comment concilier rapidité et qualité dans les expériences grâce à des données + unifiées +- link: https://www.datadoghq.com/blog/datadog-feature-flags-cloud-resilience/ + tag: Blog + text: Comment Datadog Feature Flags est résilient face aux pannes des fournisseurs + de cloud +- link: https://www.datadoghq.com/blog/guardrail-metrics + tag: Blog + text: Utilisez des métriques de garde-fou et cessez de microgérer vos versions +site_support_id: getting_started_feature_flags +title: Commencer avec les drapeaux de fonctionnalités +--- +## Aperçu {#overview} + +Datadog Feature Flags offre un moyen puissant et intégré de gérer la livraison des fonctionnalités, avec une observabilité intégrée et une intégration transparente sur la plateforme. + +- **Métriques en temps réel :** Comprenez qui reçoit chaque variante, ainsi que l'impact de votre drapeau sur la santé et la performance de votre application, le tout en temps réel. + +- **Prend en charge tout type de données :** Utilisez des booléens, des chaînes, des nombres ou des objets JSON complets, selon les besoins de votre cas d'utilisation. + +- **Conçu pour l'expérimentation :** Ciblez des audiences spécifiques pour des tests A/B, déployez des fonctionnalités progressivement avec des canary releases, et revenez automatiquement en arrière lorsque des régressions sont détectées. + +- **Compatible avec OpenFeature :** Basé sur la norme OpenFeature, garantissant la compatibilité avec les implémentations OpenFeature existantes et offrant une approche neutre vis-à-vis des fournisseurs pour la gestion des drapeaux de fonctionnalités. + +## SDKs de drapeaux de fonctionnalités {#feature-flags-sdks} + +Ce guide utilise le SDK JavaScript pour navigateur comme exemple. Vous pouvez intégrer Datadog Feature Flags dans n'importe quelle application en utilisant l'un des SDK suivants : + +### SDKs côté client {#client-side-sdks} + +{{< card-grid card_width="200px" >}} + {{< image-card href="/feature_flags/client/android/" src="integrations_logos/android_large.svg" alt="Android" >}} + {{< image-card href="/feature_flags/client/android/" src="integrations_logos/android_tv_large.svg" alt="Android TV" >}} + {{< image-card href="/feature_flags/client/angular/" src="integrations_logos/angular_large.svg" alt="Angular" >}} + {{< image-card href="/feature_flags/client/ios/" src="integrations_logos/ios_large.svg" alt="iOS" >}} + {{< image-card href="/feature_flags/client/javascript/" src="integrations_logos/javascript_large.svg" alt="JavaScript" >}} + {{< image-card href="/feature_flags/client/react/" src="integrations_logos/react_large.svg" alt="React" >}} + {{< image-card href="/feature_flags/client/reactnative/" src="integrations_logos/react-native_large.svg" alt="React Native" >}} + {{< image-card href="/feature_flags/client/ios/" src="integrations_logos/tv_os_large.svg" alt="tvOS" >}} + {{< image-card href="/feature_flags/client/unity/" src="integrations_logos/rum-unity_large.svg" alt="Unity" >}} +{{< /card-grid >}} + +### SDKs côté serveur {#server-side-sdks} + +{{< card-grid card_width="200px" >}} + {{< image-card href="/feature_flags/server/dotnet/" src="integrations_logos/dotnet_text.png" alt=".NET" >}} + {{< image-card href="/feature_flags/server/go/" src="integrations_logos/go-metro.png" alt="Go" >}} + {{< image-card href="/feature_flags/server/java/" src="integrations_logos/java.png" alt="Java" >}} + {{< image-card href="/feature_flags/server/nodejs/" src="integrations_logos/nodejs.png" alt="Node.js" >}} + {{< image-card href="/feature_flags/server/php/" src="integrations_logos/php.png" alt="PHP" >}} + {{< image-card href="/feature_flags/server/python/" src="integrations_logos/python.png" alt="Python" >}} + {{< image-card href="/feature_flags/server/ruby/" src="integrations_logos/ruby.png" alt="Ruby" >}} +{{< /card-grid >}} + +## Configurez vos environnements {#configure-your-environments} + +Votre organisation dispose probablement déjà d'environnements préconfigurés pour Development, Staging et Production. Pour des détails sur les requêtes d'environnement, le marquage de production et la gestion des environnements, consultez [Environnements][4]. + +## Créez votre premier drapeau de fonctionnalité {#create-your-first-feature-flag} + +### Étape 1 : Importez et initialisez le SDK {#step-1-import-and-initialize-the-sdk} + +Tout d'abord, installez `@datadog/openfeature-browser`, `@openfeature/web-sdk` et `@openfeature/core` en tant que dépendances dans votre projet : + +``` +yarn add @datadog/openfeature-browser @openfeature/web-sdk @openfeature/core +``` + +Ensuite, ajoutez ce qui suit à votre projet pour initialiser le SDK : + +```js +import { DatadogProvider } from '@datadog/openfeature-browser'; +import { OpenFeature } from '@openfeature/web-sdk'; + +// Initialize the provider +const provider = new DatadogProvider({ + clientToken: '', + applicationId: '', + enableExposureLogging: true, // Can impact RUM costs if enabled + site: 'datadoghq.com', + env: '', // Same environment normally passed to the RUM SDK + service: '', + version: '1.0.0' +}); + +// Set the provider +await OpenFeature.setProviderAndWait(provider); +``` + +
Paramétrage enableExposureLogging par true peut impacter les coûts de RUM, car il envoie des événements d'exposition à Datadog via RUM. Vous pouvez le désactiver si vous n'avez pas besoin de suivre l'exposition des fonctionnalités ou le statut des métriques de garde-fou.
+ +Plus d'informations sur les options de configuration du SDK OpenFeature peuvent être trouvées dans sa [documentation][1]. Pour plus d'informations sur la création de jetons clients et d'ID d'application, consultez [API et clés d'application][3]. + +### Étape 2 : Créez un drapeau de fonctionnalité {#step-2-create-a-feature-flag} + +Allez à [{{< ui >}}Create Feature Flag{{< /ui >}}][2] dans Datadog et configurez ce qui suit : + +- **Nom et clé** : Le nom d'affichage du drapeau et la clé référencée dans le code +- **Type de variante** et **valeurs de variante** : Voir [Variantes et types de drapeaux][5] +- **Canaux de distribution** : Voir [Canaux de distribution][6] + +
+ {{< ui >}}Flag keys{{< /ui >}}, {{< ui >}}variant keys{{< /ui >}} et {{< ui >}}variant values{{< /ui >}} doivent être considérés comme publics lorsqu'ils sont envoyés aux SDK clients. +
+ +{{< img src="getting_started/feature_flags/create-feature-flags.png" alt="Créer un drapeau de fonctionnalité" style="width:100%;" >}} + +### Étape 3 : Évaluez le drapeau et écrivez le code de fonctionnalité {#step-3-evaluate-the-flag-and-write-feature-code} + +Dans votre code d'application, utilisez le SDK pour évaluer le drapeau et contrôler l'accès à la nouvelle fonctionnalité. + +```js +import { OpenFeature } from '@openfeature/web-sdk'; + +const client = OpenFeature.getClient(); + +// If applicable, set relevant attributes on the client's global context +// (e.g. org id, user email) +await OpenFeature.setContext({ + org_id: 2, + user_id: 'user-123', + email: 'user@example.com', + targetingKey: 'user-123' +}); + +// This is what the SDK returns if the flag is disabled in +// the current environment +const fallback = false; + +const showFeature = await client.getBooleanValue('show-new-feature', fallback); +if (showFeature) { + // Feature code here +} +``` + +Après avoir terminé cette étape, redéployez l'application pour prendre en compte ces modifications. Des exemples d'utilisation supplémentaires peuvent être trouvés dans la [documentation][1] du SDK. + +### Étape 4 : Définir les règles de ciblage et activer le drapeau de fonctionnalité {#step-4-define-targeting-rules-and-enable-the-feature-flag} + +Configurez les [règles de ciblage][7] pour définir quels sujets reçoivent chaque variante. Après avoir enregistré vos règles, activez le drapeau dans l'environnement de votre choix. + +
+En tant que meilleure pratique, déployez les modifications dans un environnement Staging avant Production. +
+ +Pour les déploiements par pourcentage, consultez [Traffic Splitting and Randomization][8]. + +### Étape 5 : Surveillez votre déploiement {#step-5-monitor-your-rollout} + +Surveillez le déploiement de la fonctionnalité depuis la page de détails du drapeau de fonctionnalité, qui fournit un suivi d'exposition en temps réel et des métriques telles que {{< ui >}}error rate{{< /ui >}} et {{< ui >}}page load time{{< /ui >}}. Au fur et à mesure que vous déployez progressivement la fonctionnalité avec le drapeau, consultez le panneau {{< ui >}}Real-Time Metric Overview{{< /ui >}} dans l'interface utilisateur de Datadog pour voir comment la fonctionnalité impacte les performances de l'application. + +{{< img src="getting_started/feature_flags/real-time-flag-metrics.png" alt="Panneau des métriques de drapeau en temps réel" style="width:100%;" >}} + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://openfeature.dev/docs/reference/technologies/client/web/ +[2]: https://app.datadoghq.com/feature-flags/create +[3]: https://docs.datadoghq.com/fr/account_management/api-app-keys/#client-tokens +[4]: /fr/feature_flags/concepts/environments/ +[5]: /fr/feature_flags/concepts/variants_and_flag_types/ +[6]: /fr/feature_flags/concepts/distribution_channels/ +[7]: /fr/feature_flags/concepts/targeting_rules/ +[8]: /fr/feature_flags/concepts/traffic_splitting/ \ No newline at end of file diff --git a/content/fr/getting_started/integrations/aws.md b/content/fr/getting_started/integrations/aws.md index bf1a5e5a2de..be900a9de84 100644 --- a/content/fr/getting_started/integrations/aws.md +++ b/content/fr/getting_started/integrations/aws.md @@ -1,4 +1,7 @@ --- +description: Intégrez votre compte Amazon Web Services avec Datadog en utilisant CloudFormation. + Configurez les rôles IAM, activez les intégrations de services et configurez le + transfert de journaux. further_reading: - link: https://www.datadoghq.com/blog/aws-monitoring/ tag: Blog @@ -23,192 +26,212 @@ further_reading: text: Surveiller Amazon ECS Anywhere avec Datadog - link: /integrations/guide/aws-cloudwatch-metric-streams-with-kinesis-data-firehose/?tab=cloudformation tag: Documentation - text: Flux de métriques AWS CloudWatch avec Kinesis Data Firehose + text: Flux de métriques AWS CloudWatch avec Amazon Data Firehose - link: https://www.datadoghq.com/blog/monitor-aws-graviton3-with-datadog/ tag: Blog text: Surveiller vos instances EC2 basées sur Graviton3 avec Datadog title: Débuter avec AWS --- +## Aperçu {#overview} + +Ce guide vous accompagne dans l'intégration d'un compte Amazon Web Services (AWS) avec Datadog en utilisant le modèle CloudFormation de Datadog. Après avoir terminé la configuration, vous pouvez activer des intégrations de services AWS individuelles, installer l'agent Datadog sur des instances EC2 pour une visibilité approfondie et configurer le transfert de journaux. + +## Prérequis {#prerequisites} + +Avant de commencer, assurez-vous de disposer d'un compte [AWS][7]. Le modèle CloudFormation crée un rôle IAM et une politique associée, permettant au compte AWS de Datadog d'effectuer des appels API à votre compte AWS pour collecter et transmettre des données. Votre utilisateur AWS doit disposer des autorisations IAM suivantes pour exécuter le modèle : + +{{% collapse-content title="Autorisations IAM requises" level="h4" expanded=false id="iam-permissions" %}} +- cloudformation:CreateStack +- cloudformation:CreateUploadBucket +- cloudformation:DeleteStack +- cloudformation:DescribeStacks +- cloudformation:DescribeStackEvents +- cloudformation:GetStackPolicy +- cloudformation:GetTemplateSummary +- cloudformation:ListStacks +- cloudformation:ListStackResources +- ec2:DescribeSecurityGroups +- ec2:DescribeSubnets +- ec2:DescribeVpcs +- iam:AttachRolePolicy +- iam:CreatePolicy +- iam:CreateRole +- iam:DeleteRole +- iam:DeleteRolePolicy +- iam:DetachRolePolicy +- iam:GetRole +- iam:GetRolePolicy +- iam:PassRole +- iam:PutRolePolicy +- iam:TagRole +- iam:UpdateAssumeRolePolicy +- kms:Decrypt +- lambda:AddPermission +- lambda:CreateFunction +- lambda:DeleteFunction +- lambda:GetCodeSigningConfig +- lambda:GetFunction +- lambda:GetFunctionCodeSigningConfig +- lambda:GetLayerVersion +- lambda:InvokeFunction +- lambda:PutFunctionConcurrency +- lambda:RemovePermission +- lambda:TagResource +- logs:CreateLogGroup +- logs:DeleteLogGroup +- logs:DescribeLogGroups +- logs:PutRetentionPolicy +- oam:ListSinks +- oam:ListAttachedLinks +- s3:CreateBucket +- s3:DeleteBucket +- s3:DeleteBucketPolicy +- s3:GetEncryptionConfiguration +- s3:GetObject +- s3:GetObjectVersion +- s3:PutBucketPolicy +- s3:PutBucketPublicAccessBlock +- s3:PutEncryptionConfiguration +- s3:PutLifecycleConfiguration +- secretsmanager:CreateSecret +- secretsmanager:DeleteSecret +- secretsmanager:GetSecretValue +- secretsmanager:PutSecretValue +- serverlessrepo:CreateCloudFormationTemplate +{{% /collapse-content %}} + +## Configurer {#setup} + +1. Allez à la [page de configuration d'intégration AWS][8] dans Datadog et cliquez sur {{< ui >}}Add AWS Account{{< /ui >}}. +1. Configurez les paramètres de l'intégration sous l'option {{< ui >}}Automatically using CloudFormation{{< /ui >}}. + 1. Sélectionnez les régions AWS à intégrer. + 1. Ajoutez votre [clé API Datadog][9]. + 1. Optionnellement, envoyez des journaux et d'autres données à Datadog avec le [Lambda Datadog Forwarder][1]. + 1. Optionnellement, activez [Cloud Security Misconfigurations][54] pour analyser votre environnement cloud, vos hôtes et vos conteneurs pour des erreurs de configuration et des risques de sécurité. +1. Cliquez sur {{< ui >}}Launch CloudFormation Template{{< /ui >}}. Cela ouvre la Console AWS et charge la pile CloudFormation. Tous les paramètres sont remplis en fonction de vos sélections dans le formulaire Datadog précédent, donc vous n'avez pas besoin de les modifier sauf si vous le souhaitez. +**Remarque:** Le paramètre `DatadogAppKey` permet à la pile CloudFormation d'effectuer des appels API à Datadog pour ajouter et modifier la configuration Datadog pour ce compte AWS. La clé est générée automatiquement et liée à votre compte Datadog. +1. Cochez les cases requises d'AWS et cliquez sur {{< ui >}}Create stack{{< /ui >}}. Cela lance le processus de création de la pile Datadog ainsi que trois piles imbriquées. Cela peut prendre plusieurs minutes. Assurez-vous que la pile est créée avec succès avant de continuer. +1. Après la création de la pile, retournez à la tuile d'intégration AWS dans Datadog et cliquez sur {{< ui >}}Ready!{{< /ui >}} +1. Attendez jusqu'à 10 minutes pour que les données commencent à être collectées, puis consultez le tableau de bord [vue d'ensemble AWS][12] pour voir les métriques envoyées par vos services et infrastructures AWS : +{{< img src="getting_started/integrations/aws-dashboard.png" alt="Le tableau de bord vue d'ensemble AWS dans le compte Datadog. À gauche se trouve le logo AWS et un graphique d'événements AWS indiquant 'Aucune entrée correspondante trouvée'. Au centre se trouvent des graphiques liés aux volumes EBS avec des données numériques affichées et une carte thermique montrant des données cohérentes. À droite se trouvent des graphiques liés aux ELB montrant des données numériques ainsi qu'un graphique de séries temporelles affichant des pics de données provenant de trois sources.">}} + +Pour configurer plusieurs comptes à la fois, utilisez l'[API][3], l'[AWS CLI][4] ou [Terraform][5]. Pour plus d'informations, consultez le [guide Datadog-Amazon CloudFormation][6]. + +**Remarque** : Le modèle CloudFormation de Datadog ne prend en charge que la création et la suppression de ses ressources définies. Consultez [Mettre à jour votre modèle de pile][59] pour des conseils sur l'application des mises à jour à votre pile. + +### À quoi s'attendre après la configuration {#what-to-expect-after-setup} + +Après que l'intégration est configurée avec succès, les données commencent à apparaître dans Datadog selon la chronologie suivante : + +- **Métriques** : Apparaissent en environ 10 minutes avec le polling API, ou 2-3 minutes avec [CloudWatch Metric Streams][60]. Tous les services ne rapportent pas à la même cadence, donc un tableau de bord partiellement peuplé pendant la première heure est normal. +- **Tags** : Les tags des ressources AWS peuvent prendre un temps supplémentaire à se propager. Les modifications des tags dans AWS peuvent prendre de 15 minutes à plusieurs heures pour se refléter dans Datadog. +- **Ressources** : Découvertes lors du prochain cycle de crawl des ressources après la configuration. +- **Journaux** : Nécessite une configuration séparée. Voir [Envoyer des journaux](#send-logs) pour les instructions de configuration. + +
+Datadog ne remplit pas les données métriques historiques d'avant l'activation de l'intégration. Les métriques commencent à circuler à partir du moment où l'intégration est configurée avec succès. +
+ +## Configuration {#configuration} + +### Activer les intégrations pour les services AWS individuels {#enable-integrations-for-individual-aws-services} + +Voir la [page des intégrations][13] pour une liste complète des sous-intégrations disponibles. Beaucoup de ces intégrations sont installées par défaut lorsque Datadog reconnaît des données provenant de votre compte AWS. + +Utilisez l'onglet {{< ui >}}Metric Collection{{< /ui >}} sur la [page d'intégration AWS][8] pour configurer les services dont l'intégration Datadog collecte les métriques. + +### Ajouter des régions {#add-regions} + +Sous l'onglet {{< ui >}}General{{< /ui >}} sur la [page d'intégration AWS][8], vous pouvez contrôler les régions AWS où Datadog collecte des métriques, des événements CloudWatch et des ressources. + +## Envoyer des journaux{#send-logs} + +Il existe deux façons d'envoyer des journaux de service AWS à Datadog : + +- [Destination Amazon Data Firehose][10] : Recommandé pour les journaux CloudWatch à fort volume. +- [Fonction Lambda Forwarder][11] : Nécessaire pour les traces, les métriques améliorées ou les métriques personnalisées des fonctions Lambda. Également recommandé pour les journaux provenant de S3 ou d'autres ressources qui ne peuvent pas être diffusées directement vers Amazon Data Firehose. + +Voir [Activer la journalisation pour votre service AWS][14] pour les instructions de configuration. + +### Validation {#validation} + +Une fois que vous avez activé les journaux, trouvez-les dans le [Log Explorer][15] en utilisant soit les facettes `source` ou `service` du panneau de facettes, comme cet exemple de S3 : +{{< img src="getting_started/integrations/logs-explorer.png" alt="La page Log Explorer du compte Datadog. À gauche, l'image affiche les facettes Source et Service, toutes deux cochées avec 's3'. À droite, certaines entrées de journal sont affichées sous forme de liste.">}} + +## Obtenez plus de la plateforme Datadog {#get-more-from-the-datadog-platform} + +### Visibilité approfondie avec l'agent Datadog sur EC2 {#deeper-visibility-with-the-datadog-agent-on-ec2} + +Par défaut, l'intégration AWS de Datadog explore l'API CloudWatch pour les métriques fournies par AWS, mais vous pouvez obtenir une visibilité encore plus approfondie sur vos instances EC2 avec l'[agent Datadog][16]. L'agent est un démon léger qui rapporte des métriques et des événements, et peut également être configuré pour les journaux et les traces. La section [Installation de l'Agent][17] de l'application Datadog fournit des instructions pour installer l'Agent sur une grande variété de systèmes d'exploitation. De nombreux systèmes d'exploitation (par exemple, Amazon Linux) ont des commandes d'installation en une étape que vous pouvez exécuter depuis le terminal de l'instance pour installer l'Agent : +{{< img src="getting_started/integrations/integrations-agent-installation.png" alt="La section « Agent » de l'onglet « Intégrations » dans Datadog. À gauche, une liste des systèmes d'exploitation pris en charge pour l'Agent Datadog est affichée. 'Amazon Linux' est mis en évidence dans cette liste. À droite, est affiché « Utilisez notre installation facile en une étape ». La commande pour installer l'Agent est affichée en dessous, avec la section DD_API_KEY obfusquée.">}} -## Présentation - -Ce guide présente la procédure globale à suivre pour intégrer un compte Amazon Web Services (AWS) à Datadog grâce au modèle CloudFormation de Datadog. - -Vous devez essentiellement créer un rôle IAM et une stratégie associée afin d'activer le compte AWS de Datadog. Vous pourrez ainsi effectuer des appels API vers votre compte AWS afin de recueillir et de transmettre des données. Le modèle déploie également la fonction Lambda du [Forwarder Datadog][1], qui vous permet d'envoyer des logs à Datadog. Le modèle CloudFormation fournit tous les outils dont vous avez besoin pour transmettre ces données à votre compte Datadog. De plus, Datadog met à jour le modèle CloudFormation afin de toujours inclure les dernières fonctionnalités. - -Une fois la connexion initiale établie, vous pouvez activer les intégrations de chaque service AWS dont vous avez besoin pour votre environnement. D'un simple clic, Datadog provisionne les ressources nécessaires dans votre compte AWS et commence à interroger les métriques et événements des services que vous utilisez. Pour les services AWS les plus populaires, Datadog fournit des dashboards prêts à l'emploi, qui vous permettent de consulter immédiatement des informations personnalisables pour gagner en visibilité sur vos environnements. Ce guide vous explique comment configurer l'intégration et comment installer l'Agent Datadog sur une instance EC2 Amazon Linux. Il comprend également une présentation globale des fonctionnalités de l'intégration. Consultez la rubrique [Activer des intégrations pour des services AWS spécifiques](#activer-des-integrations-pour-des-services-aws-specifiques) pour obtenir la liste des sous-intégrations disponibles. - -Vous pouvez répéter ce processus pour autant de comptes AWS que vous le souhaitez, ou utiliser l'[API][3], l'[interface de ligne de commande AWS][4] ou [Terraform][5] pour configurer plusieurs comptes à la fois. Pour en savoir plus, consultez le [guide Datadog/Amazon CloudFormation][6]. - -## Prérequis - -Avant de commencer, vérifiez que vous disposez des ressources suivantes : - -1. Un compte [AWS][7]. Votre utilisateur AWS doit disposer des autorisations IAM suivantes pour pouvoir exécuter le modèle CloudFormation : - - * cloudformation:CreateStack - * cloudformation:CreateUploadBucket - * cloudformation:DeleteStack - * cloudformation:DescribeStacks - * cloudformation:DescribeStackEvents - * cloudformation:GetStackPolicy - * cloudformation:GetTemplateSummary - * cloudformation:ListStacks - * cloudformation:ListStackResources - * ec2:DescribeSecurityGroups - * ec2:DescribeSubnets - * ec2:DescribeVpcs - * iam:AttachRolePolicy - * iam:CreatePolicy - * iam:CreateRole - * iam:DeleteRole - * iam:DeleteRolePolicy - * iam:DetachRolePolicy - * iam:GetRole - * iam:GetRolePolicy - * iam:PassRole - * iam:PutRolePolicy - * iam:UpdateAssumeRolePolicy - * kms:Decrypt - * lambda:AddPermission - * lambda:CreateFunction - * lambda:DeleteFunction - * lambda:GetCodeSigningConfig - * lambda:GetFunction - * lambda:GetFunctionCodeSigningConfig - * lambda:GetLayerVersion - * lambda:InvokeFunction - * lambda:PutFunctionConcurrency - * lambda:RemovePermission - * lambda:TagResource - * logs:CreateLogGroup - * logs:DeleteLogGroup - * logs:DescribeLogGroups - * logs:PutRetentionPolicy - * oam:ListSinks - * oam:ListAttachedLinks - * s3:CreateBucket - * s3:DeleteBucket - * s3:DeleteBucketPolicy - * s3:GetEncryptionConfiguration - * s3:GetObject - * s3:GetObjectVersion - * s3:PutBucketPolicy - * s3:PutBucketPublicAccessBlock - * s3:PutEncryptionConfiguration - * secretsmanager:CreateSecret - * secretsmanager:DeleteSecret - * secretsmanager:GetSecretValue - * secretsmanager:PutSecretValue - * serverlessrepo:CreateCloudFormationTemplate +Une fois l'Agent installé, il est représenté graphiquement dans le [Infrastructure List] avec une icône d'os : +{{< img src="getting_started/integrations/infrastructure-list.png" alt="La liste d'infrastructure montrant deux hôtes sous forme de liste. Les deux hôtes affichent l'icône AWS pour l'intégration AWS et « aws » affiché dans une boîte bleue pour montrer qu'ils sont associés à l'intégration AWS. Un hôte affiche également une icône d'os et des boîtes bleues pour « ntp » et « system ».">}} -## Implémentation +La capture d'écran ci-dessus montre l'hôte avec l'Agent Datadog rapportant des données des vérifications [System][19] et [NTP][20]. La vérification System fournit des métriques liées au CPU, à la mémoire, au système de fichiers et à l'I/O, offrant des informations supplémentaires sur l'hôte. Vous pouvez activer des [integrations][21] supplémentaires pour adapter votre configuration à votre environnement et à votre cas d'utilisation, ou utiliser également [DogStatsD][22] pour envoyer des métriques personnalisées directement à Datadog. -2. Accédez à la [page de configuration de l'intégration AWS][8] dans Datadog, puis cliquez sur **Add AWS Account**. - -3. Configurez les paramètres de l'intégration sous l'option **Automatically using CloudFormation**. - a. Sélectionnez les régions AWS pour lesquelles vous souhaitez configurer l'intégration. - b. Ajoutez votre [clé d'API][9] Datadog. - c. Si vous le souhaitez, envoyez des logs et d'autres données à Datadog via la [fonction Lambda du Forwarder Datadog][1]. - d. Vous avez également la possibilité d'activer la solution [Cloud Security Posture Management][54] (CSPM) afin d'analyser votre environnement cloud, vos hosts et vos conteneurs dans le but de détecter les problèmes de configuration et les risques de sécurité. - -5. Cliquez sur **Launch CloudFormation Template** afin d'ouvrir la console AWS et de charger la pile CloudFormation. Tous les paramètres définis varient en fonction des informations que vous avez fournies dans le formulaire Datadog précédent. Vous n'avez donc pas besoin de modifier les paramètres, sauf si vous le souhaitez. -**Remarque** : le paramètre `DatadogAppKey` active la pile CloudFormation et permet donc d'effectuer des appels API vers Datadog, afin d'ajouter et de modifier la configuration Datadog pour ce compte AWS. La clé est automatiquement générée et liée à votre compte Datadog. - -6. Cochez les cases requises depuis AWS et cliquez sur **Create stack**. La création de la pile Datadog ainsi que des trois piles imbriquées commence alors. Ce processus peut prendre quelques minutes. Vérifiez que la pile a bien été créée avant de poursuivre. - -7. Une fois la pile créée, revenez au carré de l'intégration AWS dans Datadog et cliquez sur **Ready!**. - -8. Patientez 10 minutes le temps que les données commencent à être recueillies, puis accédez au [dashboard récapitulatif d'AWS][12] prêt à l'emploi pour visualiser les métriques envoyées par vos services et votre infrastructure AWS : -{{< img src="getting_started/integrations/aws-dashboard.png" alt="Le dashboard récapitulatif d'AWS dans le compte Datadog. À gauche figure le logo AWS et un graphique d'événement AWS indiquant le message « No matching entries found ». Au centre de l'image se trouvent des informations sur les volumes EBS, avec des données numériques et une carte thermique affichant des données régulières. À droite se trouvent des informations sur les ELB, avec des données numériques ainsi qu'un graphique de série temporelle présentant des données irrégulières provenant de trois sources.">}} - -## Activer des intégrations pour des services AWS spécifiques - -Consultez la [page Intégrations][13] pour découvrir la liste complète des sous-intégrations disponibles. Bon nombre de ces intégrations sont installées par défaut dès lors que Datadog identifie que vous recevez des données provenant de votre compte AWS. - -## Envoyer des logs - -Il existe deux façons d'envoyer des logs de service AWS à Datadog : +Consultez la [FAQ sur l'installation de l'Agent Datadog sur des instances cloud][23] pour en savoir plus sur les avantages de cette méthode. -- [Destination Kinesis Firehose][9] : utilisez la destination Datadog dans votre flux de diffusion Kinesis Firehose pour transmettre vos logs à Datadog. Il est conseillé de procéder de la même façon pour envoyer un volume très élevé de logs depuis CloudWatch. -- [Fonction Lambda du Forwarder][11] : déployez la fonction Lambda du Forwarder Datadog. Celle-ci s'abonne aux compartiments S3 ou à vos groupes de logs CloudWatch et transmet vos logs à Datadog. Vous **devez** procéder de cette façon pour envoyer de façon asynchrone des traces, des métriques optimisées ou des métriques custom depuis vos fonctions Lambda via des logs. Datadog vous conseille également d'utiliser cette méthode pour envoyer des logs depuis S3 ou depuis d'autres ressources ne prenant pas en charge la diffusion directe de données vers Kinesis. - -Consultez la rubrique [Activer la journalisation pour votre service AWS][14] pour recevoir des logs depuis les services AWS les plus populaires. - -### Validation - -Une fois vos logs activés, consultez-les dans le [Log Explorer][15] en sélectionnant la facette `source` ou `service` dans le volet dédié. Voici un exemple de vue Log Explorer pour S3 : -{{< img src="getting_started/integrations/logs-explorer.png" alt="La page Log Explorer du compte Datadog. À gauche de l'image se trouvent les facettes Source et Service, pour lesquelles l'option « s3 » est cochée. Sur la droite, des entrées de log sont affichées dans une liste.">}} - -## Tirer pleinement profit de la plateforme Datadog - -### Gagner en visibilité avec l'Agent Datadog sur EC2 - -Par défaut, l'intégration Datadog/AWS a recours à l'API CloudWatch afin de récupérer les métriques fournies par AWS. Toutefois, pour optimiser votre visibilité sur vos instances EC2, vous pouvez utiliser l'[Agent Datadog][16]. Il s'agit un daemon léger qui transmet des métriques et des événements. Il peut également être configuré afin de recueillir des logs et des traces. La section [Agent Installation][17] de l'application Datadog contient des instructions d'installation de l'Agent pour un vaste choix de systèmes d'exploitation. Pour de nombreux systèmes d'exploitation (par exemple, Amazon Linux), vous pouvez exécuter des commandes d'installation complète de l'Agent depuis le terminal de l'instance : -{{< img src="getting_started/integrations/integrations-agent-installation.png" alt="La section Agent de l'onglet Integrations de Datadog. À gauche figure la liste des systèmes d'exploitation prenant en charge l'Agent Datadog. L'option « Amazon Linux » est mise en surbrillance dans cette liste. Sur la droite se trouve la section « Use our easy one-step install ». La commande d'installation de l'Agent est affichée sous cette section. La valeur de l'option DD_API_KEY est obfusquée.">}} - -Une fois l'Agent installé, il est représenté par une icône en forme d'os dans la [liste d'infrastructures][18] : -{{< img src="getting_started/integrations/infrastructure-list.png" alt="La liste d'infrastructures avec deux hosts dans une liste. Les deux hosts possèdent une icône AWS ainsi qu'une case bleue « aws » pour indiquer qu'ils sont associés à l'intégration AWS. Un des hosts inclut également une icône en forme d'os, ainsi que les cases bleues « ntp » et « system ».">}} - -Dans la capture d'écran ci-dessus, le host sur lequel l'Agent Datadog se trouve transmet des données à partir des checks [System][19] et [NTP][20]. Le check System fournit des métriques relatives au CPU, à la mémoire, au système de fichiers et aux E/S, afin d'obtenir des informations exploitables sur le host. Vous pouvez activer des [intégrations][21] supplémentaires en fonction de votre environnement et de vos scénarios d'utilisation, ou encore utiliser [DogStatsD][22] pour envoyer directement des métriques custom à Datadog. +### Utilisation de l'Agent Datadog avec Amazon Container Services {#using-the-datadog-agent-with-amazon-container-services} -Consultez la [FAQ sur l'installation de l'Agent Datadog sur des instances cloud][23] pour en savoir plus sur les avantages de cette méthode. +Pour les environnements conteneurisés, vous pouvez utiliser l'Agent Datadog, que vous gériez vos instances ou que vous utilisiez [Fargate][24] pour un environnement sans serveur. -### Utiliser l'Agent Datadog avec les services de conteneurs Amazon +#### ECS avec EC2 launch type {#ecs-with-ec2-launch-type} -Que vous gériez vous-même vos instances ou utilisiez [Fargate][24] pour un environnement sans serveur, vous pouvez utiliser l'Agent Datadog pour vos environnements conteneurisés. +Utilisez la [documentation Amazon ECS][25] pour exécuter l'[Agent Docker Datadog][26] sur les instances EC2 de votre cluster ECS. Consultez la [Amazon ECS Data Collection documentation][27] pour voir les métriques et événements signalés à votre compte Datadog. -#### ECS avec le type de lancement EC2 +#### ECS avec Fargate launch type {#ecs-with-fargate-launch-type} -Référez-vous à la [documentation relative à Amazon ECS][25] pour exécuter l'[Agent Docker Datadog][26] sur les instances EC2 de votre cluster ECS. Consultez la [section sur la collecte de logs][27] pour découvrir les métriques et événements transmis à votre compte Datadog. +Utilisez la [Amazon ECS on AWS Fargate documentation][28] pour exécuter l'Agent en tant que conteneur dans la même définition de tâche que votre application. **Remarque** : La version 6.1.1 ou supérieure de l'Agent Datadog est nécessaire pour tirer pleinement parti de l'intégration Fargate. -#### ECS avec le type de lancement Fargate +#### AWS Batch avec Fargate orchestration type {#aws-batch-with-fargate-orchestration-type} -Référez-vous à la [documentation relative à Amazon ECS sur AWS Fargate][28] pour exécuter l'Agent en tant que conteneur dans la même définition de tâche que votre application. **Remarque** : la version 6.11 de l'Agent Datadog, ou une version ultérieure, est requise pour profiter de l'ensemble des fonctionnalités de l'intégration Fargate. +Utilisez la [Amazon ECS on AWS Fargate for AWS Batch documentation][58] pour exécuter l'Agent en tant que conteneur dans la même définition de tâche AWS Batch que votre application. **Remarque** : La version 6.1.1 ou supérieure de l'Agent Datadog est nécessaire pour tirer pleinement parti de l'intégration Fargate. -#### EKS +#### EKS {#eks} -Comme indiqué dans la [documentation sur les distributions Kubernetes][29], aucune configuration spécifique n'est requise pour Amazon Elastic Kubernetes Service (EKS), Référez-vous à la [documentation relative à Kubernetes][30] pour déployer l'Agent dans votre cluster EKS. +Aucune configuration spécifique n'est nécessaire pour Amazon Elastic Kubernetes Service (EKS), comme mentionné dans la [Kubernetes Distributions documentation][29]. Utilisez la [dedicated Kubernetes documentation][30] pour déployer l'Agent dans votre cluster EKS. -#### EKS avec Fargate +#### EKS avec Fargate {#eks-with-fargate} -Les pods Fargate sont gérés par AWS. Pour cette raison, ils excluent les checks système basés sur des hosts, notamment ceux portant sur le processeur et la mémoire. Pour recueillir des données depuis vos pods AWS Fargate, consultez la [documentation relative à Amazon EKS sur AWS Fargate][31] afin d'exécuter l'Agent en tant que sidecar de votre pod d'application, avec des règles de contrôle d'accès basé sur les rôles (RBAC) personnalisées. **Remarque** : la version 7.17+ de l'Agent Datadog est requise. +Étant donné que les pods Fargate sont gérés par AWS, ils excluent les vérifications système basées sur l'hôte comme le CPU et la mémoire. Pour collecter des données de vos pods AWS Fargate, utilisez la [Amazon EKS on AWS Fargate documentation][31] pour exécuter l'Agent en tant que sidecar de votre pod d'application avec un contrôle d'accès basé sur les rôles (RBAC) personnalisé. **Remarque** : Cela nécessite la version 7.17 ou supérieure de l'Agent Datadog. -#### EKS Anywhere +#### EKS Anywhere {#eks-anywhere} Référez-vous à la [documentation relative à EKS Anywhere][32] pour vos clusters Kubernetes sur site. -### Créer des ressources Datadog supplémentaires -Vous pouvez non seulement utiliser l'interface ou l'[API][33] Datadog, mais également créer de nombreuses [ressources Datadog][34] avec le [registre CloudFormation][35]. Pour une meilleure visibilité et une résolution simplifiée de vos problèmes, utilisez des [dashboards][36] afin de représenter des données clés, d'appliquer des [fonctions][37] et de repérer des [corrélations de métriques][38]. +### Créer des ressources Datadog supplémentaires {#create-additional-datadog-resources} +En plus d'utiliser l'interface Datadog ou l'[API][33], vous pouvez créer de nombreuses [Datadog resources][34] avec le [CloudFormation Registry][35]. Pour la visibilité et le dépannage, utilisez des [dashboards][36] pour afficher des données clés, appliquer des [Functions][37] et trouver des [Metric Correlations][38]. + +Pour être informé de tout comportement indésirable ou inattendu dans votre compte, créez des [monitors][39]. Les moniteurs évaluent constamment les données signalées dans votre compte et envoient des [Notifications][40] pour s'assurer que les bonnes informations parviennent aux bons membres de l'équipe. Consultez la [List of Notification Integrations][41] pour toutes les manières de notifier votre équipe. -Pour être informé en cas de comportement indésirable ou inattendu dans votre compte, créez des [monitors][39]. Les monitors évaluent en continu les données transmises à votre compte et envoient des [notifications][40] de façon à partager des informations pertinentes avec les personnes adéquates. Consultez la [liste des intégrations générant des notifications][41] pour découvrir toutes les solutions disponibles pour prévenir vos équipes. +## Explorez des produits connexes {#explore-related-products} -## Explorer des solutions connexes +### Sans serveur {#serverless} -### Serverless +Pour surveiller les fonctions AWS Lambda avec Datadog, consultez [Serverless][42] pour des instructions sur l'instrumentation de votre application, l'installation des [Serverless Libraries and Integrations][43], la mise en œuvre du [distributed tracing with serverless applications][44] ou le [troubleshooting serverless issues][45]. -Vous pouvez unifier les métriques, traces et logs provenant de vos fonctions AWS Lambda exécutant des applications sans serveur dans Datadog. Consultez la section [Informatique sans serveur][42] pour découvrir comment instrumenter votre application, installer des [bibliothèques et intégrations sans serveur][43], implémenter le [tracing distribué avec des applications sans serveur][44] et [corriger les problèmes de surveillance sans serveur][45]. +### APM {#apm} -### APM -Pour bénéficier d'analyses encore plus détaillées et récupérer des données supplémentaires à partir de vos applications et services AWS, activez la collecte de traces distribuées depuis l'intégration [AWS X-Ray][46] ou depuis un host sur lequel se trouve l'Agent Datadog avec [APM][47]. Consultez ensuite la rubrique [Explorer la solution APM Datadog][48] pour découvrir comment exploiter pleinement ces données afin d'obtenir des informations exploitables sur les performances de votre application. +Pour collecter des traces distribuées de vos applications et services AWS, utilisez l'Agent Datadog avec [APM][47]. Pour les fonctions AWS Lambda, instrumentez avec l'[Datadog Lambda Extension][44]. Consultez la [documentation APM][48] pour des détails sur l'analyse des données de performance des applications. -Il est également possible d'utiliser [Watchdog][49], une fonctionnalité algorithmique analysant les performances APM et les métriques d'infrastructure. Vous pourrez ainsi détecter automatiquement les problèmes potentiels concernant votre application et recevoir des notifications à ce sujet. +Vous pouvez également utiliser [Watchdog][49], une fonctionnalité algorithmique pour les performances APM et les métriques d'infrastructure, pour détecter automatiquement et être informé des problèmes potentiels d'application. -### Securité +### Sécurité {#security} -#### Cloud SIEM +#### Cloud SIEM {#cloud-siem} -Consultez la section [Débuter avec Cloud SIEM][50] pour appliquer des [règles de détection][51] prêtes à l'emploi à vos logs. Ces règles, qui sont personnalisables, génèrent des signaux de sécurité en cas de détection de menaces. Vous pouvez visualiser les signaux dans la vue [Security Signals Explorer][52]. Pour veiller à toujours prévenir la bonne équipe, configurez des préférences de notification pour plusieurs règles grâce aux [règles de notification][53]. +Consultez [Getting Started with Cloud SIEM][50] pour évaluer vos journaux par rapport aux [Log Detection Rules][51] prêtes à l'emploi. Ces règles sont personnalisables, et lorsque des menaces sont détectées, elles génèrent des signaux de sécurité accessibles dans le [Security Signals Explorer][52]. Utilisez [Notification Rules][53] pour configurer les préférences de notification sur plusieurs règles. -#### CSPM +#### Mauvaises configurations de la sécurité cloud {#cloud-security-misconfigurations} -Référez-vous au guide [Débuter avec CSPM][54] pour apprendre à détecter et à évaluer les problèmes de configuration dans votre environnement cloud. Les règles de détection CSPM prêtes à l'emploi pour le [cloud][55] et l'[infrastructure][56] sont appliquées aux données des configurations des ressources. Elles signalent les techniques malveillantes et les problèmes potentiels de configuration, afin que vous puissiez agir sans plus tarder. +Utilisez le guide [Setting Up Cloud Security Misconfigurations][54] pour détecter et évaluer les mauvaises configurations dans votre environnement cloud. Les données de configuration des ressources sont évaluées par rapport aux règles de conformité [Cloud][55] et [Infrastructure][56] prêtes à l'emploi pour signaler les techniques d'attaque et les mauvaises configurations potentielles. -### Dépannage +### Dépannage {#troubleshooting} -Si vous rencontrez l'erreur `Datadog is not authorized to perform sts:AssumeRole`, consultez la [page dédiée à sa résolution][2]. Pour tout autre problème, consultez le [guide de dépannage de l'intégration AWS][57]. +Si vous rencontrez l'erreur `Datadog is not authorized to perform sts:AssumeRole`, consultez sa page de dépannage dédiée [troubleshooting page][2]. Pour tout autre problème, consultez le [AWS integration troubleshooting guide][57]. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -216,7 +239,7 @@ Si vous rencontrez l'erreur `Datadog is not authorized to perform sts:AssumeRole [2]: /fr/integrations/guide/error-datadog-not-authorized-sts-assume-role/ [3]: /fr/api/latest/aws-integration/#create-an-aws-integration [4]: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/index.html -[5]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/integration_aws +[5]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/integration_aws_account [6]: /fr/integrations/guide/amazon_cloudformation/ [7]: https://aws.amazon.com/getting-started/?nc1=f_cc [8]: https://app.datadoghq.com/integrations/amazon-web-services @@ -233,7 +256,7 @@ Si vous rencontrez l'erreur `Datadog is not authorized to perform sts:AssumeRole [19]: /fr/integrations/system/ [20]: /fr/integrations/ntp/ [21]: /fr/integrations/ -[22]: /fr/developers/dogstatsd/?tab=hostagent +[22]: /fr/extend/dogstatsd/?tab=hostagent [23]: /fr/agent/faq/why-should-i-install-the-agent-on-my-cloud-instances/ [24]: https://aws.amazon.com/fargate/ [25]: /fr/agent/amazon_ecs/?tab=awscli @@ -256,16 +279,19 @@ Si vous rencontrez l'erreur `Datadog is not authorized to perform sts:AssumeRole [42]: /fr/serverless [43]: /fr/serverless/libraries_integrations [44]: /fr/serverless/distributed_tracing -[45]: /fr/serverless/troubleshooting +[45]: /fr/serverless/aws_lambda/troubleshooting/ [46]: /fr/integrations/amazon_xray/ [47]: /fr/tracing/trace_collection/ -[48]: /fr/tracing/#explore-datadog-apm +[48]: /fr/tracing/ [49]: /fr/watchdog/ [50]: /fr/getting_started/cloud_siem/ [51]: /fr/security/default_rules/#cat-log-detection -[52]: /fr/security/explorer/ +[52]: /fr/security/cloud_siem/triage_and_investigate/investigate_security_signals [53]: /fr/security/notifications/rules/ -[54]: /fr/security/cspm/setup/ +[54]: /fr/security/cloud_security_management/setup/ [55]: /fr/security/default_rules/#cat-posture-management-cloud [56]: /fr/security/default_rules/#cat-posture-management-infra -[57]: /fr/integrations/guide/aws-integration-troubleshooting/ \ No newline at end of file +[57]: /fr/integrations/guide/aws-integration-troubleshooting/ +[58]: /fr/integrations/ecs_fargate/?tab=webui#installation-for-aws-batch +[59]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-get-template.html +[60]: /fr/integrations/guide/aws-cloudwatch-metric-streams-with-kinesis-data-firehose/ \ No newline at end of file diff --git a/content/fr/getting_started/integrations/azure.md b/content/fr/getting_started/integrations/azure.md new file mode 100644 index 00000000000..595e940e00c --- /dev/null +++ b/content/fr/getting_started/integrations/azure.md @@ -0,0 +1,439 @@ +--- +aliases: +- /fr/integrations/guide/azure-manual-setup/ +- /fr/integrations/guide/azure-programmatic-management/ +description: Connectez Microsoft Azure avec Datadog en utilisant les options d'intégration + de l'enregistrement d'application Azure. Configurez la collecte de métriques, le + transfert de journaux et l'installation de l'Agent. +further_reading: +- link: https://www.datadoghq.com/blog/azure-integration-onboarding/ + tag: Blog + text: Accélérez la configuration de votre intégration Azure grâce à une procédure + d'initialisation guidée. +- link: https://docs.datadoghq.com/integrations/azure/#overview + tag: Documentation + text: Intégration Microsoft Azure. +- link: https://docs.datadoghq.com/agent/guide/why-should-i-install-the-agent-on-my-cloud-instances/ + tag: Guide + text: Pourquoi installer l'Agent Datadog sur mes instances dans le cloud ? +title: Commencer avec Azure. +--- +## Aperçu {#overview} + +Datadog propose plusieurs options de configuration pour l'intégration Azure. Ce guide fournit un aperçu des différentes options disponibles pour commencer avec Azure, avec des liens vers des ressources et des tutoriels Azure qui traitent des cas d'utilisation spécifiques. + +## Prérequis {#prerequisites} + +Si vous ne l'avez pas encore fait, créez un [compte Datadog][2]. + +{{% collapse-content title="Permissions requises pour la configuration de l'intégration." level="h4" expanded=false id="required-permissions" %}} + +### Dans Azure {#in-azure} + +Votre utilisateur Microsoft Entra ID a besoin des permissions suivantes : + +#### Permission de créer un enregistrement d'application {#permission-to-create-an-app-registration} + +**L'une** des conditions suivantes doit être vraie pour l'utilisateur : + +- `Users can register applications` a été défini sur `Yes` +- L'utilisateur a le rôle [Développeur d'Application][38] + +##### Rôles d'administrateur au sein de vos abonnements {#admin-roles-within-your-subscriptions} + +Au sein des abonnements que vous souhaitez surveiller, vous devez avoir soit : + +- Le rôle {{< ui >}}Owner{{< /ui >}} +- Les deux rôles {{< ui >}}Contributor{{< /ui >}} et {{< ui >}}User Access Admin{{< /ui >}} + +#### Autorisation d'ajouter et de donner son consentement pour les autorisations de l'API Graph {#permission-to-add-and-grant-consent-for-graph-api-permissions} + +Le rôle [Administrateur de rôle privilégié][25] contient les autorisations requises. + +### Dans Datadog {#in-datadog} + +Le `Datadog Admin Role`, ou tout autre rôle avec l'autorisation `azure_configurations_manage`. + +{{% /collapse-content %}} + +{{< site-region region="us3" >}} + +
La gestion des coûts dans le cloud et les archives de journaux nécessitent la configuration de l'enregistrement de l'application. Pour les comptes Datadog utilisant l'intégration Azure Native, suivez les étapes de configuration sur cette page pour créer un enregistrement d'application. Si une souscription est connectée par les deux méthodes, un avertissement de redondance apparaît dans la tuile d'intégration Azure. Cet avertissement peut être ignoré en toute sécurité pour la gestion des coûts dans le cloud et les archives de journaux. +
+ +{{< /site-region >}} + + +## Configuration {#setup} + +Suivez les instructions sur cette page pour configurer le {{< ui >}}Azure integration{{< /ui >}} via un enregistrement d'application, disponible pour tous les sites Datadog. + +{{< img src="/getting_started/integrations/azure/GSwAzure_siteSelector.mp4" alt="Sélecteur de site pour le site US3" video=true >}} + +{{% collapse-content title="Démarrage rapide (recommandé)" level="h4" expanded=false id="quickstart-setup" %}} + +### Choisissez la méthode de configuration Démarrage rapide si... {#choose-the-quickstart-setup-method-if} + +- Vous configurez Datadog pour la première fois. +- Vous préférez un flux de travail basé sur l'interface utilisateur et souhaitez minimiser le temps nécessaire pour créer un principal de service avec les autorisations de surveillance requises. +- Vous souhaitez automatiser les étapes de configuration dans des scripts ou des pipelines CI/CD. + +### Instructions {#instructions} + +1. Dans la tuile d'intégration Azure, cliquez sur {{< ui >}}+ Add New App registration{{< /ui >}}, puis sélectionnez {{< ui >}}Quickstart{{< /ui >}}. +2. Copiez le script de configuration et exécutez-le dans le shell Azure Cloud. +3. Retournez à l'interface utilisateur de Datadog. Vous devriez voir {{< ui >}}CONNECTED{{< /ui >}} dans le coin supérieur droit du script de configuration. +4. Sélectionnez les abonnements et les groupes de gestion à partir desquels collecter des données. +5. Optionnellement, cliquez sur le commutateur de collecte de métriques pour désactiver toute collecte de métriques depuis Azure. Vous pouvez également développer le menu déroulant {{< ui >}}Advanced Configuration{{< /ui >}} pour filtrer les métriques par : + - Fournisseur de ressources + - Étiquettes + - Hôtes + - Plans de service d'application + - Container Apps + +Vous pouvez également cliquer pour activer la collecte de métriques personnalisées depuis [Azure Application Insights][36], et désactiver la collecte des métriques d'utilisation. + +6. Optionnellement, cliquez sur le commutateur de collecte de ressources pour désactiver la collecte d'informations de configuration de vos ressources Azure. +7. Activez la collecte de journaux pour configurer et paramétrer les services et les paramètres de diagnostic nécessaires pour transférer les journaux vers Datadog : + 1. Si un transmetteur de journaux existe déjà dans le locataire, il est modifié pour étendre son champ d'application. Tous les paramètres modifiés s'appliquent aux abonnements ou groupes de gestion existants ainsi qu'à ceux nouvellement sélectionnés. + 2. Si vous créez un nouveau transmetteur de journaux : + 1. Entrez un nom de groupe de ressources pour stocker le plan de contrôle du transmetteur de journaux. + 2. Sélectionnez un abonnement de plan de contrôle pour l'orchestration de transfert de journaux (LFO). + 3. Sélectionnez une région pour le plan de contrôle.
+ **Remarque** : Les champs de nom de groupe de ressources, d'abonnement de plan de contrôle et de région n'apparaissent que lors de la création d'un nouveau transmetteur de journaux. + 3. Optionnellement, ouvrez {{< ui >}}Log filtering options{{< /ui >}} pour filtrer les journaux par étiquettes, ou appliquez un filtrage pour des informations spécifiques (comme les PII) en utilisant des regex. + + Consultez la [section Architecture][34] du guide de transfert de journaux automatisé pour plus d'informations sur cette architecture. + +8. Cliquez {{< ui >}}Confirm{{< /ui >}} pour terminer la configuration. + +{{% /collapse-content %}} + +{{% collapse-content title="Terraform" expanded=false level="h4" id="terraform-setup" %}} + +### Choisissez la méthode de configuration Terraform si... {#choose-the-terraform-setup-method-if} + +- Vous gérez l'infrastructure en tant que code et souhaitez maintenir l'intégration Datadog Azure sous contrôle de version. +- Vous devez configurer plusieurs locataires ou abonnements de manière cohérente avec des blocs de fournisseur réutilisables. +- Vous souhaitez un processus de déploiement répétable et auditable qui s'intègre dans votre environnement géré par Terraform. + +### Instructions {#instructions-1} + +Suivez ces étapes pour déployer l'intégration Datadog Azure via [Terraform][23]. + +{{< tabs >}} +{{% tab "Créez un enregistrement d'application" %}} + +1. Dans la tuile [intégration Azure][100], cliquez {{< ui >}}+ Add New App registration{{< /ui >}}, puis sélectionnez {{< ui >}}Terraform{{< /ui >}}. +2. Sélectionnez les abonnements et les groupes de gestion à partir desquels collecter des données. +3. Optionnellement, cliquez sur le commutateur de collecte de métriques pour désactiver toute collecte de métriques depuis Azure. Vous pouvez également développer le menu déroulant {{< ui >}}Advanced Configuration{{< /ui >}} pour filtrer les métriques par : + - Fournisseur de ressources + - Étiquettes + - Hôtes + - Plans de service d'application + - Container Apps + + Vous pouvez également cliquer pour activer la collecte de métriques personnalisées depuis [Azure Application Insights][101], et désactiver la collecte des métriques d'utilisation. +4. Vous pouvez également cliquer sur le commutateur de collecte de ressources pour désactiver la collecte d'informations de configuration de vos ressources Azure. +5. Configurez la collecte de journaux : + - Si un transmetteur de journaux existe déjà dans le locataire, étendez son champ d'application pour inclure de nouvelles souscriptions ou groupes de gestion. + - Si vous créez un nouveau transmetteur de journaux : + 1. Entrez un nom de groupe de ressources pour stocker le plan de contrôle du transmetteur de journaux. + 1. Sélectionnez un abonnement de plan de contrôle pour l'orchestration de transfert de journaux (LFO). + 1. Sélectionnez une région pour le plan de contrôle. + + Consultez la [section Architecture][102] du guide d'expédition automatisée des journaux pour plus d'informations sur cette architecture. +6. Copiez et exécutez la commande sous {{< ui >}}Initialize and apply the Terraform{{< /ui >}}. + +[100]: https://app.datadoghq.com/integrations/azure/ +[101]: https://learn.microsoft.com/azure/azure-monitor/app/app-insights-overview +[102]: /fr/logs/guide/azure-automated-log-forwarding/#architecture +{{% /tab %}} + +{{% tab "Utilisez un enregistrement d'application existant." %}} + + + +- Vous avez déjà un enregistrement d'application configuré avec le {{< ui >}}Monitoring Reader{{< /ui >}} rôle pour Datadog afin de surveiller le champ d'application fourni (abonnements ou groupes de gestion), et vous ne souhaitez pas créer de nouvelles ressources. + +1. Configurez le [fournisseur Datadog Terraform][200] pour interagir avec l'API Datadog via une configuration Terraform. +2. Configurez votre fichier de configuration Terraform en utilisant l'exemple ci-dessous comme modèle de base. Assurez-vous de mettre à jour les paramètres suivants avant d'appliquer les modifications : + * `tenant_name` : Votre ID Azure Active Directory. + * `client_id` : Votre ID d'application Azure (client). + * `client_secret` : Votre clé secrète d'application web Azure. + + Consultez la page [ressource d'intégration Datadog Azure][201] dans le registre Terraform pour d'autres exemples d'utilisation et la liste complète des paramètres optionnels, ainsi que des ressources Datadog supplémentaires. + +{{< code-block lang="hcl" filename="" disable_copy="false" collapsible="false" >}} + +resource "datadog_integration_azure" "sandbox" { + tenant_name = "" + client_id = "" + client_secret = "" +} + +{{< /code-block >}} + +3. Exécutez `terraform apply`. Attendez jusqu'à 10 minutes pour que les données commencent à être collectées, puis consultez le tableau de bord de vue d'ensemble Azure prêt à l'emploi pour voir les métriques envoyées par vos ressources Azure. + +[200]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs +[201]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/integration_azure +{{% /tab %}} +{{< /tabs >}} + +#### Gestion de plusieurs abonnements ou locataires {#managing-multiple-subscriptions-or-tenants} + +Vous pouvez utiliser plusieurs blocs de fournisseur avec des alias pour gérer les ressources Terraform à travers plusieurs abonnements ou locataires. Consultez [Configuration du fournisseur][22] pour plus d'informations. + +### Surveillez l'état d'intégration {#monitor-the-integration-status} + +Une fois l'intégration configurée, Datadog commence à exécuter une série continue d'appels aux API Azure pour collecter des données de surveillance critiques de votre environnement Azure. Parfois, ces appels renvoient des erreurs (par exemple, si les identifiants fournis ont expiré). Ces erreurs peuvent inhiber ou bloquer la capacité de Datadog à collecter des données de surveillance. + +Lorsque des erreurs critiques sont rencontrées, l'intégration Azure génère des événements dans l'Explorateur d'événements Datadog et les republie toutes les cinq minutes. Vous pouvez configurer un Moniteur d'événements pour se déclencher lorsque ces événements sont détectés et notifier l'équipe appropriée. + +Datadog fournit un modèle de moniteur pour vous aider à démarrer. Pour utiliser le modèle de moniteur : + +1. Dans Datadog, allez à {{< ui >}}Monitors{{< /ui >}} et cliquez sur le bouton {{< ui >}}Browse Templates{{< /ui >}}. +2. Recherchez et sélectionnez le modèle de moniteur intitulé [[Azure] Erreurs d'intégration][26]. +3. Apportez les modifications souhaitées à la requête de recherche ou aux conditions d'alerte. Par défaut, le moniteur se déclenche chaque fois qu'une nouvelle erreur est détectée et se résout lorsque l'erreur n'a pas été détectée pendant les 15 dernières minutes. +4. Mettez à jour les messages de notification et de renotification selon vos souhaits. Notez que les événements eux-mêmes contiennent des informations pertinentes sur l'événement et sont inclus dans la notification automatiquement. Cela inclut des informations détaillées sur la portée, la réponse d'erreur et les étapes courantes pour remédier à la situation. +5. [Configurer les notifications][27] via vos canaux préférés (email, Slack, PagerDuty ou autres) pour vous assurer que votre équipe est alertée des problèmes affectant la collecte de données Azure. + +{{% /collapse-content %}} + +{{% collapse-content title="Utilisez un enregistrement d'application existant." level="h4" expanded=false id="existing-app-registration-setup" %}} + +### Choisissez la méthode de configuration d'enregistrement d'application existante si.. {#choose-the-existing-app-registration-setup-method-if} + +- Vous avez déjà un enregistrement d'application configuré avec le rôle {{< ui >}}Monitoring Reader{{< /ui >}} pour que Datadog surveille la portée fournie (abonnements ou groupes de gestion), et vous ne souhaitez pas créer de nouvelles ressources. + +Si vous devez configurer un enregistrement d'application pour Datadog, consultez les méthodes de configuration [Démarrage rapide](#quickstart-setup) ou [Terraform](#terraform-setup). + +### Instructions {#instructions-2} + +1. Dans la tuile d'intégration [Datadog Azure][20], sélectionnez {{< ui >}}Add Existing{{< /ui >}}. +2. Dans le champ {{< ui >}}Tenant ID{{< /ui >}}, collez votre ID de répertoire (locataire). +3. Dans le champ {{< ui >}}Client ID{{< /ui >}}, collez l'ID de l'application (client). +4. Dans le champ {{< ui >}}Client Secret Value{{< /ui >}}, collez la valeur du secret client de l'enregistrement de l'application. +5. Optionnellement, cliquez sur le bouton {{< ui >}}Monitor Automuting{{< /ui >}} pour désactiver l'automutation du moniteur. +6. Optionnellement, cliquez sur le bouton de collecte des métriques pour désactiver toute collecte de métriques depuis Azure. Vous pouvez également développer le menu déroulant {{< ui >}}Advanced Configuration{{< /ui >}} pour filtrer les métriques par : + - Fournisseur de ressources + - Étiquettes + - Hôtes + - Plans de service d'application + - Applications conteneurisées + +Vous pouvez également cliquer pour activer la collecte de métriques personnalisées depuis [Azure Application Insights][36], et désactiver la collecte des métriques d'utilisation. + +6. Optionnellement, cliquez sur le bouton de collecte des ressources pour désactiver la collecte d'informations de configuration de vos ressources Azure. +7. Cliquez sur {{< ui >}}Create Configuration{{< /ui >}}. + +{{% /collapse-content %}} + +## Collecte de métriques {#metric-collection} + +L'intégration Azure de Datadog est conçue pour collecter toutes les métriques de [Azure Monitor][8]. La [page des intégrations][9] affiche une liste sélectionnée de sous-intégrations prédéfinies qui fournissent des tableaux de bord et des moniteurs supplémentaires prêts à l'emploi pour des services Azure spécifiques. Bon nombre de ces intégrations sont installées par défaut lorsque Datadog reconnaît des données provenant de votre compte Azure. Cependant, Datadog peut ingérer des métriques de **toute ressource prise en charge par Azure Monitor**, même si elle n'a pas de tuile de sous-intégration dédiée. + +Vous pouvez trouver vos métriques Azure dans la page de résumé des métriques sur la plateforme Datadog en naviguant vers `Metrics > Summary` et en recherchant `Azure`. + +{{< img src="/getting_started/integrations/azure/GSwAzure_metricExplorer.png" alt="Image de résumé des métriques" style="width:100%;" >}} + +### Filtrage des balises de ressources pour les métriques {#resource-tag-filtering-for-metrics} + +Utilisez des filtres de balises pour contrôler quelles ressources Azure ont leurs métriques collectées par Datadog. Configurez les filtres de balises dans l'onglet {{< ui >}}Configuration{{< /ui >}} de la tuile [intégration Azure][20]. Un filtre de balises est une liste de balises séparées par des virgules sous la forme `key:value`. Seules les ressources qui correspondent à au moins une balise dans le filtre ont leurs métriques collectées. + +Vous pouvez utiliser des caractères génériques dans vos filtres de balises : +- `?` correspond à un seul caractère. +- `*` correspond à plusieurs caractères. + +Pour exclure des ressources avec une balise donnée, préfixez la balise avec `!`. L'exclusion a la priorité sur l'inclusion. Une ressource correspond au filtre si elle correspond à une balise de la liste. + +Par exemple : `datadog:monitored,env:production,!plan_tier:basic,instance-type:c1.*` + +Ce filtre collecte des métriques à partir des ressources étiquetées avec `datadog:monitored` ou `env:production`, exclut les ressources étiquetées avec `plan_tier:basic`, et inclut les ressources avec une balise `instance-type` correspondant à `c1.*`. + +Si aucun filtre de balises n'est défini, Datadog collecte des métriques de toutes les ressources Azure. + +## Activer la collecte des journaux {#enable-log-collection} + +Vous pouvez utiliser la fonctionnalité d'envoi automatique des journaux pour configurer et paramétrer les services et les paramètres de diagnostic nécessaires pour transférer les journaux à Datadog. Si un plan de contrôle d'envoi automatique des journaux existe déjà dans le locataire, ce flux le modifie et étend son champ d'application pour inclure les abonnements ou groupes de gestion sélectionnés. Pour plus de détails, voir [Configuration de l'envoi automatique des journaux Azure][19]. + +Datadog recommande d'utiliser l'Agent ou DaemonSet pour envoyer des journaux depuis Azure. Si le streaming direct n'est pas possible, utilisez le flux {{< ui >}}Configure Log Forwarding{{< /ui >}} dans l'[intégration Azure][20] pour configurer et gérer le transfert automatisé de journaux directement dans Datadog. Vous pouvez également déployer le transfert de journaux avec un [modèle de gestion des ressources Azure (ARM)][19]. Les deux méthodes gèrent automatiquement et mettent à l'échelle les services de transfert de journaux. + +{{% collapse-content title="Automatisé (recommandé)" level="h4" expanded=false id="automated-log-forwarding-setup" %}} + +### Choisissez la méthode de configuration du transfert de journaux automatisé si... {#choose-the-automated-log-forwarding-setup-method-if} + +- Vous n'avez pas déjà configuré de journaux via la [méthode de configuration Quickstart](#azure-quickstart-setup). +- Vous préférez un flux de travail basé sur une interface utilisateur et souhaitez minimiser le temps nécessaire pour créer un principal de service avec les autorisations de surveillance requises. +- Vous souhaitez automatiser les étapes de configuration dans des scripts ou des pipelines CI/CD. + +### Instructions {#instructions-3} + +#### Configurer le transfert de journaux (recommandé) {#configure-log-forwarding-recommended} + +Utilisez le flux {{< ui >}}Configure Log Forwarding{{< /ui >}} pour configurer de nouveaux ou gérer des transmetteurs de journaux existants directement dans Datadog : + +1. Dans Datadog, accédez à [{{< ui >}}Integrations{{< /ui >}} > {{< ui >}}Azure{{< /ui >}}][20]. +1. Cliquez sur {{< ui >}}Configure Log Forwarding{{< /ui >}}. +1. Copiez la commande fournie et collez-la dans votre Azure Cloud Shell. +1. Sélectionnez les abonnements à partir desquels transférer des journaux. +1. Optionnellement, ajoutez ou supprimez des filtres de journaux. +1. Cliquez sur {{< ui >}}Confirm{{< /ui >}}. + +Pour plus de détails, consultez [Configuration automatisée du transfert de journaux Azure][19]. + +#### Modèle ARM {#arm-template} + +Alternativement, déployez le transfert de journaux avec un modèle de gestion des ressources Azure (ARM) : + +1. Ouvrez le [modèle ARM de transfert de journaux automatisé][29] dans Azure. +1. Configurez les détails de votre projet et de votre instance Azure dans l'onglet [Informations de base][30]. +1. Entrez vos identifiants Datadog dans l'onglet [Configuration Datadog][31]. +1. Reconnaissez les avertissements de déploiement dans l'onglet [Déploiement][32]. +1. Démarrez le processus de déploiement dans l'onglet [Révision + création][33]. + +{{< site-region region="us3" >}} + +
Les Archives de journaux nécessitent la méthode de configuration de l'enregistrement d'application. Pour les comptes Datadog utilisant l'intégration Azure Native, suivez les étapes de cette page pour créer un enregistrement d'application. +
+ +{{< /site-region >}} + +Consultez l'[Architecture de transfert de journaux automatisé Azure][34] pour plus de détails. + +{{% /collapse-content %}} + +{{% collapse-content title="Application de conteneur" level="h4" expanded=false id="container-app-log-forwarding-setup" %}} + +### Choisissez la méthode de transfert de journaux de l'application de conteneur si... {#choose-the-container-app-log-forwarding-method-if} + +- Vous préférez configurer manuellement les [paramètres de diagnostic][53] sur les ressources à partir desquelles vous souhaitez transférer des journaux. + +## Instructions {#instructions-4} + +1. Cliquez sur le bouton ci-dessous et remplissez le formulaire sur le portail Azure. Datadog déploie automatiquement les ressources Azure nécessaires pour transférer des journaux dans votre compte Datadog. + + [![Déployer sur Azure](https://aka.ms/deploytoazurebutton)][52] + +2. Après la fin du déploiement du modèle, configurez les [paramètres de diagnostic][53] pour chaque source de journal afin d'envoyer les journaux de la plateforme Azure (y compris les journaux de ressources) au compte de stockage créé lors du déploiement. + +**Remarque** : Les ressources ne peuvent diffuser que vers un compte de stockage dans la même région Azure. + +{{% /collapse-content %}} + +{{% azure-log-archiving %}} + +### Filtrage des balises de ressources pour les journaux {#resource-tag-filtering-for-logs} + +Utilisez des filtres de balises pour contrôler quelles ressources Azure ont leurs journaux transférés vers Datadog. Pour configurer des filtres de balises pour les journaux, cliquez sur {{< ui >}}Configure Log Forwarding{{< /ui >}} dans la tuile d'intégration [Azure][20] et suivez le flux. Un filtre de balises est une liste de balises séparées par des virgules sous la forme `key:value`. Seules les ressources qui correspondent à au moins une balise dans le filtre ont leurs journaux transférés. + +Vous pouvez utiliser des caractères génériques dans vos filtres de balises : +- `?` correspond à un seul caractère. +- `*` correspond à plusieurs caractères. + +Pour exclure des ressources avec une balise donnée, préfixez la balise avec `!`. L'exclusion a la priorité sur l'inclusion. Une ressource correspond au filtre si elle correspond à une balise de la liste. + +Par exemple : `datadog:monitored,env:production,!plan_tier:basic,instance-type:c1.*` + +Ce filtre transfère les journaux des ressources étiquetées avec `datadog:monitored` ou `env:production`, exclut les ressources étiquetées avec `plan_tier:basic`, et inclut les ressources avec une balise `instance-type` correspondant à `c1.*`. + +Si aucun filtre de balise n'est défini, Datadog transfère les journaux de toutes les ressources Azure. + +## Obtenez plus de Datadog Platform {#get-more-from-the-datadog-platform} + +### Installez l'Agent pour une visibilité accrue sur votre application {#install-the-agent-for-greater-visibility-into-your-application} + +Après avoir configuré votre intégration Azure, les crawlers de Datadog collectent automatiquement les métriques Azure, mais vous pouvez obtenir une visibilité encore plus approfondie sur vos instances Azure avec le [Datadog Agent][1]. L'installation de l'Agent Datadog dans votre environnement vous permet de collecter des données supplémentaires, y compris, mais sans s'y limiter : +- **Santé de l'application** +- **Utilisation des processus** +- **Métriques au niveau du système** + +Vous pouvez également utiliser le client StatsD intégré pour envoyer des métriques personnalisées depuis vos applications, afin de corréler ce qui se passe avec vos applications, utilisateurs et système. Consultez le guide sur [_Pourquoi devrais-je installer le Datadog Agent sur mes instances cloud ?_][15] pour plus d'informations sur les avantages de l'installation du Datadog Agent sur vos instances. + +Utilisez l'extension Azure pour installer l'Agent Datadog sur des machines virtuelles Windows, des machines virtuelles Linux x64 et des machines virtuelles Linux basées sur ARM. Vous pouvez également utiliser l'AKS Cluster Extension pour déployer le Datadog Agent sur vos AKS Clusters. + +{{< tabs >}} +{{% tab "VM Extension" %}} + +1. Dans le [portail Azure][4], sélectionnez la VM appropriée. +2. Dans la barre latérale gauche, sous {{< ui >}}Settings{{< /ui >}}, sélectionnez {{< ui >}}Extensions + applications{{< /ui >}}. +3. Cliquez sur {{< ui >}}+ Add{{< /ui >}}. +4. Recherchez et sélectionnez l'extension {{< ui >}}Datadog Agent{{< /ui >}}. +5. Cliquez sur {{< ui >}}Next{{< /ui >}}. +6. Entrez votre [Datadog API key][2] et [Datadog site][1], puis cliquez sur {{< ui >}}OK{{< /ui >}}. + +Pour installer le Datadog Agent en fonction du système d'exploitation ou de l'outil CI/CD, consultez les [instructions d'installation du Datadog Agent][3]. + +**Remarque** : Les contrôleurs de domaine ne sont pas pris en charge lors de l'installation du Datadog Agent avec l'extension Azure. + +[1]: /fr/getting_started/site/ +[2]: https://app.datadoghq.com/organization-settings/api-keys +[3]: https://app.datadoghq.com/account/settings/agent/latest +[4]: https://portal.azure.com +{{% /tab %}} + +{{% tab "AKS Cluster Extension" %}} + +La Datadog AKS Cluster Extension vous permet de déployer le Datadog Agent nativement au sein d'Azure AKS, évitant ainsi la complexité des outils de gestion tiers. Pour installer le Datadog Agent avec la Datadog AKS Cluster Extension : + +1. Allez dans votre cluster AKS dans le portail Azure. +2. Dans la barre latérale gauche du cluster AKS, sélectionnez {{< ui >}}Extensions + applications{{< /ui >}} sous {{< ui >}}Settings{{< /ui >}}. +3. Recherchez et sélectionnez le {{< ui >}}Datadog AKS Cluster Extension{{< /ui >}}. +4. Cliquez sur {{< ui >}}Create{{< /ui >}}, et suivez les instructions dans la tuile en utilisant vos [identifiants Datadog][1] et [Datadog site][2]. + +[1]: /fr/account_management/api-app-keys/ +[2]: /fr/getting_started/site/ +{{% /tab %}} +{{< /tabs >}} + +## Dépannage {#troubleshooting} + +Consultez [Dépannage][16] dans le guide de configuration avancée Azure. + +Vous avez encore besoin d'aide ? Contactez [Datadog support][17]. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /fr/getting_started/agent/ +[2]: https://www.datadoghq.com/ +[5]: https://learn.microsoft.com/azure/event-hubs/event-hubs-create +[8]: https://learn.microsoft.com/azure/azure-monitor/reference/supported-metrics/metrics-index +[9]: /fr/integrations/#cat-azure +[15]: /fr/agent/guide/why-should-i-install-the-agent-on-my-cloud-instances/ +[16]: /fr/integrations/guide/azure-advanced-configuration/#azure-integration-troubleshooting +[17]: /fr/help/ +[19]: /fr/logs/guide/azure-automated-log-forwarding/ +[20]: https://app.datadoghq.com/integrations/azure +[21]: https://learn.microsoft.com/cli/azure/ad/sp?view=azure-cli-latest +[22]: https://developer.hashicorp.com/terraform/language/providers/configuration +[23]: https://www.terraform.io +[25]: https://learn.microsoft.com/entra/identity/role-based-access-control/permissions-reference#privileged-role-administrator +[26]: https://app.datadoghq.com/monitors/templates?q=Azure%20%22integration%20errors%22&origination=all&p=1 +[27]: /fr/monitors/notify/#configure-notifications-and-automations +[28]: /fr/integrations/guide/azure-advanced-configuration/#enable-diagnostics +[29]: https://portal.azure.com/#create/Microsoft.Template/uri/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FDataDog%2Fintegrations-management%2Fmain%2Fazure%2Flogging_install%2Fdist%2Fazuredeploy.json/createUIDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FDataDog%2Fintegrations-management%2Fmain%2Fazure%2Flogging_install%2Fdist%2FcreateUiDefinition.json +[30]: /fr/logs/guide/azure-automated-log-forwarding/#basics +[31]: /fr/logs/guide/azure-automated-log-forwarding/#datadog-configuration +[32]: /fr/logs/guide/azure-automated-log-forwarding/#deployment +[33]: /fr/logs/guide/azure-automated-log-forwarding/#review--create +[34]: /fr/logs/guide/azure-automated-log-forwarding/#architecture +[35]: /fr/integrations/guide/azure-advanced-configuration/#automated-log-collection +[36]: https://learn.microsoft.com/azure/azure-monitor/app/app-insights-overview +[38]: https://learn.microsoft.com/entra/identity/role-based-access-control/permissions-reference#application-developer +[39]: https://azure.microsoft.com/services/storage/blobs/ +[40]: https://docs.microsoft.com/azure/storage/blobs/storage-quickstart-blobs-portal +[41]: https://docs.microsoft.com/azure/storage/blobs/storage-quickstart-blobs-storage-explorer +[42]: https://docs.microsoft.com/azure/storage/blobs/storage-quickstart-blobs-cli +[43]: https://docs.microsoft.com/azure/storage/blobs/storage-quickstart-blobs-powershell +[44]: https://learn.microsoft.com/training/modules/store-app-data-with-azure-blob-storage/ +[45]: https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp +[46]: https://learn.microsoft.com/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=python-v2%2Cisolated-process%2Cnodejs-v4%2Cextensionv5&pivots=programming-language-csharp +[47]: https://learn.microsoft.com/azure/storage/common/storage-configure-connection-string#configure-a-connection-string-for-an-azure-storage-account +[48]: https://learn.microsoft.com/azure/azure-functions/functions-get-started +[49]: https://github.com/DataDog/datadog-serverless-functions/blob/master/azure/blobs_logs_monitoring/index.js +[51]: https://app.datadoghq.com/logs +[52]: https://portal.azure.com/#create/Microsoft.Template/uri/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FDataDog%2Fintegrations-management%2Fmain%2Fazure%2Flogging_install%2Fdist%2Fforwarder.json +[53]: https://learn.microsoft.com/azure/azure-monitor/platform/diagnostic-settings \ No newline at end of file diff --git a/content/fr/llm_observability/lapdog.md b/content/fr/llm_observability/lapdog.md new file mode 100644 index 00000000000..ae409901c2e --- /dev/null +++ b/content/fr/llm_observability/lapdog.md @@ -0,0 +1,168 @@ +--- +description: Exécutez un tableau de bord d'observabilité LLM localement pour inspecter + les traces de l'agent de codage et de l'application dans votre navigateur sans compte + Datadog. +further_reading: +- link: https://github.com/DataDog/dd-apm-test-agent/blob/master/lapdog/README.md + tag: GitHub + text: README de Lapdog sur GitHub +- link: /llm_observability/instrumentation/sdk + tag: Documentation + text: Instrumentez votre application avec le LLM Observability SDK. +- link: /llm_observability/instrumentation/auto_instrumentation + tag: Documentation + text: Auto-instrumentation pour LLM Observability. +title: Lapdog +--- +## Aperçu {#overview} + +Lapdog est un outil de développement local pour LLM Observability. Il exécute un agent sur `localhost:8126` qui capture chaque span, prompt, appel d'outil et coût de votre application LLM, ou d'un agent de codage tel que Claude Code, Codex ou Pi, et les transmet dans un tableau de bord accessible via votre navigateur à [lapdog.datadoghq.com](https://lapdog.datadoghq.com). Aucun compte Datadog n'est requis. + +Lapdog est construit sur l'agent de test open-source [Datadog APM test agent][1]. Il peut également transférer la télémétrie capturée à Datadog afin que les mêmes données apparaissent dans LLM Observability aux côtés de votre trafic de production. + +## Ce que vous obtenez {#what-you-get} + +- Traces par session avec invites, appels d'outils et réponses +- Utilisation des jetons et coût estimé, décomposé par entrée, sortie et hits de cache +- Friction d'autorisation : appels d'outils restreints et temps d'attente. +- Utilisation de la fenêtre de contexte et taux de hits de cache au cours de la session +- État en direct de l'agent de codage en cours d'exécution (en cours, inactif, bloqué) + +## Installer {#install} + +{{< tabs >}} +{{% tab "Homebrew (macOS)" %}} + +```shell +brew install datadog/lapdog/lapdog +``` +{{% /tab %}} +{{% tab "pip / pipx" %}} + +```shell +pipx install ddapm-test-agent +# or: pip install ddapm-test-agent +``` +{{% /tab %}} +{{< /tabs >}} + +Pour Docker, pour l'installation à partir du code source et d'autres méthodes, consultez le [guide d'installation de Lapdog][1]. + +## Exécutez un agent de codage {#run-a-coding-agent} + +Lapdog instrumente les agents de codage de bout en bout. Chaque invite, appel d'outil et demande d'autorisation devient un span dans une session que vous pouvez rejouer depuis le tableau de bord. + +{{< tabs >}} +{{% tab "Claude Code" %}} + +```shell +lapdog claude +``` +Démarre l'agent local, installe le plugin Claude Code de Lapdog et lance Claude Code. +{{% /tab %}} +{{% tab "Codex" %}} + +```shell +lapdog codex +``` +Démarre l'agent local, puis lance Codex avec un proxy compatible OpenAI et un observateur JSONL qui capturent chaque demande LLM, appel d'outil et étape dans une session. +{{% /tab %}} +{{% tab "Pi" %}} + +```shell +lapdog pi +``` +Démarre l'agent local, installe l'extension Pi de Lapdog et lance Pi avec `LAPDOG_URL` configuré. +{{% /tab %}} +{{% tab "Other" %}} + +```shell +lapdog python my_app.py +``` +Exécutez n'importe quelle commande avec `ddtrace` auto-instrumentation pointée vers l'agent local. Utile pour instrumenter votre propre application alimentée par LLM pendant le développement. +{{% /tab %}} +{{< /tabs >}} + +**Remarque**: `lapdog claude` et `lapdog codex` sont soutenus par un proxy : l'agent local de Lapdog se trouve dans le chemin des requêtes de modèle en direct. Gardez Lapdog en cours d'exécution jusqu'à ce que l'agent de codage quitte. Si vous arrêtez ou tuez Lapdog en cours de session, l'agent de codage lancé peut cesser de progresser sur les appels de modèle. Redémarrez l'agent de codage après avoir redémarré Lapdog. `lapdog pi` et les configurations en mode hook uniquement échouent en mode ouvert si Lapdog tombe : l'agent de codage continue de fonctionner, mais les données de capture sont perdues. + +## Voir les sessions {#view-sessions} + +Tandis qu'une session est en cours, ouvrez [lapdog.datadoghq.com](https://lapdog.datadoghq.com). Le tableau de bord lit directement depuis votre agent local sur `localhost:8126` ; aucune connexion ou compte Datadog n'est nécessaire. + +Si vous avez changé le port local, remplacez-le depuis le badge {{< ui >}}Collecting sessions{{< /ui >}} dans l'en-tête du tableau de bord. + +## Transférez les événements vers Datadog {#forward-events-to-datadog} + +Pour expédier simultanément les événements capturés vers LLM Observability dans Datadog, définissez votre clé API et passez `--forward` : + +```shell +DD_API_KEY= lapdog --forward claude +``` + +Les spans transférés sont étiquetés `source:lapdog` afin que vous puissiez distinguer les sessions de développement du trafic de production. + +## Commandes utiles {#useful-commands} + +| Commande | Ce qu'elle fait | +| --- | --- | +| `lapdog claude` | Lancez Claude Code avec la capture configurée | +| `lapdog codex` | Lancez Codex avec le proxy OpenAI et l'observateur JSONL configurés | +| `lapdog pi` | Lancez Pi avec l'extension lapdog installée | +| `lapdog python app.py` | Exécutez n'importe quelle application avec instrumentation de traçage | +| `lapdog start` | Démarrez l'agent local en arrière-plan | +| `lapdog stop` | Arrêtez l'agent en arrière-plan | +| `lapdog status` | Affichez si l'agent est en cours d'exécution | + +Pour la liste complète des options, exécutez `lapdog --help`. + +## Désinstaller {#uninstall} + +Suivez ces étapes pour supprimer Lapdog et l'état qu'il écrit dans votre répertoire personnel. Votre gestionnaire de paquets (Homebrew, pip ou pipx) ne nettoie que ce qu'il a installé ; il ne touche pas `~/.lapdog/`, le plugin Claude Code, ou l'extension pi. + +1. Arrêtez l'agent local : + + ```shell + lapdog stop + ``` + +2. Supprimez le plugin Claude Code (si installé) : + + ```shell + claude plugin uninstall lapdog@lapdog + claude plugin marketplace remove lapdog + ``` + +3. Supprimez l'extension pi (uniquement si vous avez exécuté `lapdog pi`) : + + ```shell + rm -f ~/.pi/agent/extensions/lapdog.ts + ``` + +4. Supprimez le répertoire de travail de Lapdog : + + ```shell + rm -rf ~/.lapdog + ``` + +5. Désinstallez le paquet : + + {{< tabs >}} + {{% tab "Homebrew (macOS)" %}} + ```shell + brew uninstall lapdog + brew untap datadog/lapdog + ``` + {{% /tab %}} + {{% tab "pip / pipx" %}} + ```shell + pipx uninstall ddapm-test-agent + # or: pip uninstall ddapm-test-agent + ``` + {{% /tab %}} + {{< /tabs >}} + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://github.com/DataDog/dd-apm-test-agent/blob/master/lapdog/README.md \ No newline at end of file diff --git a/content/fr/logs/explorer/_index.md b/content/fr/logs/explorer/_index.md index 5983e23f4ff..aa50abf1435 100644 --- a/content/fr/logs/explorer/_index.md +++ b/content/fr/logs/explorer/_index.md @@ -14,49 +14,54 @@ further_reading: text: Afficher un aperçu de vos logs dans la vue Live Tail - link: logs/explorer/saved_views/ tag: Documentation - text: Configurer automatiquement votre vue Log Explorer + text: Configurer automatiquement votre vue Log Explorer - link: https://www.datadoghq.com/blog/datadog-clipboard/ tag: Blog text: Ajouter une URL Log Explorer à votre presse-papiers -- link: https://www.datadoghq.com/blog/send-amazon-vpc-flow-logs-to-kinesis-firehose-and-datadog/ +- link: https://www.datadoghq.com/blog/send-amazon-vpc-flow-logs-to-data-firehose-and-datadog/ tag: Blog text: Envoyer des logs de flux Amazon VPS à Amazon Kinesis Data Firehose et Datadog -title: Log Explorer +- link: https://www.datadoghq.com/blog/ai-powered-log-parsing + tag: Blog + text: Accélérez les enquêtes avec l'analyse des journaux alimentée par l'IA +- link: https://learn.datadoghq.com/courses/log-explorer + tag: Centre d'apprentissage + text: Commencez avec Log Explorer +title: LogxmExplorer --- +## Aperçu {#overview} -## Présentation - -Accédez au [**Log Explorer**][1] pour débuter vos diagnostics et plonger au cœur de vos logs. Que vous partiez de zéro, d'une [vue enregistrée][2] ou des données de contexte associées à une notification de monitor ou un widget de dashboard, le Log Explorer vous permet de rechercher et de filtrer, de regrouper, de visualiser et d'exporter vos logs. +L'[**Log Explorer**][1] constitue votre point de départ pour le dépannage et l'exploration des journaux. Que vous commenciez de zéro, à partir d'un [Saved View][2], ou que vous arriviez ici depuis un autre contexte, tel que des monitor notifications ou des dashboard widgets, vous pouvez rechercher et filtrer, regrouper, visualiser et exporter des journaux dans Log Explorer. -{{< img src="/logs/explore.png" alt="Explorer vos logs ingérés" style="width:100%;">}} +{{< img src="/logs/explore.png" alt="Explorez vos journaux ingérés" style="width:100%;">}} -## Rechercher et filtrer des événements +## Rechercher et filtrer {#search-and-filter} -**Recherchez** et **filtrez** vos logs pour retrouver des logs précis ou généraux, ou pour vous concentrer sur un groupe spécifique de logs pertinents. +{{< ui >}}Search{{< /ui >}} et {{< ui >}}Filter{{< /ui >}} sur les journaux pour affiner, élargir ou réorienter votre attention sur un sous-ensemble de journaux adapté à votre intérêt actuel. - - Pour en savoir plus sur la recherche de logs dans le Log Explorer, consultez la section [Rechercher des logs][3]. - - Pour commencer à créer des requêtes et à utiliser des facettes dans le Log Explorer, consultez la section [Syntaxe de recherche de logs][4]. - - Pour découvrir comment la fonctionnalité [Watchdog Insights][9] vous permet de consulter les logs anormaux et singuliers au sein de votre contexte de recherche, consultez la section [Watchdog Insights pour les logs][5]. + - Pour en savoir plus sur la recherche de journaux dans Log Explorer, lisez [Search Logs][3]. + - Pour commencer à créer des requêtes et à utiliser des facettes dans Log Explorer, lisez [Log Search Syntax][4]. + - Pour apprendre comment [Watchdog Insights][9] met en évidence des journaux anormaux et des valeurs aberrantes dans les journaux d'erreurs dans votre contexte de recherche, lisez [Watchdog Insights for Logs][5]. -## Analyser +## Analysez {#analyze} -**Regroupez** vos logs interrogés au sein d'entités de plus haut niveau, telles que des champs, patterns et transactions, afin de déduire ou de consolider des informations. +{{< ui >}}Group{{< /ui >}} vos journaux interrogés en entités de niveau supérieur telles que des champs, des modèles et des transactions afin de dériver ou de consolider des informations. Pour commencer à identifier des patterns et à agréger les logs par sous-ensembles d'événements, consultez la section [Analyse de logs][6]. -## Visualiser les données +## Visualisez {#visualize} -**Visualisez** les résultats de vos filtres et agrégations pour mieux comprendre vos logs et obtenir des informations clés. Vous pouvez par exemple consulter vos logs sous forme de liste afin d'organiser les données dans des colonnes, ou sous forme de graphique de série temporelle pour mesurer l'évolution de vos données. +{{< ui >}}Visualize{{< /ui >}} le résultat de vos filtres et agrégations pour mieux comprendre vos journaux et recueillir des informations décisives. Par exemple, vous pouvez afficher vos journaux dans une liste pour organiser vos données de journaux en colonnes, ou dans un graphique temporel pour mesurer vos données de journaux au fil du temps. Pour commencer à visualiser vos données de log dans le Log Explorer, consultez la section [Visualisations de log][7]. -## Exporter +## Exportez {#export} -Vous pouvez également **exporter** votre vue Log Explorer pour la réutiliser plus tard ou dans un autre contexte. +Vous pouvez également {{< ui >}}export{{< /ui >}} votre vue de Log Explorer pour la réutiliser plus tard ou dans différents contextes. Pour découvrir comment exporter vos requêtes et visualisations de log, consultez la section [Exporter des logs][8]. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/fr/logs/explorer/facets.md b/content/fr/logs/explorer/facets.md index aff8914e292..86898973348 100644 --- a/content/fr/logs/explorer/facets.md +++ b/content/fr/logs/explorer/facets.md @@ -1,4 +1,7 @@ --- +algolia: + tags: + - log facets aliases: - /fr/logs/facets description: Facettes de log et volet des facettes @@ -8,226 +11,228 @@ further_reading: text: Effectuer des analyses de logs - link: logs/explorer/patterns tag: Documentation - text: Détecter les patterns dans vos logs + text: Détecter les modèles dans vos logs - link: /logs/log_configuration/processors tag: Documentation text: Apprendre à traiter vos logs - link: logs/explorer/saved_views tag: Documentation - text: Configurer automatiquement votre vue Log Explorer + text: Configurer automatiquement votre vue Log Explorer +- link: https://learn.datadoghq.com/courses/log-explorer + tag: Centre d'apprentissage + text: Commencer avec Log Explorer title: Facettes de log --- +{{< img src="logs/explorer/facet/facets_in_explorer.mp4" alt="Facets in Explorer Facet" video=true style="width:100%;">}} -{{< img src="logs/explorer/facet/facets_in_explorer.mp4" alt="Facettes dans le Facet Explorer" video=true style="width:100%;">}} +## Aperçu {#overview} -## Présentation +Les facettes sont des étiquettes et des attributs définis par l'utilisateur à partir de vos logs indexés. Elles sont destinées à l'analyse des données qualitatives ou quantitatives. Ainsi, vous pouvez les utiliser dans votre Log Explorer pour : -Les facettes sont des tags et des attributs définis par les utilisateurs à partir de vos logs indexés. Ils servent à effectuer des analyses de données qualitatives ou quantitatives. Vous pouvez donc les utiliser dans votre vue Log Explorer pour : - -- [Effectuer des recherches dans vos logs][1] -- [Définir des patterns de logs][2] -- [Réaliser des analyses de logs][3] +- [Rechercher dans vos logs][1] +- [Définir des modèles de logs][2] +- [Effectuer des analyses de logs][3] Grâce aux facettes, vous pouvez également manipuler vos logs dans vos [log monitors][4], dans les widgets de logs des [dashboards][5] ainsi que dans les [notebooks][6]. -**Remarque** : le [traitement des logs][7], la [recherche pour le live tailing][8], les [recherches dans le Log Explorer][30], la [création de métriques][10] à partir de logs, la transmission d'[archives][11] ou la [réintégration][12] ne nécessitent pas l'utilisation de facettes. De même, vous n'avez pas besoin de définir une facette pour transmettre des logs par l'intermédiaire des [pipelines][13] et des [index][14] via des filtres, ou pour exclure des logs d'un index ou les échantillonner avec [des filtres d'exclusion][15]. +**Remarque** : Vous n'avez pas besoin de facettes pour supporter [log processing][7], [livetail search][8], [log explorer search][9], [metric generation][10] à partir des logs, [archive forwarding][11] ou [rehydration][12]. Vous n'avez également pas besoin de facettes pour acheminer les logs vers [Pipelines][13] et [Indexes][14] avec des filtres, ou pour exclure ou échantillonner des logs des indexes avec [exclusion filters][15]. Pour ces cas d'utilisation, les fonctionnalités de remplissage automatique reposent sur des facettes existantes. Cependant, vous pouvez également saisir des valeurs correspondant aux logs entrants. -### Facettes qualitatives +### Facettes qualitatives {#qualitative-facets} -#### Dimensions +#### Dimensions {#dimensions} -Les dimensions vous permettent d'accomplir les tâches suivantes : +Les facettes qualitatives vous permettent d'accomplir les tâches suivantes : -- **Obtenir des informations relatives** pour certaines valeurs. Vous pouvez par exemple créer une facette sur `http.network.client.geoip.country.iso_code` pour visualiser les principaux pays concernés par chaque erreur 5XX dans vos logs d'accès Web [NGINX][16], en bénéficiant d'informations supplémentaires fournies par le [processeur GeoIP][17] Datadog. -- **Compter des valeurs uniques**. Vous pouvez par exemple créer une facette sur `user.email` à partir de vos logs [Kong][18] afin de déterminer le nombre d'utilisateurs se connectant chaque jour à votre site Web. -- **Filtrer** régulièrement vos logs selon des valeurs données. Vous pouvez par exemple créer une facette sur le [tag][19] `environment` pour réduire vos recherches aux environnements de production, de développement et intermédiaires. +- Pour **obtenir des insights relatifs** aux valeurs. Par exemple, créez une facette sur `http.network.client.geoip.country.iso_code` pour voir les pays les plus impactés par le nombre d'erreurs 5XX sur vos logs d'accès web [NGINX][16], enrichis avec le Datadog [GeoIP Processor][17]. +- Pour **compter les valeurs uniques**. Par exemple, créez une facette sur `user.email` à partir de vos logs [Kong][18] pour savoir combien d'utilisateurs se connectent chaque jour à votre site web. +- Pour **filtrer fréquemment vos logs selon des valeurs particulières.** Par exemple, créez une facette sur un `environment`[tag][19] pour restreindre le dépannage aux environnements de développement, staging ou production. -**Remarque** : bien que vous n'ayez pas besoin de créer des facettes pour appliquer un filtre basé sur des valeurs d'attributs, vous pouvez réduire votre durée de résolution en définissant des facettes sur les attributs que vous utilisez régulièrement. +**Remarque** : Bien qu'il ne soit pas nécessaire de créer des facettes pour filtrer sur les valeurs d'attribut, les définir sur des attributs que vous utilisez souvent lors des enquêtes peut aider à réduire votre temps de résolution. -#### Types +#### Types {#types} -Les facettes qualitatives peuvent être des chaînes ou des nombres (entiers). Une dimension de type « string » fonctionnera peu importe votre utilisation. Cependant, les dimensions de type « integer » vous permettent de bénéficier d'une fonctionnalité supplémentaire, à savoir les filtres de plage. Par exemple, `http.status_code:[200 TO 299]` est une requête valide s'appliquant à une dimension de type « integer ». Consultez la [syntaxe de recherche][1] pour en savoir plus. +Les facettes qualitatives peuvent avoir un type chaîne ou numérique (entier). Bien que l'attribution d'un type chaîne à une dimension fonctionne dans tous les cas, l'utilisation de types entiers sur une dimension permet un filtrage par plage sur toutes les capacités mentionnées ci-dessus. Par exemple, `http.status_code:[200 TO 299]` est une requête valide à utiliser sur une dimension de type entier. Voir [la syntaxe de recherche][1] pour référence. -### Facettes quantitatives -#### Mesures +### Facettes quantitatives {#quantitative-facets} +#### Mesures {#measures} Les mesures vous permettent d'accomplir les tâches suivantes : -- **Agréger des valeurs** à partir de plusieurs logs. Vous pouvez par exemple créer une mesure sur la taille des carrés transmis par le [cache Varnish][20] d'un serveur cartographique pour surveiller le débit quotidien **moyen**, ou consulter les principaux référents selon la **somme** des tailles de carrés demandées. -- **Appliquer un filtre de plage** à vos logs. Vous pouvez par exemple créer une mesure sur le temps d'exécution des tâches [Ansible][21] et visualiser la liste des serveurs qui enregistrent le plus d'exécutions dépassant la barre des 10 secondes. -- **Trier des logs** par rapport à une valeur. Vous pouvez par exemple créer une mesure sur le montant des paiements réalisés via votre microservice [Python][22], puis effectuer une recherche dans l'ensemble des logs, en commençant par celui comportant le montant le plus élevé. +- Pour **agréger des valeurs** provenant de plusieurs logs. Par exemple, créez une mesure sur la taille des tuiles servies par le [cache Varnish][20] d'un serveur de cartes et suivez le **débit** moyen quotidien, ou les référents les plus importants par **somme** de la taille des tuiles demandées. +- Pour **appliquer un filtre de plage** à vos logs. Par exemple, créez une mesure sur le temps d'exécution des tâches [Ansible][21] et affichez la liste des serveurs ayant le plus d'exécutions prenant plus de 10s. +- Pour **trier les logs** par rapport à cette valeur. Par exemple, créez une mesure sur le montant des paiements effectués avec votre microservice [Python][22]. Vous pouvez ensuite rechercher tous les logs, en commençant par celui avec le montant le plus élevé. -#### Types +#### Types {#types-1} -Les mesures disposent d'un nombre entier (long) ou d'une double valeur. Ces deux types de valeurs proposent des fonctionnalités équivalentes. +Les mesures disposent d'un entier (long) ou d'une double valeur. Ces deux types proposent des fonctionnalités équivalentes. -#### Unités +#### Unités {#units} -Les mesures ont une unité de **temps** ou de **taille** afin de gérer les ordres de grandeur au moment de la requête et de l'affichage. +Les mesures prennent en charge les unités de **temps** ou de **taille** pour faciliter la gestion des ordres de grandeur lors de l'exécution des requêtes et de l'affichage. | type | unité(s) | |-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | BYTES | bit / byte / kibibyte / mebibyte / gibibyte / tebibyte / pebibyte / exbibyte | -| DURÉE | nanosecond / microsecond / millisecond / second / minute / hour / day / week | - -L'unité est une propriété de la mesure, et non du champ. Imaginons par exemple une mesure `duration` exprimée en nanosecondes. Vous disposez de logs du service `service:A`, pour lesquels `duration:1000` désigne une durée de 1 000 millisecondes, et d'autres logs du service `service:B`, pour lesquels `duration:500` désigne une durée de 500 microsecondes : +| TIME | nanosecond / microsecond / millisecond / second / minute / hour / day / week | -1. Grâce au [processeur arithmétique][23], vous pouvez faire en sorte que les durées de tous vos logs entrants soient exprimées en nanosecondes. Pour ce faire, appliquez le multiplicateur `*1000000` aux logs de `service:A` et le multiplicateur `*1000` aux logs de `service:B`. -2. Appliquez le filtre `duration:>20ms` (voir la [syntaxe de recherche][1] pour en savoir plus) pour interroger systématiquement les logs des deux services à la fois et pour afficher un résultat agrégé ayant pour valeur maximale `1 min`. +L'unité est une propriété de la mesure elle-même, et non du champ. Par exemple, considérons une mesure de `duration` en nanosecondes : vous avez des journaux de `service:A` où `duration:1000` représente 1000 millisecondes, et d'autres journaux de `service:B` où `duration:500` représente 500 microsecondes : -## Volet des facettes +1. Mettez à l'échelle la durée en nanosecondes pour tous les logs entrants avec le [arithmetic processor][23]. `*1000000`Utilisez un multiplicateur sur les logs de `service:A`, et `*1000` un multiplicateur sur les logs de `service:B`. +2. Utilisez `duration:>20ms` (voir [search syntax][1] pour référence) pour interroger de manière cohérente les logs des deux services à la fois, et voir un résultat agrégé de max `1 min`. -La barre de recherche fournit un grand nombre de fonctionnalités interactives vous permettant de filtrer et regrouper vos données. Toutefois, dans la plupart des situations, il est plus simple d'utiliser le volet des facettes pour parcourir vos données. Ouvrez une facette pour consulter une synthèse de son contenu en fonction du contexte de la requête actuellement appliquée. +## Facet panel {#facet-panel} -L'interface des **facettes (qualitatives)** propose une top list des valeurs uniques et indique le nombre de logs correspondant à chacune de ces valeurs : +La barre de recherche fournit l'ensemble d'interactions le plus complet pour filtrer et regrouper vos données. Cependant, dans la plupart des cas, le Facet panel est probablement un moyen plus simple de naviguer dans vos données. Ouvrez une facette pour voir un résumé de son contenu pour le périmètre de la requête actuelle. -{{< img src="logs/explorer/facet/dimension_facet.png" alt="Facette de dimension" style="width:30%;">}} +**Facets (qualitative)** viennent avec une liste des valeurs uniques, et un compte des logs correspondant à chacune d'elles : -Cliquez sur une des valeurs pour affiner la requête de recherche. Cela filtre la recherche sur cette valeur unique et sur toutes les valeurs associées. Cochez des cases pour ajouter une valeur à la liste des valeurs ou la supprimer. Vous pouvez également effectuer une recherche sur le contenu : +{{< img src="logs/explorer/facet/dimension_facet.png" alt="Dimension Facet" style="width:30%;">}} -{{< img src="logs/explorer/facet/dimension_facet_wildcard.png" alt="Remplissage automatique des facettes" style="width:30%;">}} +Ciblez la requête de recherche en cliquant sur l'une ou l'autre valeur. Cliquer sur une valeur active la recherche sur cette valeur unique et toutes les valeurs. Cliquer sur des cases à cocher ajoute ou retire cette valeur spécifique de la liste de toutes les valeurs, vous pouvez également rechercher son contenu : -Les **mesures** disposent d'un curseur vous permettant de définir une valeur maximale ainsi qu'une valeur minimale. Utilisez le curseur, ou saisissez des valeurs numériques, pour restreindre la requête de recherche. +{{< img src="logs/explorer/facet/dimension_facet_wildcard.png" alt="Autocomplétion de facette" style="width:30%;">}} -{{< img src="logs/explorer/facet/measure_facet.png" alt="Facette de mesures" style="width:30%;">}} +**Mesures** viennent avec un curseur indiquant les valeurs minimales et maximales. Utilisez le curseur, ou saisissez des valeurs numériques, pour cibler la requête de recherche à différentes limites. -### Masquer des facettes +{{< img src="logs/explorer/facet/measure_facet.png" alt="Measures facet" style="width:30%;">}} -Votre organisation dispose d'un large ensemble de facettes permettant à de nombreuses équipes d'exploiter différents cas d'utilisation à l'aide des logs. Toutefois, il est probable que vous utilisiez seulement quelques-unes de ces facettes, en fonction de la situation à résoudre. Vous pouvez donc masquer les facettes dont vous ne vous servez pas régulièrement, afin de conserver uniquement les facettes pertinentes qui vous aideront à parvenir à vos fins. +### Hide facets {#hide-facets} -{{< img src="logs/explorer/facet/hide_facet.png" alt="Masquer une facette" style="width:30%;">}} +Votre organisation dispose d'une collection complète de facettes pour répondre à son ensemble complet de cas d'utilisation à travers toutes les différentes équipes utilisant des journaux. Cependant, il est probable qu'un sous-ensemble de ces facettes soit précieux pour vous dans un contexte de dépannage spécifique. Masquez les facettes dont vous n'avez pas besoin de manière routinière, afin de ne conserver que les facettes les plus pertinentes pour vos sessions de dépannage. +1. Dans le [Logs Explorer][30], trouvez la facette que vous souhaitez masquer. +1. Cliquez sur l'icône en forme de rouage à côté de la facette. +1. Sélectionnez {{< ui >}}Hide Facet{{< /ui >}}. -Les facettes masquées peuvent toujours faire l'objet de recherche en cas de besoin (voir la section [Filtrer des facettes](#filtrer-des-facettes)). Vous pouvez afficher à nouveau les facettes masquées depuis la fonctionnalité de recherche de facettes. +Les facettes masquées sont toujours visibles dans la recherche de facettes (voir la section [Filter Facet](#filter-facets)) au cas où vous en auriez besoin. Démasquez les facettes masquées à partir de là. -{{< img src="logs/explorer/facet/unhide_facet.png" style="width:50%;" alt="Afficher de nouveau une facette" style="width:30%;">}} -Les facettes masquées ne sont pas proposées automatiquement dans la barre de recherche et ne peuvent pas être sélectionnées dans les menus déroulants (de mesure ou encore de regroupement) utilisés pour effectuer des analyses dans la vue Log Explorer. Cependant, vous pouvez indiquer des facettes masquées dans vos requêtes de recherche (par exemple, en collant un lien du Log Explorer). +Les facettes masquées sont également invisibles dans l'auto-complétion de la barre de recherche et dans les menus déroulants (tels que measure, group-by) dans l'analyse pour le Log Explorer. Cependant, les facettes masquées sont toujours valides pour les requêtes de recherche (au cas où vous copieriez-collez un lien log-explorer par exemple). -Les facettes masquées servent uniquement dans la vue Log Explorer. Elles ne sont d'aucune utilité pour les autres fonctionnalités, telles que le live tailing, les monitors ou les définitions de widget dans les dashboards. +Les facettes masquées n'ont aucun impact en dehors du Log Explorer (par exemple, le suivi en direct, les moniteurs ou les définitions de widgets dans les tableaux de bord). -#### Facettes masquées pour les membres d'équipe +#### Hidden facets and teammates {#hidden-facets-and-teammates} -Lorsque vous masquez des facettes, vous les retirez de votre contexte de dépannage. Cela n'a donc aucune incidence sur la vue des autres membres de votre équipe, sauf si vous mettez à jour une [vue enregistrée][24]. En effet, les facettes masquées font partie du contexte capturé au sein d'une vue enregistrée. +Masquer des facettes est spécifique à votre propre contexte de dépannage et n'impacte pas la vue de vos coéquipiers, sauf si vous mettez à jour un [Saved View][24]. Les facettes masquées font partie du contexte enregistré dans un Saved View. -### Regrouper des facettes +### Group facets {#group-facets} -Afin de faciliter la navigation dans leur liste, les facettes sont regroupées selon différents thèmes pertinents. Les opérations d'attribution ou de réattribution d'une facette à un groupe servent uniquement à modifier l'apparence de la liste des facettes. Cela n'a aucune incidence sur les fonctionnalités de recherche et d'analyse. +Les facets sont regroupés en thèmes significatifs pour faciliter la navigation dans la liste des facets. L'attribution ou la réattribution d'un groupe à un facet n'affecte que l'affichage dans la liste des facets et n'a aucun impact sur les capacités de recherche et d'analyse. -{{< img src="logs/explorer/facet/group_facets.png" alt="Regrouper une facette" style="width:30%;">}} +{{< img src="logs/explorer/facet/group_facets.png" alt="Group Facet" style="width:30%;">}} Pour regrouper des facettes : -1. Cliquez sur l'icône en forme d'engrenage correspondant à la facette. -2. Sélectionnez **Edit facet**. -3. Cliquez sur la section **Advanced options** pour la développer. -4. Dans le champ **Group**, saisissez le nom du groupe dans lequel vous souhaitez inclure la facette. -5. Cliquez sur **Update**. +1. Cliquez sur le rouage pour le facet. +2. Sélectionnez {{< ui >}}Edit facet{{< /ui >}}. +3. Cliquez sur la section {{< ui >}}Advanced options{{< /ui >}} pour l'agrandir. +4. Dans le {{< ui >}}Group{{< /ui >}} champ, entrez le nom du groupe dans lequel vous souhaitez que le facet se trouve. +5. Cliquez sur {{< ui >}}Update{{< /ui >}}. -### Filtrer des facettes +### Filter facets {#filter-facets} -Utilisez la zone de recherche pour les facettes afin d'affiner la liste des facettes et d'accéder plus facilement à celles dont vous avez besoin. La recherche de facette réduit le nombre de résultats affichés en se basant à la fois sur le nom d'affichage des facettes et sur le nom de leur champ. +Utilisez la zone de recherche sur les facets pour réduire la liste complète des facets et naviguer plus rapidement vers celle avec laquelle vous devez interagir. Facet search utilise à la fois le facet display name et le facet field name pour cibler les résultats. -{{< img src="logs/explorer/facet/search_facet.png" alt="Rechercher une facette" style="width:30%;">}} +{{< img src="logs/explorer/facet/search_facet.png" alt="Search Facet" style="width:30%;">}} -### Facettes avec alias +### Aliased facets {#aliased-facets} -Certaines facettes peuvent avoir un alias (voir la section [Alias de facettes](#alias-de-facettes)). Ces facettes peuvent tout de même être utilisées pour explorer vos données. Néanmoins, elles sont considérées comme obsolètes : +Certaines facets peuvent avoir été aliasées (voir la section [alias facet](#alias-facets)). Les aliased facets sont toujours valides pour slicing and dicing, mais sont considérées comme deprecated par votre organisation : -{{< img src="logs/explorer/facet/aliased_facet.png" alt="Facette avec alias" style="width:30%;">}} +{{< img src="logs/explorer/facet/aliased_facet.png" alt="Aliased Facet" style="width:30%;">}} -Lors du dépannage d'un problème, vous êtes davantage susceptible de trouver le contenu d'autres équipes (et de la vôtre) dans une facette _standard_ plutôt que dans une facette _avec alias_. Cette logique simplifie la corrélation de contenu provenant de différentes sources. +Lors du dépannage, il est plus probable que vous trouviez du contenu d'autres équipes (en plus du contenu de votre équipe) dans le _standard_ facet plutôt que dans le _aliased_ facet. Cela rend la corrélation sur le contenu d'origines diverses plus simple. -Lorsqu'une facette avec alias figure dans votre liste de facettes, nous vous conseillons d'accéder plutôt à la facette _standard_. Pour ce faire, cliquez sur l'option **switch to alias**. Cette opération masque la facette avec alias et affiche la facette standard correspondante. Si cette manipulation entraîne la mise à jour d'une vue enregistrée, enregistrez d'abord la vue, afin que l'alias s'applique à tous les utilisateurs de la vue. +Si vous voyez une facette aliasée dans votre liste de facettes, envisagez d'utiliser la facette _standard_ à la place en cliquant sur l'élément de menu {{< ui >}}switch to alias{{< /ui >}}. Cette action cache la facette aliasée et révèle la facette standard. Si cela vous oblige à mettre à jour une vue enregistrée, envisagez de sauvegarder la vue enregistrée afin que l'aliasing s'applique à tous ceux qui utilisent cette vue enregistrée. {{< img src="logs/explorer/facet/switch_facet.png" alt="Changer de facette" style="width:30%;">}} -Si vous cherchez à diagnostiquer une erreur en étudiant l'ancien contenu (avant que votre organisation n'ait appliqué un alias à votre facette), il peut être pertinent de conserver la version _avec alias_ de la facette. +Vous souhaiterez peut-être conserver la version non standard _aliasée_ de la facette si vous dépannez du contenu ancien (avant que l'aliasing pour cette facette ait été configuré par votre organisation). -## Gérer les facettes +## Gérer les facettes {#manage-facets} -### Facettes par défaut +### Facettes prêtes à l'emploi {#out-of-the-box-facets} -La plupart des facettes courantes fournies par défaut, comme `Host` et `Service`, vous permettent de commencer directement votre diagnostic dès lors que vos logs sont transmis aux index de logs. +La plupart des facettes courantes telles que `Host` et `Service` sont prêtes à l'emploi, vous pouvez donc commencer à dépanner immédiatement une fois que vos journaux sont intégrés dans les index de journaux. Vous pouvez accéder par défaut aux facettes sur les [attributs réservés][25] ainsi que sur la plupart des [attributs standard][26]. -### Facette d'index +### Facette d'index {#index-facet} -Les facettes d'index sont des facettes particulières qui vous sont uniquement proposées lorsque votre organisation dispose de [plusieurs index][27] ou lorsque vous possédez des [vues historiques][28] actives. Ces facettes vous permettent de filtrer votre requête sur un sous-ensemble d'index. +La facette d'index est une facette spécifique qui n'apparaît que si votre organisation dispose de [plusieurs index][27], et/ou si vous avez des [vues historiques][28] actives. Utilisez cette facette si vous souhaitez restreindre votre requête à un sous-ensemble de vos index. {{< img src="logs/explorer/facet/index_facet_.png" alt="Créer une facette" style="width:30%;">}} -### Créer des facettes +### Créer des facettes {#create-facets} -À titre de bonne pratique, essayez toujours d'utiliser une facette existante, plutôt que d'en créer une (voir la section [Alias de facettes](#alias-de-facettes)). En utilisant une seule facette pour des informations similaires, vous favorisez la collaboration entre les différentes équipes. +Par souci de bonne pratique, envisagez toujours d'utiliser une facette existante plutôt que d'en créer une nouvelle (voir la section [facettes alias](#alias-facets)). Utiliser une facette unique pour des informations de nature similaire favorise la collaboration entre équipes. Pour créer une facette sur un tableau d'objets JSON, il faut d'abord utiliser un [grok parser][29] pour extraire l'attribut, puis créer une facette pour cet attribut. -**Remarque** : une fois votre facette créée, elle récupère **tous les nouveaux logs**. Pour une utilisation optimale de la solution Log Management, Datadog recommande d'utiliser au maximum 1 000 facettes. +**Remarque** : Une fois qu'une facette est créée, son contenu est peuplé **pour tous les nouveaux journaux**. Pour une utilisation optimale de la solution de gestion des journaux, Datadog recommande d'utiliser au maximum 1000 facettes. -#### Volet latéral des logs +#### Panneau latéral des journaux {#log-side-panel} -La solution la plus simple pour créer une facette consiste à utiliser le volet latéral des logs. En effet, la plupart des informations sur la facette, telles que le nom du champ ou le type sous-jacent des données, sont automatiquement remplies. Il vous suffit simplement de vérifier la véracité de ces informations. Depuis la [vue Log Explorer][1], accédez au log de votre choix qui comporte le champ sur lequel vous souhaitez créer une facette. Ouvrez le volet latéral de ce log, cliquez sur le champ pertinent (dans les tags ou dans les attributs), puis créez votre facette : +Le moyen le plus simple de créer une facette est de l'ajouter depuis le panneau latéral des journaux, où la plupart des détails de la facette—comme le nom du champ ou le type de données sous-jacent—sont pré-remplis et il ne s'agit que de vérifier. Naviguez dans l'[Explorateur de journaux][1] vers le journal d'intérêt portant le champ sur lequel créer une facette. Ouvrez le panneau latéral pour ce journal, cliquez sur le champ correspondant (soit dans les tags, soit dans les attributs) et créez une facette à partir de là : -- Si la valeur du champ correspond à une chaîne, vous pouvez uniquement créer une facette. -- Si la valeur du champ correspond à un nombre, vous pouvez créer une facette ou une mesure. +- Si le champ a une valeur de chaîne, seule la création de facette est disponible. +- Si le champ a une valeur numérique, la création de facette et de mesure est disponible. -{{< img src="logs/explorer/facet/create_facet_from_attribute.png" alt="Créer une facette à partir d'un attribut" style="width:30%;">}} +{{< img src="logs/explorer/facet/create_facet_from_attribute.png" alt="Créer une facette à partir de l'attribut" style="width:30%;">}} -**Remarque** : nous vous conseillons de ne pas utiliser plus de 1 000 facettes. +**Remarque** : En tant que meilleure pratique, il est recommandé de ne pas utiliser plus de 1000 facettes. -#### Liste des facettes +#### Liste des facettes {#facet-list} -Si vous ne souhaitez ou ne pouvez pas rechercher un log spécifique, créez une facette directement depuis le volet des facettes, à l'aide du bouton _add facet_. +Dans le cas où trouver un journal correspondant n'est pas une option, créez une nouvelle facette directement depuis le panneau des facettes en utilisant le bouton _ajouter une facette_. -Définissez le nom (à savoir la clé) du champ sous-jacent de votre facette. +Définissez le nom (à savoir, la clé) du champ sous-jacent de votre facette. -- Utilisez le nom de la clé du tag pour les tags. -- Utilisez le chemin d'attribut pour les attributs, en ajoutant le préfixe `@`. +- Utilisez le nom de clé de tag pour les tags. +- Utilisez le chemin d'attribut pour les attributs, avec `@` préfixe. -Grâce à la fonctionnalité de remplissage automatique, qui se base sur le contenu des logs des vues actuelles, vous pouvez définir facilement un nom de champ adéquat. Toutefois, sachez que vous pouvez indiquer n'importe quelle valeur, surtout si aucun log correspondant n'est transmis à vos index. +L'autocomplétion basée sur le contenu des journaux des vues actuelles vous aide à définir le nom de champ approprié. Mais vous pouvez utiliser pratiquement n'importe quelle valeur ici, en particulier dans le cas où vous n'avez pas encore de journaux correspondants circulant dans vos index. -{{< img src="logs/explorer/facet/create_facet_from_scratch.png" alt="Créer une facette de toute pièce" style="width:30%;">}} +{{< img src="logs/explorer/facet/create_facet_from_scratch.png" alt="Créer une facette à partir de zéro" style="width:30%;">}} -### Alias de facettes +### Alias facettes {#alias-facets} Vous pouvez rassembler du contenu similaire au sein d'une seule facette afin que vos différentes équipes puissent conjointement diagnostiquer en toute simplicité les erreurs et effectuer des analyses. Consultez la section relative aux [conventions de nommage][26] pour en savoir plus. -Les alias vous permettent de corriger de façon harmonieuse les problèmes d'alignement des équipes découlant d'incohérences des conventions de nommage. Grâce à cette solution, tous les utilisateurs de votre organisation peuvent commencer à utiliser les nouvelles facettes standard. +Utilisez l'aliasing comme option pour réaligner en douceur les équipes qui s'appuient sur des conventions de nommage incohérentes. Avec l'aliasing, vous pouvez faire en sorte que tous utilisent la facette standard définie pour votre organisation. -#### Créer un alias entre une facette et une autre facette +#### Aliasing facette à facette {#aliasing-facet-to-facet} Ce type d'alias constitue la solution idéale si plusieurs de vos équipes ont créé de nombreuses facettes rassemblant du contenu similaire. -Lorsque vous créez un alias depuis une facette _avec alias_ vers une facette _standard_ : +Lors de l'aliasing d'une facette _aliasée_ vers une facette _standard_ : -- Les utilisateurs peuvent choisir d'utiliser les facettes standard ou celles avec alias pour leurs processus de dépannage. Il peut être préférable d'utiliser la version standard, car celle-ci simplifie la corrélation du contenu provenant de diverses sources caractérisées par une certaine hétérogénéité. -- Les utilisateurs sont invités à utiliser les facettes standard plutôt que les facettes avec alias. +- Les utilisateurs peuvent utiliser soit des facettes aliasées, soit des facettes standard pour le dépannage. Vous pouvez préférer la standard, qui facilite la corrélation du contenu provenant de sources diverses et potentiellement hétérogènes. +- Les utilisateurs sont incités à utiliser la facette standard à la place de celle aliasée. -Pour créer un alias pour une facette vers une facette standard, sélectionnez l'option `Alias to...` dans le menu des facettes. Choisissez parmi toutes les facettes [standard][14] de votre organisation pour définir votre destination. +Pour aliaser une facette vers une standard, sélectionnez l'élément d'action {{< ui >}}Alias to...{{< /ui >}} dans le menu de la facette. Choisissez les facettes de destination parmi toutes les facettes [standard][14] existantes pour votre organisation. -{{< img src="logs/explorer/facet/alias_modal.png" alt="Fenêtre Alias" style="width:30%;">}} +{{< img src="logs/explorer/facet/alias_modal.png" alt="alias modal" style="width:30%;">}} -#### Créer un alias entre un attribut et une facette +#### Aliasing attribut à facette {#aliasing-attribute-to-facet} -Ce type d'alias s'avère particulièrement utile pour gérer les logs transmis par de nouvelles sources. Plutôt que de créer une facette pour un champ sur ces logs, qui deviendrait obsolète après la création d'un alias vers une facette standard, créez directement un alias entre le champ et une facette existante : +C'est la meilleure option si vous intégrez des journaux provenant de nouvelles sources. Plutôt que de créer une facette pour un champ sur ces journaux, et juste après de déprécier cette facette en l'aliasant à une facette standard, aliaser directement le champ à une facette existante : -{{< img src="logs/explorer/facet/alias_facet_from_attribute.png" alt="Alias de facette à partir d'un attribut" style="width:30%;">}} +{{< img src="logs/explorer/facet/alias_facet_from_attribute.png" alt="Alias facette à partir d'attribut" style="width:30%;">}} -## Supprimer une facette +## Supprimer une facette {#delete-a-facet} -
Toute suppression d'une facette actuellement utilisée dans des index, monitors, dashboards ou requêtes de restriction ou par d'autres équipes peut entraîner des erreurs de configuration.
+
Supprimer une facette qui est utilisée dans des index, des moniteurs, des tableaux de bord, des requêtes de restriction ou par d'autres équipes peut entraîner des ruptures de configurations.
Pour supprimer une facette, procédez comme suit : -- Cliquez sur **Showing xx of xx** en haut du volet des facettes. +- Cliquez sur {{< ui >}}Showing xx of xx{{< /ui >}} en haut du panneau des facettes. - Recherchez votre facette. -- Cliquez sur l'icône en forme de crayon en regard de votre facette. -- Cliquez sur **Delete**. +- Cliquez sur l'icône de crayon pour votre facette. +- Cliquez sur {{< ui >}}Delete{{< /ui >}}. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -239,7 +244,7 @@ Pour supprimer une facette, procédez comme suit : [6]: /fr/notebooks/ [7]: /fr/logs/log_configuration/processors [8]: /fr/logs/live_tail/ -[9]: /fr/logs/log_configuration/attributes_naming_convention/#standard-attributes +[9]: /fr/logs/explorer/ [10]: /fr/logs/logs_to_metrics/ [11]: /fr/logs/archives/ [12]: /fr/logs/archives/rehydrating/ @@ -247,17 +252,17 @@ Pour supprimer une facette, procédez comme suit : [14]: /fr/logs/indexes/#indexes-filters [15]: /fr/logs/indexes/#exclusion-filters [16]: /fr/integrations/nginx/ -[17]: /fr/logs/log_configuration/processors/#geoip-parser +[17]: /fr/logs/log_configuration/processors/geoip_parser/ [18]: /fr/integrations/kong/ [19]: /fr/getting_started/tagging/assigning_tags/ [20]: /fr/integrations/varnish/ [21]: /fr/integrations/ansible/ [22]: /fr/integrations/python/ -[23]: /fr/logs/log_configuration/processors/#arithmetic-processor +[23]: /fr/logs/log_configuration/processors/arithmetic_processor/ [24]: /fr/logs/explorer/saved_views/ [25]: /fr/logs/log_configuration/attributes_naming_convention/#reserved-attributes [26]: /fr/logs/log_configuration/attributes_naming_convention [27]: /fr/logs/indexes/#indexes [28]: /fr/logs/log_configuration/rehydrating [29]: /fr/logs/log_configuration/parsing/?tab=matchers#nested-json -[30]: /fr/logs/explorer/ \ No newline at end of file +[30]: https://app.datadoghq.com/logs \ No newline at end of file diff --git a/content/fr/logs/guide/azure-automated-log-forwarding.md b/content/fr/logs/guide/azure-automated-log-forwarding.md new file mode 100644 index 00000000000..cff31e8c8e5 --- /dev/null +++ b/content/fr/logs/guide/azure-automated-log-forwarding.md @@ -0,0 +1,218 @@ +--- +aliases: +- /fr/logs/guide/azure-logging-guide/ +- /fr/logs/guide/azure-automated-logs-architecture/ +further_reading: +- link: https://www.datadoghq.com/blog/monitoring-azure-platform-logs/ + tag: Blog + text: Meilleures pratiques pour surveiller les journaux de la plateforme Microsoft + Azure +title: Configuration du transfert de journaux automatisé Azure +--- +## Aperçu {#overview} + +Utilisez ce guide pour configurer et gérer l'envoi automatique des journaux Azure. Vous pouvez configurer l'envoi des journaux directement dans Datadog ou le déployer avec un modèle de gestion des ressources Azure (ARM). + +Le modèle ARM déploie des ressources à partir d'une série de services Azure (comptes de stockage et applications de fonction) dans vos abonnements, qui collectent et transmettent les journaux à Datadog. Ces services s'adaptent automatiquement à la hausse ou à la baisse en fonction du volume des journaux. L'évolutivité est gérée par un plan de contrôle, qui est un ensemble d'applications de fonction déployées dans un abonnement et une région de votre choix. Les comptes de stockage et les applications de fonction sont déployés dans chacun des abonnements et servent à transmettre les journaux à Datadog. + +**Tous les sites** : Le transfert de journaux automatisé est disponible sur tous les [sites Datadog][4]. + +**Environnements Azure pris en charge** : Le transfert de journaux automatisé ne prend en charge que le cloud commercial (public) Azure. Azure Government et Azure China ne sont pas pris en charge. Si vous utilisez des sites gouvernementaux Datadog, vous ne pouvez utiliser cette fonctionnalité qu'avec des charges de travail dans le cloud commercial Azure. + +## Comment choisir entre la configuration automatique et manuelle {#how-to-choose-between-automated-and-manual-setup} + +Choisissez la méthode de configuration manuelle si vous souhaitez : + - appliquer des balises personnalisées à vos ressources + +Utilisez la méthode de configuration automatique si vous souhaitez : + - automatiser le déploiement via le portail Azure + - gérer votre infrastructure via des modèles déclaratifs + - contrôler de manière centralisée l'accès, les balises et la facturation + - redéployez vos ressources dans le bon ordre et de manière cohérente + - Réduisez vos coûts en utilisant un compte de stockage plutôt qu'un hub d'événements. + +## Configuration {#setup} + +### Configurer le transfert de journaux {#configure-log-forwarding} + +Utilisez le flux **Configurer le transfert de journaux** pour configurer de nouveaux transmetteurs de journaux ou gérer ceux existants directement dans Datadog. Vous pouvez utiliser ce flux pour déployer le transfert de journaux automatisé depuis le début ou mettre à jour une configuration existante, comme ajouter ou supprimer des abonnements ou modifier des filtres de journaux. + +1. Dans Datadog, naviguez vers [{{< ui >}}Integrations > Azure{{< /ui >}}][16]. +1. Cliquez sur {{< ui >}}Configure Log Forwarding{{< /ui >}}. +1. Choisissez de déployer une nouvelle configuration ou de mettre à jour une configuration existante. +1. Copiez la commande fournie et collez-la dans votre Azure Cloud Shell. +1. Sélectionnez les abonnements à partir desquels transférer des journaux. +1. Optionnellement, ajoutez ou supprimez des filtres de journaux. +1. Cliquez sur {{< ui >}}Confirm{{< /ui >}}. + +### Modèle ARM {#arm-template} + +Alternativement, vous pouvez déployer le transfert de journaux automatisé avec un [modèle ARM public Azure][1]. Les sections ci-dessous fournissent des instructions pour compléter chaque page du modèle. + +#### Bases {#basics} + +1. Sous {{< ui >}}Project details{{< /ui >}}, sélectionnez le groupe de gestion. Ceci est nécessaire pour que le modèle ARM accorde des permissions aux abonnements que vous sélectionnez pour le transfert de journaux automatisé. +2. Sous {{< ui >}}Instance details{{< /ui >}}, sélectionnez des valeurs : + - {{< ui >}}Region{{< /ui >}}. C'est ici que le plan de contrôle est déployé. + - {{< ui >}}Subscriptions to Forward Logs{{< /ui >}}. Ce sont les abonnements à configurer pour le transfert de journaux. + - {{< ui >}}Control Plane Subscription{{< /ui >}}. C'est l'abonnement auquel le plan de contrôle est déployé. + - {{< ui >}}Resource Group Name{{< /ui >}}. C'est le groupe de ressources à utiliser par le plan de contrôle. Il est recommandé de choisir un nouveau nom de groupe de ressources inutilisé pour simplifier la gestion des services du plan de contrôle. + +{{< img src="logs/guide/azure-automated-log-forwarding/deployment_basics.png" alt="La page de base du modèle ARM pour le transfert de journaux automatisé Azure." popup="true" style="width:100%">}} + +3. Cliquez {{< ui >}}Next{{< /ui >}}. + +#### Configuration de Datadog {#datadog-configuration} + +1. Entrez la valeur de votre [clé API Datadog][2]. +2. Sélectionnez votre [site Datadog][4]. + +{{< img src="logs/guide/azure-automated-log-forwarding/deployment_datadog_configuration_2025-02-18.png" alt="La page de configuration de Datadog du modèle ARM pour le transfert de journaux automatisé Azure." popup="true" style="width:100%">}} + +3. Cliquez {{< ui >}}Next{{< /ui >}}. + +#### Déploiement {#deployment} + +1. Cochez la case pour valider les avertissements de déploiement. +2. Cliquez {{< ui >}}Review + create{{< /ui >}}. + +#### Examiner + créer {#review-create} + +1. Examinez les détails de déploiement finalisés. +2. Cliquez {{< ui >}}Create{{< /ui >}}. + +## Filtrage des balises de ressources {#resource-tag-filtering} + +Vous pouvez utiliser des filtres de balises pour contrôler quelles ressources Azure ont leurs journaux transférés vers Datadog. Pour la syntaxe des filtres de balises, le support des jokers et des exemples, voir [Filtrage des balises de ressources][21] dans le guide de démarrage d'Azure. + +## Espaces de travail Log Analytics {#log-analytics-workspaces} + +Vous pouvez transférer des journaux des Espaces de travail Log Analytics Azure (LAWs) vers Datadog via le transmetteur de journaux automatisé. Auparavant, Datadog ne supportait que les journaux des [paramètres de diagnostic][13] des LAWs. Avec les [règles d'exportation de données][17], vous pouvez également transférer des journaux des tables de journaux LAW vers Datadog. + +### Restrictions {#restrictions} + +- Vous ne pouvez configurer le transfert que pour les ressources LAW situées dans la même région que le transmetteur de journaux. +- Vous pouvez avoir un maximum de 10 règles d'exportation de données sur un LAW. Si le LAW n'a plus de capacité pour une règle d'exportation de données, supprimez une règle existante pour faire de la place. +- Toutes les tables de journaux ne peuvent pas être exportées. Voir la liste de Microsoft des [tables non prises en charge][18]. + +### Transférer des journaux d'un espace de travail Log Analytics {#forward-logs-from-a-log-analytics-workspace} + +1. Si vous n'avez pas encore créé de transmetteur de journaux automatisé, suivez les instructions de [Configuration](#setup). Si vous avez déjà un transmetteur de journaux, assurez-vous qu'il est mis à jour vers la dernière version. +2. Dans le [Portail Azure][19], accédez à l'espace de travail Log Analytics souhaité. +3. Sous {{< ui >}}Settings{{< /ui >}}, cliquez sur {{< ui >}}Data export{{< /ui >}}. +4. Cliquez sur {{< ui >}}New export rule{{< /ui >}}. +5. Nommez la règle, vérifiez {{< ui >}}Enable upon creation{{< /ui >}}, et cliquez sur {{< ui >}}Next{{< /ui >}}. +6. Sélectionnez les tables à exporter. Vous pouvez modifier cette sélection plus tard en éditant la règle d'exportation des données. Cliquez sur {{< ui >}}Next{{< /ui >}}. +7. Pour {{< ui >}}Destination type{{< /ui >}}, sélectionnez {{< ui >}}Storage Account{{< /ui >}}. Sélectionnez l'abonnement contenant votre transmetteur de journaux, et choisissez un compte de stockage pour le transmetteur de journaux. Ces comptes ont généralement le préfixe `ddlogstorage`. Cliquez sur {{< ui >}}Next{{< /ui >}}. +8. Examinez la règle et cliquez sur {{< ui >}}Create{{< /ui >}}. Les journaux du LAW commencent à apparaître dans Datadog dans quelques minutes. + +### Dépannage {#troubleshooting} + +#### Les journaux n'apparaissent pas dans Datadog {#logs-are-not-appearing-in-datadog} + +Si vous avez créé une règle d'exportation des données mais que vous ne voyez pas de journaux dans Datadog : + +1. Vérifiez que la règle d'exportation des données est activée. +1. Vérifiez que le compte de stockage de destination est celui créé par le transmetteur de journaux automatisé (le nom commence généralement par `ddlogstorage`). +1. Dans le compte de stockage, inspectez les conteneurs. Les conteneurs avec le préfixe `am-` indiquent des exportations LAW. Si vous ne voyez que des conteneurs avec le préfixe `insights-`, la règle d'exportation des données peut être mal configurée. +1. Vérifiez que le LAW a collecté de nouveaux journaux au cours des deux dernières heures. + +Consultez la [FAQ de dépannage de l'exportation des données][20] de Microsoft pour des informations supplémentaires. + +#### Sélection des journaux à exporter {#selecting-which-logs-are-exported} + +La règle d'exportation des données vous permet de spécifier quelles tables de journaux de votre espace de travail Log Analytics sont exportées. Modifiez la règle d'exportation des données pour ajouter ou supprimer des tables. + +#### Latence attendue {#expected-latency} + +Les journaux LAW apparaissent généralement dans Datadog dans un délai de deux à cinq minutes, mais peuvent prendre jusqu'à 20 minutes pour apparaître pour la première fois. Les journaux LAW peuvent avoir des propriétés différentes de celles des journaux non-LAW. + +## Architecture {#architecture} + +### Services utilisés {#services-used} + +- [Les applications Azure Function][15] sont utilisées pour découvrir des ressources dans vos abonnements Azure, faire évoluer les transmetteurs de journaux et configurer les paramètres de diagnostic sur les ressources détectées. +- [Azure Container Apps][8] sont utilisées pour collecter les journaux de ressources générés par les paramètres de diagnostic, suivre ceux qui ont déjà été traités et les soumettre à Datadog. +- [Les comptes de stockage Azure][9] sont utilisés pour stocker les journaux générés par vos ressources, ainsi qu'un petit cache de métadonnées telles que les ID d'abonnement, les ID de ressources et les régions. + +### Architecture de haut niveau {#high-level-architecture} + +{{Diagramme d'architecture montrant trois composants principaux de l'acheminement automatisé des journaux Azure : le plan de contrôle et le transmetteur de journaux (déployé par Datadog dans les environnements des clients) se connectant aux ressources Azure.}} + +Le modèle de déploiement configure un [plan de contrôle](#control-plane) et [des transmetteurs de journaux](#log-forwarders) dans vos abonnements sélectionnés. + +#### Plan de contrôle {#control-plane} + +Le plan de contrôle est un ensemble d'Azure Function apps et d'un compte de stockage pour la mise en cache. Un plan de contrôle est déployé dans votre abonnement choisi et effectue les tâches suivantes : +- Découverte des ressources dans vos abonnements choisis capables de générer des journaux via les paramètres de diagnostic. +- Configuration automatique des paramètres de diagnostic sur les ressources découvertes pour acheminer les journaux vers un compte de stockage suivi par les transmetteurs de journaux. +- Mise à l'échelle des transmetteurs de journaux dans les régions où se trouvent vos ressources, leur permettant d'ajuster dynamiquement le volume des journaux. + +#### Transmetteurs de journaux {#log-forwarders} + +Les transmetteurs de journaux se composent d'un job Azure Container Apps et d'un compte de stockage pour les journaux. Ils sont déployés par le plan de contrôle dans chaque abonnement que vous sélectionnez pour l'acheminement des journaux. Le nombre de transmetteurs de journaux déployés par abonnement évolue en fonction du volume de journaux générés par vos ressources. Les transmetteurs de journaux effectuent les tâches suivantes : +- Stocker temporairement les journaux générés par les paramètres de diagnostic de vos ressources dans un compte de stockage. +- Traiter les journaux stockés et les transmettre à Datadog. + +Dans Azure, les paramètres de diagnostic d'une ressource ne peuvent cibler que les comptes de stockage dans la même région. Ainsi, les transmetteurs sont déployés dans chaque région où des ressources avec des paramètres de diagnostic existent. + +Consultez la page [Paramètres de diagnostic dans Azure Monitor][13] d'Azure pour plus d'informations. + +### Architecture détaillée {#detailed-architecture} + +{{Diagramme de flux de travail montrant le transfert automatisé de journaux Azure : le plan de contrôle découvre les ressources, met à l'échelle les transmetteurs de journaux dans les régions, configure les paramètres de diagnostic pour envoyer les journaux aux comptes de stockage, puis les Container Apps vérifient et transmettent les nouveaux journaux à Datadog Log Management.}} + +### Sécurité et autorisations {#security-and-permissions} + +Le modèle ARM accorde au plan de contrôle uniquement les autorisations nécessaires pour gérer les transmetteurs de journaux et appliquer les paramètres de diagnostic sur vos ressources. Pour ce faire, des groupes de ressources sont créés et des autorisations sont accordées lors du déploiement du modèle ARM. Après cela, vous pouvez ajouter des autorisations pour d'autres abonnements en redéployant le modèle ARM. + +#### Autorisations utilisées {#permissions-used} + +- [Contributeur en surveillance][10] rôle au niveau de l'**abonnement** pour les abonnements sélectionnés. + - Ceci est nécessaire pour découvrir des ressources avec des paramètres de diagnostic disponibles et activer la sortie des journaux vers le stockage. + +- [Contributeur][11] rôle au niveau du **groupe de ressources**, pour les groupes de ressources de transfert de journaux dans les abonnements sélectionnés. + - Cela est nécessaire pour gérer (créer et supprimer) les comptes de stockage des transmetteurs de journaux et les jobs Container Apps. + +- Rôle de [Contributeur de site Web][12] au niveau du **groupe de ressources du plan de contrôle**, pour mettre à jour les Function Apps du plan de contrôle. + +Aucune information sur vos ressources n'est exportée. Datadog ne demande que les informations nécessaires pour activer la sortie des journaux, et la seule sortie de cette architecture est les journaux envoyés à Datadog. + +**Remarque** : En option, vous pouvez activer le plan de contrôle pour soumettre ses propres métriques de santé, journaux et événements à Datadog à des fins de débogage. Pour ce faire, définissez la variable d'environnement `DD_TELEMETRY=true` sur toute Function App ou Container App du plan de contrôle. + +{{% azure-log-archiving %}} + +## Désinstaller {#uninstall} + +Commencez par ouvrir un [Azure Cloud Shell][5], et assurez-vous qu'il fonctionne en Azure CLI/Bash, pas en PowerShell. + +Téléchargez et exécutez le script de désinstallation : +{{< code-block lang="bash" >}} +wget https://ddazurelfo.blob.core.windows.net/uninstall/uninstall.py +python uninstall.py +{{< /code-block >}} + +Le script découvre d'abord toutes les instances en cours d'exécution dans chaque abonnement, puis vous invite à sélectionner les instances à désinstaller. Confirmez les suppressions de ressources et attendez que les ressources soient supprimées. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://portal.azure.com/#create/Microsoft.Template/uri/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FDataDog%2Fintegrations-management%2Fmain%2Fazure%2Flogging_install%2Fdist%2Fazuredeploy.json/createUIDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FDataDog%2Fintegrations-management%2Fmain%2Fazure%2Flogging_install%2Fdist%2FcreateUiDefinition.json +[2]: https://app.datadoghq.com/organization-settings/api-keys +[4]: /fr/getting_started/site/ +[5]: https://learn.microsoft.com/en-us/azure/cloud-shell/overview +[8]: https://azure.microsoft.com/products/container-apps +[9]: https://learn.microsoft.com/azure/storage/common/storage-account-overview +[10]: https://learn.microsoft.com/azure/azure-monitor/roles-permissions-security#monitoring-contributor +[11]: https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/privileged#contributor +[12]: https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/web-and-mobile#website-contributor +[13]: https://learn.microsoft.com/azure/azure-monitor/essentials/diagnostic-settings +[14]: https://app.datadoghq.com/integrations/azure/add?config_azure-new-onboarding=true +[15]: https://learn.microsoft.com/azure/azure-functions/ +[16]: https://app.datadoghq.com/integrations/azure +[17]: https://learn.microsoft.com/azure/azure-monitor/logs/logs-data-export?tabs=portal +[18]: https://learn.microsoft.com/azure/azure-monitor/logs/logs-data-export?tabs=portal#unsupported-tables +[19]: https://portal.azure.com +[20]: https://learn.microsoft.com/troubleshoot/azure/azure-monitor/log-analytics/workspaces/workspace-data-export-faq +[21]: /fr/getting_started/integrations/azure/#resource-tag-filtering-for-logs \ No newline at end of file diff --git a/content/fr/logs/log_collection/java.md b/content/fr/logs/log_collection/java.md index 6433de98af9..29545553627 100644 --- a/content/fr/logs/log_collection/java.md +++ b/content/fr/logs/log_collection/java.md @@ -11,12 +11,12 @@ further_reading: - link: /logs/explorer/ tag: Documentation text: Apprendre à explorer vos logs -- link: /logs/explorer/#visualiser-les-donnees +- link: /logs/explorer/#visualize tag: Documentation text: Effectuer des analyses de logs - link: /tracing/other_telemetry/connect_logs_and_traces/java/ tag: Documentation - text: Associer vos logs à vos traces + text: Connect Logs and Traces - link: /logs/faq/log-collection-troubleshooting-guide/ tag: FAQ text: Guide de dépannage pour la collecte de logs @@ -28,10 +28,9 @@ further_reading: text: Entrée du glossaire pour le terme « tail » (suivi) title: Collecte de logs avec Java --- +Pour envoyer vos journaux à Datadog, enregistrez-les dans un fichier et utilisez [tail][1] pour suivre ce fichier avec votre Datadog Agent. -Pour envoyer vos logs à Datadog, activez la journalisation au sein d'un fichier et [suivez][14] ce fichier avec l'Agent Datadog. - -Les stack traces types des logs Java sont divisées en plusieurs lignes, ce qui les rend difficiles à associer à l'événement de log d'origine. Par exemple : +Les traces de pile des journaux Java typiques sont réparties sur plusieurs lignes, ce qui rend leur association à l'événement de journal d'origine difficile. Exemple : ```java //4 events generated when only one is expected! @@ -41,25 +40,25 @@ Exception in thread "main" java.lang.NullPointerException at com.example.myproject.Bootstrap.main(Bootstrap.java:14) ``` -Pour résoudre ce problème, configurez votre bibliothèque de journalisation de façon à ce que vos logs soient générés au format JSON. L'enregistrement des logs au format JSON offre les avantages suivants : +Pour résoudre ce problème, configurez votre bibliothèque de journalisation pour produire vos journaux au format JSON. En enregistrant au format JSON, vous : -* La stack trace est correctement associée à l'événement de log. -* Tous les attributs d'un événement de log (gravité, nom du logger, nom du thread, etc.) sont correctement extraits. -* Vous avez accès aux attributs du [MDC (Mapped Diagnostic Context)][1], que vous pouvez associer à n'importe quel événement de log. -* Vous n'avez pas besoin de créer de [règles de parsing personnalisées][2]. +* Assurez-vous que la trace de pile est correctement intégrée dans l'événement de journal. +* Assurez-vous que tous les attributs de l'événement de journal (tels que la gravité, le nom du journaliseur et le nom du thread) sont correctement extraits. +* Accédez aux attributs du [Mapped Diagnostic Context (MDC)][2], que vous pouvez attacher à tout événement de journal. +* Évitez la nécessité de [règles d'analyse personnalisées][3]. Les instructions suivantes montrent des exemples de configuration pour les bibliothèques de journalisation Log4j, Log4j 2 et Logback. -## Configurer votre logger +## Configurez votre journaliseur {#configure-your-logger} -### Format JSON +### Format JSON {#json-format} {{< tabs >}} {{% tab "Log4j" %}} -Pour Log4j, générez les logs au format JSON en utilisant le module SLF4J [log4j-over-slf4j][1] avec Logback. `log4j-over-slf4j` remplace directement Log4j dans votre application, ce qui fait qu'aucune modification du code n'est nécessaire. Pour l'utiliser : +Pour Log4j, enregistrez au format JSON en utilisant le module SLF4J [log4j-over-slf4j][1] combiné avec Logback. `log4j-over-slf4j` remplace proprement Log4j dans votre application afin que vous n'ayez pas à apporter de modifications au code. -1. Dans votre fichier `pom.xml`, remplacez la dépendance `log4j.jar` par une dépendance `log4j-over-slf4j.jar`, puis ajoutez les dépendances Logback : +1. Dans votre fichier `pom.xml`, remplacez la dépendance `log4j.jar` par une dépendance `log4j-over-slf4j.jar`, et ajoutez les dépendances Logback. Exemple : ```xml org.slf4j @@ -77,7 +76,7 @@ Pour Log4j, générez les logs au format JSON en utilisant le module SLF4J [log4 6.6 ``` -2. Configurez un appender en utilisant la structure JSON dans `logback.xml` : +2. Configurez un appender utilisant la mise en page JSON dans `logback.xml`. Voir les exemples de configurations suivants pour le fichier et la console. Pour un fichier : @@ -94,7 +93,7 @@ Pour Log4j, générez les logs au format JSON en utilisant le module SLF4J [log4
``` - Pour une console : + For console: ```xml @@ -111,53 +110,103 @@ Pour Log4j, générez les logs au format JSON en utilisant le module SLF4J [log4 [1]: http://www.slf4j.org/legacy.html#log4j-over-slf4j {{% /tab %}} -{{% tab "Log4j 2" %}} +{{% tab "Log4j 2" %}} Log4j 2 intègre une structure JSON. -1. Configurez un appender en utilisant la structure JSON dans `log4j2.xml` : - - Pour un file appender : - - ```xml - - - - - - - - - - - - - - - ``` - - Pour un console appender : - - ```xml - - - - - - - - - - - - - - - - +1. Configurez un appender utilisant la mise en page JSON dans `log4j2.xml`. Voir les exemples de configurations suivants pour l'appender de fichier et de console. Pour une description complète des plugins Log4j, consultez la [référence des plugins Log4j][1]. +{{% collapse-content title="Appender de fichier" level="h4" %}} +{{< code-block lang="xml" filename="log4j2.xml" >}} + + + + + + + + + + + + + +{{< /code-block >}} +{{% /collapse-content %}} + +{{% collapse-content title="Appender de console" level="h4" %}} +{{< code-block lang="xml" filename="log4j2.xml" >}} + + + + + + + + + + + + + +{{< /code-block >}} +{{% /collapse-content %}} + +2. Ajoutez le fichier de modèle de mise en page JSON (tel que `MyLayout.json`) dans le répertoire `src/main/resources` de votre projet Java. Exemple : + ```json + { + "timestamp":{ + "$resolver":"timestamp", + "pattern":{ + "format":"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", + "timeZone":"UTC" + } + }, + "status":{ + "$resolver":"level", + "field":"name" + }, + "thread_name":{ + "$resolver":"thread", + "field":"name" + }, + "logger_name":{ + "$resolver":"logger", + "field":"name" + }, + "message":{ + "$resolver":"message", + "stringified":true + }, + "exception_class":{ + "$resolver":"exception", + "field":"className" + }, + "exception_message":{ + "$resolver":"exception", + "field":"message" + }, + "stack_trace":{ + "$resolver":"exception", + "field":"stackTrace", + "stackTrace":{ + "stringified":true + } + }, + "host":"${hostName}", + "service":"${env:DD_SERVICE}", + "version":"${env:DD_VERSION}", + "dd.trace_id":{ + "$resolver":"mdc", + "key":"dd.trace_id" + }, + "dd.span_id":{ + "$resolver":"mdc", + "key":"dd.span_id" + } + } ``` -2. Ajoutez les dépendances de structure JSON dans votre fichier `pom.xml` : +3. Ajoutez les dépendances de mise en page JSON à votre `pom.xml`. Exemple : ```xml org.apache.logging.log4j @@ -181,12 +230,13 @@ Log4j 2 intègre une structure JSON. ``` +[1]: https://logging.apache.org/log4j/2.x/plugin-reference.html {{% /tab %}} {{% tab "Logback" %}} Utilisez la bibliothèque [logstash-logback-encoder][1] pour les logs au format JSON dans Logback. -1. Configurez un file appender en utilisant la structure JSON dans `logback.xml` : +1. Configurez un appender de fichier en utilisant la mise en page JSON dans `logback.xml`. Exemple : ```xml @@ -201,7 +251,7 @@ Utilisez la bibliothèque [logstash-logback-encoder][1] pour les logs au format ``` -2. Ajoutez la dépendance d'encodeur Logstash dans votre fichier `pom.xml` : +2. Ajoutez la dépendance de l'encodeur Logstash à votre fichier `pom.xml`. Exemple : ```xml @@ -223,7 +273,7 @@ Utilisez la bibliothèque [logstash-logback-encoder][1] pour les logs au format Créez une configuration de writer JSON en vous basant sur la [documentation officielle de Tinylog][1]. -Utilisez le format suivant dans un fichier `tinylog.properties` : +Utilisez le format suivant dans un fichier `tinylog.properties` : ```properties writer = json @@ -244,16 +294,12 @@ writer.field.dd.env = {context: dd.env} {{% /tab %}} {{< /tabs >}} -#### Ajouter des identifiants de trace à vos logs - -Si APM est activé pour cette application, vous pouvez corréler vos logs et vos traces en activant l'injection des ID de trace. Consultez la section [Associer vos logs Java à vos traces][3] pour en savoir plus. - -### Format brut +### Format brut {#raw-format} {{< tabs >}} {{% tab "Log4j" %}} -Configurez un file appender dans `log4j.xml` : +Configurez un appender de fichier dans `log4j.xml`. Exemple : ```xml @@ -265,7 +311,7 @@ Configurez un file appender dans `log4j.xml` : - + @@ -278,16 +324,16 @@ Configurez un file appender dans `log4j.xml` : ``` {{% /tab %}} -{{% tab "Log4j 2" %}} +{{% tab "Log4j 2" %}} -Configurez un file appender dans `log4j2.xml` : +Configurez un appender de fichier dans `log4j2.xml`. Exemple : ```xml - + @@ -302,7 +348,7 @@ Configurez un file appender dans `log4j2.xml` : {{% /tab %}} {{% tab "Logback" %}} -Configurez un file appender dans `logback.xml` : +Configurez un appender de fichier dans `logback.xml`. Exemple : ```xml @@ -312,7 +358,7 @@ Configurez un file appender dans `logback.xml` : true - %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %X{dd.trace_id} %X{dd.span_id} - %m%n + %d{yyyy-MM-dd HH:mm:ss} %-5p %C:%L - %X{dd.trace_id} %X{dd.span_id} - %m%n @@ -328,7 +374,7 @@ Configurez un file appender dans `logback.xml` : Créez une configuration de writer sortant vers un fichier en vous basant sur la [documentation officielle de Tinylog][1]. -Utilisez le format suivant dans un fichier `tinylog.properties` : +Utilisez le format suivant dans un fichier `tinylog.properties` : ```properties writer = file @@ -337,23 +383,36 @@ writer.format = {level} - {message} - "dd.trace_id":{context: dd.trace_id} - " writer.file = log.txt ``` -[1]: https://tinylog.org/v2/configuration/#json-writer +[1]: https://tinylog.org/v2/configuration/#writer {{% /tab %}} {{< /tabs >}} -#### Ajouter des identifiants de trace à vos logs +#### Injectez des identifiants de trace dans vos journaux {#inject-trace-ids-into-your-logs} -Si APM est activé pour cette application, vous pouvez corréler vos logs et vos traces en activant l'injection des ID de trace. Consultez la section [Associer vos logs Java à vos traces][3]. +Si APM est activé pour cette application, vous pouvez corréler les journaux et les traces en activant l'injection d'identifiants de trace. Voir [Connexion des journaux et des traces Java][4]. -Si vous ne souhaitez _pas_ corréler vos logs et vos traces, vous pouvez supprimer les paramètres fictifs MDC (`%X{dd.trace_id} %X{dd.span_id}`) des logs patterns inclus dans les exemples de configuration ci-dessus. +Si vous _ne corrélez pas_ les journaux et les traces, retirez les espaces réservés MDC (`%X{dd.trace_id} %X{dd.span_id}`) des modèles de journaux inclus dans les exemples de configuration précédents. +Par exemple, si vous utilisez Log4j 2 mais que vous ne corrélez pas les journaux et les traces, retirez le bloc suivant du modèle de mise en page de journal d'exemple, `MyLayout.json` : + +```json +"dd.trace_id":{ + "$resolver":"mdc", + "key":"dd.trace_id" +}, +"dd.span_id":{ + "$resolver":"mdc", + "key":"dd.span_id" +} +``` -## Configurer l'Agent Datadog -Une fois la [collecte de logs activée][4], configurez la [collecte de logs personnalisée][5] pour suivre vos fichiers de logs et les transmettre à Datadog. +## Configurez le Datadog Agent {#configure-the-datadog-agent} -1. Créez un dossier `java.d/` dans le [répertoire de configuration de l'Agent][6] `conf.d/`. -2. Créez un fichier `conf.yaml` dans votre dossier `java.d/` avec le contenu suivant : +Une fois que [la collecte de journaux est activée][5], configurez [la collecte de journaux personnalisée][6] pour suivre vos fichiers journaux et les envoyer à Datadog. + +1. Créez un dossier `java.d/` dans le `conf.d/` [répertoire de configuration de l'Agent][7]. +2. Créez un fichier `conf.yaml` dans `java.d/` avec le contenu suivant : ```yaml #Log section @@ -371,30 +430,30 @@ Une fois la [collecte de logs activée][4], configurez la [collecte de logs pers # pattern: \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01]) ``` -3. [Redémarrez l'Agent][7]. -4. Lancez la [sous-commande status de l'Agent][8] et cherchez `java` dans la section `Checks` pour vérifier que les logs sont bien transmis à Datadog. +3. [Redémarrez l'Agent][8]. +4. Exécutez la [sous-commande d'état de l'Agent][9] et recherchez `java` dans la section {{< ui >}}Checks{{< /ui >}} pour confirmer que les journaux sont correctement soumis à Datadog. -Si les logs sont au format JSON, Datadog [parse automatiquement les messages de log][9] pour extraire les attributs. Utilisez le [Log Explorer][10] pour visualiser et dépanner vos logs. +Si les journaux sont au format JSON, Datadog [analyse automatiquement les messages de journal][10] pour extraire les attributs des journaux. Utilisez le [Log Explorer][11] pour visualiser et dépanner vos journaux. -## Logging sans Agent +## Diffusez les journaux directement vers l'Agent {#stream-logs-directly-to-the-agent} -Dans le cas exceptionnel où votre application s'exécute sur une machine qui n'est pas accessible ou qui ne peut pas enregistrer les logs dans un fichier, il est possible de transmettre directement les logs à Datadog ou à l'Agent Datadog. Cette configuration n'est pas recommandée, car votre application doit alors gérer les problèmes de connexion. +Dans le cas exceptionnel où votre application s'exécute sur une machine qui ne peut pas être accessible ou qui ne peut pas enregistrer dans un fichier, il est possible de diffuser les journaux vers Datadog ou directement vers l'Agent Datadog. Ce n'est pas la configuration recommandée, car cela nécessite que votre application gère les problèmes de connexion. Pour transmettre vos logs directement à Datadog : -1. Ajoutez la bibliothèque de journalisation Logback à votre code ou **créez un pont entre votre logger actuel et Logback**. -2. **Configurez Logback** de façon à envoyer les logs à Datadog. +1. Ajoutez la bibliothèque de journalisation Logback à votre code, ou **reliez votre journaliseur actuel à Logback**. +2. **Configurez Logback** pour envoyer des journaux à Datadog. -### Créer un pont entre les bibliothèques de journalisation Java et Logback +### Reliez les bibliothèques de journalisation Java à Logback {#bridge-from-java-logging-libraries-to-logback} Si vous n'utilisez pas déjà Logback, la plupart des bibliothèques de journalisation courantes peuvent être reliées à Logback. {{< tabs >}} {{% tab "Log4j" %}} -Utilisez le module SLF4J [log4j-over-slf4j][1] avec Logback pour envoyer les logs vers un autre serveur. `log4j-over-slf4j` remplace directement Log4j dans votre application, ce qui fait qu'aucune modification du code n'est nécessaire. Pour l'utiliser : +Utilisez le module SLF4J [log4j-over-slf4j][1] avec Logback pour envoyer des journaux à un autre serveur. `log4j-over-slf4j` remplace proprement Log4j dans votre application afin que vous n'ayez pas à apporter de modifications au code. -1. Dans votre fichier `pom.xml`, remplacez la dépendance `log4j.jar` par une dépendance `log4j-over-slf4j.jar`, puis ajoutez les dépendances Logback : +1. Dans votre fichier `pom.xml`, remplacez la dépendance `log4j.jar` par une dépendance `log4j-over-slf4j.jar`, et ajoutez les dépendances Logback. Exemple : ```xml org.slf4j @@ -414,18 +473,18 @@ Utilisez le module SLF4J [log4j-over-slf4j][1] avec Logback pour envoyer les log ``` 2. Configurez Logback. -**Remarque** : suite à cette modification, les fichiers de configuration Log4j ne seront plus recueillis. Migrez votre fichier `log4j.properties` vers `logback.xml` avec le [convertisseur Log4j][2]. +**Remarque :** En raison de ce changement, les fichiers de configuration Log4j ne seront plus pris en compte. Migrez votre fichier `log4j.properties` vers `logback.xml` avec le [traducteur Log4j][2]. [1]: http://www.slf4j.org/legacy.html#log4j-over-slf4j [2]: http://logback.qos.ch/translator/ {{% /tab %}} -{{% tab "Log4j 2" %}} +{{% tab "Log4j 2" %}} -Log4j 2 permet la journalisation sur un host à distance, mais n'offre pas la possibilité d'ajouter une clé d'API en préfixe avant les logs. De ce fait, utilisez le module SLF4J [log4j-over-slf4j][1] avec Logback. `log4j-to-slf4j.jar` remplace directement Log4j 2 dans votre application, ce qui fait qu'aucune modification du code n'est nécessaire. Pour l'utiliser : +Log4j 2 permet de journaliser vers un hôte distant, mais il n'offre pas la possibilité de préfixer les journaux avec une clé API. Pour cette raison, utilisez le module SLF4J [log4j-over-slf4j][1] et Logback. `log4j-to-slf4j.jar` remplace proprement Log4j 2 dans votre application afin que vous n'ayez pas à apporter de modifications au code. Pour l'utiliser : -1. Dans votre fichier `pom.xml`, remplacez la dépendance `log4j.jar` par une dépendance `log4j-over-slf4j.jar`, puis ajoutez les dépendances Logback : +1. Dans votre fichier `pom.xml`, remplacez la dépendance `log4j.jar` par une dépendance `log4j-over-slf4j.jar`, et ajoutez les dépendances Logback. Exemple : ```xml org.apache.logging.log4j @@ -446,10 +505,10 @@ Log4j 2 permet la journalisation sur un host à distance, mais n'offre pas la p ``` 2. Configurez Logback. -**Remarques :** +**Remarques :** -- Vérifiez que `log4j-slf4j-impl.jar` n'est **pas** utilisé, comme expliqué à l'adresse suivante : https://logging.apache.org/log4j/log4j-2.2/log4j-to-slf4j/index.html -- Suite à cette migration, les fichiers de configuration Log4j 2 ne seront plus recueillis. Migrez votre fichier `log4j.properties` vers `logback.xml` avec le [convertisseur Log4j][2]. +- Assurez-vous que `log4j-slf4j-impl.jar` n'est **pas** utilisé comme décrit ici : https://logging.apache.org/log4j/log4j-2.2/log4j-to-slf4j/index.html +- En raison de cette migration, les fichiers de configuration Log4j 2 ne seront plus pris en compte. Migrez votre fichier `log4j.properties` vers `logback.xml` avec le [traducteur Log4j][2]. [1]: http://www.slf4j.org/legacy.html#log4j-over-slf4j [2]: http://logback.qos.ch/translator @@ -457,102 +516,77 @@ Log4j 2 permet la journalisation sur un host à distance, mais n'offre pas la p {{< /tabs >}} -### Configurer Logback - -Utilisez la bibliothèque de journalisation [logstash-logback-encoder][11] avec Logback pour envoyer directement vos logs à Datadog. - -1. Configurez un TCP appender dans votre fichier `logback.xml`. Votre clé d'API sera ainsi récupérée depuis la variable d'environnement `DD_API_KEY`. Vous pouvez également ajouter votre clé d'API directement dans le fichier de configuration : - - {{< site-region region="us,us3,us5,ap1" >}} - - ```xml - - - logs/app.log - - - - intake.logs.datadoghq.com:10516 - 20 seconds - - - - ${DD_API_KEY} %mdc{keyThatDoesNotExist} - - - - - - - - - - - - ``` - - {{< /site-region >}} - - {{< site-region region="eu" >}} - - ```xml - - - logs/app.log - - - - tcp-intake.logs.datadoghq.eu:443 - 20 seconds - - - - ${DD_API_KEY} %mdc{keyThatDoesNotExist} - - - - - - - - - - - - ``` - - {{< /site-region >}} - - {{< site-region region="gov" >}} - Non pris en charge. - {{< /site-region >}} - - **Remarque** : `%mdc{keyThatDoesNotExist}` est utilisé car la configuration XML supprime les espaces. Pour en savoir plus sur le paramètre de préfixe, consultez la [documentation Logback][12]. - -2. Ajoutez la dépendance d'encodeur Logstash dans votre fichier `pom.xml` : - - ```xml - - ch.qos.logback - logback-classic - 1.2.9 - - - net.logstash.logback - logstash-logback-encoder - 6.6 - - ``` - -## Concepts avancés +### Configurez Logback {#configure-logback} +Datadog ne prend pas en charge l'envoi de journaux directement via TCP vers l'entrée de Datadog. Au lieu de cela, configurez Logback vers votre Agent Datadog local, qui transmet ensuite les journaux à Datadog via HTTPS avec un enrichissement automatique. + +1. [Installez un Agent Datadog local][12] (v6+ / v7+). +1. Activez la collecte de journaux dans `datadog.yaml`, et assurez-vous que l'Agent transmet les journaux via HTTPS (HTTPS est le transport par défaut pour l'Agent v6.19+/v7.19+ et ultérieur) : + ``` + logs_enabled: true + logs_config: + # HTTPS is the default. Keep or set this to force HTTPS forwarding. + force_use_http: true + # (Optional) auto-detect multi-line patterns + auto_multi_line_detection: true + ``` + +1. Activez la collecte de journaux sur l'Agent. + ```yaml + # /etc/datadog-agent/conf.d/logback.d/conf.yaml + logs: + - type: tcp + port: 10518 # Port the Agent will listen on + service: my-java-app # Your service name (unified service tagging) + source: java # Or a more specific source, e.g., "logback" + ``` +1. Redémarrez l'Agent pour appliquer les modifications. +1. Configurez Logback pour envoyer les journaux à l'Agent. Utilisez l'[appender TCP logstash-logback-encoder][13] dans votre `logback.xml` pour transmettre les journaux à l'Agent : + ```xml + + + localhost:10518 + + + + + + { + "message": "%message", + "level": "%level", + "logger": "%logger", + "service": "${DD_SERVICE:-my-java-app}", + "env": "${DD_ENV:-prod}", + "version": "${DD_VERSION:-1.0.0}", + "dd.trace_id": "%X{dd.trace_id}", + "dd.span_id": "%X{dd.span_id}" + } + + + + + + + + + ``` + Ensuite, référencez-le dans votre logger racine : + ```xml + + + + ``` + +1. Vérifiez le transfert des journaux. Exécutez `datadog-agent status` pour confirmer votre écouteur TCP, et vérifiez l'Explorateur de journaux pour les entrées étiquetées avec votre service. + +## Pour aller plus loin {#getting-further} Enrichissez vos événements de log avec des attributs contextuels. -### Utilisation du parser key/value +### Utilisation du parseur de valeur clé {#using-the-key-value-parser} -Le [parser key/value][13] extrait n'importe quelle expression `=` identifiée dans un événement de log. +Le [parseur de valeur clé][14] extrait tout motif `=` reconnu dans tout événement de journal. -Pour enrichir vos événements de log dans Java, vous pouvez réécrire les messages dans votre code et y ajouter des séquences `=`. +Pour enrichir vos événements de journal en Java, vous pouvez réécrire des messages dans votre code et introduire des séquences `=`. Par exemple, si vous avez : @@ -566,7 +600,7 @@ Vous pouvez le remplacer par : logger.info("Emitted quantity=1001 messages during the last durationInMs=93180 ms for customer scope=prod30"); ``` -Lorsque le parser key/value est activé, chaque paire est extraite à partir du JSON : +Lorsque le parser key/value est activé, chaque paire est extraite du document JSON : ```json { @@ -577,11 +611,11 @@ Lorsque le parser key/value est activé, chaque paire est extraite à partir du } ``` -Vous pouvez donc utiliser *scope* en tant que champ, et *durationInMs* et *quantity* en tant que mesures de log. +Ainsi, vous pouvez exploiter *scope* comme un champ, et *durationInMs* et *quantity* comme mesures de journal. -### MDC +### MDC {#mdc} -Pour enrichir vos logs, vous pouvez également utiliser des [MDC (contextes de diagnostics mappés)][1]. +Une autre option pour enrichir vos journaux est d'utiliser les [Mapped Diagnostic Contexts (MDC)][2] de Java. Si vous utilisez SLF4J, exécutez le code Java suivant : @@ -592,7 +626,7 @@ logger.info("Emitted 1001 messages during the last 93 seconds"); ... ``` -Pour générer ce JSON : +Pour générer ce document JSON : ```json { @@ -601,23 +635,23 @@ Pour générer ce JSON : } ``` -**Remarque** : les MDC acceptent uniquement les chaînes de caractères. Vous ne devez donc pas les utiliser pour des métriques à valeur numérique. +**Remarque** : Les MDC n'acceptent que des types de chaîne, donc ne les utilisez pas pour des métriques de valeurs numériques. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[1]: http://logback.qos.ch/manual/mdc.html -[2]: /fr/logs/log_configuration/parsing -[3]: /fr/tracing/other_telemetry/connect_logs_and_traces/java/ -[4]: /fr/agent/logs/?tab=tailfiles#activate-log-collection -[5]: /fr/agent/logs/?tab=tailfiles#custom-log-collection -[6]: /fr/agent/configuration/agent-configuration-files/?tab=agentv6v7#agent-configuration-directory -[7]: /fr/agent/configuration/agent-commands/?tab=agentv6v7#restart-the-agent -[8]: /fr/agent/configuration/agent-commands/?tab=agentv6v7#agent-status-and-information] -[9]: /fr/logs/log_configuration/parsing/?tab=matchers -[10]: /fr/logs/explorer/#overview -[11]: https://github.com/logstash/logstash-logback-encoder -[12]: https://github.com/logstash/logstash-logback-encoder#prefixsuffixseparator -[13]: /fr/logs/log_configuration/parsing/#key-value-or-logfmt -[14]: /fr/glossary/#tail \ No newline at end of file +[1]: /fr/glossary/#tail +[2]: http://logback.qos.ch/manual/mdc.html +[3]: /fr/logs/log_configuration/parsing +[4]: /fr/tracing/other_telemetry/connect_logs_and_traces/java/ +[5]: /fr/agent/logs/?tab=tailfiles#activate-log-collection +[6]: /fr/agent/logs/?tab=tailfiles#custom-log-collection +[7]: /fr/agent/configuration/agent-configuration-files/?tab=agentv6v7#agent-configuration-directory +[8]: /fr/agent/configuration/agent-commands/?tab=agentv6v7#restart-the-agent +[9]: /fr/agent/configuration/agent-commands/?tab=agentv6v7#agent-status-and-information +[10]: /fr/logs/log_configuration/parsing/?tab=matchers +[11]: /fr/logs/explorer/#overview +[12]: /fr/agent/?tab=Host-based +[13]: https://github.com/logstash/logstash-logback-encoder +[14]: /fr/logs/log_configuration/parsing/#key-value-or-logfmt \ No newline at end of file diff --git a/content/fr/logs/log_configuration/archive_search.md b/content/fr/logs/log_configuration/archive_search.md new file mode 100644 index 00000000000..fc1a5d31e08 --- /dev/null +++ b/content/fr/logs/log_configuration/archive_search.md @@ -0,0 +1,236 @@ +--- +description: Recherchez et analysez instantanément les journaux des archives à long + terme sans réindexation. +further_reading: +- link: /logs/explorer/ + tag: Documentation + text: Explorez les journaux dans Datadog +- link: /logs/log_configuration/archives/ + tag: Documentation + text: Configurez les archives de journaux +- link: /logs/indexes/ + tag: Documentation + text: Gérez la conservation et l'indexation des journaux +title: Recherche d'archives +--- +## Aperçu {#overview} + +La recherche d'archives vous permet d'interroger les journaux directement à partir des archives de stockage d'objets à long terme, sans les réhydrater au préalable. Utilisez la recherche d'archives pour **un accès immédiat aux journaux archivés**, pour des enquêtes, des audits ou des dépannages au-delà de votre période de conservation d'indexation. + +La recherche d'archives diffère de la réhydratation en diffusant les résultats en temps réel pendant que les données sont analysées, plutôt qu'en s'exécutant comme un travail de lot en arrière-plan. C'est plus rentable, ne facturant que pour l'analyse elle-même avec les 100 000 premiers journaux conservés temporairement sans coût, et plus rapide. + +Lorsque vous lancez une recherche + +* Les journaux s'affichent sur une page de résultats dédiée. +* Jusqu'à **100 000 journaux** sont conservés pendant **24 heures**. +* Vous pouvez optionnellement **Réhydrater les résultats** avant ou après la recherche pour les conserver plus longtemps et les rendre disponibles dans tout Datadog. + +Cette fonctionnalité prend en charge les journaux archivés via + +- [Datadog Log Management archives][1] +- [Observability Pipelines archives][2] + +### Cas d'utilisation typiques {#typical-use-cases} + +La recherche d'archives est idéale lorsque vous devez interroger des journaux stockés dans une archive externe. +Les cas d'utilisation courants incluent : + +- **Investigations d'incidents :** Récupérez les journaux liés à un `transaction_id`, `user_id` ou `session_id` qui tombent en dehors de votre conservation d'indexation.
+ *Exemple : Interrogez les journaux d'il y a trois semaines en utilisant un `user_id` spécifique, même si votre conservation indexée n'est que de 15 jours.* + +- **Analyse de sécurité :** Examinez les journaux archivés pour enquêter sur les tentatives de connexion ou d'autres activités par IP ou utilisateur.
+ *Exemple : Récupérez toutes les tentatives de connexion d'une adresse IP spécifique au cours des 12 derniers mois.* + +- **Conformité et support d'audit :** Accédez aux journaux clients ou de facturation archivés pour des audits sans réindexer de manière permanente de grands volumes de données.
+ *Exemple : Interrogez les journaux liés aux factures (`customer_id:12345`, `service:billing`) des 18 derniers mois pour un audit fiscal.* + +## Prérequis {#prerequisites} + +Avant d'utiliser la recherche d'archives : + +1. Configurez une archive externe (Amazon S3, Azure Storage ou Google Cloud Storage). Voir [Log Archives][3]. +1. Assurez-vous que Datadog a la permission de lire depuis l'archive, voir [Permissions spécifiques au cloud](#cloud-specific-permissions). + * **Amazon S3 :** Délégation de rôle IAM + * **Azure Storage :** Azure AD avec le rôle *Contributeur de données de blob de stockage* + * **Google Cloud Storage :**Compte de service avec le rôle *Visualiseur d'objets de stockage* + +### Permissions {#permissions} + +Exécuter une **Archive Search** nécessite la **`logs_write_historical_views`** permission. C'est une **permission** globale, mais les utilisateurs ne peuvent rechercher des journaux dans les archives que pour lesquelles ils disposent également de la **Logs Read Archive** permission. + +Les résultats de la recherche d'archives sont visibles par tous les utilisateurs de votre organisation qui ont accès à la fonctionnalité de recherche d'archives. Cependant, **les requêtes de restriction**, telles que les filtres de sécurité des journaux et les restrictions de données configurées dans Datadog, sont toujours appliquées sur la page de résultats et s'appliquent à tous les utilisateurs. Cela signifie que chaque utilisateur ne peut voir que les journaux qu'il est autorisé à consulter en fonction des permissions et des filtres à l'échelle de l'organisation. + +Pour plus d'informations sur les contrôles d'accès et la sécurité des journaux, consultez [Comment configurer RBAC pour les journaux][6]. + +## Lancement d'une recherche {#launching-a-search} + +1. Allez à [{{< ui >}}Logs{{< /ui >}} > {{< ui >}}Archive Search{{< /ui >}} > {{< ui >}}New Search{{< /ui >}}][4]. +2. Sélectionnez une archive et une plage horaire. +3. Entrez une requête, comme `user_id:abc123`. +4. (Optionnel) Renommez la recherche. +5. Sous {{< ui >}}Mode{{< /ui >}}, choisissez le type de recherche que vous souhaitez effectuer. + - Choisissez {{< ui >}}Search{{< /ui >}} pour récupérer les résultats en temps réel, avec jusqu'à 100 000 journaux conservés pendant 24 heures. + - Choisissez {{< ui >}}Search & Rehydration{{< /ui >}} pour réhydrater les résultats pour un accès complet à la plateforme et une conservation personnalisée. +6. Cliquez sur {{< ui >}}Search{{< /ui >}}. + +Les journaux s'affichent sur la page des résultats en temps réel. Une barre de progression indique l'état de l'analyse, et vous pouvez annuler la recherche à tout moment. + +## Aperçu de la requête {#query-preview} + +Lorsque vous effectuez une recherche, Datadog télécharge un petit échantillon (jusqu'à 1 000 journaux) de l'archive et de la plage horaire sélectionnées. +Utilisez cet aperçu pour vérifier la syntaxe de la requête, inspecter la structure des journaux et ajuster les filtres. + +**Remarque** : L'échantillon d'aperçu peut ne pas inclure les journaux qui correspondent à votre requête. C'est uniquement pour validation et exploration. + +## Voir et conserver les résultats {#view-and-retain-results} + +Par défaut, vous êtes facturé uniquement pour l'analyse. Les 100 000 premiers journaux sont stockés temporairement (24 heures) sans frais et accessibles directement depuis la page des résultats de recherche d'archive, où vous pouvez cliquer sur n'importe quel journal pour voir ses détails complets et son contexte. Après 24 heures, les résultats expirent automatiquement. + +Pour conserver plus de données ou accéder aux journaux dans d'autres produits Datadog, choisissez l'une des options suivantes : + +- **Réhydratez avant le lancement** : + Conservez plus de 100 000 journaux, définissez une période de conservation personnalisée (par exemple, 7, 15 ou 30 jours) et accédez immédiatement aux résultats sur la plateforme. +- **Réhydratez après l'achèvement** : + Pendant la fenêtre de 24 heures, vous pouvez réhydrater les résultats pour prolonger la conservation et les rendre disponibles dans Log Explorer, Dashboards et Notebooks. + +## Analysez les résultats {#analyze-results} + +Après avoir lancé une recherche, les journaux s'affichent sur la page {{< ui >}}Archive Search Results{{< /ui >}}. Depuis cette page, vous pouvez utiliser des filtres pour affiner les résultats et ouvrir des détails spécifiques des journaux pour enquêter sur les problèmes. + +### Limitations {#limitations} + +Bien que la recherche d'archives donne accès aux journaux archivés, elle a des capacités analytiques limitées par rapport aux journaux indexés : + +- **Pas d'agrégations ni d'analyses** : Vous ne pouvez pas exécuter d'agrégations, créer des visualisations ou effectuer des analyses avancées directement sur les résultats de la recherche d'archives. +- **Page des résultats uniquement** : Les résultats de la recherche d'archives ne sont disponibles que sur la page des résultats dédiée et ne peuvent pas être interrogés depuis d'autres parties de la plateforme Datadog (comme Dashboards, Notebooks ou Log Explorer). + +Pour activer des analyses complètes et une visibilité sur l'ensemble de la plateforme, vous devez réhydrater les résultats de recherche (soit avant de lancer la recherche, soit après l'achèvement dans la fenêtre de 24 heures). Lorsque réhydratés, vos journaux deviennent disponibles dans tous les produits Datadog avec des capacités complètes d'agrégation, de visualisation et d'analytique. + +## Gérer les recherches {#manage-searches} + + + +Depuis le [{{< ui >}}Archive Search list view{{< /ui >}}][5], vous pouvez : + +- **Annuler** une recherche en cours : préserve les journaux déjà récupérés. +- **Dupliquer** une recherche : ouvre le formulaire de création de recherche d'archive avec les mêmes paramètres pour des relances efficaces. + +## Performance de recherche et optimisation {#search-performance-and-optimization} + +La recherche d'archive analyse les fichiers journaux archivés dans votre plage horaire sélectionnée. **Le volume de scan** fait référence à la taille totale des fichiers lus lors d'une requête. De grands volumes de scan peuvent augmenter à la fois le temps de recherche et les coûts de sortie dans le cloud. + +Pour optimiser la performance et réduire les coûts : +* **Réduisez la plage horaire :** Limitez votre recherche à la plus petite fenêtre possible. +* **Définir les limites de scan :** Les administrateurs avec `Logs Write Archives` des permissions peuvent définir une taille de scan maximale par archive dans le {{< ui >}}Settings{{< /ui >}}. +* **Utiliser les attributs de partition (Aperçu) :** La manière la plus efficace d'accélérer les recherches sur des données à faible cardinalité comme `service`, `env` ou `status`. Datadog ignore les partitions entières qui ne correspondent pas à votre requête. +* **Utiliser les attributs de recherche (Aperçu) :** La manière la plus efficace d'accélérer les recherches sur des données à haute cardinalité comme `trace_id` ou `user_id`. +* **Utiliser la compression zstd :** Les archives utilisent par défaut la compression zstd, ce qui réduit le volume de scan et les coûts de sortie dans le cloud par rapport à gzip. Si votre archive utilise gzip, consultez [Archives de journaux][9] pour passer à zstd. + +**Remarque** : Seuls les journaux archivés après la configuration des attributs de partition ou de recherche bénéficient des recherches accélérées. Les journaux archivés avant cette configuration ne sont pas affectés. + + +### Accélérez les recherches avec les attributs de partition {#accelerate-searches-with-partition-attributes} + +Vous pouvez configurer **les attributs de partition** sur vos archives pour regrouper les journaux par valeurs de champs à faible cardinalité au moment de l'écriture. Utilisez des attributs comme `service`, `source`, `env` ou `status`. + +Les journaux qui partagent les mêmes valeurs de partition sont co-localisés dans le stockage. Lorsque vous effectuez une recherche, Datadog évalue votre requête par rapport aux métadonnées de partition et ignore les partitions qui ne correspondent pas, réduisant ainsi le volume total de données analysées. + +Pour configurer cela, consultez la documentation sur les [Archives de journaux][8]. + +### Accélérez les recherches avec Lookup Attributes {#accelerate-searches-with-lookup-attributes} + +Vous pouvez configurer les **Lookup Attributes** sur vos archives pour ignorer les blocs de données non pertinents dans votre bucket de stockage. Par exemple, si vous configurez `trace_id` ou `user_id`, vous réduisez considérablement le volume de données analysées et diminuez les frais de transfert sortant de votre fournisseur de cloud. + +Pour configurer cela, consultez la documentation sur les [Archives de journaux][7]. + +### Attributs de partition vs. Attributs de recherche {#partition-vs-lookup-attributes} + +| | Partition | Lookup | +|---|---|---| +| Cardinalité | Faible (dizaines à centaines) | Élevée (millions de valeurs) | +| Attributs typiques | `service`, `source`, `env`, `status` | `trace_id`, `container_id`, `user_id`, `transaction_id` | +| Comment cela aide | Élimine des partitions entières de l'analyse | Identifie des entrées de journal individuelles | +| Mieux utilisé pour | Filtrage large par environnement/service | Investigations ad hoc sur des identifiants spécifiques | + +Pour des performances de recherche maximales, combinez les deux : les attributs de partition restreignent le champ de recherche aux segments de données pertinents, tandis que les Lookup attributes vous permettent de trouver instantanément des journaux spécifiques au sein de ces segments. + +### Limite par défaut pour la Réhydratation des résultats {#default-limit-for-rehydration-of-results} + +Les administrateurs ayant la `Logs Write Archives` permission peuvent configurer des contrôles par défaut pour garantir une utilisation efficace de {{< ui >}}Archive Search{{< /ui >}} au sein des équipes. Cliquez {{< ui >}}Settings{{< /ui >}} pour configurer : + +- {{< ui >}}Default Rehydration volume limit{{< /ui >}} : Définissez le nombre par défaut de journaux (en millions) pouvant être réhydratés par recherche d'archive en mode {{< ui >}}Search & Rehydration{{< /ui >}}. Si la limite est atteinte, la recherche d'archive s'arrête automatiquement, mais les journaux déjà réhydratés restent accessibles. Les administrateurs peuvent également autoriser que cette limite soit modifiée lors de la création d'une recherche d'archive. + +- {{< ui >}}Rehydration retention periods{{< /ui >}} : Choisissez quelles périodes de conservation sont disponibles lors de la réhydratation des résultats. Seules les durées sélectionnées (par exemple, 3, 7, 15, 30, 45, 60, 90 ou 180 jours) apparaissent dans le menu déroulant lors de la sélection de la durée pendant laquelle les journaux doivent rester recherchables dans Datadog. + +## Autorisations spécifiques au cloud {#cloud-specific-permissions} + +Datadog nécessite l'autorisation de lire vos archives pour rechercher du contenu à partir de celles-ci. Cette autorisation peut être modifiée à tout moment. + +{{< tabs >}} +{{% tab "Amazon S3" %}} + +Pour réhydrater les événements de journal à partir de vos archives, Datadog utilise le rôle IAM dans votre compte AWS que vous avez configuré pour [votre intégration AWS][1]. Si vous n'avez pas encore créé ce rôle, [suivez ces étapes pour le faire][2]. Pour permettre à ce rôle de réhydrater les événements de journal à partir de vos archives, ajoutez la déclaration d'autorisation suivante à ses politiques IAM. Assurez-vous de modifier les noms de bucket et, si vous le souhaitez, de spécifier les chemins contenant vos archives de journaux. + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "DatadogUploadAndRehydrateLogArchives", + "Effect": "Allow", + "Action": ["s3:PutObject", "s3:GetObject"], + "Resource": [ + "arn:aws:s3:::/*", + "arn:aws:s3:::/*" + ] + }, + { + "Sid": "DatadogRehydrateLogArchivesListBucket", + "Effect": "Allow", + "Action": "s3:ListBucket", + "Resource": [ + "arn:aws:s3:::", + "arn:aws:s3:::" + ] + } + ] +} +``` + +### Ajout de la délégation de rôle aux archives S3 {#adding-role-delegation-to-s3-archives} + +Datadog ne prend en charge que la recherche à partir d'archives qui ont été configurées pour utiliser la délégation de rôle afin d'accorder l'accès. Après avoir modifié votre rôle IAM Datadog pour inclure la politique IAM ci-dessus, assurez-vous que chaque archive dans votre [page de configuration des archives][3] a la bonne combinaison de compte AWS + rôle. + +[1]: https://app.datadoghq.com/account/settings#integrations/amazon-web-services +[2]: /fr/integrations/amazon-web-services/#aws-iam-permissions +[3]: https://app.datadoghq.com/logs/pipelines/archives +{{% /tab %}} + +{{% tab "Stockage Azure" %}} + +Datadog utilise un groupe Azure AD avec le rôle de contributeur de données de blob de stockage limité au compte de stockage de vos archives pour rechercher des événements de journal. Vous pouvez accorder ce rôle à votre compte de service Datadog depuis la page de contrôle d'accès (IAM) de votre compte de stockage en [attribuant le rôle de contributeur de données de blob de stockage à votre application d'intégration Datadog][1]. + +[1]: /fr/logs/archives/?tab=azurestorage#create-and-configure-a-storage-bucket +{{% /tab %}} + +{{% tab "Stockage Google Cloud" %}} + +Pour rechercher des événements de journal à partir de vos archives, Datadog utilise un compte de service avec le rôle de visualiseur d'objets de stockage. Vous pouvez accorder ce rôle à votre compte de service Datadog depuis la [page d'administration IAM de Google Cloud][1] en modifiant les autorisations du compte de service, en ajoutant un autre rôle, puis en sélectionnant {{< ui >}}Storage{{< /ui >}} > {{< ui >}}Storage Object Viewer{{< /ui >}}. + +[1]: https://console.cloud.google.com/iam-admin/iam +{{% /tab %}} +{{< /tabs >}} + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /fr/logs/log_configuration/archives/?tab=awss3 +[2]: /fr/observability_pipelines/destinations/datadog_archives/?tab=docker +[3]: /fr/logs/log_configuration/archives/?tab=awss3 +[4]: https://app.datadoghq.com/logs/archive-search/new +[5]: https://app.datadoghq.com/logs/archive-search/ +[6]: /fr/logs/guide/logs-rbac/?tab=ui#restrict-access-to-logs +[7]: /fr/logs/log_configuration/archives/?tab=awss3#archive-search-lookup-attribute +[8]: /fr/logs/log_configuration/archives/?tab=awss3#archive-search-partition-attribute +[9]: /fr/logs/log_configuration/archives/?tab=awss3#compression \ No newline at end of file diff --git a/content/fr/logs/log_configuration/attributes_naming_convention.md b/content/fr/logs/log_configuration/attributes_naming_convention.md index 6d03b4c661d..dcb904838d2 100644 --- a/content/fr/logs/log_configuration/attributes_naming_convention.md +++ b/content/fr/logs/log_configuration/attributes_naming_convention.md @@ -1,272 +1,113 @@ --- -title: Attributs et alias -description: Apprenez à utiliser les attributs et à appliquer une convention de nommage. aliases: - - /fr/logs/processing/attributes_naming_convention/ +- /fr/logs/processing/attributes_naming_convention/ +description: En savoir plus sur les attributs et comment prendre en charge une convention + de nommage further_reading: - - link: logs/log_configuration/pipelines - tag: Documentation - text: Découvrir les pipelines de Datadog - - link: logs/log_configuration/processors - tag: Documentation - text: Consulter la liste complète des processeurs disponibles - - link: logs/logging_without_limits - tag: Documentation - text: Logging without Limits™ - - link: logs/explorer - tag: Documentation - text: Apprendre à explorer vos logs +- link: logs/log_configuration/pipelines + tag: Documentation + text: Découvrir les pipelines de Datadog +- link: logs/log_configuration/processors + tag: Documentation + text: Consulter la liste complète des processeurs disponibles +- link: logs/logging_without_limits + tag: Documentation + text: Logging without limit +- link: logs/explorer + tag: Documentation + text: Apprendre à explorer vos logs +- link: https://www.datadoghq.com/blog/cidr-queries-datadog-log-management/ + tag: Blog + text: Utilisez des requêtes en notation CIDR pour filtrer vos journaux de trafic + réseau +title: Attributs et alias --- -## Présentation +## Aperçu {#overview} -La centralisation des logs issus de diverses technologies et applications a tendance à générer des dizaines voire des centaines d'attributs différents dans un environnement de Log Management. C'est notamment le cas lorsque de nombreuses équipes travaillent au sein d'un même environnement. +Centraliser les logs provenant de technologies et d'applications diverses peut générer des dizaines ou des centaines d'attributs différents dans un environnement Log Management, notamment lorsque plusieurs équipes travaillent dans le même environnement. -Par exemple, l'IP d'un client peut contenir divers attributs de logs : `clientIP`, `client_ip_address`, `remote_address`, `client.ip`, etc. Les attributs `exec_time`, `request_latency` ou encore `request.time_elapsed` peuvent désigner le délai d'exécution d'une requête. +Par exemple, une adresse IP client peut avoir divers attributs de journal, tels que `clientIP`, `client_ip_address`, `remote_address`, `client.ip`, etc. Le temps d'exécution d'une requête peut être désigné par `exec_time`, `request_latency`, `request.time_elapsed`, etc. -Utilisez les **attributs** et les **alias** afin d'unifier votre environnement de logs. +Utilisez les **attributs** et l'**aliasing** pour unifier votre environnement de journaux. -## Types d'attributs et alias +## Types d'attributs et aliasing {#attribute-types-and-aliasing} Les attributs déterminent les [facettes des logs][1] et les [tags][2], qui servent à filtrer le Log Explorer et à y effectuer des recherches. - * Les [**attributs réservés**](#attributs-reserves) sont automatiquement ingérés. + * [**Les attributs réservés**](#reserved-attributes) sont automatiquement ingérés. - * Les [**attributs standard**](#attributs-standard) constituent la base de la convention de nommage de votre organisation. Un ensemble d'attributs standard par défaut est disponible dans [l'app][3]. Néanmoins, cette liste peut être personnalisée afin de créer une **convention de nommage** pour votre équipe. + * [**Les attributs standards**](#standard-attributes) sont la colonne vertébrale de la convention de nommage pour votre organisation. Il existe un ensemble par défaut d'attributs standards disponibles dans [l'application][3]. Cependant, cette liste peut être personnalisée pour créer une **convention de nommage** pour votre équipe. - * Vous pouvez utiliser des [**alias**](#alias) après avoir implémenté une convention de nommage avec des attributs standard, ou encore pour créer une facette standard unique provenant de plusieurs sources de logs. Il est par exemple possible de surveiller les clients qui souffrent le plus de latence dans une infrastructure hybride basée sur [Apache][4] et [Amazon Cloud Front][5] à l'aide de la facette standard `Network Client IP` et de la `duration` standard. Les alias permettent d'implémenter une convention de nommage sans avoir à modifier la pile technique d'une équipe. + Utilisez * l'aliasing**](#aliasing) une fois que vous avez mis en œuvre une convention de nommage avec des attributs standards ou si vous essayez de créer une facette standard unique à partir de plusieurs sources de journaux. Par exemple, suivez les clients les plus impactés par les latences sur une infrastructure hybride [Apache][4] et [Amazon Cloud Front][5], en utilisant la facette standard `Network Client IP` aux côtés du standard `duration`. L'aliasing permet de mettre en œuvre une convention de nommage sans avoir à changer la pile technique d'une équipe. -## Attributs réservés +## Attributs réservés {#reserved-attributes} -Vous trouverez ci-dessous la liste des attributs réservés qui sont automatiquement ingérés avec les logs : +Voici une liste d'attributs réservés qui sont automatiquement ingérés avec les journaux. -**Remarque** : si vous recueillez également des traces ou des métriques, nous vous conseillons de configurer le tagging de service unifié. Cette configuration lie entre elles les données de télémétrie de Datadog à l'aide de trois tags standard : `env`, `service` et `version`. Consultez la [documentation dédiée][6] pour en savoir plus. +**Remarque** : Si vous collectez également des traces ou des métriques, il est recommandé de configurer le balisage de service unifié. Cette configuration relie la télémétrie Datadog grâce à l'utilisation de trois balises standard : `env`, `service` et `version`. Consultez la documentation dédiée au [balisage de service unifié][6] pour plus d'informations. | Attribut | Description | |-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `host` | Le nom du host d'origine, tel que défini dans les métriques. Nous récupérons automatiquement les tags de host correspondants à partir du host associé dans Datadog. Nous les appliquons ensuite à vos logs. L'Agent définit automatiquement cette valeur. | -| `source` | Cet attribut correspond au nom de l'intégration, à savoir la technologie à l'origine du log. Lorsqu'il a pour valeur le nom d'une intégration, Datadog installe automatiquement les parsers et les facettes correspondants. Par exemple : `nginx`, `postgresql`, etc. | -| `status` | Cet attribut correspond au niveau ou à la gravité d'un log. Il est utilisé pour définir des [patterns][7] et possède une disposition dédiée dans l'interface de log Datadog. | -| `service` | Le nom de l'application ou du service qui génère les événements de log. Il est utilisé pour passer des logs à l'APM. Assurez-vous donc de définir la même valeur lorsque vous utilisez les deux produits. | -| `trace_id` | Cet attribut correspond à l'ID de la trace. Il sert à [mettre en corrélation votre log avec sa trace][8]. | -| `message` | Par défaut, Datadog ingère la valeur de l'attribut `message` en la considérant comme le corps de l'entrée de log. Cette valeur est alors mise en avant et affichée sur la page Live Tail. Elle est également indexée afin de pouvoir effectuer des recherches en texte intégral. | - -## Attributs standard - -Les intégrations de logs reposent nativement sur un [ensemble](#liste-d-attributs-standard-par-defaut) d'attributs standard fourni par défaut. - -Les administrateurs de votre organisation peuvent ajuster la liste des attributs standard : - -- **Transformez** des attributs existants en attributs standard depuis la vue [Log Explorer][1]. -- **Créez** des attributs standard depuis la [page de configuration][3]. - -{{< img src="logs/processing/attribute_naming_convention/standard_attribute_config.png" alt="Attributs standard" style="width:60%;">}} - -Le tableau des attributs standard est doté d'un ensemble d'[attributs standard prédéfinis](#liste-des-attributs-standard-par-defaut). Vous pouvez ajouter vos propres attributs à cette liste et modifier ou supprimer des attributs standard existants : - -{{< img src="logs/processing/attribute_naming_convention/edit_standard_attributes.png" alt="Modifier les attributs standard" style="width:80%;">}} - -Un attribut standard est défini par les éléments suivants : - -- `Path` : le chemin de l'attribut **transformé** en attribut standard, tel qu'il apparaît dans votre fichier JSON (p. ex., `network.client.ip`). -- `Type` (`string`, `integer`, `double`, `boolean`) : le type de l'attribut utilisé pour convertir les éléments de la liste de remappage. -- `Aliasing list` : la liste des attributs pour lesquels un **alias** est créé, séparés par des virgules. -- `Description` : la description lisible de l'attribut. - -Le volet des attributs standard s'affiche lorsque vous ajoutez un nouvel attribut standard ou que vous modifiez un attribut existant : - -{{< img src="logs/processing/attribute_naming_convention/define_standard_attribute.png" alt="Définir un attribut standard" style="width:80%;">}} - -### Liste des attributs standard par défaut - -La liste des attributs standard par défaut comporte plusieurs catégories fonctionnelles : - -- [Réseau/communications](#reseau) -- [Requêtes HTTP](#requetes-http) -- [Code source](#code-source) -- [Base de données](#base-de-donnees) -- [Performances](#performances) -- [Attributs associés à l'utilisateur](#attributs-associes-a-l-utilisateur) -- [Syslog shippers et log shippers](#syslog-shippers-et-log-shippers) -- [DNS](#dns) - -#### Réseau - -Les attributs suivants sont liés aux données de communication réseau. Tous les champs et toutes les métriques sont précédés par `network`. - -| **Nom complet** | **Type** | **Description** | -| :------------------------- | :------- | :--------------------------------------------------------------------------------------- | -| `network.client.ip` | `string` | L'adresse IP du client à l'origine de la connexion TCP. | -| `network.destination.ip` | `string` | L'adresse IP à laquelle le client est connecté. | -| `network.client.port` | `number` | Le port du client à l'origine de la connexion. | -| `network.destination.port` | `number` | Le port TCP auquel le client s'est connecté. | -| `network.bytes_read` | `number` | Le nombre total d'octets transmis depuis le client vers le serveur lorsque le log est envoyé. | -| `network.bytes_written` | `number` | Le nombre total d'octets transmis depuis le serveur vers le client lorsque le log est envoyé. | - -Des intégrations comme [Apache][4], [Varnish][9], [AWS ELB][10], [Nginx][11] ou encore [HAProxy][12] reposent sur ces attributs. - -#### Géolocalisation - -Les attributs suivants sont liés à la géolocalisation des adresses IP utilisées dans les communications réseau. Tous les champs sont précédés par `network.client.geoip` ou `network.destination.geoip`. - -| **Nom complet** | **Type** | **Description** | -| :------------------------------------------ | :------- | :----------------------------------------------------------------------------------------------------------------------------------- | -| `network.client.geoip.country.name` | `string` | Le nom du pays. | -| `network.client.geoip.country.iso_code` | `string` | [Code ISO][6] du pays (par exemple : `US` pour les États-Unis, `FR` pour la France) | -| `network.client.geoip.continent.code` | `string` | Code ISO du continent (`EU`, `AS`, `NA`, `AF`, `AN`, `SA`, `OC`) | -| `network.client.geoip.continent.name` | `string` | Nom du continent (`Europe`, `Australia`, `North America`, `Africa`, `Antartica`, `South America`, `Oceania`) | -| `network.client.geoip.subdivision.name` | `string` | Nom du premier niveau de division du pays (par exemple : `California` aux États-Unis ou le département de la `Sarthe` en France) | -| `network.client.geoip.subdivision.iso_code` | `string` | [Code ISO][6] du premier niveau de division du pays (par exemple : `CA` aux États-Unis ou le département `SA` en France) | -| `network.client.geoip.city.name` | `String` | Le nom de la ville (par exemple : `Paris`, `New York`) | - -#### Requêtes HTTP - -Ces attributs sont liés aux données couramment utilisées dans les accès et requêtes HTTP. Tous les attributs sont précédés par `http`. - -Des intégrations comme [Apache][4], Rails, [AWS CloudFront][10] ou encore des serveurs d'application Web reposent sur ces attributs. - -##### Attributs courants - -| **Nom complet** | **Type** | **Description** | -| :----------------- | :------- | :-------------------------------------------------------------------------------------------------------- | -| `http.url` | `string` | L'URL de la requête HTTP. | -| `http.status_code` | `number` | Le code de statut de la réponse HTTP. | -| `http.method` | `string` | Indique l'action à effectuer pour une ressource donnée. | -| `http.referer` | `string` | Le champ d'en-tête HTTP qui identifie l'adresse de la page Web liée à la ressource demandée. | -| `http.request_id` | `string` | L'ID de la requête HTTP. | -| `http.useragent` | `string` | Le user-agent tel qu'il est envoyé (format brut). [Consultez les informations ci-dessous pour en savoir plus](#attributs-user-agent). | -| `http.version` | `string` | La version HTTP utilisée pour la requête. | - -##### Attributs liés aux détails de l'URL - -Ces attributs fournissent des informations sur les éléments parsés de l'URL HTTP. Ils sont généralement générés à l'aide du [parser d'URL][13]. Tous les attributs sont précédés par `http.url_details`. - -| **Nom complet** | **Type** | **Description** | -| :----------------------------- | :------- | :-------------------------------------------------------------------------------------- | -| `http.url_details.host` | `string` | La partie de l'URL correspondant au host HTTP. | -| `http.url_details.port` | `number` | La partie de l'URL correspondant au port HTTP. | -| `http.url_details.path` | `string` | La partie de l'URL correspondant au chemin HTTP. | -| `http.url_details.queryString` | `object` | Les parties de l'URL correspondant à la chaîne de requête HTTP, décomposées en attributs key/value de paramètres de requête. | -| `http.url_details.scheme` | `string` | Le nom du protocole de l'URL (HTTP ou HTTPS). | - -##### Attributs user-agent - -Ces attributs fournissent des informations sur la signification des attributs user-agent. Ils sont généralement générés à l'aide du [parser de user-agent][14]. Tous les attributs sont précédés par `http.useragent_details`. - -| **Nom complet** | **Type** | **Description** | -| :-------------------------------------- | :------- | :--------------------------------------------- | -| `http.useragent_details.os.family` | `string` | La famille du système d'exploitation indiquée par le user-agent. | -| `http.useragent_details.browser.family` | `string` | La famille de navigateurs indiquée par le user-agent. | -| `http.useragent_details.device.family` | `string` | La famille d'appareils indiquée par le user-agent. | - -#### Code source - -Ces attributs sont liés aux données utilisées lorsqu'un log ou une erreur est généré(e) via un logger dans une application personnalisée. Tous les attributs sont précédés par `logger` ou `error`. - -| **Nom complet** | **Type** | **Description** | -| :------------------- | :------- | :--------------------------------------------------------------- | -| `logger.name` | `string` | Le nom du logger. | -| `logger.thread_name` | `string` | Le nom du thread actuel lorsque le log est envoyé. | -| `logger.method_name` | `string` | Le nom de la méthode de la classe. | -| `logger.version` | `string` | La version du logger. | -| `error.kind` | `string` | Le type ou la catégorie d'erreur (ou le code dans certains cas). | -| `error.message` | `string` | Un message d'une ligne lisible et concis décrivant l'événement. | -| `error.stack` | `string` | La stack trace ou les informations complémentaires relatives à l'erreur. | - -Des intégrations comme _Java_, _NodeJs_, _.NET_, _Golang_ ou encore _Python_ reposent sur ces attributs. - -#### Base de données - -Les attributs liés à une base de données sont précédés par `db`. - -| **Nom complet** | **Type** | **Description** | -| :------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------ | -| `db.instance` | `string` | Nom de l'instance de la base de données. Par exemple, dans Java, pour `jdbc.url="jdbc:mysql://127.0.0.1:3306/customers"`, le nom de l'instance est `customers`. | -| `db.statement` | `string` | Une déclaration de base de données pour le type de base de données fourni. Par exemple, `"SELECT * FROM wuser_table";` pour mySQL et `"SET mykey 'WuValue'"` pour Redis. | -| `db.operation` | `string` | L'opération effectuée (« query », « update », « delete », etc.). | -| `db.user` | `string` | L'utilisateur à l'origine de l'opération. | - -Des intégrations comme [Cassandra][15], [MySQL][16], [RDS][17] ou encore [Elasticsearch][18] reposent sur ces attributs. - -#### Performances - -Attributs des métriques de performance. - -| **Nom complet** | **Type** | **Description** | -| :----------- | :------- | :------------------------------------------------------------------------------------------------ | -| `duration` | `number` | Toute durée en **nanosecondes** : le délai de réponse HTTP, le délai d'interrogation d'une base de données, la latence, etc. | - -Étant donné que cet attribut est affiché et utilisé comme [mesure][1] par défaut pour la [recherche de traces][20], nous vous conseillons de [remapper][19] toutes les durées de vos logs sur cet attribut. - -#### Attributs associés à l'utilisateur - -Tous les attributs et toutes les mesures sont précédés par `usr`. - -| **Nom complet** | **Type** | **Description** | -| :----------- | :------- | :---------------------- | -| `usr.id` | `string` | L'identifiant de l'utilisateur. | -| `usr.name` | `string` | Le nom courant de l'utilisateur. | -| `usr.email` | `string` | L'adresse e-mail de l'utilisateur. | - -#### Syslog shippers et log shippers - -Ces attributs sont liés aux données ajoutées par un Agent syslog-shipper ou log-shipper. Tous les champs et toutes les métriques sont précédés par `syslog`. - -| **Nom complet** | **Type** | **Description** | -| :----------------- | :------- | :---------------------------------------------------------------------------- | -| `syslog.hostname` | `string` | Le hostname. | -| `syslog.appname` | `string` | Le nom de l'application. Généralement remappé vers l'attribut réservé `service`. | -| `syslog.severity` | `number` | La gravité du log. Généralement remappée vers l'attribut réservé `status`. | -| `syslog.timestamp` | `string` | Le timestamp du log. Généralement remappé vers l'attribut réservé `date`. | -| `syslog.env` | `string` | Le nom de l'environnement d'où provient la source des logs. | - -Des intégrations comme [Rsyslog][21], [NxLog][22], [Syslog-ng][23], [Fluentd][24] et [Logstash][25] reposent sur ces attributs. - -#### DNS - -Tous les attributs et toutes les mesures sont précédés par `dns`. - -| **Nom complet** | **Type** | **Description** | -| :------------------- | :------- | :------------------------------------------------------------------------ | -| `dns.id` | `string` | L'identificateur de la question DNS. | -| `dns.question.name` | `string` | Le nom de domaine interrogé. | -| `dns.question.type` | `string` | Un [code de deux octets][26] spécifiant le type de question DNS. | -| `dns.question.class` | `string` | La classe recherchée par la question DNS (par exemple, IP lorsque vous utilisez Internet). | -| `dns.question.size` | `number` | La taille de la question DNS en octets. | -| `dns.answer.name` | `string` | L'adresse IP avec laquelle le DNS répond. | -| `dns.answer.type` | `string` | Un [code de deux octets][26] spécifiant le type de réponse DNS. | -| `dns.answer.class` | `string` | La classe correspondant à la réponse du DNS. | -| `dns.answer.size` | `number` | La taille de la réponse du DNS en octets. | -| `dns.flags.rcode` | `string` | Le code de réponse du DNS. | - -#### Événements - -Tous les attributs sont précédés par `evt`. - -| **Nom complet** | **Type** | **Description** | -|:--------------|:---------|:-------------------------------------------------------------------------------------| -| `evt.name` | `string` | Le nom partagé entre les événements générés par une même activité (par exemple, authentification). | -| `evt.outcome` | `string` | Le résultat de l'événement (par exemple, `success`, `failure`). | - -## Alias +| `host` | Le nom de l'hôte d'origine tel que défini dans les métriques. Datadog récupère automatiquement les balises d'hôte correspondantes de l'hôte correspondant dans Datadog et les applique à vos journaux. L'Agent définit cette valeur automatiquement. | +| `source` | Cela correspond au nom de l'intégration, à la technologie dont le journal est issu. Lorsqu'il correspond à un nom d'intégration, Datadog installe automatiquement les parseurs et facettes correspondants. Par exemple, `nginx`, `postgresql`, etc. | +| `status` | Cela correspond au niveau/sévérité d'un journal. Il est utilisé pour définir [des modèles][7] et a une mise en page dédiée dans l'interface utilisateur des journaux Datadog. | +| `service` | Le nom de l'application ou du service générant les événements de journal. Il est utilisé pour passer des journaux à l'APM, donc assurez-vous de définir la même valeur lorsque vous utilisez les deux produits. | +| `trace_id` | Cela correspond à l'ID de trace utilisé pour les traces. Il est utilisé pour [corréler votre journal avec sa trace][8]. | +| `message` | Par défaut, Datadog ingère la valeur de l'attribut `message` comme le corps de l'entrée de journal. Cette valeur est ensuite mise en surbrillance et affichée dans Live Tail, où elle est indexée pour une recherche en texte intégral. | + +## Attributs standard {#standard-attributes} + +Les intégrations de journaux s'appuient nativement sur un [ensemble par défaut][9] d'attributs standard. + +Le tableau des attributs standard est accompagné d'un ensemble de [attributs standard prédéfinis](#default-standard-attribute-list). Vous pouvez compléter cette liste avec vos propres attributs et modifier ou supprimer les attributs standard existants. + +### Créer un nouvel attribut standard {#create-a-new-standard-attribute} +**Les utilisateurs administrateurs** peuvent organiser la liste des attributs standard : +1. Accédez à la [page de configuration des attributs standard][3]. +1. Cliquez {{< ui >}}New Standard Attribute{{< /ui >}}. +1. Définissez l'attribut standard : + - {{< ui >}}Path{{< /ui >}} : Le chemin des attributs standard tel que vous le trouveriez dans votre JSON (par exemple, network.client.ip). + - {{< ui >}}Type{{< /ui >}} : (`string`, `integer`, `double`, `boolean`) : Le type de l'attribut, qui est utilisé pour caster les éléments de la liste de remappage. + - {{< ui >}}Description{{< /ui >}} : Description compréhensible par l'utilisateur de l'attribut. + - (optionnel) {{< ui >}}Remapping list{{< /ui >}} : Liste séparée par des virgules des attributs non conformes qui doivent être remappés à l'attribut standard. + +### Liste d'attributs standard par défaut {#default-standard-attribute-list} + +Voir la liste complète des [attributs standards par défaut de gestion des logs][9], qui est divisée en domaines fonctionnels : + +| Attribut Standard | Description | +|----------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [Réseau/communications][10] | Ces attributs sont liés aux données utilisées dans la communication réseau. Tous les champs et métriques sont préfixés par `network`. | +| [Géolocalisation][11] | Ces attributs sont liés à la géolocalisation des adresses IP utilisées dans la communication réseau. Tous les champs sont préfixés par `network.client.geoip` ou `network.destination.geoip`. | +| [Requêtes HTTP][12] | Ces attributs sont liés aux données couramment utilisées dans les requêtes et accès HTTP. Tous les attributs sont préfixés par `http`. Les intégrations typiques reposant sur ces attributs incluent [Apache][4], Rails, [AWS CloudFront][13], serveurs d'applications web, etc. Les attributs de détails d'URL sont préfixés par `http.url_details`. Ces attributs fournissent des détails sur les parties analysées de l'URL HTTP. Ils sont générés par le [parseur d'URL][14]. | +| [Code source][15] | Ces attributs sont liés aux données utilisées lorsqu'un log ou une erreur est généré à l'aide d'un logger dans une application personnalisée. Tous les attributs sont préfixés soit par `logger` soit par `error`. Les intégrations typiques reposant sur ces attributs incluent Java, Node.js, .NET, Golang, Python, etc. | +| [Base de données][16] | Les intégrations typiques reposant sur ces attributs incluent [Cassandra][17], [MySQL][18], [RDS][19], [Elasticsearch][20], etc. | +| [Performance][21] | Ces attributs sont liés aux métriques de performance. Datadog recommande de [remapper][22] toutes les durées dans vos journaux sur cet attribut car elles sont affichées et utilisées comme une [mesure][1] par défaut pour [la recherche de traces][23]. | +| [Attributs liés à l'utilisateur][24] | Tous les attributs et mesures sont préfixés par `usr`. | +| [Syslog et expéditeurs de journaux][25] | Ces attributs sont liés aux données ajoutées par un agent syslog ou un expéditeur de journaux. Tous les champs et métriques sont préfixés par `syslog`. Les intégrations qui en dépendent incluent [Rsyslog][26], [NxLog][27], [Syslog-ng][28], [Fluentd][29], et [Logstash][30]. | +| [DNS][31] | Tous les attributs et mesures sont préfixés par `dns`. | +| [Événements][32] | Tous les attributs sont préfixés par `evt`. | + +## Aliasing {#aliasing} La création d'un alias pour un attribut source mappé avec un attribut cible permet aux logs de transmettre à la fois l'attribut source et cible. -Les utilisateurs peuvent interagir avec l'attribut à facette avec alias (l'attribut source) ou standard (l'attribut cible). Les utilisateurs sont cependant [invités][27] à utiliser la facette standard plutôt que celle avec un alias. Cela les incite à respecter la convention de nommage et réduit la création de ressources (comme des vues enregistrées ou des dashboards) à partir de contenu atypique. +Les utilisateurs peuvent interagir soit avec l'attribut facetté aliasé (source), soit avec l'attribut facetté standard (destination). Cependant, les utilisateurs sont [encouragés][33] à utiliser la facette standard plutôt que la facette aliasée. Cela fournit des indications sur la convention de nommage et décourage les utilisateurs de créer des actifs (tels que des vues enregistrées ou des tableaux de bord) basés sur un contenu non standard. -Voici quelques **informations supplémentaires concernant l'utilisation d'alias** : +**Détails supplémentaires concernant l'aliasing** : -- L'application d'alias s'effectue après le traitement des logs par les pipelines. Tout attribut extrait ou traité peut être utilisé comme source pour un alias. -- Datadog applique le type d'attribut avec un alias. Si ce n'est pas possible, l'alias n'est pas créé. -- Lorsqu'un log transmet déjà l'attribut cible, l'alias écrase la valeur. -- Lorsque plusieurs attributs possèdent un alias vers un attribut standard, si le log transmet plusieurs de ces attributs source, un alias n'est appliqué qu'à un seul des attributs source. -- Il est uniquement possible de modifier ou d'ajouter des informations pour un attribut standard d'un log récemment ingéré. -- Il est impossible d'appliquer un alias à un attribut standard. -- Un alias peut uniquement être créé vers un attribut standard. -- Pour respecter la structure JSON des logs, il n'est pas possible qu'un attribut standard soit l'enfant d'un autre (par exemple, `user` et `user.name` ne peuvent pas être tous les deux des attributs standard). +- L'aliasing se produit après que les journaux ont été traités par des pipelines. Tout attribut extrait ou traité peut être utilisé comme source pour l'aliasing. +- Datadog impose le type d'un attribut sous alias. Si cela n'est pas possible, l'aliasing est ignoré. +- Dans le cas d'un journal qui porte déjà l'attribut de destination, l'aliasing remplace la valeur de ce journal. +- Pour un attribut standard auquel plusieurs attributs sont aliasés, si un journal porte plusieurs de ces attributs source, un seul de ces attributs source est aliasé. +- Toute mise à jour ou ajout d'attributs standard ne s'applique qu'aux journaux nouvellement ingérés. +- Les attributs standard ne peuvent pas être aliasés. +- Les attributs ne peuvent être aliasés qu'à des attributs standard. +- Pour respecter la structure JSON des journaux, il n'est pas possible d'avoir un attribut standard comme enfant d'un autre (par exemple, `user` et `user.name` ne peuvent pas être tous deux des attributs standard). -Consultez la [documentation à ce sujet][28] pour en savoir plus. +Voir [Alias Facets][34] pour des informations supplémentaires. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -277,24 +118,30 @@ Consultez la [documentation à ce sujet][28] pour en savoir plus. [5]: /fr/integrations/amazon_cloudfront/ [6]: /fr/getting_started/tagging/unified_service_tagging/ [7]: /fr/logs/explorer/patterns/ -[8]: /fr/tracing/connect_logs_and_traces/ -[9]: /fr/integrations/varnish/ -[10]: /fr/integrations/amazon_elb/ -[11]: /fr/integrations/nginx/ -[12]: /fr/integrations/haproxy/ -[13]: /fr/logs/log_configuration/processors/#url-parser -[14]: /fr/logs/log_configuration/processors/#user-agent-parser -[15]: /fr/integrations/cassandra/ -[16]: /fr/integrations/mysql/ -[17]: /fr/integrations/amazon_rds/ -[18]: /fr/integrations/elastic/ -[19]: /fr/logs/log_configuration/processors/#remapper -[20]: /fr/tracing/app_analytics/search/ -[21]: /fr/integrations/rsyslog/ -[22]: /fr/integrations/nxlog/ -[23]: /fr/integrations/syslog_ng/ -[24]: /fr/integrations/fluentd/ -[25]: /fr/integrations/logstash/ -[26]: https://en.wikipedia.org/wiki/List_of_DNS_record_types -[27]: /fr/logs/explorer/facets/#aliased-facets -[28]: /fr/logs/explorer/facets/#alias-facets \ No newline at end of file +[8]: /fr/tracing/other_telemetry/connect_logs_and_traces/ +[9]: /fr/standard-attributes/?product=log+management +[10]: /fr/standard-attributes/?product=log+management&search=network +[11]: /fr/standard-attributes/?product=log+management&search=geolocation +[12]: /fr/standard-attributes/?search=http.&product=log+management +[13]: /fr/integrations/amazon_elb/ +[14]: /fr/logs/log_configuration/processors/url_parser/ +[15]: /fr/standard-attributes/?search=logger+error&product=log+management +[16]: /fr/standard-attributes/?search=db&product=log+management +[17]: /fr/integrations/cassandra/ +[18]: /fr/integrations/mysql/ +[19]: /fr/integrations/amazon_rds/ +[20]: /fr/integrations/elastic/ +[21]: /fr/standard-attributes/?search=duration&product=log+management +[22]: /fr/logs/log_configuration/processors/remapper/ +[23]: /fr/tracing/app_analytics/search/ +[24]: /fr/standard-attributes/?search=usr&product=log+management +[25]: /fr/standard-attributes/?search=syslog&product=log+management +[26]: /fr/integrations/rsyslog/ +[27]: /fr/integrations/nxlog/ +[28]: /fr/integrations/syslog_ng/ +[29]: /fr/integrations/fluentd/ +[30]: /fr/integrations/logstash/ +[31]: /fr/standard-attributes/?search=dns&product=log+management +[32]: /fr/standard-attributes/?search=evt&product=log+management +[33]: /fr/logs/explorer/facets/#aliased-facets +[34]: /fr/logs/explorer/facets/#alias-facets \ No newline at end of file diff --git a/content/fr/mobile/_index.md b/content/fr/mobile/_index.md new file mode 100644 index 00000000000..989a9f86cce --- /dev/null +++ b/content/fr/mobile/_index.md @@ -0,0 +1,369 @@ +--- +algolia: + tags: + - Datadog mobile app + - mobile device +aliases: +- /fr/service_management/mobile/ +description: Surveillez votre infrastructure en déplacement avec l'application mobile + Datadog pour iOS et Android, qui propose des tableaux de bord, des alertes, des + incidents et une gestion des astreintes. +further_reading: +- link: /mobile/shortcut_configurations/ + tag: Documentation + text: Configurations de raccourcis +- link: /monitors/ + tag: Documentation + text: Découvrez les Moniteurs et les Alertes +- link: /dashboards/ + tag: Documentation + text: En savoir plus sur les dashboards +- link: https://www.datadoghq.com/blog/datadog-mobile-widgets/ + tag: Blog + text: Gagnez en flexibilité grâce aux widgets de dashboards mobiles Datadog +- link: https://www.datadoghq.com/blog/mobile-app-getting-started/ + tag: Blog + text: Premiers pas avec l'application mobile Datadog +- link: https://www.datadoghq.com/blog/mobile-app-reduce-mttr/ + tag: Blog + text: Réduisez votre temps moyen de réparation avec l'application mobile Datadog +- link: https://www.datadoghq.com/blog/designing-on-call-sounds + tag: Blog + text: Comment nous avons conçu des sons d'alerte empathiques pour les ingénieurs + d'astreinte +title: Application mobile Datadog +--- +L'application mobile Datadog vous permet de consulter les alertes de Datadog sur votre appareil mobile. Lors de la réception d'une alerte via On-Call, Slack ou email, vous pouvez enquêter sur les problèmes en ouvrant des graphiques de moniteur et des tableaux de bord sur votre appareil mobile. + +## Installation {#installing} + +Téléchargez l'application depuis l'[App Store Apple][1] pour votre appareil iOS ou depuis [Google Play][2] pour votre appareil Android. + +### Connexion {#logging-in} + +Vous pouvez vous connecter à l'aide de l'authentification standard, de l'authentification Google ou du protocole [SAML][3], que ce soit sur le site américain ou sur le site européen. + +#### Activation de SAML {#enabling-saml} + +La connexion SAML nécessite que vous configuriez et authentifiiez votre fournisseur SAML avec Datadog en utilisant votre navigateur iOS/Android par défaut. Pour la connexion SAML initiée par l'IdP, reportez-vous à la fin de cette section. Pour authentifier SAML : + +1. Dans l'application mobile, sélectionnez votre région de centre de données (par exemple, US1) dans le coin supérieur droit. +2. Appuyez sur le bouton de connexion. +3. Cliquez sur "Utiliser l'authentification unique (SAML) ?" lien. +4. Entrez votre email professionnel et envoyez l'email. +5. Sur votre appareil mobile, ouvrez l'email et cliquez sur le lien indiqué via votre navigateur par défaut. +6. Entrez les identifiants SAML de votre organisation pour être redirigé vers une session authentifiée de l'application mobile Datadog. + +Si vous le souhaitez, vous pouvez également vous authentifier à l'aide d'un code QR ou d'une saisie manuelle, tel que décrit ci-dessous. + +##### Code QR {#qr-code} + +1. Dans un navigateur, accédez à votre page [Paramètres personnels des organisations de votre compte Datadog][4] et cliquez sur **Se connecter à l'application mobile** pour l'organisation dans laquelle vous êtes actuellement connecté. Cela fait apparaître un code QR. +2. Utilisez l'application appareil photo par défaut de votre téléphone pour scanner le code QR, puis appuyez sur le lien suggéré pour ouvrir l'application Datadog. Vous serez automatiquement connecté. + +**Remarque** : Si vous cliquez sur le bouton **Se connecter à l'application mobile** d'une organisation à laquelle vous n'êtes pas actuellement connecté, l'UUID de l'organisation est automatiquement inséré dans l'écran de connexion. Vous devez toujours fournir une authentification en utilisant votre méthode standard. + +##### Saisie manuelle {#manual-entry} + +1. Pour entrer manuellement l'ID SAML, ouvrez l'application mobile Datadog et appuyez sur "Utiliser l'authentification unique (SAML) ?" bouton. +2. Appuyez sur le bouton "Utiliser une autre méthode de connexion" et entrez l'ID SAML manuellement. + +En cliquant sur **Autoriser** lors de la connexion, vous liez l'appareil mobile que vous utilisez à votre compte. Pour des raisons de sécurité, vous devrez suivre ce processus une fois par mois. + +##### Connexion initiée par l'IdP SAML {#saml-idp-initiated-login} + +Si vous continuez à rencontrer des erreurs lors de la connexion avec SAML, votre fournisseur d'identité peut imposer une connexion initiée par l'IdP. Pour plus d'informations concernant l'activation de la connexion SAML initiée par l'IdP, veuillez consulter notre [IdP Initiated SAML page][5]. + +##### Connexion par sous-domaine {#subdomain-login} + +1. Appuyez sur le sous-domaine et entrez votre [sous-domaine][29] personnalisé. +2. Procédez avec les étapes de connexion comme indiqué. + +### Changer d'organisation {#switch-organizations} + +Pour changer d'organisation, accédez à la page **Paramètres** de l'application mobile et cliquez sur **Organisation**. + +**Remarque** : Vous devrez peut-être vous réauthentifier lorsque vous changez d'organisation. + +### Se déconnecter {#log-out} +Pour se déconnecter, accédez à la page **Paramètres** de l'application mobile et cliquez sur **Se déconnecter**. Confirmez **Oui** que vous êtes sûr. + +## Sur appel {#on-call} +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/on_call_may_2025.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page sur appel iOS montrant les shifts, les horaires et les options d'escalade">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_On_Call.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page sur appel Android montrant les shifts, les horaires et les options d'escalade">}} + +{{% /tab %}} +{{< /tabs >}} + +La page Sur appel fournit une vue d'ensemble complète des shifts, des horaires, des pages et des politiques d'escalade. Vous pouvez filtrer les informations par utilisateur, équipe, urgence, statut ou date pour trouver rapidement les détails pertinents. Appuyer sur **Escalader** vous invite à confirmer l'escalade au niveau de politique suivant. Appuyer sur **Déclarer un incident** vous invite à entrer un titre et à fournir les attributs d'incident pertinents. + +Vous pouvez initier une page à un individu ou une équipe, et également remplacer des shifts existants en appuyant sur le shift que vous souhaitez remplacer. Vous pouvez consulter les investigations du moniteur Bits Investigation pour obtenir les constats initiaux et les conclusions. Pour plus d'informations, consultez [Datadog Sur appel][20]. + +Pour configurer les notifications Sur appel sur votre appareil mobile, consultez le guide pour [Configurer votre appareil mobile pour Datadog Sur appel][21]. + +
+Si vous avez seulement besoin d'accéder à Sur appel sur mobile et souhaitez restreindre l'accès aux données de télémétrie sensibles sur les appareils mobiles, contactez le support Datadog. +
+ +## Incidents {#incidents} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/incident_may_2025.png" alt="Page des incidents dans l'application mobile Datadog Sur appel" responsive="true" style="width:100%; background:none; border:none; box-shadow:none;">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Incident.png" alt="Page des incidents dans l'application mobile Datadog Sur appel" responsive="true" style="width:100%; background:none; border:none; box-shadow:none;">}} + +{{% /tab %}} +{{< /tabs >}} + +Sur la page des Incidents, vous pouvez consulter et rechercher tous les incidents auxquels vous avez accès dans votre compte Datadog, afin d'assurer une réponse et une résolution quelle que soit votre localisation. Vous pouvez également déclarer et modifier des incidents, et communiquer de manière transparente avec vos équipes grâce à des intégrations avec Slack, Zoom, et bien d'autres. Pour plus d'informations sur les Incidents, consultez [Gestion des Incidents Datadog][12]. + +### Créer un incident {#create-an-incident} + +1. Accédez à la liste des incidents en appuyant sur l'onglet Incidents dans la barre inférieure. +2. Appuyez sur le bouton **+** dans le coin supérieur droit. +3. Donnez à votre incident un titre, une gravité et un commandant. + +## Centre de Notifications {#notification-center} +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/ios_notification_center.png" alt="Centre de notifications iOS dans l'application mobile Datadog" responsive="true" style="width:100%; background:none; border:none; box-shadow:none;">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/android_notification_center.png" alt="Centre de notifications Android dans l'application mobile Datadog" responsive="true" style="width:100%; background:none; border:none; box-shadow:none;">}} + +{{% /tab %}} +{{< /tabs >}} + +Le Centre de notifications répertorie toutes les notifications push reçues afin que le contexte des notifications ne soit jamais perdu. Vous pouvez filtrer par type de notification. + +## Tableaux de bord {#dashboards} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/dashboard_may_2025_v2.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page de tableau de bord iOS affichant la liste des tableaux de bord avec des options de recherche et de filtrage">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Dashboards.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page de tableau de bord Android affichant la liste des tableaux de bord avec des options de recherche et de filtrage">}} + +{{% /tab %}} +{{< /tabs >}} + +Sur la page des tableaux de bord, vous pouvez consulter et rechercher tous les tableaux de bord auxquels vous avez accès dans votre organisation Datadog, et les filtrer en utilisant les mêmes variables de modèle que vous avez configurées dans l'application web Datadog. Filtrez rapidement vos tableaux de bord en utilisant des vues enregistrées de variables de modèle. Pour plus d'informations sur les vues enregistrées de variables de modèle, consultez [Vues Enregistrées de Tableau de Bord][9]. Cliquez sur un tableau de bord individuel pour le visualiser. Cliquez sur la période en bas à droite pour personnaliser la plage du tableau de bord. + +**Remarque** : +- Pour configurer ou modifier un tableau de bord, vous devez [vous connecter à l'application Datadog dans le navigateur][10]. Pour plus d'informations, consultez [tableaux de bord][11]. +- Les liens de tableau de bord configurés en UTC s'ouvrent en UTC sur l'application mobile. Pour plus d'informations, consultez [configurations de tableau de bord][24]. +- Tous les types de widgets ne sont pas disponibles, ce qui signifie qu'ils ne montrent pas de données sur l'application mobile. Cela inclut la carte de topologie, le widget de liste (toutes les sources de données), le widget de treemap hérité et le widget de résumé SLO. + +## Moniteurs {#monitors} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/monitor_may_2025.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page des moniteurs iOS affichant la liste des moniteurs avec des options de recherche et de filtrage">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Monitors.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page des moniteurs Android affichant la liste des moniteurs avec des options de recherche et de filtrage">}} + +{{% /tab %}} +{{< /tabs >}} + +Sur la page des Moniteurs, vous pouvez consulter et rechercher tous les moniteurs auxquels vous avez accès dans votre organisation Datadog. Vous pouvez spécifier par nom de champ et construire des requêtes de recherche spécifiques à la build en fonction de votre stratégie de balisage. Pour plus d'informations sur la recherche, consultez la [section Gérer la recherche des moniteurs][6]. + +Par exemple, pour filtrer sur les moniteurs de métriques liés à l'équipe SRE qui est alertée, utilisez la requête `"status:Alert type:Metric team:sre"`. Cliquez sur des alertes individuelles pour voir les détails, qui peuvent être filtrés par type et par heure d'alerte. Vous pouvez également mettre l'alerte en sourdine. Vos dix recherches les plus récentes sont enregistrées afin que vous ayez un accès plus rapide aux requêtes précédentes. De plus, vous pouvez filtrer votre liste de moniteurs en utilisant des vues enregistrées, qui apparaissent lorsque vous activez la barre de recherche. Vous pouvez également voir et exécuter des tests synthétiques lorsque vous consultez vos moniteurs synthétiques. + +**Remarque** : Pour configurer ou modifier des moniteurs, des notifications ou des vues enregistrées, vous devez utiliser l'[application web Datadog][7]. Tous les moniteurs configurés dans l'application web Datadog sont visibles dans l'application mobile. Pour plus d'informations, consultez [Creating monitors][8]. + +## Notebooks {#notebooks} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/notebook_may_2025.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page iOS Notebooks affichant la liste des Notebooks avec des options de recherche et de filtrage.">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Notebooks.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page Android Notebooks affichant la liste des Notebooks avec des options de recherche et de filtrage.">}} + +{{% /tab %}} +{{< /tabs >}} + +Sur la page Notebooks, vous pouvez consulter et rechercher tous les Notebooks auxquels vous avez accès dans votre Datadog org, et les filtrer par tags. Les notebook tags vous permettent de filtrer par favorites, team et type. Consultez [notebook tags][19] pour plus d'informations. + +**Note** : Pour configurer ou modifier un notebook, vous devez [vous connecter à l'application web Datadog][10]. Pour plus d'informations, consultez [Notebooks][18]. + +## Traces {#traces} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/trace_may_2025.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page des traces iOS affichant la liste des traces avec des options de recherche et de filtrage">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Traces.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page des traces Android affichant la liste des traces avec des options de recherche et de filtrage">}} + +{{% /tab %}} +{{< /tabs >}} + +Sur la page des Traces, vous pouvez consulter et rechercher toutes les traces auxquelles vous avez accès dans votre organisation Datadog. Vous pouvez affiner la liste grâce à des vues enregistrées ou créer des requêtes de recherche spécifiques en fonction de votre stratégie d'étiquetage. Pour plus d'informations sur la recherche, voir [Syntaxe de requête de l'explorateur de traces][16]. + +Par exemple, pour filtrer les traces avec l'étiquette `#env:prod` ou l'étiquette `#test`, utilisez la requête `"env:prod" OR test`. Cliquez sur des services individuels pour développer les spans associés, et sélectionnez des spans pour voir les informations, les erreurs et les journaux associés. Vous pouvez également ouvrir des traces à partir de services et de journaux. + +**Disponible uniquement sur iOS** : Les insights Watchdog indiquent les anomalies de latence et les anomalies d’erreur. Pour plus d'informations, consultez [Watchdog Insights][26]. + + +## Journaux {#logs} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/iOS_logs_v2.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page des journaux iOS affichant la liste des journaux avec des options de recherche et de filtrage">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Logs.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page des journaux Android affichant la liste des journaux avec des options de recherche et de filtrage">}} + +{{% /tab %}} +{{< /tabs >}} + +Sur la page des Logs, vous pouvez consulter et rechercher tous les Logs ou flex logs auxquels vous avez accès dans votre Datadog org. Vous pouvez affiner la liste grâce à des vues enregistrées ou des filtres de requête. Pour plus d'informations sur la recherche, consultez [Log Search Syntax][23]. + +Vous pouvez également regrouper par log patterns et sélectionner différents attributs de Logs pour le clustering ou le grouping des résultats. Pour plus d'informations sur les motifs de journaux, consultez [Grouping Logs Into Patterns][22]. + +**Note** : Pour activer flex logs, accédez à la liste des Logs et appuyez en haut à droite pour sélectionner enable flex logs. + +**Disponible uniquement sur iOS** : Les insights Watchdog signalent les anomalies et les valeurs aberrantes des journaux. Pour plus d'informations, consultez [Watchdog Insights for Logs][25]. + + +## Services {#services} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/service_may_2025_v2.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page des services iOS affichant la liste des services avec des options de recherche et de filtrage">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/Android_Services.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Page des services Android affichant la liste des services avec des options de recherche et de filtrage">}} + +{{% /tab %}} +{{< /tabs >}} + +Sur la page des services, vous pouvez consulter, rechercher et filtrer tous les services auxquels vous avez accès dans votre compte Datadog depuis l'application mobile Datadog pour garantir la santé de votre service de n'importe où. Vous pouvez également consulter les déploiements récents, les ressources, les SLO et les moniteurs associés à ce service. Pour plus d'informations sur les outils d'investigation pour vos services, consultez [manage Catalog][17]. + +## Bits AI {#bits-ai} + +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/ios_bits_chat.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Interface de chatbot Bits AI sur iOS où un utilisateur pose des questions sur un service.">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/android_bits_chat.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Interface de chatbot Bits AI sur Android où un utilisateur pose des questions sur un service">}} + +{{% /tab %}} +{{< /tabs >}} + +Sur la page d'accueil de Bits AI, vous pouvez poser des questions sur la santé du système de votre organisation. Bits AI prend en charge les requêtes en langage naturel pour les journaux et les traces APM. Pour plus d'informations, voir [Bits Chat][27]. + +### Enquête Bits {#bits-investigation} +{{< tabs >}} +{{% tab "iOS" %}} + +{{< img src="service_management/mobile/ios_bits_sre.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Résultats de l'enquête Bits affichés sur une page On-Call.">}} + +{{% /tab %}} +{{% tab "Android" %}} + +{{< img src="service_management/mobile/android_bits_sre.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Résultats de l'enquête Bits affichés sur une page On-Call.">}} + +{{% /tab %}} +{{< /tabs >}} + +Lorsqu'il est activé, Bits Investigation lance des enquêtes directement sur les pages On-Call. Ces enquêtes présentent des résultats et des conclusions initiales pour aider les intervenants à identifier les causes profondes potentielles et les prochaines étapes. Pour plus d'informations, voir [Bits Investigation][28]. + +## Question fréquemment posée {#frequently-asked-question} +### Comment rester connecté à l'application mobile ? {#how-do-i-remain-logged-into-the-mobile-app} +Après une authentification réussie à l'application mobile, vous resterez connecté pendant 90 jours. + +**Remarque** : Si vous avez activé les notifications, des notifications proactives seront envoyées 10 jours avant l'expiration du jeton. + +### Vais-je toujours recevoir des notifications si je suis déconnecté automatiquement ? {#will-i-still-receive-notifications-if-i-am-automatically-signed-out} +Si vous êtes déconnecté automatiquement pendant la période de jeton de 90 jours, vous pourrez toujours recevoir des notifications et serez invité à vous reconnecter. + +**Remarque** : Si vous vous déconnectez manuellement de l'application, vous cesserez de recevoir des notifications. + +### Pourquoi ne reçois-je pas de notifications ? {#why-am-i-not-receiving-notifications} +Vérifiez que vous avez activé les notifications pour l'application Datadog dans les paramètres de votre appareil. Si vous souhaitez vous assurer que les notifications contournent le mode Ne pas déranger, vérifiez que Critical Alerts est activé. + +### Vais-je recevoir des notifications pour toutes les organisations auxquelles je suis connecté ? {#will-i-receive-notifications-for-all-organizations-that-i-am-signed-into} +Oui, peu importe l'organisation vers laquelle vous passez, vous recevez des notifications pour toutes les organisations auxquelles vous êtes connecté. Cela inclut des notifications push critiques. + +### Que se passe-t-il si un utilisateur est désactivé ? {#what-happens-if-a-user-is-disabled} +Le jeton de l'application mobile sera invalide et forcera l'utilisateur à se déconnecter. + +## Dépannage {#troubleshooting} + +Pour obtenir de l'aide concernant le dépannage, [contactez le support Datadog][13]. Vous pouvez également envoyer un message dans le canal [Slack public de Datadog][14] [#mobile-app][15]. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + + +[1]: https://apps.apple.com/app/datadog/id1391380318 +[2]: https://play.google.com/store/apps/details?id=com.datadog.app +[3]: /fr/account_management/saml/#pagetitle +[4]: https://app.datadoghq.com/personal-settings/organizations +[5]: /fr/account_management/saml/mobile-idp-login/ +[6]: /fr/monitors/manage/#search +[7]: https://app.datadoghq.com/monitors +[8]: /fr/monitors/types +[9]: /fr/dashboards/template_variables/#saved-views +[10]: https://app.datadoghq.com/dashboard/lists +[11]: /fr/dashboards/ +[12]: /fr/monitors/incident_management +[13]: /fr/help/ +[14]: https://chat.datadoghq.com/ +[15]: https://datadoghq.slack.com/archives/C0114D5EHNG +[16]: /fr/tracing/trace_explorer/query_syntax/ +[17]: https://docs.datadoghq.com/fr/internal_developer_portal/catalog/set_up/ +[18]: https://docs.datadoghq.com/fr/notebooks/ +[19]: https://docs.datadoghq.com/fr/notebooks/#notebook-tags +[20]: https://docs.datadoghq.com/fr/incident_response/on-call/ +[21]: /fr/incident_response/on-call/guides/configure-mobile-device-for-on-call/?tab=ios +[22]: https://docs.datadoghq.com/fr/logs/explorer/analytics/patterns/ +[23]: https://docs.datadoghq.com/fr/logs/explorer/search_syntax/ +[24]: /fr/dashboards/configure/#configuration-actions +[25]: /fr/logs/explorer/watchdog_insights/ +[26]: /fr/watchdog/insights/?tab=logmanagement +[27]: /fr/bits_ai/bits_assistant/ +[28]: /fr/bits_ai/bits_ai_sre/ +[29]: /fr/account_management/multi_organization/#custom-sub-domains \ No newline at end of file diff --git a/content/fr/monitors/downtimes/_index.md b/content/fr/monitors/downtimes/_index.md new file mode 100644 index 00000000000..f6c889e54aa --- /dev/null +++ b/content/fr/monitors/downtimes/_index.md @@ -0,0 +1,203 @@ +--- +aliases: +- /fr/monitors/notify/downtimes/ +cascade: + algolia: + subcategory: Downtimes + tags: + - downtimes + - mute monitors +description: Planifiez des downtimes pour que vos monitors Datadog n'émettent pas + d'alertes durant certaines périodes. +further_reading: +- link: /monitors/guide/suppress-alert-with-downtimes + tag: Guide + text: Mettez en sourdine les alertes grâce aux temps d'arrêt. +- link: /monitors/guide/scoping_downtimes + tag: Guide + text: Définition des calendriers de temps d'arrêt. +- link: /monitors/quality/ + tag: Documentation + text: Voir les moniteurs qui sont mis en sourdine pendant une période prolongée +- link: /monitors/ + tag: Documentation + text: Créer des monitors +- link: /monitors/notify/ + tag: Documentation + text: Notifications des monitors +title: Downtimes +--- +## Aperçu {#overview} + +Planifiez des temps d'arrêt pour les arrêts système, la maintenance hors ligne ou les mises à niveau sans déclencher vos moniteurs. Les temps d'arrêt mettent en sourdine toutes les alertes et notifications des moniteurs, mais n'empêchent pas les transitions d'état des moniteurs. + +{{< img src="/monitors/downtimes/downtime_overview.png" alt="Exemple d'un temps d'arrêt" style="width:100%;" >}} + +## Configuration {#setup} + +### Créer un calendrier de temps d'arrêt {#create-a-downtime-schedule} + +Pour planifier un temps d'arrêt d'un moniteur dans Datadog, accédez à la page [**Gérer les temps d'arrêt**][1]. Ensuite, cliquez sur le bouton **Planifier un temps d'arrêt** en haut à droite. + +Pour mettre en sourdine un moniteur individuel, cliquez sur le bouton **Mettre en sourdine** en haut de la page d'état du moniteur. Cela crée un calendrier de temps d'arrêt pour ce moniteur particulier. + +Choisissez ce qu'il faut mettre en sourdine. + +Appliquez des calendriers de temps d'arrêt à des moniteurs spécifiques par nom ou à un large éventail de moniteurs par étiquettes de moniteur. Appliquez des filtres supplémentaires via le [*champ de groupe*](#downtime-scope). Cliquez sur **Aperçu des moniteurs affectés** pour voir les moniteurs inclus. Pour plus d'exemples et de cas d'utilisation, voir [Définir les horaires des temps d'arrêt][2]. + +**Remarque** : Tout moniteur créé ou modifié après la planification du temps d'arrêt est automatiquement inclus dans le temps d'arrêt s'il correspond à la portée. + +{{< tabs >}} +{{% tab "Par nom de moniteur" %}} + +Recherchez ou utilisez le menu déroulant pour choisir quels moniteurs mettre en sourdine. Si le champ est laissé vide, tous les moniteurs sont mis en sourdine par défaut. Vous pouvez également sélectionner un champ pour restreindre votre temps d'arrêt à un hôte, un appareil ou une étiquette arbitraire spécifiques. Seuls les moniteurs ayant **TOUS les champs sélectionnés** sont mis en sourdine. +{{% /tab %}} +{{% tab "Par étiquettes de moniteur" %}} + +Planifiez un temps d'arrêt basé sur une ou plusieurs [étiquettes de moniteur][3]. Le nombre maximum d'étiquettes pouvant être sélectionnées pour un seul temps d'arrêt est de 32. Chaque étiquette peut avoir un maximum de 256 caractères. Seuls les moniteurs ayant **TOUTES les étiquettes sélectionnées** sont mis en sourdine. Vous pouvez également sélectionner des champs pour des contraintes supplémentaires. + +[3]: /fr/monitors/manage/#monitor-tags +{{% /tab %}} +{{< /tabs >}} + +#### Champ de temps d'arrêt {#downtime-scope} +Utilisez le champ de groupe pour appliquer des filtres supplémentaires à votre temps d'arrêt et avoir plus de contrôle sur les moniteurs à mettre en sourdine. Le champ de groupe d'un temps d'arrêt est associé après la cible spécifique du moniteur. Si vous ciblez plusieurs moniteurs en utilisant des étiquettes de moniteur, cela trouve les moniteurs qui sont étiquetés avant de faire correspondre le champ de groupe. + +Par exemple, un moniteur qui examine la latence moyenne de tous vos services peut rencontrer des demandes lentes et des erreurs potentielles lors de la mise à niveau du `web-store` service. + +Vous souhaitez vous assurer que les notifications `service:web-store` associées sont mises en sourdine et que d'autres alertes critiques pour les services restants sont livrées comme d'habitude. Entrez `service:web-store` dans le champ de groupe du temps d'arrêt après avoir sélectionné les cibles des moniteurs. + +**Remarque** : cela fonctionne également avec des groupes ayant plusieurs dimensions, par exemple `service` et `host`. Créer un temps d'arrêt sur `service:web-store` mettrait en sourdine tous les groupes qui incluent ledit service, par exemple `service:web-store,host:a` ou `service:web-store,host:b`. + +#### Syntaxe du champ de temps d'arrêt {#downtime-scope-syntax} +La requête de champ de temps d'arrêt suit la même [Syntaxe de recherche][3] commune que de nombreux autres produits de la plateforme prennent en charge. Pour inclure tous les groupes dans la portée d'un temps d'arrêt, tapez `*` pour le `Group scope`. D'autres exemples de champs de groupe incluent : + +| Champ de groupe de Temps d'Arrêt | Explication | +| ------------------- | ---------------------- | +| `service:web-store` | Met en sourdine toutes les notifications concernant le service `web-store`. | +| `service:web-store AND env:dev` | Met en sourdine toutes les notifications concernant le service `web-store` fonctionnant sur l'environnement `dev`. | +| `env:(dev OR staging)` | Met en sourdine toute notification liée à l'environnement `dev` ou à l'environnement `staging`. | +| `service:web-store AND env:(dev OR staging)` | Met en sourdine toute notification liée au service `web-store` fonctionnant dans l'environnement `dev` ou `staging`. | +| `host:authentication-*` | Met en sourdine toute notification concernant un hôte dont le nom est préfixé par `authentication-`. | +| `host:*-prod-cluster` | Met en sourdine toute notification concernant un hôte dont le nom est suffixé par `-prod-cluster`. | +| `host:*-prod-cluster` | Met en sourdine toute notification concernant un hôte dont le nom est suffixé par `-prod-cluster`. | +| `service:webstore AND -env:prod` | Met en sourdine toute notification concernant le service `web-store` qui **n'est** pas en cours d'exécution sur l'environnement `prod`. | + +#### Limitations du champ de Temps d'Arrêt {#downtime-scope-limitations} +Il existe quelques limitations qui ne sont **pas prises en charge** et qui incluent : + +* Plus de deux niveaux d'imbrication, tels que `team:app AND (service:auth OR (service:graphics-writer AND (env:prod OR (type:metric AND status:ok))))`, ne sont pas pris en charge. Au maximum, les temps d'arrêt acceptent deux niveaux d'imbrication. Utilisez plutôt des temps d'arrêt séparés pour décomposer la logique. +* La négation n'est prise en charge que pour les paires clé/valeur et les étiquettes avec `OR`. Par exemple, `-key:value` et `-key(A OR B)`. Les champs tels que `-service:(A AND B)`, `service:(-A OR -B)` ou `-service(A B)` ne sont pas supportés. +* Les OR de niveau supérieur ne sont pas supportés. Par exemple, `service:A OR service:B` est valide, mais `service:A OR host:X` ne fonctionne pas. Un `OR` entre deux balises de niveau supérieur différentes nécessite deux temps d'arrêt séparés. +* Les balises sans clé, telles que `prod AND service:(A or B)` ou simplement `prod`, ne sont pas prises en charge. Les balises doivent avoir une clé, dans ce cas par exemple `env:prod`. +* Les caractères génériques avec un point d'interrogation : `service:auth?` ne sont pas pris en charge. Utilisez `*` à la place si vous devez utiliser des caractères génériques. +* Les caractères invalides dans la clé : `en&v:prod` ne constituent pas un champ de temps d'arrêt valide et seront rejetés. + +### Définir un calendrier de temps d'arrêt {#set-a-downtime-schedule} + +#### Une fois {#one-time} + +Définissez un temps d'arrêt unique en entrant la date de début, l'heure et le fuseau horaire. Optionnellement, définissez une date et une heure de fin. + +{{< img src="monitors/downtimes/downtime_onetime.jpg" alt="champs pour planifier un temps d'arrêt unique" style="width:90%;">}} + +#### Récurrent {#recurring} + +Les downtimes récurrents sont utiles pour les périodes de maintenance récurrentes. Définissez un temps d'arrêt récurrent en entrant la date de début, l'heure, le fuseau horaire, la répétition et la durée. Optionnellement, spécifiez une date de fin ou un nombre d'occurrences. + +Lorsqu'un temps d'arrêt unique d'un temps d'arrêt récurrent se termine, le temps d'arrêt unique est annulé et un nouveau temps d'arrêt est créé avec les mêmes contraintes et des heures de début et de fin mises à jour.
+**Remarque** : Le créateur original est associé à tous les nouveaux temps d'arrêt créés. + +{{< img src="monitors/guide/downtime_business_hour_weekend.png" alt="Configuration des temps d'arrêt utilisant un calendrier récurrent pour mettre en sourdine les alertes en dehors des heures de bureau et pendant le week-end." style="width:100%;" >}} + +Utilisez [règles de récurrence][4] (RRULEs) pour définir les calendriers de temps d'arrêt. Utilisez le [générateur RRULE officiel][5] comme outil pour générer des règles récurrentes. Un cas d'utilisation courant consiste à utiliser des RRULES pour définir des temps d'arrêt à des jours spécifiques du mois, par exemple, le troisième lundi de chaque mois. Pour d'autres cas d'utilisation concernant la récurrence, consultez le guide sur [Supprimer les alertes avec les temps d'arrêt][6]. + +**Remarque** : Les attributs spécifiant la durée dans RRULE ne sont pas pris en charge (par exemple, `DTSTART`, `DTEND`, `DURATION`). + +## Notifications {#notifications} +### Ajouter un message {#add-a-message} + +Entrez un message pour alerter votre équipe à propos de ce temps d'arrêt. Le champ de message permet un formatage markdown standard et la syntaxe de Datadog `@-notification`. Consultez la [page des notifications][7] pour plus d'informations sur les options de formatage. + +### Configurer les notifications et les automatisations {#configure-notifications-and-automations} + +Configurez les notifications et les automatisations en spécifiant les membres de l'équipe ou en envoyant le message à un service [intégration][8]. Datadog envoie des notifications aux destinations spécifiées chaque fois qu'un temps d'arrêt est programmé, commencé, annulé ou expiré. Ces notifications d'audit permettent à votre équipe d'être informée des temps d'arrêt dans votre système. + +### Désactiver la première notification de récupération {#disable-first-recovery-notification} + +Par défaut, Datadog envoie une notification de récupération pour les moniteurs qui déclenchent **avant** un temps d'arrêt et finissent par se rétablir **pendant** un temps d'arrêt. Ceci est utile lors de l'utilisation d'intégrations tierces pour fermer automatiquement les incidents ouverts. Sélectionner la case à cocher désactive ces notifications. + +{{< img src="monitors/downtimes/downtime_first_recovery.png" alt="désactiver la première notification de récupération" style="width:80%;">}} + +L'option de désactiver la première notification de récupération est additive entre plusieurs temps d'arrêt. Par exemple, si plusieurs temps d'arrêt se chevauchent et désactivent le même moniteur, la première notification de récupération est désactivée si **au moins un** temps d'arrêt a coché l'option pour la désactiver. + +**Remarque** : Cette option désactive la **première** notification de récupération. Si un moniteur déclenche et se rétablit à nouveau pendant un temps d'arrêt, alors les notifications correspondantes sont toujours mises en sourdine, indépendamment des paramètres de cette option. + +## Gérer {#manage} + +La [Manage Downtime page][1] affiche la liste des temps d'arrêt actifs et programmés. Sélectionnez un temps d'arrêt pour voir les détails, modifier ou le supprimer. Les détails incluent son créateur, son étendue et une liste des moniteurs auxquels il s'applique. +Utilisez le panneau des facettes et la barre de recherche pour filtrer la liste selon les paramètres `Creator`, `Scope`, `Monitor Tags`, `Active`, `Automuted` et `Recurring`. + +{{< img src="monitors/downtimes/downtime_manage.png" alt="Manage Downtime page" style="width:100%;">}} + +### Historique {#history} + +L'historique des temps d'arrêt est consultable sur la page [Monitor Status][9] en superposition sur l'historique de transition de groupe, et sur l'[Events explorer][10] en recherchant `tags:audit downtime`, ou un temps d'arrêt spécifique par ID avec `tags:audit downtime_id:`. + +### Mise en sourdine {#muting} + +Les moniteurs déclenchent des événements lorsqu'ils changent entre les états possibles : `ALERT`, `WARNING`, `RESOLVED` et `NO DATA`. Lorsqu'un moniteur est mis en sourdine ou a un temps d'arrêt programmé, les transitions de `RESOLVED` à un autre état ne déclenchent **pas** d'événements ou de notifications. + +{{< img src="monitors/downtimes/downtime_on_alert.png" alt="Graphique d'état du moniteur montrant la transition d'état vers une alerte pendant un temps d'arrêt, ne créera pas d'événement d'alerte" style="width:80%;">}} + +**Remarque** : Désactiver ou réactiver un moniteur depuis la page Monitor Status ne supprime pas les temps d'arrêt programmés associés au moniteur. Pour modifier ou supprimer un temps d'arrêt, utilisez la page [Manage Downtime][1] ou l'[API][11]. + +### Expiration {#expiration} + +Par défaut, si un moniteur est dans un état nécessitant une alerte (`ALERT`, `WARNING` ou `NO DATA`) lorsque le temps d'arrêt expire, le moniteur déclenche une nouvelle notification. Cela s'applique aux moniteurs qui changent d'état pendant un temps d'arrêt (comme de `OK` à `ALERT`, `WARNING` ou `NO DATA`), et aux moniteurs qui ont déjà un état nécessitant une alerte lorsque le temps d'arrêt commence. Si un temps d'arrêt est annulé manuellement, les notifications ne sont pas envoyées, même si le moniteur est entré dans un état nécessitant une alerte. + +Pour remplacer le comportement par défaut, spécifiez quelles notifications doivent être envoyées à la fin des temps d'arrêt avec les options dans la section **Configure notifications and automations**. Pour les temps d'arrêt créés avec l'API, le comportement par défaut est d'exclure l'option `Is cancelled`. + +{{< img src="monitors/downtimes/downtime_cancel_expire_notification.png" alt="La section Configure notifications and automations d'un moniteur avec des conditions de temps d'arrêt spécifiques" style="width:100%;">}} + +**Exemple 1 :** Si un moniteur est dans un état d'alerte *avant* le début du temps d'arrêt et *continue* pendant la durée du temps d'arrêt : +1. Pendant le temps d'arrêt, les notifications pour cette alerte sont supprimées. +2. Le moniteur reste dans un état d'alerte (car les conditions sont toujours remplies). +3. Le temps d'arrêt se termine. +4. Les conditions d'alerte sont toujours remplies, donc une notification est envoyée. + +**Exemple 2 :** Si un moniteur est dans un état d'alerte *avant* qu'un temps d'arrêt commence et se rétablit *pendant* ce temps d'arrêt : +1. L'état passe de `ALERT` à `OK`. +2. La notification de récupération est envoyée pendant le temps d'arrêt, mais seulement pour la première récupération pendant ce temps d'arrêt. + +### Rapport de moniteur {#monitor-report} + +Tous les états alertés sont inclus dans le [weekly monitor report][12] même si le moniteur est en temps d'arrêt. + +## Mise en sourdine automatique {#auto-muting} + +Datadog peut mettre en sourdine proactivement les moniteurs liés à l'arrêt manuel de certaines charges de travail dans le cloud. Les scénarios suivants de mise en sourdine automatique pour l'arrêt sont pris en charge : + +- **[Amazon EC2 instances][13]** et terminaison d'instance par l'autoscaling AWS basé sur les statuts des hôtes provenant de l'API CloudWatch. +- **[Google Compute Engine (GCE)][14]** et terminaison d'instance déclenchée par l'autoscaling GCE basé sur les statuts des hôtes provenant de l'API GCE. +- **[Azure VMs][15]**, que l'arrêt ait été déclenché manuellement ou par l'autoscaling Azure, basé sur les statuts de santé disponibles via l'API Azure Resource Health. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/monitors/downtimes +[2]: /fr/monitors/guide/scoping_downtimes +[3]: /fr/logs/explorer/search_syntax/ +[4]: https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html +[5]: https://icalendar.org/rrule-tool.html +[6]: /fr/monitors/guide/suppress-alert-with-downtimes/ +[7]: /fr/monitors/notify/#overview +[8]: /fr/integrations/#cat-notification +[9]: /fr/monitors/status/ +[10]: /fr/events/explorer +[11]: /fr/api/latest/downtimes/#cancel-a-downtime +[12]: /fr/account_management/#preferences +[13]: /fr/integrations/amazon_ec2/#ec2-automuting +[14]: /fr/integrations/google_compute_engine/#gce-automuting +[15]: /fr/integrations/azure_vm/#automuting-monitors \ No newline at end of file diff --git a/content/fr/monitors/types/metric.md b/content/fr/monitors/types/metric.md new file mode 100644 index 00000000000..ae3c324b630 --- /dev/null +++ b/content/fr/monitors/types/metric.md @@ -0,0 +1,224 @@ +--- +aliases: +- /fr/monitors/monitor_types/metric +- /fr/monitors/faq/what-is-the-do-not-require-a-full-window-of-data-for-evaluation-monitor-parameter +- /fr/monitors/create/types/metric +description: Comparer les valeurs d'une métrique avec un seuil défini par un utilisateur +further_reading: +- link: /monitors/notify/ + tag: Documentation + text: Configurer les notifications de vos monitors +- link: /monitors/downtimes/ + tag: Documentation + text: Planifier un downtime pour désactiver un monitor +- link: /monitors/status/ + tag: Documentation + text: Consulter le statut de votre monitor +- link: /monitors/types/change-alert + tag: Documentation + text: Dépanner les moniteurs d'alerte de changement +title: Monitor de métrique +--- +## Aperçu : {#overview} + +Les moniteurs de métriques sont utiles pour un flux continu de données. Toute métrique envoyée à Datadog peut être alertée si elle dépasse un seuil sur une période donnée. + +Pour créer un moniteur de métriques dans Datadog, accédez à [**Moniteurs > Nouveau Moniteur**][1] et sélectionnez le type de moniteur **Métrique**. + +## Choisissez la méthode de détection {#choose-the-detection-method} + +{{< tabs >}} +{{% tab "Seuil" %}} + +Une alerte de seuil compare les valeurs de la métrique à un seuil fixe. + +À chaque évaluation d'alerte, Datadog calcule la moyenne, le minimum, le maximum ou la somme sur la période sélectionnée et vérifie si elle est supérieure, inférieure, égale ou différente du seuil. Ceci est pour les cas d'alerte standard où vous connaissez les valeurs attendues. Le [type de métrique de distribution][1] offre l'option de seuil supplémentaire de calculer des percentiles sur la période sélectionnée. + +Pour plus d'informations, consultez la section [Définir les conditions d'alerte](#set-alert-conditions). + +[1]: /fr/metrics/distributions/ +{{% /tab %}} +{{% tab "Changement" %}} + +Une alerte de changement compare le changement absolu ou relatif (%) de valeur entre `N` minutes auparavant et maintenant par rapport à un seuil donné. Les points de données comparés ne sont pas des points uniques mais sont calculés en utilisant les paramètres de la section *définir la métrique*. + +À chaque évaluation d'alerte, Datadog calcule la différence brute (une valeur positive ou négative) entre la série actuelle et `N` minutes auparavant, puis calcule la moyenne/le minimum/le maximum/la somme sur la période sélectionnée. Une alerte est déclenchée lorsque cette série calculée dépasse le seuil. + +Ce type d'alerte est utile pour suivre les pics, les baisses, ou les changements progressifs d'une métrique lorsque vous ne disposez pas d'un seuil pour un comportement « inattendu ». + +Pour plus d'informations, consultez le guide [Moniteurs d'alerte de changement][1]. + +[1]: /fr/monitors/types/change-alert/ +{{% /tab %}} +{{% tab "Anomalies" %}} + +Une alerte de détection d'anomalie utilise le comportement passé pour détecter lorsqu'une métrique a un comportement anormal. + +Les alertes d'anomalie calculent une plage de valeurs attendues pour une série basée sur le passé. Certains des algorithmes d'anomalie utilisent l'heure de la journée et le jour de la semaine pour déterminer la plage attendue, capturant ainsi des anomalies qui ne pourraient pas être détectées par une simple alerte de seuil. Par exemple, la série est anormalement élevée à 5h du matin alors qu'elle serait considérée comme normale à 10h du matin. + +À chaque évaluation d'alerte, Datadog calcule le pourcentage de la série qui se situe au-dessus, en dessous et en dehors de la plage attendue. Une alerte est déclenchée lorsque ce pourcentage dépasse le seuil configuré. + +Pour plus d'informations, consultez la page [Anomaly Monitor][1]. + +[1]: /fr/monitors/types/anomaly/ +{{% /tab %}} +{{% tab "Singularités" %}} + +Les monitors de singularité détectent lorsqu'un membre d'un groupe (hosts, zones de disponibilité, partitions, etc.) a un comportement anormal par rapport au reste. + +Lors de chaque évaluation d'alerte, Datadog vérifie si tous les groupes sont regroupés et présentent le même comportement ou non. Une alerte est déclenchée lorsqu'un ou plusieurs groupes divergent du reste des groupes. + +Pour plus d'informations, consultez la page [Outlier Monitor][1]. + +[1]: /fr/monitors/types/outlier/ +{{% /tab %}} +{{% tab "Prévision" %}} + +Une alerte de prévision prédit le comportement futur d'une métrique et le compare à un seuil statique. Elle est bien adaptée aux métriques présentant des tendances fortes ou des motifs récurrents. + +Lors de chaque évaluation d'alerte, une alerte de prévision prédit les valeurs futures de la métrique ainsi que les limites de déviation attendues. Une alerte est déclenchée lorsque n'importe quelle partie des limites franchit le seuil configuré. + +Pour plus d'informations, consultez la page [Forecast Monitor][1]. + +[1]: /fr/monitors/types/forecasts/ +{{% /tab %}} +{{< /tabs >}} + +## Définissez la métrique {#define-the-metric} + +Toute métrique rapportée à Datadog est disponible pour les moniteurs. Utilisez l'éditeur et les étapes ci-dessous pour définir la métrique. Les paramètres de requête varient légèrement en fonction de la méthode de détection choisie. + +{{< tabs >}} +{{% tab "Seuil" %}} + +{{< img src="monitors/monitor_types/metric/metric_threshold_config.png" alt="définissez la métrique pour le moniteur de détection de seuil" style="width:100%;">}} + +| Étape | Requis | Par défaut | Exemple | +|-----------------------------------|----------|----------------|-------------------| +| Sélectionner une métrique | Oui | Aucun | `system.cpu.user` | +| Définir le `from` | Non | Partout | `env:prod` | +| Spécifier l'agrégation de métrique | Oui | `avg by` | `sum by` | +| Grouper par | Non | Tout | `host` | +| Spécifier l'agrégation de requête de moniteur | Non | `average` | `sum` | +| Fenêtre d'évaluation | Non | `5 minutes` | `1 day` | + +**Définitions** + +| Option | Description | +|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| moyenne | La série est moyennée pour produire une valeur unique qui est vérifiée par rapport au seuil. Elle ajoute la fonction `avg()` à votre requête de surveillance. | +| max | Si une seule valeur dans la série générée dépasse le seuil, alors une alerte est déclenchée. Elle ajoute la fonction max() à votre requête de surveillance. Consultez la section Notes pour un comportement supplémentaire du seuil. | +| min | Si tous les points dans la fenêtre d'évaluation pour votre requête dépassent le seuil, alors une alerte est déclenchée. Elle ajoute la fonction min() à votre requête de surveillance. Consultez la section Notes pour un comportement supplémentaire du seuil.| +| somme | Si la somme de chaque point dans la série dépasse le seuil, une alerte est déclenchée. Elle ajoute la fonction `sum()` à votre requête de surveillance. | +| percentile(pXX) | Si pXX pourcentage des points dans la fenêtre d'évaluation pour votre requête dépassent le seuil, alors une alerte est déclenchée. Cette option ajoute une fonction `percentile` à votre requête de surveillance. Disponible uniquement pour le type de métrique de distribution. +| Fenêtre d'évaluation| La période de temps que le moniteur évalue. Utilisez des fenêtres de temps prédéfinies comme `5 minutes`, `15 minutes`, `1 hour`, ou `custom` pour définir une valeur entre 1 minute et 730 heures (1 mois). | + +{{% /tab %}} +{{% tab "Changement" %}} + +{{< img src="monitors/monitor_types/metric/metric_change_alert_config.png" alt="définissez la métrique pour le moniteur de détection de changement" style="width:100%;">}} + +| Étape | Requis | Par défaut | Exemple | +|-----------------------------------|----------|----------------|-------------------| +| Sélectionner une métrique | Oui | Aucun | `system.cpu.user` | +| Définir le `from` | Non | Partout | `env:prod` | +| Spécifier l'agrégation de métrique | Non | `avg by` | `sum by` | +| Grouper par | Non | Tout | `host` | +| Spécifier l'agrégation de requête de moniteur | Non | `average` | `sum` | +| Sélectionnez un type de changement | Non | `change ` | `% change` | +| Fenêtre d'évaluation | Non | `5 minutes` | `1 day` | +| Fenêtre de comparaison | Non | `5 minutes` | `1 month` | + +**Définitions** + +| Option | Description | +|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| changement | Le changement absolu de la valeur. | +| % changement | Le changement en pourcentage de la valeur par rapport à sa valeur précédente. Par exemple, le changement en pourcentage pour une valeur précédente de 2 avec une valeur actuelle de 4 est de 100%. | +| moyenne | La série est moyennée pour produire une seule valeur qui est vérifiée par rapport au seuil. Elle ajoute la `avg()` fonction à votre requête de surveillance. | +| max | Si une seule valeur dans la série générée dépasse le seuil, alors une alerte est déclenchée. Elle ajoute la fonction max() à votre requête de surveillance. Consultez la section Notes pour un comportement supplémentaire du seuil. | +| min | Si tous les points dans la fenêtre d'évaluation pour votre requête dépassent le seuil, alors une alerte est déclenchée. Elle ajoute la fonction min() à votre requête de surveillance. Consultez la section Notes pour un comportement supplémentaire du seuil. | +| somme | Si la somme de chaque point dans la série dépasse le seuil, une alerte est déclenchée. Elle ajoute la `sum()` fonction à votre requête de surveillance. | +| percentile(pXX) | Si pXX pourcentage de points dans la fenêtre d'évaluation pour votre requête dépassent le seuil, alors une alerte est déclenchée. Cette option ajoute une `percentile` fonction à votre requête de surveillance. Disponible uniquement pour le type de métrique de distribution. +| Fenêtre d'évaluation| La période de temps que le moniteur évalue. Utilisez des fenêtres de temps prédéfinies comme `5 minutes`, `15 minutes`, `1 hour`, ou `custom` pour définir une valeur entre 1 minute et 730 heures (1 mois). | + +{{% /tab %}} +{{< /tabs >}} + +**Notes:** + - Si vous utilisez une métrique de distribution avec un agrégateur de percentile, un seuil de percentile correspondant est automatiquement spécifié. Les métriques avec des agrégateurs de percentile ne génèrent pas de graphique instantané dans le message de notification. + - **max/min** : Ces descriptions de max et min supposent que le moniteur alerte lorsque la métrique dépasse le seuil. Pour les moniteurs qui alertent lorsque le seuil est en dessous, le comportement max et min est inversé. + - Définir des métriques pour les moniteurs est similaire à définir des métriques pour les graphiques. Pour des détails sur l'utilisation de l'option `Advanced...`, voir [Graphisme avancé][2]. + - Il existe différents comportements lors de l'utilisation de `as_count()`. Voir [as_count() dans les évaluations de moniteur][3] pour plus de détails. + - `N/A` Les groupes ne sont pas inclus dans les moniteurs, donc les clés de balise doivent avoir une valeur. + +## Définissez les conditions d'alerte {#set-alert-conditions} + +Déclenchez lorsque la métrique est l'une des suivantes : +- `above` +- `above or equal to` +- `below` +- `below or equal to` +- `equal to` +- `not equal to` + +Si la valeur est comprise entre zéro et un, un zéro initial est requis. Par exemple, `0.3`. + +### Conditions d'alerte avancées {#advanced-alert-conditions} + +#### Fenêtre de données {#data-window} + +`Require` ou `Do not require` une fenêtre complète de données pour l'évaluation. + +Ce paramètre vous permet de choisir à quel moment un monitor doit être évalué par le moteur d'alertes. + +**Ne pas exiger** (Par défaut) : Un moniteur est évalué dès qu'il est reconnu. Envisagez d'utiliser cette valeur si vos points de données sont peu nombreux. Avec cette configuration, le moniteur évalue même s'il n'y a qu'un seul point de données dans la période d'évaluation. + +**Exiger** : Un moniteur n'est pas évalué tant que la fenêtre d'évaluation n'est pas considérée comme `filled` avec des données. Pour être notifié s'il y a des données sur l'ensemble de la période d'évaluation, utilisez cette option. + +Pour définir si la période d'évaluation est `filled` avec des données, la période est divisée en plus petits intervalles. + +La taille des compartiments repose sur la logique suivante : + +* Période d'évaluation en minutes : la taille de l'intervalle est de 1 minute +* Période d'évaluation en heures : la taille de l'intervalle est de 10 minutes +* Période d'évaluation en jours : la taille de l'intervalle est de 1 heure +* Période d'évaluation en mois : la taille de l'intervalle est de 4 heures + +Pour que l'intervalle soit considéré comme complet, les conditions suivantes doivent être respectées : + +1. Au moins un point de données dans le premier intervalle. Le premier intervalle est chronologiquement le plus ancien dans la fenêtre. +2. Pas plus de trois intervalles au total sans points de données. + +Si les conditions sont remplies, le moniteur est évalué. Sinon, l'évaluation est annulée et l'état du moniteur reste inchangé. + +Par exemple, un moniteur qui évalue sur les `2h` derniers est divisé en 12 intervalles de 10 minutes. Le moniteur est considéré comme complet si le premier intervalle a des données et qu'au maximum trois intervalles au total sont vides. + +| données | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | B9 | B10 | B11 | Fenêtre complète ?| +|--------|----|----|----|----|----|----|----|----|----|----|-----|-----|-------------| +| cas 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Oui | +| cas 2 | x | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Non | +| cas 3 | 1 | 1 | x | x | x | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Oui | +| cas 4 | 1 | x | x | x | 1 | 1 | 1 | 1 | x | x | 1 | 1 | Non | + +Pour plus d'informations sur la fenêtre d'évaluation, consultez la page [Configuration du moniteur][5]. + +#### Autres options {#other-options} + +Pour des instructions sur les options d'alerte avancées (pas de données, résolution automatique), consultez la page [Configuration du moniteur][6]. + +## Notifications {#notifications} + +Pour des instructions sur la section **Configurer les notifications et les automatisations**, consultez les pages [Notifications][7] et [Configuration du moniteur][8]. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/monitors/create +[2]: /fr/dashboards/querying/#advanced-graphing +[3]: /fr/monitors/guide/as-count-in-monitor-evaluations/ +[5]: /fr/monitors/configuration/?tab=thresholdalert#evaluation-window +[6]: /fr/monitors/configuration/#advanced-alert-conditions +[7]: /fr/monitors/notify/ +[8]: /fr/monitors/configuration/?tab=thresholdalert#configure-notifications-and-automations \ No newline at end of file diff --git a/content/fr/network_monitoring/devices/setup.md b/content/fr/network_monitoring/devices/setup.md new file mode 100644 index 00000000000..9efbf46a368 --- /dev/null +++ b/content/fr/network_monitoring/devices/setup.md @@ -0,0 +1,155 @@ +--- +aliases: +- /fr/network_monitoring/devices/getting_started/ +description: Commencez avec vos appareils connectés au réseau, tels que les routeurs, + les commutateurs, les serveurs et les pare-feu. +further_reading: +- link: /network_monitoring/devices/supported_devices + tag: doc + text: Appareils NDM pris en charge +- link: network_monitoring/devices/data/ + tag: Doc + text: Données NDM recueillies +- link: https://www.datadoghq.com/blog/diagnose-network-performance-with-snmp-trap-monitoring/ + tag: Blog + text: Surveiller et résoudre des problèmes de performances réseau avec des interruptions + SNMP +title: Implémentation +--- +## Aperçu {#overview} + +La surveillance des appareils réseau vous aide à obtenir des informations sur la santé et les performances de vos routeurs, commutateurs et pare-feu sur site. Après l'installation de l'Agent Datadog sur un hôte ayant accès au réseau, l'Agent détecte automatiquement les appareils réseau et collecte des métriques immédiatement. + +Ce guide couvre la configuration de la surveillance des appareils réseau sur vos hôtes, l'enrichissement des balises des appareils, la configuration et l'affichage des profils des appareils, l'affichage des données dans la surveillance NetFlow, et la validation des données dans les tableaux de bord fournis et la carte de topologie des appareils. + +{{< img src="network_device_monitoring/getting_started/ndm_landing_page_2.png" alt="La page d'accueil de la surveillance des appareils réseau, montrant des graphiques et des interfaces." style="width:100%;" >}} + +## Comment ça fonctionne {#how-it-works} + +Le diagramme suivant illustre le flux de données entre Syslog, les traps SNMP et les informations NetFlow. Les appareils envoient les informations pertinentes à l'Agent Datadog via les ports comme indiqué dans le diagramme (les ports peuvent être modifiés si nécessaire par configuration dans l'Agent). Pour les intégrations basées sur l'API, l'Agent Datadog se connecte aux contrôleurs ou gestionnaires de logiciels des fournisseurs d'appareils réseau sur site ou dans le cloud selon des instructions spécifiques `https` d'intégration API par fournisseur. L'Agent Datadog, configuré avec NDM et déployé sur site ou dans le cloud, consolide toutes les données collectées relatives aux appareils et au réseau, puis les envoie à Datadog via HTTPS sur le port `443`. Cela fournit une observabilité unifiée et complète des métriques, des journaux, des traces, des moniteurs et des tableaux de bord. + + {{< img src="network_device_monitoring/getting_started/syslog_trap_netflow.png" alt="Diagramme NDM montrant le flux pour la collecte de Syslog, de traps et de NetFlow." style="width:90%;" >}} + +## Prochaines étapes {#next-steps} + +Suivez les instructions ci-dessous pour configurer Datadog afin de surveiller vos appareils réseau. + +## Prérequis {#prerequisites} + +### Installer l'Agent {#install-the-agent} + +Accédez à la [page d'installation de l'Agent][1] et installez le [Datadog Agent][2] sur votre hôte (généralement un serveur qui n'est **pas** l'appareil surveillé).
+ +{{< img src="network_device_monitoring/getting_started/ndm_install_agent.png" alt="La page de configuration de l'Agent, mettant en avant l'installation sur Ubuntu." style="width:100%;" >}} + +## Configuration {#setup} + +### Haute Disponibilité {#high-availability} + +{{< site-region region="gov,gov2" >}} +
Le support de la Haute Disponibilité du Datadog Agent n'est pas pris en charge pour votre site Datadog sélectionné ({{< region-param key="dd_site_name" >}}).
+{{< /site-region >}} + +Le support de la Haute Disponibilité (HA) du Datadog Agent dans la surveillance des appareils réseau vous permet de désigner un Agent actif et un Agent de secours, garantissant un basculement automatique en cas de problème de l'Agent actif. Cette configuration élimine l'Agent comme point de défaillance unique, maintenant une surveillance continue pendant des incidents inattendus ou une maintenance planifiée, tels que des mises à jour du système d'exploitation et des mises à niveau de l'Agent. + +Vous pouvez configurer des Agents actifs et de secours pour fonctionner comme une paire HA dans NDM. Si l'Agent actif tombe en panne, l'Agent de secours prend le relais dans les 90 secondes, devenant le nouvel Agent actif. De plus, vous pouvez désigner un Agent actif préféré, permettant à NDM d’y revenir automatiquement une fois qu’il est de nouveau disponible. Cette fonctionnalité permet un changement proactif d'Agent avant la maintenance programmée. + +Pour plus d'informations, consultez le [support de la Haute Disponibilité du Datadog Agent][20]. + +### Configuration {#configuration} + +Pour commencer à surveiller vos appareils réseau, activez la surveillance SNMP en utilisant l’une des méthodes suivantes : + +[Appareils individuels][3] +: Configurez la surveillance SNMP sur vos appareils individuels. + +[Autodiscovery][4] +: Configurez la surveillance SNMP en utilisant l'Autodécouverte. + +[Ping][5] +: Configurez le contrôle SNMP pour envoyer des pings ICMP à vos appareils. + +[Syslog][22] +: Configurez vos appareils pour envoyer des messages Syslog. + +[Surveillance VPN][21] +: Configurez la surveillance VPN pour commencer à surveiller les tunnels VPN de vos appareils. + +### Enrichissez les appareils réseau avec des étiquettes {#enrich-network-devices-with-tags} + +Après avoir configuré NDM sur vos appareils, vous pouvez les enrichir davantage en ajoutant des étiquettes d'appareil réseau en utilisant les méthodes suivantes : + +[Datadog Agent][2] +: L'Agent peut collecter des étiquettes d'appareil lors de la configuration de [appareils individuels][3] ou avec [Autodécouverte][4]. + +[Profils d'appareil][6] +: Configurez l'Agent pour collecter et personnaliser des métriques et des étiquettes spécifiques en créant des profils d'appareil directement dans l'application. + +[Intégration ServiceNow][7] +: Enrichissez dynamiquement les appareils réseau surveillés par Datadog Network Device Monitoring avec des données définies dans la CMDB (Base de données de gestion de configuration) de ServiceNow. + +[API de surveillance des appareils réseau](#use-the-network-api) +: Utilisez l'API de surveillance des appareils réseau pour ajouter des étiquettes à vos appareils réseau de manière programmatique. + +### Personnalisez les métriques et les étiquettes {#customize-metrics-and-tags} + +Personnalisez les métriques et les étiquettes sur vos appareils en consultant la page [Appareils pris en charge][9] pour voir les profils d'appareil prêts à l'emploi. Si vous souhaitez modifier ou ajouter plus de métriques, les options suivantes sont disponibles : + +[Profils d'appareil][10] +: Modifiez directement les métriques et les étiquettes dans le fichier de l'Agent Datadog `yaml` en utilisant des profils d'appareil. + +[Création de profils basée sur l'interface graphique][6] +: Profitez de l'expérience d'intégration des appareils basée sur l'interface graphique de Datadog Network Monitoring, où vous pouvez ajouter des métriques et des étiquettes personnalisées à vos appareils. + +### Surveillance NetFlow {#netflow-monitoring} + +Configurez [la surveillance NetFlow][11] pour visualiser et surveiller vos enregistrements de flux provenant de vos appareils compatibles NetFlow. + +{{< img src="network_device_monitoring/netflow/home.png" alt="La page de surveillance NetFlow contenant des onglets pour les principales sources, destinations, protocoles, ports sources, ports de destination et tendances des appareils" style="width:100%;" >}} + +## Validez vos données {#validate-your-data} + +- Commencez à surveiller l'ensemble de votre infrastructure réseau sur la page [Appareils Réseau][12]. +- Consultez les métriques collectées sur les tableaux de bord prêts à l'emploi de Datadog : + - [Aperçu de tous les appareils surveillés][13] + - [Performance des interfaces de vos appareils réseau][14] +- Utilisez la [Carte de Topologie des Appareils Réseau][15] pour identifier et résoudre les problèmes de vos appareils. + +## Utilisez l'API Réseau {#use-the-network-api} + +- Utilisez l'[API Réseau][8] pour extraire les informations suivantes sur vos appareils réseau : + * [Obtenez la liste des interfaces de vos appareils.][16] + - [Obtenez la liste des étiquettes de vos appareils.][17] + - [Mettez à jour la liste des étiquettes de vos appareils.][18] + +## Dépannage {#troubleshooting} + +- Consultez la page [Dépannage des Appareils Réseau][19] pour plus d'informations sur le dépannage de vos problèmes NDM. + + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/account/settings/agent/latest +[2]: /fr/agent +[3]: /fr/network_monitoring/devices/snmp_metrics/?tab=snmpv2#monitoring-individual-devices +[4]: /fr/network_monitoring/devices/snmp_metrics/#autodiscovery +[5]: /fr/network_monitoring/devices/ping +[6]: /fr/network_monitoring/devices/guide/device_profiles/ +[7]: https://docs.datadoghq.com/fr/integrations/servicenow/#network-device-tagging +[8]: /fr/api/latest/network-device-monitoring/ +[9]: /fr/network_monitoring/devices/supported_devices +[10]: /fr/network_monitoring/devices/profiles +[11]: /fr/network_monitoring/netflow/ +[12]: https://app.datadoghq.com/devices +[13]: https://app.datadoghq.com/dash/integration/30409/datacenter-overview +[14]: https://app.datadoghq.com/dash/integration/30417/interface-performance +[15]: /fr/network_monitoring/devices/device_topology_map +[16]: /fr/api/latest/network-device-monitoring/#get-the-list-of-interfaces-of-the-device +[17]: /fr/api/latest/network-device-monitoring/#get-the-list-of-tags-for-a-device +[18]: /fr/api/latest/network-device-monitoring/#update-the-tags-for-a-device +[19]: /fr/network_monitoring/devices/troubleshooting +[20]: /fr/integrations/guide/high_availability +[21]: /fr/network_monitoring/devices/vpn_monitoring +[22]: /fr/network_monitoring/devices/syslog \ No newline at end of file diff --git a/content/fr/network_monitoring/devices/snmp_metrics.md b/content/fr/network_monitoring/devices/snmp_metrics.md new file mode 100644 index 00000000000..e91fcbe0e9c --- /dev/null +++ b/content/fr/network_monitoring/devices/snmp_metrics.md @@ -0,0 +1,233 @@ +--- +further_reading: +- link: /network_monitoring/devices/profiles + tag: Documentation + text: Utiliser des profils avec le Network Device Monitoring +- link: https://www.datadoghq.com/knowledge-center/network-monitoring/snmp-monitoring/ + tag: Centre de connaissances + text: Présentation de la surveillance SNMP +- link: https://www.datadoghq.com/blog/monitor-snmp-with-datadog/ + tag: Blog + text: Surveiller des périphériques SNMP avec Datadog +title: Métriques SNMP +--- +## Installation {#installation} + +La surveillance des dispositifs réseau repose sur l'intégration SNMP incluse dans le package [Datadog Agent][1] et prend en charge les trois versions de SNMP : `SNMPv1`, `SNMPv2` et `SNMPv3`. Lors de la découverte, le port SNMP (par défaut 161) est interrogé. Un dispositif est considéré comme découvert s'il y a une réponse et un profil correspondant. + +## Pré-requis {#pre-requisites} + +Agent v7.32+ + +## Comment cela fonctionne {#how-it-works} + +Le diagramme suivant illustre les ports et protocoles par défaut entre le Datadog Agent et le dispositif surveillé. Pour les métriques SNMP, le Datadog Agent interroge les dispositifs avec l'Autodécouverte ou en fonction de la configuration manuelle de l'adresse IP du dispositif. Le Datadog Agent, configuré avec NDM et déployé sur site ou dans le cloud, consolide toutes les données collectées sur les dispositifs et le réseau de votre infrastructure et les envoie à Datadog via HTTPS sur le port `443`. Cela fournit une observabilité unifiée et complète des métriques, des journaux, des traces, des moniteurs et des tableaux de bord. + +{{< img src="/network_device_monitoring/snmp/snmp_device_polling.png" alt="Diagramme NDM montrant le flux pour l'interrogation des dispositifs SNMP." style="width:90%;" >}} + +## Prochaines étapes {#next-steps} + +Suivez les instructions ci-dessous pour configurer Datadog afin de collecter des métriques SNMP à partir de vos dispositifs réseau. + +## Configuration {#configuration} + +La fonction Network Device Monitoring de Datadog permet de recueillir des métriques à partir de périphériques individuels, ou de découvrir automatiquement les périphériques (adresses IP uniques) sur un sous-réseau entier. + +Choisissez la stratégie de collecte à utiliser en fonction du nombre de périphériques présents sur votre réseau et du degré de dynamisme de celui-ci (c'est-à-dire la fréquence à laquelle des périphériques sont ajoutés ou retirés) : + +[Surveillance des dispositifs individuels](#monitoring-individual-devices) +: Pour les petits réseaux, principalement statiques. + +[Autodécouverte](#autodiscovery) +: Pour les réseaux plus grands ou dynamiques. + +Quelle que soit la stratégie de collecte utilisée, tirez parti des [profils de périphériques mappés avec un sysObjectID](#profils-de-peripheriques-mappes-avec-un-sysobjectid) de Datadog pour recueillir automatiquement les métriques pertinentes à partir de vos périphériques. + +### Surveillance des dispositifs individuels {#monitoring-individual-devices} + +Pour surveiller des périphériques individuels : + +- Incluez l'adresse IP et les métadonnées supplémentaires des dispositifs (sous forme d'étiquettes) dans le fichier `snmp.d/conf.yaml` dans le dossier `conf.d/` à la racine de votre [répertoire de configuration de l'Agent][3]. Consultez le [exemple snmp.d/conf.yaml][4] pour toutes les options de configuration disponibles. + +{{< tabs >}} +{{% tab "SNMPv2" %}} + +- Pour SNMPv2, configurez une instance en spécifiant l'adresse IP et la _chaîne de communauté_ du dispositif : + + ```yaml + init_config: + loader: core # use core check implementation of SNMP integration. recommended + use_device_id_as_hostname: true # recommended + instances: + - ip_address: '1.2.3.4' + community_string: 'sample-string' # enclose with single quote + tags: + - 'key1:val1' + - 'key2:val2' + ``` + +{{% /tab %}} +{{% tab "SNMPv3" %}} + +- Pour SNMPv3, configurez une instance en spécifiant l'adresse IP et les identifiants SNMPv3 du dispositif (selon le cas), par exemple : `user`, `authProtocol`, `authKey`, `privProtocol` et `privKey` : + + ```yaml + init_config: + loader: core # use core check implementation of SNMP integration. recommended + use_device_id_as_hostname: true # recommended + instances: + - ip_address: '1.2.3.4' + snmp_version: 3 # optional, if omitted which version of SNMP you are using is auto-detected + user: 'user' + authProtocol: 'SHA256' # choices: MD5, SHA, SHA224, SHA256, SHA384, SHA512 + authKey: 'fakeKey' # enclose with single quote + privProtocol: 'AES256' # choices: DES, AES, AES192, AES192C, AES256, AES256C + privKey: 'fakePrivKey' # enclose with single quote + tags: + - 'key1:val1' + - 'key2:val2' + ``` + +{{% /tab %}} +{{< /tabs >}} + +- [Redémarrez l'Agent][5]. + +Après la configuration, le Datadog Agent collecte des métriques pertinentes en associant vos dispositifs à l'un des [profils d'appareils pris en charge par Datadog][6]. + +Pour élargir votre configuration : + +* Ajoutez plus d'instances pour collecter des métriques à partir de plus de dispositifs sur votre réseau. +* Utilisez [l'Autodécouverte](#autodiscovery) si vous devez collecter des métriques à partir de nombreux dispositifs sur un réseau dynamique. + +### Autodécouverte {#autodiscovery} + +Une alternative à la spécification de dispositifs individuels est d'utiliser l'Autodécouverte pour découvrir automatiquement tous les dispositifs sur votre réseau. + +L'Autodécouverte interroge chaque IP du sous-réseau configuré et vérifie la réponse du dispositif. Ensuite, le Datadog Agent recherche le `sysObjectID` du dispositif découvert et le mappe à l'un des [profils d'appareils pris en charge par Datadog][6]. Les profils contiennent des listes de métriques prédéfinies à collecter pour divers types de dispositifs. + +Pour utiliser Autodiscovery avec la fonction Network Device Monitoring : + +1. Installez ou mettez à niveau l'Agent Datadog vers v7.27+. Pour des instructions spécifiques à la plateforme, consultez la documentation de l'[Agent Datadog][7]. + +2. Modifiez le fichier de configuration de l'Agent [`datadog.yaml`][8] pour inclure tous les sous-réseaux que Datadog doit analyser. L'exemple de configuration suivant indique les paramètres obligatoires, les valeurs par défaut et des exemples pour Autodiscovery. + +3. En option, activez la [dé-duplication][11] des dispositifs lors de l'Autodécouverte de l'Agent. Cette fonctionnalité est désactivée par défaut et nécessite la version de l'Agent `7.67+`. + + ```yaml + network_devices: + autodiscovery: + use_deduplication: true + ``` + +{{< tabs >}} +{{% tab "SNMPv2" %}} + +```yaml +network_devices: + autodiscovery: + ## use_deduplication - boolean - optional - default: false + workers: 100 # number of workers used to discover devices concurrently + discovery_interval: 3600 # interval between each autodiscovery in seconds + loader: core # use core check implementation of SNMP integration. recommended + use_device_id_as_hostname: true # recommended + configs: + - network_address: 10.10.0.0/24 # CIDR subnet + loader: core + snmp_version: 2 + port: 161 + community_string: '***' # enclose with single quote + tags: + - "key1:val1" + - "key2:val2" + - network_address: 10.20.0.0/24 + loader: core + snmp_version: 2 + port: 161 + community_string: '***' + tags: + - "key1:val1" + - "key2:val2" +``` + +{{% /tab %}} + +{{% tab "SNMPv3" %}} + +```yaml +network_devices: + autodiscovery: + ## use_deduplication - boolean - optional - default: false + workers: 100 # number of workers used to discover devices concurrently + discovery_interval: 3600 # interval between each autodiscovery in seconds + loader: core # use core check implementation of SNMP integration. recommended + use_device_id_as_hostname: true # recommended + configs: + - network_address: 10.10.0.0/24 # CIDR subnet + snmp_version: 3 + user: 'user' + authProtocol: 'SHA256' # choices: MD5, SHA, SHA224, SHA256, SHA384, SHA512 + authKey: 'fakeKey' # enclose with single quote + privProtocol: 'AES256' # choices: DES, AES, AES192, AES192C, AES256, AES256C + privKey: 'fakePrivKey' # enclose with single quote + tags: + - 'key1:val1' + - 'key2:val2' + - network_address: 10.20.0.0/24 + snmp_version: 3 + user: 'user' + authProtocol: 'SHA256' + authKey: 'fakeKey' + privProtocol: 'AES256' + privKey: 'fakePrivKey' + tags: + - 'key1:val1' + - 'key2:val2' +``` + +{{% /tab %}} +{{< /tabs >}} + +**Remarque** : L'Agent Datadog configure automatiquement la vérification SNMP avec chacune des adresses IP découvertes. Un dispositif découvert est une adresse IP qui répond avec succès lorsqu'elle est interrogée via SNMP. + +**Remarque** : Assurez-vous d'utiliser l'Agent 7.54 ou une version ultérieure pour cette syntaxe. Pour les versions précédentes, consultez le [config_template.yaml précédent][9]. + +### Remplacer la vitesse de l'interface {#override-interface-speed} + +Par défaut, la vérification SNMP rapporte la vitesse de l'interface telle que détectée par le dispositif. Si la vitesse du port physique diffère de la bande passante réelle du circuit, par exemple, un port physique de 1 Gbps provisionné pour un circuit de 50 Mbps, vous pouvez remplacer la vitesse entrante et sortante pour des interfaces spécifiques en utilisant `interface_configs`. + +Ajoutez `interface_configs` à la configuration de votre instance dans `snmp.d/conf.yaml` : + +```yaml +instances: + - ip_address: '1.2.3.4' + community_string: 'sample-string' + interface_configs: + - match_field: name # match by interface name or ifIndex + match_value: eth0 # case-sensitive + in_speed: 50000000 # inbound speed in bytes per second (50 Mbps) + out_speed: 50000000 # outbound speed in bytes per second (50 Mbps) +``` + +Pour toutes les options disponibles `interface_configs`, consultez le [exemple snmp.d/conf.yaml][4]. + +## Validation {#validation} + +[Exécutez la sous-commande d'état de l'Agent][10] et recherchez `snmp` dans la section Vérifications. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + + +[1]: https://app.datadoghq.com/account/settings/agent/latest +[2]: /fr/network_monitoring/devices/profiles#sysoid-mapped-devices +[3]: /fr/agent/configuration/agent-configuration-files/#agent-configuration-directory +[4]: https://github.com/DataDog/integrations-core/blob/master/snmp/datadog_checks/snmp/data/conf.yaml.example +[5]: /fr/agent/configuration/agent-commands/?tab=agentv6v7#start-stop-and-restart-the-agent +[6]: https://docs.datadoghq.com/fr/network_monitoring/devices/supported_devices +[7]: /fr/agent +[8]: /fr/agent/configuration/agent-configuration-files/?tab=agentv6v7#agent-main-configuration-file +[9]: https://github.com/DataDog/datadog-agent/blob/51dd4482466cc052d301666628b7c8f97a07662b/pkg/config/config_template.yaml#L855 +[10]: /fr/agent/configuration/agent-commands/#agent-status-and-information +[11]: https://github.com/DataDog/datadog-agent/blob/main/pkg/config/config_template.yaml#L4036 \ No newline at end of file diff --git a/content/fr/network_monitoring/netflow/_index.md b/content/fr/network_monitoring/netflow/_index.md new file mode 100644 index 00000000000..7bf94ed8000 --- /dev/null +++ b/content/fr/network_monitoring/netflow/_index.md @@ -0,0 +1,373 @@ +--- +aliases: +- /fr/network_monitoring/devices/netflow/ +further_reading: +- link: /network_monitoring/devices/profiles + tag: Documentation + text: Utiliser des profils avec le Network Device Monitoring +- link: https://www.datadoghq.com/blog/monitor-netflow-with-datadog/ + tag: Blog + text: Surveillez les données de trafic NetFlow avec Datadog +- link: https://www.datadoghq.com/blog/diagnose-network-performance-with-snmp-trap-monitoring/ + tag: Blog + text: Surveiller et résoudre des problèmes de performances réseau avec des interruptions + SNMP +title: NetFlow Monitoring +--- +## Aperçu {#overview} + +La vue NetFlow dans la surveillance des dispositifs réseau offre une visibilité sur les flux de trafic réseau collectés à partir des dispositifs qui exportent des données de flux (par exemple, des routeurs, des pare-feu ou des commutateurs). Vous pouvez analyser le volume de trafic, identifier les principaux émetteurs et comprendre comment les données circulent dans votre réseau. + +La vue NetFlow affiche des métriques de trafic agrégées par dispositif et par interface. Utilisez-la pour identifier quels dispositifs ou interfaces consomment le plus de bande passante, génèrent le plus de paquets ou contribuent aux pics de trafic. + +{{< img src="network_device_monitoring/netflow/netflow.png" alt="La page de surveillance NetFlow contient une légende repliable pour le volume de trafic, la santé des dispositifs, les flux et plus encore." style="width:100%;" >}} + +## Navigation latérale {#side-navigation} + +Utilisez la navigation à gauche pour explorer d'autres vues NetFlow : + +- **Volume de trafic** : Métriques de flux globales par dispositif et par interface. +- **Santé des dispositifs** : État et utilisation des dispositifs surveillés. +- **Flux** : Enregistrements de flux individuels détaillés. +- **Conversations** : Paires source-destination agrégées. +- **Systèmes autonomes** : Données de flux regroupées par numéros de systèmes autonomes (ASN). +- **Géolocalisation IP** : Données de flux regroupées par origine/destination géographique. +- **Ports source / Ports de destination / Protocoles / Drapeaux** : Répartition du trafic par métadonnées de paquets. + +## Installation {#installation} + +Pour utiliser la surveillance NetFlow avec la surveillance des dispositifs réseau, assurez-vous d'utiliser la version [Agent][1] 7.45 ou plus récente. + +**Remarque :** La configuration de [la collecte de métriques à partir de la surveillance des dispositifs réseau][2] n'est pas une exigence pour l'envoi de données NetFlow, bien qu'elle soit fortement recommandée car ces données supplémentaires peuvent être utilisées pour enrichir vos enregistrements de flux avec des informations telles que le nom du dispositif, le modèle et le fournisseur, ainsi que le nom de l'interface entrante/sortante. + +## Configuration {#configuration} + +Pour configurer vos dispositifs afin d'envoyer du trafic NetFlow, jFlow, sFlow ou IPFIX au serveur Agent NetFlow, vos dispositifs doivent être configurés pour envoyer le trafic à l'adresse IP sur laquelle l'Agent Datadog est installé, spécifiquement les `flow_type` et `port`. + +1. Modifiez votre fichier de configuration de l'Agent [`datadog.yaml`][3] pour activer NetFlow : + +```yaml +network_devices: + netflow: + enabled: true + listeners: + - flow_type: netflow9 # choices: netflow5, netflow9, ipfix, sflow5 + port: 2055 # devices need to be configured to the same port number + - flow_type: netflow5 + port: 2056 + - flow_type: ipfix + port: 4739 + - flow_type: sflow5 + port: 6343 + ## Set to true to enable reverse DNS enrichment of private source and destination IP addresses in NetFlow records + reverse_dns_enrichment_enabled: false +``` + +2. Après avoir enregistré vos modifications, [redémarrez l'Agent][4]. + + **Remarque** : Assurez-vous que vos [règles de pare-feu][9] permettent le trafic UDP entrant sur les ports configurés. + +## Agrégation {#aggregation} + +L'Agent Datadog agrège automatiquement les données reçues dans NetFlow pour limiter le nombre d'enregistrements envoyés à la plateforme tout en maintenant la plupart des informations. Par défaut, les enregistrements de flux ayant les mêmes identifiants, tels que `source`, `destination address`, `port` et `protocol`, sont agrégés ensemble par intervalles de cinq minutes. De plus, l'Agent Datadog peut détecter les ports éphémères et les supprimer. En conséquence, vous pouvez voir des flux avec `port:*`. + +## Enrichissement {#enrichment} + +Vos données NetFlow sont traitées par le backend Datadog et enrichies avec les métadonnées disponibles de vos appareils et interfaces. L'enrichissement est basé sur l'adresse IP de l'exportateur NetFlow et les index des interfaces. Pour désambiguïser les collisions possibles entre les adresses IP privées réutilisées, vous pouvez configurer un `namespace` différent pour chaque fichier de configuration d'Agent (avec le paramètre `network_devices.namespace`). + +Si l'adresse IP de l'exportateur NetFlow correspond à l'une des adresses IP du dispositif, mais pas à celle configurée dans l'intégration SNMP, Datadog tente de localiser le dispositif auquel appartient l'adresse IP de l'exportateur et enrichit vos données NetFlow avec celle-ci tant que la correspondance est unique. + +### Enrichissement IP du fournisseur de cloud {#cloud-provider-ip-enrichment} + +Datadog enrichit les IP avec le service et la région du fournisseur de cloud public pour les adresses IPv4, afin que vous puissiez filtrer les enregistrements de flux d'un service et d'une région spécifiques. + +{{< img src="network_device_monitoring/netflow/netflow_cloud_provider_enrichment_2.png" alt="Menu de filtre Netflow affichant le nom du fournisseur de cloud, la région et le service" width="100%" >}} + +### Enrichissement des ports {#port-enrichment} + +Datadog enrichit les ports dans NetFlow avec les données de l'IANA (Internet Assigned Numbers Authority) pour résoudre les mappages de ports bien connus (comme Postgres sur 5432 et HTTPS sur 443). + +### Enrichissement des ports personnalisés {#custom-port-enrichment} + +Vous pouvez également ajouter vos propres enrichissements personnalisés pour mapper les ports et les protocoles à des applications spécifiques (par exemple, si un service personnalisé fonctionne sur un port spécifique). Cela facilite l'interprétation et l'interrogation des données NetFlow par les ingénieurs réseau et leurs équipes avec des noms lisibles par l'homme. + +Dans l'onglet **Configuration** de NetFlow, cliquez sur **+ Ajouter un enrichissement** pour télécharger le fichier CSV contenant vos enrichissements personnalisés. + +{{< img src="network_device_monitoring/netflow/new_enrichment_2.png" alt="La fenêtre modale de mappage des nouveaux enrichissements dans l'onglet de configuration de NetFlow" width="100%" >}} + +### Enrichissement IP personnalisé {#custom-ip-enrichment} + +Vous pouvez également ajouter vos propres enrichissements personnalisés pour mapper les IP et les CIDR à des tags personnalisés (par exemple, pour catégoriser les services fonctionnant sur des adresses IP spécifiques). Cela facilite l'interprétation et l'interrogation des données NetFlow par les ingénieurs réseau et leurs équipes avec des noms lisibles par l'homme. + +Depuis la page des paramètres [**Enrichissement**][10], cliquez sur **+ Ajouter un enrichissement** pour ajouter des mappages manuellement ou télécharger un fichier CSV pour ajouter des mappages en masse. + +### Enrichissement IP privé DNS inversé {#reverse-dns-private-ip-enrichment} + +Activez l'enrichissement IP privé DNS inversé pour effectuer des recherches DNS pour les noms d'hôtes associés aux adresses IP source ou destination. Lorsqu'il est activé, l'Agent effectue des recherches DNS inversées sur les IP source et destination dans les plages d'adresses privées, enrichissant les enregistrements NetFlow avec les noms d'hôtes correspondants. + +Par [défaut][7], l'enrichissement IP DNS inversé dans votre fichier `datadog.yaml` est désactivé. Pour activer, consultez la section [Configuration](#configuration) de cette page. + +Recherchez **DNS** dans le menu **+ Filtrer** pour localiser les flux associés à l'enrichissement IP DNS inversé : + +{{< img src="network_device_monitoring/netflow/dns_ip_enrichmen_2.png" alt="Menu de filtrage amélioré pour afficher les facettes de destination et de source DNS inversé" width="100%" >}} + +**Remarque** : Les entrées DNS inversées sont mises en cache et soumises à une limitation de débit pour minimiser les requêtes DNS et réduire la charge sur les serveurs DNS. Pour plus d'options de configuration, y compris la modification de la mise en cache par défaut et de la limitation de débit, consultez le [fichier de configuration complet][8]. + +## Détails IP {#ip-details} + +Dans la vue **Conversations**, vous pouvez voir l'adresse IP publique de l'adresse IP de destination. Survolez l'IP pour afficher des métadonnées riches sur l'IP et un lien vers **Voir les connexions réseau associées** où vous pouvez inspecter la connectivité plus en détail. + +{{< img src="network_device_monitoring/netflow/NetFlow_IP_pill.png" alt="Survolez une adresse IP pour afficher les détails de l'IP et voir les connexions réseau associées." width="100%" >}} + +## Diagramme de flux {#flow-diagram} + +Vous pouvez visualiser les flux dans la surveillance NetFlow en cliquant sur le menu **Flux** et en survolant un flux de la liste pour voir des informations supplémentaires sur l'adresse IP source, le nom de l'interface d'entrée, le nom de l'appareil et l'adresse IP de destination à travers les connexions réseau associées. + +{{< img src="network_device_monitoring/netflow/flows.png" alt="Survolez un flux agrégé d'un appareil émettant du netflow pour accéder aux connexions réseau associées" width="100%" >}} + +## Moniteur NetFlow {#netflow-monitor} + +Cliquez sur l'icône **Créer un moniteur** depuis n'importe quelle vue pour créer un [moniteur NetFlow][6]. Lors de la création du moniteur, considérez les champs suivants par rapport à l'adresse IP source ou à l'adresse IP de destination du point de vue de l'appareil. Ces champs fournissent des informations sur les modèles de trafic réseau et aident à optimiser les performances et la sécurité. + +{{< img src="network_device_monitoring/netflow/create_monitor.png" alt="Vue des flux dans la surveillance NetFlow avec le lien de création de moniteur mis en évidence." width="100%" >}} + +### Informations sur l'interface {#interface-information} + +Les champs suivants représentent des détails sur les interfaces d'entrée et de sortie. + +| Nom du champ | Description du champ | +|---|---| +| Alias de l'interface de sortie | Alias de l'interface de sortie. | +| Index de l'interface de sortie | Index de l'interface de sortie. | +| Nom de l'interface de sortie | Nom de l'interface de sortie. | +| Alias de l'interface d'entrée | Alias de l'interface d'entrée. | +| Index de l'interface d'entrée | Index de l'interface d'entrée. | +| Nom de l'interface d'entrée | Nom de l'interface d'entrée. | + +### Informations sur le dispositif {#device-information} + +Les champs suivants représentent des détails liés au dispositif générant des enregistrements NetFlow. + +| Nom du champ | Description du champ | +|---|---| +| Adresse IP du dispositif | | +| Adresse IP de l'exportateur | Adresse IP à partir de laquelle proviennent les paquets NetFlow. | +| Modèle de l'appareil | Modèle de l'appareil. | +| Nom de l'appareil | Nom de l'appareil. | +| Espace de noms de l'appareil | Espace de noms de l'appareil. | +| Fournisseur de l'appareil | Fournisseur de l'appareil. | + +### Détails du flux {#flow-details} + +Les champs suivants représentent les caractéristiques du flux réseau. + +| Nom du champ | Description du champ | +|---|---| +| Direction | Indique si le flux est entrant ou sortant. | +| Heure de début | Horodatage du premier paquet réseau entre les adresses IP source et destination. | +| Heure de fin | Horodatage du dernier paquet réseau entre les adresses IP source et destination. | +| Type d’Ether | Type d’encapsulation de trame Ethernet (IPv4 ou IPv6). | +| Type de flux | Type de format de données NetFlow (IPFIX, sFlow5, NetFlow5, NetFlow9 ou Inconnu). | +| Protocole IP | Protocole utilisé pour la communication (tel que ICMP, TCP ou UDP). | +| Adresse IP du prochain saut | Adresse IP du prochain saut dans le chemin réseau. | +| Drapeau TCP | Union de tous les drapeaux TCP observés pendant la durée du flux. | +| Octets | Nombre total d'octets transférés. | +| Paquets | Nombre total de paquets transférés. | + +En plus des champs, vous pouvez également utiliser des facettes prêtes à l'emploi pour commencer à analyser les modèles de trafic en fonction des adresses IP de destination et de source NetFlow. + +### Facettes IP de destination NetFlow {#netflow-destination-ip-facets} + +| Nom de la facette | Description de la facette | +|---|---| +| Domaine AS de destination | Le domaine associé au Système Autonome (AS) auquel appartient l'IP de destination. | +| Nom AS de destination | Le nom du Système Autonome (AS) auquel appartient l'IP de destination. | +| Numéro AS de destination | Le numéro attribué au Système Autonome (AS) auquel appartient l'IP de destination. | +| Route AS de destination | Les informations de route associées au Système Autonome (AS) auquel appartient l'IP de destination. | +| Type AS de destination | Le type de Système Autonome (AS) auquel appartient l'IP de destination (tel que transit, client, pair). | +| Nom de l'application de destination | Le nom de l'application associée à l'IP de destination. | +| Nom de la ville de destination | Le nom de la ville associée à l'IP de destination. | +| Nom du fournisseur de cloud de destination | Le nom du fournisseur de cloud associé à l'IP de destination. | +| Région du fournisseur de cloud de destination | La région du fournisseur de cloud associée à l'IP de destination. | +| Service du fournisseur de cloud de destination | Le service fourni par le fournisseur de cloud associé à l'IP de destination. | +| Code de continent de destination | Le code représentant le continent associé à l'IP de destination. | +| Nom de continent de destination | Le nom du continent associé à l'IP de destination. | +| Code ISO du pays de destination | Le code ISO représentant le pays associé à l'IP de destination. | +| Nom du pays de destination | Le nom du pays associé à l'IP de destination. | +| IP de destination | L'adresse IP de destination. | +| Latitude de destination | La coordonnée de latitude associée à l'IP de destination. | +| Longitude de destination | La coordonnée de longitude associée à l'IP de destination. | +| MAC de destination | L'adresse de contrôle d'accès au média (MAC) associée à l'IP de destination. | +| Masque de destination | Le masque de sous-réseau associé à l'adresse IP de destination. | +| Port de destination | Le numéro de port de destination. | +| Nom d'hôte DNS inverse de destination | Le nom d'hôte DNS associé à l'adresse IP de destination. | +| Code ISO de la sous-division de destination | Le code ISO représentant la sous-division (comme l'état ou la province) associée à l'adresse IP de destination. | +| Nom de la sous-division de destination | Le nom de la sous-division (comme l'état ou la province) associée à l'adresse IP de destination. | +| Fuseau horaire de destination | Le fuseau horaire associé à l'adresse IP de destination. | + +### Facettes de l'IP Source NetFlow {#netflow-source-ip-facets} + +| Nom de la facette | Description de la facette | +|---|---| +| Domaine AS de source | Le domaine associé au Système Autonome (AS) auquel appartient l'adresse IP source. | +| Nom AS de source | Le nom du Système Autonome (AS) auquel appartient l'adresse IP source. | +| Numéro AS de source | Le numéro attribué au Système Autonome (AS) auquel appartient l'adresse IP source. | +| Route AS de source | Les informations de route associées au Système Autonome (AS) auquel appartient l'adresse IP source. | +| Type AS de source | Le type de Système Autonome (AS) auquel appartient l'adresse IP source (comme transit, client, pair). | +| Nom de l'application de source | Le nom de l'application associée à l'adresse IP source. | +| Nom de la ville de source | Le nom de la ville associée à l'adresse IP source. | +| Nom du fournisseur de cloud de source | Le nom du fournisseur de cloud associé à l'adresse IP source. | +| Région du fournisseur de cloud de source | La région du fournisseur de cloud associée à l'adresse IP source. | +| Service du fournisseur de cloud de source | Le service fourni par le fournisseur de cloud associé à l'adresse IP source. | +| Code de continent de source | Le code représentant le continent associé à l'adresse IP source. | +| Nom du continent de source | Le nom du continent associé à l'adresse IP source. | +| Code ISO du pays de source | Le code ISO représentant le pays associé à l'adresse IP source. | +| Nom du pays de source | Le nom du pays associé à l'adresse IP source. | +| IP de source | L'adresse IP de source. | +| Latitude de source | La coordonnée de latitude associée à l'adresse IP source. | +| Longitude de source | La coordonnée de longitude associée à l'adresse IP source. | +| MAC de source | L'adresse MAC associée à l'adresse IP source. | +| Masque de source | Le masque de sous-réseau associé à l'adresse IP source. | +| Port de source | Le numéro de port source. | +| Nom d'hôte DNS inverse de source | Le nom d'hôte DNS associé à l'adresse IP source. | +| Code ISO de la subdivision de source | Le code ISO représentant la subdivision (comme l'état ou la province) associée à l'adresse IP source. | +| Nom de la subdivision de source | Le nom de la subdivision (comme l'état ou la province) associée à l'adresse IP source. | +| Fuseau horaire de source | Le fuseau horaire associé à l'adresse IP source. | + +## Assemblage de conversations {#conversation-stitching} + +Par défaut, les enregistrements NetFlow séparent les flux unidirectionnels pour chaque direction de trafic entre deux points de terminaison (A → B et B → A). L'assemblage de conversations combine ceux-ci en un seul enregistrement bidirectionnel, vous offrant une vue complète du trafic total échangé entre deux points de terminaison (A ↔ B). + +Avec l'assemblage de conversations, vous pouvez : + +- Voir le trafic total échangé entre deux points de terminaison comme une seule conversation au lieu de flux directionnels séparés +- Identifier les véritables initiateurs et répondants afin que les widgets source et destination reflètent des rôles précis +- Éliminer le bruit où les serveurs apparaissent incorrectement comme principales sources + +Pour basculer entre les vues assemblées (bidirectionnelles) et non assemblées (unidirectionnelles), naviguez vers n'importe quelle vue NetFlow basée sur un point de terminaison et utilisez le commutateur **Bidirectionnel** sous le sélecteur de temps. + +{{< img src="network_device_monitoring/netflow/conversation_stitching.png" alt="Basculer l'assemblage de conversations dans la vue NetFlow" width="100%" >}} + +## Taux d'échantillonnage {#sampling-rate} + +Le taux d'échantillonnage de NetFlow est pris en compte dans le calcul des octets et des paquets par défaut. Les valeurs affichées pour les octets et les paquets sont calculées avec le taux d'échantillonnage appliqué. +De plus, vous pouvez interroger **Octets (Ajustés) (@adjusted_bytes)** et **Paquets (Ajustés) (@adjusted_packets)** dans les tableaux de bord et les carnets pour les visualiser. + +Pour visualiser les octets/paquets bruts (échantillonnés) envoyés par vos appareils, vous pouvez interroger **Octets (Échantillonnés) (@bytes)** et **Paquets (Échantillonnés) (@packets)** dans les tableaux de bord et les carnets. + +## Conservation {#retention} + +Les données NetFlow sont conservées pendant 30 jours par défaut, avec des options pour une conservation de 15, 30, 60 et 90 jours. + +
Pour conserver les données NetFlow pendant de plus longues périodes, contactez votre représentant commercial.
+ +## Limiter le volume de flux par intervalle de vidage {#limit-flow-volume-per-flush-interval} + +Pour contrôler le volume NetFlow et les coûts associés, configurez l'Agent pour limiter le nombre d'enregistrements de flux soumis par intervalle de vidage. L'intervalle de vidage est la période pendant laquelle les flux sont agrégés avant d'être transmis à Datadog. + +Lorsque cette limite est activée, l'Agent conserve uniquement les **meilleurs flux par nombre d'octets** jusqu'au maximum configuré, et rejette les flux de volume inférieur pour cet intervalle de vidage. + +### Configuration {#configuration-1} + +**Remarque** : Nécessite la version de l'Agent `7.75.1` ou ultérieure. + +Configurez ce qui suit dans votre `datadog.yaml` : + +```yaml +network_devices: + netflow: + enabled: true + aggregator_max_flows_per_flush_interval: 10000 +``` + +Avec cette configuration, l'Agent soumet au maximum 10 000 enregistrements NetFlow par intervalle de vidage (5 minutes par défaut). L'Agent priorise les flux de plus haut volume et rejette le reste. + +### Estimation du volume quotidien {#estimating-daily-volume} + +Votre nombre maximum approximatif de flux quotidien est : + +`max_flows_per_flush_interval * (minutes_per_day / flush_interval_minutes)` + +Par exemple, avec `10,000` flux par intervalle de vidage et un intervalle de vidage de 5 minutes : + +`10,000 * (1440 / 5) = 2,880,000 flows/day` + +### Comportement attendu {#expected-behavior} + +- **Les principaux émetteurs sont prioritaires :** Cela est préférable pour les flux de travail axés sur un trafic à fort volume (par exemple, les pilotes de bande passante et les liens bruyants). +- **Visibilité réduite pour les flux à faible volume :** Les paires source/destination à faible trafic peuvent ne pas apparaître lorsque le plafond est atteint. +- **Comportement par Agent :** La limite est appliquée à chaque Agent de manière indépendante. Si plusieurs Agents voient du trafic pour les mêmes conversations, ils ne sont pas agrégés globalement avant la troncature. + +### Suivi de la troncature {#monitoring-truncation} + +Lorsque la limitation de flux est activée, l'Agent émet des métriques que vous pouvez utiliser pour comprendre combien de données sont conservées par rapport à celles qui sont rejettées : + +- `ndm.flow_truncation.flows_total` +- `ndm.flow_truncation.flows_kept` +- `ndm.flow_truncation.flows_dropped` +- `ndm.flow_truncation.keep_ratio` +- `ndm.flow_truncation.threshold_value` +- `ndm.flow_truncation.runtime_ms` + +Utilisez ces métriques pour valider votre plafond choisi et pour détecter quand la troncature se produit fréquemment (ce qui peut indiquer que vous devriez ajuster le plafond ou l'intervalle de vidage). + +## Dépannage {#troubleshooting} + +### Pertes de paquets NetFlow {#netflow-packet-drops} +Des pertes de paquets NetFlow peuvent se produire lorsqu'il y a un nombre élevé de paquets NetFlow par seconde, généralement supérieur à 50 000. Les étapes suivantes peuvent aider à identifier et à atténuer les pertes de paquets NetFlow : + +#### Identification des pertes de paquets {#identifying-packet-drops} + +Utilisez la commande `netstat -s` pour voir s'il y a des paquets UDP perdus : + +```bash + netstat -s + ``` + +#### Mitigation steps +1. Increase the Number of NetFlow Listeners + + Increase the number of NetFlow listeners by using a configuration similar to the following: + Datadog recommends setting the number of workers to match the number of CPU cores in your system: + +```yaml + netflow: + enabled: true + listeners: + - flow_type: netflow9 + port: 2055 + workers: 4 # 4 CPUs +``` + +2. Augmenter la longueur de la file d'attente UDP (Linux uniquement) + + Ajuster la longueur de la file d'attente UDP de votre système peut aider à gérer le volume plus élevé de paquets NetFlow. Augmentez la taille du tampon de réception UDP à 25 Mo en exécutant les commandes suivantes : + +```bash + sudo sysctl -w net.core.rmem_max=26214400 + sudo sysctl -w net.core.rmem_default=26214400 +``` + +3. Persistance de la configuration (Linux uniquement) + + Pour rendre ces changements permanents, ajoutez les lignes suivantes à votre fichier `/etc/sysctl.conf` : + +```bash + net.core.rmem_max=26214400 + net.core.rmem_default=26214400 +``` + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/account/settings/agent/latest +[2]: /fr/network_monitoring/devices/snmp_metrics/ +[3]: /fr/agent/configuration/agent-configuration-files/?tab=agentv6v7#agent-main-configuration-file +[4]: /fr/agent/configuration/agent-commands/?tab=agentv6v7#start-stop-and-restart-the-agent +[5]: https://app.datadoghq.com/devices/netflow +[6]: /fr/monitors/types/netflow/ +[7]: https://github.com/DataDog/datadog-agent/blob/f6ae461a7d22aaf398de5a94d9330694d69560d6/pkg/config/config_template.yaml#L4201 +[8]: https://github.com/DataDog/datadog-agent/blob/f6ae461a7d22aaf398de5a94d9330694d69560d6/pkg/config/config_template.yaml#L4203-L4275 +[9]: /fr/network_monitoring/devices/troubleshooting#traps-or-flows-not-being-received-at-all +[10]: https://app.datadoghq.com/devices/settings/enrichment/ip \ No newline at end of file diff --git a/content/fr/network_monitoring/network_path/setup.md b/content/fr/network_monitoring/network_path/setup.md new file mode 100644 index 00000000000..41c62a17ee6 --- /dev/null +++ b/content/fr/network_monitoring/network_path/setup.md @@ -0,0 +1,623 @@ +--- +description: Configuration du chemin réseau +further_reading: +- link: https://www.datadoghq.com/blog/datadog-network-path-monitoring/ + tag: Blog + text: Obtenez une visibilité de bout en bout sur le réseau avec le chemin réseau + et la surveillance SD-WAN +- link: /network_monitoring/cloud_network_monitoring/guide/detecting_application_availability/ + tag: Guide + text: Détection de la disponibilité des applications à l'aide de Network Insights +- link: /network_monitoring/network_path/guide/traceroute_variants/ + tag: Guide + text: Variantes de traceroute du chemin réseau +is_beta: true +title: Implémentation +--- +## Aperçu {#overview} + +La configuration du chemin réseau implique de configurer votre environnement pour surveiller et tracer les routes réseau entre vos services et points de terminaison. Cela aide à identifier les goulets d'étranglement, les problèmes de latence et les points de défaillance potentiels dans votre infrastructure réseau. Le chemin réseau vous permet de configurer manuellement des chemins réseau individuels, de les découvrir automatiquement ou d'utiliser les deux méthodes simultanément, en fonction de vos besoins. + +**Remarque** : Si votre configuration réseau restreint le trafic sortant, suivez les instructions de configuration dans la documentation [Agent proxy configuration][2]. + +## Configuration {#setup} + +
Cette page couvre la configuration du chemin réseau pour la configuration basée sur l'Agent dans la surveillance réseau. Pour créer des tests de chemin réseau dans la surveillance synthétique, voir Tests de chemin réseau dans la surveillance synthétique.
+ +Datadog fournit deux méthodes de collecte basées sur l'Agent. Vous pouvez utiliser l'une ou l'autre méthode seule ou combiner les deux : + +| Méthode | Quand utiliser | +|--------|-------------| +| **[Tests programmés ](#scheduled-tests)** | Surveillez des paires source-destination spécifiques que vous définissez dans la configuration de l'Agent. Idéal pour suivre un ensemble connu de points de terminaison, tels que des API critiques ou des services partenaires. | +| **[Tests dynamiques ](#dynamic-tests)** | Découvrez et surveillez automatiquement les chemins en fonction du trafic observé par [Cloud Network Monitoring][1]. Idéal pour une visibilité large sans lister manuellement chaque destination. | + +### Tests programmés {#scheduled-tests} + +Vous pouvez surveiller des chemins réseau spécifiques en les définissant dans le fichier de configuration de l'Agent situé à `/etc/datadog-agent/conf.d/network_path.d/conf.yaml`. + +Pour commencer, copiez la [configuration d'exemple][5], supprimez l'extension `.example` et mettez-la à jour avec vos paramètres souhaités, ou utilisez l'une des configurations spécifiques à l'environnement ci-dessous. Pour optimiser les performances dans de grands environnements, consultez [augmenter le nombre de workers](#increase-the-number-of-workers). + +{{< tabs >}} +{{% tab "Linux" %}} + +L'Agent `v7.59+` est requis. + +1. Activez le module `system-probe` traceroute dans `/etc/datadog-agent/system-probe.yaml` en ajoutant ce qui suit : + + ``` + traceroute: + enabled: true + ``` + +2. Activez `network_path` pour surveiller de nouvelles destinations depuis cet Agent en créant ou en modifiant le fichier `/etc/datadog-agent/conf.d/network_path.d/conf.yaml` : + + ```yaml + init_config: + min_collection_interval: 60 # in seconds, default 60 seconds + instances: + # configure the endpoints you want to monitor, one check instance per endpoint + # warning: Do not set the port when using UDP. Setting the port when using UDP can cause traceroute calls to fail and falsely report an unreachable destination. + + - hostname: api.datadoghq.eu # endpoint hostname or IP + protocol: TCP + port: 443 + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + min_collection_interval: 120 # set min_collection_interval at the instance level + ## optional configs: + # max_ttl: 30 # max traceroute TTL, default is 30 + # timeout: 1000 # timeout in milliseconds per hop, default is 1s + # tcp_method: syn # TCP probing method, default is syn, options: syn, sack, prefer_sack + # traceroute_queries: 3 # number of traceroutes to send per check run, default is 3 + # e2e_queries: 50 # number of end-to-end probes to send per check run, default is 50 + + # more endpoints + - hostname: 1.1.1.1 # endpoint hostname or IP + protocol: UDP + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + + ``` + +3. Redémarrez l'Agent après avoir effectué ces modifications de configuration pour commencer à voir les chemins réseau. + +{{% /tab %}} +{{% tab "macOS" %}} + +L'Agent `v7.75+` est requis. + +1. Activez le module `system-probe` traceroute dans `/opt/datadog-agent/etc/system-probe.yaml` en ajoutant ce qui suit : + + ``` + traceroute: + enabled: true + ``` + +2. Activez `network_path` pour surveiller de nouvelles destinations depuis cet Agent en créant ou en modifiant le fichier `/opt/datadog-agent/etc/conf.d/network_path.d/conf.yaml` : + + ```yaml + init_config: + min_collection_interval: 60 # in seconds, default 60 seconds + instances: + # configure the endpoints you want to monitor, one check instance per endpoint + # warning: Do not set the port when using UDP. Setting the port when using UDP can cause traceroute calls to fail and falsely report an unreachable destination. + + - hostname: api.datadoghq.eu # endpoint hostname or IP + protocol: TCP + port: 443 + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + min_collection_interval: 120 # set min_collection_interval at the instance level + ## optional configs: + # max_ttl: 30 # max traceroute TTL, default is 30 + # timeout: 1000 # timeout in milliseconds per hop, default is 1s + # tcp_method: syn # TCP probing method, default is syn, options: syn, sack, prefer_sack + # traceroute_queries: 3 # number of traceroutes to send per check run, default is 3 + # e2e_queries: 50 # number of end-to-end probes to send per check run, default is 50 + + # more endpoints + - hostname: 1.1.1.1 # endpoint hostname or IP + protocol: UDP + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + + ``` + +3. Redémarrez l'Agent après avoir effectué ces modifications de configuration pour commencer à voir les chemins réseau. + +{{% /tab %}} +{{% tab "Windows" %}} + +L'Agent `v7.72+` est requis. + +1. Activez le module `system-probe` traceroute dans `%ProgramData%\Datadog\system-probe.yaml` en ajoutant ce qui suit : + + ``` + traceroute: + enabled: true + ``` + +2. Activez `network_path` pour surveiller de nouvelles destinations depuis cet Agent en créant ou en modifiant le fichier `%ProgramData%\Datadog\conf.d\network_path.d\conf.yaml` : + + ```yaml + init_config: + min_collection_interval: 60 # in seconds, default 60 seconds + instances: + # configure the endpoints you want to monitor, one check instance per endpoint + # warning: Do not set the port when using UDP. Setting the port when using UDP can cause traceroute calls to fail and falsely report an unreachable destination. + + - hostname: api.datadoghq.eu # endpoint hostname or IP + protocol: TCP + port: 443 + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + min_collection_interval: 120 # set min_collection_interval at the instance level + ## optional configs: + # max_ttl: 30 # max traceroute TTL, default is 30 + # timeout: 1000 # timeout in milliseconds per hop, default is 1s + # tcp_method: syn # TCP probing method, default is syn, options: syn, sack, prefer_sack, syn_socket (Windows only) + # traceroute_queries: 3 # number of traceroutes to send per check run, default is 3 + # e2e_queries: 50 # number of end-to-end probes to send per check run, default is 50 + + # more endpoints + - hostname: 1.1.1.1 # endpoint hostname or IP + protocol: TCP + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + ``` + + 3. Redémarrez l'Agent après avoir effectué ces modifications de configuration pour commencer à voir les chemins réseau. + +{{% /tab %}} +{{% tab "Helm" %}} + +L'Agent `v7.59+` est requis. + +
La version du chart Helm v3.109.1+ est requise. Pour plus d'informations, consultez la documentation du chart Helm Datadog et la documentation pour Kubernetes et les Intégrations.
+ +Pour activer le chemin réseau avec Kubernetes en utilisant Helm, ajoutez ce qui suit à votre fichier `values.yaml`. + + ```yaml + datadog: + traceroute: + enabled: true + confd: + network_path.yaml: |- + init_config: + min_collection_interval: 60 # in seconds, default 60 seconds + instances: + # configure the endpoints you want to monitor, one check instance per endpoint + # warning: Do not set the port when using UDP. Setting the port when using UDP can cause traceroute calls to fail and falsely report an unreachable destination. + + - hostname: api.datadoghq.eu # endpoint hostname or IP + protocol: TCP + port: 443 + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + min_collection_interval: 120 # set min_collection_interval at the instance level + ## optional configs: + # max_ttl: 30 # max traceroute TTL, default is 30 + # timeout: 1000 # timeout in milliseconds per hop, default is 1s + # tcp_method: syn # TCP probing method, default is syn, options: syn, sack, prefer_sack + # traceroute_queries: 3 # number of traceroutes to send per check run, default is 3 + # e2e_queries: 50 # number of end-to-end probes to send per check run, default is 50 + + # more endpoints + - hostname: 1.1.1.1 # endpoint hostname or IP + protocol: UDP + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + +``` + +{{% /tab %}} +{{% tab "Autodiscovery (Kubernetes)" %}} +Datadog Autodiscovery allows you to enable Network Path on a per-service basis through Kubernetes annotations. + +
Helm chart v3.109.1+ is required. For more information, see the Datadog Helm Chart documentation.
+ +1. Enable the traceroute module in the Datadog `values.yaml` file, which the Network Path integration depends on. + + ```yaml + datadog: + traceroute: + enabled: true + +2. After the module is enabled, Datadog automatically detects Network Path annotations added to your Kubernetes pod. For more information, see [Kubernetes and Integrations][2]. + + ```yaml + apiVersion: v1 + kind: Pod + # (...) + metadata: + name: '' + annotations: + ad.datadoghq.com/.checks: | + { + "network_path": { + "init_config": { + "min_collection_interval": 300 + }, + "instances": [ + { + "protocol": "TCP", + "port": 443, + "source_service": "", + "tags": [ + "tag_key:tag_value", + "tag_key2:tag_value2" + ], + "hostname": "api.datadoghq.eu" + }, + { + "protocol": "UDP", + "source_service": "", + "tags": [ + "tag_key:tag_value", + "tag_key2:tag_value2" + ], + "hostname": "1.1.1.1" + }, + ] + } + } + # (...) + spec: + containers: + - name: '' + # (...) + ``` + If you define pods indirectly (with deployments, ReplicaSets, or ReplicationControllers), add pod annotations under `spec.template.metadata`. + +[1]: https://github.com/DataDog/helm-charts/blob/master/charts/datadog/README.md#enabling-system-probe-collection +[2]: https://docs.datadoghq.com/fr/containers/kubernetes/integrations/?tab=annotations#configuration + +{{% /tab %}} +{{< /tabs >}} + +#### Increase the number of workers + +Network Path monitoring for individual paths runs as an Agent Integration. The number of concurrent workers is controlled by the `check_runners` setting in the `datadog.yaml` file. + +To increase the number of workers, add the following configuration to your `datadog.yaml` file: + +```yaml +## @param check_runners - integer - optional - default: 4 +## @env DD_CHECK_RUNNERS - integer - optional - default: 4 +## The `check_runners` refers to the number of concurrent check runners available for check instance execution. +## The scheduler attempts to spread the instances over the collection interval and will _at most_ be +## running the number of check runners instances concurrently. +## +## The level of concurrency has effects on the Agent's: RSS memory, CPU load, resource contention overhead, etc. +# +check_runners: +``` + +### Dynamic tests + +**Prerequisites**: [CNM][1] must be enabled. + +Configure dynamic tests to allow the Agent to automatically discover and monitor network paths based on actual network traffic, eliminating the need to manually configure individual endpoints. See [filter syntax](#filter-syntax) to include/exclude domain or IPs. + +{{< tabs >}} +{{% tab "Linux" %}} + +L'Agent `v7.73+` est requis. + +1. Activez le module `system-probe` traceroute dans `/etc/datadog-agent/system-probe.yaml` en ajoutant ce qui suit : + + ```yaml + traceroute: + enabled: true + ``` + +2. Activez `network_path` pour surveiller les connexions CNM en créant ou en modifiant le fichier `/etc/datadog-agent/datadog.yaml` : + + ```yaml + network_path: + connections_monitoring: + enabled: true + # collector: + # workers: # default 4 + ``` + + For full configuration details, reference the [example config][3], or use the following: + + ```yaml + network_path: + connections_monitoring: + ## @param enabled - bool - required - default:false + ## Enable network path collection + # + enabled: true + collector: + ## @param workers - int - optional - default:4 + ## Number of workers that can collect paths in parallel + ## Recommendation: leave at default + # + # workers: # default 4 + + #@env DD_NETWORK_PATH_COLLECTOR_PATHTEST_INTERVAL - integer - optional - default: 10m + # The `pathtest_interval` refers to the traceroute run interval for monitored connections. + # pathtest_interval: 10m + + # @param pathtest_ttl - integer - optional - default: 35m + # @env DD_NETWORK_PATH_COLLECTOR_PATHTEST_TTL - integer - optional - default: 35m + # The `pathtest_ttl` refers to the duration (time-to-live) a connection will be monitored when it's not seen anymore. + # The TTL is reset each time the connection is seen again. + # pathtest_ttl: 35m + + ## @param filters - list - optional + ## Include or exclude specific domains or IP ranges from dynamic monitoring. + ## Filters are applied sequentially, with later filters taking precedence. + ## See the "Filter syntax" section for details and examples: https://docs.datadoghq.com/network_monitoring/network_path/setup/#filter-syntax + # + # filters: + # - match_domain: '*.example.com' + # type: exclude + # - match_ip: 10.0.0.0/8 + # type: exclude + # - match_domain: 'api.datadoghq.com' + # type: include + + ``` + +3. Redémarrez l'Agent après avoir effectué ces modifications de configuration pour commencer à voir les chemins réseau. + +[3]: https://github.com/DataDog/datadog-agent/blob/2c8d60b901f81768f44a798444af43ae8d338843/pkg/config/config_template.yaml#L1731 + +{{% /tab %}} +{{% tab "Windows" %}} + +L'Agent `v7.73+` est requis. + +1. Activez le module `system-probe` traceroute dans `%ProgramData%\Datadog\system-probe.yaml` en ajoutant ce qui suit : + + ```yaml + traceroute: + enabled: true + ``` + +2. Activez `network_path` pour surveiller les connexions CNM en créant ou en modifiant le fichier `%ProgramData%\Datadog\datadog.yaml` : + + ```yaml + network_path: + connections_monitoring: + enabled: true + # collector: + # workers: # default 4 + ``` + + For full configuration details, reference the [example config][3], or use the following: + + ```yaml + network_path: + connections_monitoring: + ## @param enabled - bool - required - default:false + ## Enable network path collection + # + enabled: true + collector: + ## @param workers - int - optional - default:4 + ## Number of workers that can collect paths in parallel + ## Recommendation: leave at default + # + # workers: # default 4 + + #@env DD_NETWORK_PATH_COLLECTOR_PATHTEST_INTERVAL - integer - optional - default: 10m + # The `pathtest_interval` refers to the traceroute run interval for monitored connections. + # pathtest_interval: 10m + + # @param pathtest_ttl - integer - optional - default: 35m + # @env DD_NETWORK_PATH_COLLECTOR_PATHTEST_TTL - integer - optional - default: 35m + # The `pathtest_ttl` refers to the duration (time-to-live) a connection will be monitored when it's not seen anymore. + # The TTL is reset each time the connection is seen again. + # pathtest_ttl: 35m + + ## @param filters - list - optional + ## Include or exclude specific domains or IP ranges from dynamic monitoring. + ## Filters are applied sequentially, with later filters taking precedence. + ## See the "Filter syntax" section for details and examples: https://docs.datadoghq.com/network_monitoring/network_path/setup/#filter-syntax + # + # filters: + # - match_domain: '*.example.com' + # type: exclude + # - match_ip: 10.0.0.0/8 + # type: exclude + # - match_domain: 'api.datadoghq.com' + # type: include + ``` + +3. Redémarrez l'Agent après avoir effectué ces modifications de configuration pour commencer à voir les chemins réseau. + +[3]: https://github.com/DataDog/datadog-agent/blob/2c8d60b901f81768f44a798444af43ae8d338843/pkg/config/config_template.yaml#L1731 + +{{% /tab %}} +{{% tab "Helm" %}} + +L'Agent `v7.73+` est requis. + +Pour activer le chemin réseau avec Kubernetes en utilisant Helm, ajoutez ce qui suit à votre fichier `values.yaml`. +**Remarque :** La version du chart Helm v3.124.0+ est requise. Pour plus d'informations, consultez la [documentation du chart Helm Datadog][1] et la documentation pour [Kubernetes et les Intégrations][2]. + +```yaml +datadog: + networkPath: + connectionsMonitoring: + enabled: true + ## Set to true to enable the Traceroute Module of the System Probe + traceroute: + enabled: true + + ## @param collector - custom object - optional + ## Configuration related to Network Path Collector. + # + collector: + ## @param workers - integer - optional - default: 4 + ## @env DD_WORKERS - integer - optional - default: 4 + ## The `workers` refers to the number of concurrent workers available for network path execution. + # + # workers: 4 + + ## @param pathtest_interval - integer - optional - default: 35m + ## @env DD_NETWORK_PATH_COLLECTOR_PATHTEST_INTERVAL - integer - optional - default: 30m + ## The `pathtest_interval` refers to the traceroute run interval for monitored connections. + # + # pathtest_interval: 30m + + ## @param pathtest_ttl - integer - optional - default: 35m + ## @env DD_NETWORK_PATH_COLLECTOR_PATHTEST_TTL - integer - optional - default: 35m + ## The `pathtest_ttl` refers to the duration (time-to-live) a connection will be monitored when it's not seen anymore. + ## The TTL is reset each time the connection is seen again. + # + # pathtest_ttl: 35m + + ## @param filters - list - optional + ## Include or exclude specific domains or IP ranges from dynamic monitoring. + ## Filters are applied sequentially, with later filters taking precedence. + ## See the "Filter syntax" section for details and examples: https://docs.datadoghq.com/network_monitoring/network_path/setup/#filter-syntax + # + # filters: + # - match_domain: '*.example.com' + # type: exclude + # - match_ip: 10.0.0.0/8 + # type: exclude + # - match_domain: 'api.datadoghq.com' + # type: include + +``` +[1]: https://github.com/DataDog/helm-charts/blob/main/charts/datadog/README.md +[2]: https://docs.datadoghq.com/fr/containers/kubernetes/integrations/?tab=helm#configuration + + +{{% /tab %}} +{{< /tabs >}} + +#### Syntaxe de filtrage {#filter-syntax} + +Configurez des filtres pour inclure ou exclure des domaines et des IP, vous permettant de : + +- Réduire la surcharge de surveillance pour les réseaux internes +- Se concentrer sur les modèles de trafic externes +- Exclure les plages d'infrastructure connues qui ne nécessitent pas de surveillance + +Pour inclure ou exclure des domaines spécifiques ou des plages d'IP des tests dynamiques, ajoutez ce qui suit à votre fichier `/etc/datadog-agent/datadog.yaml` : + +```yaml +network_path: + connections_monitoring: + enabled: true + collector: + filters: + # exclude single domain + - match_domain: 'api.slack.com' + type: exclude + + # exclude domain using `*` wildcard + - match_domain: '*.datadoghq.com' # this translates to regex '.*\.datadoghq\.com + type: exclude + - match_domain: '*.zoom.us' + match_domain_strategy: wildcard # use simple wildcard matching (wildcard matching is the default) + type: exclude + + # exclude single IP or using CIDR notation + - match_ip: 10.10.10.10 + type: exclude + - match_ip: 10.20.0.0/24 + type: exclude + + # exclude using regex + - match_domain: '.*\.zoom\.us' + match_domain_strategy: regex # use regex matching strategy + type: exclude + + # include + - match_domain: 'api.datadoghq.com' + type: include +``` + +**Remarque**: +Les filtres sont appliqués de manière séquentielle, les filtres ultérieurs ayant la priorité sur les précédents. + +Par exemple, tous les domaines correspondant à `*.datadoghq.com` sont ignorés, sauf `api.datadoghq.com`. + +```yaml +network_path: + collector: + filters: + - match_domain: '*.datadoghq.com' + type: exclude + - match_domain: 'api.datadoghq.com' + type: include +``` + +### Résolution de l'IP publique source {#source-public-ip-resolution} + +
La résolution de l'IP publique source est disponible dans l'Agent v7.75+.
+ +Le chemin réseau résout l'adresse IP publique de l'hôte source pour fournir une visualisation précise du chemin pour le trafic sortant vers Internet. L'Agent contacte des services de vérification d'IP externes via HTTPS pour déterminer l'IP publique de l'hôte. + +Cette fonctionnalité n'est **pas requise** pour le bon fonctionnement du chemin réseau. Si ces services sont inaccessibles, le chemin réseau continue de fonctionner normalement, mais l'IP publique source n'est pas résolue et les visualisations de chemin ne montrent pas les métadonnées de l'IP source. + +Si votre réseau restreint le trafic sortant et que vous souhaitez la résolution de l'IP publique source, ajoutez les URL suivantes à votre liste blanche de pare-feu : + +| URL | Fournisseur | +|-----|----------| +| `https://icanhazip.com` | Cloudflare | +| `https://ipinfo.io/ip` | IPinfo | +| `https://checkip.amazonaws.com` | Amazon | +| `https://api.ipify.org` | ipify | +| `https://whatismyip.akamai.com` | Akamai | + +L'Agent essaie chaque service dans l'ordre et utilise la première réponse réussie. Toutes les requêtes sont effectuées via HTTPS (port 443). + +## Dépannage {#troubleshooting} + +Utilisez les directives suivantes pour résoudre les problèmes liés au chemin réseau. Si vous avez besoin d'aide supplémentaire, contactez [Datadog Support][3]. + +### Aucune donnée de chemin réseau dans l'interface utilisateur {#no-network-path-data-in-the-ui} + +Si aucune donnée n'apparaît dans l'interface utilisateur [Network Path][4], la fonctionnalité peut ne pas être entièrement activée. Le chemin réseau nécessite ce qui suit : + +1. Le module traceroute doit être activé dans votre fichier `system-probe.yaml` : + + ```yaml + traceroute: + enabled: true + ``` + +2. Au moins une fonctionnalité de chemin réseau doit être active, telle que : + + - [Des chemins individuels](#monitor-individual-paths) configurés via le fichier `conf.d/network_path.d`. + - Des chemins de trafic réseau [ expérimentaux](#network-traffic-paths-experimental) configurés en activant à la fois `network_path.connections_monitoring` et [Cloud Network Monitoring][1](CNM). + +### Erreur : code d'état : 404 {#error-status-code-404} + +Si vous rencontrez une erreur comme suit : + + ```text + Error: failed to trace path: traceroute request failed: Probe Path , url: , status code: 404 + ``` + + - Cela indique que le module traceroute n'est pas activé. Assurez-vous que le module traceroute est activé dans votre fichier `system-probe.yaml`. + + + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /fr/network_monitoring/cloud_network_monitoring/setup/ +[2]: https://docs.datadoghq.com/fr/agent/configuration/proxy/?tab=linux +[3]: /fr/help +[4]: https://app.datadoghq.com/network/path +[5]: https://github.com/DataDog/datadog-agent/blob/main/cmd/agent/dist/conf.d/network_path.d/conf.yaml.example +[15]: /fr/synthetics/network_path_tests/ \ No newline at end of file diff --git a/content/fr/profiler/enabling/_index.mdoc.md b/content/fr/profiler/enabling/_index.mdoc.md new file mode 100644 index 00000000000..2583efa25c3 --- /dev/null +++ b/content/fr/profiler/enabling/_index.mdoc.md @@ -0,0 +1,89 @@ +--- +aliases: +- /fr/tracing/faq/profiling_migration/ +- /fr/tracing/profiler/enabling/ +- /fr/tracing/profiler/enabling/java/ +- /fr/tracing/profiler/enabling/python/ +- /fr/tracing/profiler/enabling/go/ +- /fr/tracing/profiler/enabling/ruby/ +- /fr/tracing/profiler/enabling/nodejs/ +- /fr/tracing/profiler/enabling/dotnet/ +- /fr/tracing/profiler/enabling/php/ +- /fr/profiler/enabling/java/ +- /fr/profiler/enabling/python/ +- /fr/profiler/enabling/go/ +- /fr/profiler/enabling/ruby/ +- /fr/profiler/enabling/nodejs/ +- /fr/profiler/enabling/dotnet/ +- /fr/profiler/enabling/php/ +- /fr/profiler/enabling/graalvm/ +- /fr/tracing/profiler/enabling/linux/ +- /fr/tracing/profiler/enabling/ddprof/ +- /fr/profiler/enabling/ddprof/ +content_filters: +- label: Language + option_group_id: profiler_language_options + trait_id: prog_lang +- label: Runtime + option_group_id: java_profiler_runtime_options + show_if: + - prog_lang: + - java + trait_id: runtime +further_reading: +- link: getting_started/profiler + tag: Documentation + text: Prise en main du profileur +- link: profiler/profile_visualizations + tag: Documentation + text: En savoir plus sur les visualisations de profils disponibles +- link: profiler/profiler_troubleshooting + tag: Documentation + text: Résoudre les problèmes rencontrés en utilisant le profiler +title: Activer le profileur +--- + +{% if equals($prog_lang, "java") %} +{% partial file="profiler/enabling/java.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "python") %} +{% partial file="profiler/enabling/python.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "go") %} +{% partial file="profiler/enabling/go.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "ruby") %} +{% partial file="profiler/enabling/ruby.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "node_js") %} +{% partial file="profiler/enabling/nodejs.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "dot_net") %} +{% partial file="profiler/enabling/dotnet.mdoc.md" /%} +{% /if %} + + +{% if equals($prog_lang, "php") %} +{% partial file="profiler/enabling/php.mdoc.md" /%} +{% /if %} + + +{% if includes($prog_lang, ["c", "cpp", "rust"]) %} +{% partial file="profiler/enabling/ddprof.mdoc.md" /%} +{% /if %} + +## Vous ne savez pas quoi faire ensuite ? {% #not-sure-what-to-do-next %} + +Le guide [Premier pas avec le profileur en continu][1] présente un exemple de service problématique et vous explique comment utiliser le profileur en continu pour mieux comprendre le problème et le corriger. + +[1]: /fr/getting_started/profiler/ \ No newline at end of file diff --git a/content/fr/real_user_monitoring/application_monitoring/browser/troubleshooting.mdoc.md b/content/fr/real_user_monitoring/application_monitoring/browser/troubleshooting.mdoc.md new file mode 100644 index 00000000000..56838d3c1d9 --- /dev/null +++ b/content/fr/real_user_monitoring/application_monitoring/browser/troubleshooting.mdoc.md @@ -0,0 +1,16 @@ +--- +aliases: +- /fr/real_user_monitoring/browser/troubleshooting/ +description: Résolvez les problèmes courants avec le RUM Browser SDK, y compris les + données manquantes, les bloqueurs de publicités, les restrictions réseau et les + problèmes de configuration. +further_reading: +- link: https://www.datadoghq.com/blog/real-user-monitoring-with-datadog/ + tag: Blog + text: Real User Monitoring +- link: /integrations/content_security_policy_logs/ + tag: Documentation + text: Stratégie de sécurité de contenu +title: Dépannage des problèmes du Browser SDK +--- +{% partial file="sdk/troubleshooting/browser.mdoc.md" /%} \ No newline at end of file diff --git a/content/fr/real_user_monitoring/rum_without_limits/_index.md b/content/fr/real_user_monitoring/rum_without_limits/_index.md new file mode 100644 index 00000000000..935718f0ea8 --- /dev/null +++ b/content/fr/real_user_monitoring/rum_without_limits/_index.md @@ -0,0 +1,113 @@ +--- +description: Conservez uniquement les données RUM dont vous avez besoin tout en maintenant + une visibilité complète sur les indicateurs de performance de vos applications. +further_reading: +- link: /real_user_monitoring/rum_without_limits/retention_filters + tag: Documentation + text: Conservez les données avec des filtres de rétention +- link: /real_user_monitoring/guide/retention_filter_best_practices/ + tag: Guide + text: Meilleures pratiques pour les filtres de rétention +- link: /real_user_monitoring/rum_without_limits/metrics + tag: Documentation + text: Analysez la performance avec des indicateurs de performance +- link: /real_user_monitoring/rum_without_limits/retention_quotas + tag: Documentation + text: Contrôlez les coûts grâce aux quotas de rétention +- link: https://www.datadoghq.com/blog/rum-without-limits/ + tag: Blog + text: 'Présentation de RUM sans limites™ : Capturez tout, conservez ce qui est important' +- link: https://learn.datadoghq.com/courses/rum-retention-filters + tag: Centre d'apprentissage + text: 'Laboratoire interactif : Filtres de rétention RUM' +title: RUM sans limites +--- +
RUM sans limites est automatiquement activé pour les clients ayant des plans RUM non engagés. Contactez votre équipe de compte ou le support Datadog pour activer cette fonctionnalité.
+ +{{< img src="real_user_monitoring/rum_without_limits/rum-without-limits-overview.png" alt="Détails des indicateurs d'utilisation estimés dans le panneau latéral" style="width:90%" >}} + +## Aperçu {#overview} + +RUM sans limites vous offre une flexibilité sur le volume de vos sessions RUM en découplant l'ingestion des données de session de l'indexation. Cela vous permet de : + +- Définir dynamiquement des filtres de rétention depuis l'interface utilisateur de Datadog sans décisions d'échantillonnage préalables ni modifications de code +- Conserver les sessions avec des erreurs ou des problèmes de performance et rejeter celles moins significatives, comme celles avec peu d'interactions utilisateur + +Même si vous ne conservez qu'une fraction de vos sessions, Datadog fournit des [indicateurs de performance][1] pour toutes les sessions ingérées. Cela garantit une vue d'ensemble précise et à long terme de la santé et de la performance de l'application, même si seule une fraction des données de session est conservée. + +**Remarque** : En mode RUM sans limites, vous ne pouvez utiliser que des filtres par défaut sur la [page de résumé de la surveillance de la performance][7]. Cela vous permet de voir l'ensemble du jeu de données et empêche les indicateurs de performance biaisés puisque les données sont échantillonnées et qu'il y a moins de balises disponibles que dans les attributs d'événements. + +Cette page identifie les composants clés de RUM sans limites qui peuvent vous aider à gérer le volume de vos sessions RUM dans le cadre de votre budget d'observabilité. + +### Pour les nouvelles applications {#for-new-applications} + +Pour commencer avec RUM sans limites pour les nouvelles applications, à l'étape [instrumentation][2] : + +1. Assurez-vous que le `sessionSampleRate` est réglé à 100 %. Datadog recommande de le régler à ce taux pour une visibilité optimale et une précision des métriques. + +2. Choisissez un `sessionReplaySampleRate` qui répond à vos besoins d'observabilité. + +3. Pour les applications avec l'[intégration APM activée][3], configurez le pourcentage de sessions pour lesquelles vous souhaitez vous assurer que les traces APM backend sont ingérées avec `traceSampleRate` (navigateur), `traceSampler` (Android) ou `sampleRate` (iOS). + +4. Activez `traceContextInjection: sampled` pour permettre aux SDK backend de prendre leurs propres décisions d'échantillonnage pour les sessions où le SDK RUM décide de ne pas conserver la trace. + +
Les étapes 1, 3 et 4 peuvent avoir un impact sur l'ingestion de vos traces APM. Pour garantir que les volumes de spans ingérés restent stables, configurez le traceSampleRate au précédent configuré sessionSampleRate. Par exemple, si vous aviez sessionSampleRate réglé à 10 % et que vous le portez à 100 % pour RUM sans limites, réduisez le traceSampleRate de 100 % à 10 % en conséquence pour ingérer le même nombre de traces.
+ +5. Déployez votre application pour appliquer la configuration. + +### Pour les applications existantes {#for-existing-applications} +Les utilisateurs de RUM existants doivent redéployer les applications pour utiliser pleinement RUM sans limites. Assurez-vous que votre taux d'échantillonnage de sessions est de 100 % pour toutes les applications. + +#### Étape 1 : Ajustez les taux d'échantillonnage {#step-1-adjust-sampling-rates} +Si vous collectez déjà des replays, augmenter le taux d'échantillonnage des sessions nécessite de réduire le taux d'échantillonnage des replays pour collecter le même nombre de replays (voir exemple ci-dessous). Le taux d'échantillonnage de la relecture est basé sur le taux d'échantillonnage de la session existante. + +Avant : + +```java + sessionSampleRate: 20, + sessionReplaySampleRate: 10, +``` + +Après : + +```java + sessionSampleRate: 100, + sessionReplaySampleRate: 2, +``` + +1. Naviguez vers [**Digital Experiences > Real User Monitoring > Manage Applications**][4]. +1. Cliquez sur l'application que vous souhaitez migrer. +1. Cliquez sur l'onglet **SDK Configuration**. +1. Assurez-vous que `sessionSampleRate` est réglé sur 100 %. +1. Réglez `sessionReplaySampleRate` sur un taux qui donne le même nombre de replays avant d'augmenter le taux d'échantillonnage de la session. +1. Utilisez le code généré pour mettre à jour votre code source et redéployez vos applications pour vous assurer que la nouvelle configuration est appliquée. + +#### Étape 2 : Ajustez le traçage {#step-2-adjust-tracing} + +Si vous avez augmenté `sessionSampleRate`, vous pourriez augmenter le nombre de spans APM ingérés puisque le SDK RUM a la capacité de remplacer les décisions d'échantillonnage des traces backend pour établir la corrélation. + +Pour atténuer cela, réglez `traceSampleRate` sur un pourcentage inférieur à 100 % (par rapport au `sessionSampleRate` précédemment défini) et réglez `traceContextInjection: sampled` pour permettre aux SDK backend de prendre leurs propres décisions d'échantillonnage pour les sessions où le SDK RUM décide de ne pas conserver la trace. + +#### Étape 3 : Créez des filtres de rétention {#step-3-create-retention-filters} + +Sur les applications mobiles, de nombreuses versions concurrentes peuvent coexister. Cependant, les versions existantes n'envoient pas nécessairement 100 % des sessions, ce qui signifie que la création de nouveaux filtres de rétention réduit les données disponibles dans Datadog pour ces versions d'application. + +Datadog recommande de créer les mêmes filtres de rétention pour toutes les versions d'application, indépendamment de la configuration du taux d'échantillonnage du SDK, qu'il soit réglé sur 100 % ou non. En fin de compte, toutes les sessions précieuses sont toujours collectées même si certaines sessions ne sont pas ingérées pour certaines versions plus anciennes. + +Voir les filtres de rétention suggérés et les cas d'utilisation dans [Meilleures pratiques pour les filtres de rétention][5]. + +## Prochaines étapes {#next-steps} + +Créez et configurez [filtres de rétention][6]. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /fr/real_user_monitoring/rum_without_limits/metrics +[2]: /fr/real_user_monitoring/application_monitoring/browser/setup/ +[3]: /fr/real_user_monitoring/platform/connect_rum_and_traces/ +[4]: https://app.datadoghq.com/rum/list +[5]: /fr/real_user_monitoring/guide/retention_filter_best_practices/ +[6]: /fr/real_user_monitoring/rum_without_limits/retention_filters +[7]: https://app.datadoghq.com/rum/performance-monitoring \ No newline at end of file diff --git a/content/fr/reference_tables/_index.md b/content/fr/reference_tables/_index.md new file mode 100644 index 00000000000..9028aa64eed --- /dev/null +++ b/content/fr/reference_tables/_index.md @@ -0,0 +1,314 @@ +--- +aliases: +- /fr/logs/guide/enrichment-tables/ +- /fr/logs/guide/reference-tables/ +- /fr/integrations/guide/reference-tables +description: Combinez des métadonnées personnalisées avec les données de Datadog en + téléchargeant des fichiers CSV ou en connectant un stockage cloud pour enrichir + les journaux, les données de sécurité et les analyses. +further_reading: +- link: /logs/log_configuration/processors + tag: Documentation + text: Utilisez le Lookup processor pour enrichir les journaux à partir d'une Reference + Table. +- link: /logs/explorer/advanced_search#filter-logs-based-on-reference-tables + tag: Documentation + text: Filtrez les journaux en fonction des tables de référence. +- link: /sheets/#lookup + tag: Documentation + text: Sheets lookup +- link: /events/pipelines_and_processors/lookup_processor/ + tag: Documentation + text: Lookup processor pour les événements. +- link: /cloud_cost_management/tag_pipelines/#map-multiple-tags + tag: Documentation + text: Utilisez les Reference Tables pour ajouter plusieurs tags aux données de coût. +- link: /metrics/reference_table_joins_with_metrics/ + tag: Documentation + text: Découvrez les jointures de tables de référence avec des métriques. +- link: https://www.datadoghq.com/blog/add-context-with-reference-tables/ + tag: Blog + text: Ajoutez plus de contexte à vos logs avec les tables de référence +- link: https://www.datadoghq.com/blog/reference-tables/ + tag: Blog + text: Enrichissez votre télémétrie Datadog existante avec des métadonnées personnalisées + en utilisant des tables de référence. +- link: https://www.datadoghq.com/blog/add-context-with-reference-tables-in-cloud-siem/ + tag: Blog + text: Ajoutez plus de contexte aux détections et enquêtes Cloud SIEM avec les tables + de référence Datadog. +- link: https://www.datadoghq.com/blog/observability-pipelines-servicenow-cmdb-enrichment + tag: Blog + text: Enrichissez les journaux avec le contexte CMDB de ServiceNow avant de les + acheminer vers tout SIEM ou outil de journalisation. +- link: https://www.datadoghq.com/blog/observability-pipelines-mssp + tag: Blog + text: Simplifiez la collecte et l'agrégation des journaux pour les MSSP avec les + pipelines d'observabilité Datadog. +title: Tables de référence. +--- +## Aperçu {#overview} + +Les tables de référence vous permettent de combiner des métadonnées personnalisées avec des informations déjà présentes dans Datadog. Vous pouvez définir de nouvelles entités telles que des détails clients, des noms de services et des informations, ou des adresses IP en téléchargeant un fichier CSV contenant un tableau d'informations. Les entités sont représentées par une clé primaire dans une table de référence et les métadonnées associées. + +{{< img src="reference_tables/reference_table.png" alt="Une table de référence avec des données peuplées dans les colonnes pour l'identifiant d'organisation, le nom de l'organisation, l'organisation parente, le propriétaire du compte et le CSM." style="width:100%;">}} + +Vous pouvez par exemple : + +- **Enrichissez les journaux et les données de sécurité pour des enquêtes plus rapides :** Corrélez les journaux, les traces et les événements de sécurité avec un contexte commercial à jour—tel que les noms de clients, les propriétaires de comptes, les renseignements sur les menaces ou les descriptions de codes d'erreur—pour accélérer le dépannage et l'analyse. +- **Segmentez les utilisateurs et les ressources pour des analyses ciblées et une gestion des coûts:** regroupez les utilisateurs, les clients ou les ressources cloud en segments significatifs (comme les niveaux d'utilisateurs, les équipes ou les unités commerciales) pour des analyses de produits plus approfondies et une attribution précise des coûts en utilisant des outils comme Tag Pipelines. +- **Améliorez les données pour des requêtes et des rapports avancés:** effectuez une jointure de données externes issues des Reference Tables dans Sheets, DDSQL Editor ou Notebooks pour réaliser des requêtes complexes, des agrégations et créer des rapports personnalisés sans expertise technique. + +## Créer une table de référence {#create-a-reference-table} + +Datadog prend en charge les sources de données suivantes : y compris les intégrations et le téléchargement manuel de fichiers CSV : + +{{< tabs >}} +{{% tab "Téléchargement manuel " %}} + +Cliquez sur **New Reference Table +**, puis téléchargez un fichier CSV, nommez les colonnes appropriées et définissez la clé primaire pour les lookups. + +{{< img src="reference_tables/schema_setup.png" alt="La section Définir le schéma montrant un tableau avec org_id marqué comme clé primaire et des colonnes avec des données pour l'ID d'organisation, le nom de l'organisation, l'organisation parente, le propriétaire du compte et le CSM " style="width:100%;">}} + +**Remarque** : La méthode de téléchargement manuel de fichiers CSV prend en charge des fichiers allant jusqu'à 4 Mo. + +{{% /tab %}} +{{% tab "Stockage dans le cloud" %}} + +{{% collapse-content title="Amazon S3" level="h4" id="amazon-s3" %}} + +Les Reference Tables peuvent automatiquement récupérer un fichier CSV à partir d'un bucket Amazon S3 pour maintenir vos données à jour. L'intégration recherche des modifications dans le fichier CSV dans S3, et lorsque le fichier est mis à jour, il remplace la table de référence par les nouvelles données. Cela permet également la mise à jour via l'API S3 une fois que la Reference Table initiale est configurée. **Remarque** : Les tables de référence ne sont pas remplacées si le contenu du fichier CSV reste inchangé. + +Pour mettre à jour les tables de référence depuis S3, Datadog utilise le rôle IAM dans votre compte AWS que vous avez configuré pour l'[intégration AWS][1]. Si vous n'avez pas encore créé ce rôle, [suivez ces étapes][2] pour le faire. Pour permettre à ce rôle de mettre à jour vos tables de référence, ajoutez la déclaration de permission suivante à ses politiques IAM. Assurez-vous de modifier les noms de bucket pour correspondre à votre environnement. + +**Remarque** : Si vous utilisez le chiffrement côté serveur, vous pouvez télécharger des tables de référence chiffrées avec des clés gérées par Amazon S3 (SSE-S3) ou des clés du service de gestion des clés AWS (SSE-KMS). + +```json +{ + "Statement": [ + { + "Sid": "EnrichmentTablesS3", + "Effect": "Allow", + "Action": [ + "s3:GetObject", + // Grant KMS decrypt permissions if uploading KMS-encrypted object + // "kms:Decrypt", + "s3:ListBucket" + ], + "Resource": [ + "arn:aws:s3:::", + "arn:aws:s3:::" + ] + } + ], + "Version": "2012-10-17" +} +``` +#### Définir la table {#define-the-table} + +Cliquez sur **New Reference Table +**, puis ajoutez un nom, sélectionnez Amazon S3, remplissez tous les champs, cliquez sur importer et définissez la clé primaire pour les lookups. + +{{< img src="reference_tables/s3_table.png" alt="La section télécharger vos données avec la tuile Amazon S3 sélectionnée et les données remplies pour le compte AWS, le bucket et le chemin" style="width:100%;">}} + +**Remarque** : La méthode de téléchargement depuis un bucket S3 prend en charge des fichiers allant jusqu'à 200 Mo. + +[1]: https://app.datadoghq.com/account/settings#integrations/amazon-web-services +[2]: https://docs.datadoghq.com/fr/integrations/amazon_web_services/?tab=automaticcloudformation#installation + +{{% /collapse-content %}} +{{% collapse-content title="Stockage Azure" level="h4" id="azure-storage" %}} + +1. Si vous ne l'avez pas déjà fait, configurez l'[intégration Azure][1] dans l'abonnement qui détient le compte de stockage à partir duquel vous souhaitez importer votre table de référence. Cela implique de [créer un enregistrement d'application avec lequel Datadog peut][2] s'intégrer. +2. Dans le portail Azure, sélectionnez le compte de stockage qui contient vos fichiers de table de référence. +3. Dans votre compte de stockage, accédez à **Contrôle d'accès (IAM)** et sélectionnez **Ajouter** > **Ajouter une attribution de rôle**. +4. Saisissez et sélectionnez le rôle **Lecteur de données de blob de stockage**. Le [rôle Lecteur de données de blob de stockage][3] permet à Datadog de lire et de lister les conteneurs de stockage et les blobs. +5. Dans l'onglet **Membres**, cliquez sur **+ Select members**. Sélectionnez l'enregistrement d'application que vous avez créé à l'étape 1. + + {{< img src="reference_tables/add_members.png" alt="La section Membres dans le portail Azure où un membre est sélectionné et des données sont remplies pour le Nom, l'ID d'objet et le Type" style="width:85%;">}} + +Après avoir examiné et attribué le rôle, vous pouvez importer dans les tables de référence depuis Azure. Il peut falloir quelques minutes pour que votre configuration Azure se mette à jour dans Datadog. + +{{< img src="reference_tables/azure_table.png" alt="Une tuile de stockage Azure dans la section Télécharger ou importer des données d'un nouveau flux de travail de table de référence" style="width:80%;">}} + +Pour plus d'informations, consultez la [documentation sur l'intégration Azure][4]. + +**Remarque** : Le téléchargement depuis le stockage d'objets cloud prend en charge des fichiers allant jusqu'à 200 Mo. + +[1]: https://app.datadoghq.com/integrations/azure +[2]: /fr/integrations/azure/?tab=azurecliv20#integrating-through-the-azure-portal +[3]: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#storage-blob-data-reader +[4]: /fr/integrations/azure/ + +{{% /collapse-content %}} +{{% collapse-content title="Stockage Google Cloud" level="h4" id="google-cloud-storage" %}} + +### Stockage Google Cloud {#google-cloud-storage} + +{{% site-region region="gov,gov2" %}} +
Les Reference Tables ne sont pas disponibles pour votre site Datadog sélectionné ({{< region-param key="dd_site_name" >}})
+{{% /site-region %}} + +1. Si vous n'avez pas configuré d'intégration Google Cloud avec Datadog ou si vous utilisez des fichiers d'ID de projet Google hérités (les projets hérités sont indiqués dans votre tuile d'intégration GCP), suivez les instructions pour configurer l'[intégration Google Cloud Platform][1]. Cela implique de créer un [compte de service Google Cloud][2]. + +1. Depuis la console Google Cloud, accédez à la page **Stockage Cloud**. + +1. Trouvez le bucket auquel vous souhaitez accorder l'accès et cliquez dessus. + +1. Cliquez sur l'onglet **Permissions**. Sous "View By Principals", cliquez sur le bouton **Grant Access**. + +1. Dans la fenêtre qui apparaît, sous le champ "Nouveaux principaux", entrez l'adresse e-mail du compte de service que vous avez créé et ajouté au panneau GCP à l'étape 1. Sous "Attribuer des rôles", sélectionnez le rôle **Visionneuse d'objets de stockage**. Cliquez sur **Enregistrer**. + +{{< img src="reference_tables/grant_access.png" alt="Console Google Cloud montrant la configuration pour accorder l'accès" style="width:100%;" >}} + +Après avoir examiné et attribué le rôle, vous pouvez importer dans Reference Tables depuis Google Cloud. Il peut falloir quelques minutes pour que votre configuration se mette à jour dans Datadog. + +{{< img src="reference_tables/gcp_table.png" alt="Sélectionnez GCP Storage dans Télécharger ou importer des données lors de la création d'une nouvelle table de référence" style="width:100%;" >}} + +**Remarque** : Le téléchargement depuis le stockage d'objets cloud prend en charge des fichiers allant jusqu'à 200 Mo. + +[1]: /fr/integrations/google_cloud_platform/#setup +[2]: /fr/integrations/google_cloud_platform/#1-create-your-google-cloud-service-account + +{{% /collapse-content %}} +{{% collapse-content title="Terraform" level="h4" id="terraform" %}} + +Utilisez la ressource [`datadog_reference_table`][9] pour gérer les tables de référence en tant qu'infrastructure en tant que code. Configurez la ressource avec le schéma de votre table, les clés primaires et les détails d'accès au Stockage Cloud. + +**Remarque** : Terraform prend en charge les mêmes limites de taille de fichier que les téléchargements de stockage cloud. Voir [Reference Table limits](#reference-table-limits) pour plus de détails. + +[9]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/reference_table + +{{% /collapse-content %}} + +{{% /tab %}} +{{% tab "API" %}} + +Créez des tables de référence de manière programmatique en utilisant l'[API Datadog][8]. + +Utilisez le [point de terminaison Créer une Table de Référence][10] pour créer des tables de référence à partir du stockage cloud ou de fichiers locaux. +- Pour les sources de stockage cloud (S3, Azure, GCS), fournissez `access_details` dans `file_metadata` pointant vers un fichier CSV dans le stockage cloud. +- Pour les fichiers locaux, appelez `POST /api/latest/reference-tables/uploads` pour obtenir un ID de téléchargement et téléchargez vos données CSV. Ensuite, appelez le point de terminaison Créer une Table de Référence avec le `upload_id` dans `file_metadata`. + +**Remarque** : L'API prend en charge les mêmes limites de taille de fichier que les téléchargements de stockage cloud. Voir [Limites des Tables de Référence](#reference-table-limits) pour plus de détails. + +[8]: /fr/api/latest/reference-tables/ +[10]: /fr/api/latest/reference-tables/#create-reference-table + +{{% /tab %}} +{{% tab "Les intégrations" %}} + +{{< partial name="reference_tables/ref-tables-saas-integrations.html" >}} + +{{% /tab %}} +{{< /tabs >}} + +Cette Reference Table peut être utilisée pour ajouter des attributs supplémentaires aux journaux avec le [Lookup Processor][1]. + +## Règles de validation {#validation-rules} + +Les noms de tableau de référence et les en-têtes de colonne sont validés selon les conventions de nommage suivantes et mis à jour ou normalisés automatiquement, si nécessaire. + +| Règle | Normalisation | +| ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| Les noms et en-têtes ne peuvent pas être dupliqués. | Les noms dupliqués sont énumérés. Par exemple, si `fileid` est utilisé deux fois comme nom, la première instance devient `fileid1` et la seconde instance devient `fileid2`. Si un nom ou un en-tête est énuméré et dépasse 56 caractères, il est rejeté et doit être renommé. | +| Les noms et en-têtes ne peuvent pas contenir de lettres majuscules. | Les noms avec des lettres majuscules sont convertis en minuscules. Cette conversion peut entraîner des noms dupliqués, qui sont ensuite énumérés. Par exemple, `Fileid` et `FileID` deviennent tous deux `fileid` et sont énumérés en `fileid1` et `fileid2` respectivement. | +| Les noms et en-têtes ne peuvent pas contenir d'espaces. | Les espaces autres que les espaces de début et de fin sont remplacés par des caractères de soulignement `_`. Les espaces de début et de fin sont supprimés. Par exemple, `customer names` est remplacé par `customer_names`. | +| Les noms et en-têtes doivent commencer par une lettre minuscule. | Les caractères majuscules sont convertis en minuscules. Les caractères non alphabétiques en tête sont supprimés. Par exemple, `23Two_three` devient `two_three`. | +| Les noms et en-têtes ne supportent que les lettres minuscules, les chiffres et le caractère `_`. | Les caractères non pris en charge sont remplacés par le caractère souligné `_`, sauf si cela enfreint l'une des règles ci-dessus. Dans ce cas, les caractères non pris en charge sont normalisés selon la règle respective. | +| Les noms et en-têtes doivent comporter 56 caractères ou moins. | Aucune normalisation n'est effectuée. Les noms et en-têtes qui contiennent plus de 56 caractères sont rejetés et doivent être renommés. | + +## Modifier une table de référence {#modify-a-reference-table} + +Pour modifier une table de référence existante avec de nouvelles données, sélectionnez une table et cliquez sur **Mettre à jour la configuration** dans le coin supérieur droit. +Le CSV sélectionné est inséré dans la table, ce qui signifie que : + +* Toutes les lignes existantes avec la même clé primaire sont mises à jour +* Toutes les nouvelles lignes sont ajoutées +* Toutes les anciennes lignes qui ne figurent pas dans le nouveau fichier sont supprimées + +Une fois la table enregistrée, les lignes insérées sont traitées de manière asynchrone et mises à jour dans l'aperçu. Cela peut prendre jusqu'à 10 minutes pour que la mise à jour soit terminée. + +## Exporter une table de référence {#export-a-reference-table} + +Pour exporter une table de référence, sélectionnez une table et cliquez sur **Interroger dans l'éditeur DDSQL**. À partir de là, vous pouvez utiliser l'[éditeur DDSQL][7] pour exporter vers CSV, Dashboard, et plus encore. + +{{< img src="reference_tables/query_ddsql.png" alt="Aperçu de la table avec un bouton bleu étiqueté Interroger dans l'éditeur DDSQL positionné au-dessus des résultats." style="width:100%;" >}} + +## Supprimer une table de référence {#delete-a-reference-table} + +Pour supprimer une table de référence, sélectionnez une table, cliquez sur l'icône d'engrenage dans le coin supérieur droit, puis cliquez sur **Supprimer la table**. +La table et toutes les lignes associées sont supprimées. + +S'il y a un processeur de recherche utilisant une table de référence pour l'enrichissement des journaux, alors l'enrichissement s'arrête. Cela peut prendre jusqu'à 10 minutes pour que l'enrichissement s'arrête. + +## Surveiller l'activité de la table de référence {#monitor-reference-table-activity} + +Vous pouvez surveiller l'activité de la table de référence avec [Audit Trail][2] ou [Change Events][3]. Pour voir l'audit et les événements de changement pour une table de référence spécifique, sélectionnez la table et cliquez sur l'icône des paramètres à côté de **Mettre à jour la configuration**. Vous avez besoin des autorisations de gestion d'organisation pour voir l'audit. + +### Journal d'audit {#audit-trail} + +Utilisez le journal d'audit des tables de référence pour suivre les actions déclenchées par les utilisateurs. Les événements du journal d'audit sont envoyés lorsqu'un utilisateur télécharge ou importe initialement un fichier CSV, ou lorsqu'un utilisateur crée, modifie ou supprime une table de référence. + +Le `reference_table_file` Type d'actif affiche les événements d'importation/téléchargement et le `reference_table` Type d'actif affiche les événements de la table de référence. Le journal d'audit fournit une visibilité sur le contenu d'une table de référence. + +### Événements de changement {#change-events} + +Utilisez les événements de changement pour les tables de référence pour suivre les actions automatisées ou déclenchées par les utilisateurs. Ils sont envoyés lorsqu'un fichier cloud est importé par un utilisateur ou lors d'un rafraîchissement automatique. (Le téléchargement d'un fichier local ne génère pas d'événement de changement.) Bien que les événements puissent suivre les actions déclenchées par les utilisateurs, ils sont principalement utilisés pour suivre les importations déclenchées lorsque une table de référence tire automatiquement un nouveau fichier CSV. + +Les événements contiennent des informations sur le statut de succès, le chemin et le nom de la table de l'importation. Si une erreur se produit, des informations sur le type d'erreur sont fournies. + +### Alerte {#alerting} + +Pour être alerté des erreurs rencontrées lors des importations, utilisez les [Moniteurs d'Événements][4] pour les événements de changement de table de référence. Les événements de changement de table de référence sont envoyés depuis la source `reference_tables`. + +Vous pouvez créer des moniteurs depuis l'onglet **Moniteurs**, ou cliquer sur l'icône des Paramètres à côté de **Nouvelle Table de Référence +** pour générer un moniteur pré-rempli. + +## Limites de la Table de Référence {#reference-table-limits} +- Une table de référence peut avoir jusqu'à 50 colonnes +- La taille d'un fichier de table de référence téléchargé via l'interface utilisateur peut atteindre 4 Mo +- La taille d'un fichier de table de référence téléchargé via un fichier de bucket cloud peut atteindre 200 Mo +- La taille d'un fichier de table de référence téléchargé via une intégration peut atteindre 200 Mo +- Vous pouvez avoir jusqu'à 100 tables de référence par organisation + +Contactez [le support][5] si vous avez un cas d'utilisation qui dépasse ces limites. + +## Fréquence de mise à jour automatique {#automatic-update-frequency} + +Les tables de référence peuvent être mises à jour automatiquement, en fonction de la source de données : + +- **Stockage de fichiers cloud** (Amazon S3, Azure Storage, Google Cloud Storage) : Toutes les 5 minutes +- **Intégrations** : Chaque heure +- **Téléchargements manuels de CSV** : Les mises à jour automatiques ne sont pas prises en charge + +## Permissions {#permissions} + +### Accès basé sur les rôles {#role-based-access} +Pour voir les tables de référence, les utilisateurs nécessitent la permission `reference_tables_read`. Pour créer ou modifier des tables de référence, les utilisateurs ont besoin de la permission `reference_tables_write`. + +Pour plus d'informations sur les permissions, consultez la [documentation RBAC][6]. + +### Contrôles d'accès granulaires {#granular-access-controls} +Restreindre l'accès à des tables individuelles en spécifiant une liste d'équipes, de rôles ou d'utilisateurs autorisés à les consulter ou à les modifier. + +{{< img src="reference_tables/granular_permissions.png" alt="L'option de l'engrenage des permissions qui permet de définir des permissions d'accès granulaires sur une table" style="width:100%;">}} + +1. Cliquez sur une table pour ouvrir sa page de détails. +2. Cliquez sur l'icône d'engrenage dans le coin supérieur droit. +3. Sélectionnez **Permissions** dans le menu. +4. Cliquez sur **Restreindre l'accès**. +5. Utilisez le menu déroulant pour sélectionner une ou plusieurs équipes, rôles ou utilisateurs. +6. Cliquez sur **Ajouter**. +7. Sélectionnez soit **Éditeur** soit **Lecteur**. +8. Cliquez sur **Enregistrer** pour appliquer les modifications. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /fr/logs/log_configuration/processors/lookup_processor/ +[2]: /fr/account_management/audit_trail/ +[3]: /fr/events/ +[4]: /fr/monitors/types/event/ +[5]: /fr/help/ +[6]: /fr/account_management/rbac/permissions/#reference-tables +[7]: /fr/ddsql_editor/#save-and-share-queries \ No newline at end of file diff --git a/content/fr/remote_configuration/_index.md b/content/fr/remote_configuration/_index.md new file mode 100644 index 00000000000..eee092da2ed --- /dev/null +++ b/content/fr/remote_configuration/_index.md @@ -0,0 +1,213 @@ +--- +algolia: + tags: + - remote config + - remote configuration +aliases: +- /fr/agent/guide/how_rc_works +- /fr/agent/guide/how_remote_config_works +- /fr/agent/remote_config +description: Configurer à distance et modifier le comportement des composants Datadog + tels que les Agents, les SDK et les Travailleurs des pipelines d'observabilité déployés + dans votre infrastructure. +further_reading: +- link: /security/application_security/how-appsec-works/#built-in-protection + tag: Documentation + text: Fonctionnement d'Application Security Monitoring +- link: /dynamic_instrumentation/?tab=configurationyaml#enable-remote-configuration + tag: Documentation + text: Instrumentation dynamique +- link: /security/workload_protection/ + tag: Documentation + text: Configuration de la protection des charges de travail +- link: https://www.datadoghq.com/blog/compliance-governance-transparency-with-datadog-audit-trail/ + tag: Blog + text: Utiliser le journal d'audit Datadog +- link: https://www.datadoghq.com/blog/remote-configuration-for-datadog/ + tag: Blog + text: Appliquer aux composants Datadog des mises à jour en temps réel grâce à la + configuration à distance +title: Configuration à distance +--- +## Aperçu {#overview} + +La configuration à distance est une fonctionnalité de Datadog qui vous permet de configurer à distance et de modifier le comportement de certaines fonctionnalités du produit dans les composants Datadog tels que les Agents, les SDK et les Travailleurs des pipelines d'observabilité déployés dans votre infrastructure. Utilisez la configuration à distance pour appliquer des configurations aux composants Datadog dans votre environnement à la demande, réduisant ainsi les coûts de gestion, diminuant les frictions entre les équipes et accélérant les temps de résolution des problèmes. + +Pour les produits de sécurité Datadog, la protection des applications et des API et la protection des charges de travail, les Agents compatibles avec la configuration à distance et les SDK compatibles fournissent des mises à jour et des réponses de sécurité en temps réel, améliorant ainsi la posture de sécurité de vos applications et de votre infrastructure cloud. + +## Comment cela fonctionne {#how-it-works} + +Lorsque la configuration à distance est activée, les composants Datadog tels que l'Agent Datadog interrogent en toute sécurité le [site Datadog][1] configuré pour les changements de configuration prêts à être appliqués. Les changements en attente sont ensuite automatiquement appliqués aux composants Datadog. Par exemple, après avoir soumis des changements de configuration dans l'interface utilisateur de Datadog pour une fonctionnalité de produit activée par la configuration à distance, les changements sont stockés dans Datadog. + +Le schéma suivant illustre le fonctionnement de la configuration à distance : + +{{Les utilisateurs configurent les fonctionnalités dans l'interface utilisateur, la configuration est stockée dans Datadog, l'Agent demande des mises à jour de configuration.}} + +1. Vous configurez certaines fonctionnalités du produit dans l'interface utilisateur de Datadog. +2. Les configurations des fonctionnalités du produit sont stockées en toute sécurité dans Datadog. +3. Les composants Datadog activés par la configuration à distance dans vos environnements interrogent en toute sécurité, reçoivent et appliquent automatiquement les mises à jour de configuration de Datadog. Les bibliothèques de traçage déployées dans vos environnements communiquent avec les Agents pour demander et recevoir des mises à jour de configuration de Datadog au lieu d'interroger directement Datadog. + +## Environnements pris en charge {#supported-environments} + +La configuration à distance fonctionne dans des environnements où des composants Datadog pris en charge sont déployés. Les composants Datadog pris en charge incluent : +- Agents +- Traceurs (indirectement) +- Travailleurs des pipelines d'observabilité +- Exécuteurs d'actions privées et services de conteneurs sans serveur tels qu'AWS Fargate. + +La configuration à distance ne prend pas en charge les applications gérées par des conteneurs sans serveur, telles qu'AWS App Runner, Azure Container Apps, Google Cloud Run ; ou les fonctions déployées sous forme de conteneur, telles qu'AWS Lambda, Azure Functions et Google Cloud Functions. + +## Produits et fonctionnalités pris en charge {#supported-products-and-features} + +Les produits et fonctionnalités suivants sont pris en charge avec la configuration à distance. + +Fleet Automation +: - [Envoyer des flares][27] directement depuis le site Datadog. Dépannez l’Agent Datadog sans avoir besoin d’accéder directement à l’hôte. +: - [Mettez à niveau vos Agents][29]. + +Protection des applications et des API (AAP) +: - [Activation AAP en 1 clic][33]: Activez AAP en 1 clic depuis l'interface utilisateur de Datadog. +: - [Mises à jour des modèles d'attaque en application][34]: Recevez automatiquement les nouveaux modèles d'attaque du pare-feu d'application Web (WAF) dès que Datadog les publie, suivant les vulnérabilités ou vecteurs d'attaque nouvellement divulgués. +: - [Protéger][34]: Bloquez les adresses IP des attaquants, les utilisateurs authentifiés et les demandes suspectes signalées dans les Signaux de sécurité et les Traces AAP temporairement ou définitivement via l'interface utilisateur de Datadog. + +Application Security Monitoring (APM) +: - Configuration à l'exécution: Modifiez le taux d'échantillonnage des traces d'un service, l'activation de l'injection de journaux et les balises d'en-tête HTTP depuis l'interface Catalog, sans avoir à redémarrer le service. Lisez [Configuration à l'exécution][22] pour plus d'informations. +: - [Définir à distance le taux d'échantillonnage de l'Agent][35]: Configurez à distance l'Agent Datadog pour modifier ses taux d'échantillonnage de traces et définissez des règles pour adapter l'ingestion des traces de votre organisation selon vos besoins, sans avoir besoin de redémarrer votre Agent Datadog. + +[Instrumentation dynamique][36] +: - Envoyez des métriques critiques, des traces et des journaux de vos applications en direct sans modifications de code. + +Protection des charges de travail +: - Mises à jour automatiques des règles par défaut de l'Agent : Recevez et mettez à jour automatiquement les règles par défaut de l'Agent maintenues par Datadog à mesure que de nouvelles détections et améliorations de l'Agent sont publiées. Consultez [Configuration de la protection des charges de travail][3] pour plus d'informations. +- Déploiement automatique de règles d'Agent personnalisées : Déployez automatiquement vos règles d'Agent personnalisées sur des hôtes désignés (tous les hôtes ou un sous-ensemble défini d'hôtes). + +Pipelines d'observabilité +- Déployez et mettez à jour à distance les [Travailleurs des Pipelines d'Observabilité][4] (OPW) : Créez et modifiez des pipelines dans l'interface utilisateur de Datadog, déployant vos modifications de configuration sur les instances OPW fonctionnant dans votre environnement. + +[Mise à l'échelle automatique][47] +- Gérez à distance les configurations de mise à l'échelle des clusters et des charges de travail pour vos environnements conteneurisés. Consultez [Mise à l'échelle automatique][47] pour plus d'informations. + +Exécuteur d'actions privé +- Exécutez des workflows et des applications Datadog qui interagissent avec des services hébergés sur votre réseau privé sans exposer vos services à l'Internet public. Pour plus d'informations, consultez [Actions Privées][30]. + +Drapeaux de fonctionnalités +- Fournissez des configurations de drapeaux (règles de ciblage et d'attribution) aux SDK côté serveur pour une attribution de variante synchrone basée sur le contexte d'évaluation. Consultez [Drapeaux de fonctionnalités][48] pour plus d'informations. + +## Considérations de sécurité {#security-considerations} + +Datadog a mis en place les mécanismes suivants pour protéger la confidentialité, l'intégrité et la disponibilité des configurations récupérées et appliquées par vos composants Datadog : + +- Les composants Datadog activés pour la configuration à distance déployés dans votre infrastructure demandent des configurations à Datadog. +
Certains composants comme les exécuteurs d'actions privés sont toujours activés pour la configuration à distance. D'autres, comme les Agents, peuvent être activés ou désactivés à l'aide d'options de configuration sur disque.
+- Datadog n'envoie jamais de modifications de configuration à moins qu'elles ne soient demandées par des composants Datadog. S'il envoie des modifications de configuration, Datadog n'envoie que les modifications pertinentes pour le composant demandeur. +- Les demandes de configuration sont initiées depuis votre infrastructure vers Datadog via HTTPS (port 443). C'est le même port que l'Agent utilise par défaut pour envoyer des données d'observabilité. +- La communication entre vos composants Datadog et Datadog est chiffrée à l'aide de HTTPS et est authentifiée et autorisée à l'aide de votre clé API Datadog, sauf dans le cas des exécuteurs d'actions privés où un jeton JWT est utilisé à la place. +- Seuls les utilisateurs disposant de la permission [`api_keys_write`][5] sont autorisés à activer ou désactiver la capacité de configuration à distance sur les clés API et à utiliser les fonctionnalités de produit prises en charge. +- Les modifications de configuration soumises via l'interface utilisateur de Datadog sont signées et validées par le composant Datadog demandeur, vérifiant ainsi l'intégrité de la configuration. + +### Accès basé sur les rôles {#role-based-access} + +L'activation de la Configuration à Distance impacte les produits suivants. Chaque produit définit un ensemble de contrôles d'accès basés sur les rôles qui doivent être accordés à leurs utilisateurs. Pour des informations générales sur la gestion des accès, voir [Contrôle d'Accès][37]. + + | Produit avec Configuration à Distance Activée | Contrôles d'Accès Basés sur les Rôles | + |----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + | Fleet Automation | `FLEET_POLICIES_WRITE`
`AGENT_UPGRADE_WRITE`
`FLEET_FLARE`

Pour plus d'informations, voir [Fleet Automation][38]. | + | App and API Protection | `APPSEC_ACTIVATION_READ`
`APPSEC_ACTIVATION_WRITE`
`APPSEC_PROTECT_READ`
`APPSEC_PROTECT_WRITE`

Pour plus d'informations, voir [Access Control][39]. | + | APM | `APM_SERVICE_INGEST_READ`
`APM_SERVICE_INGEST_WRITE`
`APM_REMOTE_CONFIGURATION_READ`
`APM_REMOTE_CONFIGURATION_WRITE`

Pour plus d'informations, voir [Échantillonnage Adaptatif][40]. | + | Dynamic Instrumentation | `DEBUGGER_READ`
`DEBUGGER_WRITE`
`DEBUGGER_WRITE_PRE_PROD`
`APM_REMOTE_CONFIGURATION_READ`
`APM_REMOTE_CONFIGURATION_WRITE`

Pour plus d'informations, voir [APM][41]. | + | Workload Protection | `SECURITY_MONITORING_CWS_AGENT_RULES_WRITE`
`SECURITY_MONITORING_CWS_AGENT_RULES_READ`
`SECURITY_MONITORING_CWS_AGENT_RULES_ACTIONS`

Pour plus d'informations, voir [Security][42]. | + | CSM Side Scanning | `ORG_MANAGEMENT`
`MANAGE_INTEGRATIONS`

Pour plus d'informations, voir [Enable Agentless Scanning][43]. | + | Observability Pipelines | `OBSERVABILITY_PIPELINES_READ`
`OBSERVABILITY_PIPELINES_WRITE`
`OBSERVABILITY_PIPELINES_DELETE`
`OBSERVABILITY_PIPELINES_DEPLOY`
`OBSERVABILITY_PIPELINES_CAPTURE_WRITE`
`OBSERVABILITY_PIPELINES_CAPTURE_READ`

Pour plus d'informations, voir [Observability Pipelines][44]. | + | Private Action Runner | `ON_PREM_RUNNER_WRITE`
`ON_PREM_RUNNER_READ`
`ON_PREM_RUNNER_USE`

Pour plus d'informations, voir [App Builder & Workflow Automation][45]. | + | Network Device Monitoring (NDM) | `NDM_DEVICE_PROFILES_VIEW`
`NDM_DEVICE_PROFILES_EDIT` | + | Container Autoscaling | `ORCHESTRATION_AUTOSCALING_MANAGE`
`ORCHESTRATION_WORKLOAD_SCALING_WRITE`
`ORCHESTRATION_WORKLOAD_SCALING_READ` | + | Serverless Lambda Auto-instrumentation | `SERVERLESS_AWS_INSTRUMENTATION_READ`
`SERVERLESS_AWS_INSTRUMENTATION_WRITE`

Pour plus d'informations, voir [Serverless][46]. | + | Feature Flags | `FEATURE_FLAG_CONFIG_READ`
`FEATURE_FLAG_CONFIG_WRITE`
`FEATURE_FLAG_ENVIRONMENT_CONFIG_READ`
`FEATURE_FLAG_ENVIRONMENT_CONFIG_WRITE`

Pour plus d'informations, voir [Feature Flags][48]. | + +## Enable Remote Configuration {#enable-remote-configuration} + +Dans la plupart des cas, Remote Configuration est activé par défaut pour votre organisation. Vous pouvez vérifier si Remote Configuration est activé pour votre organisation depuis la page des paramètres de [Remote Configuration][8]. Si vous devez l'activer : +1. Assurez-vous que vos autorisations RBAC incluent [`org_management`][7], afin de pouvoir activer Remote Configuration pour votre organisation. +1. Depuis la page des paramètres de votre organisation, activez [Remote Configuration][8]. Cela permet aux composants Datadog de votre organisation de recevoir des configurations depuis Datadog. +1. Suivez les instructions de configuration [spécifiques au produit](#product-specific-configuration) ci-dessous pour terminer la configuration de Remote Configuration. + +### Configuration spécifique au produit {#product-specific-configuration} + +Consultez la documentation ci-dessous pour des instructions spécifiques au produit que vous configurez. + +| Produit | Instructions de configuration | +|-------------------------|----------------------------------------------------------------------------------------------------------------| +| Fleet Automation | [Setup Fleet Automation][31] | +| APM | [Configuration à l'exécution](/tracing/guide/remote_config/) | +| Dynamic Instrumentation | [Commencez avec Dynamic Instrumentation](/dynamic_instrumentation/#getting-started) | +| Workload Protection | [Workload Protection][3] | +| Pipelines d'observabilité | Assurez-vous que vous avez [activé Remote Configuration sur la clé API][32] que vous utilisez pour les pipelines d'observabilité. | +| Sensitive Data Scanner | [Cloud storage](/security/sensitive_data_scanner/setup/cloud_storage/?tab=newawsaccount) | +| Private Action Runner | [Private Actions Overview](/actions/private_actions/) | +| Feature Flags | [Server-Side Feature Flags](/feature_flags/server/) | + +## Meilleures pratiques {#best-practices} + +### Datadog Audit Trail {#datadog-audit-trail} + +Utilisez [Datadog Audit Trail][13] pour surveiller l'accès à l'organisation et les événements liés à Remote Configuration activée. Audit Trail permet à vos administrateurs et équipes de sécurité de suivre la création, la suppression et la modification des clés API et des clés d'application Datadog. Une fois Datadog Audit Trail configuré, vous pouvez consulter les événements liés aux fonctionnalités Remote Configuration activées et voir qui a demandé ces changements. Datadog Audit Trail vous permet de reconstruire des séquences d'événements et d'établir une surveillance robuste de Datadog pour Remote Configuration. + +### Monitors {#monitors} + +Configurez des [monitors][14] pour recevoir des notifications lorsqu'un événement intéressant se produit. + +## Se désinscrire de Remote Configuration {#opting-out-of-remote-configuration} + +Au lieu de désactiver Remote Configuration globalement, Datadog recommande de se désinscrire pour des produits Datadog spécifiques. Pour plus d'informations, consultez [la documentation du produit concerné](#product-specific-configuration). + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /fr/getting_started/site/ +[3]: /fr/security/workload_protection/ +[4]: /fr/observability_pipelines/#observability-pipelines-worker +[5]: /fr/account_management/rbac/permissions#api-and-application-keys +[6]: /fr/security/application_security/threats/setup/compatibility/ +[7]: /fr/account_management/rbac/permissions#access-management +[8]: https://app.datadoghq.com/organization-settings/remote-config +[9]: /fr/security/default_rules/#cat-workload-security +[10]: /fr/tracing/trace_pipeline/ingestion_controls/#managing-ingestion-for-all-services-at-the-agent-level +[11]: /fr/dynamic_instrumentation/?tab=configurationyaml#enable-remote-configuration +[12]: /fr/security/application_security/how-appsec-works/#built-in-protection +[13]: /fr/account_management/audit_trail +[14]: /fr/monitors/ +[15]: /fr/help/ +[16]: /fr/remote_configuration +[17]: /fr/agent/configuration/network +[18]: /fr/agent/configuration/proxy/ +[19]: /fr/internal_developer_portal/catalog/ +[20]: /fr/dynamic_instrumentation/?tab=configurationyaml#prerequisites +[21]: /fr/agent/configuration/agent-configuration-files/?tab=agentv6v7#agent-main-configuration-file +[22]: /fr/tracing/trace_collection/runtime_config/ +[23]: /fr/remote_configuration#opting-out-of-remote-configuration +[24]: https://app.datadoghq.com/organization-settings/api-keys +[25]: /fr/agent/guide/ +[26]: https://app.datadoghq.com/organization-settings/remote-config/setup?page_id=org-enablement-step +[27]: /fr/agent/fleet_automation/fleet_view/#send-a-remote-flare +[28]: /fr/security/sensitive_data_scanner/?tab=usingtheagent +[29]: /fr/agent/fleet_automation/upgrade_agents/ +[30]: /fr/actions/private_actions/use_private_actions/ +[31]: /fr/agent/guide/setup_remote_config +[32]: https://app.datadoghq.com/organization-settings/remote-config/setup?page_id=api-key-enablement-step&standalone=1 +[33]: /fr/security/application_security/setup/ +[34]: /fr/security/application_security/ +[35]: /fr/tracing/trace_pipeline/adaptive_sampling/ +[36]: /fr/tracing/dynamic_instrumentation/#explore-dynamic-instrumentation +[37]: /fr/account_management/rbac +[38]: /fr/agent/fleet_automation/#control-access-to-fleet-automation +[39]: /fr/security/access_control/#permissions +[40]: /fr/tracing/trace_pipeline/adaptive_sampling/#permissions +[41]: /fr/account_management/rbac/permissions/#apm +[42]: /fr/account_management/rbac/permissions/#cloud-security-platform +[43]: /fr/security/cloud_security_management/setup/#enable-agentless-scanning +[44]: /fr/account_management/rbac/permissions/#observability-pipelines +[45]: /fr/account_management/rbac/permissions/#app-builder--workflow-automation +[46]: /fr/account_management/rbac/permissions/#serverless +[47]: /fr/containers/autoscaling +[48]: /fr/feature_flags/ \ No newline at end of file diff --git a/content/fr/security/code_security/iac_security/iac_rules/_index.md b/content/fr/security/code_security/iac_security/iac_rules/_index.md new file mode 100644 index 00000000000..cf69c65a46c --- /dev/null +++ b/content/fr/security/code_security/iac_security/iac_rules/_index.md @@ -0,0 +1,24 @@ +--- +further_reading: +- link: /security/code_security/iac_security/setup + tag: Documentation + text: Configurer la sécurité IaC +- link: /security/code_security/iac_security/configuration + tag: Documentation + text: Configurer la sécurité IaC +title: Règles de sécurité IaC +type: iac_security +--- +{{% site-region region="gov,gov2" %}} +
Ce produit n'est pas pris en charge pour le site Datadog sélectionné ({{< region-param key="dd_site_name" >}}).
+{{% /site-region %}} + +[La sécurité de l'infrastructure en tant que code (IaC)][1] identifie les mauvaises configurations et les risques de sécurité dans les fichiers d'infrastructure en tant que code avant le déploiement, aidant à garantir que les environnements cloud restent sécurisés et conformes. + +
Pour que la résolution Helm fonctionne correctement, chaque répertoire de chart doit inclure les charts dont il dépend. Pour plus de détails, voir Structure du fichier Chart dans la documentation Helm.
+ +[1]: /fr/security/code_security/iac_security/ + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} \ No newline at end of file diff --git a/content/fr/security/sensitive_data_scanner/_index.md b/content/fr/security/sensitive_data_scanner/_index.md new file mode 100644 index 00000000000..bddcf0b5335 --- /dev/null +++ b/content/fr/security/sensitive_data_scanner/_index.md @@ -0,0 +1,202 @@ +--- +aliases: +- /fr/account_management/org_settings/sensitive_data_detection +- /fr/sensitive_data_scanner/ +disable_toc: false +further_reading: +- link: /security/sensitive_data_scanner/setup/telemetry_data + tag: Documentation + text: Configurer le Scanner de Données Sensibles pour les Données de Télémétrie +- link: /security/sensitive_data_scanner/setup/cloud_storage + tag: Documentation + text: Configurer le Scanner de Données Sensibles pour le stockage cloud +- link: coterm + tag: Documentation + text: 'CoTerm : Surveiller les sessions de terminal et les activités sensibles sur + les systèmes locaux et distants' +- link: /data_security/ + tag: Documentation + text: Réduire les risques liés aux données +- link: https://www.datadoghq.com/blog/scaling-sensitive-data-scanner/ + tag: Blog + text: Découvrir, trier et remédier aux problèmes de données sensibles à grande échelle + avec le Scanner de Données Sensibles +- link: https://www.datadoghq.com/blog/sensitive-data-scanner/ + tag: Blog + text: Créer une stratégie de conformité des données moderne avec la solution scanner + de données sensibles de Datadog +- link: https://www.datadoghq.com/blog/sensitive-data-management-best-practices/ + tag: Blog + text: Meilleures pratiques en matière de gestion des données sensibles +- link: https://www.datadoghq.com/blog/data-security/ + tag: Blog + text: Découvrir des données sensibles dans vos magasins de données cloud avec la + Sécurité des Données +- link: https://www.datadoghq.com/blog/hipaa-compliance-sensitive-data-scanner/ + tag: Blog + text: Comment les entreprises soumises aux exigences HIPAA gèrent les données sensibles + avec Datadog +- link: https://www.datadoghq.com/blog/sds-dlp-for-financial-service-companies/ + tag: Blog + text: Comment les entreprises de services financiers découvrent, classifient et + gèrent les données sensibles avec Datadog +- link: https://www.datadoghq.com/blog/sds-for-insurance-companies/ + tag: Blog + text: Comment les compagnies d'assurance découvrent, classifient et agissent sur + les risques liés aux données sensibles avec Datadog +- link: https://www.datadoghq.com/blog/llm-aws-strands + tag: Blog + text: Obtenez de la visibilité sur les flux de travail des Agents Strands avec l'Observabilité + LLM de Datadog +- link: https://www.datadoghq.com/blog/observability-pipelines-mssp + tag: Blog + text: Simplifiez la collecte et l'agrégation des journaux pour les MSSP avec les + Pipelines d'Observabilité de Datadog +- link: https://www.datadoghq.com/blog/datadog-cloud-security-compliance + tag: Blog + text: Optimisez la conformité à l'échelle mondiale avec Datadog Cloud Security +title: Scanner de données sensibles +--- +## Aperçu {#overview} + +Les données sensibles, telles que les numéros de carte de crédit, les clés API, les adresses IP et les informations personnellement identifiables (PII), sont souvent divulguées involontairement, ce qui peut exposer votre organisation à des risques de sécurité et de conformité. Des données sensibles peuvent être trouvées dans : + +- APM spans +- Dépôts de code +- Événements d’Event Management +- Traces d'Observabilité LLM +- Événements RUM +- Données de télémétrie, telles que les journaux d'application + +Les données sensibles peuvent également être déplacées involontairement vers des ressources de stockage cloud lorsque les équipes d'ingénierie déplacent leurs charges de travail vers le cloud. Le Scanner de Données Sensibles de Datadog peut aider à prévenir les fuites de données sensibles et à limiter les risques de non-conformité en découvrant, classifiant et, optionnellement, en masquant les données sensibles. + +**Remarque** : Les outils et politiques de Datadog sont conformes à la norme PCI v4.0. Pour plus d'informations, voir [Conformité PCI DSS][1]. + +## Scanner les données de télémétrie {#scan-telemetry-data} + +{{< img src="sensitive_data_scanner/telemetry_data_issues.png" alt="Cinq résultats sensibles détectés, dont deux avec une priorité critique, un avec une priorité moyenne et deux de niveau info." style="width:100%;" >}} + +Le Scanner de Données Sensibles peut scanner vos données [dans le cloud](#in-the-cloud) ou [dans votre environnement](#in-your-environment). + +### Dans le cloud {#in-the-cloud} + +Avec le Scanner de Données Sensibles dans le Cloud, vous soumettez des journaux et des événements au backend de Datadog, de sorte que les données quittent votre environnement avant d'être masquées. Les journaux et événements sont scannés et masqués dans le backend de Datadog pendant le traitement, de sorte que les données sensibles sont masquées avant que les événements ne soient indexés et affichés dans l'interface utilisateur de Datadog. + +Les données qui peuvent être scannées et masquées sont : + +- **Journaux** : Tout le contenu de journal structuré et non structuré, y compris les messages de journal et les valeurs d'attributs +- **APM** : Valeurs d'attributs de span uniquement +- **RUM** : Valeurs d'attributs d'événement uniquement +- **Événements** : Valeurs d'attributs d'événements uniquement + +Optionnellement, des taux d'échantillonnage peuvent être définis entre 10 % et 99 % pour chaque produit. Cela aide à gérer les coûts lorsque vous commencez, en réduisant la quantité de données qui sont scannées pour des informations sensibles. + +Pour chaque [règle d'analyse][17], l'une des actions suivantes peut être appliquée aux données sensibles correspondantes : + +- **Masquer** : Remplacer l'ensemble des données correspondantes par un seul jeton de votre choix, tel que `[sensitive_data]`. +- **Masquer partiellement** : Remplacer une portion spécifique de toutes les valeurs correspondantes. +- **Hash** : Remplacer l'ensemble des données correspondantes par un identifiant unique non réversible. +- **Masque** (disponible uniquement pour les journaux) : Obscurcissez toutes les valeurs correspondantes. Les utilisateurs disposant de la permission `Data Scanner Unmask` peuvent dé-obscurcir (démasquer) et consulter ces données dans Datadog. Voir [Action de masquage][16] pour plus d'informations. + +**Remarque** : Lors de l'analyse des données échantillonnées, vous ne pourrez pas sélectionner des actions qui obscurcissent les données qu'elles analysent. + +Pour utiliser le Scanner de Données Sensibles, configurez un groupe d'analyse pour définir les données à analyser, puis établissez des règles d'analyse pour identifier les informations sensibles. Pour les règles d'analyse, vous pouvez : +- Ajouter des règles d'analyse prédéfinies de la [Bibliothèque de Règles d'Analyse][2] de Datadog. Ces règles détectent des modèles courants tels que les adresses e-mail, les numéros de carte de crédit, les clés API, les jetons d'autorisation, les informations sur le réseau et les appareils, et plus encore. +- [Créez vos propres règles en utilisant des motifs regex][3]. + +Voir [Configurer le Scanner de Données Sensibles pour les Données de Télémétrie][4] pour les détails de configuration. + +### Dans votre environnement {#in-your-environment} + +Utilisez [Pipelines d'Observabilité][5] pour collecter et traiter vos journaux dans votre environnement, puis dirigez les données vers leurs intégrations en aval. Lorsque vous configurez un pipeline dans les Pipelines d'Observabilité, ajoutez le [processeur de Scanner de Données Sensibles][6] pour masquer les données sensibles dans vos journaux avant qu'elles ne quittent vos locaux. Vous pouvez ajouter des règles d'analyse prédéfinies de la Bibliothèque de Règles, telles que les adresses e-mail, les numéros de carte de crédit, les clés API, les jetons d'autorisation, les adresses IP, et plus encore. Vous pouvez également créer vos propres règles en utilisant des motifs regex. + +Voir [Configurer les Pipelines][7] pour plus d'informations. + +## Analyser les données d'Observabilité LLM {#scan-llm-observability-data} + +Le Scanner de Données Sensibles peut analyser les traces [Datadog LLM Observability][20], y compris les entrées et sorties des applications LLM. Cela aide à prévenir l'exposition de données sensibles telles que les informations personnelles identifiables (PII), les clés API ou les informations propriétaires dans les invites, les complétions et les métadonnées des flux de travail LLM. + +La numérisation de l'observabilité LLM utilise un modèle de configuration géré qui diffère de la numérisation des données de télémétrie, où la numérisation de l'observabilité LLM a : + +- **Un groupe de numérisation géré** : Un groupe de numérisation par défaut est automatiquement créé pour votre organisation lorsque vous accédez pour la première fois à la [page des paramètres d'observabilité LLM][18]. Vous ne pouvez pas créer de groupes de numérisation supplémentaires ni supprimer le groupe géré. +- **Règles personnalisables** : Vous pouvez modifier les règles existantes, désactiver les règles dont vous n'avez pas besoin ou ajouter des règles de numérisation personnalisées pour détecter des modèles de données sensibles supplémentaires. + +Pour chaque règle de numérisation, l'une des actions suivantes peut être appliquée aux données sensibles correspondantes : + +- **Masquer** : Remplacer l'ensemble des données correspondantes par un seul jeton de votre choix, tel que `[sensitive_data]`. +- **Masquer partiellement** : Remplacer une portion spécifique de toutes les valeurs correspondantes. +- **Hash** : Remplacer l'ensemble des données correspondantes par un identifiant unique non réversible. + +Pour configurer la numérisation des données d'observabilité LLM, accédez à la [page des paramètres d'observabilité LLM][18] dans les paramètres du scanner de données sensibles. Pour plus d'informations sur l'observabilité LLM, consultez la [documentation sur l'observabilité LLM][20]. + +## Numériser le stockage cloud {#scan-cloud-storage} + +{{< callout url="https://www.datadoghq.com/product-preview/data-security" >}} + Le support de numérisation pour les buckets Amazon S3 et les instances RDS est en avant-première. Pour vous inscrire, cliquez sur Demander l'accès. +{{< /callout >}} + +{{< img src="sensitive_data_scanner/cloud_storage_issues.png" alt="La section du datastore de la page des résultats comportant trois findings Amazon S3." style="width:100%;" >}} + +Si vous avez activé le scanner de données sensibles, vous pouvez cataloguer et classer les données sensibles dans vos buckets Amazon S3. **Remarque** : Le scanner de données sensibles ne masque pas les données sensibles dans vos ressources de stockage cloud. + +Le scanner de données sensibles recherche des données sensibles en déployant des [scanners sans agent][8] dans vos environnements cloud. Ces instances de numérisation récupèrent une liste de tous les buckets S3 via [Configuration à distance][9], et ont des instructions définies pour numériser des fichiers texte, tels que des CSV et des JSON au fil du temps. + +Le scanner de données sensibles utilise sa [bibliothèque complète de règles][10] pour trouver des correspondances. Lorsqu'une correspondance est trouvée, l'emplacement de la correspondance est envoyé à Datadog par l'instance de numérisation. **Remarque** : Les magasins de données et leurs fichiers ne sont lus que dans votre environnement ; aucune donnée sensible scannée n'est renvoyée à Datadog. + +En plus d'afficher les correspondances de données sensibles, le Scanner de données sensibles met en évidence tout problème de sécurité détecté par [Cloud Security][11] affectant les magasins de données sensibles. Vous pouvez cliquer sur tout problème pour continuer le triage et la remédiation dans Cloud Security. + +Voir [Configurer le Scanner de données sensibles pour le stockage Cloud][12] pour les détails de configuration. + +## Scanner les dépôts de code {#scan-code-repositories} + +Datadog [Secret Scanning][21] scanne les dépôts de code pour détecter les secrets exposés dans le code source. Secret Scanning est alimenté par Sensitive Data Scanner et utilise toutes les règles de la [Secrets and credentials category][19] de la bibliothèque SDS pour trouver des correspondances. + +Contrairement au scan des données de télémétrie, Secret Scanning fonctionne dans vos pipelines CI/CD ou directement dans Datadog avec un scan hébergé (pris en charge pour GitHub, Azure DevOps et GitLab). Lorsque des secrets sont détectés dans le code, les résultats sont affichés dans l'interface Code Security. + +Voir la [Secret Scanning documentation][21] pour les détails de configuration. + +## Enquêtez sur les résultats des données sensibles {#investigate-sensitive-data-findings} + +{{< img src="sensitive_data_scanner/findings_20251014.png" alt="La Findings page affichant un aperçu des résultats sensibles classés par priorité." style="width:100%;" >}} + +Utilisez la [Findings page][13] pour consulter les détails des résultats de données sensibles identifiés par vos règles de scan. Ces détails incluent : + +- La règle de scan spécifique qui a détecté les correspondances, afin que vous puissiez déterminer quelles règles modifier si nécessaire. +- Le groupe de scan dans lequel le résultat est apparu, afin que vous puissiez déterminer le blast radius de toute fuite. +- Le nombre d'événements associés au résultat pour vous aider à évaluer son ampleur et sa gravité. +- Un graphique des événements associés au résultat pour vous aider à identifier quand un résultat a commencé et voir comment il a évolué. +- Des cas connexes créés pour le résultat. + +Voir [Investigate Sensitive Data Findings][14] pour plus d'informations sur le triage des données sensibles à l'aide de la Findings page. + +## Examinez les tendances des données sensibles {#review-sensitive-data-trends} + +{{Sensitive Data Scanner Overview dashboard}} + +Lorsque Sensitive Data Scanner est activé, un [out-of-the-box dashboard][15] résumant les résultats des données sensibles est automatiquement installé dans votre compte. Pour accéder à ce dashboard, naviguez vers **Dashboards** > **Dashboards List** et recherchez "Sensitive Data Scanner Overview". + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /fr/data_security/pci_compliance/ +[2]: /fr/security/sensitive_data_scanner/scanning_rules/library_rules/ +[3]: /fr/security/sensitive_data_scanner/scanning_rules/custom_rules/ +[4]: /fr/security/sensitive_data_scanner/setup/telemetry_data/ +[5]: /fr/observability_pipelines/ +[6]: /fr/observability_pipelines/processors/sensitive_data_scanner +[7]: /fr/observability_pipelines/configuration/set_up_pipelines/ +[8]: /fr/security/cloud_security_management/setup/agentless_scanning +[9]: /fr/remote_configuration +[10]: /fr/security/sensitive_data_scanner/scanning_rules/library_rules/ +[11]: /fr/security/cloud_security_management +[12]: /fr/security/sensitive_data_scanner/setup/cloud_storage/ +[13]: https://app.datadoghq.com/organization-settings/sensitive-data-scanner +[14]: /fr/security/sensitive_data_scanner/guide/investigate_sensitive_data_findings/ +[15]: https://app.datadoghq.com/dash/integration/sensitive_data_scanner +[16]: /fr/security/sensitive_data_scanner/setup/telemetry_data/?tab=logs#mask-action +[17]: /fr/security/sensitive_data_scanner/scanning_rules/ +[18]: https://app.datadoghq.com/sensitive-data-scanner/configuration/llm-spans +[19]: /fr/security/sensitive_data_scanner/scanning_rules/library_rules/?category=Secrets+and+credentials#overview +[20]: /fr/llm_observability/ +[21]: /fr/security/code_security/secret_scanning/ \ No newline at end of file diff --git a/content/fr/serverless/aws_lambda/distributed_tracing.md b/content/fr/serverless/aws_lambda/distributed_tracing.md index b5d2ad0ddff..0959a850309 100644 --- a/content/fr/serverless/aws_lambda/distributed_tracing.md +++ b/content/fr/serverless/aws_lambda/distributed_tracing.md @@ -10,9 +10,9 @@ further_reading: - link: /tracing/ tag: Documentation text: Explorer l'APM Datadog -- link: /tracing/trace_search_and_analytics/#live-search-pendant-15-minutes +- link: /tracing/trace_search_and_analytics/#live-search-for-15-minutes tag: Documentation - text: Live Search + text: Recherche en direct - link: https://www.datadoghq.com/blog/aws-lambda-tracing-go-java-functions/ tag: Blog text: Tracing distribué en temps réel pour des fonctions Lambda Go et Java @@ -27,20 +27,19 @@ further_reading: text: Tracing distribué en temps réel pour des fonctions Lambda .NET title: Tracing distribué avec des applications sans serveur AWS Lambda --- - {{< img src="tracing/serverless_functions/ServerlessDistributedTrace.png" alt="Tracer des fonctions sans serveur" style="width:100%;">}} Associez vos traces sans serveur à vos métriques pour permettre à Datadog de vous offrir une vue d'ensemble détaillée et contextualisée des performances de votre application. Compte tenu de la nature distribuée des applications sans serveur, vous pouvez ainsi résoudre plus efficacement les problèmes de performance. -Les bibliothèques de tracing Python, Node.js, Ruby, Go, Java et .NET Datadog prennent en charge le tracing distribué pour AWS Lambda. +Les SDK Datadog pour Python, Node.js, Ruby, Go, Java et .NET prennent en charge le traçage distribué pour AWS Lambda. -## Envoyer des traces à partir de votre application sans serveur +## Envoyez des traces depuis votre application sans serveur {#send-traces-from-your-serverless-application} -{{< img src="serverless/serverless_tracing_installation_instructions.png" alt="Diagramme de l'architecture de tracing d'AWS Lambda avec Datadog" >}} +{{< img src="serverless/serverless_tracing_installation_instructions.png" alt="Diagramme d'architecture pour le traçage d'AWS Lambda avec Datadog" >}} -Les bibliothèques de tracing Python, Node.js, Ruby, Go, Java et .NET Datadog prennent en charge le tracing distribué pour AWS Lambda. Vous pouvez installer le traceur en suivant les [instructions d'installation][5]. Si vous avez déjà installé l'extension, vérifiez que la variable d'environnement `DD_ENABLE_ENABLED` est définie sur `true`. +Les SDK Datadog pour Python, Node.js, Ruby, Go, Java et .NET prennent en charge le traçage distribué pour AWS Lambda. Vous pouvez installer le SDK en suivant les [instructions d'installation][5]. -### Recommandations de runtime +### Recommandations d'exécution {#runtime-recommendations} {{< card-grid card_width="30%" image_width="200">}} {{< image-card href="/serverless/distributed_tracing#python-and-nodejs" src="integrations_logos/python.png" alt="Python" >}} @@ -51,160 +50,195 @@ Les bibliothèques de tracing Python, Node.js, Ruby, Go, Java et .NET Datadog pr {{< image-card href="/serverless/distributed_tracing#net" src="integrations_logos/dotnet_text.png" alt=".NET" >}} {{< /card-grid >}} -#### Python et Node.js +#### Python et Node.js {#python-and-nodejs} -La bibliothèque Lambda Datadog et les bibliothèques de tracing pour Python et Node.js prennent en charge les fonctionnalités suivantes : -- Corrélation automatique des logs Lambda et des traces avec l'ID de trace et l'injection de traces -- Installation sans modification du code à l'aide des intégrations Serverless Framework, AWS SAM et AWS CDK -- Tracing des requêtes HTTP appelant des conteneurs ou des fonctions Lambda en aval -- Tracing des appels Lambda consécutifs effectués avec AWS SDK. -- Tracing des démarrages à froid -- Tracing des appels Lambda asynchrones via AWS Managed Services - - API Gateway +La Datadog Lambda Library et les SDK pour Python et Node.js prennent en charge : +- Corrélation automatique des journaux et des traces Lambda avec l'ID de trace et injection de balises. +- Installation sans aucun changement de code en utilisant les intégrations Serverless Framework, AWS SAM et AWS CDK. +- Traçage des requêtes HTTP invoquant des fonctions ou des conteneurs Lambda en aval. +- Traçage des invocations consécutives de Lambda effectuées via le SDK AWS. +- Traçage des démarrages à froid +- Traçage des invocations asynchrones de Lambda via les services gérés par AWS + - API Gateway - SQS - SNS - Intégration directe de SNS et SQS - Kinesis - EventBridge -- Tracing de dizaines de bibliothèques supplémentaires [Python][3] et [Node.js][4] prêtes à l'emploi + - DynamoDB + - S3 + - Step Functions +- Traçage de dizaines de bibliothèques supplémentaires prêtes à l'emploi [Python][3] et [Node.js][4]. -Pour les applications Python et Node.js sans serveur, Datadog vous conseille d'[installer les bibliothèques de tracing Datadog][5]. +Pour les applications sans serveur Python et Node.js, Datadog vous recommande d'[installer les SDK Datadog][5]. -*Vous souhaitez tracer d'autres ressources sans serveur ? Créez une demande de fonctionnalité sur [cette page][7].* +*Vous cherchez à tracer des ressources sans serveur non listées ci-dessus ? [Ouvrez une demande de fonctionnalité][7].* -#### Ruby +#### Ruby {#ruby} -La bibliothèque Lambda Datadog et les bibliothèques de tracing pour Ruby prennent en charge les fonctionnalités suivantes : -- Corrélation automatique des logs Lambda et des traces avec l'ID de trace et l'injection de traces -- Tracing des requêtes HTTP appelant des conteneurs ou des fonctions Lambda en aval -- Tracing de dizaines de bibliothèques supplémentaires [Ruby][8] prêtes à l'emploi +La Datadog Lambda Library et les SDK pour Ruby prennent en charge : +- Corrélation automatique des journaux et des traces Lambda avec l'injection d'ID de trace et de balises. +- Traçage des requêtes HTTP invoquant des fonctions ou des conteneurs Lambda en aval. +- Traçage de dizaines de bibliothèques supplémentaires prêtes à l'emploi [Ruby][8]. -Vous pouvez tracer vos fonctions sans serveur dans Datadog grâce aux [bibliothèques de tracing Datadog][5]. +Vous pouvez tracer vos fonctions sans serveur dans Datadog avec les [SDK Datadog][5]. -*Vous souhaitez tracer d'autres ressources sans serveur ? Créez une demande de fonctionnalité sur [cette page][7].* +*Vous cherchez à tracer des ressources sans serveur non listées ci-dessus ? [Ouvrez une demande de fonctionnalité][7].* -#### Go +#### Go {#go} -La bibliothèque Lambda Datadog et les bibliothèques de tracing pour Go prennent en charge les fonctionnalités suivantes : -- Corrélation manuelle des logs Lambda et des traces avec l'ID de trace et l'injection de traces -- Tracing des requêtes HTTP appelant des conteneurs ou des fonctions Lambda en aval -- Tracing de dizaines de bibliothèques supplémentaires [Go][9] prêtes à l'emploi +La Datadog Lambda Library et les SDK pour Go prennent en charge : +- Corrélation manuelle des journaux et des traces Lambda avec l'injection d'ID de trace et de balises. +- Traçage des requêtes HTTP invoquant des fonctions ou des conteneurs Lambda en aval. +- Traçage de dizaines de bibliothèques supplémentaires prêtes à l'emploi [Go][9]. -Pour les applications Go sans serveur, Datadog vous conseille d'installer les [bibliothèques de tracing Datadog][15]. +Pour les applications sans serveur Go, Datadog recommande d'installer les [SDK Datadog][5]. -*Vous souhaitez tracer d'autres ressources sans serveur ? Créez une demande de fonctionnalité sur [cette page][7].* +*Vous cherchez à tracer des ressources sans serveur non listées ci-dessus ? [Ouvrez une demande de fonctionnalité][7].* -#### Java +#### Java {#java} -La bibliothèque Lambda Datadog et les bibliothèques de tracing pour Java prennent en charge les fonctionnalités suivantes : -- Mise en corrélation des logs Lambda et des traces avec l'ID de trace et l'injection de traces (voir la section [Associer vos logs Java à vos traces][10] pour en savoir plus) -- Tracing des requêtes HTTP appelant des conteneurs ou des fonctions Lambda en aval -- Tracing de dizaines de bibliothèques supplémentaires [Java][11] prêtes à l'emploi +La Datadog Lambda Library et les SDK pour Java prennent en charge : +- Corrélation des journaux et des traces Lambda avec l'ID de trace et l'injection de balises. Voir [Connexion des journaux et des traces Java][10] pour plus de détails. +- Traçage des requêtes HTTP invoquant des fonctions ou des conteneurs Lambda en aval. +- Traçage de dizaines de bibliothèques supplémentaires prêtes à l'emploi [Java][11]. -Pour les applications Java sans serveur, Datadog vous conseille d'[installer les bibliothèques de tracing Datadog][5]. +Pour les applications sans serveur Java, Datadog recommande [d'installer les SDK Datadog][5]. -*Vous souhaitez partager votre avis sur les bibliothèques de tracing Datadog pour les fonctions Lambda Java ? N'hésitez pas à rejoindre le canal [#serverless][12] de la [communauté Slack Datadog][13] pour participer aux discussions.* +*Avez-vous des commentaires sur les SDK Datadog pour les fonctions Lambda Java ? Assurez-vous de consulter les discussions en cours dans le canal [#serverless][12] de la [communauté Slack Datadog][13].* -#### .NET +#### .NET {#net} -La bibliothèque de tracing pour .NET prend en charge les fonctionnalités suivantes : -- Tracing des requêtes HTTP appelant des conteneurs ou des fonctions Lambda en aval -- Tracing de dizaines de bibliothèques supplémentaires [.NET][14] prêtes à l'emploi +Le SDK pour .NET prend en charge : +- Traçage des requêtes HTTP invoquant des fonctions ou des conteneurs Lambda en aval. +- Traçage de dizaines de bibliothèques supplémentaires prêtes à l'emploi [.NET][14]. -Pour les applications .NET sans serveur, Datadog vous conseille d'[installer les bibliothèques de tracing Datadog][5]. +Pour les applications sans serveur .NET, Datadog recommande [d'installer les SDK Datadog][5]. En savoir plus sur le [tracing via des applications sans serveur Azure .NET][15]. -### Environnements hybrides +## Auto-liaison des spans {#span-auto-linking} +{{< img src="serverless/lambda/tracing/autolink.png" alt="Dans Datadog, une trace DynamoDB. En haut, un message indique 'Cette trace est liée à d'autres traces'. L'onglet Liens de spans est ouvert et affiche un lien cliquable vers une autre trace DynamoDB." style="width:100%;" >}} -Si vous avez installé les bibliothèques de tracing Datadog (`dd-trace`) sur vos fonctions Lambda et vos hosts, vos traces dressent automatiquement un tableau complet des requêtes qui franchissent les limites de votre infrastructure, qu'il s'agisse de fonctions AWS Lambda, de hosts sur site ou de services gérés. +Datadog détecte automatiquement les spans liés lorsque des segments de vos requêtes asynchrones ne peuvent pas propager le contexte de trace. Par exemple, cela peut se produire lorsqu'une requête déclenche des [Événements de changement S3][28] ou des [Flux DynamoDB][29]. Vous pouvez voir les spans auto-liés apparaître dans l'[onglet Liens de spans][30]. Ceux-ci apparaissent comme **Retour** ou **Avance**. -Si vous avez installé `dd-trace` sur vos hosts avec l'Agent Datadog, et si le tracing de vos fonctions sans serveur passe par AWS X-Ray, il est nécessaire de fusionner les traces pour afficher une trace unique et associée dans votre infrastructure. Consultez la section [Fusion de traces sans serveur][6] pour en savoir plus sur la fusion de traces entre `dd-trace` et AWS X-Ray. +_Retour_ : Le span lié a été causé par la trace que vous visualisez. -L'[intégration Datadog/AWS X-Ray][2] fournit uniquement des traces pour les fonctions Lambda. Consultez la [documentation relative à la solution APM Datadog][16] pour en savoir plus sur le tracing dans des environnements basés sur des conteneurs ou des hosts. +_Avance_ : Le span lié a causé la trace que vous visualisez. -## Profiler vos fonctions Lambda (fonctionnalité en bêta publique) -
Durant la version bêta, le profiling est disponible gratuitement.
+
Les filtres d'échantillonnage et de rétention des traces peuvent interférer avec l'auto-liaison. Pour améliorer vos chances de voir des spans auto-liés, augmentez votre taux d'échantillonnage ou ajustez vos filtres de rétention.
-Le [profileur en continu][27] de Datadog est disponible en version bêta pour la version 4.62.0 de Python et les versions 62 et ultérieures de la couche. Pour activer cette fonctionnalité facultative, définissez la variable d'environnement `DD_PROFILING_ENABLED` sur `true`. +### Technologies prises en charge {#supported-technologies} -Le profileur en continu fonctionne en générant un thread qui s'active régulièrement afin de générer un snapshot du processeur et de l'ensemble du code Python exécuté. Ce snapshot peut inclure le profileur lui-même. Si vous voulez que le profileur s'ignore, définissez `DD_PROFILING_IGNORE_PROFILER` sur `true`. +L'auto-liaison des spans est disponible pour : +- Fonctions AWS Lambda Python instrumentées avec [`datadog-lambda-python`][33] la couche v101+ +- Applications Python instrumentées avec [`dd-trace-py`][31] v2.16+ +- Fonctions AWS Lambda Node.js instrumentées avec [`datadog-lambda-js`][34] la couche 118+ +- Applications Node.js instrumentées avec [`dd-trace-js`][32] v4.53.0+ ou v5.29.0+ -## Fusion de traces +### Auto-liaison des flux de changement DynamoDB {#dynamodb-change-stream-auto-linking} -### Cas d'utilisation +Pour [Flux de changement DynamoDB][29], l'auto-liaison des spans prend en charge les opérations suivantes : -Datadog vous recommande d'utiliser uniquement la bibliothèque de tracing APM Datadog (`dd-trace`). Cependant, dans certaines situations particulières, les utilisateurs peuvent combiner le tracing Datadog et AWS X-Ray à l'aide de la fusion de traces. La fusion de traces est disponible pour les fonctions et AWS Lambda Node.js et Python. Si vous ne savez pas quelle bibliothèque de tracing utiliser, découvrez comment [choisir votre bibliothèque de tracing][17]. +- `PutItem` +- `UpdateItem` +- `DeleteItem` +- `BatchWriteItem` +- `TransactWriteItems` -Il existe deux scénarios justifiant l'instrumentation des bibliothèques de tracing `dd-trace` et AWS X-Ray : -- Dans un environnement AWS sans serveur, vous effectuez déjà le tracing de vos fonctions Lambda avec `dd-trace`. De plus, un tracing actif d'AWS X-Ray est requis pour les services AWS gérés, comme AppSync et Step Functions. Or, vous devez visualiser les spans `dd-trace` et AWS X-Ray au sein d'une unique trace. -- Dans un environnement hybride comprenant des fonctions Lambda et des hosts, `dd-trace` instrumente vos hosts, tandis qu'AWS X-Ray instrumente vos fonctions Lambda. Or, vous devez visualiser les traces connectées pour les transactions de l'ensemble de vos fonctions Lambda et de vos hosts. +
L'opération PutItem L'opération nécessite une configuration supplémentaire. Pour plus d'informations, consultez Instrumentation des applications serverless Python ou Instrumentation des applications serverless Node.js.
-**Remarque** : la fusion des traces peut entraîner une augmentation de vos coûts. Les spans X-Ray restent disponibles dans vos traces fusionnées pendant une durée de deux à cinq minutes. Dans la plupart des cas, Datadog vous conseille d'utiliser une seule bibliothèque de tracing. Découvrez comment [choisir votre bibliothèque de tracing][17]. +### Auto-liaison des notifications de changement S3 {#s3-change-notification-auto-linking} -Voici des instructions de configuration pour les deux scénarios évoqués ci-dessus : +Pour les [notifications de changement S3][28], la liaison automatique de Span prend en charge les opérations suivantes : + +- `PutObject` +- `CompleteMultipartUpload` +- `CopyObject` + + +## Environnements hybrides {#hybrid-environments} -- [Fusion de traces dans un environnement principalement sans serveur](#fusion-de-traces-dans-un-environnement-aws-sans-serveur) -- [Fusion de traces entre des fonctions AWS Lambda et des hosts](#configurer-le-tracing-de-fonctions-aws-lambda-et-de-hosts) +Pour une visibilité de bout en bout à travers les fonctions Lambda, les hôtes, les conteneurs et les services gérés, installez les SDK Datadog (`dd-trace`) à la fois sur vos fonctions Lambda et vos hôtes. Vos traces montrent alors une image complète des requêtes qui traversent les frontières de l'infrastructure. -### Fusion de traces dans un environnement AWS sans serveur +Sur Lambda, installez `dd-trace` avec l'[Extension Datadog Lambda][35], qui exécute l'Agent Datadog à l'intérieur de l'environnement d'exécution Lambda et envoie les traces directement à Datadog avec un minimum de surcharge. L'Extension Lambda est la méthode d'installation recommandée pour les applications sans serveur nouvelles et existantes. -AWS X-Ray propose à la fois un service AWS backend (le tracing actif d'AWS X-Ray) et un ensemble de bibliothèques client. [Lorsque le service AWS backend est activé indépendamment dans la console Lambda][18], vous disposez des spans `Initialization` et `Invocation` pour vos fonctions AWS Lambda. Vous pouvez également activer le tracing actif d'AWS X-Ray depuis les consoles API Gateway et Step Function. +Consultez la [documentation APM de Datadog][16] pour la configuration du traçage dans les environnements basés sur des conteneurs et des hôtes. -Le SDK AWS X-Ray et les bibliothèques client de l'APM Datadog (`dd-trace`) accèdent directement à la fonction pour ajouter des métadonnées et des spans aux appels en aval. Si vous utilisez `dd-trace` pour effectuer le tracing au niveau du gestionnaire, voici à quoi ressemble la configuration finale : +## Profilage de vos Fonctions Lambda {#profiling-your-lambda-functions} -1. Vous avez activé le [tracing actif d'AWS X-Ray][18] sur vos fonctions Lambda depuis la console AWS Lambda, ainsi que l'[intégration Datadog/AWS X-Ray][19]. -2. Vous avez instrumenté vos fonctions Lambda avec la solution APM Datadog (`dd-trace`) en suivant les [instructions d'installation pour votre runtime Lambda][5]. -3. Les bibliothèques tierces sont automatiquement patchées par `dd-trace` ; les bibliothèques client AWS X-Ray n'ont donc pas besoin d'être installées. -4. Vous avez défini la variable d'environnement `DD_MERGE_XRAY_TRACES` sur `true` (ou la variable d'environnement `DD_MERGE_DATADOG_XRAY_TRACES` pour Ruby) sur vos fonctions Lambda afin de fusionner les traces X-Ray et `dd-trace`. +Le [Continuous Profiler][27] de Datadog est disponible en Preview pour Python dans la version 4.62.0 et avec la couche v62 et supérieure. Cette fonctionnalité optionnelle est activée en définissant la variable d'environnement `DD_PROFILING_ENABLED` sur `true`. -### Configurer le tracing de fonctions AWS Lambda et de hosts +Le [Continuous Profiler][27] fonctionne en créant un thread qui se réveille périodiquement et prend un instantané du CPU et du tas de tout le code Python en cours d'exécution. Cela peut inclure le profiler lui-même. Si vous souhaitez que le profiler s'ignore lui-même, définissez `DD_PROFILING_IGNORE_PROFILER` sur `true`. -Si vous avez installé les bibliothèques de tracing Datadog (`dd-trace`) sur vos fonctions Lambda et vos hosts, vos traces dressent automatiquement un tableau complet des requêtes qui franchissent les limites de votre infrastructure, qu'il s'agisse de fonctions AWS Lambda, de hosts sur site ou de services gérés. +## Fusion de traces {#trace-merging} -Si vous avez installé `dd-trace` sur vos hosts avec l'Agent Datadog, et si le tracing de vos fonctions sans serveur Node.js ou Python passe par AWS X-Ray, voici à quoi ressemble la configuration finale : +### Cas d'utilisation {#use-cases} -1. Vous avez installé l'[intégration AWS X-Ray][18] pour le tracing de vos fonctions Lambda. Par la même occasion, vous avez activé le tracing actif d'AWS X-Ray et installé les bibliothèques client X-Ray. -2. Vous avez installé la [bibliothèque Lambda Datadog pour votre runtime Lambda][5] et défini la variable d'environnement `DD_TRACE_ENABLED` sur `false`. -3. La solution [APM Datadog][20] est configurée sur vos hosts et votre infrastructure à base de conteneurs. +Datadog recommande d'utiliser uniquement la [Datadog APM trace library] (`dd-trace`), mais dans certaines situations avancées, les utilisateurs peuvent combiner le traçage Datadog et AWS X-Ray en utilisant la fusion de traces. La fusion de traces est disponible pour les fonctions AWS Lambda en Node.js et Python. Si vous n'êtes pas sûr du SDK à utiliser, consultez [choisir votre SDK][17]. -Pour que les traces d'AWS X-Ray et de l'APM Datadog s'affichent dans le même flamegraph, tous les services doivent avoir le même tag `env`. +
Le traçage des AWS Step Functions est pris en charge nativement par Datadog et ne nécessite plus X-Ray. Voir Surveillance sans serveur pour AWS Step Functions et Fusion des traces des Step Functions et Lambda.
+ +Il y a deux raisons principales d'instrumenter à la fois `dd-trace` et les bibliothèques de traçage AWS X-Ray : +- Dans un environnement sans serveur AWS, vous tracez déjà vos fonctions Lambda avec `dd-trace`, vous avez besoin du traçage actif AWS X-Ray pour un service géré par AWS que Datadog APM n'instrumente pas encore (comme AppSync), et vous souhaitez visualiser les `dd-trace` et les spans AWS X-Ray dans une seule trace. +- Dans un environnement hybride avec à la fois des fonctions Lambda et des hôtes, `dd-trace` instrumente vos hôtes, AWS X-Ray instrumente vos fonctions Lambda, et vous souhaitez visualiser les traces connectées pour les transactions à travers les fonctions Lambda et les hôtes. + +**Remarque :** Cela peut entraîner des factures d'utilisation plus élevées. Les spans X-Ray continuent d'être disponibles dans vos traces fusionnées après 2 à 5 minutes. Dans de nombreux cas, Datadog recommande d'utiliser uniquement un seul SDK. En savoir plus sur [le choix de votre SDK][17]. + +Voici des instructions de configuration pour les deux scénarios évoqués ci-dessus : -**Remarque** : le tracing distribué est pris en charge pour tout runtime d'application basée sur des hosts ou des conteneurs. Vos hosts et vos fonctions Lambda n'ont pas besoin d'être dans le même runtime. +- [Fusion des traces dans un environnement serverless-first](#trace-merging-in-an-AWS-serverless-environment) +- [Fusion des traces entre AWS Lambda et les hôtes](#tracing-across-aws-lambda-and-hosts) -{{< img src="integrations/amazon_lambda/lambda_host_trace.png" alt="tracing d'une requête entre un host et une fonction Lambda" >}} +### Fusion des traces dans un environnement sans serveur AWS {#trace-merging-in-an-aws-serverless-environment} -## Propagation des traces -{{< img src="serverless/lambda-non-http-trace.png" alt="Trace distribuée sans serveur et non HTTP" style="width:100%;" >}} +AWS X-Ray fournit à la fois un service backend AWS (traçage actif AWS X-Ray) et un ensemble de bibliothèques clientes. [Activer uniquement le service backend AWS dans la console Lambda][18] vous donne des spans `Initialization` et `Invocation` pour vos fonctions AWS Lambda. Vous pouvez également activer le traçage actif AWS X-Ray depuis les consoles API Gateway et Step Function. -### Configuration requise +Les bibliothèques clientes AWS X-Ray et Datadog APM (`dd-trace`) ajoutent des métadonnées et des spans pour les appels en aval en accédant directement à la fonction. En supposant que vous utilisez `dd-trace` pour tracer au niveau du gestionnaire, votre configuration devrait être similaire à ce qui suit : -Une instrumentation supplémentaire est parfois nécessaire pour obtenir une trace unique et connectée dans les applications sans serveur Node et Python qui déclenchent des fonctions Lambda de manière asynchrone. Si vous commencez tout juste à surveiller des applications sans serveur dans Datadog, [suivez les principales étapes d'installation][21] et [accédez à cette page pour choisir votre bibliothèque de tracing][22]. Une fois que vous envoyez des traces depuis vos fonctions Lambda à Datadog à l'aide de la [bibliothèque Lambda Datadog][23], vous pouvez choisir de suivre les étapes ci-dessous afin d'associer des traces entre deux fonctions Lambda pour l'un des scénarios suivants : -- Déclenchement de fonctions Lambda via Step Functions -- Invocation de fonctions Lambda via des protocoles non HTTP, comme MQTT +1. Vous avez activé [le traçage actif AWS X-Ray][18] sur vos fonctions Lambda depuis la console AWS Lambda et notre [intégration AWS X-Ray au sein de Datadog][19]. +2. Vous avez instrumenté vos fonctions Lambda avec Datadog APM (`dd-trace`) en suivant [les instructions d'installation pour votre runtime Lambda][5]. +3. Les bibliothèques tierces sont automatiquement patchées par `dd-trace`, donc les bibliothèques clientes AWS X-Ray n'ont pas besoin d'être installées. +4. Définissez la variable d'environnement `DD_MERGE_XRAY_TRACES` sur `true` sur vos fonctions Lambda pour fusionner les traces X-Ray et `dd-trace` (`DD_MERGE_DATADOG_XRAY_TRACES` en Ruby). + +### Traçage entre AWS Lambda et les hôtes {#tracing-across-aws-lambda-and-hosts} + +#### Propagation du contexte avec les SDK Datadog (recommandé) {#context-propagation-with-the-datadog-sdks-recommended} +Installez les SDK Datadog (`dd-trace`) sur vos fonctions Lambda et vos hôtes. Vos traces affichent alors automatiquement une vue complète des requêtes qui franchissent les limites de l'infrastructure, que ce soit AWS Lambda, des conteneurs, des hôtes sur site ou des services gérés. + +{{< img src="integrations/amazon_lambda/lambda_host_trace.png" alt="trace d'une requête d'un hôte vers une fonction Lambda" >}} + +## Propagation des traces {#trace-propagation} +{{< img src="serverless/lambda-non-http-trace.png" alt="Trace distribuée sans serveur non-HTTP" style="width:100%;" >}} + +### Configuration requise {#required-setup} + +Une instrumentation supplémentaire est parfois nécessaire pour obtenir une trace unique et connectée dans les applications sans serveur Node et Python qui déclenchent des fonctions Lambda de manière asynchrone. Si vous débutez avec la surveillance des applications sans serveur dans Datadog, [suivez nos étapes d'installation principales][21] et [lisez cette page sur le choix de votre SDK][22]. Une fois que vous envoyez des traces de vos fonctions Lambda à Datadog en utilisant la [Bibliothèque Lambda Datadog][23], vous voudrez peut-être suivre ces étapes pour relier les traces entre deux fonctions Lambda dans des cas tels que : +- Déclenchement de fonctions Lambda via Step Functions +- Invocation de fonctions Lambda via des protocoles non-HTTP tels que MQTT Le tracing d'un grand nombre de services AWS gérés ([liste complète][24]) est pris en charge par défaut. Il n'est pas nécessaire de suivre les étapes décrites sur cette page. Pour associer le contexte des traces entre plusieurs ressources générant des traces, vous devez procéder comme suit : -- Incluez le contexte des traces Datadog dans les événements sortants. Ces événements peuvent provenir d'un host ou d'une fonction Lambda doté(e) de `dd-trace`. -- Extrayez le contexte des traces dans la fonction Lambda du consommateur. +- Inclure le contexte de trace Datadog dans les événements sortants. L'événement sortant peut provenir d'un hôte ou d'une fonction Lambda avec `dd-trace` installé. +- Extraction du contexte de trace dans la fonction Lambda du consommateur. -### Transmission du contexte des traces +### Transmission du contexte de trace {#passing-trace-context} Les extraits de code suivants permettent de transmettre le contexte des traces, par le biais des charges utiles sortantes, aux services qui ne prennent par en charge les en-têtes HTTP ou aux services gérés qui ne sont pas pris en charge [de façon native][24] par Datadog en Node et Python : {{< tabs >}} {{% tab "Python" %}} -En Python, vous pouvez utiliser la fonction auxiliaire `get_dd_trace_context` pour transmettre le contexte des traces aux événements sortants dans une fonction Lambda : +En Python, vous pouvez utiliser la fonction d'aide `get_dd_trace_context` pour passer le contexte de trace aux événements sortants dans une fonction Lambda : ```py import json import boto3 import os -from datadog_lambda.tracing import get_dd_trace_context # Fonction auxiliaire de tracing Datadog +from datadog_lambda.tracing import get_dd_trace_context # Datadog tracing helper function def handler(event, context): my_custom_client.sendRequest( @@ -212,7 +246,7 @@ def handler(event, context): 'myCustom': 'data', '_datadog': { 'DataType': 'String', - 'StringValue': json.dumps(get_dd_trace_context()) # Inclure le contexte des traces dans les charges utiles sortantes + 'StringValue': json.dumps(get_dd_trace_context()) # Includes trace context in outgoing payload. }, }, ) @@ -221,13 +255,13 @@ def handler(event, context): {{% /tab %}} {{% tab "Node.js" %}} -En Node, vous pouvez utiliser la fonction auxiliaire `getTraceHeaders` pour transmettre le contexte des traces aux événements sortants dans une fonction Lambda : +En Node, vous pouvez utiliser la fonction d'aide `getTraceHeaders` pour passer le contexte de trace aux événements sortants dans une fonction Lambda : ```js -const { getTraceHeaders } = require("datadog-lambda-js"); // Fonction auxiliaire de tracing Datadog +const { getTraceHeaders } = require("datadog-lambda-js"); // Datadog tracing helper function module.exports.handler = async event => { - const _datadog = getTraceHeaders(); // Capture le contexte des traces Datadog actuel + const _datadog = getTraceHeaders(); // Captures current Datadog trace context. var payload = JSON.stringify({ data: 'sns', _datadog }); await myCustomClient.sendRequest(payload) @@ -236,9 +270,9 @@ module.exports.handler = async event => { {{% /tab %}} {{< /tabs >}} -#### À partir de hosts +#### Depuis les hôtes {#from-hosts} -Si vous ne transmettez pas le contexte des traces depuis vos fonctions Lambda, vous pouvez utiliser le modèle de code suivant à la place des fonctions auxiliaires `getTraceHeaders` et `get_dd_trace_context` pour obtenir le contexte de la span active. Consultez [cette page][25] pour obtenir les instructions permettant de récupérer ce contexte à chaque exécution. +Si vous ne passez pas le contexte de trace de vos fonctions Lambda, vous pouvez utiliser le modèle de code suivant à la place des fonctions d'aide `getTraceHeaders` et `get_dd_trace_context` pour obtenir le contexte de span actuel. Les instructions sur la façon de faire cela dans chaque runtime sont décrites [ici][25]. ```js const tracer = require("dd-trace"); @@ -251,20 +285,21 @@ exports.handler = async event => { // ... ``` -### Extraire le contexte des traces +### Extraction du contexte de trace {#extracting-trace-context} -Pour extraire le contexte des traces indiqué ci-dessus à partir de la fonction Lambda du consommateur, vous devez définir une fonction d'extraction qui capture le contexte avant l'exécution de votre gestionnaire de fonctions Lambda. Pour ce faire, pointez la variable d'environnement `DD_TRACE_EXTRACTOR` vers votre fonction d'extraction. Le format `.` doit être respecté. Par exemple, indiquez `extractors.json` si la fonction d'extraction `json` se trouve dans le fichier `extractors.js`. Datadog vous conseille de rassembler vos méthodes d'extraction au sein d'un unique fichier, afin de pouvoir les réutiliser pour plusieurs fonctions Lambda. Ces fonctions d'extraction peuvent être entièrement personnalisées selon vos besoins. +Pour extraire le contexte de trace ci-dessus de la fonction Lambda du consommateur, vous devez définir une fonction d'extraction qui capture le contexte de trace avant l'exécution de votre gestionnaire de fonction Lambda. Pour ce faire, configurez la variable d'environnement `DD_TRACE_EXTRACTOR` pour pointer vers l'emplacement de votre fonction d'extraction. Le format pour cela est `.`. Par exemple, `extractors.json` si l'extracteur `json` se trouve dans le fichier `extractors.js`. Datadog recommande de placer toutes vos méthodes d'extraction dans un seul fichier, car les extracteurs peuvent être réutilisés dans plusieurs fonctions Lambda. Ces extracteurs sont entièrement personnalisables pour s'adapter à tout cas d'utilisation. **Remarques** : -- Si vous utilisez TypeScript ou un bundler comme webpack, vous devez `import` ou `require` votre module Node.js à l'emplacement où les fonctions d'extraction sont définies. Ainsi, le module est compilé et groupé au sein de votre package de déploiement Lambda. -- Si vos fonctions Lambda Node.js s'exécutent sur `arm64`, vous devez [définir la fonction d'extraction dans le code de votre fonction][26] au lieu d'utiliser la variable d'environnement `DD_TRACE_EXTRACTOR`. +- Si vous utilisez TypeScript ou un bundler comme webpack, vous devez `import` ou `require` votre module Node.js où les extracteurs sont définis. Cela garantit que le module est compilé et inclus dans votre package de déploiement Lambda. +- Si votre fonction Lambda Node.js s'exécute sur `arm64`, vous devez [définir l'extracteur dans le code de votre fonction][26] au lieu d'utiliser la variable d'environnement `DD_TRACE_EXTRACTOR`. -#### Extraits de fonction d'extraction +#### Exemples d'extracteurs {#sample-extractors} Le code suivant comporte des extraits de fonction d'extraction que vous pouvez utiliser pour propager le contexte des traces à l'échelle d'un système tiers ou d'une API ne prenant pas en charge les en-têtes HTTP standard. {{< tabs >}} {{% tab "Python" %}} + ```py def extractor(payload): trace_headers = json.loads(payload["_datadog"]); @@ -294,32 +329,33 @@ exports.json = (payload) => { ``` {{% /tab %}} {{% tab "Go" %}} + ```go var exampleSQSExtractor = func(ctx context.Context, ev json.RawMessage) map[string]string { - eh := events.SQSEvent{} + eh := events.SQSEvent{} - headers := map[string]string{} + headers := map[string]string{} - if err := json.Unmarshal(ev, &eh); err != nil { - return headers - } + if err := json.Unmarshal(ev, &eh); err != nil { + return headers + } - // Puisque SQS est utilisé comme déclencheur avec batchSize=1, il est important d'effectuer cette vérification, - // car un seul message SQS initiera l'exécution du gestionnaire. - if len(eh.Records) != 1 { - return headers - } + // Using SQS as a trigger with a batchSize=1 so it's important we check + // for this as a single SQS message will drive the execution of the handler. + if len(eh.Records) != 1 { + return headers + } - record := eh.Records[0] + record := eh.Records[0] - lowercaseHeaders := map[string]string{} - for k, v := range record.MessageAttributes { - if v.StringValue != nil { - lowercaseHeaders[strings.ToLower(k)] = *v.StringValue - } - } + lowercaseHeaders := map[string]string{} + for k, v := range record.MessageAttributes { + if v.StringValue != nil { + lowercaseHeaders[strings.ToLower(k)] = *v.StringValue + } + } - return lowercaseHeaders + return lowercaseHeaders } cfg := &ddlambda.Config{ @@ -330,11 +366,11 @@ ddlambda.WrapFunction(handler, cfg) {{% /tab %}} {{< /tabs >}} -## Envoyer des traces à Datadog avec l'intégration X-Ray +## Envoi de traces à Datadog avec l'intégration X-Ray {#sending-traces-to-datadog-with-the-x-ray-integration} -Si vous effectuez déjà le tracing de votre application sans serveur avec X-Ray, et que vous souhaitez continuer à utiliser ce service, vous pouvez [installer l'intégration AWS X-Ray][2] afin d'envoyer des traces depuis X-Ray vers Datadog. +Si vous avez une instrumentation X-Ray existante et que vous souhaitez continuer à l'utiliser, [installez l'intégration AWS X-Ray][2] pour envoyer des traces de X-Ray à Datadog. Pour les nouvelles applications sans serveur, Datadog recommande d'instrumenter les fonctions Lambda avec l'[extension Datadog Lambda][35] à la place. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -364,4 +400,12 @@ Si vous effectuez déjà le tracing de votre application sans serveur avec X-Ray [24]: /fr/serverless/distributed_tracing#runtime-recommendations [25]: /fr/tracing/trace_collection/custom_instrumentation/ [26]: /fr/serverless/guide/handler_wrapper/ -[27]: /fr/profiler/ \ No newline at end of file +[27]: /fr/profiler/ +[28]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html +[29]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html +[30]: https://docs.datadoghq.com/fr/tracing/trace_explorer/trace_view/?tab=spanlinksbeta +[31]: https://github.com/DataDog/dd-trace-py/ +[32]: https://github.com/DataDog/dd-trace-js/ +[33]: https://github.com/DataDog/datadog-lambda-python +[34]: https://github.com/DataDog/datadog-lambda-js +[35]: /fr/serverless/libraries_integrations/extension/ \ No newline at end of file diff --git a/content/fr/serverless/aws_lambda/instrumentation/_index.md b/content/fr/serverless/aws_lambda/instrumentation/_index.md new file mode 100644 index 00000000000..c3b5d469883 --- /dev/null +++ b/content/fr/serverless/aws_lambda/instrumentation/_index.md @@ -0,0 +1,68 @@ +--- +aliases: +- /fr/serverless/installation/installing_the_library/ +- /fr/serverless/installation +- /fr/serverless/aws_lambda/installation +further_reading: +- link: /serverless/configuration/ + tag: Documentation + text: Configurer la surveillance sans serveur +- link: /integrations/amazon_lambda/ + tag: Documentation + text: Intégration AWS Lambda +title: Instrumenter les applications AWS Lambda +--- +## Aperçu {#overview} + +Instrumentez vos applications AWS Lambda avec une extension Datadog Lambda pour collecter des traces, des métriques améliorées et des métriques personnalisées. L'extension Datadog Lambda est analogue à l'utilisation de l'agent Datadog et des SDK Datadog pour les infrastructures et applications basées sur des hôtes. + +{{< img src="serverless/serverless_tracing_installation_instructions.png" alt="Un diagramme montrant comment Datadog reçoit la télémétrie de votre application AWS Lambda instrumentée. Votre application Lambda, instrumentée avec une bibliothèque Datadog Lambda, envoie des journaux, des traces, des métriques améliorées et des métriques personnalisées à l'extension Datadog Lambda, qui pousse ensuite ces données vers Datadog." style="width:100%;" >}} + +## Démarrage rapide {#quick-start} + +Pour commencer, [inscrivez-vous pour un compte Datadog][1] si vous n'en avez pas déjà un. Ensuite, suivez le [flux d'installation in-app dans Fleet Automation][8] pour AWS Lambda afin d'instrumenter vos fonctions Lambda. Cette configuration de démarrage rapide permet à vos fonctions d'envoyer des métriques, des journaux et des traces en temps réel à Datadog. + +Une application d'exemple est [disponible sur GitHub][6] avec des instructions sur la façon de déployer avec plusieurs environnements d'exécution et des outils d'infrastructure en tant que code. + +Le processus de démarrage rapide configure vos fonctions Lambda à la volée. Pour instrumenter les fonctions Lambda de manière permanente, consultez les instructions détaillées dans la section suivante. + +## Utiliser le serveur MCP Datadog {#use-the-datadog-mcp-server} + +Utilisez le [serveur MCP Datadog][9] pour configurer la surveillance de vos conteneurs AWS Lambda avec l'assistance de l'IA. Après vous être connecté, essayez une invite comme : + +```shell +Help me monitor my AWS Lambda functions with Datadog +``` + +## Instructions d'instrumentation {#instrumentation-instructions} + +{{< card-grid card_width="30%" image_width="200" >}} + {{< image-card href="/serverless/installation/python/" src="integrations_logos/python.png" alt="Python" >}} + {{< image-card href="/serverless/installation/nodejs/" src="integrations_logos/nodejs.png" alt="Node.js" >}} + {{< image-card href="/serverless/installation/ruby/" src="integrations_logos/ruby.png" alt="Ruby" >}} + {{< image-card href="/serverless/installation/java/" src="integrations_logos/java.png" alt="Java" >}} + {{< image-card href="/serverless/installation/go/" src="integrations_logos/go-metro.png" alt="go" >}} + {{< image-card href="/serverless/installation/dotnet/" src="integrations_logos/dotnet_text.png" alt=".NET" >}} +{{< /card-grid >}} + +## Configurations avancées {#advanced-configurations} + +Une fois que vous avez terminé l'instrumentation et que vous avez configuré la collecte de télémétrie, vous pouvez utiliser [Configurer la surveillance sans serveur pour AWS Lambda][3] pour : + +- connecter vos métriques, traces et journaux à l'aide de balises +- collecter la télémétrie des ressources AWS telles que API Gateway, AppSync et Step Functions +- capturer les charges utiles de requête et de réponse pour chaque invocation de Lambda +- lier les erreurs de vos fonctions Lambda à votre code source +- filtrer ou nettoyer les informations sensibles des journaux ou des traces + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/signup/ +[3]: /fr/serverless/aws_lambda/configuration/ +[4]: /fr/serverless/aws_lambda/fips-compliance/ +[5]: /fr/serverless/aws_lambda/remote_instrumentation +[6]: https://github.com/DataDog/serverless-sample-app +[8]: https://app.datadoghq.com/fleet/install-agent/latest?platform=lambda +[9]: /fr/agentic_onboarding/setup \ No newline at end of file diff --git a/content/fr/serverless/aws_lambda/instrumentation/nodejs.md b/content/fr/serverless/aws_lambda/instrumentation/nodejs.md new file mode 100644 index 00000000000..b9b6aafcdc7 --- /dev/null +++ b/content/fr/serverless/aws_lambda/instrumentation/nodejs.md @@ -0,0 +1,475 @@ +--- +aliases: +- /fr/serverless/datadog_lambda_library/nodejs/ +- /fr/serverless/guide/nodejs/ +- /fr/serverless/installation/nodejs +- /fr/serverless/aws_lambda/installation/nodejs +further_reading: +- link: /serverless/configuration + tag: Documentation + text: Configurer la surveillance sans serveur +- link: /serverless/guide/serverless_tracing_and_bundlers/ + tag: Documentation + text: Tracing Lambda Node.js et compatibilité de bundlers +- link: /serverless/guide/troubleshoot_serverless_monitoring + tag: Documentation + text: Dépannage de la surveillance sans serveur +- link: serverless/custom_metrics/ + tag: Documentation + text: Envoyer des métriques custom depuis des applications sans serveur +title: Instrumenter des applications Node.js sans serveur +--- +
La version 67+ de l'extension Datadog Lambda est optimisée pour réduire considérablement la durée de démarrage à froid. En savoir plus.
+ +## Configurer {#setup} + +{{< tabs >}} +{{% tab "Datadog UI" %}} +Vous pouvez instrumenter votre application AWS Lambda Node.js directement dans Datadog. Accédez à la page [Serverless > AWS Lambda][2] et sélectionnez [**Instrumenter les fonctions**][3]. + +Pour plus d'informations, consultez [Instrumentation à distance pour AWS Lambda][1]. + +[1]: /fr/serverless/aws_lambda/remote_instrumentation +[2]: https://app.datadoghq.com/functions?cloud=aws +[3]: https://app.datadoghq.com/serverless/aws/lambda/setup +{{% /tab %}} +{{% tab "Datadog CLI" %}} + +Datadog CLI modifie la configuration des fonctions Lambda existantes afin d'activer l'instrumentation sans nécessiter de nouveau déploiement. C'est le moyen le plus rapide de commencer avec la surveillance sans serveur de Datadog. + +1. Installer le client CLI Datadog + + ```sh + npm install -g @datadog/datadog-ci @datadog/datadog-ci-plugin-lambda + ``` + +2. Si vous êtes nouveau dans la surveillance sans serveur de Datadog, lancez Datadog CLI en mode interactif pour guider votre première installation pour un démarrage rapide, et vous pouvez ignorer les étapes restantes. Pour installer Datadog de manière permanente pour vos applications de production, passez cette étape et suivez les étapes restantes pour exécuter la commande Datadog CLI dans vos pipelines CI/CD _après_ votre déploiement normal. + + ```sh + datadog-ci lambda instrument -i + ``` + +3. Configurer les identifiants AWS + + Datadog CLI nécessite un accès au service AWS Lambda et dépend de l'AWS JavaScript SDK pour [résoudre les identifiants][1]. Assurez-vous que vos identifiants AWS sont configurés en utilisant la même méthode que celle que vous utiliseriez lors de l'invocation de l'AWS CLI. + +4. Configurer le site Datadog + + ```sh + export DATADOG_SITE="" + ``` + + Replace `` with {{< region-param key="dd_site" code="true" >}} (assurez-vous que le bon SITE est sélectionné à droite). + +5. Configurer la clé API Datadog + + Datadog recommande de sauvegarder la clé API Datadog dans AWS Secrets Manager pour des raisons de sécurité et de rotation facile. La clé doit être stockée sous forme de chaîne de texte brut (pas un blob JSON). Assurez-vous que vos fonctions Lambda disposent de l'autorisation `secretsmanager:GetSecretValue`IAM requise. + + ```sh + export DATADOG_API_KEY_SECRET_ARN="" + ``` + + For quick testing purposes, you can also set the Datadog API key in plaintext: + + ```sh + export DATADOG_API_KEY="" + ``` + +6. Instrumentez vos fonctions Lambda + + **Remarque** : Instrumentez d'abord vos fonctions Lambda dans un environnement de développement ou de staging ! Si le résultat de l'instrumentation est insatisfaisant, exécutez `uninstrument` avec les mêmes arguments pour annuler les modifications. + + Pour instrumenter vos fonctions Lambda, lancez la commande suivante. + + ```sh + datadog-ci lambda instrument -f -f -r -v {{< latest-lambda-layer-version layer="node" >}} -e {{< latest-lambda-layer-version layer="extension" >}} + + +``` + + To fill in the placeholders: + - Replace `` and `` with your Lambda function names. Alternatively, you can use `--functions-regex` to automatically instrument multiple functions whose names match the given regular expression. + - Replace `` with the AWS region name. + + Additional parameters can be found in the [CLI documentation][2]. + + +[1]: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html +[2]: https://docs.datadoghq.com/fr/serverless/serverless_integrations/cli +{{% /tab %}} +{{% tab "Serverless Framework" %}} + +
Si vous déployez plutôt votre application Serverless Framework en exportant nativement un objet JSON depuis un fichier JavaScript (par exemple, en utilisant un serverless.ts fichier), suivez les instructions d'installation personnalisées.
+ +Le [plug-in Serverless Datadog][1] configure vos fonctions de sorte à ce qu'elles envoient les métriques, les traces et les logs à Datadog via l'[extension Lambda Datadog][2]. + +Pour installer et configurer le plug-in Serverless Datadog, suivez les étapes suivantes : + +1. Installez le plugin Datadog Serverless : + + ```sh + serverless plugin install --name serverless-plugin-datadog + ``` + +2. Mettez à jour votre `serverless.yml` : + + ```yaml + custom: + datadog: + site: + apiKeySecretArn: + ``` + + To fill in the placeholders: + - Replace `` with {{< region-param key="dd_site" code="true" >}} (assurez-vous que le bon SITE est sélectionné à droite). + - Remplacez `` par l'ARN du secret AWS où votre [clé API Datadog][3] est stockée en toute sécurité. La clé doit être stockée sous forme de chaîne de texte brut (pas un blob JSON). L'autorisation `secretsmanager:GetSecretValue` est requise. Pour des tests rapides, vous pouvez plutôt utiliser `apiKey` et définir la clé API Datadog en texte brut. + + For more information and additional settings, see the [plugin documentation][1]. + +[1]: https://docs.datadoghq.com/fr/serverless/serverless_integrations/plugin +[2]: https://docs.datadoghq.com/fr/serverless/libraries_integrations/extension +[3]: https://app.datadoghq.com/organization-settings/api-keys +{{% /tab %}} +{{% tab "AWS SAM" %}} + +La [macro CloudFormation Datadog][1] transforme automatiquement votre modèle d'application SAM dans le but d'installer Datadog sur vos fonctions à l'aide des couches Lambda. De plus, elle configure vos fonctions de sorte à ce qu'elles envoient des métriques, des traces et des logs à Datadog via l'[extension Lambda Datadog][2]. + +1. Installez la macro Datadog CloudFormation + + Exécutez la commande suivante avec vos [identifiants AWS][3] pour déployer une pile CloudFormation qui installe la ressource macro AWS. Vous n'avez besoin d'installer la macro **qu'une seule fois** pour une région donnée dans votre compte. Remplacez `create-stack` par `update-stack` pour mettre à jour la macro vers la dernière version. + + ```sh + aws cloudformation create-stack \ + --stack-name datadog-serverless-macro \ + --template-url https://datadog-cloudformation-template.s3.amazonaws.com/aws/serverless-macro/latest.yml \ + --capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_IAM + ``` + + The macro is now deployed and ready to use. + +2. Instrumentez vos fonctions Lambda + + Ajoutez la transformation `DatadogServerless` **après** la transformation `AWS::Serverless` dans la section `Transform` de votre pour SAM `template.yml`. + + ```yaml + Transform: + - AWS::Serverless-2016-10-31 + - Name: DatadogServerless + Parameters: + stackName: !Ref "AWS::StackName" + nodeLayerVersion: {{< latest-lambda-layer-version layer="node" >}} + extensionLayerVersion: {{< latest-lambda-layer-version layer="extension" >}} + site: "" + apiKeySecretArn: "" + ``` + + To fill in the placeholders: + - Replace `` with {{< region-param key="dd_site" code="true" >}} (assurez-vous que le bon SITE est sélectionné à droite). + - Remplacez `` par l'ARN du secret AWS où votre [clé API Datadog][4] est stockée en toute sécurité. La clé doit être stockée sous forme de chaîne de texte brut (pas un blob JSON). L'autorisation `secretsmanager:GetSecretValue` est requise. Pour des tests rapides, vous pouvez utiliser `apiKey` à la place et définir la clé API Datadog en texte brut. + + More information and additional parameters can be found in the [macro documentation][1]. + + +[1]: https://docs.datadoghq.com/fr/serverless/serverless_integrations/macro +[2]: https://docs.datadoghq.com/fr/serverless/libraries_integrations/extension +[3]: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html +[4]: https://app.datadoghq.com/organization-settings/api-keys +{{% /tab %}} + +{{% tab "AWS CDK" %}} +{{< lambda-install-cdk language="node" layer="node" layerParamTypescript="nodeLayerVersion" layerParamPython="node_layer_version">}} +{{% /tab %}} + +{{% tab "Image de conteneur" %}} + +1. Installez la bibliothèque Datadog Lambda + + Emballez la Lambda Datadog et les SDK dans l'image : + + ```sh + npm install datadog-lambda-js dd-trace + ``` + + Note that the minor version of the `datadog-lambda-js` package always matches the layer version. For example, `datadog-lambda-js v0.5.0` matches the content of layer version 5. + + You cannot install the Datadog Lambda Library as a layer if you are deploying your Lambda function as a container image. + +2. Installez l'extension Datadog Lambda + + Ajoutez l'extension Lambda Datadog à votre image de conteneur en ajoutant ce qui suit à votre Dockerfile : + + ```dockerfile + COPY --from=public.ecr.aws/datadog/lambda-extension: /opt/. /opt/ + ``` + + Replace `` with either a specific version number (for example, `{{< latest-lambda-layer-version layer="extension" >}}`) or with `latest`. Alpine is also supported with specific version numbers (such as `{{< latest-lambda-layer-version layer="extension" >}}-alpine`) or with `latest-alpine`. Vous pouvez voir une liste complète des balises possibles dans le [dépôt Amazon ECR][1]. + +3. Redirigez la fonction gestionnaire + + - Définissez la valeur `CMD` de votre image sur `node_modules/datadog-lambda-js/dist/handler.handler`. Vous pouvez définir cela dans AWS ou directement dans votre Dockerfile. Notez que la valeur définie dans AWS remplace la valeur dans le Dockerfile si vous définissez les deux. + - Définissez la variable d'environnement `DD_LAMBDA_HANDLER` sur votre gestionnaire d'origine, par exemple, `myfunc.handler`. + - Si vous utilisez ESModule avec le conteneur, vous devrez supprimer le fichier `handler.js`. Ce fichier existe pour Node 12 et sera supprimé lorsque AWS dépréciera le support de Node 12. + ```dockerfile + RUN rm node_modules/datadog-lambda-js/dist/handler.js + CMD ["node_modules/datadog-lambda-js/dist/handler.handler"] + ``` + + **Note**: If your Lambda function runs on `arm64`, you must either build your container image in an arm64-based Amazon Linux environment or [apply the Datadog wrapper in your function code][2] instead. You may also need to do that if you are using a third-party security or monitoring tool that is incompatible with the Datadog handler redirection. + +4. Configurez le site Datadog et la clé API + + - Définissez la variable d'environnement `DD_SITE` sur {{< region-param key="dd_site" code="true" >}} (assurez-vous que le bon SITE est sélectionné à droite). + - Définissez la variable d'environnement `DD_API_KEY_SECRET_ARN` avec l'ARN du secret AWS où votre [clé API Datadog][3] est stockée en toute sécurité. La clé doit être stockée sous forme de chaîne de texte brut (pas un blob JSON). L'autorisation `secretsmanager:GetSecretValue` est requise. Pour des tests rapides, vous pouvez utiliser `DD_API_KEY` à la place et définir la clé API Datadog en texte brut. + + +[1]: https://gallery.ecr.aws/datadog/lambda-extension +[2]: https://docs.datadoghq.com/fr/serverless/guide/handler_wrapper +[3]: https://app.datadoghq.com/organization-settings/api-keys +{{% /tab %}} +{{% tab "Terraform" %}} + +Le module Terraform [`lambda-datadog`][1] enveloppe la ressource [`aws_lambda_function`][2] et configure automatiquement votre fonction Lambda pour la surveillance sans serveur Datadog en : + +- Ajoutant les couches Datadog Lambda +- Redirection du gestionnaire Lambda +- Activation de la collecte et de l'envoi des métriques, des traces et des journaux vers Datadog + +```tf +module "lambda-datadog" { + source = "DataDog/lambda-datadog/aws" + version = "4.0.0" + + environment_variables = { + "DD_API_KEY_SECRET_ARN" : "" + "DD_ENV" : "" + "DD_SERVICE" : "" + "DD_SITE": "" + "DD_VERSION" : "" + } + + datadog_extension_layer_version = {{< latest-lambda-layer-version layer="extension" >}} + datadog_node_layer_version = {{< latest-lambda-layer-version layer="node" >}} + + # aws_lambda_function arguments +} +``` + +1. Remplacez la ressource `aws_lambda_function` par le module Terraform `lambda-datadog` puis spécifiez le `source` et le `version` du module. + +2. Définissez les arguments `aws_lambda_function` : + + Tous les arguments disponibles dans la ressource `aws_lambda_function` sont disponibles dans ce module Terraform. Les arguments définis comme blocs dans la ressource `aws_lambda_function` sont redéfinis comme des variables avec leurs arguments imbriqués. + + Par exemple, dans `aws_lambda_function`, `environment` est défini comme un bloc avec un argument `variables`. Dans le module Terraform `lambda-datadog`, la valeur pour le `environment_variables` est transmise à l'argument `environment.variables` dans `aws_lambda_function`. Voir [inputs][3] pour une liste complète des variables dans ce module. + +3. Remplissez les espaces réservés des variables d'environnement : + + - Remplacez `` par l'ARN du secret AWS où votre clé API Datadog est stockée en toute sécurité. La clé doit être stockée sous forme de chaîne de texte brut (pas un blob JSON). La permission `secretsmanager:GetSecretValue` est requise. Pour des tests rapides, vous pouvez plutôt utiliser la variable d'environnement `DD_API_KEY` et définir votre clé API Datadog en texte clair. + - Remplacez `` par l'environnement de la fonction Lambda, tel que `prod` ou `staging` + - Remplacez `` par le nom du service de la fonction Lambda + - Remplacez `` par {{< region-param key="dd_site" code="true" >}}. (Assurez-vous que le bon [site Datadog][4] est sélectionné sur cette page). + - Remplacez `` par le numéro de version de la fonction Lambda + +4. Sélectionnez les versions de la couche Lambda de l'extension Datadog et de la couche Lambda Node.js de Datadog à utiliser. Par défaut, utilise les dernières versions de couche. + +``` + datadog_extension_layer_version = {{< latest-lambda-layer-version layer="extension" >}} + datadog_node_layer_version = {{< latest-lambda-layer-version layer="node" >}} +``` + +[1]: https://registry.terraform.io/modules/DataDog/lambda-datadog/aws/latest +[2]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_function +[3]: https://github.com/DataDog/terraform-aws-lambda-datadog?tab=readme-ov-file#inputs +[4]: /fr/getting_started/site/ +{{% /tab %}} +{{% tab "SST v3" %}} + +Pour configurer Datadog en utilisant SST v3, suivez ces étapes : + + ```ts + const app = new sst.aws.Function("MyApp", { + handler: "index.handler", + nodejs : { + install: [ + "datadog-lambda-js", + "dd-trace", + ] + }, + environment: { + DD_ENV: "", + DD_SERVICE: "", + DD_VERSION: "", + DATADOG_API_KEY_SECRET_ARN: "", + DD_SITE: "", + }, + layers: [ + $interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:464622532012:layer:Datadog-Extension:{{< latest-lambda-layer-version layer="extension" >}}`, + $interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:464622532012:layer:Datadog-:{{< latest-lambda-layer-version layer="node" >}}` + ], + }); + ``` + + 1. Configure the Datadog Lambda Library and Datadog Lambda Extension layers + + - The available `` options are: {{< latest-lambda-layer-version layer="node-versions" >}}. + + 2. Ajoutez `dd-trace` et `datadog-lambda-js` à la liste `nodejs.install` + + 3. Remplissez les espaces réservés des variables d'environnement : + + - Remplacez `` par l'ARN du secret AWS où votre clé API Datadog est stockée en toute sécurité. La clé doit être stockée sous forme de chaîne de texte brut (pas un blob JSON). L'autorisation `secretsmanager:GetSecretValue` est requise. Pour des tests rapides, vous pouvez plutôt utiliser la variable d'environnement `DD_API_KEY` et définir votre clé API Datadog en texte brut. + - Remplacez `` par l'environnement de la fonction Lambda, tel que `prod` ou `staging` + - Remplacez `` par le nom du service de la fonction Lambda + - Remplacez `` par {{< region-param key="dd_site" code="true" >}}. (Assurez-vous que le bon [site Datadog][1] est sélectionné sur cette page) + - Remplacez `` par le numéro de version de la fonction Lambda + + 4. [Appliquez le wrapper Datadog dans votre code de fonction][2] + +[1]: /fr/getting_started/site/ +[2]: https://docs.datadoghq.com/fr/serverless/guide/handler_wrapper +{{% /tab %}} +{{% tab "Custom" %}} + +
Si vous n'utilisez pas un outil de développement sans serveur que Datadog prend en charge, tel que le Serverless Framework ou AWS CDK, Datadog vous encourage fortement à instrumenter vos applications sans serveur avec le Datadog CLI.
+ +1. Installez la bibliothèque Datadog Lambda + + La bibliothèque Datadog Lambda peut être importée soit en tant que couche (recommandée) _OU_ en tant que package JavaScript. + + La version mineure du package `datadog-lambda-js` correspond toujours à la version de la couche. Par exemple, datadog-lambda-js v0.5.0 correspond au contenu de la version de la couche 5. + + - Option A : [Configurez les couches][1] pour votre fonction Lambda en utilisant l'ARN dans le format suivant : + + ```sh + # Use this format for AWS commercial regions + arn:aws:lambda::464622532012:layer:Datadog-:{{< latest-lambda-layer-version layer="node" >}} + + # Use this format for AWS GovCloud regions + arn:aws-us-gov:lambda::002406178527:layer:Datadog-:{{< latest-lambda-layer-version layer="node" >}} + ``` + + Replace `` with a valid AWS region such as `us-east-1`. The available `` options are: {{< latest-lambda-layer-version layer="node-versions" >}}. + + - Option B: If you cannot use the prebuilt Datadog Lambda layer, alternatively you can install the packages `datadog-lambda-js` and `dd-trace` using your favorite package manager. + + ``` + npm install datadog-lambda-js dd-trace + ``` + +2. Installez l'extension Lambda de Datadog + + [Configurez les couches][1] pour votre fonction Lambda à l'aide de l'ARN, en respectant le format suivant : + + ```sh + # Use this format for x86-based Lambda deployed in AWS commercial regions + arn:aws:lambda::464622532012:layer:Datadog-Extension:{{< latest-lambda-layer-version layer="extension" >}} + + # Use this format for arm64-based Lambda deployed in AWS commercial regions + arn:aws:lambda::464622532012:layer:Datadog-Extension-ARM:{{< latest-lambda-layer-version layer="extension" >}} + + # Use this format for x86-based Lambda deployed in AWS GovCloud regions + arn:aws-us-gov:lambda::002406178527:layer:Datadog-Extension:{{< latest-lambda-layer-version layer="extension" >}} + + # Use this format for arm64-based Lambda deployed in AWS GovCloud regions + arn:aws-us-gov:lambda::002406178527:layer:Datadog-Extension-ARM:{{< latest-lambda-layer-version layer="extension" >}} + + +``` + + Replace `` with a valid AWS region, such as `us-east-1`. + +3. Redirigez la fonction de gestionnaire + + - Définissez le gestionnaire de votre fonction sur `/opt/nodejs/node_modules/datadog-lambda-js/handler.handler` si vous utilisez la couche, ou `node_modules/datadog-lambda-js/dist/handler.handler` si vous utilisez le package. + - Définissez la variable d'environnement `DD_LAMBDA_HANDLER` sur votre gestionnaire d'origine, par exemple, `myfunc.handler`. + + **Remarque** : Si votre fonction Lambda s'exécute sur `arm64` et que la bibliothèque `datadog-lambda-js` est installée en tant que package NPM (option B de l'étape 1), vous devez [appliquer le wrapper Datadog dans le code de votre fonction][2] à la place. Vous devrez peut-être également le faire si vous utilisez un outil de sécurité ou de surveillance tiers qui est incompatible avec la redirection du gestionnaire Datadog. + +4. Configurez le site Datadog et la clé API + + - Définissez la variable d'environnement `DD_SITE` sur {{< region-param key="dd_site" code="true" >}} (assurez-vous que le bon SITE est sélectionné à droite). + - Définissez la variable d'environnement `DD_API_KEY_SECRET_ARN` avec l'ARN du secret AWS où votre [clé API Datadog][3] est stockée en toute sécurité. La clé doit être stockée sous forme de chaîne de texte brut (pas un blob JSON). L'autorisation `secretsmanager:GetSecretValue` est requise. Pour des tests rapides, vous pouvez utiliser `DD_API_KEY` à la place et définir la clé API Datadog en texte clair. + +[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html +[2]: https://docs.datadoghq.com/fr/serverless/guide/handler_wrapper +[3]: https://app.datadoghq.com/organization-settings/api-keys +{{% /tab %}} +{{< /tabs >}} + +{{% svl-tracing-env %}} + +
N'installez pas la bibliothèque Lambda de Datadog en tant que couche et en tant que package JavaScript. Si vous avez installé la bibliothèque Lambda de Datadog en tant que couche, ne l'incluez pas datadog-lambda-js dans votre package.json, ou installez-la en tant que dépendance de développement et exécutez npm install --production avant de déployer.
+ +## Conformité FIPS {#fips-compliance} + +{{% svl-lambda-fips %}} + +## AWS Lambda et VPC {#aws-lambda-and-vpc} + +{{% svl-lambda-vpc %}} + +## Quelle est la suite ? {#whats-next} + +- Ajoutez des balises personnalisées à votre télémétrie en utilisant la variable d'environnement `DD_TAGS` +- Configurez [la collecte de payload][12] pour capturer les payloads JSON de vos fonctions de requête et de réponse +- Si vous utilisez l'extension Lambda de Datadog, désactivez les journaux Lambda du Forwarder Datadog +- Voir [Configurer la surveillance sans serveur pour AWS Lambda][3] pour d'autres capacités + +### Surveiller la logique métier personnalisée {#monitor-custom-business-logic} + +Pour surveiller votre logique métier personnalisée, soumettez une métrique personnalisée ou un span en utilisant le code d'exemple ci-dessous. Pour des options supplémentaires, voir [soumission de métriques personnalisées pour les applications sans serveur][4] et le guide APM pour [instrumentation personnalisée][5]. + +```javascript +const { sendDistributionMetric, sendDistributionMetricWithDate } = require('datadog-lambda-js'); +const tracer = require('dd-trace'); + +// submit a custom span named "sleep" +const sleep = tracer.wrap('sleep', (ms) => { + return new Promise((resolve) => setTimeout(resolve, ms)); +}); + +exports.handler = async (event) => { + // add custom tags to the lambda function span, + // does NOT work when X-Ray tracing is enabled + const span = tracer.scope().active(); + span.setTag('customer_id', '123456'); + + await sleep(100); + + // submit a custom span + const sandwich = tracer.trace('hello.world', () => { + console.log('Hello, World!'); + }); + + // submit a custom metric + sendDistributionMetric( + 'coffee_house.order_value', // metric name + 12.45, // metric value + 'product:latte', // tag + 'order:online' // another tag + ); + + const response = { + statusCode: 200, + body: JSON.stringify('Hello from serverless!') + }; + return response; +}; +``` + +## Lectures Complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/functions +[2]: /fr/serverless/guide/troubleshoot_serverless_monitoring/ +[3]: /fr/serverless/configuration/ +[4]: /fr/serverless/custom_metrics?tab=nodejs +[5]: /fr/tracing/custom_instrumentation/nodejs/ +[6]: /fr/security/application_security/serverless/ +[7]: https://github.com/DataDog/datadog-lambda-extension +[8]: https://github.com/DataDog/datadog-lambda-extension/issues +[9]: /fr/serverless/aws_lambda/distributed_tracing/#span-auto-linking +[10]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html +[11]: /fr/serverless/aws_lambda/remote_instrumentation +[12]: /fr/serverless/aws_lambda/configuration?tab=datadogcli#collect-the-request-and-response-payloads \ No newline at end of file diff --git a/content/fr/serverless/aws_lambda/metrics.md b/content/fr/serverless/aws_lambda/metrics.md new file mode 100644 index 00000000000..7a2f68de837 --- /dev/null +++ b/content/fr/serverless/aws_lambda/metrics.md @@ -0,0 +1,490 @@ +--- +aliases: +- /fr/serverless/custom_metrics +- /fr/serverless/enhanced_lambda_metrics +- /fr/serverless/real-time-enhanced-metrics +- /fr/serverless/real_time_enhanced_metrics +title: Métriques AWS Lambda +--- +Cette page discute des métriques pour surveiller les applications sans serveur sur AWS Lambda. Il existe 3 façons d'obtenir des métriques d'AWS Lambda : + +- Vous pouvez obtenir des métriques Cloudwatch Lambda via l'[intégration Datadog AWS][5] +- Vous pouvez obtenir des [métriques améliorées](#enhanced-lambda-metrics) en [installing Serverless Monitoring for AWS Lambda][1] via the Datadog Lambda Extension. +- Vous pouvez [soumettre des métriques personnalisées](#submit-custom-metrics) à Datadog depuis vos fonctions Lambda. + +{{< img src="serverless/serverless_custom_metrics.png" alt="Collecte de métriques améliorées depuis AWS Lambda" >}} + +### Collectez des métriques à partir de ressources non-Lambda {#collect-metrics-from-non-lambda-resources} + +Datadog peut également vous aider à collecter des métriques pour les ressources gérées par AWS—telles que [API Gateway][2], [AppSync][3], et [SQS][4]—pour vous aider à surveiller l'ensemble de votre application sans serveur. Ces métriques sont enrichies avec les balises de ressources AWS correspondantes. + +Pour collecter ces métriques, configurez l'[intégration Datadog AWS][5]. + +[1]: /fr/serverless/aws_lambda/installation +[2]: /fr/integrations/amazon_api_gateway/#data-collected +[3]: /fr/integrations/amazon_appsync/#data-collected +[4]: /fr/integrations/amazon_sqs/#data-collected +[5]: /fr/integrations/amazon_web_services/ + +## Métriques améliorées de Lambda {#enhanced-lambda-metrics} + +{{< img src="serverless/lambda-metrics-dashboard.jpeg" alt="Tableau de bord par défaut des métriques améliorées de Lambda" width="80%">}} + +Par défaut, Datadog génère des métriques Lambda optimisées à partir de votre runtime Lambda. Ces métriques offrent une faible latence, une granularité de plusieurs secondes et des métadonnées détaillées pour les démarrages à froid et les tags personnalisés. + +Les métriques améliorées de Lambda s'ajoutent aux [métriques Lambda][6] par défaut activées avec l'intégration AWS Lambda. Les métriques améliorées se distinguent par leur présence dans le `aws.lambda.enhanced.*` espace de noms. Vous pouvez visualiser ces métriques sur le [tableau de bord par défaut des métriques améliorées de Lambda][7]. + +Les métriques améliorées de Lambda en temps réel suivantes sont disponibles, et elles sont étiquetées avec les balises correspondantes `aws_account`, `region`, `functionname`, `cold_start`, `memorysize`, `executedversion`, `resource` et `runtime`. + +Ces métriques sont des [distributions][8]: . Vous pouvez les interroger en utilisant les agrégations `count`, `min`, `max`, `sum` et `avg`. Les métriques améliorées sont activées automatiquement avec [Serverless Monitoring][1] mais peuvent être désactivées en affectant à la variable d'environnement `DD_ENHANCED_METRICS` la valeur `false` dans votre fonction Lambda. + +`aws.lambda.enhanced.invocations` +: Mesure le nombre de fois qu'une fonction est invoquée en réponse à un événement ou à une invocation d'un appel API. + +`aws.lambda.enhanced.errors` +: Mesure le nombre d'invocations qui ont échoué en raison d'erreurs dans la fonction. + +`aws.lambda.enhanced.max_memory_used` +: Mesure la quantité maximale de mémoire (Mo) utilisée par la fonction. + +`aws.lambda.enhanced.duration` +: Mesure le nombre de secondes écoulées depuis le début de l'exécution du code de la fonction à la suite d'une invocation jusqu'à son arrêt. + +`aws.lambda.enhanced.billed_duration` +: Mesure le temps facturé pendant lequel la fonction a été exécutée (par incréments de 100 ms). + +`aws.lambda.enhanced.init_duration` +: Mesure le temps d'initialisation (en secondes) d'une fonction lors d'un démarrage à froid. + +`aws.lambda.enhanced.runtime_duration` +: Mesure le nombre de millisecondes écoulées depuis le début de l'exécution du code de la fonction jusqu'à ce qu'elle renvoie la réponse au client, en excluant la durée post-exécution ajoutée par les exécutions d'extensions Lambda. + +`aws.lambda.enhanced.post_runtime_duration` +: Mesure le nombre de millisecondes écoulées depuis que le code de la fonction renvoie la réponse au client jusqu'à ce que la fonction cesse de s'exécuter, représentant la durée ajoutée par les exécutions d'extensions Lambda. + +`aws.lambda.enhanced.response_latency` +: Mesure le temps écoulé en millisecondes depuis la réception de la demande d'invocation jusqu'à l'envoi du premier octet de réponse au client. + +`aws.lambda.enhanced.response_duration` +: Mesure le temps écoulé en millisecondes depuis l'envoi du premier octet de réponse jusqu'au dernier octet de réponse envoyé au client. + +`aws.lambda.enhanced.produced_bytes` +: Mesure le nombre d'octets renvoyés par une fonction. + +`aws.lambda.enhanced.estimated_cost` +: Mesure le coût total estimé de l'invocation de la fonction (en dollars américains). + +`aws.lambda.enhanced.timeouts` +: Mesure le nombre de fois qu'une fonction dépasse le temps imparti. + +`aws.lambda.enhanced.out_of_memory` +: Mesure le nombre de fois qu'une fonction manque de mémoire. +: Étant donné qu'il existe de nombreuses variations d'erreurs de manque de mémoire, certains cas peuvent ne pas être bien gérés malgré les meilleurs efforts. Si vous rencontrez un tel cas, créez une issue dans le [répertoire GitHub de l'extension Lambda Datadog][18]. + +`aws.lambda.enhanced.cpu_total_utilization` +: Mesure l'utilisation totale du CPU de la fonction en nombre de cœurs. + +`aws.lambda.enhanced.cpu_total_utilization_pct` +: Mesure l'utilisation totale du CPU de la fonction en pourcentage. + +`aws.lambda.enhanced.cpu_max_utilization` +: Mesure l'utilisation du CPU sur le cœur le plus utilisé. + +`aws.lambda.enhanced.cpu_min_utilization` +: Mesure l'utilisation du CPU sur le cœur le moins utilisé. + +`aws.lambda.enhanced.cpu_system_time` +: Mesure le temps que le CPU a passé à s'exécuter en mode noyau. + +`aws.lambda.enhanced.cpu_user_time` +: Mesure le temps que le CPU a passé à s'exécuter en mode utilisateur. + +`aws.lambda.enhanced.cpu_total_time` +: Mesure le temps total que le CPU a passé à s'exécuter. + +`aws.lambda.enhanced.num_cores` +: Mesure le nombre de cœurs disponibles. + +`aws.lambda.enhanced.rx_bytes` +: Mesure les octets reçus par la fonction. + +`aws.lambda.enhanced.tx_bytes` +: Mesure les octets envoyés par la fonction. + +`aws.lambda.enhanced.total_network` +: Mesure les octets envoyés et reçus par la fonction. + +`aws.lambda.enhanced.tmp_max` +: Mesure l'espace total disponible dans le répertoire /tmp. + +`aws.lambda.enhanced.tmp_used` +: Mesure l'espace utilisé dans le répertoire /tmp. + +`aws.lambda.enhanced.fd_max` +: Mesure le nombre total de descripteurs de fichiers disponibles à l'utilisation. + +`aws.lambda.enhanced.fd_use` +: Mesure le nombre maximum de descripteurs de fichiers utilisés pendant la durée de l'invocation de la fonction. + +`aws.lambda.enhanced.threads_max` +: Mesure le nombre total de threads disponibles à l'utilisation. + +`aws.lambda.enhanced.threads_use` +: Mesure le nombre maximum de threads utilisés pendant la durée de l'invocation de la fonction. + +[6]: /fr/integrations/amazon_lambda/#metric-collection +[7]: https://app.datadoghq.com/screen/integration/aws_lambda_enhanced_metrics +[8]: /fr/metrics/distributions/ +[18]: https://github.com/DataDog/datadog-lambda-extension + +## Soumettre des métriques personnalisées {#submit-custom-metrics} + +### Créer des métriques personnalisées à partir des journaux ou des traces {#create-custom-metrics-from-logs-or-traces} +Si vos fonctions Lambda envoient déjà des données de trace ou de journal à Datadog, et que les données que vous souhaitez interroger sont capturées dans un journal ou une trace existante, vous pouvez générer des métriques personnalisées à partir des journaux et des traces sans redéployer ni apporter de modifications à votre code d'application. + +Avec les métriques basées sur les journaux, vous pouvez enregistrer un compte des journaux qui correspondent à une requête ou résumer une valeur numérique contenue dans un journal, telle qu'une durée de requête. Les métriques basées sur les journaux sont un moyen rentable de résumer les données de journal de l'ensemble du flux d'ingestion. En savoir plus sur [la création de métriques basées sur les journaux][9]. + +Vous pouvez également générer des métriques à partir de tous les spans ingérés, qu'ils soient indexés par un filtre de rétention ou non. En savoir plus sur [la création de métriques basées sur les spans][10]. + +### Soumettre des métriques personnalisées directement depuis une fonction Lambda {#submit-custom-metrics-directly-from-a-lambda-function} + +Toutes les métriques personnalisées sont soumises en tant que [distributions](#understanding-distribution-metrics). + +**Remarque** : Les métriques de distribution doivent être soumises avec un nouveau nom, ne réutilisez pas le nom d'une métrique précédemment soumise. + +1. [Install Serverless Monitoring for AWS Lambda][1] et assurez-vous d'avoir installé le Datadog Lambda Extension. + +2. Choisissez votre environnement d'exécution : + +{{< programming-lang-wrapper langs="python,nodeJS,go,java,dotnet,other" >}} +{{< programming-lang lang="python" >}} + +```python +from datadog_lambda.metric import lambda_metric + +def lambda_handler(event, context): + lambda_metric( + "coffee_house.order_value", # Metric name + 12.45, # Metric value + tags=['product:latte', 'order:online'] # Associated tags + ) +``` +{{< /programming-lang >}} +{{< programming-lang lang="nodeJS" >}} + +```javascript +const { sendDistributionMetric } = require('datadog-lambda-js'); + +async function myHandler(event, context) { + sendDistributionMetric( + 'coffee_house.order_value', // Metric name + 12.45, // Metric value + 'product:latte', // First tag + 'order:online' // Second tag + ); +} +``` +{{< /programming-lang >}} +{{< programming-lang lang="go" >}} + +```go +package main + +import ( + "github.com/aws/aws-lambda-go/lambda" + "github.com/DataDog/datadog-lambda-go" +) + +func main() { + lambda.Start(ddlambda.WrapFunction(myHandler, nil)) +} + +func myHandler(ctx context.Context, event MyEvent) (string, error) { + ddlambda.Distribution( + "coffee_house.order_value", // Metric name + 12.45, // Metric value + "product:latte", "order:online" // Associated tags + ) +} +``` +{{< /programming-lang >}} +{{< programming-lang lang="java" >}} + +Installez la dernière version de [`java-dogstatsd-client`][1]. + +```java +package com.datadog.lambda.sample.java; + +import com.amazonaws.services.lambda.runtime.Context; +import com.amazonaws.services.lambda.runtime.RequestHandler; +import com.amazonaws.services.lambda.runtime.events.APIGatewayV2ProxyRequestEvent; +import com.amazonaws.services.lambda.runtime.events.APIGatewayV2ProxyResponseEvent; + +// import the statsd client builder +import com.timgroup.statsd.NonBlockingStatsDClientBuilder; +import com.timgroup.statsd.StatsDClient; + +public class Handler implements RequestHandler { + + // instantiate the statsd client + private static final StatsDClient Statsd = new NonBlockingStatsDClientBuilder().hostname("localhost").build(); + + @Override + public APIGatewayV2ProxyResponseEvent handleRequest(APIGatewayV2ProxyRequestEvent request, Context context) { + + // submit a distribution metric + Statsd.recordDistributionValue("my.custom.java.metric", 1, new String[]{"tag:value"}); + + APIGatewayV2ProxyResponseEvent response = new APIGatewayV2ProxyResponseEvent(); + response.setStatusCode(200); + return response; + } + + static { + // ensure all metrics are flushed before shutdown + Runtime.getRuntime().addShutdownHook(new Thread() { + @Override + public void run() { + System.out.println("[runtime] shutdownHook triggered"); + try { + Thread.sleep(300); + } catch (InterruptedException e) { + System.out.println("[runtime] sleep interrupted"); + } + System.out.println("[runtime] exiting"); + } + }); + } +} +``` + +[1]: https://github.com/DataDog/java-dogstatsd-client +{{< /programming-lang >}} +{{< programming-lang lang="dotnet" >}} + +Installez la dernière version de [`dogstatsd-csharp-client`][1]. + +```csharp +using System.IO; + +// import the statsd client +using StatsdClient; + +namespace Example +{ + public class Function + { + static Function() + { + // instantiate the statsd client + var dogstatsdConfig = new StatsdConfig + { + StatsdServerName = "127.0.0.1", + StatsdPort = 8125, + }; + if (!DogStatsd.Configure(dogstatsdConfig)) + throw new InvalidOperationException("Cannot initialize DogstatsD. Set optionalExceptionHandler argument in the `Configure` method for more information."); + } + + public Stream MyHandler(Stream stream) + { + // submit a distribution metric + DogStatsd.Distribution("my.custom.dotnet.metric", 1, tags: new[] { "tag:value" }); + // your function logic + } + } +} +``` + +[1]: https://github.com/DataDog/dogstatsd-csharp-client +{{< /programming-lang >}} +{{< programming-lang lang="other" >}} + +1. [Installez][1] le client DogStatsD pour votre environnement d'exécution +2. Suivez le [code d'exemple][2] pour soumettre vos métriques personnalisées. + +[1]: /fr/extend/dogstatsd/?tab=hostagent#install-the-dogstatsd-client +[2]: /fr/extend/dogstatsd/?tab=hostagent#instantiate-the-dogstatsd-client +{{< /programming-lang >}} +{{< /programming-lang-wrapper >}} + +### Soumettez des métriques historiques {#submit-historical-metrics} + +Utilisez l'extension Datadog Lambda pour soumettre des métriques historiques. Ces métriques peuvent avoir des horodatages allant jusqu'à une heure dans le passé. + +Commencez par [installer Serverless Monitoring for AWS Lambda][1]. Assurez-vous d'avoir installé le Datadog Lambda Extension. + +Ensuite, choisissez votre environnement d'exécution : + +{{< programming-lang-wrapper langs="python,nodeJS,go,ruby,java,other" >}} +{{< programming-lang lang="python" >}} + +```python +from datadog_lambda.metric import lambda_metric + +def lambda_handler(event, context): + lambda_metric( + "coffee_house.order_value", # Metric name + 12.45, # Metric value + tags=['product:latte', 'order:online'] # Associated tags + ) + + # Submit a metric with a timestamp that is within the last 20 minutes + lambda_metric( + "coffee_house.order_value", # Metric name + 12.45, # Metric value + timestamp=int(time.time()), # Unix epoch in seconds + tags=['product:latte', 'order:online'] # Associated tags + ) +``` +{{< /programming-lang >}} +{{< programming-lang lang="nodeJS" >}} + +```javascript +const { sendDistributionMetric } = require('datadog-lambda-js'); + +async function myHandler(event, context) { + sendDistributionMetric( + 'coffee_house.order_value', // Metric name + 12.45, // Metric value + 'product:latte', // First tag + 'order:online' // Second tag + ); + + // Submit a metric with a timestamp that is within the last 20 minutes + sendDistributionMetricWithDate( + 'coffee_house.order_value', // Metric name + 12.45, // Metric value + new Date(Date.now()), // date + 'product:latte', // First tag + 'order:online', // Second tag + ); +} +``` +{{< /programming-lang >}} +{{< programming-lang lang="go" >}} + +```go +package main + +import ( + "github.com/aws/aws-lambda-go/lambda" + "github.com/DataDog/datadog-lambda-go" +) + +func main() { + lambda.Start(ddlambda.WrapFunction(myHandler, nil)) +} + +func myHandler(ctx context.Context, event MyEvent) (string, error) { + ddlambda.Distribution( + "coffee_house.order_value", // Metric name + 12.45, // Metric value + "product:latte", "order:online" // Associated tags + ) + + // Submit a metric with a timestamp that is within the last 20 minutes + ddlambda.MetricWithTimestamp( + "coffee_house.order_value", // Metric name + 12.45, // Metric value + time.Now(), // Timestamp + "product:latte", "order:online" // Associated tags + ) +} +``` + +{{< /programming-lang >}} +{{< programming-lang lang="ruby" >}} + +```ruby +require 'datadog/lambda' + +def handler(event:, context:) + # You only need to wrap your function handler (Not helper functions). + Datadog::Lambda.wrap(event, context) do + Datadog::Lambda.metric( + 'coffee_house.order_value', # Metric name + 12.45, # Metric value + "product":"latte", "order":"online" # Associated tags + ) + + # Submit a metric with a timestamp that is within the last 20 minutes + Datadog::Lambda.metric( + 'coffee_house.order_value', # Metric name + 12.45, # Metric value + time: Time.now.utc, # Timestamp + "product":"latte", "order":"online" # Associated tags + ) + end +end +``` + +{{< /programming-lang >}} +{{< programming-lang lang="java" >}} + +```java +public class Handler implements RequestHandler { + public Integer handleRequest(APIGatewayV2ProxyRequestEvent request, Context context){ + DDLambda dd = new DDLambda(request, lambda); + + Map myTags = new HashMap(); + myTags.put("product", "latte"); + myTags.put("order", "online"); + + dd.metric( + "coffee_house.order_value", // Metric name + 12.45, // Metric value + myTags); // Associated tags + } +} +``` + +{{< /programming-lang >}} +{{< programming-lang lang="other" >}} + +Écrivez une fonction réutilisable qui enregistre vos métriques custom au format suivant : + +```json +{ + "m": "Metric name", + "v": "Metric value", + "e": "Unix timestamp (seconds)", + "t": "Array of tags" +} +``` + +Exemple : + +```json +{ + "m": "coffee_house.order_value", + "v": 12.45, + "e": 1572273854, + "t": ["product:latte", "order:online"] +} +``` + +{{< /programming-lang >}} +{{< /programming-lang-wrapper >}} + +### Comprendre les métriques de distribution {#understanding-distribution-metrics} + +Lorsque Datadog reçoit plusieurs points de métriques de comptage ou de jauge partageant le même horodatage et le même ensemble de balises, seul le plus récent est pris en compte. Cela fonctionne pour les applications basées sur des hôtes car les points de métriques sont agrégés par l'agent Datadog et étiquetés avec une balise unique `host`. + +Une fonction Lambda peut lancer de nombreux environnements d'exécution concurrents lorsque le trafic augmente. La fonction peut soumettre des points de métriques de comptage ou de jauge qui se chevauchent et entraînent des résultats sous-estimés. Pour éviter ce problème, les métriques personnalisées générées par les fonctions Lambda sont soumises en tant que [distributions][11] car les points de métriques de distribution sont agrégés sur le backend Datadog, et chaque point de métrique compte. + +Les distributions fournissent par défaut des agrégations `avg`, `sum`, `max`, `min`, `count`. Sur la page Résumé des métriques, vous pouvez activer les agrégations de percentile (p50, p75, p90, p95, p99) et également [gérer les tags][12]. Pour surveiller une distribution pour un type de métrique de jauge, utilisez `avg` pour les [agrégations de temps et d'espace][13]. Pour surveiller une distribution pour un type de métrique de comptage, utilisez `sum` pour les [agrégations de temps et d'espace][13]. Référez-vous au guide [Interroger le Graphique][14] pour comprendre comment fonctionnent les agrégations de temps et d'espace. + +### Comprendre votre utilisation des métriques, le volume et la tarification dans Datadog {#understanding-your-metrics-usage-volume-and-pricing-in-datadog} + +Datadog fournit des informations détaillées sur les métriques personnalisées que vous ingérez, la cardinalité des tags et les outils de gestion pour vos métriques personnalisées dans la [page Résumé des métriques][15] de l'application Datadog. Vous pouvez voir toutes les métriques personnalisées Serverless sous le tag 'Serverless' dans le [panneau de facettes][16] de l'Origine des métriques de distribution. Vous pouvez également contrôler les volumes et les coûts des métriques personnalisées avec [Metrics without Limits™][17]. + +[9]: /fr/logs/logs_to_metrics/ +[10]: /fr/tracing/trace_pipeline/generate_metrics/ +[11]: /fr/metrics/distributions/ +[12]: /fr/metrics/distributions/#customize-tagging +[13]: /fr/metrics/#time-and-space-aggregation +[14]: /fr/dashboards/guide/query-to-the-graph/ +[15]: https://app.datadoghq.com/metric/summary +[16]: /fr/metrics/summary/#facet-panel +[17]: /fr/metrics/summary/#metrics-without-limits \ No newline at end of file diff --git a/content/fr/service_level_objectives/_index.md b/content/fr/service_level_objectives/_index.md new file mode 100644 index 00000000000..2a54bdaeead --- /dev/null +++ b/content/fr/service_level_objectives/_index.md @@ -0,0 +1,376 @@ +--- +aliases: +- /fr/monitors/monitor_uptime_widget/ +- /fr/monitors/slos/ +- /fr/monitors/service_level_objectives/ +- /fr/service_management/service_level_objectives/ootb_dashboard +- /fr/service_management/service_level_objectives/ +description: Faire un suivi du statut de vos SLO +further_reading: +- link: https://learn.datadoghq.com/courses/intro-to-slo + tag: Centre d'apprentissage + text: Présentation des Service Level Objectives (SLO) +- link: https://www.datadoghq.com/blog/service-page/ + tag: Blog + text: Télémétrie sur les services, suivi des erreurs, SLO et plus encore +- link: https://www.datadoghq.com/blog/monitor-service-performance-with-slo-alerts/ + tag: Blog + text: Surveiller de manière proactive les performances d'un service avec des alertes + SLO +- link: https://www.datadoghq.com/blog/slo-key-questions/ + tag: Blog + text: Questions clés à poser lors de la définition des SLO +- link: https://www.datadoghq.com/blog/define-and-manage-slos/ + tag: Blog + text: Conseils à suivre pour gérer vos SLO avec Datadog +- link: https://www.datadoghq.com/blog/burn-rate-is-better-error-rate/ + tag: Blog + text: Burn Rate est un meilleur error rate. +- link: https://www.datadoghq.com/blog/datadog-executive-dashboards + tag: Blog + text: Concevez des tableaux de bord exécutifs efficaces avec Datadog +- link: https://www.datadoghq.com/blog/slo-monitoring-tracking/ + tag: Blog + text: Surveiller le statut et la marge d'erreur de vos SLO avec Datadog +- link: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/service_level_objective + tag: Site externe + text: Créer et gérer des SLO avec Terraform +title: Service Level Objectives +--- +{{< jqmath-vanilla >}} + +
+ +{{< learning-center-callout header="Participez à une session de webinaire d'enablement." hide_image="true" btn_title="Inscrivez-vous" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=SLOs&tags.topics-1=Monitors">}} + Explorez et inscrivez-vous aux sessions Foundation Enablement. Découvrez comment vous pouvez prioriser et traiter les problèmes qui comptent le plus pour votre entreprise avec le suivi natif des SLO et SLA. +{{< /learning-center-callout >}} + +## Aperçu {#overview} + +Les objectifs de niveau de service, ou SLOs, sont un élément clé de la boîte à outils de l'ingénierie de la fiabilité des sites. Les SLOs fournissent un cadre pour définir des objectifs clairs concernant la performance des applications, ce qui aide finalement les équipes à offrir une expérience client cohérente, à équilibrer le développement de fonctionnalités avec la stabilité de la plateforme et à améliorer la communication avec les utilisateurs internes et externes. + +**Conseil**: Pour ouvrir les objectifs de niveau de service à partir de la recherche globale de Datadog, appuyez sur Cmd/Ctrl + K et recherchez `slo`. + +## Terminologie clé {#key-terminology} + +Indicateur de niveau de service (SLI) +: Une mesure quantitative de la performance ou de la fiabilité d'un service. Dans les SLOs de Datadog, un SLI est une métrique ou une agrégation d'un ou plusieurs moniteurs. + +Service Level Objective (SLO) +: Un pourcentage cible pour un SLI sur une période de temps spécifique. + +Service Level Agreement (SLA) +: Un accord explicite ou implicite entre un client et un fournisseur de services stipulant les attentes de fiabilité du client et les conséquences pour le fournisseur de services en cas de non-respect. + +Budget d'erreur +: Le montant d'imprévisibilité autorisé dérivé du pourcentage cible d'un SLO (100 % - pourcentage cible) qui est destiné à être investi dans le développement de produits. + +## Types de SLOs {#slo-types} + +Lorsque vous créez des SLO, vous pouvez choisir parmi les types suivants : +- **SLOs basés sur des métriques** : peuvent être utilisés lorsque vous souhaitez que le calcul du SLI soit basé sur le nombre, le SLI est calculé comme la somme des bons événements divisée par la somme des événements totaux. +- **SLOs basés sur les moniteurs** : peuvent être utilisés lorsque vous souhaitez que le calcul du SLI soit basé sur le temps, le SLI est basé sur le temps de disponibilité du moniteur. Les SLOs basés sur les moniteurs doivent être basés sur un moniteur Datadog nouveau ou existant, tous les ajustements doivent être effectués sur le moniteur sous-jacent (ne peuvent pas être réalisés par la création de SLO). +- **SLOs de tranche horaire** : peuvent être utilisés lorsque vous souhaitez que le calcul du SLI soit basé sur le temps, le SLI est basé sur votre définition personnalisée de la disponibilité (montant de temps pendant lequel votre système présente un bon comportement divisé par le temps total). Les SLOs de tranche horaire ne nécessitent pas de moniteur Datadog, vous pouvez essayer différents filtres de métriques et seuils et explorer instantanément les temps d'arrêt lors de la création de SLO. + +Pour une comparaison complète, référez-vous au graphique [Comparaison des types de SLO][1]. + +## Configuration {#setup} + +Utilisez la [page de gestion des SLOs de Datadog][2] pour créer de nouveaux SLOs ou pour consulter et gérer tous vos SLOs existants. + +### Configuration {#configuration} + +1. Sur la [page de gestion des SLO][2], sélectionnez **Nouveau SLO +**. +2. Sélectionnez le type de SLO. Vous pouvez créer un SLO avec l'un des types suivants : [Metric-based][3], [Monitor-based][4], ou [Time Slices][5]. +3. Définissez un objectif et une fenêtre temporelle glissante (7, 30 ou 90 jours précédents) pour le SLO. Datadog recommande de rendre l'objectif plus strict que vos SLA stipulés. Cette fenêtre temporelle est affichée sur les listes de SLOs. Par défaut, la plus courte fenêtre temporelle est sélectionnée. +4. Enfin, donnez un titre au SLO, décrivez-le plus en détail ou ajoutez des liens dans la description, ajoutez des étiquettes et enregistrez-le. + +Après avoir configuré le SLO, sélectionnez-le dans la [vue de liste des SLOs][2] pour ouvrir le panneau latéral des détails. Le panneau latéral affiche le pourcentage d'état global et le budget d'erreur restant pour chacun des objectifs du SLO, ainsi que des barres d'état (SLOs basés sur les moniteurs) ou des graphiques à barres (SLOs basés sur les métriques) de l'historique de l'SLI. Si vous avez créé un SLO basé sur un moniteur groupé en utilisant un [moniteur multi-alerte][6] ou un SLO basé sur des métriques groupées en utilisant la [`sum by` clause][7], le pourcentage d'état et le budget d'erreur restant pour chaque groupe individuel sont affichés en plus du pourcentage d'état global et du budget d'erreur restant. + +**Exemple :** Si vous créez un SLO basé sur un moniteur pour suivre la latence par zone de disponibilité, les pourcentages d'état et le budget d'erreur restant pour le SLO global et pour chaque zone de disponibilité individuelle que le SLO suit sont affichés. + +**Remarque :** Le budget d'erreur restant est affiché en pourcentage et est calculé à l'aide de la formule suivante : + +$$\text"marge d'erreur restante" = 100 * {\text"statut actuel" - \text" cible"} / { 100 - \text"cible"}$$ + +### Définir des objectifs SLO {#setting-slo-targets} + +Pour tirer profit des marges d'erreur et des alertes associées, vous devez définir des valeurs cibles pour votre SLO strictement inférieures à 100 %. + +Fixer un objectif de 100 % signifie avoir un budget d'erreur de 0 %, puisque le budget d'erreur est égal à 100 % — objectif SLO. Sans un budget d'erreur représentant un risque acceptable, vous rencontrez des difficultés à trouver un alignement entre les priorités conflictuelles de maintien de la fiabilité orientée client et d'investissement dans le développement de fonctionnalités. De plus, des SLOs avec des valeurs cibles de 100 % entraînent des erreurs de division par zéro dans l'évaluation des alertes SLO. + +**Remarque :** Le nombre de décimales que vous pouvez spécifier pour vos SLO varie en fonction du type de SLO et des fenêtres temporelles que vous choisissez. Consultez les liens ci-dessous pour plus d'informations sur chaque type de SLO respectif. + +[Monitor-based SLOs][8]: Up to two decimal places are allowed for 7-day and 30-day targets, up to three decimal places are allowed for 90-day targets. + +[Metric-based SLOs][9]: Up to three decimal places are allowed for all targets. + +## Modifier un SLO {#edit-an-slo} + +Pour modifier un SLO, passez le curseur sur la rangée du SLO dans la liste et cliquez sur l'icône en forme de crayon qui s'affiche à droite de la rangée. Vous pouvez également cliquer sur la rangée pour ouvrir le volet latéral détaillé et sélectionner le bouton de modification à partir de l'icône en forme d'engrenage en haut à droite du volet. + +## Permissions {#permissions} + +### Accès basé sur les rôles {#role-based-access} + +Tous les utilisateurs peuvent consulter les SLOs et [corrections de statut SLO](#slo-status-corrections), quel que soit leur [rôle][10] associé. Seuls les utilisateurs rattachés à des rôles disposant de la `slos_write` permission peuvent créer, modifier et supprimer des SLOs. + +Pour créer, modifier et supprimer des corrections de statut, les utilisateurs nécessitent les `slos_corrections` permissions. Un utilisateur avec cette permission peut effectuer des corrections de statut, même s'il n'a pas la permission de modifier ces SLOs. Pour la liste complète des permissions, consultez la [documentation RBAC][11]. + +### Contrôles d'accès granulaires {#granular-access-controls} + +Pour limiter l'accès à certains SLO, définissez la liste des [rôles][10] autorisés à les modifier. + +{{< img src="service_management/service_level_objectives/slo_set_permissions.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Option de permissions SLO dans le menu des paramètres">}} + +1. Cliquez sur le SLO pour ouvrir le panneau latéral des détails. +1. Cliquez sur l'icône des paramètres en haut à droite du panneau. +1. Sélectionnez **Permissions**. +1. Cliquez sur **Restreindre l'accès**. +1. La boîte de dialogue se met à jour pour montrer que les membres de votre organisation ont par défaut un accès **Visiteur**. +1. Utilisez le menu déroulant pour sélectionner un ou plusieurs rôles, équipes ou utilisateurs qui peuvent modifier le SLO. +1. Cliquez sur **Ajouter**. +1. La boîte de dialogue se met à jour pour montrer que le rôle que vous avez sélectionné a la permission **Éditeur**. +1. Cliquez sur **Enregistrer**. + +Pour maintenir votre accès en modification au SLO, le système exige que vous incluiez au moins un rôle dont vous êtes membre avant de sauvegarder. Les utilisateurs sur la liste de contrôle d'accès peuvent ajouter des rôles et ne peuvent supprimer que des rôles autres que le leur. + +**Remarque** : Les utilisateurs peuvent créer des SLOs sur n'importe quel moniteur même s'ils n'ont pas de permissions d'écriture sur le moniteur. De même, les utilisateurs peuvent créer des alertes SLOs même s'ils n'ont pas de permissions d'écriture sur le SLO. Pour plus d'informations sur les permissions RBAC pour les Moniteurs, consultez la [documentation RBAC][12] ou le [guide sur la façon de configurer RBAC pour les Moniteurs][13]. + +## Recherche des SLOs {#searching-slos} + +La [page de gestion des SLOs][2] vous permet d'effectuer une recherche avancée de tous les SLOs afin que vous puissiez trouver, visualiser, modifier, cloner ou supprimer des SLOs à partir des résultats de recherche. + +La recherche avancée vous permet d'interroger les SLO en combinant différents attributs de SLO : + +* `name` et `description` - recherche textuelle. +* `time window` - 7j, 30j, 90j. +* `type` - métrique, moniteur. +* `creator` +* `tags` - centre de données, env, service, équipe, etc. + +Pour effectuer une recherche, utilisez les cases à cocher des facettes à gauche et la barre de recherche en haut. Lorsque vous cochez les cases, la barre de recherche se met à jour avec la requête équivalente. De même, lorsque vous modifiez la requête de la barre de recherche (ou en écrivez une de zéro), les cases à cocher se mettent à jour pour refléter le changement. Les résultats de la requête se mettent à jour en temps réel au fur et à mesure que vous modifiez la requête ; il n'y a pas de bouton 'Rechercher' à cliquer. + +## Visualisation des SLOs {#viewing-slos} + +Regroupez vos SLOs par *n'importe* quel tag pour obtenir une vue d'ensemble de vos données. Vous pouvez rapidement analyser combien de SLOs se trouvent dans chaque état (en infraction, avertissement, OK et pas de données), regroupés par service, équipe, parcours utilisateur, niveau ou tout autre tag défini sur vos SLOs. + +{{< img src="service_management/service_level_objectives/slo_group_by_new.png" alt="Vue d'ensemble des SLOs regroupés par équipe" style="width:100%;" >}} + +Triez les SLOs par les colonnes *statut* et *budget d'erreur* pour prioriser les SLOs nécessitant votre attention. La liste des SLOs affiche les détails des SLOs sur la fenêtre temporelle principale sélectionnée dans votre [configuration](#configuration). Toutes les autres fenêtres temporelles de configuration sont consultables dans le panneau latéral individuel. Ouvrez le panneau latéral des détails des SLOs en cliquant sur la ligne de tableau respective. + +**Remarque** : Vous pouvez visualiser vos SLOs depuis l'écran d'accueil de votre appareil mobile en téléchargeant l'[application mobile Datadog][14], disponible sur l'[App Store Apple][15] et le [Google Play Store][16]. + +{{< img src="service_management/service_level_objectives/slos-mobile.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="SLOs sur iOS et Android">}} + +### Tags SLO {#slo-tags} + +Les tags SLO peuvent être utilisés pour filtrer sur la [page de gestion des SLO][2], créer des [vues enregistrées SLO][17], ou regrouper les SLO afin de les visualiser. Les tags peuvent être ajoutés aux SLOs de plusieurs manières : + +- Lorsque vous créez ou modifiez un SLO, vous pouvez ajouter des tags +- Depuis la vue liste des SLOs, vous pouvez ajouter et mettre à jour des tags en masse en utilisant les options déroulantes *Modifier les tags* et *[Modifier les équipes][18]* en haut de la liste des SLOs. + +{{< img src="service_management/service_level_objectives/slo_bulk_tag.png" alt="La page de liste des SLOs affiche le menu déroulant Modifier les tags pour l'édition en masse des tags" >}} + +### Indicateur de taux de consommation des SLO {#slo-burn-rate-indicator} + +Les indicateurs de taux de consommation utilisent une fenêtre de 2 heures glissantes pour évaluer quels SLOs consomment leur budget d'erreur trop rapidement. Les indicateurs de taux de consommation apparaissent à côté des noms des SLOs applicables sur la [page de gestion des SLO][2]. + +{{< img src="/service_management/service_level_objectives/slo_burn_rate_indicator.png" alt="La page de gestion des SLO dans Datadog. Une icône rouge apparaît à côté du nom d'un SLO dans la liste. Passer la souris sur l'icône rouge affiche une fenêtre modale avec des informations supplémentaires, une visualisation du taux de consommation et un lien vers la page de service correspondante du SLO." style="width:80%;" >}} + +Il existe deux types d'indicateurs possibles : +- Une icône rouge indiquant un taux de consommation critique supérieur à 6 au cours des 2 dernières heures. +- Une icône jaune indiquant un taux de consommation élevé compris entre 1 et 6 au cours des 2 dernières heures. + +Un graphique visuel accompagne chaque indicateur pour montrer où se situe le taux de consommation par rapport aux seuils élevé et critique, permettant une évaluation rapide de la gravité. + +Les SLOs peuvent être filtrés par statut de taux de consommation : Critique, Élevé et Sain. Pour les SLOs dotés d'une étiquette de service, chaque indicateur de taux de consommation comprend un lien direct vers la page de service associée pour une analyse approfondie. + +### Vue par défaut des SLO {#slo-default-view} + +La vue par défaut des SLO apparaît lorsque vous accédez à la liste des SLO. + +La vue par défaut comprend : + +- Une requête de recherche vide +- Une liste de tous les SLO définis dans votre organisation +- Une liste des facettes disponibles dans la liste des facettes à gauche + +### Vues enregistrées {#saved-views} + +Les vues enregistrées vous permettent d'enregistrer des recherches personnalisées dans la liste des SLO et de les partager. Consultez facilement les SLO pertinentes pour votre équipe et vous-même en partageant les éléments suivants : + +- Une requête de recherche +- Un sous-ensemble sélectionné de facettes + +Après avoir filtré un sous-ensemble de SLO dans la liste, vous pouvez ajouter la requête correspondante en tant que vue enregistrée. + +#### Ajouter une vue enregistrée {#add-a-saved-view} + +Pour ajouter une vue enregistrée : + +1. Interrogez vos SLOs. +2. Cliquez sur **Enregistrer la vue +** en haut à gauche de la page. +3. Nommez votre vue et enregistrez. + +#### Charger une vue enregistrée {#load-a-saved-view} + +Pour charger une vue enregistrée, ouvrez le panneau *Vues Enregistrées* en appuyant sur le bouton **Afficher les Vues** en haut à gauche de la page et sélectionnez une vue enregistrée dans la liste. Vous pouvez également rechercher des vues enregistrées dans la zone de recherche *Filtrer les Vues Enregistrées* en haut de ce même panneau *Vues Enregistrées*. + +#### Partager une vue enregistrée {#share-a-saved-view} + +Passez le curseur sur une vue enregistrée dans la liste et sélectionnez l'icône d'hyperlien pour copier le lien vers la vue enregistrée afin de le partager avec les membres de votre équipe. + +#### Gérer les vues enregistrées {#manage-saved-views} + +Une fois que vous utilisez une vue enregistrée, vous pouvez la mettre à jour en sélectionnant cette vue enregistrée, en modifiant la requête et en cliquant sur le bouton *Mettre à jour* en dessous de son nom dans le panneau *Vues Enregistrées*. Pour changer le nom de la vue enregistrée ou supprimer une vue enregistrée, survolez sa ligne dans le panneau *Vues Enregistrées* et cliquez sur l'icône de crayon ou l'icône de poubelle, respectivement. + +## Événements d'audit de correction de SLO et de statut de SLO {#slo-and-slo-status-correction-audit-events} + +Les événements d'audit de SLO vous permettent de suivre l'historique de vos configurations de SLO en utilisant l'[Explorateur d'Événements][27] ou l'onglet **Historique d'Audit** dans les détails du SLO. Les événements d'audit sont ajoutés à l'Explorateur d'Événements chaque fois que vous créez, modifiez ou supprimez un SLO ou une correction de statut de SLO. Chaque événement inclut des informations sur la configuration d'un SLO ou d'une correction de statut de SLO, et le flux fournit un historique des changements de configuration au fil du temps. + +### Événements d'audit de SLO {#slo-audit-events} + +Chaque événement inclut les informations de configuration SLO suivantes : + +- Nom +- Description +- Pourcentages cibles et fenêtres temporelles +- Sources de données (identifiants de moniteur ou requête de métrique) + +Trois types d'événements d'audit SLO figurent dans l'Events Explorer : + +- `SLO Created` événements montrent les informations de configuration du SLO au moment de la création +- `SLO Modified` événements montrent quelles informations de configuration ont changé lors d'une modification +- `SLO Deleted` événements montrent les informations de configuration que le SLO avait avant d'être supprimé + +### Événements d'audit de correction de statut {#status-correction-audit-events} + +Chaque événement inclut les informations de configuration de la correction de statut du SLO suivantes : + +- Nom du SLO +- Heures de début et de fin de la correction de statut avec fuseau horaire +- Catégorie de correction de statut + +Trois types d'événements d'audit de correction de statut de SLO figurent dans l'Events Explorer : + +- `SLO Correction Created`Les événements affichent les informations de configuration de la correction de statut au moment de la création. +- `SLO Correction Modified` Les événements montrent quelles informations de configuration ont changé lors d'une modification +- `SLO Correction Deleted`Les événements montrent les informations de configuration que la correction de statut avait avant d'être supprimée. + +Pour obtenir une liste complète de tous les événements d'audit SLO, entrez la requête de recherche `tags:(audit AND slo)` dans l'Explorateur d'événements. Pour voir la liste des événements d'audit pour un SLO spécifique, entrez `tags:audit,slo_id:` avec l'ID du SLO souhaité. Vous pouvez également interroger l'Explorateur d'événements de manière programmatique en utilisant l'[API des événements Datadog][19]. + +**Remarque :** Si vous ne voyez pas d'événements apparaître dans l'interface utilisateur, assurez-vous de définir la période de l'Explorateur d'événements sur une période plus longue, par exemple, les 7 derniers jours. + +{{< img src="service_management/service_level_objectives/slo-audit-events.png" alt="Événements d'audit de SLO" >}} + +Vous pouvez également utiliser l'onglet « Audit History » dans les détails du SLO pour visualiser tous les événements d'audit pour un SLO particulier : + +{{< img src="service_management/service_level_objectives/slo_audit_history_tab.png" alt="Onglet historique d'audit des détails SLO" >}} + +Avec les [Moniteurs d'événements][28], vous pouvez configurer des notifications pour suivre les événements d'audit SLO. Par exemple, si vous souhaitez être informé lorsque la configuration d'un SLO spécifique est modifiée, configurez un Moniteur d'événements pour suivre le texte `[SLO Modified]` sur les balises `audit,slo_id:`. + +## Widgets SLO {#slo-widgets} + +{{< learning-center-callout header="Essayez de créer des insights critiques pour l'entreprise en utilisant des tableaux de bord et des SLO dans le Centre d'apprentissage" btn_title="Inscrivez-vous maintenant" btn_url="https://learn.datadoghq.com/courses/dashboards-slos">}} + Apprenez sans frais sur une véritable capacité de calcul cloud et un compte d'essai Datadog. Inscrivez-vous aujourd'hui pour en savoir plus sur la création de tableaux de bord pour suivre les SLO. +{{< /learning-center-callout >}} + +Une fois votre SLO créé, vous pouvez visualiser les données grâce aux dashboards et widgets. + - Utilisez le widget SLO pour visualiser l'état d'un SLO unique + - Utilisez le widget Liste SLO pour visualiser un ensemble de SLOs + - Graphique de 15 mois de données SLO basées sur des métriques avec la [source de données SLO][20] dans des widgets à la fois en séries temporelles et en scalaires (valeur de requête, liste principale, tableau, changement). + +Pour plus d'informations sur les widgets SLO, consultez les pages [widget SLO][21] et [widget de liste SLO][22]. Pour plus d'informations sur la source de données SLO, consultez le guide sur la façon d'afficher graphiquement les données historiques SLO sur les tableaux de bord. + +## Corrections de statut SLO {#slo-status-corrections} + +Les corrections de statut vous permettent d'exclure des périodes spécifiques du calcul du statut SLO et du budget d'erreur. De cette manière, vous pouvez : +- Prévenir les temps d'arrêt prévus, tels que la maintenance programmée, de réduire votre budget d'erreur +- Ignorer les heures non ouvrables, où vous n'êtes pas censé respecter vos SLOs +- S'assurer que les problèmes temporaires causés par des déploiements n'impactent pas négativement vos SLOs + +Lorsque vous appliquez une correction, la période spécifiée n'est plus incluse dans les calculs du SLO. +- Pour les SLOs basés sur la surveillance, la fenêtre de temps de correction n'est pas comptée. +- Pour les SLOs basés sur des métriques, tous les événements bons et mauvais dans la fenêtre de correction ne sont pas comptés. +- Pour les SLOs à tranche horaire, la fenêtre de temps de correction est considérée comme un temps de disponibilité. + +Vous avez la possibilité de créer des corrections ponctuelles pour des ajustements ad hoc, ou des corrections récurrentes pour des ajustements prévisibles qui se produisent à un rythme régulier. Les corrections ponctuelles nécessitent une heure de début et de fin, tandis que les corrections récurrentes nécessitent une heure de début, une durée et un intervalle. Les corrections récurrentes sont basées sur la spécification RRULE de [iCalendar RFC 5545][24]. Les règles prises en charge sont `FREQ`, `INTERVAL`, `COUNT` et `UNTIL`. Spécifier une date de fin pour les corrections récurrentes est optionnel au cas où vous auriez besoin que la correction se répète indéfiniment. + +Pour l'un ou l'autre type de correction, vous devez sélectionner une catégorie de correction qui indique pourquoi la correction est effectuée. Les catégories disponibles sont `Scheduled Maintenance`, `Outside Business Hours`, `Deployment` et `Other`. Vous pouvez également inclure une description pour fournir un contexte supplémentaire si nécessaire. + +Chaque SLO a une limite maximale de corrections qui peuvent être configurées pour garantir la performance des requêtes. Ces limites ne s'appliquent qu'aux 90 derniers jours par SLO, donc les corrections pour les périodes antérieures aux 90 derniers jours ne comptent pas dans votre limite. Cela signifie que : +- Si l'heure de fin d'une correction ponctuelle est antérieure aux 90 derniers jours, cela compte dans votre limite. +- Si l'heure de fin de la dernière répétition d'une correction récurrente est antérieure aux 90 derniers jours, cela ne compte pas dans votre limite. + +Voici les limites de correction sur 90 jours applicables par SLO : + +| Type de correction | Limite par SLO | +| ----------------- | ------------- | +| Ponctuelle | 100 | +| Récurrente quotidienne | 2 | +| Récurrente hebdomadaire | 3 | +| Récurrente mensuelle | 5 | + +Vous pouvez configurer les corrections de statut via l'interface utilisateur en sélectionnant `Correct Status` dans le panneau latéral de votre SLO, l'[API de corrections de statut SLO][25], ou une [ressource Terraform][26]. + +#### Accès dans l'interface utilisateur {#access-in-the-ui} + +Pour effectuer des corrections de statut SLO dans l'interface, procédez comme suit : + +1. Créez un nouveau SLO ou cliquez sur un SLO existant. +2. Naviguez vers la vue du panneau latéral des détails d'un SLO. +3. Sous l'icône d'engrenage, sélectionnez **Corriger le statut** pour accéder à la modal de création des **Corrections de statut**. +4. Choisissez entre `One-Time` et `Recurring` dans le **Sélectionnez la fenêtre de correction de temps**, et spécifiez la période que vous souhaitez corriger. +5. Sélectionnez un **Type de correction**. +6. Ajoutez éventuellement des **Notes**. +7. Cliquez sur **Appliquer la correction**. + +{{< img src="service_management/service_level_objectives/slo-corrections-ui.png" alt="Interface utilisateur de correction SLO" style="width:80%;">}} + +Pour visualiser, modifier et supprimer les corrections de statut existantes, cliquez sur l'onglet **Corrections** en haut de la vue détaillée du panneau latéral d'un SLO. + +#### Visualisation des corrections de statut {#visualizing-status-corrections} + +Pour les SLO basés sur des métriques et les SLO par tranche horaire avec corrections de statut, il existe un interrupteur dans la vue détaillée des SLO qui vous permet d'activer ou de désactiver les corrections dans l'interface utilisateur. L'interrupteur contrôle les graphiques et les données dans la section "Historique" de la vue détaillée des SLO. **Remarque :** Votre statut global des SLO et votre budget d'erreurs prendront toujours en compte les corrections de statut. + +{{< img src="service_management/service_level_objectives/correction-toggle.png" alt="Interface utilisateur de correction SLO" style="width:100%;">}} + +## Vue du calendrier des SLO {#slo-calendar-view} + +La vue du calendrier des SLO est disponible sur la [page de gestion des SLO][2]. Dans le coin supérieur droit, passez de la vue "Principale" à la vue "Quotidienne", "Hebdomadaire" ou "Mensuelle" pour voir 12 mois de données historiques sur le statut des SLO. La vue du calendrier est prise en charge pour les SLO basés sur des métriques et les SLO par tranche horaire. + +{{< img src="service_management/service_level_objectives/slo-calendar-view-2.png" alt="Vue Calendrier du SLO" >}} + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /fr/service_level_objectives/guide/slo_types_comparison/ +[2]: https://app.datadoghq.com/slo +[3]: /fr/service_level_objectives/metric/ +[4]: /fr/service_level_objectives/monitor/ +[5]: /fr/service_level_objectives/time_slice/ +[6]: /fr/monitors/types/metric/?tab=threshold#alert-grouping +[7]: /fr/service_level_objectives/metric/#define-queries +[8]: /fr/service_level_objectives/monitor/#set-your-slo-targets +[9]: /fr/service_level_objectives/metric/#set-your-slo-targets +[10]: /fr/account_management/rbac/ +[11]: /fr/account_management/rbac/permissions/#service-level-objectives/ +[12]: /fr/account_management/rbac/permissions/#monitors +[13]: /fr/monitors/guide/how-to-set-up-rbac-for-monitors/ +[14]: /fr/mobile +[15]: https://apps.apple.com/app/datadog/id1391380318 +[16]: https://play.google.com/store/apps/details?id=com.datadog.app +[17]: /fr/service_level_objectives/#saved-views +[18]: /fr/account_management/teams/#associate-resources-with-team-handles +[19]: /fr/api/latest/events/ +[20]: /fr/dashboards/guide/slo_data_source/ +[21]: /fr/dashboards/widgets/slo/ +[22]: /fr/dashboards/widgets/slo_list/ +[23]: /fr/monitors/types/event/ +[24]: https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html +[25]: /fr/api/latest/service-level-objective-corrections/ +[26]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/slo_correction +[27]: /fr/events/explorer/ +[28]: /fr/monitors/types/event/ \ No newline at end of file diff --git a/content/fr/session_replay/_index.md b/content/fr/session_replay/_index.md new file mode 100644 index 00000000000..12bc7363c15 --- /dev/null +++ b/content/fr/session_replay/_index.md @@ -0,0 +1,139 @@ +--- +aliases: +- /fr/real_user_monitoring/guide/session-replay-getting-started/ +- /fr/real_user_monitoring/session_replay/ +- /fr/product_analytics/session_replay/ +- /fr/real_user_monitoring/session_replay/developer_tools +- /fr/real_user_monitoring/session_replay/browser/developer_tools +- /fr/product_analytics/session_replay/browser/developer_tools +description: Découvrez comment enregistrer et examiner l'expérience de navigation + ou dʼutilisation de lʼapp mobile faite par vos utilisateurs avec Session Replay. +further_reading: +- link: https://www.datadoghq.com/blog/session-replay-datadog/ + tag: Blog + text: Utiliser la solution Session Replay de Datadog pour visualiser en temps réel + les parcours utilisateur +- link: https://www.datadoghq.com/blog/reduce-customer-friction-funnel-analysis/ + tag: Blog + text: Utiliser l'analyse de l'entonnoir pour comprendre et optimiser vos flux utilisateur + clés +- link: https://www.datadoghq.com/blog/zendesk-session-replay-integration/ + tag: Blog + text: Revoir les problèmes rencontrés par les utilisateurs avec Zendesk et Datadog + Session Replay +- link: /real_user_monitoring/explorer + tag: Documentation + text: Visualiser vos données RUM dans l'Explorer +- link: /integrations/content_security_policy_logs + tag: Documentation + text: Détectez et agrégez les violations de CSP avec Datadog +- link: https://learn.datadoghq.com/courses/intro-to-rum + tag: Centre d'apprentissage + text: Introduction à la surveillance des utilisateurs réels (RUM) +title: Session Replay +--- +## Aperçu {#overview} + +La lecture de session élargit votre surveillance de l'expérience utilisateur en vous permettant de capturer et de rejouer visuellement l'expérience de navigation web ou d'application mobile de vos utilisateurs. Session Replay est disponible à la fois dans [RUM][1] et [Product Analytics][2], vous aidant à identifier et reproduire des erreurs, à comprendre les parcours utilisateurs et à obtenir des informations sur les modèles d'utilisation et les défauts de conception de votre application. + +## Lecture de session dans le navigateur {#browser-session-replay} + +La lecture de session dans le navigateur élargit votre surveillance de l'expérience utilisateur en vous permettant de capturer et de rejouer visuellement l'expérience de navigation web de vos utilisateurs. Conjointement aux données de performance RUM, Session Replay facilite l'identification, la reproduction et la résolution des erreurs, et vous fournit des informations utiles sur les tendances d'utilisation et les défauts de conception de votre application Web. + +Le SDK RUM pour navigateur est [open source][3] et s'appuie sur le projet open source [rrweb][4]. + +En savoir plus sur [Session Replay for Browsers][5]. + +## Mobile Session Replay {#mobile-session-replay} + +Mobile Session Replay étend la visibilité de vos applications mobiles en vous permettant de rejouer visuellement chaque interaction utilisateur, telles que les taps, les swipes et les scrolls. Mobile Session Replay est disponible pour les applications natives sur Android et iOS. Rejouer visuellement les interactions des utilisateurs sur vos applications facilite la reproduction des bogues et des erreurs, ainsi que la compréhension du parcours utilisateur pour améliorer l'interface utilisateur. + +En savoir plus sur [Session Replay for Mobile][6]. + +## Résumés alimentés par l'IA et chapitres intelligents {#ai-powered-summaries-and-smart-chapters} + +{{< site-region region="gov,gov2" >}}
Cette fonctionnalité n'est pas prise en charge pour votre site Datadog sélectionné ({{< region-param key="dd_site_name" >}}).
{{< /site-region >}} + +Les résumés et chapitres intelligents vous donnent un contexte sur ce qui s'est passé lors d'une session avant que vous ne la regardiez. + +**Les résumés** décrivent l'intention de l'utilisateur, les actions clés, les signaux de friction et le résultat. Des moments spécifiques dans le résumé sont hyperliés afin que vous puissiez accéder directement à ce point dans Session Replay. Dans la liste des sessions, survolez un Session Replay pour prévisualiser le résumé, ou ouvrez-le directement. Si une session a déjà été résumée, le résumé s'affiche instantanément lorsque vous lancez Session Replay. + +{{< img src="real_user_monitoring/session_replay/session-replay-ai-summary.png" alt="Résumé alimenté par l'IA dans le Session Replay player, montrant l'intention de l'utilisateur, les actions clés, les signaux de friction et les moments hyperliés." style="width:100%;" >}} + +**Les chapitres intelligents** segmentent automatiquement la chronologie du Session Replay en étapes étiquetées du parcours utilisateur. Par exemple, dans une session de commerce électronique, les chapitres peuvent inclure "Parcourir l'éclairage", "Acheter de la literie et des chaises", et "Vérifier le panier et passer à la caisse". Les chapitres apparaissent lorsque vous survolez la chronologie et dans le menu déroulant des contrôles du lecteur, vous permettant de sauter directement entre eux. + +{{< img src="real_user_monitoring/session_replay/session-replay-smart-chapters.png" alt="Menu déroulant des chapitres intelligents dans le Session Replay player montrant les étapes étiquetées du parcours utilisateur." style="width:100%;" >}} + +Les résumés IA et les chapitres intelligents sont générés pour les sessions comportant au moins quatre actions utilisateur et d'une durée d'au moins 45 secondes. + +## Commentaires {#comments} + +{{< site-region region="gov,gov2" >}}
Cette fonctionnalité n'est pas prise en charge pour votre site Datadog sélectionné ({{< region-param key="dd_site_name" >}}). Si vous avez besoin de cette fonctionnalité, contactez le support Datadog.
{{< /site-region >}} + +Les commentaires Session Replay permettent à votre équipe de collaborer sur des bogues, des problèmes d'utilisabilité et d'autres observations directement au sein d'un Session Replay. + +Avec les commentaires, vous pouvez : + +- Ajouter un commentaire à un moment précis sur la chronologie du Session Replay. Les marqueurs de commentaire apparaissent sur la chronologie et dans l'onglet **Commentaires**. +- @mentionner un coéquipier ou une équipe dans un commentaire. Les utilisateurs tagués reçoivent une notification par e-mail avec un lien qui ouvre le Session Replay au moment commenté. +- Copier un lien vers n'importe quel commentaire et le partager à l'extérieur. Le lien ouvre le Session Replay au moment annoté, avec le fil de commentaire ouvert. +- Répondez dans le fil pour collaborer au sein d'un Session Replay, et modifiez ou supprimez vos propres commentaires si nécessaire. + +{{< img src="real_user_monitoring/session_replay/session-replay-comments.png" alt="Session Replay player avec des commentaires horodatés sur la chronologie et un onglet Commentaires ouvert avec des réponses en fil." style="width:100%;" >}} + +Pour trouver les replays nécessitant votre attention, utilisez les playlists par défaut **All mentions to me** et **Commented replays**. Voir [Session Replay Playlists][7] pour plus de détails. + +## Prolonger la conservation des données {#extend-data-retention} + +Par défaut, les données Session Replay sont conservées pendant 30 jours. + +Pour prolonger la conservation des données de Session Replay à 15 mois, activez _Extended Retention_ pour chaque Session Replay. Ces sessions doivent être non actives (l'utilisateur a terminé son expérience). + +Pour accéder à un Session Replay ultérieurement, Datadog recommande de sauvegarder l'URL ou de l'ajouter à une [Playlist][7]. + +Extended Retention ne s'applique qu'à Session Replay et n'inclut pas les événements associés. Les 15 mois commencent dès l'activation de Extended Retention, et non au moment de la collecte de la session. + +Vous pouvez désactiver Extended Retention à tout moment. Si Session Replay est toujours dans sa période de rétention par défaut de 30 jours, il expire à la fin de cette période. Si vous désactivez Extended Retention sur un Session Replay âgé de plus de 30 jours, il expire immédiatement. + +{{< img src="real_user_monitoring/session_replay/extended-retention-1.png" alt="Activer Extended Retention." style="width:100%;" >}} + +Le diagramme ci-dessous décrit les types de données concernés par la rétention prolongée. + +{{< img src="real_user_monitoring/session_replay/replay-extended-retention-1.png" alt="Diagramme des données conservées avec Extended Retention." style="width:100%;" >}} + +## Historique de lecture {#playback-history} + +Vous pouvez voir qui a regardé un replay de session donné en cliquant sur le **nombre de vues** affiché sur la page du lecteur. Cette fonctionnalité vous permet de vérifier si quelqu'un avec qui vous souhaitez partager l'enregistrement l'a déjà regardé. + +{{< img src="real_user_monitoring/session_replay/session-replay-playback-history.png" alt="Vérifiez qui a regardé l'enregistrement d'une session" style="width:100%;" >}} + +L'historique inclut uniquement les lectures ayant eu lieu sur la page du lecteur ou dans un lecteur intégré, tel qu'un [Notebook][8] ou un panneau latéral. Les lectures incluses génèrent également un événement [Audit Trail][9]. Les aperçus en miniature ne sont pas inclus dans l'historique. + +Pour consulter votre propre historique de lecture, consultez la playlist [My Watch History][10]. + +## Playlists {#playlists} + +Vous pouvez créer une playlist de Session Replays afin de les organiser selon les motifs que vous identifiez. En savoir plus sur [Session Replay Playlists][7]. + +## Dev Tools {#dev-tools} + +Dev Tools est un panneau de débogage intégré dans Session Replay qui présente des informations clés pendant la lecture. Utilisez-le pour identifier des problèmes, tracer des requêtes et comprendre les goulets d’étranglement de performance, le tout sans reproduire vous-même le problème. L’Outil de développement est disponible pour les sessions [RUM][1]. + +En savoir plus sur Dev Tools pour [browser][11] et [mobile][12]. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /fr/real_user_monitoring/ +[2]: /fr/product_analytics/ +[3]: https://github.com/DataDog/browser-sdk +[4]: https://www.rrweb.io/ +[5]: /fr/session_replay/browser/ +[6]: /fr/session_replay/mobile/ +[7]: /fr/session_replay/playlists +[8]: /fr/notebooks/ +[9]: /fr/account_management/audit_trail/ +[10]: /fr/rum/replay/playlists/my-watch-history +[11]: /fr/session_replay/browser/dev_tools/ +[12]: /fr/session_replay/mobile/dev_tools/ \ No newline at end of file diff --git a/content/fr/source_code/_index.md b/content/fr/source_code/_index.md new file mode 100644 index 00000000000..edad337029d --- /dev/null +++ b/content/fr/source_code/_index.md @@ -0,0 +1,24 @@ +--- +aliases: +- /fr/integrations/guide/source-code-integration/ +description: Configurez l'intégration du code source qui s'intègre à l'APM pour lier + votre télémétrie à vos dépôts, intégrer des informations Git dans les artefacts + de votre pipeline CI et utiliser des intégrations de gestion de code source pour + générer des extraits de code en ligne dans Datadog. +title: Intégration du code source +--- +## Aperçu {#overview} + +L'intégration du code source de Datadog vous permet de connecter vos dépôts Git à Datadog pour activer diverses fonctionnalités liées au code source sur la plateforme Datadog. Elle permet de déboguer les traces de pile, les profils lents et d'autres problèmes en accédant aux lignes pertinentes de votre code source. + +{{< img src="source_code_integration/inline-code-snippet.png" alt="Extrait de code en ligne d'une Java RuntimeException avec un bouton pour voir le code sur GitHub" style="width:100%;">}} + +## Configuration et fonctionnalités {#setup-and-features} + +{{< whatsnext desc="Pour la configuration et les fonctionnalités de l'intégration du code source, consultez les pages suivantes :" >}} + {{< nextlink href="source_code/source-code-management" >}}Intégrations des fournisseurs de gestion de code source{{< /nextlink >}} + {{< nextlink href="source_code/service-mapping" >}}Cartographie des services + et étiquetage de télémétrie{{< /nextlink >}} + {{< nextlink href="source_code/resource-mapping" >}}Cartographie des ressources Kubernetes{{< /nextlink >}} + {{< nextlink href="source_code/features" >}}Fonctionnalités de l'intégration du code source{{< /nextlink >}} +{{< /whatsnext >}} \ No newline at end of file diff --git a/content/fr/synthetics/api_tests/http_tests.md b/content/fr/synthetics/api_tests/http_tests.md index 78df6784879..b135fa1cc4e 100644 --- a/content/fr/synthetics/api_tests/http_tests.md +++ b/content/fr/synthetics/api_tests/http_tests.md @@ -1,14 +1,23 @@ --- +algolia: + category: Documentation + rank: 70 + subcategory: Synthetic API Tests + tags: + - http + - http test + - http tests aliases: - /fr/synthetics/http_test - /fr/synthetics/http_check -description: Simuler des requêtes HTTPS pour surveiller les endpoints d'API publics - et internes +- /fr/synthetics/guide/or-logic-api-tests-assertions +description: Simulez des requêtes HTTPS pour surveiller les endpoints d'API publics + et internes. further_reading: - link: https://www.datadoghq.com/blog/introducing-synthetic-monitoring/ tag: Blog - text: Présentation de la surveillance Synthetic Datadog -- link: https://learn.datadoghq.com/course/view.php?id=39 + text: Présentation de la surveillance Datadog Synthetics +- link: https://learn.datadoghq.com/courses/intro-to-synthetic-tests tag: Centre d'apprentissage text: Présentation des tests Synthetic - link: /getting_started/synthetics/api_test @@ -20,255 +29,353 @@ further_reading: - link: /synthetics/multistep tag: Documentation text: Exécuter des tests HTTP à plusieurs étapes +- link: /synthetics/guide/synthetic-test-monitors + tag: Documentation + text: En savoir plus sur les monitors de test Synthetic title: Tests HTTP --- -## Présentation +## Aperçu {#overview} Les tests HTTP vous permettent d'envoyer des requêtes HTTP aux endpoints d'API de vos applications pour vérifier les réponses et les conditions définies, y compris le temps de réponse global, le code de statut attendu, l'en-tête ou le contenu du corps. -Les tests HTTP peuvent être exécutés depuis des [emplacements gérés][1] et des [emplacements privés][2], selon que vous souhaitez exécuter le test à l'extérieur ou à l'intérieur de votre réseau. Les tests HTTP peuvent être exécutés selon un programme, à la demande ou directement dans vos [pipelines de CI/CD][3]. +Les tests HTTP peuvent être exécutés à partir d'[emplacements gérés](#select-locations) ou d'[emplacements privés][1] selon votre préférence pour exécuter le test depuis l'extérieur ou à l'intérieur de votre réseau. Les tests HTTP peuvent être exécutés selon un calendrier, à la demande, ou directement dans vos [pipelines CI/CD][2]. -## Procédure à suivre +## Configuration {#configuration} -Après avoir choisi de créer un test `HTTP`, définissez la requête de votre test. +Vous pouvez créer un test en utilisant l'une des options suivantes : -### Définir la requête + - **Créer un test à partir d'un modèle** : + + 1. Survolez l'un des modèles préremplis et cliquez sur **Voir le modèle**. Cela ouvre un panneau latéral affichant les informations de configuration pré-remplies, y compris : Détails du test, Détails de la requête, Assertions, Conditions d'alerte et Paramètres de surveillance. + 2. Cliquez sur **+Créer un test** pour ouvrir la page **Définir la requête**, où vous pouvez examiner et modifier les options de configuration pré-remplies. Les champs présentés sont identiques à ceux disponibles lors de la création d'un test à partir de zéro. + 3. Cliquez sur **Enregistrer les détails** pour soumettre votre test API.

-1. Choisissez une valeur pour **HTTP Method** et indiquez l'**URL** à interroger. Les méthodes disponibles sont `GET`, `POST`, `PATCH`, `PUT`, `HEAD`, `DELETE` et `OPTIONS`. Les URL `http` et `https` sont prises en charge. -2. Enrichissez votre requête HTTP en modifiant les réglages de la section **Advanced Options** (facultatif) : + {{< img src="getting_started/synthetics/synthetics_templates_api_video.mp4" alt="Vidéo de la page d’atterrissage du test API Synthetics avec modèles" video="true" >}} - {{< tabs >}} + - **Créer un test à partir de zéro** : + + 1. Pour construire un test à partir de zéro, cliquez sur le modèle **+ Commencer à partir de zéro**, puis sélectionnez le `HTTP`type de requête et spécifiez l'**URL** à interroger. + Les méthodes disponibles sont : `GET`, `POST`, `PATCH`, `PUT`, `HEAD`, `DELETE` et `OPTIONS`. Les URL `http` et `https` sont toutes deux prises en charge. - {{% tab "Options de requête" %}} +
Voir Options avancées pour plus d'options.
- * **Follow redirects** : sélectionnez cette option pour que le test HTTP suive jusqu'à dix redirections lors de l'exécution de la requête. - * **Timeout** : permet de spécifier le délai (en secondes) avant l'expiration du test. - * **Request headers** : définissez les en-têtes à ajouter à votre requête HTTP. Vous pouvez également remplacer les en-têtes par défaut (par exemple, l'en-tête `user-agent`). - * **Cookies** : définissez les cookies à ajouter à votre requête HTTP. Définissez plusieurs cookies en suivant le format `=; =`. + 2. **Name** your HTTP test. - {{% /tab %}} + 3. Add Environment **Tags** as well as any other tag to your HTTP test. You can then use these tags to filter through your Synthetic tests on the [Synthetic Monitoring & Continuous Testing page][3]. + + 4. Click **Send** to try out the request configuration. A response preview is displayed on the right side of your screen.

- {{% tab "Authentification" %}} + {{< img src="getting_started/synthetics/api-test-config-4.png" alt="Définir la requête HTTP" style="width:90%;" >}} - * **HTTP Basic Auth** : ajoutez des identifiants d'authentification basique HTTP. - * **Digest Auth** : ajoutez des identifiants d'authentification Digest. - * **NTLM** : ajoutez les informations d'authentification NTLM. NTLMv2 et NTLMv1 sont pris en charge. - * **AWS Signature v4** : saisissez votre ID de clé d'accès et votre clé d'accès secrète. Datadog génère alors la signature pour votre requête. Cette option repose sur une implémentation de base de SigV4. Les signatures spécifiques (par exemple pour AWS S3) ne sont pas implémentées. + 5. Click **Create Test** to submit your API test. -
Si vous le souhaitez, vous pouvez spécifier le domaine et la station de travail dans la section **Additional configuration**. +### Extraits {#snippets} - {{% /tab %}} +{{% synthetics-api-tests-snippets %}} - {{% tab "Paramètres de requête" %}} +### Options avancées {#advanced-options} + + {{< tabs >}} - * **Encode parameters** : ajoutez le nom et la valeur des paramètres de requête nécessitant un encodage. + {{% tab "Options de demande" %}} + * **Version HTTP** : Sélectionnez `HTTP/1.1 only`, `HTTP/2 only` ou `HTTP/2 fallback to HTTP/1.1`. + * **Suivre les redirections** : Sélectionnez pour que votre test HTTP suive jusqu'à dix redirections lors de l'exécution de la demande. + * **Ignorer l'erreur de certificat serveur** : Sélectionnez pour que votre test HTTP continue la connexion même s'il y a des erreurs lors de la validation du certificat SSL. + * **Délai d'attente** : Spécifiez la durée en secondes avant que le test ne dépasse le délai d'attente. + * **En-têtes de demande** : Définissez les en-têtes à ajouter à votre demande HTTP. Vous pouvez également remplacer les en-têtes par défaut (par exemple, l'en-tête `user-agent`). + * **Cookies** : Définissez les cookies à ajouter à votre demande HTTP. Définissez plusieurs cookies en utilisant le format `=; =`. {{% /tab %}} - {{% tab "Corps de requête" %}} + {{% tab "Authentification" %}} + + * **Certificat client** : Authentifiez-vous via mTLS en téléchargeant votre certificat client (`.crt`) et la clé privée associée (`.key`) au format `PEM`. Vous pouvez utiliser la bibliothèque `openssl` pour convertir vos certificats. Par exemple, convertissez un certificat `PKCS12` en clés privées et certificats au format `PEM`. - * **Body type** : sélectionnez le type du corps de requête (`text/plain`, `application/json`, `text/xml`, `text/html`, `application/x-www-form-urlencoded` ou `None`) que vous voulez ajouter à votre requête HTTP. - * **Request body** : ajoutez le contenu du corps de votre requête HTTP. La taille du corps de la requête ne doit pas dépasser 50 Ko. + ``` + openssl pkcs12 -in .p12 -out .key -nodes -nocerts + openssl pkcs12 -in .p12 -out .cert -nokeys + ``` + + * **Authentification HTTP Basic** : Ajoutez des identifiants d'authentification HTTP Basic. + * **Authentification Digest** : Ajoutez des identifiants d'authentification Digest. + * **NTLM** : Ajoutez des identifiants d'authentification NTLM. Prise en charge de NTLMv2 et NTLMv1. + * **Signature AWS v4** : Entrez votre ID de clé d'accès et votre clé d'accès secrète. Datadog génère la signature pour votre demande. Cette option utilise l'implémentation de base de SigV4. Des signatures spécifiques telles qu'Amazon S3 ne sont pas prises en charge par défaut. + Pour les demandes de transfert "Single Chunk" vers les buckets Amazon S3, ajoutez `x-amz-content-sha256` contenant le corps de la demande encodé en sha256 en tant qu'en-tête (pour un corps vide : `x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`). + * **OAuth 2.0** : Choisissez entre l'octroi de l'identifiant client ou d'un mot de passe de propriétaire de ressource et entrez une URL de jeton d'accès. Selon votre sélection, entrez un identifiant client et un secret, ou un nom d'utilisateur et un mot de passe. Dans le menu déroulant, sélectionnez une option pour soit envoyer le jeton API en tant qu'en-tête d'authentification de base, soit envoyer les identifiants client dans le corps. En option, vous pouvez fournir des informations supplémentaires telles que l'audience, la ressource et le périmètre (ainsi que l'identifiant client et le secret, si vous avez sélectionné **Mot de passe de propriétaire de ressource**). {{% /tab %}} - {{% tab "Certificat" %}} + {{% tab "Paramètres de requête" %}} - * **Ignore server certificate error** : sélectionnez cette option pour que votre test HTTP poursuive son processus de connexion même lorsque des erreurs de validation du certificat SSL surviennent. - * **Client certificate** : authentifiez-vous via mTLS en important votre certificat client (`.crt`) et la clé privée associée (`.key`) au format `PEM`. Vous pouvez utiliser la bibliothèque `openssl` pour convertir vos certificats. Par exemple, vous pouvez convertir un certificat `PKCS12` en certificat et clé privée au format `PEM`. + * **Encoder les paramètres** : Ajoutez le nom et la valeur des paramètres de requête qui nécessitent un encodage. - ``` - openssl pkcs12 -in .p12 -out .key -nodes -nocerts - openssl pkcs12 -in .p12 -out .cert -nokeys - ``` + {{% /tab %}} + {{% tab "Corps de la demande" %}} + + * **Type de corps** : Sélectionnez le type de corps de la demande (`application/json`, `application/octet-stream`, `application/x-www-form-urlencoded`, `multipart/form-data`, `text/html`, `text/plain`, `text/xml`, `GraphQL` ou `None`) que vous souhaitez ajouter à votre demande HTTP. + * **Corps de la demande** : Ajoutez le contenu de votre corps de demande HTTP. + * Le corps de la demande est limité à une taille maximale de 50 kilooctets pour `application/json`, `application/x-www-form-urlencoded`, `text/html`, `text/plain`, `text/xml`, `GraphQL`. + * Le corps de la demande est limité à un fichier de 3 mégaoctets pour `application/octet-stream`. + * Le corps de la demande est limité à trois fichiers de 3 mégaoctets chacun pour `multipart/form-data`. {{% /tab %}} {{% tab "Proxy" %}} - * **Proxy URL** : indiquez l'URL du proxy que la requête HTTP doit utiliser (`http://:@:`). - * **Proxy header** : ajoutez les en-têtes à inclure dans la requête HTTP envoyée au proxy. + * **URL du proxy** : Spécifiez l'URL du proxy par lequel la demande HTTP doit passer (`http://:@:`). + * **En-tête du proxy** : Ajoutez des en-têtes à inclure dans la demande HTTP au proxy. {{% /tab %}} {{% tab "Confidentialité" %}} - * **Do not save response body** : sélectionnez cette option pour désactiver l'enregistrement du corps de la réponse au moment de l'exécution. Cela peut être utile pour s'assurer qu'aucune donnée sensible ne figure dans les résultats de test. Utilisez cette option avec précaution, car elle peut rendre plus difficile le dépannage des problèmes. Pour découvrir d'autres recommandations de sécurité, consultez [Sécurité de la surveillance Synthetic][1]. + * **Ne pas enregistrer le corps de la réponse** : Sélectionnez cette option pour empêcher le corps de la réponse d'être enregistré à l'exécution et pour tronquer le message d'erreur des assertions JavaScript échouées. Cela aide à garantir qu'aucune donnée sensible n'est affichée dans vos résultats de test, mais cela peut rendre le dépannage des échecs plus difficile. Pour des recommandations complètes en matière de sécurité, voir [Sécurité des données de surveillance synthétique][1]. -[1]: /fr/security/synthetics +[1]: /fr/data_security/synthetics {{% /tab %}} - {{< /tabs >}} + {{% tab "Javascript" %}} -
+Définissez des variables pour vos tests d'API HTTP avec JavaScript : -3. **Donnez un nom** à votre test HTTP. +{{< img src="synthetics/api_tests/http_javascript.png" alt="Définissez un test d'API HTTP avec JavaScript." style="width:90%;" >}} -4. Ajoutez des **tags** `env` et tout autre tag de votre choix à votre test HTTP. Vous pourrez ensuite utiliser ces tags pour filtrer rapidement vos tests Synthetic depuis la [page d'accueil de la surveillance Synthetic][4]. +
Les capacités JavaScript ne sont pas prises en charge pour les tests API dans les emplacements privés Windows.
+ + {{% /tab %}} + + {{< /tabs >}} -{{< img src="synthetics/api_tests/http_test_config.png" alt="Définir une requête HTTP" style="width:90%;" >}} +### Définissez des assertions {#define-assertions} -Cliquez sur **Test URL** pour essayer la configuration de requête. Un aperçu de la réponse s'affiche sur le côté droit de votre écran. +Les assertions définissent quel est le résultat de test attendu. Après avoir cliqué sur **Tester l'URL**, des assertions de base sur `response time`, `status code` et `header` `content-type` sont ajoutées en fonction de la réponse obtenue. Vous devez définir au moins une assertion pour que votre test soit surveillé. -### Définir des assertions +
Les sections d'assertions d'en-tête, de corps et de JavaScript ne servent qu'à définir des assertions. Elles ne peuvent pas être utilisées pour effectuer des requêtes HTTP supplémentaires.
-Les assertions définissent un résultat de test escompté. Après avoir cliqué sur **Test URL**, les assertions de base pour `response time`, `status code` et `header` `content-type` sont ajoutées en fonction de la réponse obtenue. Vous devez définir au moins une assertion à surveiller pour votre test. +{{< tabs >}} +{{% tab "Assertions de réponse" %}} | Type | Opérateur | Type de valeur | |---------------|--------------------------------------------------------------------------------------------------------|----------------------------------------------------------------| -| body | `contains`, `does not contain`, `is`, `is not`,
`matches`, `does not match`,
[`jsonpath`][5], [`xpath`][6] | _Chaîne_
_[Regex][7]_
_Chaîne_, _[Regex][7]_ | -| header | `contains`, `does not contain`, `is`, `is not`,
`matches`, `does not match` | _Chaîne_
_[Regex][7]_ | -| response time | `is less than` | _Nombre entier (ms)_ | -| status code | `is`, `is not` | _Nombre entier_ | +| corps | `contains`, `does not contain`, `is`, `is not`,
`matches`, `does not match`,
[`jsonpath`][4], [`xpath`][5] | _Chaîne_
_[Regex][6]_ | +| en-tête | `contains`, `does not contain`, `is`, `is not`,
`matches`, `does not match` | _Chaîne_
_[Regex][6]_ | +| temps de réponse | `is less than` | _Entier (ms)_ | +| code d'état | `is`, `is not`,
`matches`, `does not match` | _Entier_
_[Regex][6]_ | -Les tests HTTP peuvent décompresser les corps de réponse contenant les en-têtes `content-encoding` suivants : `br`, `deflate`, `gzip` et `identity`. +Les tests HTTP peuvent décompresser les corps avec les en-têtes suivants `content-encoding` : `br`, `deflate`, `gzip` et `identity`. -Vous pouvez créer jusqu'à 20 assertions par test API en cliquant sur **New Assertion** ou en sélectionnant directement l'aperçu de la réponse : +Vous pouvez créer jusqu'à 20 assertions par test API en cliquant sur **Nouvelle assertion** ou en cliquant directement sur l'aperçu de la réponse : -{{< img src="synthetics/api_tests/assertions_http.png" alt="Définir des assertions pour déterminer la réussite ou l'échec de votre test HTTP" style="width:90%;" >}} +{{< img src="synthetics/api_tests/assertions_http.png" alt="Définissez des assertions pour que le test HTTP réussisse ou échoue sur" style="width:90%;" >}} + +Pour appliquer une logique `OR` dans une assertion, utilisez le comparateur `matches regex` pour définir une regex comportant plusieurs valeurs attendues, par exemple `(200|302)`. Par exemple, vous pouvez vouloir que votre test HTTP réussisse lorsque le serveur doit répondre avec un code d'état `200` ou `302`. L'assertion `status code` réussit si le code d'état est 200 ou 302. Vous pouvez également ajouter une logique `OR` sur une assertion `body` ou `header` avec le comparateur `matches regex`. Si un test ne contient pas d'assertion sur le corps de la réponse, la charge utile du corps est abandonnée et le temps de réponse associé à la requête est renvoyé, dans la limite du délai d'expiration défini par le worker Synthetic. -Si un test contient une assertion sur le corps de la réponse et que le délai d'expiration est atteint, une erreur `Assertions on the body/response cannot be run beyond this limit` apparaît. +Le corps de la réponse n'est renvoyé que si vous avez ajouté des assertions sur son contenu et que ces assertions ont échoué. Si un test contient une assertion sur le corps de la réponse et réussit, la charge utile du corps est supprimée et seul un extrait des 50 premiers caractères du corps de la réponse est affiché. -### Sélectionner des emplacements +Si un test contient une assertion sur le corps de la réponse et que la limite de temps est atteinte, une erreur `Assertions on the body/response cannot be run beyond this limit` apparaît. -Sélectionnez les **emplacements** à partir desquels vous souhaitez exécuter votre test HTTP. Les tests HTTP peuvent être exécutés depuis des [emplacements gérés][1] et des [emplacements privés][2], selon que vous souhaitez exécuter le test à l'extérieur ou à l'intérieur de votre réseau. +[4]: https://restfulapi.net/json-jsonpath/ +[5]: https://www.w3schools.com/xml/xpath_syntax.asp +[6]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions -### Indiquer la fréquence du test +{{% /tab %}} +{{% tab "JavaScript" %}} -Les tests HTTP peuvent être exécutés : +Utilisez des assertions JavaScript lorsque les assertions de réponse standard ne répondent pas à vos besoins de validation. La surveillance synthétique utilise la [bibliothèque d'assertions Chai][20], qui fournit `dd.expect()`, `dd.should` et `dd.assert()` pour des styles d'assertion flexibles. + +Lors de la manipulation des réponses JSON, utilisez `JSON.parse(dd.response.body)` pour analyser le corps de la réponse avant d'accéder à ses propriétés. Ceci est requis pour toutes les méthodes d'assertion (`dd.assert()`, `dd.expect()` et `dd.should`) lors de la validation des données JSON. + +{{< img src="synthetics/api_tests/JS_assertion.png" alt="Assertion JavaScript pour le test d'API HTTP" style="width:90%;" >}} + +
+
    +
  • Les capacités JavaScript ne sont pas prises en charge pour les tests d'API dans des emplacements privés Windows.
  • +
  • Si le message d'erreur d'une assertion JavaScript échouée peut inclure des données sensibles, sous Options avancées > Confidentialité, activez Ne pas enregistrer le corps de la réponse. Cela tronque le message d'erreur d'assertion.
  • +
+
+ +#### Utilisation de dd.assert() {#using-ddassert} + +Utilisez `dd.assert()` pour la syntaxe d'assertion traditionnelle : + +Par exemple, pour affirmer qu'un champ `status.code` est l'une des valeurs autorisées : + +{{< code-block lang="javascript" >}} +const response = JSON.parse(dd.response.body); +// Assert that the status code is 200, 210, 320, or 330 +dd.assert.include([200, 210, 320, 330], response.status.code); +{{< /code-block >}} -* **Selon un programme**, pour vous assurer que vos utilisateurs peuvent toujours accéder à vos principaux endpoints. Sélectionnez la fréquence à laquelle vous souhaitez que Datadog exécute votre test HTTP. -* [**Dans vos pipelines de CI/CD**][3], pour déployer votre code sans crainte de dégrader l'expérience de vos utilisateurs. -* **À la demande**, afin d'exécuter les tests au moment le plus opportun pour votre équipe. +Exemple de réponse : -### Définir des conditions d'alerte +```json +{ + "status": { + "code": 200, + "message": "Success" + } +} +``` -Définissez des conditions d'alerte afin de spécifier les circonstances dans lesquelles vous souhaitez qu'un test échoue et déclenche une alerte. +Cette assertion : +- Analyse le corps de la réponse JSON +- Vérifie que `status.code` est inclus dans le tableau des valeurs autorisées (200, 210, 320 ou 330) -#### Règle d'alerte +Le test **réussit** parce que `status.code` est `200`, ce qui est inclus dans le tableau des valeurs autorisées. -Lorsque vous définissez les conditions d'alerte sur `An alert is triggered if your test fails for X minutes from any n of N locations`, une alerte se déclenche uniquement si les deux conditions suivantes se vérifient : +Pour plus d'informations sur `assert.include()`, consultez la [documentation de Chai assert.include()][21]. -* Au moins un emplacement a donné lieu à un échec (au moins une assertion a échoué) au cours des *X* dernières minutes -* À un moment au cours des *X* dernières minutes, au moins *n* emplacements ont donné lieu à un échec. +#### Utilisation de dd.expect() {#using-ddexpect} -#### Nouvelle tentative rapide +Utilisez `dd.expect()` pour les assertions avec validation de propriété imbriquée. -Votre test peut déclencher `X` nouvelles tentatives après `Y` ms en cas d'échec. Cet intervalle peut être personnalisé en fonction de vos préférences en matière d'alertes. +Par exemple, pour affirmer qu'un champ `status.indicator` correspond à l'une des valeurs attendues : -La disponibilité d'un emplacement est calculée pour chaque évaluation (quels que soient les résultats du dernier test avant l'évaluation). La disponibilité totale est calculée selon les conditions d'alerte configurées. Les notifications envoyées se basent sur la disponibilité totale. +{{< code-block lang="javascript" >}} +const response = JSON.parse(dd.response.body); +const regex = /^(major|critical|minor|none)$/; -### Informer votre équipe +dd.expect(response) + .to.have.nested.property('status.indicator') + .that.matches(regex); +{{< /code-block >}} -Votre test envoie une notification selon les [conditions d'alerte](#definir-des-conditions-d-alerte) définies au préalable. Référez-vous à cette section pour définir les conditions et le message à envoyer à vos équipes. +Exemple de réponse : -1. [Tout comme pour les monitors][8], sélectionnez **les utilisateurs et/ou services** qui doivent recevoir des notifications. Pour ce faire, ajoutez `@notification` au message, ou cherchez des membres d'équipe ou des intégrations connectées à l'aide de la liste déroulante. +```json +{ + "status": { + "indicator": "none" + } +} +``` +Cette assertion : +- Analyse le corps de la réponse JSON +- Valide que la propriété imbriquée `status.indicator` existe +- Vérifie que la valeur correspond au motif regex (l'un des : `major`, `critical`, `minor` ou `none`) -2. Saisissez un **message** de notification pour le test. Ce champ accepte [le format de mise en forme Markdown][9] standard ainsi que les [variables conditionnelles][10] suivantes : +Avec le regex `/^(major|critical|minor|none)$/`, le test **réussit** parce que `status.indicator` est `"none"`, ce qui correspond au motif. - | Variable conditionnelle | Description | - |----------------------------|---------------------------------------------------------------------| - | `{{#is_alert}}` | S'affiche lorsque le test envoie une alerte. | - | `{{^is_alert}}` | S'affiche lorsque le test n'envoie pas d'alerte. | - | `{{#is_recovery}}` | S'affiche lorsque le test est rétabli depuis un état d'alerte. | - | `{{^is_recovery}}` | S'affiche lorsque le test n'est pas rétabli depuis un état d'alerte. | +Avec le regex `/^(major|critical|minor)$/`, le test **échoue** parce que `"none"` n'est pas inclus dans les valeurs autorisées. -3. Indiquez une fréquence de **renvoi du message de notification** en cas d'échec d'un test. Si vous ne souhaitez pas renvoyer de notification en cas d'échec, définissez l'option sur `Never renotify if the monitor has not been resolved`. +Pour plus d'informations sur `expect()`, consultez la [documentation de Chai expect()][22]. -Cliquez sur **Save** pour enregistrer et démarrer votre test. +#### Utilisation de dd.should {#using-ddshould} -## Variables +Utilisez `dd.should` pour écrire des assertions avec une syntaxe en langage naturel : -### Créer des variables locales +Par exemple, pour affirmer qu'un champ `status.indicator` existe et est égal à une valeur spécifique : -Vous pouvez créer des variables locales en cliquant sur **Create Local Variable** en haut à droite du formulaire de configuration de votre test. Vous pouvez définir leurs valeurs sur l'un des builtins disponibles ci-dessous : +{{< code-block lang="javascript" >}} +const response = JSON.parse(dd.response.body); +response.status.should.exist(); +const indicator = response.status.indicator; +indicator.should.equal('none'); +{{< /code-block >}} -`{{ numeric(n) }}` -: Génère une chaîne numérique de `n` chiffres. +Exemple de réponse : -`{{ alphabetic(n) }}` -: Génère une chaîne alphabétique de `n` lettres. +```json +{ + "status": { + "indicator": "none" + } +} +``` -`{{ alphanumeric(n) }}` -: Génère une chaîne alphanumérique de `n` caractères. +Cette assertion : +- Analyse le corps de la réponse JSON +- Vérifie que la propriété `status` existe +- Extrait la valeur de l'indicateur dans une variable +- Vérifie que `status.indicator` est égal à `"none"` -`{{ date(n, format) }}` -: Génère une date dans l'un des formats acceptés. Sa valeur correspond à la date d'initiation du test + `n` jours. +Le test **réussit** parce que `status` existe et que `status.indicator` est `"none"`. + +Pour plus d'informations sur `should()`, consultez la [documentation de Chai should()][23]. + +[20]: https://www.chaijs.com/api/ +[21]: https://www.chaijs.com/api/assert/#method_include +[22]: https://www.chaijs.com/guide/styles/#expect +[23]: https://www.chaijs.com/guide/styles/#should + +{{% /tab %}} +{{< /tabs >}} + +### Sélectionnez les emplacements {#select-locations} + +Sélectionnez les **Emplacements** à partir desquels exécuter votre test HTTP. Les tests HTTP peuvent être exécutés à partir d'emplacements gérés et [privés][1] selon votre préférence pour exécuter le test de l'extérieur ou de l'intérieur de votre réseau. + +{{% managed-locations %}} + +### Spécifiez la fréquence des tests {#specify-test-frequency} + +Les tests HTTP peuvent être exécutés : -`{{ timestamp(n, unit) }}` -: Génère un timestamp dans l'une des unités acceptées. Sa valeur correspond au timestamp d'initiation du test +/- `n` unités choisies. +* **Selon un calendrier** pour garantir que vos points de terminaison les plus importants sont toujours accessibles à vos utilisateurs. Sélectionnez la fréquence à laquelle vous souhaitez que Datadog exécute votre test HTTP. +* [**Dans vos pipelines CI/CD**][2] pour commencer à livrer sans craindre que du code défectueux n'impacte l'expérience de vos clients. +* **À la demande** pour exécuter vos tests quand cela a le plus de sens pour votre équipe. -### Utiliser des variables +{{% synthetics-alerting-monitoring %}} -Les [variables globales définies sur la page `Settings`][11] et les [variables définies localement](#creer-des-variables-locales) peuvent être utilisées dans l'URL, les options avancées et les assertions de vos tests HTTP. +{{% synthetics-downtimes %}} -Pour afficher votre liste de variables, tapez `{{` dans le champ souhaité : +## Un clic {#one-click} -{{< img src="synthetics/api_tests/use_variable.mp4" alt="Utiliser des variables dans les tests API" video="true" width="90%" >}} +La création de tests API suggère des endpoints du [Catalog][17] et des tests API existants pour préremplir votre formulaire de test avec des options pertinentes. +Utilisez des sources de données Datadog existantes telles que les traces APM, la découverte des endpoints du Catalog et les Synthetic tests similaires créés par des utilisateurs. -## Échec de test +Commencez à taper dans le champ **URL** du test API pour obtenir des suggestions d'endpoints ou de Synthetic tests similaires dans Synthetic Monitoring : -Un test est considéré comme `FAILED` s'il ne répond pas à une ou plusieurs de ses assertions ou si la requête a échoué prématurément. Dans certains cas, le test peut en effet échouer sans que les assertions n'aient pu être comparées à l'endpoint. + {{< img src="synthetics/api_tests/api-one-click.png" alt="Test API HTTP montrant une recherche GET pour un test API existant" style="width:90%;" >}} -Voici la liste des erreurs concernées : +Ensuite, sélectionnez une suggestion pour préremplir votre configuration de test (options de requête et en-têtes, authentification et variables) : -`CONNREFUSED` -: Aucune connexion n'a pu être établie, en raison d'un refus explicite de la machine cible. + {{< img src="synthetics/api_tests/api-test-monitor-search.png" alt="Sélectionner" style="width:90%;" >}} -`CONNRESET` -: La connexion a été interrompue de façon soudaine par le serveur à distance. Causes possibles : erreur ou défaillance du serveur Web lors de la réponse ou perte de connectivité du serveur Web. +{{% synthetics-variables %}} -`DNS` -: L'entrée DNS est introuvable pour l'URL du test. Causes possibles : URL du test mal configurée, ou configuration des entrées DNS incorrecte. +### Utilisez des variables {#use-variables} -`INVALID_REQUEST` -: La configuration du test n'est pas valide (par exemple, en raison d'une faute de frappe dans l'URL). +Vous pouvez utiliser les [variables globales définies sur la page **Settings**][11] dans l'URL, les options avancées et les assertions de vos tests HTTP. -`SSL` -: La connexion SSL n'a pas pu être établie. [Pour en savoir plus, consultez la page relative aux erreurs][12]. +Pour afficher votre liste de variables, tapez `{{` dans le champ souhaité : -`TIMEOUT` -: La requête n'a pas pu être effectuée dans un délai raisonnable. Deux types d'erreurs `TIMEOUT` peuvent se produire : - - `TIMEOUT: The request couldn’t be completed in a reasonable time.` indique que la durée de la requête a dépassé le délai d'expiration défini (par défaut, 60 secondes). - Pour chaque requête, seules les étapes terminées sont affichées dans la cascade réseau. Par exemple, si rien d'autre que `Total response time` ne s'affiche, cela signifie que l'expiration est survenue durant la résolution DNS. - - `TIMEOUT: Overall test execution couldn't be completed in a reasonable time.` indique que la durée du test (requête + assertions) a atteint la durée maximale (60,5 secondes). +{{< img src="synthetics/api_tests/http_use_variable.mp4" alt="Utilisation de variables dans un test HTTP" video="true" width="100%" >}} -`MALFORMED_RESPONSE` -: Le serveur à distance a répondu avec une charge utile non conforme aux spécifications HTTP. +## Échec du test {#test-failure} -## Autorisations +Un test est considéré comme `FAILED` s'il ne satisfait pas une ou plusieurs assertions ou si la requête a échoué prématurément. Dans certains cas, le test peut échouer sans tester les assertions contre l'endpoint. -Par défaut, seuls les utilisateurs disposant des [rôles Admin ou Standard Datadog][13] peuvent créer, modifier et supprimer des tests HTTP Synthetic. Pour que votre utilisateur puisse effectuer ces opérations, vous devez donc lui accorder l'un de ces deux [rôles par défaut][13]. +Pour une liste complète des codes d'erreur HTTP et SSL, consultez [API Testing Errors][12]. -Si vous utilisez des [rôles personnalisés][14], ajoutez votre utilisateur à un rôle personnalisé disposant des autorisations `synthetics_read` et `synthetics_write`. +## Permissions {#permissions} -### Restreindre l'accès +Par défaut, seuls les utilisateurs ayant les [Datadog Admin et Datadog Standard roles][13] peuvent créer, modifier et supprimer des Synthetic HTTP tests. Pour obtenir un accès de création, d'édition et de suppression aux Synthetic HTTP tests, mettez à niveau votre utilisateur vers l'un de ces deux [default roles][13]. -Les clients qui ont configuré des [rôles personnalisés][15] sur leur compte peuvent utiliser la fonctionnalité de restriction d'accès. +Si vous utilisez la [fonctionnalité de rôle personnalisé][14], ajoutez votre utilisateur à tout rôle personnalisé qui inclut les permissions `synthetics_read` et `synthetics_write`. -Vous pouvez faire en sorte que certains rôles au sein de votre organisation ne puissent pas accéder à un test HTTP. Lors de la création du test HTTP, choisissez les rôles (en plus des utilisateurs) auxquels vous souhaitez attribuer des autorisations de lecture/écriture pour votre test. +### Restreindre l'accès {#restrict-access} -{{< img src="synthetics/settings/restrict_access.png" alt="Définir des autorisations pour votre test" style="width:70%;" >}} +{{% synthetics_grace_permissions %}} -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[1]: /fr/api/v1/synthetics/#get-all-locations-public-and-private -[2]: /fr/synthetics/private_locations -[3]: /fr/synthetics/cicd_integrations -[4]: /fr/synthetics/search/#search -[5]: https://restfulapi.net/json-jsonpath/ -[6]: https://www.w3schools.com/xml/xpath_syntax.asp -[7]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions -[8]: /fr/monitors/notify/#notify-your-team -[9]: https://www.markdownguide.org/basic-syntax/ -[10]: /fr/monitors/notify/?tab=is_recoveryis_alert_recovery#conditional-variables +[1]: /fr/synthetics/private_locations +[2]: /fr/synthetics/cicd_integrations +[3]: /fr/synthetics/search/#search +[7]: /fr/monitors/notify/#configure-notifications-and-automations +[8]: https://www.markdownguide.org/basic-syntax/ +[9]: /fr/monitors/notify/?tab=is_recoveryis_alert_recovery#conditional-variables +[10]: /fr/synthetics/guide/synthetic-test-monitors [11]: /fr/synthetics/settings/#global-variables -[12]: /fr/synthetics/api_tests/errors/#ssl-errors +[12]: /fr/synthetics/api_tests/errors/ [13]: /fr/account_management/rbac/ [14]: /fr/account_management/rbac#custom-roles -[15]: /fr/account_management/rbac/#create-a-custom-role \ No newline at end of file +[15]: /fr/account_management/rbac/#create-a-custom-role +[16]: /fr/synthetics/api_tests/errors/#http-errors +[17]: /fr/api_catalog \ No newline at end of file diff --git a/content/fr/synthetics/browser_tests/_index.md b/content/fr/synthetics/browser_tests/_index.md index cf9c1ed1d29..de2694361f8 100644 --- a/content/fr/synthetics/browser_tests/_index.md +++ b/content/fr/synthetics/browser_tests/_index.md @@ -5,49 +5,103 @@ aliases: description: Simulez et surveillez des parcours utilisateur à partir d'emplacements spécifiques. further_reading: -- link: https://www.datadoghq.com/blog/browser-tests/ - tag: Blog - text: Surveillance de l'expérience utilisateur avec les tests Browser -- link: https://www.datadoghq.com/blog/test-creation-best-practices/ - tag: Blog - text: Pratiques recommandées pour la création de tests de bout en bout -- link: https://learn.datadoghq.com/courses/intro-to-synthetic-tests - tag: Centre d'apprentissage - text: Présentation des tests Synthetic - link: /getting_started/synthetics/browser_test tag: Documentation - text: Débuter avec les tests Browser + text: Démarrage des tests de navigateur - link: /synthetics/guide/synthetic-test-monitors tag: Documentation text: En savoir plus sur les monitors de test Synthetic +- link: /synthetics/guide/version_history/ + tag: Guide + text: Historique des versions de Synthetic Monitoring +- link: https://learn.datadoghq.com/courses/getting-started-with-synthetic-browser-testing + tag: Centre d'apprentissage + text: 'Centre d''apprentissage Datadog : Premiers pas avec les tests de navigateur + Synthetic' +- link: https://www.datadoghq.com/blog/test-creation-best-practices/ + tag: Blog + text: Bonnes pratiques pour la création de tests de bout en bout +- link: https://www.datadoghq.com/blog/simplifying-troubleshooting-with-synthetic-monitoring + tag: Blog + text: Simplifier le dépannage tout au long du parcours utilisateur avec Datadog + Synthetic Monitoring +- link: https://www.datadoghq.com/blog/ambassador-browser-tests/ + tag: Blog + text: Comment j'ai aidé mon client à faire évoluer ses tests de navigateur avec + Datadog - link: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/synthetics_test - tag: Terraform + tag: Site externe text: Créer et gérer des tests Browser Synthetic avec Terraform -title: Tests Browser +title: Tests de navigateurs --- +## Aperçu {#overview} + +Les tests de navigateur sont des scénarios exécutés par Datadog sur vos applications web. Ils s'exécutent à des intervalles périodiques configurables depuis plusieurs emplacements dans le monde, à partir de plusieurs navigateurs et appareils. Ces tests vérifient à la fois que vos applications sont opérationnelles et répondent aux demandes, et que toutes les conditions définies dans vos scénarios sont remplies. + +
Si vous êtes intéressé par le test d'applications derrière la MFA, lisez le guide dédié et envoyez vos retours à l'équipe Synthetic Monitoring pour aider à améliorer les systèmes qui comptent le plus pour vos équipes.
+ +## Configuration du test {#test-configuration} + +Vous pouvez créer un test en utilisant l'une des options suivantes : + +### Créer un test à partir d'un modèle {#create-a-test-from-a-template} -## Présentation + 1. Survolez l'un des modèles pré-remplis et cliquez sur **Voir le modèle**. Cela ouvre un panneau latéral affichant des informations de configuration pré-remplies, y compris : Détails du test, Conditions d'alerte, Étapes et éventuellement Variables. + 2. Cliquez sur **+Créer un test** pour ouvrir la page de configuration, où vous pouvez examiner et modifier les options de configuration pré-remplies. Les champs présentés sont identiques à ceux disponibles lors de la création d'un test à partir de zéro. + 3. Cliquez sur **Enregistrer et quitter** dans le coin supérieur droit pour soumettre votre test de navigateur.

+ {{< img src="/synthetics/browser_tests/synthetics_templates_browser.mp4" alt="Vidéo de la page d'accueil des tests de navigateur synthétiques avec des modèles" video="true" >}} -Les tests Browser sont des scénarios exécutés par Datadog sur vos applications Web. Ils s'exécutent à des intervalles personnalisables, à partir de différents emplacements dans le monde entier et depuis plusieurs navigateurs et appareils. Ces tests vérifient que vos applications fonctionnent et répondent aux requêtes, et que les conditions définies dans vos scénarios sont satisfaites. +### Créez un test à partir de zéro {#build-a-test-from-scratch} -
Si vous souhaitez tester des applications qui nécessitent une authentification multifacteur, lisez le guide dédié et partagez vos commentaires avec l'équipe chargée de la surveillance Synthetic. Vos retours nous aident à améliorer les systèmes qui comptent le plus pour vos équipes.
+ 1. Cliquez sur le **+** modèle pour commencer un nouveau test de navigateur à partir de zéro. + 1. Entrez une **URL de départ** : L'URL à partir de laquelle votre test de navigateur commence le scénario. + 1. Ajoutez un **nom** : Le nom de votre test de navigateur. + 1. Sélectionnez **l'environnement et les balises supplémentaires** : Définissez les `env` et les balises associées à votre test de navigateur. Utilisez le format `:` pour filtrer sur un `` pour un `` donné. -## Configuration du test +
Voir Options avancées pour plus d'options.
-Définissez la configuration de votre test Browser. + 5. Sélectionnez **navigateurs et appareils** : Les navigateurs (comme `Chrome`, `Firefox` et `Edge`), et les appareils (comme `Laptop Large`, `Tablet` et `Mobile Small`) sur lesquels exécuter votre test. -1. Ajoutez une **Starting URL** : l'URL depuis laquelle le test Browser démarre le scénario. -2. Ajoutez des **Advanced Options** (facultatif) : définissez des options spécifiques pour votre test Browser. + - Pour un grand ordinateur portable, les dimensions sont de 1440 pixels x 1100 pixels. + - Pour une tablette, les dimensions sont de 768 pixels x 1020 pixels. + - Pour un petit appareil mobile, les dimensions sont de 320 pixels x 550 pixels. - {{< tabs >}} + 6. Sélectionnez **emplacements gérés et privés** : Sélectionnez parmi une liste d'[emplacements](#locations) dans le monde qui sont gérés par Datadog, ou créez des [emplacements privés][1] pour exécuter votre test de navigateur depuis des emplacements personnalisés ou à l'intérieur de réseaux privés. + + **Note** : Vous pouvez également utiliser le [Continuous Testing Tunnel][2] pour déclencher des tests sur votre configuration de développement local ou dans votre pipeline CI/CD pour tester des environnements internes. + + 7. Définissez la **fréquence de test** : Les intervalles varient de toutes les cinq minutes à une fois par semaine. Pour demander une fréquence d'une minute, [contactez le support][3]. + 8. Cliquez sur **Enregistrer et modifier l’enregistrement** pour soumettre votre test de navigateur. + +### Emplacements {#locations} + +{{% managed-locations %}} + +### Extraits {#snippets} + +Lors de la configuration d'un nouveau test de navigateur Synthetic Monitoring, utilisez des extraits pour remplir automatiquement vos appareils et régions, plutôt que de sélectionner ces options manuellement. Les extraits suivants sont disponibles : + +* **Tailles d'écran** : Effectuez automatiquement vos tests de navigateur sur un écran de taille spécifiée sur différents navigateurs : + * **Grand** + * **Tablette** + * **Mobile** + +* **Vérification multi-région** : Testez automatiquement votre site web contre un emplacement dans chacune des trois principales régions géographiques (AMER, APAC et EMEA). +

+ + {{< img src="synthetics/browser_tests/browser_snippets_2.png" alt="Capture d'écran du côté gauche de la création d'un test de navigateur, montrant des exemples d’extraits" width="70%" >}} + +### Options avancées {#advanced-options} + +{{< tabs >}} {{% tab "Options de requête" %}} - Sélectionnez l'option **Disable CORS** pour éviter que la stratégie Cross-Origin Resource Sharing (CORS) ne bloque votre test. Pour empêcher la Content Security Policy (CSP) de bloquer votre test, sélectionnez **Disable CSP**. + Sélectionnez **Désactiver CORS** pour empêcher la politique de partage des ressources entre origines (CORS) de bloquer votre test. Pour empêcher la politique de sécurité du contenu (CSP) de bloquer votre test, sélectionnez **Désactiver CSP**. - * **Request Headers** : définissez les en-têtes dans les champs **Name** et **Value** à ajouter ou à utiliser pour remplacer les en-têtes par défaut du navigateur. Par exemple, vous pouvez modifier le user-agent dans l'en-tête de façon à [identifier les scripts Datadog][1]. - * **Cookies** : définissez les cookies à ajouter aux cookies par défaut du navigateur. Saisissez un cookie par ligne, en prenant soin de respecter la syntaxe de [`Set-Cookie`][2]. - * **HTTP Authentication** : effectuez l'authentification via HTTP Basic, Digest ou NTLM avec un nom d'utilisateur et un mot de passe. Vos identifiants sont utilisés lors de chaque étape de votre test Browser. + * **En-têtes de demande** : Définissez des en-têtes dans les champs **Nom** et **Valeur** à ajouter ou à remplacer les en-têtes par défaut du navigateur. Par exemple, vous pouvez définir l'agent utilisateur dans l'en-tête pour [identifier les scripts Datadog][1]. + * **Cookies** : Définissez des cookies à ajouter aux cookies par défaut du navigateur. Entrez un cookie par ligne, en utilisant la syntaxe de [`Set-Cookie`][2]. + * **Authentification HTTP** : Authentifiez-vous via HTTP Basic, Digest ou NTLM avec un nom d'utilisateur et un mot de passe. Vos identifiants sont utilisés à chaque étape de votre test de navigateur. **Remarque** : L'authentification via HTTP Basic peut être utilisée pour les sites web qui demandent des identifiants utilisateur via une invite système du navigateur. Les options de requête sont définies à chaque exécution de test. Elles sont appliquées à toutes les étapes de votre test Browser lors de son exécution, et non lors de son enregistrement. Si vous souhaitez que ces options restent actives lors de l'enregistrement des étapes suivantes, appliquez-les manuellement sur la page à partir de laquelle l'enregistrement est effectué, puis créez les prochaines étapes de votre test. @@ -58,10 +112,10 @@ Définissez la configuration de votre test Browser. {{% tab "Certificat" %}} - Sélectionnez l'option **Ignore server certificate error** pour que le test ignore les erreurs liées au certificat du serveur. + Sélectionnez **Ignorer l'erreur de certificat serveur** pour indiquer au test d'ignorer les erreurs dans le certificat du serveur. - * **Client Certificate** : vous pouvez effectuer des tests sur des systèmes qui nécessitent des certificats client. Pour ce faire, cliquez sur **Upload File**, puis importez votre fichier de certificat et votre clé privée. Seuls les certificats PEM sont acceptés. - * **Client Certificate Domains** : une fois les fichiers de certificat importés, le certificat client s'applique au domaine de l'URL de départ. Pour appliquer le certificat client à un autre domaine, spécifiez le domaine en question dans le champ **Value**. + * **Certificat client** : Effectuez des tests sur des systèmes qui nécessitent des certificats clients en cliquant sur **Télécharger le fichier** et en téléchargeant votre fichier de certificat et votre clé privée. Seuls les certificats PEM sont acceptés. + * **Domaines de certificat client** : Une fois les fichiers de certificat téléchargés, le certificat client s'applique au domaine de l'URL de départ. Pour appliquer le certificat client sur un autre domaine, spécifiez le domaine dans le champ **Valeur**. L'URL peut inclure des wildcards. @@ -69,17 +123,17 @@ Définissez la configuration de votre test Browser. {{% tab "Proxy" %}} - Saisissez dans le champ **Proxy URL** l'URL du proxy par lequel vous souhaitez que vos requêtes passent, en prenant soin de respecter le format `http://:@:`. + Entrez une URL pour un proxy par lequel vous souhaitez envoyer des requêtes dans le champ **URL du proxy** en tant que `http://:@:`. - L'URL peut inclure des [variables globales](#utiliser-des-variables-globales). + Vous pouvez inclure des [variables globales](#use-global-variables) dans l'URL. {{% /tab %}} {{% tab "Confidentialité" %}} - Sélectionnez l'option **Do not capture any screenshots for this test** pour empêcher les captures d'écran pendant les étapes de votre test. + Sélectionnez **Ne pas capturer de captures d'écran pour ce test** pour empêcher la prise de captures d'écran lors de vos étapes de test. - Cette option de confidentialité est proposée sous la forme d'[option avancée][1] au niveau des étapes de chaque test. Elle vous permet d'éviter d'inclure des données sensibles dans les résultats de vos tests. Il est plus difficile de diagnostiquer les échecs sans capture d'écran. Pour en savoir plus, consultez la [section relative à la sécurité][2]. + Cette option de confidentialité est proposée sous la forme d'[option avancée][1] au niveau des étapes de chaque test. Elle vous permet d'éviter d'inclure des données sensibles dans les résultats de vos tests. Empêcher le test de prendre des captures d'écran rend le dépannage des échecs plus difficile. Pour plus d'informations, voir [Sécurité des données][2]. [1]: /fr/synthetics/browser_tests/advanced_options#prevent-screenshot-capture [2]: /fr/data_security/synthetics @@ -91,142 +145,248 @@ Définissez la configuration de votre test Browser. {{% /tab %}} - {{< /tabs >}} + {{% tab "Temps & Langue" %}} + + Par défaut, le fuseau horaire est réglé sur UTC et la langue est réglée sur l'anglais (en). Pour définir une langue, utilisez le code [ISO correspondant à 2 ou 3 chiffres][1]. -3. Ajoutez un **name** : le nom de votre test Browser. -4. Sélectionnez des **environment and additional tags** : définissez le tag `env` et les tags associés à appliquer à votre test Browser. Utilisez le format `:` pour filtrer une valeur `` pour une clé `` donnée. -5. Sélectionnez des **browsers and devices** : les navigateurs (comme `Chrome`, `Firefox` et `Edge`) et les appareils (comme `Laptop Large`, `Tablet` et `Mobile Small`) sur lesquels votre test doit être lancé. - - Dimensions d'un grand ordinateur portable : 1 440 x 1 100 pixels - - Dimensions d'une tablette : 768 x 1 020 pixels. - - Dimensions d'un petit appareil mobile : 320 x 550 pixels. -6. Sélectionnez des **managed and private locations** : sélectionnez des emplacements dans le monde gérés par Datadog ou créez des [emplacements privés][1] pour lancer votre test Browser à partir d'emplacements personnalisés ou de réseaux privés. +[1]: https://www.loc.gov/standards/iso639-2/php/code_list.php - {{% managed-locations %}} + {{% /tab %}} + + {{% tab "Requêtes bloquées" %}} + + Entrez un ou plusieurs modèles de requêtes à bloquer lors du chargement pendant l'exécution du test. Entrez un modèle de requête par ligne en utilisant le [format de modèle de correspondance][1]. Les caractères génériques (par exemple, `*://*.example.com/*`) sont pris en charge. + + Les requêtes bloquées sont ignorées pendant l'exécution du test mais n'affectent pas le rendu de la page lors de [l'enregistrement des étapes](/synthetics/browser_tests/test_steps). Consultez les requêtes bloquées dans l'onglet [Ressources](/synthetics/browser_tests/test_results#resources) des exécutions de test. Les requêtes bloquées ont un statut de `blocked`. + +[1]: https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns + + {{% /tab %}} - Vous pouvez également utiliser le [Tunnel de test en continu][15] pour déclencher des tests sur votre environnement de développement local ou au sein de votre pipeline CI/CD pour tester des environnements internes. + {{< /tabs >}} + +{{% synthetics-variables %}} -7. Définissez la **test frequency** : l'intervalle minimal est de cinq minutes, tandis que l'intervalle maximal est d'une semaine. [Contactez l'assistance][2] si vous souhaitez bénéficier d'une fréquence d'exécution d'une minute. +### Utiliser des variables globales {#use-global-variables} -## Variables +Vous pouvez utiliser les [variables globales définies dans **Paramètres**][4] dans l'**URL de départ** et **Options avancées** des détails de votre test de navigateur, ainsi que dans votre enregistrement de test. -### Créer des variables locales +Pour afficher la liste des variables disponibles, procédez comme suit : -Pour créer une variable locale, cliquez sur **Create Local Variable** en haut à droite de l'interface. Vous pouvez sélectionner l'un des builtins suivants : +- Dans les détails de votre test de navigateur : Tapez `{{` dans le champ souhaité. -`{{ numeric(n) }}` -: Génère une chaîne numérique de `n` chiffres. + {{< img src="synthetics/browser_tests/use_global_variables_1.mp4" alt="Définir une variable locale à partir de variables globales" video="true" width="90%" >}} -`{{ alphabetic(n) }}` -: Génère une chaîne alphabétique de `n` lettres. +- Dans l'enregistreur de votre test de navigateur : Importez la variable dans votre test, puis tapez `{{` dans le champ souhaité ou injectez la variable dans votre application pour l'utiliser. -`{{ alphanumeric(n) }}` -: Génère une chaîne alphanumérique de `n` caractères. + {{< img src="synthetics/browser_tests/use_global_variables_2.mp4" alt="Injection d'une variable locale dans un champ lors d'un enregistrement de navigateur" video="true" width="90%" >}} -`{{ uuid }}` -: Génère un identifiant unique universel (UUID) de version 4. +Pour plus d'informations sur l'utilisation des variables dans l'enregistrement de votre test de navigateur, consultez [Étapes du test de navigateur][5]. -`{{ date(n unit, format) }}` -: Génère une date dans l'un des formats acceptés de Datadog. Sa valeur correspond à la date UTC d'initiation du test + ou - `n` unités. +### Définir des conditions d'alerte {#define-alert-conditions} -`{{ timestamp(n, unit) }}` -: Génère un timestamp dans l'une des unités acceptées de Datadog. Sa valeur correspond au timestamp UTC d'initiation du test + ou - `n` unités. +Vous pouvez personnaliser des conditions d'alertes afin de définir les circonstances dans lesquelles vous souhaitez qu'un test envoie une notification. -Pour obfusquer les valeurs des variables locales dans les résultats des tests, sélectionnez **Hide and obfuscate variable value**. Une fois la chaîne de la variable définie, cliquez sur **Add Variable**. +{{< img src="synthetics/browser_tests/alerting_rules_2.png" alt="Règle d'alerte de test de navigateur" style="width:80%" >}} -### Utiliser des variables globales +#### Règle d'alerte {#alerting-rule} -Les [variables globales définies dans les **paramètres**][3] peuvent être utilisées dans les sections **Starting URL** et **Advanced Options** de votre test Browser, ainsi que dans votre enregistrement de test pour définir des variables locales. Pour afficher la liste des variables disponibles, saisissez `{{` dans le champ souhaité. +Une alerte est déclenchée si une assertion échoue pendant `X` minutes à partir de n'importe quel `n` des `N` emplacements. Cette règle d'alerte vous permet de spécifier combien de temps et dans combien d'emplacements un test doit échouer avant de déclencher la notification. -{{< img src="synthetics/browser_tests/recording_global_variable.mp4" alt="Définir une variable locale à partir de variables globales" video="true" width="90%" >}} +Une alerte est déclenchée uniquement si ces deux conditions sont vraies : -Définissez les variables que vous souhaitez incorporer dans le parcours utilisateur avant de commencer l'enregistrement. +- Au moins un emplacement était en échec (au moins une assertion a échoué) pendant les dernières X minutes ; +- À un moment donné pendant les dernières X minutes, au moins `N` emplacements étaient en échec. -{{< img src="synthetics/browser_tests/recording_inject_variable.mp4" alt="Injecter une variable locale dans un champ lors de l'enregistrement d'un test Browser" video="true" width="90%" >}} +En cas d'échec, réessayez `X` fois avant que l'emplacement ne soit considéré comme ayant échoué. Cela vous permet de définir le nombre d'échecs consécutifs d’un test nécessaires pour qu’un emplacement soit considéré comme ayant échoué. Par défaut, il y a une attente de `300ms` avant de réessayer un test qui a échoué. Cet intervalle peut être configuré avec l'[API][6]. -Vous pouvez injecter les variables auxquelles vous avez accès pendant l'enregistrement. Pour découvrir comment utiliser des variables dans votre enregistrement de test Browser, consultez la section [Étapes des tests Browser][4]. +#### Réessai rapide {#fast-retry} -### Définir des conditions d'alerte +Lorsqu'un test échoue, le réessai rapide vous permet de réessayer le test X fois après Y ms avant de le marquer comme échoué. La personnalisation de l'intervalle de réessai permet de réduire les faux positifs et d'améliorer la précision de vos alertes. -Vous pouvez définir des conditions d'alertes personnalisées afin de spécifier les circonstances dans lesquelles vous souhaitez qu'un test envoie une notification. +Étant donné que la disponibilité de l'emplacement est calculée en fonction du résultat final du test après l'achèvement des réessais, les intervalles de réessai rapide ont un impact direct sur ce qui apparaît dans votre graphique de disponibilité totale. La disponibilité totale est calculée en fonction des conditions d'alerte configurées, et les notifications sont envoyées sur la base de cette disponibilité totale. -{{< img src="synthetics/browser_tests/alerting_rules.png" alt="Règle d'alerte du test Browser" style="width:80%" >}} +
+Pour plus d'informations sur la manière dont les notifications de Synthetic Monitoring évaluent les résultats des tests et déclenchent les alertes, consultez Understanding Synthetic Monitor Alerting. +
-* An alert is triggered if any assertion fails for `X` minutes from any `n` of `N` locations (Déclencher une alerte si une assertion échoue pendant `X` minutes sur `n` des `N` emplacements). Cette règle d'alerte vous permet de spécifier le nombre d'échecs requis sur le nombre d'emplacements de votre choix avant de déclencher la notification. -* Retry `X` times before location is marked as failed (Réessayer `X` fois avant de signaler l'échec de l'emplacement). Cette option vous permet de définir le nombre d'échecs de test consécutifs requis avant qu'une assertion échoue pour un emplacement. Le temps d'attente entre chaque nouvelle tentative est de 300 ms par défaut. Cet intervalle peut être configuré via l'[API][5]. +{{% synthetics-downtimes %}} -### Configurer le monitor de test +### Configurer le test monitor {#configure-the-test-monitor} -Votre test envoie une notification selon les conditions d'alerte définies. Cette section vous permet de définir les conditions et le message à envoyer à vos équipes. +Une notification est envoyée conformément à l'ensemble des conditions d'alerte. Utilisez cette section pour définir comment et quel message envoyer à vos équipes. -1. Saisissez un **message** pour le test Browser. Ce champ accepte l'utilisation du [format de mise en forme Markdown][5] standard ainsi que les [variables conditionnelles][6] suivantes : +1. Saisissez un **message** pour le test monitor ou utilisez les messages pré-remplis. Ce champ permet un formatage standard [Markdown][7] et prend en charge les [variables conditionnelles][8] suivantes : | Variable conditionnelle | Description | |----------------------------|---------------------------------------------------------------------| - | `{{#is_alert}}` | S'affiche lorsque le monitor envoie une alerte. | - | `{{^is_alert}}` | S'affiche lorsque le monitor n'envoie pas d'alerte. | - | `{{#is_recovery}}` | S'affiche lorsque le monitor est rétabli depuis un état `alert`. | - | `{{^is_recovery}}` | S'affiche lorsque le monitor n'est pas rétabli depuis un état `alert`. | - | `{{#is_renotify}}` | S'affiche lorsque le monitor renvoie des notifications. | - | `{{^is_renotify}}` | S'affiche lorsque le monitor ne renvoie pas de notification. | - | `{{#is_priority}}` | S'affiche lorsque le monitor correspond à la priorité (P1 à P5). | - | `{{^is_priority}}` | S'affiche lorsque le monitor ne correspond pas à la priorité (P1 à P5). | + | `{{#is_alert}}` | Show when the monitor alerts. | + | `{{^is_alert}}` | Show unless the monitor alerts. | + | `{{#is_recovery}}` | Show when the monitor recovers from `alert`. | + | `{{^is_recovery}}` | Show unless the monitor recovers from `alert`. | + | `{{#is_renotify}}` | Show when the monitor renotifies. | + | `{{^is_renotify}}` | Show unless the monitor renotifies. | + | `{{#is_priority}}` | Show when the monitor matches priority (P1 to P5). | + | `{{^is_priority}}` | Affiche sauf si le monitor correspond à la priorité (P1 à P5). | + + Notification messages include the **message** defined in this section and information about the failing locations. Pre-filled monitor messages are included in the message body section: + + {{< img src="/synthetics/browser_tests/browser_tests_pre-filled.png" alt="Section du test monitor de Synthetic Monitoring, mettant en évidence les messages pré-remplis du monitor." style="width:100%;" >}} + + For example, to create a monitor that iterates over steps extracting variables for browser tests, add the following to the monitor message: + + ```text + {{! Liste des variables extraites de toutes les étapes réussies }} + # Variables extraites + {{#each synthetics.attributes.result.steps}} + {{#if extractedValue}} + * **Nom** : ` + **Valeur :** {{#if extractedValue.secure}}*Obfusqué (valeur cachée)*{{else}}`{{{extractedValue.value}}}`{{/if}} + {{/if}} + {{/each}} + ``` + +2. Choose team members and services to notify. +3. Specify a renotification frequency. To prevent renotification on failing tests, check the option `Stop re-notifying on X occurrences`. +4. Click **Save & Start Recording** to save your test configuration and record your browser steps. + +For more information, see [Synthetic Monitoring notifications][9]. + +## Record your steps + +Tests can be only recorded from [Google Chrome][10] and [Microsoft Edge][18]. To record your test, download the [Datadog Record Test extension][11]. + +You can switch tabs in a browser test recording to perform an action on your application (such as clicking on a link that opens another tab) and add another test step. Your browser test must interact with the page first (through a click) before it can perform an [assertion][12]. By recording all of the test steps, the browser test can switch tabs automatically at test execution. + +{{< img src="synthetics/browser_tests/browser_check_record_test.png" alt="Enregistrement de test de navigateur" width="90%" >}} + +1. Optionnellement, sélectionnez **Ouvrir dans une fenêtre pop-up** en haut à droite de la page pour ouvrir l'enregistrement de votre test dans une fenêtre pop-up distincte. Ceci est utile si votre application ne prend pas en charge l'ouverture dans un iframe ou si vous souhaitez éviter des problèmes de dimensionnement lors de l'enregistrement. Vous pouvez également ouvrir la fenêtre pop-up en **mode Incognito** pour commencer à enregistrer votre test à partir d'un navigateur frais, exempt de sessions déjà connectées, de cookies de votre navigateur existant, et plus encore. +2. Optionnellement, activez Datadog pour collecter automatiquement les données RUM lors de l'exécution des enregistrements d'étapes depuis votre test de navigateur. Pour plus d'informations, voir [Explorer RUM & Relecture de session][13]. +3. Cliquez sur **Démarrer l'enregistrement** pour commencer l'enregistrement de votre test de navigateur. +4. Lorsque vous cliquez sur votre application en suivant le parcours utilisateur que vous souhaitez surveiller, vos actions sont automatiquement enregistrées et utilisées pour créer des [étapes][14] dans votre scénario de test de navigateur à gauche. +5. En plus des étapes automatiquement enregistrées, vous pouvez également utiliser les [étapes][14] disponibles dans le coin supérieur gauche pour enrichir votre scénario : + {{< img src="synthetics/browser_tests/manual_steps.png" alt="Étapes de test de navigateur" style="width:80%;">}} + + Datadog recommande de terminer votre test de navigateur par une **[assertion][12]** pour confirmer que le parcours exécuté par le test de navigateur a abouti à l'état attendu. +6. Une fois que vous avez terminé votre scénario, cliquez sur **Enregistrer et lancer le test**. + +## Rejouez vos étapes {#replay-your-steps} + +Pour relancer une ou plusieurs étapes de votre test de navigateur directement dans votre navigateur, téléchargez l'[extension Datadog Record Test][11]. + +La fonctionnalité de Relecture des Étapes vous aide à déboguer des étapes individuelles, à atteindre le bon état d'application lors de l'édition d'un test de navigateur, et à confirmer des flux entiers avant d'enregistrer votre test. + +**Remarque** : La Relecture des Étapes peut se comporter différemment d'un test complet de Surveillance Synthétique en raison de conditions différentes (version du navigateur, réseau, agent utilisateur, état de connexion) ou de limitations. + +### Comment utiliser la relecture des étapes {#how-to-use-step-replay} + +Vous pouvez rejouer les étapes de trois manières : + +1. Relecture d'une seule étape : Réexécutez une seule étape : +{{< img src="synthetics/browser_tests/recording__replay--replay-one-step_1.mp4" alt="Relecture d'une seule étape" video="true" height="400px" >}} +

Survolez l'étape et cliquez sur le bouton de lecture pour rejouer uniquement cette étape.

+ +2. Rejouer toutes les étapes : Exécutez l'ensemble de la séquence d'étapes telle que définie dans l'enregistreur : +{{< img src="synthetics/browser_tests/recording__replay--replay-all-steps_1.mp4" alt="Rejouer toutes les étapes" video="true" height="400px" >}} +

Cliquez sur le bouton de rejouer toutes les étapes (⏩︎) en haut de la liste des étapes pour rejouer toutes les étapes.

+ +3. Rejouer les étapes sélectionnées : Exécutez un sous-ensemble d'étapes que vous sélectionnez dans la liste des étapes : +{{< img src="synthetics/browser_tests/recording__replay--replay-selected-steps_1.mp4" alt="Rejouer les étapes sélectionnées" video="true">}} +

Sélectionnez les étapes que vous souhaitez rejouer, puis cliquez sur le bouton de rejouer les étapes sélectionnées (⏩︎) en haut de la liste des étapes.

- Les messages de notification comprennent le **message** défini dans cette section ainsi que des informations sur les emplacements présentant un échec. +### Prise en charge de la fonctionnalité de relecture d'étape {#step-replay-feature-support} -2. Choisissez les services et les membres de votre équipe auxquels les notifications doivent être envoyées. -3. Indiquez une fréquence de renvoi de notifications. Pour éviter de renvoyer des notifications pour les tests qui ont échoué, choisissez l'option `Never renotify if the monitor has not been resolved`. -4. Cliquez sur **Save Details and Record Test** pour valider votre configuration de test et enregistrer vos étapes de test Browser. +Le tableau suivant résume les types d'étapes de test de navigateur pris en charge par la relecture d'étape : -Pour en savoir plus, consultez la section [Utiliser les monitors de test Synthetic][7]. +| Type d'étape | Pris en charge par le replay d'étape | Remarques | +|--------------------------|:------------------------:|-------| +| Extraire la variable | {{< X >}} | | +| Aller à l'URL | {{< X >}} | | +| Actualiser | {{< X >}} | | +| Faire défiler | {{< X >}} | | +| Sélectionner une option | {{< X >}} | | +| Attendre | {{< X >}} | | +| Exécuter le test API | {{< X >}} | | +| Vérifier l'état de la case à cocher | {{< X >}} | | +| Vérifier l'URL actuelle | {{< X >}} | | +| Vérifier l'attribut de l'élément | {{< X >}} | | +| Vérifier le contenu de l'élément | {{< X >}} | | +| Vérifier la présence de l'élément | {{< X >}} | | +| Vérifier le téléchargement de fichier | {{< X >}} | | +| Vérifier que la page contient | {{< X >}} | | +| Vérifier que la page ne contient pas | {{< X >}} | | +| Vérifier depuis JavaScript | {{< X >}} | | +| Extraire depuis JavaScript | {{< X >}} | | +| Appuyer sur la touche | {{< X >}} | | +| Taper du texte | {{< X >}} | | +| Cliquer | {{< X >}}* | *Click steps are supported, but may behave differently than in a full Synthetic Monitoring test run. | +| Survoler | {{< X >}}* | *Hover steps are supported, but may behave differently than in a full Synthetic Monitoring test run. | -## Enregistrer les étapes de votre test +### Types d'étapes non pris en charge par la relecture d'étape {#step-types-not-supported-by-step-replay} -Les tests peuvent uniquement être enregistrés à partir de [Google Chrome][8]. Pour enregistrer votre test, téléchargez l'[extension d'enregistrement de test Datadog pour Google Chrome][9]. +| Type d'étape | Pris en charge par la relecture d'étape | +|--------------------------|:------------------------:| +| Vérifier l'email | Pas encore pris en charge | +| Vérifier les requêtes | Pas encore pris en charge | +| Extraire du corps de l'email | Pas encore pris en charge | +| Aller au lien de l'email | Pas encore pris en charge | +| Télécharger des fichiers | Pas encore pris en charge | -Vous pouvez passer à un autre onglet lors de l'enregistrement d'un test Browser afin d'effectuer une action sur votre application (comme cliquer sur un lien qui s'ouvre dans un nouvel onglet) et ajouter une autre étape de test. Votre test Browser doit d'abord interagir avec la page (via un clic) avant de pouvoir effectuer une [assertion][10]. En enregistrant toutes les étapes de test, vous pouvez faire en sorte que le test Browser change d'onglet automatiquement lors de l'exécution du test. +### Autorisation du débogueur {#debugger-permission} -{{< img src="synthetics/browser_tests/browser_check_record_test.png" alt="Enregistrer le test Browser" width="90%" >}} +Pour être aussi proche que possible d'un test complet de surveillance synthétique, certaines étapes comme les étapes basées sur JavaScript ou les simulations de frappes nécessitent l'autorisation du débogueur pour être répétées. -1. Vous pouvez sélectionner **Open in a pop-up** en haut à droite de la page pour ouvrir l'enregistrement de votre test dans une fenêtre contextuelle séparée. Cette option est utile si votre application ne peut pas être ouverte dans un iframe ou si vous voulez éviter les problèmes liés à la taille de la fenêtre lors de l'enregistrement. Il est également possible d'ouvrir la fenêtre contextuelle en **navigation privée** pour commencer à enregistrer votre test dans un nouveau navigateur sur lequel aucun identifiant, aucun cookie ni aucune autre information ne sont enregistrés. -2. Vous avez également la possibilité d'activer la collecte automatique de données RUM lors de l'enregistrement des étapes de votre test Browser. Pour en savoir plus, consultez la documentation relative à [RUM et à Session Replay][11]. -3. Cliquez sur **Start Recording** pour commencer l'enregistrement de votre test Browser. -4. Lorsque vous cliquez dans votre application pour reproduire le parcours utilisateur que vous souhaitez surveiller, vos actions sont automatiquement enregistrées et utilisées pour créer des [étapes][12] dans le scénario de votre test Browser sur la gauche. -5. Outre les étapes enregistrées automatiquement, vous pouvez également utiliser les [étapes][12] disponibles en haut à gauche pour enrichir votre scénario : - {{< img src="synthetics/browser_tests/manual_steps.png" alt="Étapes du test Browser" style="width:80%;">}} +La première fois que l'extension est mise à jour vers une version nécessitant l'autorisation du débogueur, une demande d'autorisation apparaît et l'extension est désactivée jusqu'à ce que vous l'approuviez : +{{< img src="synthetics/browser_tests/recording__replay--accepting-permission_2.mp4" alt="Accepter l'autorisation du débogueur" video="true" height="400px" >}} +

Cliquez sur les trois points {{< img src="icons/kebab.png" inline="true" style="width:14px;">}} du menu pour accepter l'autorisation.

- Datadog vous recommande de faire en sorte que votre test Browser se termine par une **[assertion][10]** confirmant la bonne exécution du parcours du test. -6. Une fois votre scénario terminé, cliquez sur **Save and Launch Test**. +## Autorisations {#permissions} -## Autorisations +Par défaut, seuls les utilisateurs ayant les rôles [Administrateur Datadog et Standard Datadog][15] peuvent créer, modifier et supprimer des tests de navigateur synthétiques. Pour obtenir l'accès à la création, à la modification et à la suppression des tests de navigateur synthétiques, mettez à niveau votre utilisateur vers l'un de ces deux [rôles par défaut][15]. -Par défaut, seuls les utilisateurs disposant des [rôles Admin et Standard Datadog][13] peuvent créer, modifier et supprimer des tests Browser Synthetic. Pour que votre utilisateur puisse effectuer ces opérations, vous devez donc lui accorder l'un de ces deux [rôles par défaut][13]. +Si vous utilisez la [fonctionnalité de rôle personnalisé][15], ajoutez votre utilisateur à tout rôle personnalisé qui inclut les permissions `synthetics_read` et `synthetics_write`. -Si vous utilisez des [rôles personnalisés][13], ajoutez votre utilisateur à un rôle personnalisé disposant des autorisations `synthetics_read` et `synthetics_write`. +### Restreindre l'accès {#restrict-access} -### Restreindre l'accès +Utilisez le [contrôle d'accès granulaire][17] pour limiter qui a accès à votre test en fonction des rôles, des équipes ou des utilisateurs individuels : -Les clients qui ont configuré des [rôles personnalisés][14] sur leur compte peuvent utiliser la fonctionnalité de restriction d'accès. +1. Ouvrez la section des permissions du formulaire. +2. Cliquez sur **Modifier l'accès**. + {{< img src="synthetics/settings/grace_2.png" alt="Définissez les permissions pour votre test à partir du formulaire de configuration des emplacements privés" style="width:100%;" >}} +3. Cliquez sur **Restreindre l'accès**. +4. Sélectionnez des équipes, des rôles ou des utilisateurs. +5. Cliquez sur **Ajouter**. +6. Sélectionnez le niveau d'accès que vous souhaitez associer à chacun d'eux. +7. Cliquez sur **Terminé**. -Vous pouvez limiter l'accès d'un test Browser à certains rôles de votre organisation. Lors de la création du test Browser, choisissez les rôles (en plus de votre utilisateur) auxquels vous souhaitez attribuer des autorisations de lecture/écriture pour votre test. +
Vous pouvez voir les résultats d'un emplacement privé même sans accès de visualiseur à cet emplacement privé.
-{{< img src="synthetics/settings/restrict_access.png" alt="Définir des autorisations pour votre test" style="width:70%;" >}} +| Niveau d'accès | Voir la configuration du test | Modifier la configuration du test | Voir les résultats du test | Exécuter le test | Voir l'enregistrement | Modifier l'enregistrement | +| ------------ | ----------------------- | ----------------------- | ------------------| --------- | -------------- | -------------- | +| Pas d'accès | | | | | | | +| Visualiseur | {{< X >}} | | {{< X >}} | | | | +| Éditeur | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: /fr/synthetics/private_locations/ -[2]: /fr/help/ -[3]: /fr/synthetics/settings/#global-variables -[4]: /fr/synthetics/browser_tests/actions#variables -[5]: /fr/api/latest/synthetics/#create-or-clone-a-test -[6]: http://daringfireball.net/projects/markdown/syntax -[7]: /fr/synthetics/guide/synthetic-test-monitors -[8]: https://www.google.com/chrome -[9]: https://chrome.google.com/webstore/detail/datadog-test-recorder/kkbncfpddhdmkfmalecgnphegacgejoa -[10]: /fr/synthetics/browser_tests/actions/#assertion -[11]: /fr/synthetics/guide/explore-rum-through-synthetics/ -[12]: /fr/synthetics/browser_tests/actions/ -[13]: /fr/account_management/rbac#custom-roles -[14]: /fr/account_management/rbac/#create-a-custom-role -[15]: /fr/continuous_testing/testing_tunnel +[2]: /fr/continuous_testing/environments/proxy_firewall_vpn +[3]: /fr/help/ +[4]: /fr/synthetics/settings/#global-variables +[5]: /fr/synthetics/browser_tests/test_steps#variables +[6]: /fr/api/latest/synthetics/#create-or-clone-a-test +[7]: http://daringfireball.net/projects/markdown/syntax +[8]: /fr/monitors/notify/variables/?tab=is_alert#conditional-variables +[9]: /fr/synthetics/notifications/ +[10]: https://www.google.com/chrome +[11]: https://chrome.google.com/webstore/detail/datadog-test-recorder/kkbncfpddhdmkfmalecgnphegacgejoa +[12]: /fr/synthetics/browser_tests/test_steps/#assertion +[13]: /fr/synthetics/guide/explore-rum-through-synthetics/ +[14]: /fr/synthetics/browser_tests/test_steps/ +[15]: /fr/account_management/rbac#custom-roles +[16]: /fr/account_management/rbac/#create-a-custom-role +[17]: /fr/account_management/rbac/granular_access +[18]: https://www.microsoft.com/edge +[19]: /fr/synthetics/guide/how-synthetics-monitors-trigger-alerts/ \ No newline at end of file diff --git a/content/fr/synthetics/platform/private_locations/_index.md b/content/fr/synthetics/platform/private_locations/_index.md new file mode 100644 index 00000000000..48b90d6dce1 --- /dev/null +++ b/content/fr/synthetics/platform/private_locations/_index.md @@ -0,0 +1,1020 @@ +--- +aliases: +- /fr/synthetics/private_locations +description: Exécuter des tests API et Browser Synthetic à partir d'emplacements privés +further_reading: +- link: https://www.datadoghq.com/blog/synthetic-private-location-monitoring-datadog/ + tag: Blog + text: Surveiller vos emplacements privés Synthetic avec Datadog +- link: /getting_started/synthetics/private_location + tag: Documentation + text: Débuter avec les emplacements privés +- link: /synthetics/private_locations/monitoring + tag: Documentation + text: Surveiller vos emplacements privés +- link: /synthetics/private_locations/dimensioning + tag: Documentation + text: Dimensionner vos emplacements privés +- link: https://www.datadoghq.com/architecture/protect-sensitive-data-with-synthetics-private-location-runners/ + tag: Centre d'Architecture + text: Protégez les données sensibles avec les Synthetics Private Location Runners. +- link: https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/synthetics_private_location + tag: Site externe + text: Créer et gérer des emplacements privés Synthetic avec Terraform +title: Exécuter des tests Synthetic à partir d'emplacements privés +--- +## Aperçu {#overview} + +Les emplacements privés vous permettent de **surveiller les applications internes ou tous les points de terminaison privés** qui ne sont pas accessibles depuis Internet public. Ils peuvent également être utilisés pour : + +* **Créer des emplacements Synthetics personnalisés** dans des zones critiques pour votre entreprise. +* **Vérifier la performance des applications dans votre environnement CI interne** avant de déployer de nouvelles fonctionnalités en production avec [Tests Continus et CI/CD][28]. +* **Comparer la performance des applications** à la fois à l'intérieur et à l'extérieur de votre réseau interne. +* **[Authentifier les tests de Synthetic Monitoring en utilisant Kerberos SSO][33]** pour les sites et API Windows internes. + +{{< img src="synthetics/private_locations/private_locations_worker_1.png" alt="Diagramme d'architecture du fonctionnement d'un emplacement privé dans Synthetic Monitoring" style="width:100%;">}} + +Les emplacements privés se présentent sous forme de conteneurs Docker ou de services Windows que vous pouvez installer à l'intérieur de votre réseau privé. Après avoir créé et installé un emplacement privé, vous pouvez lui attribuer des [tests Synthetic][29], comme avec tout emplacement géré. + +Votre travailleur d'emplacement privé récupère vos configurations de test depuis les serveurs de Datadog en utilisant HTTPS, exécute le test selon un calendrier ou à la demande, et renvoie les résultats du test aux serveurs de Datadog. Vous pouvez ensuite visualiser les résultats de vos tests d'emplacements privés de manière complètement identique à la façon dont vous visualiseriez les tests exécutés depuis des emplacements gérés : + +{{< img src="synthetics/private_locations/test_results_pl.png" alt="Attribuer un test Synthetic à un emplacement privé" style="width:100%;">}} + +## Prérequis {#prerequisites} + +Pour utiliser les emplacements privés pour des [tests continus][23], vous devez utiliser la version 1.27.0 ou une version ultérieure. + +{{< tabs >}} +{{% tab "Docker" %}} + +Les emplacements privés sont des conteneurs Docker que vous pouvez installer n'importe où à l'intérieur de votre réseau privé. Vous pouvez accéder à l'[image du travailleur d'emplacement privé][101] sur Docker hub. Il peut fonctionner sur un système d'exploitation basé sur Linux ou Windows si le [moteur Docker][102] est disponible sur votre hôte et peut fonctionner en mode conteneurs Linux.**\*** + +{{< site-region region="gov,gov2" >}} + +Si vous avez besoin d'un support FIPS, utilisez l'[image conforme FIPS][26] sur Docker hub. + +[26]: https://hub.docker.com/r/datadog/synthetics-private-location-worker-fips + +{{< /site-region >}} + +**\*** **L'utilisation et le fonctionnement de ce logiciel sont régis par le contrat de licence utilisateur final disponible [ici][103].** + +[101]: https://hub.docker.com/r/datadog/synthetics-private-location-worker +[102]: https://docs.docker.com/engine/install/ +[103]: https://www.datadoghq.com/legal/eula/ + +{{% /tab %}} +{{% tab "Helm" %}} + +Les emplacements privés sont des déploiements Kubernetes que vous pouvez installer sur votre cluster Kubernetes avec Helm. Le [helm chart][101] peut fonctionner sur Kubernetes basé sur Linux. + +**Remarque** : L'utilisation et le fonctionnement de ce logiciel sont régis par le [contrat de licence utilisateur final][103]. + +[101]: https://github.com/DataDog/helm-charts/tree/main/charts/synthetics-private-location +[103]: https://www.datadoghq.com/legal/eula/ + +{{% /tab %}} +{{% tab "Windows" %}} + +Les emplacements privés sont des services Windows que vous pouvez installer n'importe où dans votre réseau privé en utilisant un [fichier MSI][101]. Exécutez ce fichier depuis la machine virtuelle ou physique sur laquelle vous souhaitez installer l'emplacement privé.**\*** + +**\*** **L'utilisation et le fonctionnement de ce logiciel sont régis par le contrat de licence utilisateur final disponible [ici][102].** + +Les exigences de cette machine sont listées dans le tableau ci-dessous. Le scripting PowerShell doit être activé sur la machine où vous installez le travailleur d'emplacement privé. + +| Système | Exigences | +|---|---| +| OS | Windows Server 2022, Windows Server 2019, Windows Server 2016 ou Windows 10. | +| RAM | 4 Go minimum. 8 Go recommandé. | +| CPU | Processeur Intel ou AMD avec support 64 bits. Processeur recommandé de 2,8 GHz ou plus rapide. | + +**Remarque** : Pour que les emplacements privés Windows exécutent des tests de navigateur, les navigateurs (par exemple, Chrome, Edge ou Firefox) doivent être installés sur l'ordinateur Windows. + +Vous devez installer la version 4.7.2 ou ultérieure de .NET sur votre ordinateur avant de pouvoir utiliser le programme dʼinstallation de MSI. + +**Activer le mode cryptographique FIPS 140-2** :
+Activer les modules cryptographiques conformes à FIPS pour des communications sécurisées. L'hôte Windows doit fonctionner en mode FIPS pour utiliser cette option. Disponible dans l'emplacement privé `v1.63.0` et supérieur. + +{{< img src="synthetics/private_locations/synthetics_pl_windows_fips.png" alt="Assistant de localisation privée Synthetics, installateur MSI. Le paramètre de mode cryptographique FIPS 140-2 est affiché." style="width:80%;" >}} + +[101]: https://ddsynthetics-windows.s3.amazonaws.com/datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi +[102]: https://www.datadoghq.com/legal/eula/ + +{{% /tab %}} +{{< /tabs >}} + +### Points de terminaison des emplacements privés Datadog {#datadog-private-locations-endpoints} + +Pour extraire les configurations de test et renvoyer les résultats de test, le worker d'emplacement privé doit avoir accès aux endpoints de l'API Datadog suivants. + +| Port | Point de terminaison | Description | +| ---- | -------------------------------------- | ------------------------------------------------------------- | +| 443 | {{< region-param key=synthetics_intake_endpoint code="true" >}} | Utilisé par l'emplacement privé pour récupérer les configurations de test et envoyer les résultats de test à Datadog en utilisant un protocole interne basé sur le [protocole de signature AWS Version 4][1].{{< site-region region="gov,gov2" >}} Pour les versions `1.32.0` et ultérieures, les demandes provenant de **Emplacements Privés Linux conteneurisés** sont conformes aux normes fédérales de traitement de l'information (FIPS). Pour **Emplacements Privés Windows**, le chiffrement conforme aux FIPS est pris en charge dans la version `1.63.0` et ultérieure.{{< /site-region >}} | + +[1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html + +{{< site-region region="eu" >}} + +**Remarque** : Ces domaines pointent vers un ensemble d'adresses IP statiques. Ces adresses peuvent être trouvées sur https://ip-ranges.datadoghq.eu. + +{{< /site-region >}} + +## Configurez votre emplacement privé {#set-up-your-private-location} + +Seuls les utilisateurs disposant du rôle **Synthetics Private Locations Write** peuvent créer des emplacements privés. Pour plus d'informations, voir [Permissions](#permissions). + +### Créez votre emplacement privé {#create-your-private-location} + +Accédez à [**Surveillance Synthétique** > **Paramètres** > **Emplacements Privés**][22] et cliquez sur **Ajouter un Emplacement Privé**. + +{{< img src="synthetics/private_locations/synthetics_pl_add_1.png" alt="Créez un emplacement privé" style="width:90%;">}} + +Remplissez les détails de votre emplacement privé : + +1. Spécifiez le **Nom** et la **Description** de votre emplacement privé. +2. Ajoutez tous les **Tags** que vous souhaitez associer à votre emplacement privé. +3. Choisissez l'une de vos **Clés API** existantes. Sélectionner une clé API permet la communication entre votre emplacement privé et Datadog. Si vous n'avez pas de clé API existante, cliquez sur **Générer une clé API** pour en créer une sur la page dédiée. Seuls les champs `Name` et `API key` sont obligatoires. +4. Définissez l'accès pour votre emplacement privé et cliquez sur **Enregistrer l'emplacement et générer le fichier de configuration**. Datadog crée votre emplacement privé et génère le fichier de configuration associé. + +{{< img src="synthetics/private_locations/pl_creation_1.png" alt="Ajoutez des détails à l'emplacement privé" style="width:85%;">}} + +### Configurer votre emplacement privé {#configure-your-private-location} + +Configurez votre emplacement privé en personnalisant le fichier de configuration généré. Lorsque vous ajoutez des paramètres de configuration initiaux tels que [proxies](#proxy-configuration) et [IP réservées bloquées](#blocking-reserved-ips) dans **Étape 3**, votre fichier de configuration généré se met à jour automatiquement dans **Étape 4**. + +Vous pouvez accéder à des options avancées pour ajuster la configuration en fonction de la configuration de votre réseau interne. Pour plus d'informations sur la commande `help`, voir [Configuration][5]. + +#### Configuration du proxy {#proxy-configuration} + +Si le trafic entre votre emplacement privé et Datadog doit passer par un proxy, spécifiez votre URL de proxy comme `http://:@:` pour ajouter le paramètre `proxyDatadog` associé à votre fichier de configuration généré. + +{{Ajoutez un proxy à votre fichier de configuration d'emplacement privé}} + +#### Blocage des IP réservées {#blocking-reserved-ips} + +Par défaut, les utilisateurs Synthétiques peuvent créer des tests Synthétiques sur des points de terminaison utilisant n'importe quelle IP. Si vous souhaitez empêcher les utilisateurs de créer des tests sur des IP internes sensibles de votre réseau, activez le bouton **Bloquer les IP réservées** pour bloquer un ensemble par défaut de plages d'IP réservées ([registre d'adresses IPv4][6] et [registre d'adresses IPv6][7]) et définissez le paramètre `enableDefaultBlockedIpRanges` associé à `true` dans votre fichier de configuration généré. + +Si certains des points de terminaison que vous souhaitez tester se trouvent dans une ou plusieurs des plages d'IP réservées bloquées, vous pouvez ajouter leurs IP et/ou CIDR aux listes autorisées pour ajouter les paramètres `allowedIPRanges` associés à votre fichier de configuration généré. + +{{< img src="synthetics/private_locations/pl_reserved_ips_1.png" alt="Configurer les IP réservées" style="width:90%;">}} + +### Voir votre fichier de configuration {#view-your-configuration-file} + +Après avoir ajouté les options appropriées à votre fichier de configuration d'emplacement privé, vous pouvez copier et coller ce fichier dans votre répertoire de travail. Le fichier de configuration contient des secrets pour l'authentification d'emplacement privé, le déchiffrement de la configuration de test et le chiffrement des résultats de test. + +{{< img src="synthetics/private_locations/pl_view_file_1.png" alt="Configurer les IP réservées" style="width:90%;">}} + +Datadog ne stocke pas vos secrets, donc stockez-les localement avant de cliquer sur **Voir les instructions d'installation**. + +**Remarque :** Vous devez être en mesure de référencer à nouveau ces secrets si vous décidez d'ajouter plus de travailleurs ou d'installer des travailleurs sur un autre hôte. + +### Installez votre emplacement privé {#install-your-private-location} + +Vous pouvez utiliser les variables d'environnement `DATADOG_API_KEY`, `DATADOG_ACCESS_KEY`, `DATADOG_SECRET_ACCESS_KEY`, `DATADOG_PUBLIC_KEY_PEM` et `DATADOG_PRIVATE_KEY` dans votre définition de tâche. + +Lancez votre emplacement privé sur : + +{{< tabs >}} +{{% tab "Docker" %}} + +Exécutez cette commande pour démarrer votre travailleur d'emplacement privé en montant votre fichier de configuration dans le conteneur. Assurez-vous que votre fichier `.json` est dans `/etc/docker`, et non dans le dossier racine : + +```shell +docker run -d --restart unless-stopped -v $PWD/.json:/etc/datadog/synthetics-check-runner.json datadog/synthetics-private-location-worker:latest +``` + +**Remarque :** Si vous avez bloqué des IP réservées, ajoutez les `NET_ADMIN` [capacités Linux][26] à votre conteneur d'emplacement privé. + +Cette commande démarre un conteneur Docker et prépare votre emplacement privé à exécuter des tests. **Datadog recommande d'exécuter le conteneur en mode détaché avec une politique de redémarrage appropriée.** + +[26]: https://docs.docker.com/engine/containers/run/#runtime-privilege-and-linux-capabilities + +{{< /tab >}} + +{{% tab "Docker Compose" %}} + +1. Créez un fichier `docker-compose.yml` avec : + + ```yaml + version: "3" + services: + synthetics-private-location-worker: + image: datadog/synthetics-private-location-worker:latest + volumes: + - PATH_TO_PRIVATE_LOCATION_CONFIG_FILE:/etc/datadog/synthetics-check-runner.json + ``` + **Note:** If you have blocked reserved IPs, add the `NET_ADMIN` [Linux capabilities][26] to your private location container. + +2. Démarrez votre conteneur avec : + + ```shell + docker-compose -f docker-compose.yml up + ``` +[26]: https://docs.docker.com/engine/containers/run/#runtime-privilege-and-linux-capabilities + +{{< /tab >}} + +{{% tab "Podman" %}} +La configuration de Podman est très similaire à celle de Docker, cependant, vous devez définir `NET_RAW` comme une capacité supplémentaire pour prendre en charge les tests ICMP. + +1. Exécutez `sysctl -w "net.ipv4.ping_group_range = 0 2147483647"` depuis l'hôte où le conteneur s'exécute. +2. Exécutez cette commande pour démarrer votre worker d'emplacement privé en montant votre fichier de configuration dans le conteneur. Assurez-vous que votre `.json` fichier est accessible pour le monter dans le conteneur : + + ```shell + podman run --cap-add=NET_RAW --rm -it -v $PWD/.json:/etc/datadog/synthetics-check-runner.json gcr.io/datadoghq/synthetics-private-location-worker:latest + ``` + + Si vous avez configuré des adresses IP réservées bloquées, ajoutez les `NET_ADMIN` capacités Linux à votre conteneur d'emplacement privé. + +Cette commande démarre un conteneur Podman et prépare votre emplacement privé à exécuter des tests. Datadog recommande d'exécuter le conteneur en mode détaché avec une politique de redémarrage appropriée. +{{< /tab >}} + +{{% tab "Déploiement Kubernetes" %}} + +Pour déployer le worker des emplacements privés de manière sécurisée, configurez et montez une ressource Secret Kubernetes dans le conteneur sous `/etc/datadog/synthetics-check-runner.json`. + +1. Créez un Secret Kubernetes avec le fichier JSON précédemment créé en exécutant ce qui suit : + + ```shell + kubectl create secret generic private-location-worker-config --from-file=.json + ``` + +2. Utilisez des déploiements pour décrire l'état souhaité associé à vos emplacements privés. Créez le `private-location-worker-deployment.yaml` fichier suivant : + + ```yaml + apiVersion: apps/v1 + kind: Deployment + metadata: + name: datadog-private-location-worker + namespace: default + spec: + selector: + matchLabels: + app: private-location + template: + metadata: + name: datadog-private-location-worker + labels: + app: private-location + spec: + containers: + - name: datadog-private-location-worker + image: datadog/synthetics-private-location-worker + volumeMounts: + - mountPath: /etc/datadog/synthetics-check-runner.json + name: worker-config + subPath: + volumes: + - name: worker-config + secret: + secretName: private-location-worker-config + ``` + + **Note:** If you have blocked reserved IPs, add the `NET_ADMIN` [Linux capabilities][26] to your private location container. + +3. Appliquez la configuration : + + ```shell + kubectl apply -f private-location-worker-deployment.yaml + ``` + +Pour OpenShift, exécutez l'emplacement privé avec le `anyuid` SCC. Ceci est requis pour que votre test de navigateur s'exécute. + +[26]: https://docs.docker.com/engine/containers/run/#runtime-privilege-and-linux-capabilities + +{{< /tab >}} + +{{% tab "Helm Chart" %}} + +Vous pouvez définir des variables d'environnement dans vos paramètres de configuration qui pointent vers des secrets que vous avez déjà configurés. Pour créer des variables d'environnement avec des secrets, consultez la [documentation Kubernetes][3]. + +Méthode alternative : + +1. Ajoutez le [Datadog Synthetics Private Location][2] à vos dépôts Helm : + + ```shell + helm repo add datadog https://helm.datadoghq.com + helm repo update + ``` + +2. Installez le chart avec le nom de version `` en utilisant le fichier JSON précédemment créé : + + ```shell + helm install datadog/synthetics-private-location --set-file configFile=.json + ``` + +**Remarque :** Si vous avez bloqué des IP réservées, ajoutez les `NET_ADMIN` [capacités Linux][26] à votre conteneur d'emplacement privé. + +[2]: https://github.com/DataDog/helm-charts/tree/main/charts/synthetics-private-location +[3]: https://kubernetes.io/docs/tasks/inject-data-application/distribute-credentials-secure/#define-container-environment-variables-using-secret-data +[26]: https://docs.docker.com/engine/containers/run/#runtime-privilege-and-linux-capabilities + +{{< /tab >}} + +{{% tab "ECS" %}} + +Créez une nouvelle définition de tâche EC2 qui correspond à ce qui suit. Remplacez chaque paramètre par la valeur correspondante trouvée dans votre fichier de configuration d'emplacement privé généré précédemment : + +```yaml +{ + ... + "containerDefinitions": [ + { + "command": [ + "--site='...'", + "--locationID='...'", + "--accessKey='...'", + "--datadogApiKey='...'", + "--secretAccessKey='...'", + "--privateKey='-----BEGIN RSA PRIVATE KEY-----XXXXXXXX-----END RSA PRIVATE KEY-----'", + "--publicKey.pem='-----BEGIN PUBLIC KEY-----XXXXXXXX-----END PUBLIC KEY-----'", + "--publicKey.fingerprint='...'" + ], + ... + "image": "datadog/synthetics-private-location-worker:latest", + ... + } + ], + ... + "compatibilities": [ + "EC2" + ], + ... +} +``` +**Remarques :** + +- Si vous avez bloqué des IP réservées, configurez un [linuxParameters][31] pour accorder `NET_ADMIN` capacités à vos conteneurs d'emplacement privé. +- Si vous utilisez les variables d'environnement `DATADOG_API_KEY`, `DATADOG_ACCESS_KEY`, `DATADOG_SECRET_ACCESS_KEY`, `DATADOG_PUBLIC_KEY_PEM` et `DATADOG_PRIVATE_KEY`, vous n'avez pas besoin de les inclure dans la section `"command": [ ]`. + +[31]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LinuxParameters.html + +{{< /tab >}} + +{{% tab "Fargate" %}} + +Créez une nouvelle définition de tâche Fargate qui correspond à ce qui suit. Remplacez chaque paramètre par la valeur correspondante trouvée dans votre fichier de configuration d'emplacement privé généré précédemment : + +```yaml +{ + ... + "containerDefinitions": [ + { + "command": [ + "--site='...'", + "--locationID='...'", + "--accessKey='...'", + "--datadogApiKey='...'", + "--secretAccessKey='...'", + "--privateKey='-----BEGIN RSA PRIVATE KEY-----XXXXXXXX-----END RSA PRIVATE KEY-----'", + "--publicKey.pem='-----BEGIN PUBLIC KEY-----XXXXXXXX-----END PUBLIC KEY-----'", + "--publicKey.fingerprint='...'" + ], + ... + "image": "datadog/synthetics-private-location-worker:latest", + ... + } + ], + ... + "compatibilities": [ + "EC2", + "FARGATE" + ], + ... +} +``` + +**Remarque :** Étant donné que l'option de pare-feu de localisation privée n'est pas prise en charge sur AWS Fargate, le `enableDefaultBlockedIpRanges` paramètre ne peut pas être défini sur `true`. + +{{< /tab >}} + +{{% tab "Fargate avec AWS Secrets Manager" %}} + +Créez un secret dans AWS Secrets Manager pour stocker tout ou partie de la configuration de localisation privée générée précédemment. Gardez à l'esprit que le `publicKey` ne peut pas être conservé tel quel dans le fichier de configuration. Exemple : + +```json +{ + "datadogApiKey": "...", + "id": "...", + "site": "...", + "accessKey": "...", + "secretAccessKey": "...", + "privateKey": "...", + "pem": "...", + "fingerprint": "..." +} +``` + +Des autorisations sont nécessaires pour permettre à la définition de tâche et à l'instance AWS Fargate de lire à partir du Secrets Manager. Voir [Specifying sensitive data using Secrets Manager secrets in Amazon ECS][25] pour plus d'informations. + +Créez une définition de tâche Fargate qui correspond à l'exemple suivant, en remplaçant les valeurs de la liste des secrets par l'ARN du secret que vous avez créé à l'étape précédente. Par exemple : `arn:aws:secretsmanager:::secret::::`. + +Si vous n'avez pas enregistré toute la configuration dans AWS Secrets Manager, vous pouvez toujours passer la valeur en tant qu'arguments de chaîne codés en dur. + +```yaml +{ + ... + "containerDefinitions": [ + { + "entryPoint": [ + "/bin/bash", + "-c" + ], + "command": [ + "/home/dog/scripts/entrypoint.sh --locationID=$locationID --publicKey.fingerprint=$fingerprint" + ], + "secrets": [ + { + "name": "DATADOG_ACCESS_KEY", + "valueFrom": "..." + }, + { + "name": "DATADOG_API_KEY", + "valueFrom": "...", + }, + { + "name": "fingerprint", + "valueFrom": "...", + }, + { + "name": "locationID", + "valueFrom": "...", + }, + { + "name": "DATADOG_PUBLIC_KEY_PEM", + "valueFrom": "...", + }, + { + "name": "DATADOG_PRIVATE_KEY", + "valueFrom": "...", + }, + { + "name": "DATADOG_SECRET_ACCESS_KEY", + "valueFrom": "...", + }, + { + "name": "DATADOG_SITE", + "valueFrom": "...", + } + ], + ... + "image": "datadog/synthetics-private-location-worker:latest", + ... + } + ], + ... + "compatibilities": [ + "EC2", + "FARGATE" + ], + ... +} +``` + +**Remarque :** Étant donné que l'option de pare-feu de localisation privée n'est pas prise en charge sur AWS Fargate, le `enableDefaultBlockedIpRanges` paramètre ne peut pas être défini sur `true`. + +[25]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-tutorial.html + +{{< /tab >}} + +{{% tab "EKS" %}} + +Étant donné que Datadog s'intègre déjà à Kubernetes et AWS, la plateforme est prête pour la surveillance de EKS. + +1. Créez un secret Kubernetes avec le fichier JSON précédemment créé en exécutant ce qui suit : + + ```shell + kubectl create secret generic private-location-worker-config --from-file=.json + ``` + +2. Utilisez des déploiements pour décrire l'état souhaité associé à vos emplacements privés. Créez le `private-location-worker-deployment.yaml` fichier suivant : + + ```yaml + apiVersion: apps/v1 + kind: Deployment + metadata: + name: datadog-private-location-worker + namespace: default + spec: + selector: + matchLabels: + app: private-location + template: + metadata: + name: datadog-private-location-worker + labels: + app: private-location + spec: + containers: + - name: datadog-private-location-worker + image: datadog/synthetics-private-location-worker + volumeMounts: + - mountPath: /etc/datadog/synthetics-check-runner.json + name: worker-config + subPath: + volumes: + - name: worker-config + configMap: + name: private-location-worker-config + ``` + + **Note:** If you have blocked reserved IPs, configure a security context to grant `NET_ADMIN` [Linux capabilities][26] to your private location containers. + +3. Appliquez la configuration : + + ```shell + kubectl apply -f private-location-worker-deployment.yaml + ``` + +[26]: https://docs.docker.com/engine/containers/run/#runtime-privilege-and-linux-capabilities + +{{< /tab >}} + +{{% tab "Windows via GUI" %}} + +1. Téléchargez le fichier [`datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi`][101] et exécutez ce fichier depuis la machine sur laquelle vous souhaitez installer la localisation privée. +1. Cliquez sur **Suivant** sur la page d'accueil, lisez l'EULA et acceptez les termes et conditions. Cliquez sur **Suivant**. +1. Modifiez l'emplacement où l'application sera installée, ou laissez les paramètres par défaut. Cliquez sur **Suivant**. +1. Pour configurer votre localisation privée Windows, vous pouvez soit : + - Coller et entrer une configuration JSON pour votre Datadog Synthetics Private Location Worker. Ce fichier est généré par Datadog lorsque vous [créez une localisation privée][102]. + - Parcourez ou saisissez un chemin de fichier vers un fichier contenant une configuration JSON pour votre Datadog Synthetics Private Location Worker. + - Vous pouvez laisser ce champ vide et exécuter `C:\\Program Files\Datadog-Synthetics\Synthetics\synthetics-pl-worker.exe --config=` dans l'invite de commande Windows une fois l'installation terminée. + + {{< img src="synthetics/private_locations/configuration_selector_paste.png" alt="Assistant Datadog Synthetics Private Location Worker, installateur MSI. L'option 'Coller dans une configuration JSON' est sélectionnée. Un champ de texte pour cette configuration JSON est affiché." style="width:80%;" >}} + +1. Vous pouvez appliquer les options de configuration suivantes : + + {{< img src="synthetics/private_locations/synthetics_pl_windows_fips.png" alt="Assistant Datadog Synthetics Private Location Worker, installateur MSI. Le paramètre de mode cryptographique FIPS 140-2 est affiché." style="width:80%;" >}} + + Appliquer les règles du pare-feu nécessitées par ce programme au pare-feu Windows + : Autorisez le programme dʼinstallation à appliquer les règles du pare-feu lors de lʼinstallation et à les supprimer lors de la désinstallation. + + Appliquer des règles pour bloquer les IP réservées dans le pare-feu Windows + : Configurez des règles pour bloquer Chrome, Firefox et Edge (si installés) et ajoutez des règles pour bloquer des plages dʼadresses IP réservées sortantes dans le pare-feu Windows. + + Activer la journalisation de fichier + : Autorisez le worker dʼemplacement privé Synthetics à logguer des fichiers dans le répertoire dʼinstallation. + + Jours de rotation des logs + : indique le nombre de jours pendant lesquels les logs sont conservés avant leur suppression du système local. + + Verbosité des logs + : indique la verbosité de la console et du logging de fichiers pour le worker de lʼemplacement privé Synthetics. + + Activer le mode cryptographique FIPS 140-2 + : Activer les modules cryptographiques conformes à FIPS pour des communications sécurisées. L'hôte Windows doit fonctionner en mode FIPS Windows pour utiliser cette option. Disponible dans la version 1.63.0 de Private Location et supérieure. + +1. Cliquez sur **Suivant** et **Installer** pour commencer le processus d'installation. + +Une fois le processus terminé, cliquez sur **Terminer** sur la page de fin d'installation. + +
Si vous avez saisi votre configuration JSON, le service Windows commence à s'exécuter en utilisant cette configuration. Si vous n'avez pas saisi votre configuration, exécutez C:\\Program Files\Datadog-Synthetics\Synthetics\synthetics-pl-worker.exe --config=< PathToYourConfiguration > à partir d'une invite de commande ou utilisez le start menu raccourci pour démarrer le Datadog Synthetics Private Location Worker.
+ +[101]: https://ddsynthetics-windows.s3.amazonaws.com/datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi +[102]: https://app.datadoghq.com/synthetics/settings/private-locations + +{{< /tab >}} + +{{% tab "Windows via CLI" %}} + +1. Téléchargez le fichier [`datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi`][101] et exécutez ce fichier depuis la machine sur laquelle vous souhaitez installer la localisation privée. +2. Exécutez l'une des commandes suivantes dans le répertoire où vous avez téléchargé l'installateur : + + - Dans un terminal PowerShell : + + ```powershell + Start-Process msiexec "/i datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi /quiet /qn CONFIG_FILEPATH="; + ``` + + - Ou dans un terminal de commande : + + ```cmd + msiexec /i datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi /quiet /qn CONFIG_FILEPATH= + ``` + +Dʼautres paramètres peuvent être ajoutés : + +| Paramètre optionnel | Définition | Valeur | Valeur par défaut | Type | +|---|---|---|---|---| +| APPLYDEFAULTFIREWALLRULES | Applique les règles de pare-feu nécessaires pour le programme. | 1 | N/A | 0 : Désactivé
1 : Activé | +| APPLYFIREWALLDEFAULTBLOCKRULES | Bloque les adresses IP réservées pour chaque navigateur que vous avez installé (Chrome, Edge et Firefox). Le blocage des connexions de boucle locale n'est pas possible dans le pare-feu Windows. | 0 | N/A | 0 : Désactivé
1 : Activé | +| LOGGING_ENABLED | Lorsqu'il est activé, cela configure la journalisation des fichiers. Ces journaux sont stockés dans le répertoire d'installation sous le dossier des journaux. | 0 | `--enableFileLogging` | 0 : Désactivé
1 : Activé | +| LOGGING_VERBOSITY | Configure la verbosité de la journalisation pour le programme. Ceci impacte les logs de console et de fichiers. | Cela affecte les journaux de la console et des fichiers. | `-vvv` | `-v` : Erreur
`-vv` : Avertissement
`-vvv` : Info
`vvvv` : Débogage | +| LOGGING_MAXDAYS | Nombre de jours pendant lesquels conserver les journaux de fichiers sur le système avant leur suppression. Peut être n'importe quel nombre lors de l'exécution d'une installation sans surveillance. | 7 | `--logFileMaxDays` | Entier | +| CONFIG_FILEPATH | Ce paramètre doit être modifié pour indiquer le chemin vers votre fichier de configuration JSON du Datadog Synthetics Private Location Worker. Entourez ce chemin de guillemets si votre chemin contient des espaces. | | `--config` | Chaîne | + +Pour activer le mode cryptographique FIPS 140-2, définissez la variable d'environnement `ENABLE_FIPS=1` avant d'exécuter l'exécutable du worker. L'hôte Windows doit fonctionner en mode FIPS Windows pour utiliser cette option. Disponible dans la version 1.63.0 de Private Location et supérieure : + +Exemple : + +```cmd +set ENABLE_FIPS=1 && .\synthetics-pl-worker.exe --config "" +``` + +[101]: https://ddsynthetics-windows.s3.amazonaws.com/datadog-synthetics-worker-{{< synthetics-worker-version "synthetics-windows-pl" >}}.amd64.msi + +{{< /tab >}} +{{< /tabs >}} + +Pour plus d'informations sur les paramètres des emplacements privés pour les administrateurs, voir [Configuration][32]. + +#### Certificats racines {#root-certificates} + +Vous pouvez télécharger des certificats racine personnalisés dans vos emplacements privés pour que vos tests API et de navigateur effectuent la poignée de main SSL en utilisant vos propres fichiers `.pem`. + +{{< tabs >}} +{{% tab "Conteneur Linux" %}} + +Lors de la création de vos conteneurs d'emplacement privé, montez les fichiers de certificat pertinents `.pem` à `/etc/datadog/certs` de la même manière que vous montez votre fichier de configuration d'emplacement privé. Ces certificats sont considérés comme des CA de confiance et sont utilisés lors de l'exécution des tests. + +
Si vous combinez tous vos .pem fichiers en un seul fichier, la séquence des certificats à l'intérieur du fichier est importante. Il est nécessaire que le certificat intermédiaire précède le certificat racine pour établir avec succès une chaîne de confiance.
+ +{{% /tab %}} + +{{% tab "Service Windows" %}} + +Pour installer des certificats racine pour des emplacements privés sur un service Windows, suivez les étapes suivantes : + +1. Ouvrez l'application Éditeur de registre. +2. Naviguez jusqu'à l'entrée `Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\synthetics-private-location`. +3. Créez une clé de registre nommée `Environment` avec le type de valeur `Multi-string`. + +
Votre certificat doit être dans le même dossier que votre Service de Surveillance Synthétique : +par défaut : C:\Program Files\Datadog-Synthetics\Synthetics.
+ +4. Définissez la valeur `NODE_EXTRA_CA_CERTS=C:\Program Files\Datadog-Synthetics\Synthetics\CACert.pem` + + {{< img src="synthetics/private_locations/windows_pl_set_service.png" alt="Votre description d'image" style="width:100%;" >}} + +5. Ouvrez l'application Services et rechargez le service d'emplacement privé de Surveillance Synthétique Datadog. + +{{% /tab %}} + +{{% tab "Windows autonome" %}} + +Pour installer des certificats racine pour des emplacements privés sur un processus Windows autonome avec `synthetics-private-location.exe`, suivez les étapes suivantes : + +1. Ouvrez votre invite de commande Windows ou PowerShell. + +2. Définissez la variable d'environnement et appelez l'exécutable. + +Exemple : + +```text +set NODE_EXTRA_CA_CERTS=C:\Program Files\Datadog-Synthetics\Synthetics\CACert.pem && .\synthetics-private-location.exe --config "C:\ProgramData\Datadog-Synthetics\Synthetics\worker-config.json" +``` + +Pour activer le mode cryptographique FIPS 140-2, incluez `ENABLE_FIPS=1` : + +```text +set ENABLE_FIPS=1 && set NODE_EXTRA_CA_CERTS=C:\Program Files\Datadog-Synthetics\Synthetics\CACert.pem && .\synthetics-private-location.exe --config "C:\ProgramData\Datadog-Synthetics\Synthetics\worker-config.json" +``` + +L'hôte Windows doit fonctionner en mode FIPS Windows pour utiliser cette option. Disponible dans la version 1.63.0 de Private Location et supérieure. + +{{% /tab %}} +{{< /tabs >}} + +#### Configurez les sondes de vivacité et de disponibilité {#set-up-liveness-and-readiness-probes} + +Ajoutez une sonde d'activité ou de disponibilité pour permettre à votre orchestrateur de vérifier que les workers fonctionnent correctement. + +Pour les sondes de disponibilité, vous devez activer les sondes d'état de localisation privée sur le port `8080` dans votre déploiement de localisation privée. Pour plus d'informations, consultez [Configuration des emplacements privés][5]. + +{{< tabs >}} + +{{% tab "Docker Compose" %}} + +```yaml +healthcheck: + retries: 3 + test: [ + "CMD", "wget", "-O", "/dev/null", "-q", "http://localhost:8080/liveness" + ] + timeout: 2s + interval: 10s + start_period: 30s +``` + +{{% /tab %}} + +{{% tab "Déploiement Kubernetes" %}} + +```yaml +livenessProbe: + httpGet: + path: /liveness + port: 8080 + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 2 +readinessProbe: + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 2 + httpGet: + path: /readiness + port: 8080 +``` + +{{% /tab %}} + +{{% tab "Helm Chart" %}} + +```yaml +livenessProbe: + httpGet: + path: /liveness + port: 8080 + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 2 +readinessProbe: + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 2 + httpGet: + path: /readiness + port: 8080 +``` + +{{% /tab %}} + +{{% tab "ECS" %}} + +```json +"healthCheck": { + "retries": 3, + "command": [ + "CMD-SHELL", "/usr/bin/wget", "-O", "/dev/null", "-q", "http://localhost:8080/liveness" + ], + "timeout": 2, + "interval": 10, + "startPeriod": 30 +} +``` + +{{% /tab %}} + +{{% tab "Fargate" %}} + +```json +"healthCheck": { + "retries": 3, + "command": [ + "CMD-SHELL", "wget -O /dev/null -q http://localhost:8080/liveness || exit 1" + ], + "timeout": 2, + "interval": 10, + "startPeriod": 30 +} +``` + +{{% /tab %}} + +{{% tab "EKS" %}} + +```yaml +livenessProbe: + httpGet: + path: /liveness + port: 8080 + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 2 +readinessProbe: + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 2 + httpGet: + path: /readiness + port: 8080 +``` + +{{% /tab %}} +{{< /tabs >}} + +#### Configurations supplémentaires de vérification de santé {#additional-health-check-configurations} + +
Cette méthode d'ajout de vérifications de santé pour les emplacements privés n'est plus prise en charge. Datadog recommande d'utiliser des sondes de vivacité et de disponibilité.
+ +Le fichier `/tmp/liveness.date` des conteneurs d'emplacement privé est mis à jour après chaque sondage réussi de Datadog (2s par défaut). Le conteneur est considéré comme non sain si aucun sondage n'a été effectué depuis un certain temps, par exemple : aucune récupération dans la dernière minute. + +Utilisez la configuration ci-dessous pour configurer des vérifications de santé sur vos conteneurs avec `livenessProbe` : + +{{< tabs >}} + +{{% tab "Docker Compose" %}} + +```yaml +healthcheck: + retries: 3 + test: [ + "CMD", "/bin/sh", "-c", "'[ $$(expr $$(cat /tmp/liveness.date) + 300000) -gt $$(date +%s%3N) ]'" + ] + timeout: 2s + interval: 10s + start_period: 30s +``` + +{{% /tab %}} + +{{% tab "Déploiement Kubernetes" %}} + +```yaml +livenessProbe: + exec: + command: + - /bin/sh + - -c + - '[ $(expr $(cat /tmp/liveness.date) + 300000) -gt $(date +%s%3N) ]' + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 2 + failureThreshold: 3 +``` + +{{% /tab %}} + +{{% tab "Helm Chart" %}} + +```yaml +livenessProbe: + exec: + command: + - /bin/sh + - -c + - '[ $(expr $(cat /tmp/liveness.date) + 300000) -gt $(date +%s%3N) ]' + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 2 + failureThreshold: 3 +``` + +{{% /tab %}} + +{{% tab "ECS" %}} + +```json +"healthCheck": { + "retries": 3, + "command": [ + "CMD-SHELL", "/bin/sh -c '[ $(expr $(cat /tmp/liveness.date) + 300000) -gt $(date +%s%3N) ]'" + ], + "timeout": 2, + "interval": 10, + "startPeriod": 30 +} +``` + +{{% /tab %}} + +{{% tab "Fargate" %}} + +```json +"healthCheck": { + "retries": 3, + "command": [ + "CMD-SHELL", "/bin/sh -c '[ $(expr $(cat /tmp/liveness.date) + 300000) -gt $(date +%s%3N) ]'" + ], + "timeout": 2, + "interval": 10, + "startPeriod": 30 +} +``` + +{{% /tab %}} + +{{% tab "EKS" %}} + +```yaml +livenessProbe: + exec: + command: + - /bin/sh + - -c + - '[ $(expr $(cat /tmp/liveness.date) + 300000) -gt $(date +%s%3N) ]' + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 2 + failureThreshold: 3 +``` + +{{% /tab %}} + +{{< /tabs >}} + +### Mettez à niveau une image d'emplacement privé {#upgrade-a-private-location-image} + +Pour mettre à niveau un emplacement privé existant, cliquez sur l'icône **Engrenage** dans le panneau latéral d'emplacement privé et cliquez sur **Instructions d'installation**. + +{{< img src="synthetics/private_locations/pl_edit_config.png" alt="Accédez au flux de travail de configuration pour un emplacement privé" style="width:90%;" >}} + +Ensuite, exécutez la commande de configuration [ en fonction de votre environnement](#install-your-private-location) pour obtenir la dernière version de l'image d'emplacement privé. + +**Remarque** : Si vous utilisez `docker run` pour lancer votre image de localisation privée et que vous avez précédemment installé l'image de localisation privée en utilisant le tag `latest`, assurez-vous d'ajouter `--pull=always` à la commande `docker run` pour vous assurer que la version la plus récente est récupérée plutôt que de compter sur la version mise en cache de l'image qui peut exister localement avec le même tag `latest`. + +### Testez votre point de terminaison interne {#test-your-internal-endpoint} + +Lorsqu'au moins un worker d'emplacement privé a commencé à envoyer des données à Datadog, le statut de l'emplacement privé devient vert : + +{{< img src="synthetics/private_locations/pl_reporting.png" alt="Rapport de localisation privée" style="width:90%;">}} + +Vous pouvez voir un `REPORTING` état de santé et un état de moniteur associé affichés sur la liste des emplacements privés dans la page **Paramètres**. + +{{< img src="synthetics/private_locations/pl_monitoring_table_reporting_1.png" alt="État de santé et état de moniteur de localisation privée" style="width:100%;">}} + +Commencez à tester votre premier endpoint interne en lançant un test rapide dessus. Vérifiez que vous obtenez la réponse attendue : + +{{< img src="synthetics/private_locations/pl_fast_test.mp4" alt="Test rapide sur un emplacement privé" video="true" width="90%">}} + +**Remarque :** Datadog n'envoie que du trafic sortant depuis votre emplacement privé, aucun trafic entrant n'est transmis. + +## Lancez des tests synthétiques depuis votre emplacement privé {#launch-synthetic-tests-from-your-private-location} + +Créez un test API, un test API multistep ou un test de navigateur, et sélectionnez vos **Emplacements Privés** d'intérêt. + +{{< img src="synthetics/private_locations/assign-test-pl_3.png" alt="Assignez un test synthétique à un emplacement privé" style="width:90%;">}} + +Utilisez les emplacements privés comme vos emplacements gérés par Datadog : assignez des [tests synthétiques][29] aux emplacements privés, visualisez les résultats des tests, récupérez des [métriques synthétiques][11], et plus encore. + +## Échelle de votre emplacement privé {#scale-your-private-location} + +Parce que vous pouvez exécuter plusieurs travailleurs pour un seul emplacement privé avec un seul fichier de configuration, vous pouvez **mettre à l'échelle horizontalement** vos emplacements privés en ajoutant ou en supprimant des travailleurs. Lorsque vous le faites, assurez-vous de définir le paramètre `concurrency` et d'allouer des ressources aux travailleurs de manière cohérente avec les types et le nombre de tests que vous souhaitez que votre emplacement privé exécute. + +Vous pouvez également **mettre à l'échelle verticalement** vos emplacements privés en augmentant la charge que vos travailleurs d'emplacement privé peuvent gérer. De même, vous devriez utiliser le `concurrency` paramètre pour ajuster le nombre maximum de tests que vos travailleurs sont autorisés à exécuter et mettre à jour les ressources allouées à vos travailleurs. + +Pour en savoir plus, consultez la section [Dimensionner vos emplacements privés][18]. + +Pour utiliser des emplacements privés pour les tests continus, définissez une valeur dans le `concurrency` paramètre pour contrôler votre parallélisation. Pour plus d'informations, voir [Tests Continus][23]. + +## Surveillez votre emplacement privé {#monitor-your-private-location} + +Bien que vous ajoutiez initialement des ressources qui sont cohérentes avec le nombre et le type de tests à exécuter depuis votre emplacement privé, la manière la plus simple de savoir si vous devez réduire ou augmenter votre emplacement privé est de les surveiller de près. [Surveillance des Emplacements Privés][19] fournit des informations sur la performance et l'état de votre emplacement privé ainsi que des métriques et des moniteurs prêts à l'emploi. + +Pour en savoir plus, consultez la section [Surveillance des emplacements privés][19]. + +## Permissions {#permissions} + +Par défaut, seuls les utilisateurs disposant du rôle Admin Datadog peuvent créer des emplacements, les supprimer et consulter les directives d'installation connexes. + +Les utilisateurs avec les [rôles Administrateur Datadog et Standard Datadog][20] peuvent voir les emplacements privés, rechercher des emplacements privés et assigner des tests synthétiques à des emplacements privés. Accordez l'accès à la [**page des Emplacements Privés**][22] en mettant à niveau votre utilisateur vers l'un de ces deux [rôles par défaut][19]. + +Si vous utilisez la [fonctionnalité de rôle personnalisé][21], ajoutez votre utilisateur à un rôle personnalisé qui inclut `synthetics_private_location_read` et `synthetics_private_location_write` permissions. + +
Si un test inclut des emplacements privés restreints, la mise à jour du test supprime ces emplacements du test.
+ +## Restreindre l'accès {#restrict-access} + +Utilisez [le contrôle d'accès granulaire][24] pour limiter qui a accès à votre test en fonction des rôles, des équipes ou des utilisateurs individuels : + +1. Ouvrez la section des autorisations du formulaire. +2. Cliquez sur **Modifier l'accès**. + {{< img src="synthetics/settings/grace_2.png" alt="Définissez les autorisations pour votre test à partir du formulaire de configuration des emplacements privés." style="width:100%;" >}} +3. Cliquez sur **Restreindre l'accès**. +4. Sélectionnez des équipes, des rôles ou des utilisateurs. +5. Cliquez sur **Ajouter**. +6. Sélectionnez le niveau d'accès que vous souhaitez associer à chacun d'eux. +7. Cliquez sur **Terminé**. + +
Vous pouvez voir les résultats d'un emplacement privé même sans accès Visiteur à cet emplacement privé.

+Restreindre un emplacement privé peut empêcher d'autres utilisateurs de l'ajouter à un test ou de le modifier, mais ils peuvent toujours voir le nom de l'emplacement s'il a été ajouté à un test par un utilisateur autorisé.
+ +| Niveau d'accès | Voir les instructions PL | Voir les métriques PL | Utiliser PL dans le test | Modifier la configuration PL | +| ------------ | ---------------------| --------------- | -------------- | ---------------------- | +| Pas d'accès | | | | | +| Visiteur | {{< X >}} | {{< X >}} | {{< X >}} | | +| Éditeur | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[3]: https://console.cloud.google.com/gcr/images/datadoghq/GLOBAL/synthetics-private-location-worker?pli=1 +[4]: https://docs.docker.com/engine/install/ +[5]: /fr/synthetics/private_locations/configuration/ +[6]: https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml +[7]: https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml +[10]: https://docs.docker.com/engine/reference/builder/#healthcheck +[11]: /fr/synthetics/metrics +[12]: /fr/synthetics/api_tests/ +[13]: /fr/synthetics/multistep?tab=requestoptions +[14]: /fr/synthetics/browser_tests/?tab=requestoptions +[16]: /fr/agent/ +[17]: /fr/synthetics/metrics/ +[18]: /fr/synthetics/private_locations/dimensioning +[19]: /fr/synthetics/private_locations/monitoring +[20]: /fr/account_management/rbac/permissions +[21]: /fr/account_management/rbac#custom-roles +[22]: https://app.datadoghq.com/synthetics/settings/private-locations +[23]: /fr/continuous_testing/cicd_integrations/configuration +[24]: /fr/account_management/rbac/granular_access +[25]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-tutorial.html +[26]: https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities +[27]: https://docs.datadoghq.com/fr/synthetics/private_locations/configuration/#private-locations-admin +[28]: /fr/continuous_testing/cicd_integrations +[29]: /fr/synthetics/ +[30]: https://github.com/DataDog/helm-charts/tree/master/charts/synthetics-private-location +[31]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LinuxParameters.html +[32]: /fr/synthetics/platform/private_locations/configuration +[33]: /fr/synthetics/guide/kerberos-authentication/ \ No newline at end of file diff --git a/content/fr/tests/_index.md b/content/fr/tests/_index.md index d52a5c2a0a8..6b870ea406a 100644 --- a/content/fr/tests/_index.md +++ b/content/fr/tests/_index.md @@ -4,32 +4,38 @@ aliases: - /fr/continuous_integration/guides/test_configurations/ - /fr/continuous_integration/integrate_tests/ - /fr/continuous_integration/tests/ +- /fr/tests/repositories/ +- /fr/tests/search/ cascade: - site_support_id: test_optimization algolia: rank: 70 tags: - - test ci - - test ci - - visibilité des tests - - test échoué + - ci test + - ci tests + - test optimization + - test visibility + - failed test - flaky test - - fonctionnalités prises en charge + - supported features + site_support_id: test_optimization further_reading: +- link: https://learn.datadoghq.com/courses/getting-started-test-optimization + tag: Centre d'apprentissage + text: Premiers pas avec l'optimisation des tests - link: https://app.datadoghq.com/release-notes?category=Software%20Delivery tag: Notes de version - text: Découvrez les dernières versions de la livraison de logiciels (connexion à - l'application requise). + text: Découvrez les dernières versions de Software Delivery ! (Connexion à l'application + requise) - link: https://www.datadoghq.com/blog/datadog-ci-visibility/ tag: Blog text: Surveiller vos pipelines CI et vos tests avec Datadog CI Visibility - link: https://www.datadoghq.com/blog/ci-test-visibility-with-rum/ tag: Blog - text: Dépannage de tests de bout en bout avec CI Visibility et RUM + text: Dépannage de tests de bout en bout avec CI Visibility et RUM - link: /monitors/types/ci/ tag: Documentation text: En savoir plus sur les monitors de test CI -- link: /tests/guides/flaky_test_management/ +- link: /tests/flaky_test_management/ tag: Documentation text: En savoir plus sur la Gestion des tests irréguliers - link: /tests/browser_tests/ @@ -37,107 +43,118 @@ further_reading: text: Découvrez comment instrumenter vos tests Browser avec RUM - link: /tests/troubleshooting/ tag: Documentation - text: Découvrez comment dépanner Test Visibility -title: Test Visibility dans Datadog + text: Apprenez à résoudre les problèmes d'optimisation des tests +- link: https://www.datadoghq.com/blog/gitlab-source-code-integration + tag: Blog + text: Résolvez plus rapidement avec l'intégration du code source GitLab dans Datadog +- link: https://www.datadoghq.com/blog/dbt-data-quality-testing + tag: Blog + text: Implémentez des vérifications de qualité des données dbt avec dbt-expectations +title: Optimisation des tests dans Datadog --- +{{< learning-center-callout header="Essayez les premiers pas avec l'optimisation des tests dans le Centre d'apprentissage" btn_title="Inscrivez-vous maintenant" btn_url="https://learn.datadoghq.com/courses/getting-started-test-optimization">}} + Apprenez à accélérer vos pipelines CI en configurant la surveillance des tests, en identifiant les tests instables et en utilisant l'analyse d'impact des tests pour exécuter uniquement les tests qui comptent. +{{< /learning-center-callout >}} + -## Section Overview +## Aperçu {#overview} -[Test Visibility][1] présente les métriques et les résultats importants de vos tests. Ces données sur les tests vous permettent de visualiser l'état de santé global de votre intégration continue. Cette page vous aide à étudier les problèmes de performance et les échecs de tests. Pour garantir la pertinence des données affichées, Datadog tient principalement compte du code auquel vous avez contribué, et accorde une importance moindre aux pipelines que vous gérez (même si les tests y sont exécutés). +[L'optimisation des tests][1] fournit une vue axée sur les tests de la santé de votre CI en affichant des métriques et des résultats importants de vos tests. Cela peut vous aider à enquêter sur les problèmes de performance et les échecs de tests qui sont les plus pertinents pour votre travail, en vous concentrant sur le code dont vous êtes responsable, plutôt que sur les pipelines qui exécutent vos tests. -## Configuration +## Configuration {#setup} -Sélectionnez une option pour configurer Test Visibility dans Datadog : +Sélectionnez une option pour configurer l'optimisation des tests dans Datadog : {{< card-grid card_width="75px" >}} {{< image-card href="/tests/setup/dotnet/" src="integrations_logos/dotnet_avatar.svg" alt=".net" >}} {{< image-card href="/tests/setup/java/" src="integrations_logos/java_avatar.svg" alt="java" >}} {{< image-card href="/tests/setup/javascript/" src="integrations_logos/javascript.png" alt="javascript" >}} - {{< image-card href="/tests/setup/python/" src="integrations_logos/python_avatar.svg" alt="python" >}} + {{< image-card href="/tests/setup/python/" src="integrations_logos/python_avatar.svg" alt="php" >}} {{< image-card href="/tests/setup/ruby/" src="integrations_logos/ruby_avatar.svg" alt="ruby" >}} {{< image-card href="/tests/setup/swift/" src="integrations_logos/swift_avatar.svg" alt="swift" >}} {{< image-card href="/tests/setup/go/" src="integrations_logos/golang-avatar.png" alt="go" >}} - {{< image-card href="/tests/setup/junit_xml/" src="integrations_logos/junit_xml.png" alt="upload junit tests to datadog" >}} + {{< image-card href="/tests/setup/junit_xml/" src="integrations_logos/junit_xml.png" alt="Téléversez des tests junit vers Datadog" >}} {{< /card-grid >}}
-En plus des tests, Test Visibility offre une visibilité sur l'ensemble de la phase de test de votre projet. +En plus des tests, l'optimisation des tests offre une visibilité sur l'ensemble de la phase de test de votre projet. -### Fonctionnalités prises en charge +### Fonctionnalités prises en charge {#supported-features} -| | .NET | Basé sur Java | Javascript | Python | Ruby | Swift | JUnit Xml | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------:|:--------------------:|:----------------------:|:---------:|:---------:|:---------:|:----------------------:| -| {{< ci-details title="Accurate time/durations results" >}}Résolution en microsecondes dans les heures du début et la durée des tests.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Traces distribuées des tests d'intégration" >}}Les tests qui appellent des services externes instrumentés avec Datadog affichent la trace distribuée complète dans les détails de leurs tests.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Signalement basé sur l'Agent" >}}Fonctionnalité permettant de signaler des informations de test via l'Agent Datadog.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Signalement basé sur l'Agent" >}}Fonctionnalité permettant de signaler des informations de test sans l'Agent Datadog.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -| {{< ci-details title="Visibilité au niveau de la suite de test" >}}Visibilité sur la totalité du processus de test, y compris la session, le module, les suites et les tests.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -| {{< ci-details title="API manuelle" >}}Permet de créer de façon programmée des événements CI Visibility pour tester les cadres d'application qui ne sont pas pris en charge par l'instrumentation automatique de Datadog.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Propriétaire du code par test" >}}Détection automatique du propriétaire d'un fichier de test d'après le fichier CODEOWNERS.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} (partiellement) | -| {{< ci-details title="Début/fin du code source" >}}Signalement automatique des lignes de début et de fin d'un test.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} (début uniquement) | {{< X >}} | {{< X >}} (début uniquement)| {{< X >}} | {{< X >}} (début uniquement) | -| {{< ci-details title="Informations CI et git" >}}Collecte automatique des métadonnées des environnements git et CI, comme le fournisseur de CI, le SHA du commit git ou l'URL du pipeline.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -| {{< ci-details title="Importation des métadonnées Git" >}}L'importation automatique des informations sur l'arborescence git utilisées pour Intelligent Test Runner.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | -| {{< ci-details title="Intelligent Test Runner *" >}}Permet d'activer Intelligent Test Runner, qui ignore les tests de façon intelligente en fonction de la couverture du code et des métadonnées git.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Prise en charge de la couverture du code" >}}Permet de rapporter le total des métriques de couverture du code.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} (manuel) | -| {{< ci-details title="Prise en charge des tests de benchmarks" >}}Détection automatique des statistiques relatives aux performances pour les tests de benchmarks.{{< /ci-details >}} | {{< X >}} | | | {{< X >}} | | {{< X >}} | | -| {{< ci-details title="Paramétrage des tests" >}}Détection automatique des tests paramétrés.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | -| {{< ci-details title="Détection en amont des irrégularités *" >}}Relancez automatiquement des nouveaux tests pour détecter les irrégularités.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | | {{< X >}} | | | -| {{< ci-details title="Nouvelles tentative automatiques de tests *" >}}Relancez automatiquement des tests échoués jusqu'à N fois, afin d'éviter d'échouer le build en raison d'irrégularités du test.{{< /ci-details >}} | | {{< X >}} | {{< X >}} | | {{< X >}} | | | -| {{< ci-details title="Intégration Selenium/RUM" >}}Associez automatiquement les sessions du navigateur aux scénarios de tests lorsque vous testez les applications instrumentées par le RUM.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | | {{< X >}} | | | +| | .NET | Java/JVM‑basé | Javascript | Python | Ruby | Swift | Go | JUnit Xml | +|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------:|:--------------------:|:----------------------:|:---------:|:---------------------:|:---------:|:---------:|:----------------------:| +| {{< ci-details title="Résultats précis des temps/durées" >}}Résolution en microsecondes pour le temps de début et la durée des tests.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Traces distribuées sur les tests d'intégration" >}}Les tests qui effectuent des appels à des services externes instrumentés avec Datadog montrent la trace distribuée complète dans les détails de leur test.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Rapport basé sur un agent" >}}Capacité à rapporter des informations de test via l'Agent Datadog.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Rapport sans agent" >}}Capacité à rapporter des informations de test sans l'Agent Datadog.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | +| {{< ci-details title="Affichage au niveau des collections de tests" >}}Visibilité sur l'ensemble du processus de test, y compris la session, le module, les suites et les tests.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | +| {{< ci-details title="API manuelle" >}}Capacité à créer de manière programmatique des événements de visibilité CI pour des frameworks de test qui ne sont pas pris en charge par l'instrumentation automatique de Datadog.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | | +| {{< ci-details title="Propriétaire de code par test" >}}Détection automatique du propriétaire d'un fichier de test basé sur le fichier CODEOWNERS.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} (partiellement) | +| {{< ci-details title="Début/fin du code source" >}}Rapport automatique des lignes de début et de fin d'un test.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} (seulement début) | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} (seulement début) | +| {{< ci-details title="Informations CI et git" >}}Collecte automatique des métadonnées de l'environnement git et CI, telles que le fournisseur CI, le SHA du commit git ou l'URL du pipeline.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | +| {{< ci-details title="Importation des métadonnées Git" >}}Téléversement automatique des informations de l'arbre git utilisées pour l'analyse de l'impact des tests.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | +| {{< ci-details title="Analyse de l'impact des tests *" >}}Capacité d'activer l'analyse de l'impact des tests, qui saute intelligemment les tests en fonction de la couverture de code et des métadonnées git.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Support de la couverture de code" >}}Capacité à rapporter les métriques de couverture de code totale.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} (manuel) | +| {{< ci-details title="Support des tests de référence" >}}Détection automatique des statistiques de performance pour les tests de référence.{{< /ci-details >}} | {{< X >}} | | | {{< X >}} | | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Tests paramétrés" >}}Détection automatique des tests paramétrés.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | +| {{< ci-details title="Détection précoce des instabilités *" >}}Réessayez automatiquement les nouveaux tests pour détecter les instabilités.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Réessais automatiques des tests *" >}}Réessayez automatiquement les tests échoués jusqu'à N fois pour éviter de faire échouer la build en raison de l'instabilité des tests.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | +| {{< ci-details title="Relecture des tests échoués *" >}}Accéder aux informations des variables locales sur les tests échoués réessayés.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | | | | +| {{< ci-details title="Intégration RUM de Selenium" >}}Liez automatiquement les sessions de navigateur aux cas de test lors des tests d'applications instrumentées RUM.{{< /ci-details >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} | | | | -\* La fonctionnalité nécessite votre consentement. Elle doit être activée sur la [page **Test Service Settings**][2]. +\* La fonctionnalité est facultative et doit être activée sur la page [**Paramètres d'optimisation des tests**][2]. -## Configurations par défaut +## Configurations par défaut {#default-configurations} -Les tests permettent d'évaluer le comportement du code avec un ensemble de conditions données. Certaines de ces conditions sont liées à l'environnement d'exécution des tests, comme le système d'exploitation ou le runtime utilisé. Le même code exécuté dans des conditions différentes peut avoir un comportement différent. C'est la raison pour laquelle les développeurs configurent généralement leurs tests de façon à les exécuter dans des conditions différentes et valider le comportement attendu pour chacun d'entre eux. Cet ensemble de conditions spécifiques est appelé *configuration*. +Les tests évaluent le comportement du code pour un ensemble de conditions données. Certaines de ces conditions sont liées à l'environnement dans lequel les tests sont exécutés, comme le système d'exploitation ou l'environnement d'exécution utilisé. Le même code exécuté sous différents ensembles de conditions peut se comporter différemment, donc les développeurs configurent généralement leurs tests pour s'exécuter dans différents ensembles de conditions et valident que le comportement est celui attendu pour tous. Cet ensemble spécifique de conditions est appelé une *configuration*. -Dans Test Visibility, un test avec plusieurs configurations est traité comme plusieurs tests, avec un test correspondant à chaque configuration. Si l'une des configurations échoue mais les autres réussissent, seule cette combinaison test/configuration sera marquée comme ayant échoué +Dans l'optimisation des tests, un test avec plusieurs configurations est traité comme plusieurs tests avec un test séparé pour chaque configuration. Dans le cas où l'une des configurations échoue mais que les autres réussissent, seul ce test spécifique et cette combinaison de configuration sont marqués comme échoués. -Imaginons par exemple que vous testiez un seul commit et que vous possédiez un test Python qui s'exécute dans trois versions différentes de Python. Si le test échoue pour l'une de ces versions, ce test spécifique est marqué comme ayant échoué, tandis que les autres versions sont marquées comme ayant réussi. Si vous relancez les tests avec le même commit et si le test des trois versions de Python réussit, le test effectué avec la version qui avait échoué est désormais marqué comme ayant réussi et ayant des irrégularités, tandis que les deux autres versions restent réussies, sans détection d'irrégularités. +Par exemple, supposons que vous testiez un seul commit et que vous ayez un test Python qui s'exécute contre trois versions différentes de Python. Si le test échoue pour l'une de ces versions, ce test spécifique est marqué comme échoué, tandis que les autres versions sont marquées comme réussies. Si vous réessayez les tests contre le même commit et que maintenant le test pour les trois versions de Python réussit, le test avec la version qui avait échoué est maintenant marqué comme réussi et instable, tandis que les deux autres versions restent réussies, sans instabilité détectée. -### Attributs de configuration de test +### Attributs de configuration des tests {#test-configuration-attributes} -Lorsque vous exécutez vos tests avec Test Visibility, la bibliothèque détecte et signale les informations relatives à l'environnement dans lequel les tests sont exécutés sous forme de tags de tests. Par exemple, le nom du système d'exploitation, comme `Windows` ou `Linux`, ainsi que l'architecture de la plateforme, comme `arm64` ou `x86_64`, sont ajoutés sous forme de tags à chaque test. Ces valeurs sont affichées dans le commit et sur les pages des aperçus des branches lorsqu'un test échoue ou est défaillant pour une configuration spécifique, mais pas pour les autres. +Lorsque vous exécutez vos tests avec l'optimisation des tests, la bibliothèque détecte et rapporte des informations sur l'environnement dans lequel les tests sont exécutés sous forme d'étiquettes de test. Par exemple, le nom du système d'exploitation, tel que `Windows` ou `Linux`, et l'architecture de la plateforme, telle que `arm64` ou `x86_64`, sont ajoutés comme étiquettes à chaque test. Ces valeurs sont affichées dans le commit et sur les pages de vue d'ensemble des branches lorsqu'un test échoue ou est instable pour une configuration spécifique mais pas pour d'autres. Les tags suivants sont collectés automatiquement pour identifier les configurations de test, et certains peuvent ne s'appliquer qu'à des plates-formes spécifiques : -| Nom du tag | Rôle | +| Nom de l'étiquette | Description | |------------------------|-----------------------------------------------------------------| -| `os.platform` | Le nom du système d'exploitation sur lequel les tests sont exécutés. | -| `os.family` | La famille du système d'exploitation sur lequel les tests sont exécutés. | -| `os.version` | La version du système d'exploitation sur lequel les tests sont exécutés. | -| `os.architecture` | L'architecture du système d'exploitation sur lequel les tests sont exécutés. | -| `runtime.name` | Le nom du système de runtime pour les tests. | -| `runtime.version` | La version du système de runtime. | -| `runtime.vendor` | Le fournisseur qui a créé la plateforme de runtime dans laquelle les tests sont exécutés. | -| `runtime.architecture` | L'architecture du système de runtime pour les tests. | -| `device.model` | Le modèle de l'appareil qui exécute les tests. | -| `device.name` | Le nom de l'appareil. | +| `os.platform` | Nom du système d'exploitation où les tests sont exécutés. | +| `os.family` | Famille du système d'exploitation où les tests sont exécutés. | +| `os.version` | Version du système d'exploitation où les tests sont exécutés. | +| `os.architecture` | Architecture du système d'exploitation où les tests sont exécutés. | +| `runtime.name` | Nom du système d'exécution pour les tests. | +| `runtime.version` | Version du système d'exécution. | +| `runtime.vendor` | Fournisseur qui a construit la plateforme d'exécution où les tests sont exécutés. | +| `runtime.architecture` | Architecture du système d'exécution pour les tests. | +| `device.model` | Le modèle de l'appareil exécutant les tests. | +| `device.name` | Nom de l'appareil. | | `ui.appearance` | Style de l'interface utilisateur. | -| `ui.orientation` | L'orientation de l'IU de l'exécution. | -| `ui.localization` | La langue de l'application | +| `ui.orientation` | Orientation dans laquelle l'interface utilisateur est exécutée. | +| `ui.localization` | Langue de l'application. | -### Configurations de tests paramétrés +### Configurations de test paramétrées {#parameterized-test-configurations} -Lorsque vous exécutez des tests paramétrés, la bibliothèque détecte et signale les informations sur les paramètres utilisés. Les paramètres font partie d'une configuration de test, ce qui signifie que les mêmes scénarios de tests exécutés avec des paramètres différents sont considérés comme étant deux tests différents dans Test Visibility. +Lorsque vous exécutez des tests paramétrés, la bibliothèque détecte et rapporte des informations sur les paramètres utilisés. Les paramètres font partie de la configuration des tests, donc le même cas de test exécuté avec des paramètres différents est considéré comme deux tests différents dans l'optimisation des tests. -Si un paramètre de test n'est pas déterministe et possède une valeur différente à chaque exécution de test, alors chaque exécution de test est considérée comme étant un nouveau test dans Test Visibility. Ainsi, certaines fonctionnalités peuvent ne pas fonctionner correctement pour ces tests : historique des exécutions, détection des irrégularités, Intelligent Test Runner et d'autres encore. +Si un paramètre de test est non déterministe et a une valeur différente chaque fois qu'un test est exécuté, chaque exécution de test est considérée comme un nouveau test dans l'optimisation des tests. En conséquence, certaines fonctionnalités du produit peuvent ne pas fonctionner correctement pour de tels tests : historique des exécutions, détection de l'instabilité, analyse de l'impact des tests, et d'autres. Voici des exemples de paramètres de tests non déterministes : - date actuelle - une valeur aléatoire -- une valeur qui dépend de l'environnement dans lequel le test est exécuté (comme un chemin de fichier absolu ou le nom d'utilisateur actuel) -- une valeur qui ne possède pas de représentation de chaîne déterministe (par exemple, une instance d'une classe java dont la méthode `toString()` n'est pas remplacée) +- une valeur qui dépend de l'environnement d'exécution du test (comme un chemin de fichier absolu ou le nom d'utilisateur actuel) +- une valeur qui n'a pas de représentation de chaîne déterministe (par exemple, une instance d'une classe Java dont la méthode `toString()` n'est pas redéfinie) -Évitez d'utiliser des paramètres de test non déterministes. Si ce n'est pas possible, certains cadres d'application de tests permettent de spécifier une représentation de chaîne déterministe pour un paramètre non déterministe (comme le remplacement du nom d'affichage du paramètre). +Évitez d'utiliser des paramètres de test non déterministes. Dans le cas où cela n'est pas possible, certains frameworks de test offrent un moyen de spécifier une représentation de chaîne déterministe pour un paramètre non déterministe (comme le fait de remplacer le nom d'affichage du paramètre). -## Configurations personnalisées +## Configurations personnalisées {#custom-configurations} -Certaines configurations ne peuvent pas être directement identifiées et sont signalées automatiquement, car elles dépendent des variables d'environnement, des arguments d'exécution de tests ou d'autres approches utilisées par les développeurs. Dans ces situations, vous devez fournir les détails de la configuration dans la bibliothèque, afin que Test Visibility puisse les identifier correctement. +Il existe certaines configurations qui ne peuvent pas être identifiées et rapportées automatiquement car elles peuvent dépendre de variables d'environnement, d'arguments d'exécution de test ou d'autres approches utilisées par les développeurs. Pour ces cas, vous devez fournir les détails de configuration à la bibliothèque afin que l'optimisation des tests puisse les identifier correctement. -Définissez ces tags comme faisant partie de la variable d'environnement `DD_TAGS` à l'aide du préfixe `test.configuration`. +Définissez ces balises comme partie de la variable d'environnement `DD_TAGS` en utilisant le préfixe `test.configuration`. Par exemple, les tags de configuration de tests identifient une configuration de test où le délai de réponse du disque est long et où peu de mémoire est disponible : @@ -145,37 +162,37 @@ Par exemple, les tags de configuration de tests identifient une configuration de DD_TAGS=test.configuration.disk:slow,test.configuration.memory:low {{< /code-block >}} -Tous les tags possédant le préfixe `test.configuration` sont utilisés comme étant des tags de configuration, en plus de ceux qui ont été collectés automatiquement. +Toutes les balises avec le préfixe `test.configuration` sont utilisées comme balises de configuration, en plus de celles collectées automatiquement. -Remarque : les tags `test.configuration` imbriqués, comme `test.configuration.cpu.memory`, ne sont pas pris en charge. +Remarque : Les balises imbriquées `test.configuration`, telles que `test.configuration.cpu.memory`, ne sont pas prises en charge. Pour appliquer un filtre avec ces tags de configuration, [vous devez créer des facettes pour ces tags][3]. -## Améliorez vos processus de développement +## Améliorez votre flux de travail de développeur {#enhance-your-developer-workflow} -{{< whatsnext desc="Intégrez Test Visibility avec des outils permettant de rapporter des données de couverture du code, d'améliorer les tests de navigateurs avec le RUM et d'accéder aux informations sur toutes les plateformes en simplifiant l'identification et la résolution des problèmes dans vos cycles de développement." >}} -{{< nextlink href="/tests/developer_workflows/" >}}Améliorer les processus de développement avec Datadog{{< /nextlink >}} -{{< nextlink href="/tests/code_coverage" >}}En savoir plus sur la couverture de code{{< /nextlink >}} -{{< nextlink href="/tests/browser_tests" >}}Instrumenter Cypress Browser Tests avec le RUM Browser{{< /nextlink >}} -{{< nextlink href="/tests/swift_tests" >}}Instrumenter Swift Tests avec le RUM Browser{{< /nextlink >}} +{{< whatsnext desc="Intégrez l'optimisation des tests avec des outils pour rapporter des données de couverture de code, améliorez les tests de navigateur avec RUM et accédez à des informations à travers les plateformes en rationalisant l'identification et la résolution des problèmes dans votre cycle de développement." >}} +{{< nextlink href="/tests/developer_workflows/" >}}Améliorer vos workflows de développement avec Datadog{{< /nextlink >}} +{{< nextlink href="/tests/code_coverage" >}}Découvrez la couverture de code{{< /nextlink >}} +{{< nextlink href="/tests/browser_tests" >}}Instrumentez les tests de navigateur Cypress avec Browser RUM{{< /nextlink >}} +{{< nextlink href="/tests/swift_tests" >}}Tests Swift dʼinstruments avec RUM{{< /nextlink >}} {{< /whatsnext >}} -## Utiliser des données de tests CI +## Utilisez les données des tests CI {#use-ci-tests-data} {{% ci-information-collected %}} -Lorsque vous créez un [dashboard][4] ou un [notebook][5], vous pouvez utiliser des données de tests CI dans votre requête de recherche, qui modifient les options des widgets de visualisation. Pour en savoir plus, consultez la documentation relative aux [Dashboards][6] et aux [Notebooks][7]. +Lors de la création d'un [Dashboard][4] ou d'un [Notebooks][5], vous pouvez utiliser les données des tests CI dans votre requête de recherche, ce qui met à jour les options du widget de visualisation. Pour plus d'informations, consultez la documentation des [Dashboards][6] et des [Notebooks documentation][7]. -## Alerte sur les données de tests +## Activez les alertes sur les données de test {#alert-on-test-data} -Lorsque vous évaluez des tests échoués ou irréguliers, ou les performances d'un test CI, vous pouvez exporter votre requête de recherche dans le [Test Visibility Explorer][8] vers un [monitor CI Test][9] en cliquant sur l'option **Export**. +Lorsque vous évaluez des tests échoués ou instables, ou la performance d'un test CI, vous pouvez exporter votre requête de recherche dans le [Test Optimization Explorer][8] vers un [CI Test monitor][9] en cliquant sur le bouton **Exporter**. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[1]: https://app.datadoghq.com/ci/test-services -[2]: https://app.datadoghq.com/ci/settings/test-service +[1]: https://app.datadoghq.com/ci/test/health +[2]: https://app.datadoghq.com/ci/settings/test-optimization [3]: /fr/continuous_integration/explorer/facets/ [4]: https://app.datadoghq.com/dashboard/lists [5]: https://app.datadoghq.com/notebook/list diff --git a/content/fr/tracing/glossary/_index.md b/content/fr/tracing/glossary/_index.md index 367626bc59c..3bcdf4e7724 100644 --- a/content/fr/tracing/glossary/_index.md +++ b/content/fr/tracing/glossary/_index.md @@ -3,13 +3,16 @@ aliases: - /fr/tracing/terminology/ - /fr/tracing/faq/what-is-the-difference-between-type-service-resource-and-name - /fr/tracing/visualization/ +description: Apprenez les termes essentiels de l'APM, y compris les services, les + ressources, les traces, les spans, l'instrumentation et d'autres concepts clés pour + le traçage distribué. further_reading: - link: /tracing/trace_collection/ tag: Documentation text: Configurer le tracing d'APM avec votre application -- link: /tracing/software_catalog/ +- link: /internal_developer_portal/catalog/ tag: Documentation - text: Découvrir et cataloguer les services transmettant des données à Datadog + text: Découvrez et cataloguez les services rapportant à Datadog - link: /tracing/services/service_page/ tag: Documentation text: En savoir plus sur les services dans Datadog @@ -18,107 +21,107 @@ further_reading: text: Plonger au cœur des traces et des performances de vos ressources - link: /tracing/trace_explorer/trace_view/ tag: Documentation - text: Découvrez comment lire une trace dans Datadog + text: Apprenez à lire une trace dans Datadog - link: /monitors/types/apm/ tag: Documentation - text: En savoir plus sur les moniteurs APM -title: Termes et concepts d'APM + text: Découvrez les moniteurs APM +title: Termes et concepts de la solution APM --- - {{< jqmath-vanilla >}} -## Présentation +## Aperçu {#overview} -L'interface de l'APM fournit de nombreux outils permettant de surveiller les performances de vos applications et de les mettre en corrélation avec les données des autres solutions Datadog. Vous pouvez ainsi identifier et résoudre plus facilement les problèmes liés aux systèmes distribués. +L'interface utilisateur APM fournit de nombreux outils pour résoudre les problèmes de performance des applications et les corréler à travers le produit, vous permettant de trouver et de résoudre des problèmes dans des systèmes distribués. -Pour consulter les définitions et descriptions des termes clés d'APM comme _spans_ et _indexed_, consultez le [glossaire principal][22]. +Pour des définitions et des descriptions supplémentaires des termes APM importants tels que _spans_ et _indexés_, consultez le [glossaire principal][22]. -| Concept | Rôle | +| Concept | Description | |---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [Service](#services) | Les services sont les composants d'une architecture de microservices moderne. Un service regroupe généralement des endpoints, des requêtes ou des tâches qui assurent le bon fonctionnement de votre application. | -| [Ressource](#ressources) | Les ressources représentent un domaine particulier d'une application client. Il s'agit généralement d'un endpoint web instrumenté, d'une requête de base de données ou d'une tâche en arrière-plan. | -| [Monitors][23] | Les monitors de métrique d'APM fonctionnent comme les monitors de métrique, mais proposent des commandes spécialement conçues pour l'APM. Utilisez ces monitors pour recevoir des alertes propres à chaque service concernant les hits, les erreurs et diverses mesures de latence. | -| [Trace](#trace) | Les traces servent à suivre le temps passé par une application à traiter une requête, ainsi que le statut de la requête. Chaque trace est composée d'une ou de plusieurs spans. | -| [Propagation du contexte de trace](#propagation-du-contexte-de-trace)| Méthode de transmission des identifiants de trace entre services, permettant à Datadog d'assembler les spans individuelles en une trace distribuée complète. | -| [Filtres de rétention](#filtres-de-retention) | Les filtres de rétention sont des règles basées sur des tags définies au sein de l'interface utilisateur de Datadog. Elles déterminent les spans à indexer dans Datadog pendant 15 jours. | -| [Paramètres d'ingestion](#parametres-d-ingestion) | Les paramètres d'ingestion permettent d'envoyer jusqu'à 100 % des traces à Datadog pour effectuer des recherches et des analyses en temps réel pendant 15 minutes. -| [Instrumentation](#instrumentation) | L'instrumentation est le processus qui consiste à ajouter du code à votre application afin de collecter et remonter des données d'observabilité. | -| [Bagage](#bagage) | Le bagage est une information contextuelle transmise entre les traces, les métriques et les logs sous forme de paires clé-valeur. | +| [Service](#services) | Les services constituent les éléments fondamentaux des architectures modernes de microservices – en général, un service regroupe des endpoints, des requêtes ou des jobs afin de construire votre application. | +| [Ressource](#resources) | Les ressources représentent un domaine particulier d'une application client - elles sont généralement un point de terminaison web instrumenté, une requête de base de données ou une tâche en arrière-plan. | +| [Moniteurs][23] | Les moniteurs de métriques APM fonctionnent comme des moniteurs de métriques réguliers, mais avec des contrôles spécifiquement adaptés à l'APM. Utilisez ces moniteurs pour recevoir des alertes au niveau du service sur les hits, les erreurs et une variété de mesures de latence. | +| [Trace](#trace) | Une trace est utilisée pour suivre le temps passé par une application à traiter une requête et l'état de cette requête. Chaque trace se compose d'un ou plusieurs spans. | +| [Propagation du Contexte de Trace](#trace-context-propagation)| La méthode de passage des identifiants de trace entre les services, permettant à Datadog de relier des spans individuels en une trace distribuée complète. | +| [Filtres de Rétention](#retention-filters) | Les filtres de rétention sont des contrôles basés sur des balises définis dans l'interface utilisateur de Datadog qui déterminent quels spans indexer dans Datadog pendant 15 jours. | +| [Contrôles d'Ingestion](#ingestion-controls) | Les contrôles d'ingestion sont utilisés pour envoyer jusqu'à 100 % des traces à Datadog pour une recherche et une analyse en direct pendant 15 minutes. +| [Instrumentation](#instrumentation) | L'instrumentation est le processus d'ajout de code à votre application pour capturer et rapporter des données d'observabilité. | +| [Bagages](#baggage) | Les bagages sont des informations contextuelles qui sont transmises entre les traces, les métriques et les journaux sous forme de paires clé-valeur. | -## Services +## Services {#services} -Une fois [votre application instrumentée][3], le [Software Catalog][4] devient votre point d'entrée principal pour les données APM. +Après avoir [instrumenté votre application][3], le [Catalogue][4] est votre page d'accueil principale pour les données APM. -{{< img src="tracing/visualization/software_catalog.png" alt="Software Catalog" >}} +{{< img src="tracing/visualization/software_catalog.png" alt="Catalogue" >}} -Les services sont les composants d'une architecture de microservices moderne. Un service regroupe généralement des endpoints, des requêtes ou des tâches qui procèdent au scaling de vos instances. Par exemple : +Les services représentent les éléments constitutifs des architectures de microservices modernes. En d'autres termes, un service regroupe des endpoints, des requêtes ou des tâches afin de mettre des instances à l'échelle. Quelques exemples : -* Un groupe d'endpoints d'URL formant un service d'API. -* Un groupe de requêtes de base de données formant un service de base de données. +* Un groupe de points de terminaison URL peut être regroupé sous un service API. +* Un groupe de requêtes DB qui sont regroupées au sein d'un service de base de données. * Un groupe de tâches périodiques configurées dans le service crond. -La capture d'écran ci-dessous montre un système distribué à base de microservices pour un développeur de sites de e-commerce. On observe un `web-store`, un `ad-server`, un `payment-db` et un `auth-service`, tous représentés en tant que services dans l'APM. +La capture d'écran ci-dessous est un système de microservices pour un constructeur de site e-commerce. Il y a un `web-store`, `ad-server`, `payment-db` et `auth-service` tous représentés comme des services dans APM. -{{< img src="tracing/visualization/service_map.png" alt="service map" >}} +{{< img src="tracing/visualization/service_map.png" alt="carte des services" >}} -Tous les services sont répertoriés dans le [Software Catalog][4] et représentés visuellement sur la [Service Map][5]. Chaque service dispose de sa propre [page de service][6], où vous pouvez consulter et analyser des [métriques de trace](#metriques-de-trace) telles que le débit, la latence et le taux d'erreurs. Utilisez ces métriques pour créer des widgets de tableau de bord, configurer des monitors et visualiser les performances de chaque ressource, comme un endpoint web ou une requête de base de données associée au service. +Tous les services peuvent être trouvés dans le [Catalogue][4] et représentés visuellement sur la [Carte des Services][5]. Chaque service a sa propre [page de service][6] où [les métriques de trace](#trace-metrics) comme le débit, la latence et les taux d'erreur peuvent être consultés et inspectés. Utilisez ces métriques pour créer des widgets de tableau de bord, créer des moniteurs et voir la performance de chaque ressource telle qu'un point de terminaison web ou une requête de base de données appartenant au service. -{{< img src="tracing/visualization/service_page.mp4" video="true" alt="page service" >}} +{{< img src="tracing/visualization/service_page.mp4" video="true" alt="service page" >}}
-Vous ne voyez pas les endpoints HTTP attendus sur la page du service ? Dans la solution APM, les endpoints sont rattachés à un service non seulement par le nom du service, mais aussi via le `span.name` de la span d’entrée de la trace. Par exemple, pour le service web-store ci-dessus, `web.request` est la span d’entrée. Plus d'infos à ce sujet ici.
+Ne voyez-vous pas les points de terminaison HTTP que vous attendiez sur la page de service ? Dans APM, les points de terminaison sont connectés à un service par plus que le nom du service. C'est également fait avec le `span.name` du span de point d'entrée de la trace. Par exemple, sur le service de boutique en ligne ci-dessus, `web.request` est le span de point d'entrée. Plus d'informations sur ce ici. +
-## Ressources +## Ressources {#resources} -Les ressources représentent un domaine particulier d'une application client. Il s'agit généralement d'un endpoint web instrumenté, d'une requête de base de données ou d'une tâche en arrière-plan. Pour un service Web, ces ressources peuvent être des endpoints web dynamiques regroupés sous un nom de span tel que `web.request`. Pour un service de base de données, il peut s'agir de requêtes de base de données portant le nom de span `db.query`. Par exemple, le service `web-store` possède des ressources automatiquement instrumentées (endpoints web) qui gèrent les paiements, les mises à jour de panier, les ajouts d'articles, etc. Le nom d'une ressource peut correspondre à la méthode ou route HTTP, par exemple `GET /productpage` ou `ShoppingCartController#checkout`. +Les ressources représentent un domaine particulier d'une application client. Elles peuvent typiquement être un point de terminaison web instrumenté, une requête de base de données ou un travail en arrière-plan. Pour un service web, ces ressources peuvent être des points de terminaison web dynamiques regroupés par un nom de span statique - `web.request`. Dans un service de base de données, il s'agirait de requêtes de base de données avec le nom de span `db.query`. Par exemple, le `web-store` service dispose de ressources instrumentées automatiquement – des points de terminaison web – qui gèrent la finalisation des achats, la mise à jour des paniers, l'ajout d'articles, etc. Un nom de ressource peut être la méthode HTTP et la route HTTP, par exemple `GET /productpage` ou `ShoppingCartController#checkout`. -Chaque ressource possède sa propre [page de ressource][7] avec des [métriques de trace][15] ciblées sur l'endpoint concerné. Les métriques de trace peuvent être utilisées comme n'importe quelle autre métrique Datadog : elles sont exportables vers un tableau de bord ou peuvent servir à créer des monitors. La page des ressources affiche également le widget de résumé de span avec une vue agrégée des [spans][21] pour toutes les [traces](#trace), la distribution de la latence des requêtes, et les traces correspondant aux requêtes adressées à cet endpoint. +Chaque ressource a sa propre [page de ressource][7] avec des [métriques de trace][15] spécifiques au point de terminaison. Les métriques de trace peuvent être utilisées comme n'importe quelle autre métrique Datadog - elles sont exportables vers un tableau de bord ou peuvent être utilisées pour créer des moniteurs. La page de ressource montre également le widget de résumé de span avec une vue agrégée des [spans][21] pour toutes les [traces](#trace), la distribution de latence des requêtes et les traces qui montrent les requêtes effectuées vers ce point de terminaison. -{{< img src="tracing/visualization/resource_page.mp4" video="true" alt="page ressource" >}} +{{< img src="tracing/visualization/resource_page.mp4" video="true" alt="page de ressource" >}} -## Trace +## Trace {#trace} -Les traces servent à suivre le temps passé par une application à traiter une requête, ainsi que le statut de la requête en question. Chaque trace est composée d'une ou de plusieurs spans. Durant le cycle de vie de la requête, il est possible de visualiser les appels distribués au sein de vos services (grâce à [l'injection/l'extraction d'un ID de trace via les en-têtes HTTP][8]), de vos [bibliothèques instrumentées automatiquement][3] et de vos [instrumentations manuelles][9] à l'aide d'outils open source, tels que [OpenTracing][10], sous forme de flamegraph. La page Trace View présente des informations sur une trace issues d'autres solutions de la plateforme, notamment les données provenant de l'[association de vos logs à vos traces][11], de l'[ajout de tags à des spans][12] et de la [collecte de métriques runtime][13]. +Une trace est utilisée pour suivre le temps passé par une application à traiter une requête et l'état de cette requête. Chaque trace se compose d'un ou plusieurs spans. Au cours de la durée de la requête, vous pouvez voir des appels distribués à travers les services (car un [trace-id est injecté/extrait à travers les en-têtes HTTP][8]), [des bibliothèques instrumentées automatiquement][3] et [une instrumentation manuelle][9] utilisant des outils open-source comme [OpenTracing][10] dans la vue du flame graph. Dans la page de vue de trace, chaque trace collecte des informations qui la relient à d'autres parties de la plateforme, y compris [la connexion des journaux aux traces][11], [l'ajout de balises aux spans][12], et [la collecte de métriques d'exécution][13]. -{{< img src="tracing/visualization/trace_view.png" alt="vue trace" >}} +{{< img src="tracing/visualization/trace_view.png" alt="vue de trace" >}} -## Propagation du contexte de trace +## Propagation du contexte de trace {#trace-context-propagation} -La propagation du contexte de trace est la méthode qui permet de transmettre les identifiants de trace entre les services dans un système distribué. Elle permet à Datadog d'assembler les spans individuelles provenant de différents services en une trace distribuée unique. La propagation du contexte de trace fonctionne en injectant des identifiants, tels que l'ID de trace et l'ID de la span parente, dans les en-têtes HTTP à mesure que la requête circule dans le système. Le service en aval extrait ensuite ces identifiants et poursuit la trace. Cela permet à Datadog de reconstruire le chemin complet d'une requête à travers plusieurs services. +La propagation du contexte de trace est la méthode de transmission des identifiants de trace entre les services dans un système distribué. Elle permet à Datadog de relier des spans individuels provenant de différents services en une seule trace distribuée. La propagation du contexte de trace fonctionne en injectant des identifiants, tels que l'ID de trace et l'ID de span parent, dans les en-têtes HTTP au fur et à mesure que la requête circule dans le système. Le service en aval extrait ensuite ces identifiants et continue la trace. Cela permet à Datadog de reconstruire le chemin complet d'une requête à travers plusieurs services. -Pour en savoir plus, consultez [la documentation sur la propagation du contexte de trace][27] pour le langage de votre application. +Pour plus d'informations, consultez la [propagation du contexte de trace][27] pour le langage de votre application. -## Filtres de rétention +## Filtres de rétention {#retention-filters} -[Configurez des filtres basés sur des tags][19] dans l'interface pour indexer les spans pendant 15 jours en vue de leur utilisation avec la fonctionnalité d'[analyse et de recherche de traces][14]. +[Définissez des filtres basés sur des tags][19] dans l'interface utilisateur pour indexer les spans pendant 15 jours pour une utilisation avec [Trace Search and Analytics][14]. -## Paramètres d'ingestion +## Contrôles d'ingestion {#ingestion-controls} -[Envoyez toutes les traces][20] de vos services à Datadog et tirez parti des [filtres de rétention basés sur des tags](#filtres-de-retention) afin de conserver uniquement les traces qui intéressent votre entreprise pendant 15 jours. +[Envoyez 100 % des traces][20] de vos services vers Datadog et combinez-les avec [des filtres de rétention basés sur des tags](#retention-filters) pour conserver les traces qui comptent pour votre entreprise pendant 15 jours. -## Instrumentation +## Instrumentation {#instrumentation} -L'instrumentation consiste à ajouter du code à votre application pour capturer et envoyer à Datadog des données d'observabilité, telles que des traces, des métriques et des logs. Datadog fournit des bibliothèques d'instrumentation pour différents langages de programmation et frameworks. +L'instrumentation est le processus d'ajout de code à votre application pour capturer et rapporter des données d'observabilité à Datadog, telles que des traces, des métriques et des journaux. Datadog fournit des bibliothèques d'instrumentation pour divers langages de programmation et frameworks. -Vous pouvez instrumenter automatiquement votre application en installant l'Agent Datadog avec [l'instrumentation en une seule étape][24] ou en [ajoutant manuellement les bibliothèques de tracing Datadog][25] à votre code. +Vous pouvez instrumenter automatiquement votre application lorsque vous installez l'Agent Datadog avec [Single Step Instrumentation][24] ou lorsque vous [ajoutez manuellement les SDK Datadog][25] à votre code. -Vous pouvez également utiliser une instrumentation personnalisée en intégrant directement du code de tracing dans votre application. Cela vous permet de créer, modifier ou supprimer des traces par programmation avant de les envoyer à Datadog. +Vous pouvez utiliser une instrumentation personnalisée en intégrant du code de traçage directement dans le code de votre application. Cela vous permet de créer, modifier ou supprimer des traces de manière programmatique à envoyer à Datadog. -Pour en savoir plus, consultez la page [Instrumentation de l'application][26]. +Pour en savoir plus, lisez [Application Instrumentation][26]. -## Bagage +## Baggage {#baggage} -Le bagage permet de propager des paires clé-valeur (également appelées éléments de bagage) entre les services d'un système distribué. Contrairement au contexte de trace, qui se concentre sur les identifiants de trace, le bagage permet la transmission de données métier et d'autres informations contextuelles en parallèle des traces. +Le baggage permet de propager des paires clé-valeur (également appelées baggage items) à travers les frontières de service dans un système distribué. Contrairement au contexte de trace, qui se concentre sur les identifiants de trace, le baggage permet la transmission de données commerciales et d'autres informations contextuelles aux côtés des traces. -Pour en savoir plus, consultez les [formats de propagation pris en charge][28] pour le langage de votre application. +Pour en savoir plus, lisez les [formats de propagation][28] pris en charge pour le langage de votre application. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} -[2]: /fr/developers/guide/data-collection-resolution/ +[2]: /fr/extend/guide/data-collection-resolution/ [3]: /fr/tracing/setup/ -[4]: /fr/tracing/software_catalog/ +[4]: /fr/internal_developer_portal/catalog/ [5]: /fr/tracing/services/services_map/ [6]: /fr/tracing/services/service_page/ [7]: /fr/tracing/services/resource_page/ diff --git a/content/fr/tracing/other_telemetry/connect_logs_and_traces/dotnet.md b/content/fr/tracing/other_telemetry/connect_logs_and_traces/dotnet.md index 1c84180c411..f12ddc22ebb 100644 --- a/content/fr/tracing/other_telemetry/connect_logs_and_traces/dotnet.md +++ b/content/fr/tracing/other_telemetry/connect_logs_and_traces/dotnet.md @@ -8,13 +8,13 @@ description: Associez vos logs .NET à vos traces pour les mettre en corrélatio further_reading: - link: tracing/trace_collection/custom_instrumentation tag: Documentation - text: Instrumenter vos applications manuellement pour créer des traces + text: Gérer vos applications manuellement pour créer des traces. - link: tracing/glossary/ tag: Documentation text: Explorer vos services, ressources et traces - link: https://www.datadoghq.com/blog/request-log-correlation/ - tag: GitHub - text: Corréler automatiquement vos logs de requête avec vos traces + tag: Blog + text: Corréler automatiquement des logs de requête avec des traces - link: /logs/guide/ease-troubleshooting-with-cross-product-correlation/ tag: Guide text: Bénéficiez de diagnostics simplifiés grâce à la mise en corrélation entre @@ -22,8 +22,7 @@ further_reading: title: Mettre en corrélation vos logs .NET avec vos traces type: multi-code-lang --- - -Vous pouvez configurer votre bibliothèque de logging et le tracing .NET de façon à injecter vos ID de trace et de span dans vos logs d'application. Vos données de surveillance des performances de votre application seront ainsi mises en corrélation avec vos données de log. +Vous pouvez configurer votre bibliothèque de logging et vos configurations de tracing .NET de façon à injecter vos ID de trace et de span dans vos logs d'application. Vos données de surveillance des performances de votre application seront ainsi mises en corrélation avec vos données de log. Configurez le traceur .NET avec le [tagging de service unifié][1] pour profiter d'une expérience optimale et d'informations de contexte utiles lorsque vous mettez en corrélation vos traces d'application et vos logs. @@ -31,77 +30,76 @@ Le traceur .NET prend en charge les bibliothèques de logging suivantes : - [Serilog][2] (v1.4+) - [log4net][3] - [NLog][4] -- [Microsoft.Extensions.Logging][5] (ajouté avec la v1.28.6) +- [Microsoft.Extensions.Logging][5] (ajouté dans v1.28.6) -## Configurer la collecte de logs +## Configurer la collecte des journaux {#configure-log-collection} -Vérifiez que la collecte de logs est activée dans l'Agent Datadog et que la [configuration de l'Agent de log][15] pour le suivi des fichiers spécifiés est définie sur `source: csharp`, afin que les pipelines de log puissent parser les fichiers de log. Pour en savoir plus, consultez la section [Collecte de logs avec C#][7]. Si la `source` est définie sur une valeur autre que `csharp`, vous devrez peut-être ajouter un [remappeur de traces][8] vers le pipeline de traitement de logs approprié pour que la mise en corrélation fonctionne correctement. +Assurez-vous que la collecte des journaux est configurée dans l'Agent Datadog et que la [configuration de l'Agent Logs][15] pour les fichiers spécifiés à suivre est définie sur `source: csharp` afin que les pipelines de journaux puissent analyser les fichiers journaux. Pour plus d'informations, voir [C# Log Collection][7]. Si le `source` est défini sur une valeur autre que `csharp`, vous devrez peut-être ajouter un [trace remapper][8] au pipeline de traitement des journaux approprié pour que la corrélation fonctionne correctement. -
Remarque : la collecte automatique de logs fonctionne uniquement pour les logs au format JSON. Pour les autres formats, utilisez des règles de parsing personnalisées.
+
La collecte automatique des journaux ne fonctionne que pour les journaux formatés en JSON. Alternativement, utilisez des règles d'analyse personnalisées.
-## Configurer l'injection dans les logs +## Configurer l'injection dans les journaux {#configure-injection-in-logs} Pour injecter des identificateurs de corrélation dans vos messages de log, suivez les instructions ci-dessous pour votre bibliothèque de journalisation.
-
Consultez les extraits dans dd-trace-dotnet pour obtenir d'autres exemples.
-
+ Voir les exemples dans dd-trace-dotnet pour plus d'exemples.
{{< tabs >}} {{% tab "Serilog" %}}
- Remarque : depuis la version 2.0.1 du traceur .NET, l'injection automatique pour la bibliothèque de journalisation Serilog requiert l'instrumentation automatique de l'application. + Remarque : À partir de la version 2.0.1 du Tracer .NET, l'injection automatique pour la bibliothèque de journaux Serilog nécessite que l'application soit instrumentée avec une instrumentation automatique.
Pour injecter automatiquement des identificateurs de corrélation dans vos messages de log, procédez comme suit : -1. Configurez le traceur .NET avec les paramètres suivants : +1. Configurer le Tracer .NET avec les paramètres de tracer suivants : - `DD_ENV` - `DD_SERVICE` - `DD_VERSION` -2. Pour activer le tracing de l'instrumentation automatique de votre application, suivez les [instructions d'installation du traceur .NET][1]. +2. Activez le traçage d'auto-instrumentation de votre application en suivant les [instructions pour installer le Tracer .NET][1]. [1]: https://docs.datadoghq.com/fr/tracing/trace_collection/dd_libraries/dotnet-core/ {{% /tab %}} {{% tab "log4net" %}}
- Remarque : depuis la version 1.29.0 du traceur .NET, l'injection automatique pour la bibliothèque de journalisation log4net requiert l'instrumentation automatique de l'application. + Remarque : À partir de la version 1.29.0 du Tracer .NET, l'injection automatique pour la bibliothèque de journaux log4net nécessite que l'application soit instrumentée avec une instrumentation automatique.
Pour injecter automatiquement des identificateurs de corrélation dans vos messages de log, procédez comme suit : -1. Configurez le traceur .NET avec les paramètres suivants : +1. Configurer le Tracer .NET avec les paramètres de tracer suivants : - `DD_ENV` - `DD_SERVICE` - `DD_VERSION` -2. Pour activer le tracing de l'instrumentation automatique de votre application, suivez les [instructions d'installation du traceur .NET][1]. +2. Activez le traçage d'auto-instrumentation de votre application en suivant les [instructions pour installer le Tracer .NET][1]. -3. Ajoutez les propriétés de log `dd.env`, `dd.service`, `dd.version`, `dd.trace_id` et `dd.span_id` à votre sortie de journalisation. Pour ce faire, vous pouvez inclure _chaque_ propriété ou l'_ensemble_ d'entre elles. L'exemple de code suivant illustre les deux approches : +3. Ajoutez les propriétés de journaux `dd.env`, `dd.service`, `dd.version`, `dd.trace_id` et `dd.span_id` dans votre sortie de journal. Cela peut être fait en incluant ces propriétés _individuellement_ ou en incluant _toutes_ les propriétés de journaux. Les deux approches sont montrées dans le code d'exemple suivant : ```xml - + - + - + - - + + - + ``` @@ -114,22 +112,22 @@ Pour obtenir d'autres exemples, consultez le [projet d'injection automatique des {{% tab "NLog" %}}
- Remarque : depuis la version 2.0.1 du traceur .NET, l'injection automatique pour la bibliothèque de journalisation NLog requiert l'instrumentation automatique de l'application. + Remarque : À partir de la version 2.0.1 de .NET Tracer, l'injection automatique pour la bibliothèque de journalisation NLog nécessite que l'application soit instrumentée avec une instrumentation automatique.
Pour injecter automatiquement des identificateurs de corrélation dans vos messages de log, procédez comme suit : -1. Configurez le traceur .NET avec les paramètres suivants : +1. Configurer le Tracer .NET avec les paramètres de tracer suivants : - `DD_ENV` - `DD_SERVICE` - `DD_VERSION` -2. Pour activer le tracing de l'instrumentation automatique de votre application, suivez les [instructions d'installation du traceur .NET][1]. +2. Activez le traçage d'auto-instrumentation de votre application en suivant les [instructions pour installer le Tracer .NET][1]. -3. Activez le contexte de diagnostic mappé (MDC), comme dans l'exemple de code suivant pour les versions 5.0+ de NLog : +3. Activez le contexte de diagnostic mappé (MDC), comme montré dans le code d'exemple suivant pour NLog version 5.0+ : ```xml - + @@ -138,10 +136,10 @@ Pour injecter automatiquement des identificateurs de corrélation dans vos messa ``` -Pour les versions 4.6 et ultérieures de NLog : +Pour les versions 4.6 et ultérieures de NLog : ```xml - + @@ -153,7 +151,7 @@ Pour les versions 4.6 et ultérieures de NLog : Pour la version 4.5 de NLog : ```xml - + @@ -172,14 +170,14 @@ Pour obtenir d'autres exemples, consultez les projets d'injection automatique de {{% tab "Microsoft.Extensions.Logging" %}} Pour injecter automatiquement des identificateurs de corrélation dans vos messages de log, procédez comme suit : -1. Configurez le traceur .NET avec les paramètres suivants : +1. Configurer le Tracer .NET avec les paramètres de tracer suivants : - `DD_ENV` - `DD_SERVICE` - `DD_VERSION` -2. Pour activer le tracing de l'instrumentation automatique de votre application, suivez les [instructions d'installation du traceur .NET][1]. +2. Activez le traçage d'auto-instrumentation de votre application en suivant les [instructions pour installer le Tracer .NET][1]. -3. Activez les [contexte de log][2] pour votre fournisseur de journalisation, tel qu'indiqué dans l'exemple de code ci-dessous. Seuls les fournisseurs prenant en charge les contextes de log injectent des identificateurs de corrélation. +3. Activez les [log scopes][2] pour votre fournisseur de journalisation, comme montré dans le code d'exemple. Seuls les fournisseurs qui prennent en charge les log scopes auront des identifiants de corrélation injectés. ```csharp Host.CreateDefaultBuilder(args) @@ -187,15 +185,15 @@ Host.CreateDefaultBuilder(args) { logging.AddFile(opts => { - opts.IncludeScopes = true; // les contextes doivent être inclus pour permettre l'ajout des identificateurs de corrélation + opts.IncludeScopes = true; // must include scopes so that correlation identifiers are added opts.FormatterName = "json"; }); } ``` -Si une trace est active lors de l'écriture du log, les ID de trace et de span sont automatiquement injectés dans les logs de l'application, avec les propriétés `dd_trace_id` et `dd_span_id`. Si aucune trace n'est active, seules les propriétés `dd_env`, `dd_service` et `dd_version` sont injectées. +S'il y a une trace active lorsque le journal est écrit, les identifiants de trace et de span sont automatiquement injectés dans les journaux de l'application avec les propriétés `dd_trace_id` et `dd_span_id`. S'il n'y a pas de trace active, seules les propriétés `dd_env`, `dd_service` et `dd_version` sont injectées. -**Remarque :** si votre bibliothèque de journalisation remplace l'implémentation `LoggerFactory` par défaut, par exemple le package [_Serilog.Extensions.Hosting_][3] ou le package [_Serilog.Extensions.Logging_][4], suivez les instructions spécifiques au framework (dans cet exemple, consultez les instructions pour **Serilog**). +**Remarque :** Si vous utilisez une bibliothèque de journalisation qui remplace l'implémentation par défaut `LoggerFactory` comme les paquets [_Serilog.Extensions.Hosting_][3] ou [_Serilog.Extensions.Logging_][4], suivez les instructions spécifiques au framework (dans cet exemple, voir **Serilog**). Pour obtenir d'autres exemples, consultez le [projet d'injection automatique des ID de trace avec Microsoft.Extensions.Logging][5] sur GitHub. @@ -208,41 +206,43 @@ Pour obtenir d'autres exemples, consultez le [projet d'injection automatique des {{% /tab %}} {{< /tabs >}} -Ensuite, finalisez la configuration en suivant les étapes pour l'injection automatique ou manuelle. +Ensuite, finalisez la configuration pour une injection automatique ou manuelle. + +## Injection automatique {#automatic-injection} -## Injection automatique +Pour activer l'injection automatique des identifiants de corrélation, assurez-vous que `DD_LOGS_INJECTION` est activé. -Pour activer l'injection automatique des identificateurs de corrélation, il ne vous reste plus qu'à effectuer l'étape suivante : +À partir de la version 3.24.0, `DD_LOGS_INJECTION` est activé par défaut. Pour les versions antérieures, définissez `DD_LOGS_INJECTION=true` dans les variables d'environnement de .NET Tracer. -1. Activez `DD_LOGS_INJECTION=true` dans les variables d'environnement du traceur .NET. Pour configurer le traceur .NET avec une autre méthode, consultez la [documentation dédiée][6]. +Pour configurer le .NET Tracer avec une méthode différente, voir [Configurer le .NET Tracer][6]. Une fois l'injection configurée, consultez la section [Collecte de logs avec C#][7] pour configurer la collecte de logs. -**Remarque** : pour mettre en corrélation les traces avec les logs, vous devrez peut-être définir un [remapper d'ID de trace][8] afin de parser `dd_trace_id` en tant qu'ID de trace des logs. Consultez la section [Les logs corrélés ne s'affichent pas dans le volet des ID de trace][9] pour en savoir plus. +**Remarque :** Pour corréler les traces avec les journaux, vous devrez peut-être configurer un [trace ID remapper][8] pour analyser `dd_trace_id` comme l'ID de trace du journal. Voir [Journaux corrélés non affichés dans le panneau d'ID de trace][9] pour plus d'informations. -
Bêta : depuis la version 2.35.0, si la configuration à distance de l'Agent est activée à l'emplacement où ce service s'exécute, vous pouvez définir DD_LOGS_INJECTION depuis l'interface du catalogue des services.
+
Starting in version 2.35.0, if Agent Remote Configuration is enabled where this service runs, you can set DD_LOGS_INJECTION dans l'interface utilisateur Catalog.
-## Injection manuelle +## Injection manuelle {#manual-injection} Si vous préférez corréler manuellement vos traces avec vos logs, vous pouvez ajouter des identificateurs de corrélation à vos logs : - | Clé requise | Rôle | + | Clé requise | Description | | -------------- | -------------------------------------------- | - | `dd.env` | Configure globalement le paramètre `env` pour le traceur. Valeur par défaut en l'absence de configuration : `""`. | - | `dd.service` | Configure globalement le nom du service racine. Valeur par défaut en l'absence de configuration : le nom de l'application ou le nom du site IIS. | - | `dd.version` | Configure globalement le paramètre `version` pour le service. Valeur par défaut en l'absence de configuration : `""`. | - | `dd.trace_id` | ID de la trace active lors de la déclaration du log. Valeur par défaut en l'absence de trace : `0`. | - | `dd.span_id` | ID de la span active lors de la déclaration du log. Valeur par défaut en l'absence de span : `0`. | + | `dd.env` | Configure globalement le `env` pour le SDK. Par défaut, cela vaut `""` si non défini. | + | `dd.service` | Configure globalement le nom du service racine. Par défaut, cela prend le nom de l'application ou le nom du site IIS si non défini. | + | `dd.version` | Configure globalement `version` pour le service. Par défaut, cela vaut `""` si non défini. | + | `dd.trace_id` | ID de trace actif (représenté comme un nombre décimal de 64 bits) pendant l'instruction de journalisation. Par défaut, cela vaut `0` s'il n'y a pas de trace. | + | `dd.span_id` | ID de span actif (représenté comme un nombre décimal de 64 bits) pendant l'instruction de journalisation. Par défaut, cela vaut `0` s'il n'y a pas de trace. | -**Remarque** : si vous n'utilisez pas une [intégration de log de Datadog][7] pour parser vos logs, des règles de parsing de log personnalisées doivent être définies pour parser `dd.trace_id` et `dd.span_id` en tant que chaînes. Pour en savoir plus, consultez la documentation [Les logs corrélés ne s'affichent pas dans le volet des ID de trace][10]. +**Remarque:** Si vous n'utilisez pas une [Datadog Log Integration][7] pour analyser vos journaux, des règles d'analyse de journaux personnalisées doivent analyser `dd.trace_id` et `dd.span_id` comme des chaînes. Pour plus d'informations, voir [Les journaux corrélés n'apparaissent pas dans le panneau ID de trace][10]. -**Remarque** : si vous utilisez Serilog, Nlog ou log4net via ILogger, consultez la section Microsoft.Extensions.Logging pour configurer ces propriétés avec `BeginScope()`. +**Remarque** : Si vous utilisez Serilog, NLog ou log4net via ILogger, consultez la section Microsoft.Extensions.Logging pour configurer ces propriétés en utilisant `BeginScope()`. -Après avoir effectué les [étapes de prise en main](#prise-en-main), procédez comme suit pour terminer la configuration de l'enrichissement manuel de vos logs : +Après avoir complété les [étapes de démarrage](#getting-started), terminez votre configuration manuelle d'enrichissement des journaux : -1. Ajoutez le [package NuGet `Datadog.Trace`][11] comme référence dans votre projet. +1. Référencez le [`Datadog.Trace` paquet NuGet][11] dans votre projet. -2. Utilisez l'API `CorrelationIdentifier` pour récupérer les identificateurs de corrélation et les ajouter au contexte des logs lorsqu'une span est active. +2. Utilisez l'API `CorrelationIdentifier` pour récupérer les identifiants de corrélation et les ajouter au contexte de journalisation pendant qu'un span est actif. Enfin, consultez la section [Collecte de logs avec C#][7] pour configurer la collecte de logs. @@ -251,20 +251,20 @@ Exemples : {{< tabs >}} {{% tab "Serilog" %}} -**Remarque** : la bibliothèque Serilog exige que les noms de propriété de message soient des identificateurs C# valides. Les noms de propriété imposés sont : `dd_env`, `dd_service`, `dd_version`, `dd_trace_id` et `dd_span_id`. +**Remarque** : La bibliothèque Serilog nécessite que les noms des propriétés de message soient des identifiants C# valides. Les noms de propriétés requis sont : `dd_env`, `dd_service`, `dd_version`, `dd_trace_id` et `dd_span_id`. ```csharp using Datadog.Trace; using Serilog.Context; -// Des spans doivent avoir été initialisées et être actives avant ce bloc. +// there must be spans started and active before this block. using (LogContext.PushProperty("dd_env", CorrelationIdentifier.Env)) using (LogContext.PushProperty("dd_service", CorrelationIdentifier.Service)) using (LogContext.PushProperty("dd_version", CorrelationIdentifier.Version)) using (LogContext.PushProperty("dd_trace_id", CorrelationIdentifier.TraceId.ToString())) using (LogContext.PushProperty("dd_span_id", CorrelationIdentifier.SpanId.ToString())) { - // Loguer quelque chose + // Log something } ``` @@ -275,7 +275,7 @@ using (LogContext.PushProperty("dd_span_id", CorrelationIdentifier.SpanId.ToStri using Datadog.Trace; using log4net; -// Des spans doivent avoir été initialisées et être actives avant ce bloc. +// there must be spans started and active before this block. try { LogicalThreadContext.Properties["dd.env"] = CorrelationIdentifier.Env; @@ -284,7 +284,7 @@ try LogicalThreadContext.Properties["dd.trace_id"] = CorrelationIdentifier.TraceId.ToString(); LogicalThreadContext.Properties["dd.span_id"] = CorrelationIdentifier.SpanId.ToString(); - // Loguer quelque chose + // Log something } finally @@ -304,14 +304,14 @@ finally using Datadog.Trace; using NLog; -// Des spans doivent avoir été initialisées et être actives avant ce bloc. +// there must be spans started and active before this block. using (MappedDiagnosticsLogicalContext.SetScoped("dd.env", CorrelationIdentifier.Env)) using (MappedDiagnosticsLogicalContext.SetScoped("dd.service", CorrelationIdentifier.Service)) using (MappedDiagnosticsLogicalContext.SetScoped("dd.version", CorrelationIdentifier.Version)) using (MappedDiagnosticsLogicalContext.SetScoped("dd.trace_id", CorrelationIdentifier.TraceId.ToString())) using (MappedDiagnosticsLogicalContext.SetScoped("dd.span_id", CorrelationIdentifier.SpanId.ToString())) { - // Loguer quelque chose + // Log something } ``` @@ -324,7 +324,7 @@ using Microsoft.Extensions.Logging; ILogger _logger; -// Des spans doivent avoir été lancées et doivent être actives avant ce bloc. +// there must be spans started and active before this block. using(_logger.BeginScope(new Dictionary { {"dd.env", CorrelationIdentifier.Env}, @@ -334,7 +334,7 @@ using(_logger.BeginScope(new Dictionary {"dd.span_id", CorrelationIdentifier.SpanId.ToString()}, })) { - // Loguer un événement + // Log something } ``` @@ -342,11 +342,11 @@ using(_logger.BeginScope(new Dictionary {{< /tabs >}} Découvrez en détail comment utiliser BeginScope pour créer des messages de log structurés pour les fournisseurs suivants : -- Serilog : [The semantics of ILogger.BeginScope()][12] -- NLog : [NLog properties with Microsoft Extension Logging][13] -- log4net : [Using BeginScope][14] +- Serilog : [La sémantique de ILogger.BeginScope()][12] +- NLog : [Propriétés NLog avec Microsoft Extension Logging][13] +- log4net : [Utilisation de BeginScope][14] -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -357,7 +357,7 @@ Découvrez en détail comment utiliser BeginScope pour créer des messages de lo [5]: https://docs.microsoft.com/en-us/dotnet/core/extensions/logging [6]: /fr/tracing/trace_collection/library_config/dotnet-core/#configuring-the-net-tracer [7]: /fr/logs/log_collection/csharp/ -[8]: /fr/logs/log_configuration/processors/?tab=ui#trace-remapper +[8]: /fr/logs/log_configuration/processors/trace_remapper/ [9]: /fr/tracing/troubleshooting/correlated-logs-not-showing-up-in-the-trace-id-panel/?tab=withlogintegration [10]: /fr/tracing/troubleshooting/correlated-logs-not-showing-up-in-the-trace-id-panel/?tab=custom [11]: https://www.nuget.org/packages/Datadog.Trace/ diff --git a/content/fr/tracing/services/inferred_services.md b/content/fr/tracing/services/inferred_services.md index f6dfdd330ad..d9855e99676 100644 --- a/content/fr/tracing/services/inferred_services.md +++ b/content/fr/tracing/services/inferred_services.md @@ -1,40 +1,41 @@ --- aliases: - /fr/tracing/guide/inferred-service-opt-in +description: Découvrez automatiquement les dépendances des services, telles que les + bases de données et les files d'attente, grâce à l'analyse des requêtes sortantes. further_reading: - link: /tracing/services/service_page/ tag: Documentation text: En savoir plus sur les services dans Datadog title: Services déduits --- +## Aperçu {#overview} -## Section Overview +Datadog découvre automatiquement les dépendances d'un service instrumenté, telles que les bases de données, les files d'attente ou les API tierces, même si cette dépendance n'a pas été directement instrumentée. En analysant les requêtes sortantes de vos services instrumentés, Datadog déduit la présence de ces dépendances et collecte les métriques de performance associées. -Datadog découvre automatiquement les dépendances d'un service instrumenté, telles que les bases de données, files d'attente ou API tierces, même si ces dépendances ne sont pas directement instrumentées. En analysant les requêtes sortantes des services instrumentés, Datadog déduit la présence de ces dépendances et collecte les métriques de performance associées. - -{{< img src="tracing/visualization/service/dependencies_section.png" alt="Carte des dépendances de la page des services" style="width:90%;">}} +{{< img src="tracing/visualization/service/dependencies_section.png" alt="Carte des dépendances de la page de service" style="width:90%;">}} {{< site-region region="ap1,us3,us5,eu,us,ap2" >}} -Explorez les services déduits dans le [Software Catalog][1] en filtrant les entrées par type d'entité, comme une base de données, une file d'attente ou une API tierce. Chaque [page des services][2] est adaptée au type de service que vous analysez. Par exemple, les pages de services de base de données affichent des informations spécifiques à la base et incluent des données de surveillance si vous utilisez [Database Monitoring][3]. +Explorez les services inférés dans le [Catalogue][1] en filtrant les entrées par type d'entité, telles que base de données, file d'attente ou API tierce. Chaque [page de service][2] est adaptée au type de service que vous examinez. Par exemple, les pages de service de base de données présentent des informations spécifiques aux bases de données et incluent des données de [Database Monitoring] si vous l'utilisez. -## Configurer les services déduits +## Configurer les services inférés {#set-up-inferred-services} {{< tabs >}} {{% tab "Agent v7.60.0+" %}} -À partir de la version [7.60.0][1] de l'Agent Datadog, aucune configuration manuelle n'est nécessaire pour visualiser les services déduits. Les options requises (`apm_config.compute_stats_by_span_kind` et `apm_config.peer_tags_aggregation`) sont activées par défaut. +À partir de la version [7.60.0][1] de l'Agent Datadog, aucune configuration manuelle n'est nécessaire pour voir les services inférés. Les configurations requises—`apm_config.compute_stats_by_span_kind` et `apm_config.peer_tags_aggregation`—sont activées par défaut. [1]: https://github.com/DataDog/datadog-agent/releases/tag/7.60.0 {{% /tab %}} {{% tab "Agent v7.55.1 - v7.59.1" %}} -Pour les versions de l'Agent Datadog allant de [7.55.1][1] à [7.59.1][2], ajoutez ce qui suit dans votre fichier de configuration `datadog.yaml` : +Pour les versions de l'Agent Datadog [7.55.1][1] à [7.59.1][2], ajoutez ce qui suit à votre fichier de configuration `datadog.yaml` : {{< code-block lang="yaml" filename="datadog.yaml" collapsible="true" >}} -apm_config : - compute_stats_by_span_kind : true - peer_tags_aggregation : true +apm_config: + compute_stats_by_span_kind: true + peer_tags_aggregation: true {{< /code-block >}} @@ -47,7 +48,7 @@ DD_APM_PEER_TAGS_AGGREGATION=true {{< /code-block >}} -Si vous utilisez Helm, incluez ces variables d'environnement dans votre [fichier][3] `values.yaml`. +Si vous utilisez Helm, incluez ces variables d'environnement dans votre `values.yaml` [fichier][3]. [1]: https://github.com/DataDog/datadog-agent/releases/tag/7.55.1 [2]: https://github.com/DataDog/datadog-agent/releases/tag/7.59.1 @@ -55,14 +56,14 @@ Si vous utilisez Helm, incluez ces variables d'environnement dans votre [fichier {{% /tab %}} {{% tab "Agent v7.50.3 - v7.54.1" %}} -Pour les versions de l'Agent Datadog allant de [7.50.3][1] à [7.54.1][2], ajoutez ce qui suit dans votre fichier de configuration `datadog.yaml` : +Pour les versions de l'Agent Datadog [7.50.3][1] à [7.54.1][2], ajoutez ce qui suit à votre fichier de configuration `datadog.yaml` : {{< code-block lang="yaml" filename="datadog.yaml" collapsible="true" >}} -apm_config : - compute_stats_by_span_kind : true - peer_tags_aggregation : true - peer_tags : ["_dd.base_service", "amqp.destination", "amqp.exchange", "amqp.queue", "aws.queue.name", "aws.s3.bucket", "bucketname", "cassandra.keyspace", "db.cassandra.contact.points", "db.couchbase.seed.nodes", "db.hostname", "db.instance", "db.name", "db.namespace", "db.system", "grpc.host", "hostname", "http.host", "http.server_name", "messaging.destination", "messaging.destination.name", "messaging.kafka.bootstrap.servers", "messaging.rabbitmq.exchange", "messaging.system", "mongodb.db", "msmq.queue.path", "net.peer.name", "network.destination.name", "peer.hostname", "peer.service", "queuename", "rpc.service", "rpc.system", "server.address", "streamname", "tablename", "topicname"] +apm_config: + compute_stats_by_span_kind: true + peer_tags_aggregation: true + peer_tags: ["_dd.base_service","amqp.destination","amqp.exchange","amqp.queue","aws.queue.name","aws.s3.bucket","bucketname","cassandra.keyspace","db.cassandra.contact.points","db.couchbase.seed.nodes","db.hostname","db.instance","db.name","db.namespace","db.system","grpc.host","hostname","http.host","http.server_name","messaging.destination","messaging.destination.name","messaging.kafka.bootstrap.servers","messaging.rabbitmq.exchange","messaging.system","mongodb.db","msmq.queue.path","net.peer.name","network.destination.name","peer.hostname","peer.service","queuename","rpc.service","rpc.system","server.address","streamname","tablename","topicname"] {{< /code-block >}} @@ -72,28 +73,28 @@ Vous pouvez aussi définir ces variables d'environnement dans la configuration d DD_APM_COMPUTE_STATS_BY_SPAN_KIND=true DD_APM_PEER_TAGS_AGGREGATION=true -DD_APM_PEER_TAGS='["_dd.base_service", "amqp.destination", "amqp.exchange", "amqp.queue", "aws.queue.name", "aws.s3.bucket", "bucketname", "cassandra.keyspace", "db.cassandra.contact.points", "db.couchbase.seed.nodes", "db.hostname", "db.instance", "db.name", "db.namespace", "db.system", "grpc.host", "hostname", "http.host", "http.server_name", "messaging.destination", "messaging.destination.name", "messaging.kafka.bootstrap.servers", "messaging.rabbitmq.exchange", "messaging.system", "mongodb.db", "msmq.queue.path", "net.peer.name", "network.destination.name", "peer.hostname", "peer.service", "queuename", "rpc.service", "rpc.system", "server.address", "streamname", "tablename", "topicname"]". +DD_APM_PEER_TAGS='["_dd.base_service","amqp.destination","amqp.exchange","amqp.queue","aws.queue.name","aws.s3.bucket","bucketname","cassandra.keyspace","db.cassandra.contact.points","db.couchbase.seed.nodes","db.hostname","db.instance","db.name","db.namespace","db.system","grpc.host","hostname","http.host","http.server_name","messaging.destination","messaging.destination.name","messaging.kafka.bootstrap.servers","messaging.rabbitmq.exchange","messaging.system","mongodb.db","msmq.queue.path","net.peer.name","network.destination.name","peer.hostname","peer.service","queuename","rpc.service","rpc.system","server.address","streamname","tablename","topicname"]' {{< /code-block >}} -Si vous utilisez Helm, incluez ces variables d'environnement dans votre [fichier][3] `values.yaml`. +Si vous utilisez Helm, incluez ces variables d'environnement dans votre `values.yaml` [fichier][3]. [1]: https://github.com/DataDog/datadog-agent/releases/tag/7.50.3 [2]: https://github.com/DataDog/datadog-agent/releases/tag/7.54.1 [3]: https://github.com/DataDog/helm-charts/blob/main/charts/datadog/values.yaml {{% /tab %}} -{{% tab "OpenTelemetry Collector" %}} +{{% tab "Collector OpenTelemetry" %}} -Pour OpenTelemetry Collector, la version minimale recommandée est `opentelemetry-collector-contrib` [v0.95.0][1] ou ultérieure. Dans ce cas, mettez à jour cette configuration : +Pour le Collecteur OpenTelemetry, la version minimale recommandée est `opentelemetry-collector-contrib` [v0.95.0][1] ou ultérieure. Dans ce cas, mettez à jour cette configuration : {{< code-block lang="yaml" collapsible="true" >}} -connecteurs : - datadog/connecteur : - traces : - compute_stats_by_span_kind : true - peer_tags_aggregation : true - peer_tags : ["_dd.base_service", "amqp.destination", "amqp.exchange", "amqp.queue", "aws.queue.name", "aws.s3.bucket", "bucketname", "db.cassandra.contact.points", "db.couchbase.seed.nodes", "db.hostname", "db.instance", "db.name", "db.namespace", "db.system", "grpc.host", "hostname", "http.host", "http.server_name", "messaging.destination", "messaging.destination.name", "messaging.kafka.bootstrap.servers", "messaging.rabbitmq.exchange", "messaging.system", "mongodb.db", "msmq.queue.path", "net.peer.name", "network.destination.name", "peer.hostname", "peer.service", "queuename", "rpc.service", "rpc.system", "server.address", "streamname", "tablename", "topicname"] +connectors: + datadog/connector: + traces: + compute_stats_by_span_kind: true + peer_tags_aggregation: true + peer_tags: ["_dd.base_service","amqp.destination","amqp.exchange","amqp.queue","aws.queue.name","aws.s3.bucket","bucketname","db.cassandra.contact.points","db.couchbase.seed.nodes","db.hostname","db.instance","db.name","db.namespace","db.system","grpc.host","hostname","http.host","http.server_name","messaging.destination","messaging.destination.name","messaging.kafka.bootstrap.servers","messaging.rabbitmq.exchange","messaging.system","mongodb.db","msmq.queue.path","net.peer.name","network.destination.name","peer.hostname","peer.service","queuename","rpc.service","rpc.system","server.address","streamname","tablename","topicname"] {{< /code-block >}} @@ -101,29 +102,29 @@ Si votre version de Collector est inférieure à v0.95.0, mettez à jour la conf {{< code-block lang="yaml" collapsible="true" >}} -exportateurs : - datadog : - traces : - compute_stats_by_span_kind : true - peer_tags_aggregation : true - peer_tags : ["_dd.base_service", "amqp.destination", "amqp.exchange", "amqp.queue", "aws.queue.name", "aws.s3.bucket", "bucketname", "db.cassandra.contact.points", "db.couchbase.seed.nodes", "db.hostname", "db.instance", "db.name", "db.namespace", "db.system", "grpc.host", "hostname", "http.host", "http.server_name", "messaging.destination", "messaging.destination.name", "messaging.kafka.bootstrap.servers", "messaging.rabbitmq.exchange", "messaging.system", "mongodb.db", "msmq.queue.path", "net.peer.name", "network.destination.name", "peer.hostname", "peer.service", "queuename", "rpc.service", "rpc.system", "server.address", "streamname", "tablename", "topicname"] +exporters: + datadog: + traces: + compute_stats_by_span_kind: true + peer_tags_aggregation: true + peer_tags: ["_dd.base_service","amqp.destination","amqp.exchange","amqp.queue","aws.queue.name","aws.s3.bucket","bucketname","db.cassandra.contact.points","db.couchbase.seed.nodes","db.hostname","db.instance","db.name","db.namespace","db.system","grpc.host","hostname","http.host","http.server_name","messaging.destination","messaging.destination.name","messaging.kafka.bootstrap.servers","messaging.rabbitmq.exchange","messaging.system","mongodb.db","msmq.queue.path","net.peer.name","network.destination.name","peer.hostname","peer.service","queuename","rpc.service","rpc.system","server.address","streamname","tablename","topicname"] {{< /code-block >}} -**Exemple** : [collector.yaml][2]. +**Exemple** : [collector.yaml][2]. [1]: https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.95.0 [2]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/datadogexporter/examples/collector.yaml#L375-L395 {{% /tab %}} {{< /tabs >}} -## Nommer les entités inférées +## Nommer les entités inférées {#naming-inferred-entities} -Pour déterminer les noms et les types des dépendances de service déduites, Datadog utilise les attributs standard de span et les associe aux attributs `peer.*`. Par exemple, les API externes déduites utilisent le schéma de dénomination par défaut `net.peer.name`, comme `api.stripe.com`, `api.twilio.com` et `us6.api.mailchimp.com`. Les bases de données déduites utilisent le schéma de dénomination par défaut `db.instance`. +Pour déterminer les noms et types des dépendances de service inférées, Datadog utilise des attributs de span standard et les associe aux attributs `peer.*`. Par exemple, les API externes inférées utilisent le schéma de nommage par défaut `net.peer.name` comme `api.stripe.com`, `api.twilio.com` et `us6.api.mailchimp.com`. Les bases de données inférées utilisent le schéma de nommage par défaut `db.instance`. Vous pouvez renommer les entités inférées en créant des [règles de renommage][5]. -### Étiquettes Peer +### Tags de pair {#peer-tags} -Étiquette Peer | Attributs source +Tag de pair | Attributs source --------------------|------------------- `peer.aws.dynamodb.table` | `tablename` `peer.aws.kinesis.stream` | `streamname` @@ -141,42 +142,44 @@ Pour déterminer les noms et les types des dépendances de service déduites, Da `peer.rpc.system` | `rpc.system` `peer.service` | `peer.service` -**Remarque** : les valeurs d'attribut peer qui correspondent à des adresses IP (par exemple, 127.0.0.1) sont modifiées et remplacées par `blocked-ip-address` afin d'éviter les données inutiles et de ne pas étiqueter les métriques avec des dimensions à forte cardinalité. En conséquence, certains services `blocked-ip-address` peuvent apparaître comme des dépendances en aval de vos services instrumentés. +**Remarque** : Les valeurs des attributs pair qui correspondent aux formats d'adresse IP sont modifiées et masquées avec `blocked-ip-address` pour éviter un bruit inutile et le marquage des métriques avec des dimensions à haute cardinalité. En conséquence, vous pouvez rencontrer certains services `blocked-ip-address` apparaissant comme des dépendances en aval de vos services instrumentés. -#### Priorité des étiquettes peer +#### Précedence des tags de pair{#precedence-of-peer-tags} -Pour attribuer un nom aux entités inférées, Datadog utilise un ordre de priorité spécifique entre les étiquettes peer, notamment lorsque les entités sont définies par une combinaison de plusieurs attributs. +Pour attribuer un nom aux entités inférées, Datadog utilise un ordre de priorité spécifique entre les étiquettes peer, notamment lorsque les entités sont définies par une combinaison de plusieurs attributs. -Type d'entité | Ordre de priorité +Type d'entité | Ordre de précedence -----------|---------------- Base de données | `peer.db.name` > `peer.aws.s3.bucket` (Pour AWS S3) / `peer.aws.dynamodb.table` (Pour AWS DynamoDB) / `peer.cassandra.contact.points` (Pour Cassandra) / `peer.couchbase.seed.nodes` (Pour Couchbase) > `peer.hostname` > `peer.db.system` -Queue | `peer.messaging.destination` > `peer.kafka.bootstrap.servers` (pour Kafka) / `peer.aws.sqs.queue` (pour AWS SQS) / `peer.aws.kinesis.stream` (pour AWS Kinesis) > `peer.messaging.system` -Service déduit | `peer.service` > `peer.rpc.service` > `peer.hostname` +File d'attente | `peer.messaging.destination` > `peer.kafka.bootstrap.servers` (pour Kafka) / `peer.aws.sqs.queue` (pour AWS SQS) / `peer.aws.kinesis.stream` (pour AWS Kinesis) > `peer.messaging.system` +Service inféré | `peer.service` > `peer.rpc.service` > `peer.hostname` -Si l'attribut ayant la priorité la plus élevée, comme `peer.db.name`, n'est pas capturé par l'instrumentation, Datadog utilise l'attribut de priorité suivante (ex. `peer.hostname`), et ainsi de suite. +Si le tag de la plus haute priorité, tel que `peer.db.name`, n'est pas capturé dans le cadre de l'instrumentation, Datadog utilise le tag de la deuxième plus haute priorité, comme `peer.hostname`, et poursuit dans cet ordre. -**Remarque** : Datadog ne définit jamais `peer.service` pour les bases de données et les files d'attente inférées. `peer.service` est l'attribut peer ayant la plus haute priorité. S'il est défini, il prévaut sur tous les autres attributs. +**Remarque** : Datadog ne définit jamais le `peer.service` pour les bases de données et les files d'attente inférées. `peer.service` est l'attribut de pair de la plus haute priorité. S'il est défini, il prend le pas sur tous les autres attributs. -## Migrer vers la dénomination globale par défaut des services +## Migrer vers le nom de service par défaut global {#migrate-to-global-default-service-naming} -Avec les services inférés, les dépendances sont automatiquement détectées à partir des attributs de span existants. Il n'est donc **pas nécessaire** de modifier les noms de service (via le tag `service`) pour identifier ces dépendances. +Avec les services inférés, les dépendances de service sont automatiquement détectées à partir des attributs de span existants. En conséquence, il n'est pas nécessaire de changer les noms de service (en utilisant le tag `service`) pour identifier ces dépendances. -Activez la variable `DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED` pour vous assurer qu'aucune intégration Datadog ne définisse de noms de service différents du nom global par défaut. Cela améliore également la représentation des connexions service-à-service et des services déduits dans les visualisations Datadog, pour tous les langages et intégrations de bibliothèques de traçage pris en charge. +Activez `DD_TRACE_REMOVE_INTEGRATION_SERVICE_NAMES_ENABLED` pour garantir qu'aucune intégration Datadog ne définit des noms de service différents du nom de service global par défaut. Cela améliore également la manière dont les connexions entre services et les services inférés sont représentés dans les visualisations Datadog, dans tous les langages SDK et intégrations pris en charge. -
L'activation de cette option peut affecter les métriques APM existantes, les métriques personnalisées de span, l'analytique de trace, les filtres de rétention, les analyses de données sensibles, les monitors, les tableaux de bord ou les notebooks qui référencent les anciens noms de service. Mettez à jour ces éléments pour utiliser le tag global par défaut service:<DD_SERVICE>.
+
L'activation de cette option peut avoir un impact sur les métriques APM existantes, les métriques de span personnalisées, l'analyse des traces, les filtres de rétention, les analyses de données sensibles, les moniteurs, les tableaux de bord ou les carnets qui font référence aux anciens noms de service. Mettez à jour ces actifs pour utiliser le tag de service par défaut global (service:<DD_SERVICE>).
Pour savoir comment supprimer les remplacements de service et migrer vers les services inférés, consultez le [guide sur les remplacements de service][4]. -[1]: /fr/software_catalog/ +[1]: /fr/internal_developer_portal/catalog/ [2]: /fr/tracing/services/service_page [3]: /fr/database_monitoring/ [4]: /fr/tracing/guide/service_overrides +[5]: /fr/tracing/services/renaming_rules/ + {{< /site-region >}} -{{< site-region region="gov" >}} -
La fonctionnalité des services déduits n'est pas activée par défaut dans votre datacenter. Veuillez remplir ce formulaire pour demander l'accès.
+{{< site-region region="gov,gov2" >}} +
La fonctionnalité Services Inférés n'est pas disponible par défaut dans votre centre de données. Remplissez ce formulaire pour demander l'accès.
{{< /site-region >}} -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} \ No newline at end of file diff --git a/content/fr/tracing/trace_collection/compatibility/java.md b/content/fr/tracing/trace_collection/compatibility/java.md new file mode 100644 index 00000000000..b75791082eb --- /dev/null +++ b/content/fr/tracing/trace_collection/compatibility/java.md @@ -0,0 +1,538 @@ +--- +aliases: +- /fr/tracing/compatibility_requirements/ +- /fr/tracing/compatibility_requirements/java +- /fr/tracing/setup_overview/compatibility_requirements/java +code_lang: java +code_lang_weight: 0 +description: Exigences de compatibilité pour le traceur Java +further_reading: +- link: tracing/trace_collection/dd_libraries/java + tag: Documentation + text: Instrumenter votre application +title: Exigences de compatibilité Java +type: multi-code-lang +--- +## Compatibilité {#compatibility} + +La bibliothèque de tracing Datadog Java est open source. Consultez le [référentiel GitHub][1] pour en savoir plus. + +### Java runtimes pris en charge {#supported-java-runtimes} + +Le Java Tracer prend en charge l'instrumentation automatique pour les runtimes Oracle JDK, OpenJDK JVM et [GraalVM](#graalvm-native-image-support). + +#### Java Tracer v1 (latest) {#java-tracer-v1-latest} + + + + + + + + + + + + + + + + + + + + + + + + + + +
Versions JavaSystèmes d'exploitationNiveau de support
à partir de 27 et au-dessusWindows (x86, x86-64)
Linux (x86, x86-64, arm64)
Mac (x86, x86-64, arm64)
Aperçu
de 18 à 26Windows (x86, x86-64)
Linux (x86, x86-64, arm64)
Mac (x86, x86-64, arm64)
GA
de 8 à 17Windows (x86, x86-64)
Linux (x86, x86-64)
Mac (x86, x86-64)
GA
Linux (arm64)
Mac (arm64)
Aperçu
+ +Datadog ne prend pas officiellement en charge les versions de Java en accès anticipé. + +#### Java Tracer v0 {#java-tracer-v0} + +| Versions Java | Systèmes d'exploitation | Niveau de support | +|--------------------|---------------------------------------------------------------------------------|-----------------------------------| +| 7 uniquement | Windows (x86, x86-64)
Linux (x86, x86-64)
Mac (x86, x86-64) | [Fin de vie](#levels-of-support) | +| 7 uniquement | Linux (arm64)
Mac (arm64) | [Fin de vie](#levels-of-support) | + +### Niveaux de support {#levels-of-support} + +| **Niveau** | **Support fourni** | +|--------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +| Non pris en charge | Aucune implémentation. Contactez [le support Datadog][2] pour des demandes spéciales. | +| Aperçu | Implémentation initiale. Peut ne pas encore contenir toutes les fonctionnalités. Le support pour les nouvelles fonctionnalités ainsi que les corrections de bogues et de sécurité est fourni sur une base de meilleur effort. | +| Disponibilité générale (GA) | Implémentation complète de toutes les fonctionnalités. Support complet pour les nouvelles fonctionnalités ainsi que les corrections de bogues et de sécurité. | +| Maintenance | Implémentation complète des fonctionnalités existantes. Ne reçoit pas de nouvelles fonctionnalités. Support uniquement pour les corrections de bogues et de sécurité. | +| Fin de vie (EOL) | Aucun support. | + +## Intégrations {#integrations} + +Les intégrations en aperçu sont désactivées par défaut mais peuvent être activées individuellement : + +- Propriété système : `-Ddd.integration..enabled=true` +- Variable d'environnement : `DD_INTEGRATION__ENABLED=true` + +### Compatibilité des frameworks web {#web-framework-compatibility} + +`dd-java-agent` inclut le support pour le traçage automatique des frameworks web suivants. + +**Le traçage des frameworks web fournit :** + +- le temps de la requête HTTP à la réponse +- les balises pour la requête HTTP (code d'état, méthode, etc.) +- la capture des erreurs et des traces de pile +- le lien entre le travail créé dans une requête web et le traçage distribué + +| Serveur | Versions | Type de support | Noms d'instrumentation (utilisés pour la configuration) | +|-------------------------|--------------|--------------------------------------------------------|------------------------------------------------------------| +| Serveur Akka-Http | 10.0+ | Entièrement pris en charge | `akka-http`, `akka-http-server` | +| Apache Pekko | 1.0+ | Entièrement pris en charge | `pekko-http`, `pekko-http-server` | +| Finatra Web | 2.9+ | Entièrement pris en charge | `finatra` | +| Grizzly | 2.0+ | Entièrement pris en charge | `grizzly` | +| Grizzly-HTTP | 2.3.20+ | Entièrement pris en charge | `grizzly-filterchain` | +| Compatible avec Java Servlet | 2.3+, 3.0+ | Entièrement pris en charge | `servlet`, `servlet-2`, `servlet-3` | +| Annotations Jax-RS | JSR311-API | Entièrement pris en charge | `jax-rs`, `jaxrs`, `jax-rs-annotations`, `jax-rs-filter` | +| Jetty | 7.0-12.x | Entièrement pris en charge | `jetty` | +| Serveur HTTP Micronaut | 2.x+ | Entièrement pris en charge | `micronaut` | +| Mulesoft | 4.5.0+ | Entièrement pris en charge | `mule` | +| Serveur HTTP Netty | 3.8+ | Entièrement pris en charge | `netty`, `netty-3.8`, `netty-4.0`, `netty-4.1` | +| Play | 2.3-2.8 | Entièrement pris en charge | `play`, `play-action` | +| Ratpack | 1.5+ | Entièrement pris en charge | `ratpack` | +| Serveur HTTP Restlet | 2.2 - 2.4 | Entièrement pris en charge | `restlet-http`. | +| Spark Java | 2.3+ | [Aperçu](#framework-integrations-disabled-by-default) | `sparkjava` (nécessite `jetty`) | +| Spring Boot | 1.5+ | Entièrement pris en charge | `spring-web` ou `spring-webflux` | +| Spring Web (MVC) | 4.0+ | Entièrement pris en charge | `spring-web` | +| Spring WebFlux | 5.0+ | Entièrement pris en charge | `spring-webflux` | +| Tomcat | 5.5+ | Entièrement pris en charge | `tomcat` | +| Undertow | 2.0+ | Entièrement pris en charge | `undertow` | +| Vert.x | 3.4 - 5.x | Entièrement pris en charge | `vertx`, `vertx-3.4`, `vertx-3.9`, `vertx-4.0`, `vertx-5.0`| +| Websocket (JSR356) | 1.0+ | [Aperçu](#framework-integrations-disabled-by-default) | `websocket` | + +**Remarque** : De nombreux serveurs d'applications sont compatibles avec Servlet et sont automatiquement couverts par cette instrumentation, tels que Websphere, Weblogic et JBoss. +De plus, des frameworks comme Spring Boot (version 3) fonctionnent intrinsèquement car ils utilisent généralement un serveur d'application intégré pris en charge, tel que Tomcat, Jetty ou Netty. + +### Intégrations de framework désactivées par défaut {#framework-integrations-disabled-by-default} + +Les instrumentations suivantes sont désactivées par défaut et peuvent être activées avec les paramètres suivants : + +| Instrumentation | À activer | +|------------------------------|----------------------------------------------------------------------------------------------------------| +| Grizzly | `-Ddd.integration.grizzly-client.enabled=true` | +| Grizzly-HTTP | `-Ddd.integration.grizzly-filterchain.enabled=true` | +| Hazelcast (côté client uniquement) | `-Ddd.integration.hazelcast.enabled=true`
`-Ddd.integration.hazelcast_legacy.enabled=true` | +| Ignite | `-Ddd.integration.ignite.enabled=true` | +| JAX-WS | `-Ddd.integration.jax-ws.enabled=true` | +| Source de données JDBC | `-Ddd.integration.jdbc-datasource.enabled=true` | +| Mulesoft | `-Ddd.integration.mule.enabled=true` | +| Netty Promise | `-Ddd.integration.netty-promise.enabled=true` | +| Ning | `-Ddd.integration.ning.enabled=true` | +| Spark Java | `-Ddd.integration.sparkjava.enabled=true` | +| TIBCO BusinessWorks | `-Ddd.integration.tibco.enabled=true` | +| Connexion URL | `-Ddd.integration.urlconnection.enabled=true`
`-Ddd.integration.httpurlconnection.enabled=true` | +| Websocket | `-Ddd.trace.websocket.messages.enabled=true` | +| ZIO | `-Ddd.integration.zio.experimental.enabled=true` | + + +**Remarque** : L'instrumentation d'intégration JAX-WS couvre les endpoints annotés avec @WebService (JAX-WS 1.x) et @WebServiceProvider (JAX-WS 2.x). + +Vous ne voyez pas vos frameworks web souhaités ? Datadog ajoute continuellement un support supplémentaire. Contactez [le support Datadog][2] si vous avez besoin d'aide. + +### Compatibilité des frameworks de mise en réseau {#networking-framework-compatibility} + +`dd-java-agent` inclut le support pour le traçage automatique des frameworks de mise en réseau suivants. + +**Le traçage réseau fournit :** + +- le temps de la demande à la réponse +- les tags pour la demande (par exemple, le code de réponse) +- la capture des erreurs et des traces de pile +- le traçage distribué + +| Framework | Versions | Type de support | Noms d'instrumentation (utilisés pour la configuration) | +|------------------------------------|-------------|--------------------------------------------------------|---------------------------------------------------------| +| Apache HTTP Client | 4.0+ | Entièrement pris en charge | `httpclient`, `apache-httpclient`, `apache-http-client` | +| Apache HTTP Async Client | 4.0+ | Entièrement pris en charge | `httpasyncclient`, `apache-httpasyncclient` | +| AWS Java SDK | 1.11+, 2.2+ | Entièrement pris en charge | `aws-sdk` | +| Camel-OpenTelemetry | 3.12.0+ | Aperçu | [opentelemetry-1][5] | +| Commons HTTP Client | 2.0+ | Entièrement pris en charge | `commons-http-client` | +| Google HTTP Client | 1.19.0+ | Entièrement pris en charge | `google-http-client` | +| Google Pub/Sub | 1.116.0+ | Entièrement pris en charge | `google-pubsub` | +| Grizzly HTTP Client | 1.9+ | [Aperçu](#framework-integrations-disabled-by-default) | `grizzly-client` | +| gRPC | 1.5+ | Entièrement pris en charge | `grpc`, `grpc-client`, `grpc-server` | +| HttpURLConnection | toutes versions | Entièrement pris en charge | `httpurlconnection`, `urlconnection` | +| Kafka-Clients | 0.11+ | Entièrement pris en charge | `kafka` | +| Kafka-Streams | 0.11+ | Entièrement pris en charge | `kafka`, `kafka-streams` | +| Java RMI | toutes versions | Traçage distribué non pris en charge | `rmi`, `rmi-client`, `rmi-server` | +| Jax RS Clients | 2.0+ | Entièrement pris en charge | `jax-rs`, `jaxrs`, `jax-rs-client` | +| Jersey Client | 1.9-2.29 | Entièrement pris en charge | `jax-rs`, `jaxrs`, `jax-rs-client` | +| JMS / Jakarta JMS | 1-3.0+ | Entièrement pris en charge | `jms`, `jms-1`, `jms-2`, `jakarta-jms` | +| Netty HTTP Client | 4.0+ | Entièrement pris en charge | `netty`, `netty-4.0`, `netty-4.1` | +| Ning HTTP Client | 1.9.0+ | [Aperçu](#framework-integrations-disabled-by-default) | `ning` | +| OkHTTP | 2.2+ | Entièrement pris en charge | `okhttp`, `okhttp-2`,`okhttp-3` | +| Play WSClient | 1.0+ | Entièrement pris en charge | `play-ws` | +| Rabbit AMQP | 2.7+ | Entièrement pris en charge | `amqp`, `rabbitmq` | +| SOFA RPC | 5.0+ | Entièrement pris en charge | `sofarpc` | +| Spring SessionAwareMessageListener | 3.1+ | Entièrement pris en charge | `spring-jms-3.1` | +| Spring WebClient | 5.0+ | Entièrement pris en charge | `spring-webflux`, `spring-webflux-client` | + +**Note Kafka** : L'intégration Kafka de Datadog fonctionne avec la version Kafka `0.11+`, qui prend en charge l'API Header. Cette API est utilisée pour injecter et extraire le contexte de trace. Si vous exécutez un environnement avec des versions mixtes, le courtier Kafka peut signaler incorrectement la version plus récente de Kafka. Cela pose un problème lorsque le SDK essaie d'injecter des en-têtes qui ne sont pas pris en charge par le producteur local. De plus, les consommateurs plus anciens ne peuvent pas consommer le message en raison de la présence d'en-têtes. Pour éviter ces problèmes, si vous exécutez un environnement Kafka avec des versions mixtes antérieures à 0.11, désactivez la propagation du contexte avec la variable d'environnement : `DD_KAFKA_CLIENT_PROPAGATION_ENABLED=false`. + +**Note JMS** : L'intégration JMS de Datadog ajoute et lit automatiquement les propriétés des objets de message `x__dash__datadog__dash__trace__dash__id` et `x__dash__datadog__dash__parent__dash__id` pour maintenir la propagation du contexte entre les services consommateurs et producteurs. + +**Note Camel** : La propagation de trace distribuée sur les routes Camel n'est pas prise en charge. + +**Note SOFA RPC** : L'intégration SOFA RPC de Datadog prend en charge les protocoles de transport Bolt, Triple et REST. Triple utilise le transport gRPC ; le traçage distribué pour les appels Triple nécessite que l'intégration `grpc` reste activée. + +Vous ne voyez pas le framework réseau souhaité ? Datadog ajoute continuellement un support supplémentaire. Contactez [le support Datadog][2] si vous avez besoin d'aide. + +### Compatibilité des magasins de données {#data-store-compatibility} + +`dd-java-agent` inclut le support pour le traçage automatique des frameworks/drivers de base de données suivants. + +**Le traçage des magasins de données fournit :** + +- temps de la requête à la réponse +- informations de requête (par exemple, une chaîne de requête assainie) +- capture d'erreur et de stacktrace + +| Base de données | Versions | Type de support | Noms d'instrumentation (utilisés pour la configuration) | +|-------------------------|----------|-----------------|--------------------------------------------------------------------------------------------| +| Aerospike | 4.0+ | Entièrement pris en charge | `aerospike` | +| Couchbase | 2.0+ | Entièrement pris en charge | `couchbase` | +| Cassandra | 3.0+ | Entièrement pris en charge | `cassandra` | +| Elasticsearch Transport | 2.0+ | Entièrement pris en charge | `elasticsearch`, `elasticsearch-transport`, `elasticsearch-transport-{2,5,6,7}` (choisissez-en un) | +| Elasticsearch Rest | 5.0+ | Entièrement pris en charge | `elasticsearch`, `elasticsearch-rest`, `elasticsearch-rest-{5,6,7}` (choisissez-en un) | +| Ignite | 2.0-3.0 | [Aperçu](#framework-integrations-disabled-by-default) | `ignite` | +| JDBC | N/A | Entièrement pris en charge | `jdbc`, `jdbc-datasource` | +| Jedis | 1.4+ | Entièrement pris en charge | `jedis`, `redis` | +| Lettuce | 4.0+ | Entièrement pris en charge | `lettuce`, `lettuce-4-async`, `lettuce-5-rx` | +| MongoDB | 3.0-4.0+ | Entièrement pris en charge | `mongo` | +| OpenSearch Rest | 1.x-2.x | Entièrement pris en charge | `opensearch`, `opensearch-rest` | +| OpenSearch Transport | 1.x-2.x | Entièrement pris en charge | `opensearch`, `opensearch-transport` | +| RediScala | 1.5+ | Entièrement pris en charge | `rediscala`, `redis` | +| Redisson | 2.x-3.x | Entièrement pris en charge | `redisson`, `redis` | +| SpyMemcached | 2.12+ | Entièrement pris en charge | `spymemcached` | +| Vert.x Cassandra Client | 3.9-4.x | Entièrement pris en charge | `cassandra` | +| Vert.x Redis Client | 3.9-4.x | Entièrement pris en charge | `vertx-redis-client` | +| Vert.x MySQL Client | 3.9-4.x | Entièrement pris en charge | `vertx-sql-client` | + +**Remarque** : Redis 6.0+ prend en charge l'authentification en ligne dans des commandes telles que `HELLO`, `MIGRATE` et `ACL SETUSER`. + + - **Agent de trace Datadog** : La version minimale requise et recommandée est `7.76.1` pour garantir que les paramètres d'authentification sont automatiquement obfusqués dans les métadonnées de trace. + - **Extension Lambda Datadog** (environnements sans serveur) : La version minimale requise est `v28.0.0`. + +`dd-java-agent` est également compatible avec les pilotes JDBC courants, y compris : + +- Apache Derby +- Firebird SQL +- H2 Database Engine +- HSQLDB +- IBM DB2 +- MariaDB +- MSSQL (Microsoft SQL Server) +- MySQL +- Oracle +- Postgres SQL +- ScalikeJDBC + +### Intégrations de base de données désactivées par défaut {#database-integrations-disabled-by-default} + +Les instrumentations suivantes sont désactivées par défaut et peuvent être activées avec les paramètres suivants : + +| Instrumentation | Pour activer | +|-------------------|-------------------------------------------------| +| JDBC-Datasource | - Propriété système : `-Ddd.integration.jdbc-datasource.enabled=true`
- Variable d'environnement : `DD_INTEGRATION_JDBC_DATASOURCE_ENABLED=true` | + +Vous ne voyez pas vos magasins de données souhaités ? Datadog ajoute continuellement un support supplémentaire. Contactez [le support Datadog][2] si vous avez besoin d'aide. + +### Compatibilité supplémentaire avec les frameworks {#additional-framework-compatibility} + +`dd-java-agent` inclut le support pour le traçage automatique des frameworks suivants. + +| Framework | Versions | Support Type | Instrumentation Names (used for configuration) | +|---------------------|------------------|--------------------------------------------------------|------------------------------------------------| +| Apache CXF (Jax-WS) | 3.0+ | [OpenTelemetry Extension][10] | `cxf` | +| Datanucleus JDO | 4.0+ | Entièrement pris en charge | `datanucleus` | +| Dropwizard Views | 0.7+ | Entièrement pris en charge | `dropwizard`, `dropwizard-view` | +| GraphQL | 14.0+ | Entièrement pris en charge | `graphql-java` | +| Hazelcast (client) | 3.6+ | [Aperçu](#framework-integrations-disabled-by-default) | `hazelcast`, `hazelcast_legacy` | +| Hibernate | 3.5+ | Entièrement pris en charge | `hibernate`, `hibernate-core` | +| Hystrix | 1.4+ | Entièrement pris en charge | `hystrix` | +| Rendu JSP | 2.3+ | Entièrement pris en charge | `jsp`, `jsp-render`, `jsp-compile` | +| JUnit | 4.1+, 5.3+ | Entièrement pris en charge | `junit`, `junit-4`, `junit-5` | +| Kotlin Coroutines | 1.3+ | Entièrement pris en charge | `kotlin_coroutine` | +| Project Reactor | 3.1+ | Entièrement pris en charge | `reactor-core` | +| Quartz | 2.x | Entièrement pris en charge | `quartz` | +| RxJava | 2.x | Entièrement pris en charge | `rxjava` | +| Spring Data | 1.8+ | Entièrement pris en charge | `spring-data` | +| Planification Spring | 3.1+ | Entièrement pris en charge | `spring-scheduling` | +| TIBCO BusinessWorks | 5.14.0 - 6.11.0 | [Aperçu](#framework-integrations-disabled-by-default) | `tibco`, `tibco_bw` | +| Twilio SDK | < 8.0 | Entièrement pris en charge | `twilio-sdk` | + +Vous ne voyez pas les frameworks souhaités ? Datadog ajoute continuellement un support supplémentaire. Pour demander un framework, contactez notre [équipe de support][2]. + +Pour améliorer la visibilité des applications utilisant des frameworks non pris en charge, considérez l'une des solutions suivantes : + +- [Ajout d'instrumentation personnalisée][3]. +- [Soumettre un pull request][4] avec instrumentation pour inclusion dans une future version. +- Contacter [le support Datadog][2] et soumettre une demande de fonctionnalité. + +### Désactiver les intégrations {#disabling-integrations} + +La plupart des intégrations sont activées par défaut. Le paramètre suivant peut modifier la configuration par défaut afin de la désactiver. + +- Propriété système : `-Ddd.integrations.enabled=false` +- Variable d'environnement : `DD_INTEGRATIONS_ENABLED=false` + +Les intégrations peuvent être activées ou désactivées individuellement (ce qui remplace la valeur par défaut ci-dessus). + +- Propriété système : `-Ddd.integration..enabled=true` +- Variable d'environnement : `DD_INTEGRATION__ENABLED=true` + +(Le nom de chaque intégration est affiché ci-dessus.) + +### Problèmes connus {#known-issues} + +- L'exécution du traceur Java dans Bitbucket n'est pas prise en charge. +- Charger plusieurs agents Java qui effectuent des fonctions APM/tracing n'est pas une configuration recommandée ou prise en charge. +- Lors de l'exécution du SDK avec Java 24+, vous pouvez voir des avertissements liés à l'accès natif JNI. Supprimez ces avertissements en ajoutant l'option `--enable-native-access=ALL-UNNAMED`. Voir [JEP 472][13] pour plus d'informations. + +## Support de chargement et de liaison de classes à l'avance (AOT) {#ahead-of-time-aot-class-loading-linking-support} + +Pour améliorer le temps de démarrage, le chargement et la liaison de classes à l'avance (AOT) rendent les classes d'application instantanément disponibles dans un état chargé et lié lorsque la JVM démarre. Voir [JEP 483][14] et [JEP 514][15] pour plus d'informations. + +### Exigences {#requirements} + +Utiliser : + +- Java 25 ou version ultérieure +- [Datadog Java SDK][1] 1.57.0 ou version ultérieure + +### Configuration {#setup} + +Pour configurer le chargement et la liaison de classes AOT pour APM, ajoutez le Datadog Java SDK lors de l'exécution de la formation : + +```shell +java -javaagent:/path/to/dd-java-agent.jar -XX:AOTCacheOutput=app.aot -jar App.jar +``` + +#### Utilisation {#usage} + +Pendant la production, ajoutez le même Datadog Java SDK avec les données de formation mises en cache précédemment : + +```shell +java -javaagent:/path/to/dd-java-agent.jar -XX:AOTCache=app.aot -jar App.jar +``` + +Vous pouvez visualiser les traces en utilisant le [Trace Explorer][9]. + +{{% collapse-content title="Dépannage" level="h4" %}} +##### Ne pas attacher le Datadog Java SDK lors de l'exécution de formation {#not-attaching-the-datadog-java-sdk-during-the-training-run} + +Si vous voyez cet avertissement en production, cela signifie que le Datadog Java SDK n'a pas été attaché lors de la formation : + +``` +Mismatched values for property jdk.module.addmods: java.instrument specified during runtime but not during dump time +``` +La JVM ne peut alors pas utiliser le cache AOT pour améliorer le temps de démarrage. La solution consiste à attacher le Datadog Java SDK lors de la formation. + +{{% /collapse-content %}} + +## Support de l'image native GraalVM {#graalvm-native-image-support} + +L'image native GraalVM est une technologie qui vous permet de compiler des applications Java en exécutables natifs. Le Datadog Java SDK prend en charge l'image native GraalVM. Cela vous permet de compiler vos applications en exécutables natifs tout en bénéficiant des capacités de traçage offertes par la bibliothèque. + +### Exigences {#requirements-1} + +Utiliser : + +- [GraalVM JDK 21 ou JDK 25][7] +- [Datadog Java SDK][1] + +### Configuration {#setup-1} + +{{< tabs >}} +{{% tab "GraalVM" %}} +Pour configurer le Datadog Java SDK avec GraalVM Native Image, suivez ces étapes : + +1. Instrumentez votre application, en suivant les étapes décrites dans [Tracer les applications Java][6]. +2. Lorsque vous construisez un exécutable natif avec la commande `native-image`, ajoutez l'argument `-J-javaagent:/path/to/dd-java-agent.jar`. Exemple : + ```shell + native-image -J-javaagent:/path/to/dd-java-agent.jar -jar App.jar + ``` +3. (Optionnel) Activez l'intégration du profiler en ajoutant l'argument suivant : +`-J-Ddd.profiling.enabled=true --enable-monitoring=jfr`. + - Pour les versions du traceur antérieures à `1.39.1`, lors de l'exécution de l'exécutable natif généré, assurez-vous que `DD_PROFILING_START_FORCE_FIRST=true` est défini comme variable d'environnement. + +[6]: /fr/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/ +{{% /tab %}} + +{{% tab "Quarkus Native" %}} +Pour configurer le Datadog Java SDK avec Quarkus Native, suivez ces étapes : + +1. Instrumentez votre application, en suivant les étapes décrites dans [Tracer les applications Java][6]. +2. Lorsque vous construisez un exécutable natif, utilisez la propriété `quarkus.native.additional-build-args`. Exemple : + ```shell + ./mvnw package -Dnative -Dquarkus.native.additional-build-args='-J-javaagent:/path/to/dd-java-agent.jar' + ``` +3. (Facultatif) Activez l'intégration du profiler en ajoutant l'argument suivant : +`-J-Ddd.profiling.enabled=true --enable-monitoring=jfr`. + - Pour les versions du traceur antérieures à `1.39.1`, lors de l'exécution de l'exécutable natif généré, assurez-vous que `DD_PROFILING_START_FORCE_FIRST=true` est défini comme variable d'environnement. + +[6]: /fr/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/ +{{% /tab %}} + +{{% tab "Spring Native" %}} +Pour configurer le Datadog Java SDK avec Spring Native, suivez ces étapes : + +1. Instrumentez votre application, en suivant les étapes décrites dans [Tracer les applications Java][6]. +2. Pour les constructions Spring Native basées sur Buildpacks, activez le [Paketo Buildpack pour Datadog][8] en utilisant `BP_DATADOG_ENABLED=true`. + - Vous pouvez le faire au niveau de l'outil de construction, comme Maven : + ```yaml + + + + org.springframework.boot + spring-boot-maven-plugin + + + ... + + ... + true + ... + + + + + + + ``` + - Alternativement, vous pouvez utiliser la commande `pack build` avec l'option `--env BP_DATADOG_ENABLED=true` pour activer le buildpack Datadog. +3. (Facultatif) Activez l'intégration du profiler en définissant la variable d'environnement `BP_NATIVE_IMAGE_BUILD_ARGUMENTS=’-J-Ddd.profiling.enabled=true --enable-monitoring=jfr’`. + - Pour les versions du traceur antérieures à `1.39.1`, lors de l'exécution de l'exécutable natif généré, assurez-vous que `DD_PROFILING_START_FORCE_FIRST=true` est défini comme variable d'environnement. + +[6]: /fr/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/ +[8]: https://github.com/paketo-buildpacks/datadog +{{% /tab %}} + +{{< /tabs >}} + +
Pour GraalVM 25, vous pouvez voir des erreurs liées à Use of Unsafe. Ajouter -Dnet.bytebuddy.safe=false lors de la construction de l'exécutable natif pour résoudre ce problème.
+ +#### Utilisation {#usage-1} + +Après avoir terminé la configuration, le service doit envoyer des traces à Datadog. + +Vous pouvez visualiser les traces en utilisant le [Trace Explorer][9]. + +{{% collapse-content title="Dépannage" level="h4" %}} +##### Les fonctionnalités ne sont pas activées ou configurées correctement pour les images natives {#features-are-not-enabled-or-configured-correctly-for-native-images} + +Il existe des problèmes connus concernant l'accès aux propriétés système à l'exécution depuis un binaire construit avec Graal Native Image. + +- Pour la configuration à l'exécution, utilisez des variables d'environnement (`DD_PROPERTY_NAME=value`), au lieu des propriétés système (`-Ddd.property.name=value`). +- L'exception à cette règle est lors de l'activation du profileur. Dans ce cas, passez `-J-Ddd.profiling.enabled=true` à l'outil `native-image` au moment de la construction __. + +##### Les versions du buildpack native-image antérieures à 5.12.2 {#native-image-buildpack-versions-older-than-5122} + +Les anciennes versions du buildpack native-image exposent l'option suivante : `USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM`. + +Lorsque cette option est `false`, des exceptions comme celles-ci peuvent se produire : + +```text +Caused by: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: +com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: +No instances of datadog.trace.bootstrap.DatadogClassLoader are allowed in the image heap +as this class should be initialized at image runtime. To see how this object got +instantiated use --trace-object-instantiation=datadog.trace.bootstrap.DatadogClassLoader. +``` + +Les solutions à ce problème sont : + +- Définir `USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM` explicitement sur vrai dans la configuration de l'environnement de l'image, +- Ou mettre à niveau le buildpack `native-image` vers la version 5.12.2 ou ultérieure. La meilleure façon de procéder est de mettre à niveau le buildpack `java-native-image` vers la version 8.13.0 ou ultérieure. + +##### Buildpack Paketo pour Datadog versions antérieures à 4.6.0 {#paketo-buildpack-for-datadog-versions-older-than-460} + +Le buildpack Paketo pour Datadog avait un bug dans les anciennes versions qui se manifestait par le message d'erreur suivant : + +```text +disabling Datadog at launch time is unsupported for Node +ERROR: failed to launch: exec.d: failed to execute exec.d file at path '/layers +paketo-buildpacks_datadog/helper/exec.d/toggle': exit status 1 +``` + +La solution à ce problème est de mettre à niveau vers la version 4.6.0 ou ultérieure. + +##### Le build Spring Native plante avec l'erreur exec.d/toggle {#spring-native-build-crashes-with-execdtoggle-error} + +Vous pouvez rencontrer une erreur similaire à celle ci-dessus, même sur des versions de buildpack plus récentes que 4.6.0, lors de la construction d'une image native Spring Boot : + +```text +disabling Datadog at launch time is unsupported for Node +ERROR: failed to launch: exec.d: failed to execute exec.d file at path '/layers +paketo-buildpacks_datadog/helper/exec.d/toggle': exit status 1 +``` + +Cela se produit généralement parce que le buildpack Datadog s'exécute avant le buildpack d'image native, donc il ne sait pas qu'une construction d'image native est prévue. Il ajoute incorrectement un script de basculement destiné aux builds JVM, qui est incompatible avec l'exécutable natif final. + +La solution consiste à définir explicitement la variable d'environnement `BP_NATIVE_IMAGE` sur `true` dans la configuration `spring-boot-maven-plugin`. Cela garantit que tous les buildpacks sont conscients qu'il s'agit d'une build d'image native dès le départ. + +```yaml + + + + org.springframework.boot + spring-boot-maven-plugin + + + ... + + ... + true + ... + + + + + + +``` + +##### Problème d'activation du SDK Datadog {#problem-activating-datadog-sdk} + +Vous pourriez rencontrer des erreurs d'initialisation si votre configuration de traceur repose sur les Unix Domain Sockets (UDS), qui ne sont pas pris en charge dans les images natives : + +```text +dd.trace 2024-12-30 08:34:43:306 +0000] [main] WARN datadog.trace.agent.tooling.nativeimage.TracerActivation - Problem activating datadog tracer +java.lang.NoClassDefFoundError: Could not initialize class jnr.unixsocket.UnixSocketChannel +``` + +La solution consiste à configurer le traceur Java pour utiliser une communication basée sur l'hôte (`hostip` ou `service` mode), plutôt que sur une communication basée sur des sockets (`socket` mode). + +Pour plus d'informations, voir [Configurer le mode de communication APM et DogstatsD][11]. Pour les configurations qui ne dépendent pas de l'Admission Controller, voir la documentation pour [DD_TRACE_AGENT_URL][12]. + +{{% /collapse-content %}} + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://github.com/DataDog/dd-trace-java +[2]: https://www.datadoghq.com/support/ +[3]: /fr/tracing/manual_instrumentation/java +[4]: https://github.com/DataDog/documentation#outside-contributors +[5]: /fr/tracing/trace_collection/otel_instrumentation/java/ +[7]: https://www.graalvm.org/downloads/ +[9]: /fr/tracing/trace_explorer/ +[10]: /fr/opentelemetry/interoperability/instrumentation_libraries/?tab=java +[11]: /fr/containers/cluster_agent/admission_controller/?tab=datadogoperator#configure-apm-and-dogstatsd-communication-mode +[12]: /fr/tracing/trace_collection/library_config/#agent +[13]: https://openjdk.org/jeps/472 +[14]: https://openjdk.org/jeps/483 +[15]: https://openjdk.org/jeps/514 \ No newline at end of file diff --git a/content/fr/tracing/trace_collection/library_config/java.md b/content/fr/tracing/trace_collection/library_config/java.md index f6d9a7f22e2..831de976317 100644 --- a/content/fr/tracing/trace_collection/library_config/java.md +++ b/content/fr/tracing/trace_collection/library_config/java.md @@ -3,360 +3,635 @@ code_lang: java code_lang_weight: 0 further_reading: - link: https://github.com/DataDog/dd-trace-java - tag: GitHub + tag: Code source text: Code source de l'APM Datadog Java - link: tracing/glossary/ tag: Documentation text: Explorer vos services, ressources et traces -title: Configurer la bibliothèque de tracing Java +- link: /tracing/trace_collection/trace_context_propagation/ + tag: Documentation + text: Propagation du contexte des traces avec des en-têtes +- link: /opentelemetry/interoperability/environment_variable_support + tag: Documentation + text: Configuration des variables d'environnement OpenTelemetry +- link: https://learn.datadoghq.com/courses/apm-java-host + tag: Centre d'apprentissage + text: Configurer APM pour les applications Java +title: Configuration du SDK Java type: multi-code-lang --- +Après avoir configuré le SDK avec votre code et configuré l'Agent pour collecter les données APM, configurez le SDK selon vos souhaits, y compris la mise en place de [Unified Service Tagging][1]. -Après avoir configuré la bibliothèque de tracing avec votre code ainsi que l'Agent de façon à recueillir des données APM, vous pouvez ajuster sa configuration selon vos besoins, notamment en configurant le [tagging de service unifié][1]. +{{% apm-config-visibility %}} -Toutes les options de configuration ci-dessous ont une propriété système et une variable d'environnement équivalentes. +Toutes les options de configuration ci-dessous ont des équivalents en propriétés système et en variables d'environnement. Si le même type de clé est défini pour les deux, la configuration de la propriété système est prioritaire. -Les propriétés système peuvent être définies en tant que flags JVM. +Les propriétés système peuvent être définies comme des JVM flags. -Remarque : si vous utilisez les propriétés système du traceur Java, assurez-vous de les spécifier avant `-jar`, afin qu'elles soient lues en tant qu'options JVM. +### Conversion entre propriétés système et variables d'environnement {#converting-between-system-properties-and-environment-variables} +Sauf indication contraire, vous pouvez convertir entre propriétés système et variables d'environnement avec les transformations suivantes : +- Pour définir une propriété système comme une variable d'environnement, mettez le nom de la propriété en majuscules et remplacez `.` ou `-` par `_`. + Par exemple, `dd.service` devient `DD_SERVICE`. +- Pour définir une variable d'environnement comme une propriété système, mettez le nom de la variable en minuscules et remplacez `_` par `.` + Par exemple, `DD_TAGS` devient `dd.tags`. -`dd.service` -: **Variable d'environnement** : `DD_SERVICE`
-**Valeur par défaut** : `unnamed-java-app`
-Le nom d'un ensemble de processus qui effectuent la même tâche. Utilisé pour regrouper les statistiques de votre application. Disponible à partir de la version 0.50.0. +**Remarque**: Lors de l'utilisation des propriétés système du traceur Java, listez les propriétés avant `-jar`. Cela garantit que les propriétés sont lues en tant qu'options JVM. -`dd.tags` -: **Variables d'environnement** : `DD_TAGS`
-**Valeur par défaut** : `null`
-**Exemple** : `layer:api,team:intake`
-La liste des tags par défaut à ajouter à chaque span, profil et métrique JMX. Si la variable DD_ENV ou DD_VERSION est utilisée, tout tag « env » ou « version » défini dans DD_TAGS est remplacé. Disponible à partir de la version 0.50.0. +## Options de configuration {#configuration-options} + +### Unified Service Tagging {#unified-service-tagging} + +`dd.service` +: **Variable d'environnement**: `DD_SERVICE`
+**Par défaut**: `unnamed-java-app`
+Le nom d'un ensemble de processus qui effectuent le même travail. Utilisé pour regrouper les statistiques de votre application. Disponible pour les versions 0.50.0+. `dd.env` -: **Variable d'environnement** : `DD_ENV`
-**Valeur par défaut** : `none`
-L'environnement de votre application (par exemple, production ou staging). Disponible à partir de la version 0.48. +: **Variable d'environnement**: `DD_ENV`
+**Par défaut**: `none`
+Votre environnement d'application (par exemple, production, staging). Disponible pour les versions 0.48+. `dd.version` -: **Variable d'environnement** : `DD_VERSION`
-**Valeur par défaut** : `null`
-La version de votre application (par exemple, 2.5, 202003181415 ou 1.3-alpha). Disponible à partir de la version 0.48. +: **Variable d'environnement**: `DD_VERSION`
+**Par défaut**: `null`
+Votre version d'application (par exemple, 2.5, 202003181415, 1.3-alpha). Disponible pour les versions 0.48+. -`dd.logs.injection` -: **Variable d'environnement** : `DD_LOGS_INJECTION`
-**Valeur par défaut** : `true`
-Active l'injection automatique des clés MDC pour les ID de span et de trace Datadog. Consultez la section relative à l'[utilisation avancée][2] pour en savoir plus. +### Traces {#traces} + +`dd.trace.enabled` +: **Variable d'environnement**: `DD_TRACE_ENABLED`
+**Par défaut**: `true`
+Lorsque `false` l'Agent de tracing est désactivé.
+Voir aussi [DD_APM_TRACING_ENABLED][21]. `dd.trace.config` -: **Variable d'environnement** : `DD_TRACE_CONFIG`
-**Valeur par défaut** : `null`
-Le chemin facultatif vers un fichier où les propriétés de configuration sont définies (une par ligne). Le chemin du fichier peut par exemple être spécifié via `-Ddd.trace.config=.properties`, en définissant le nom du service dans le fichier avec `dd.service=`. +: **Variable d'environnement**: `DD_TRACE_CONFIG`
+**Par défaut**: `null`
+Chemin optionnel vers un fichier où les propriétés de configuration sont fournies une par ligne. Par exemple, le chemin du fichier peut être fourni via `-Ddd.trace.config=.properties`, en définissant le nom du service dans le fichier avec `dd.service=`
+**Remarque**: Ne comptez pas uniquement sur `dd.trace.config` comme mécanisme pour activer ou désactiver les produits dépendants du SDK (par exemple, Profiler et Instrumentation Dynamique). Utilisez plutôt les propriétés système correspondantes ou les variables d'environnement (ou `application_monitoring.yaml` pour Single Step Instrumentation). `dd.service.mapping` -: **Variable d'environnement** : `DD_SERVICE_MAPPING`
-**Valeur par défaut** : `null`
-**Exemple** : `mysql:my-mysql-service-name-db, postgres:my-postgres-service-name-db`
-Renomme de façon dynamique les services via la configuration. Sert notamment à s'assurer que les bases de données possèdent des noms distincts d'un service à l'autre. +: **Variable d'environnement**: `DD_SERVICE_MAPPING`
+**Par défaut**: `null`
+**Exemple**: `mysql:my-mysql-service-name-db, postgresql:my-postgres-service-name-db`
+Renommez dynamiquement les services via la configuration. Utile pour donner des noms distincts aux bases de données à travers différents services. `dd.writer.type` -: **Variable d'environnement** : `DD_WRITER_TYPE`
-**Valeur par défaut** : `DDAgentWriter`
-La valeur par défaut active l'envoi des traces à l'Agent. Si vous utilisez `LoggingWriter` dans votre configuration, les traces sont écrites dans la console. - -`dd.agent.host` -: **Variable d'environnement** : `DD_AGENT_HOST`
-**Valeur par défaut** : `localhost`
-Le hostname vers lequel envoyer les traces. Si vous utilisez un environnement conteneurisé, configurez cette option sur l'IP du host. Consultez la section [Tracer des applications Docker][3] pour en savoir plus. +: **Variable d'environnement**: `DD_WRITER_TYPE`
+**Par défaut**: `DDAgentWriter`
+La valeur par défaut envoie les traces à l'Agent. Configurer avec `LoggingWriter` écrit plutôt les traces dans la console. `dd.trace.agent.port` -: **Variable d'environnement** : `DD_TRACE_AGENT_PORT`
-**Valeur par défaut** : `8126`
-Le numéro du port sur lequel l'Agent effectue son écoute pour le host configuré. +: **Variable d'environnement**: `DD_TRACE_AGENT_PORT`
+**Par défaut**: `8126`
+Le numéro de port sur lequel l'Agent écoute pour l'hôte configuré. Si la [configuration de l'Agent][6] définit `receiver_port` ou `DD_APM_RECEIVER_PORT` à quelque chose d'autre que le `8126` par défaut, alors `dd.trace.agent.port` ou `dd.trace.agent.url` doit correspondre. `dd.trace.agent.unix.domain.socket` -: **Variable d'environnement** : `DD_TRACE_AGENT_UNIX_DOMAIN_SOCKET`
-**Valeur par défaut** : `null`
-Permet de faire passer des données de tracing par un proxy en vue de leur envoi vers un Agent Datadog distant. +: **Variable d'environnement**: `DD_TRACE_AGENT_UNIX_DOMAIN_SOCKET`
+**Par défaut**: `null`
+Peut être utilisée pour faire passer des données de tracing par un proxy en vue de leur envoi vers un Agent Datadog distant. `dd.trace.agent.url` -: **Variable d'environnement** : `DD_TRACE_AGENT_URL`
-**Valeur par défaut** : `null`
-L'URL vers laquelle envoyer les traces. Elle peut commencer par `http://` pour une connexion via HTTP ou par `unix://` pour connexion via un socket de domaine Unix. Une fois cette option définie, elle a la priorité sur `DD_AGENT_HOST` et `DD_TRACE_AGENT_PORT`. Disponible à partir de la version 0.65. +: **Variable d'environnement**: `DD_TRACE_AGENT_URL`
+**Par défaut**: `null`
+L'URL pour envoyer les traces. Si la [configuration de l'Agent][6] définit `receiver_port` ou `DD_APM_RECEIVER_PORT` à quelque chose d'autre que le `8126` par défaut, alors `dd.trace.agent.port` ou `dd.trace.agent.url` doit correspondre. La valeur de l'URL peut commencer par `http://` pour se connecter en utilisant HTTP ou par `unix://` pour utiliser un socket de domaine Unix. Lorsqu'il est défini, cela prévaut sur `DD_AGENT_HOST` et `DD_TRACE_AGENT_PORT`. Disponible pour les versions 0.65+. `dd.trace.agent.timeout` -: **Variable d'environnement** : `DD_TRACE_AGENT_TIMEOUT`
-**Valeur par défaut** : `10`
-Le délai d'expiration en secondes pour les interactions réseau avec l'Agent Datadog. +: **Variable d'environnement**: `DD_TRACE_AGENT_TIMEOUT`
+**Par défaut**: `10`
+Délai d'expiration en secondes pour les interactions réseau avec l'Agent Datadog. + +`dd.trace.client-ip.enabled` +: **Par défaut**: `false`
+Activez la collecte des adresses IP des clients à partir des en-têtes IP pertinents dans les traces de requêtes HTTP. Activé automatiquement lorsque `dd.appsec.enabled=true`. `dd.trace.header.tags` -: **Variable d'environnement** : `DD_TRACE_HEADER_TAGS`
-**Valeur par défaut** : `null`
-**Exemple** : `CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name`
-Accepte une liste des correspondances entre les clés d'en-tête (insensibles à la casse) et les noms de tag et applique automatiquement les valeurs d'en-tête correspondantes en tant que tags sur les traces. Accepte également les entrées sans nom de tag qui sont automatiquement mis en correspondance avec des tags au format `http.request.headers.` et `http.response.headers.`, respectivement.

-Jusqu'à la version 0.96.0, ce paramètre s'appliquait uniquement aux tags des en-têtes de requête. Pour revenir à l'ancien comportement, ajoutez le paramètre `-Ddd.trace.header.tags.legacy.parsing.enabled=true` ou la variable d'environnement `DD_TRACE_HEADER_TAGS_LEGACY_PARSING_ENABLED=true`. +: **Variable d'environnement**: `DD_TRACE_HEADER_TAGS`
+**Par défaut**: `null`
+**Exemple**: `CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name`
+Accepte une carte de clés d'en-tête insensibles à la casse aux noms de balises et applique automatiquement les valeurs d'en-tête correspondantes en tant que balises sur les traces. Accepte également des entrées sans nom de balise spécifié qui sont automatiquement mappées à des balises de la forme `http.request.headers.` et `http.response.headers.` respectivement.

+Avant la version 0.96.0, ce paramètre ne s'appliquait qu'aux balises d'en-tête de requête. Pour revenir à l'ancien comportement, ajoutez le paramètre `-Ddd.trace.header.tags.legacy.parsing.enabled=true` ou la variable d'environnement `DD_TRACE_HEADER_TAGS_LEGACY_PARSING_ENABLED=true`.

+À partir de la version 1.18.3, si [Agent Remote Configuration][3] est activée là où ce service s'exécute, vous pouvez définir `DD_TRACE_HEADER_TAGS` dans l'interface [Catalog][4]. `dd.trace.request_header.tags` -: **Variable d'environnement** : `DD_TRACE_REQUEST_HEADER_TAGS`
-**Valeur par défaut** : `null`
-**Exemple** : `CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name`
-Accepte une liste des correspondances entre les clés d'en-tête (insensibles à la casse) et les noms de tag et applique automatiquement les valeurs d'en-tête de requête correspondantes en tant que tags sur les traces. Accepte également les entrées sans nom de tag qui sont automatiquement mis en correspondance avec des tags au format `http.request.headers.`.
-Disponible à partir de la version 0.96.0. +: **Variable d'environnement**: `DD_TRACE_REQUEST_HEADER_TAGS`
+**Par défaut**: `null`
+**Exemple**: `CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name`
+Accepte un mappage de clés d'en-tête insensibles à la casse vers des noms de balises et applique automatiquement les valeurs d'en-tête de requête correspondantes en tant que balises sur les traces. Accepte également des entrées sans nom de balise spécifié qui sont automatiquement mappées à des balises de la forme `http.request.headers.`.
+Disponible depuis la version 0.96.0. `dd.trace.response_header.tags` -: **Environment Variable**: `DD_TRACE_RESPONSE_HEADER_TAGS`
-**Default**: `null`
-**Example**: `CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name`
-Accepte une liste des correspondances entre les clés d'en-tête (insensibles à la casse) et les noms de tag et applique automatiquement les valeurs d'en-tête de réponse correspondantes en tant que tags sur les traces. Accepte également les entrées sans nom de tag qui sont automatiquement mis en correspondance avec des tags au format `http.response.headers.`.
-Disponible à partir de la version 0.96.0. +: **Variable d'environnement**: `DD_TRACE_RESPONSE_HEADER_TAGS`
+**Par défaut**: `null`
+**Exemple**: `CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name`
+Accepte un mappage de clés d'en-tête insensibles à la casse vers des noms de balises et applique automatiquement les valeurs d'en-tête de réponse correspondantes en tant que balises sur les traces. Accepte également des entrées sans nom de balise spécifié qui sont automatiquement mappées à des balises de la forme `http.response.headers.`.
+Disponible depuis la version 0.96.0. + +`dd.trace.header.baggage` +: **Variable d'environnement**: `DD_TRACE_HEADER_BAGGAGE`
+**Par défaut**: `null`
+**Exemple**: `CASE-insensitive-Header:my-baggage-name,User-ID:userId,My-Header-And-Baggage-Name`
+Accepte un mappage de clés d'en-tête insensibles à la casse vers des clés de bagages et applique automatiquement les valeurs d'en-tête de requête correspondantes en tant que bagages sur les traces. Lors de la propagation, le mappage inverse est appliqué: Les bagages sont mappés aux en-têtes.
+Disponible depuis la version 1.3.0. `dd.trace.annotations` -: **Variable d'environnement** : `DD_TRACE_ANNOTATIONS`
-**Valeur par défaut** : ([répertoriée sur cette page][4])
-**Exemple** : `com.some.Trace;io.other.Trace`
-Une liste des annotations de méthode à traiter en tant que `@Trace`. +: **Variable d'environnement**: `DD_TRACE_ANNOTATIONS`
+**Par défaut**: ([énuméré ici][7])
+**Exemple**: `com.some.Trace;io.other.Trace`
+Une liste d'annotations de méthode à traiter comme `@Trace`. `dd.trace.methods` -: **Variable d'environnement** : `DD_TRACE_METHODS`
-**Valeur par défaut** : `null`
-**Exemple** : `package.ClassName[method1,method2,...];AnonymousClass$1[call];package.ClassName[*]`
-La liste des classes/interfaces et méthodes à tracer. Semblable à l'ajout de `@Trace`, mais sans changer le code. **Remarque :** l'utilisation d'un wildcard (`[*]`) ne prend pas en compte les appels de méthode constructors, getters, setters, synthetic, toString, equals, hashcode ou finalizer. +: **Variable d'environnement**: `DD_TRACE_METHODS`
+**Par défaut**: `null`
+**Exemple**: `package.ClassName[method1,method2,...];AnonymousClass$1[call];package.ClassName[*]`
+Liste des classes/interfaces et des méthodes à tracer. Semblable à l'ajout de `@Trace`, mais sans modifier le code. **Remarque :** Le wildcard method support (`[*]`) ne prend pas en charge les appels de méthodes de constructeur, d'accesseurs, de mutateurs, synthétiques, toString, equals, hashcode ou finaliseur. +`dd.trace.methods` n'est pas destiné à tracer un grand nombre de méthodes et de classes. Pour trouver les goulets d'étranglement CPU, mémoire et IO, décomposés par nom de méthode, nom de classe et numéro de ligne, envisagez plutôt le produit [Continuous Profiler][22]. `dd.trace.classes.exclude` -: **Variable d'environnement** : `DD_TRACE_CLASSES_EXCLUDE`
-**Valeur par défaut** : `null`
-**Exemple** : `package.ClassName,package.ClassName$Nested,package.Foo*,package.other.*`
-Une liste de noms de classe complets (pouvant se terminer par un wildcard pour spécifier un préfixe) qui seront ignorés (non modifiés) par le traceur. Ces noms doivent correspondre à la représentation interne JVM (ex. : package.ClassName$Nested et non package.ClassName.Nested). +: **Variable d'environnement**: `DD_TRACE_CLASSES_EXCLUDE`
+**Par défaut**: `null`
+**Exemple**: `package.ClassName,package.ClassName$Nested,package.Foo*,package.other.*`
+Une liste de classes entièrement qualifiées (qui peuvent se terminer par un caractère générique pour désigner un préfixe) qui seront ignorées (non modifiées) par le SDK. Doit utiliser la représentation interne JVM pour les noms (par exemple package.ClassName$Nested et non package.ClassName.Nested) `dd.trace.partial.flush.min.spans` -: **Variable d'environnement** : `DD_TRACE_PARTIAL_FLUSH_MIN_SPANS`
-**Valeur par défaut** : `1000`
-Définit le nombre de spans partielles à partir duquel celles-ci doivent être vidées. Permet de réduire la charge de la mémoire en cas de traitement d'un trafic important ou de traces à exécution longue. +: **Variable d'environnement**: `DD_TRACE_PARTIAL_FLUSH_MIN_SPANS`
+**Par défaut**: `1000`
+Définissez un nombre de spans partiels à vider. Utile pour réduire la surcharge mémoire lors de la gestion d'un trafic important ou de traces de longue durée. `dd.trace.split-by-tags` -: **Variable d'environnement** : `DD_TRACE_SPLIT_BY_TAGS`
-**Valeur par défaut** : `null`
-**Exemple** : `aws.service`
-Utilisé pour renommer le service associé aux spans à identifier avec le tag de span correspondant. - -`dd.trace.db.client.split-by-instance` -: **Variable d'environnement** : `DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE`
-**Valeur par défaut** : `false`
-Lorsque cette option est définie sur `true`, les spans de base de données reçoivent le nom de l'instance en tant que nom du service. +: **Variable d'environnement**: `DD_TRACE_SPLIT_BY_TAGS`
+**Par défaut**: `null`
+**Exemple**: `aws.service`
+Utilisé pour renommer le nom du service associé aux spans afin que ceux-ci soient identifiés par le tag de span correspondant. `dd.trace.health.metrics.enabled` -: **Variable d'environnement** : `DD_TRACE_HEALTH_METRICS_ENABLED`
-**Valeur par défaut** : `true`
-Lorsque cette option est définie sur `true`, des métriques de santé sur le traceur sont envoyées. +: **Variable d'environnement**: `DD_TRACE_HEALTH_METRICS_ENABLED`
+**Par défaut**: `true`
+Lorsqu'il est réglé sur `true`, envoie des métriques de santé du traceur. `dd.trace.health.metrics.statsd.host` -: **Variable d'environnement** : `DD_TRACE_HEALTH_METRICS_STATSD_HOST`
-**Valeur par défaut** : identique à `dd.jmxfetch.statsd.host`
-Le host Statsd vers lequel envoyer les métriques de santé. +: **Variable d'environnement**: `DD_TRACE_HEALTH_METRICS_STATSD_HOST`
+**Par défaut**: Identique à `dd.jmxfetch.statsd.host`
+Host Statsd vers lequel envoyer les métriques de santé `dd.trace.health.metrics.statsd.port` -: **Variable d'environnement** : `DD_TRACE_HEALTH_METRICS_STATSD_PORT`
-**Valeur par défaut** : identique à `dd.jmxfetch.statsd.port`
-Le port Statsd vers lequel envoyer les métriques de santé. +: **Variable d'environnement**: `DD_TRACE_HEALTH_METRICS_STATSD_PORT`
+**Par défaut**: Identique à `dd.jmxfetch.statsd.port`
+Port Statsd vers lequel envoyer les métriques de santé + +`dd.trace.obfuscation.query.string.regexp` +: **Variable d'environnement**: `DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP`
+**Par défaut**: `null`
+Une expression régulière pour masquer les données sensibles de la chaîne de requête des requêtes entrantes rapportées dans la balise `http.url` (les correspondances sont remplacées par ). + +`dd.trace.servlet.async-timeout.error` +: **Variable d'environnement**: `DD_TRACE_SERVLET_ASYNC_TIMEOUT_ERROR`
+**Par défaut**: `true`
+Par défaut, les requêtes asynchrones à exécution longue seront considérées comme une erreur. La définition de cette valeur sur false permet de marquer tous les délais d'expiration comme des requêtes réussies. + +`dd.trace.span.tags` +: **Variable d'environnement**: `DD_TRACE_SPAN_TAGS`
+**Par défaut**: `none`
+**Exemple**: `tag1:value1,tag2:value2`
+Une liste de balises par défaut à ajouter à chaque span. + +`dd.trace.jmx.tags` +: **Variable d'environnement**: `DD_TRACE_JMX_TAGS`
+**Par défaut**: `none`
+**Exemple**: `tag1:value1,tag2:value2`
+Une liste de balises de span à ajouter à chaque métrique JMX. + +`dd.trace.startup.logs` +: **Variable d'environnement**: `DD_TRACE_STARTUP_LOGS`
+**Par défaut**: `true`
+Lorsque `false`, la journalisation des informations de démarrage est désactivée. Disponible pour les versions 0.64+. -`dd.http.client.tag.query-string` -: **Variable d'environnement** : `DD_HTTP_CLIENT_TAG_QUERY_STRING`
-**Valeur par défaut** : `false`
-Lorsque cette option est définie sur `true`, les paramètres de chaîne de requête et le fragment sont ajoutés aux spans du client Web. +`dd.trace.debug` +: **Variable d'environnement**: `DD_TRACE_DEBUG`
+**Par défaut** : `false`
+Lorsque `true`, le mode débogage pour le traceur Java de Datadog est activé. -`dd.http.client.error.statuses` -: **Variable d'environnement** : `DD_HTTP_CLIENT_ERROR_STATUSES`
-**Valeur par défaut** : `400-499`
-Permet de définir une plage d'erreurs à accepter. Par défaut, les erreurs 4xx sont signalées comme des erreurs pour les clients http. Cette option remplace ce comportement. Exemple : `dd.http.client.error.statuses=400-403,405,410-499`. +`datadog.slf4j.simpleLogger.jsonEnabled` +: **Variable d'environnement** : Non disponible
+**Par défaut** : `false`
+Lorsque `true`, les journaux du SDK Java de Datadog sont écrits en JSON. Disponible pour les versions 1.48.0+.
+**Remarque** : Ce paramètre est spécifique au logger simple SLF4J intégré et ne prend pas en charge les variables d'environnement. `dd.log.format.json` est l'option de configuration préférée. -`dd.http.server.error.statuses` -: **Variable d'environnement** : `DD_HTTP_SERVER_ERROR_STATUSES`
-**Valeur par défaut** : `500-599`
-Permet de définir une plage d'erreurs à accepter. Par défaut, les codes de statut 5xx sont signalés comme des erreurs pour les serveurs http. Cette option remplace ce comportement. Exemple : `dd.http.server.error.statuses=500,502-599`. +`dd.trace.servlet.principal.enabled` +: **Variable d'environnement** : `DD_TRACE_SERVLET_PRINCIPAL_ENABLED`
+**Par défaut** : `false`
+Lorsque `true`, le principal utilisateur est collecté. Disponible pour les versions 0.61+. + +`dd.trace.rate.limit` +: **Variable d'environnement** : `DD_TRACE_RATE_LIMIT`
+**Par défaut** : `100`
+Nombre maximum de spans à échantillonner par seconde, par processus, lorsque `DD_TRACE_SAMPLING_RULES` ou `DD_TRACE_SAMPLE_RATE` est défini. Sinon, l'Agent Datadog contrôle la limitation de débit. `dd.http.server.tag.query-string` -: **Variable d'environnement** : `DD_HTTP_SERVER_TAG_QUERY_STRING`
-**Valeur par défaut** : `false`
-Lorsque cette option est définie sur `true`, les paramètres de chaîne de requête et le fragment sont ajoutés aux spans du serveur Web. +: **Variable d'environnement** : `DD_HTTP_SERVER_TAG_QUERY_STRING`
+**Par défaut** : `true`
+Lorsqu'il est défini sur `true`, les paramètres de chaîne de requête et le fragment sont ajoutés aux spans du serveur web. + +`dd.http.server.route-based-naming` +: **Variable d'environnement** : `DD_HTTP_SERVER_ROUTE_BASED_NAMING`
+**Par défaut** : `true`
+Lorsqu'il est défini sur `false`, les routes du framework HTTP ne sont pas utilisées pour les noms de ressources. _Cela peut changer les noms de ressources et les métriques dérivées si modifié._ + +`dd.trace.http.server.path-resource-name-mapping`
+: **Variable d'environnement** : `DD_TRACE_HTTP_SERVER_PATH_RESOURCE_NAME_MAPPING`
+**Par défaut** : `{}` (vide)
+Mappe les chemins de requête HTTP à des noms de ressources personnalisés. Fournissez une liste de paires `pattern:resource_name` séparées par des virgules :
+   – `pattern`: Un [modèle de chemin de style Ant][20] qui doit correspondre à la valeur de la balise `http.path_group` span.
+   – `resource_name`: Le nom de ressource personnalisé à attribuer si le modèle correspond.
+Si `*` est utilisé comme le `resource_name` pour un modèle correspondant, le chemin de requête d'origine, non normalisé, combiné avec la méthode HTTP est utilisé comme nom de ressource. Par exemple, étant donné la règle `/test/**:*`, une requête `GET` pour `/test/some/path` donne le nom de ressource `GET /test/some/path`.
+Les mappages sont évalués par ordre de priorité, et la première règle correspondante s'applique. Les chemins de requête non correspondants utilisent le comportement de normalisation par défaut.
+**Exemple**: Utiliser `-Ddd.trace.http.server.path-resource-name-mapping=/admin/*.jsp:/admin-page,/admin/user/**:/admin/user` donne :
+Chemin de requête | Chemin de ressource +------------ | ------------- +`/admin/index.jsp` | `/admin-page` +`/admin/user/12345/delete` | `/admin/user` +`/user/12345` | `/user/?` + +`dd.trace.http.client.path-resource-name-mapping`
+: **Variable d'environnement** : `DD_TRACE_HTTP_CLIENT_PATH_RESOURCE_NAME_MAPPING`
+**Par défaut** : `{}` (vide)
+Mappe les chemins de requête des clients HTTP à des noms de ressources personnalisés. Utilise le même format que `dd.trace.http.server.path-resource-name-mapping`, mais s'applique aux spans de clients HTTP au lieu des spans de serveurs. + +`dd.trace.status404rule.enabled` +: **Variable d'environnement** : `DD_TRACE_STATUS404RULE_ENABLED`
+**Par défaut** : `true`
+Par défaut, les réponses HTTP 404 utilisent "404" comme nom de ressource de span. Lorsque `false`, les réponses HTTP 404 conservent le chemin d'URL d'origine comme nom de ressource. + +`dd.trace.128.bit.traceid.generation.enabled` +: **Variable d'environnement** : `DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED`
+**Par défaut** : `true`
+Lorsque `true`, le SDK génère des identifiants de trace de 128 bits et encode les identifiants de trace en 32 caractères hexadécimaux minuscules avec un remplissage de zéros. + +`dd.trace.128.bit.traceid.logging.enabled` +: **Variable d'environnement** : `DD_TRACE_128_BIT_TRACEID_LOGGING_ENABLED`
+**Par défaut** : `false`
+Lorsque `true`, le SDK injectera des identifiants de trace de 128 bits sous forme de 32 caractères hexadécimaux minuscules avec un remplissage de zéros, et des identifiants de trace de 64 bits sous forme de nombres décimaux. Sinon, le SDK injecte toujours les identifiants de trace sous forme de nombres décimaux. + +`dd.trace.otel.enabled` +: **Variable d'environnement**: `DD_TRACE_OTEL_ENABLED`
+**Par défaut**: `false`
+Lorsque `true`, le traçage basé sur OpenTelemetry pour l'instrumentation [personnalisée][16] est activé. + +`dd.trace.cloud.payload.tagging.services` +: **Variable d'environnement**: `DD_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES`
+**Par défaut**: `ApiGateway,ApiGatewayV2,EventBridge,Sqs,Sns,S3,Kinesis`
+**Exemple**: `S3,Sso`
+Pour activer le [tagging de charge utile AWS][18] pour des services supplémentaires, utilisez ce paramètre. + +`dd.trace.cloud.request.payload.tagging` +: **Variable d'environnement**: `DD_TRACE_CLOUD_REQUEST_PAYLOAD_TAGGING`
+**Par défaut**: N/A (désactivé)
+**Exemple**: `$.Metadata.UserId,$.phoneNumber`
+Une chaîne de caractères JSONPath séparée par des virgules des entrées à masquer dans les requêtes AWS SDK. Activer cela permet le [tagging de charge utile AWS][18] pour les requêtes. + +`dd.trace.cloud.response.payload.tagging` +: **Variable d'environnement**: `DD_TRACE_CLOUD_RESPONSE_PAYLOAD_TAGGING`
+**Par défaut**: N/A (désactivé)
+**Exemple**: `$.Metadata.Credentials.*`
+Une chaîne de caractères JSONPath séparée par des virgules des entrées à masquer dans les réponses AWS SDK. Activer cela permet le [tagging de charge utile AWS][18] pour les réponses. + +`dd.trace.cloud.payload.tagging.max-depth` +: **Variable d'environnement**: `DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_DEPTH`
+**Par défaut**: `10`
+Un entier représentant la profondeur maximale d'une charge utile de requête/réponse AWS SDK à utiliser pour le [tagging de charge utile AWS][18]. + +`dd.trace.cloud.payload.tagging.max-tags` +: **Variable d'environnement**: `DD_TRACE_CLOUD_PAYLOAD_TAGGING_MAX_TAGS`
+**Par défaut**: `758`
+Un entier représentant le nombre maximal de tags à extraire par span à utiliser pour le [tagging de charge utile AWS][18]. + +### Agent {#agent} -`dd.trace.enabled` -: **Variable d'environnement** : `DD_TRACE_ENABLED`
-**Valeur par défaut** : `true`
-Lorsque cette option est définie sur `false`, l'Agent de tracing est désactivé. +`dd.tags` +: **Variable d'environnement**: `DD_TAGS`
+**Par défaut**: `null`
+**Exemple**: `layer:api,team:intake,key:value`
+Une liste de tags par défaut à ajouter à chaque span, profil et métrique JMX. Si DD_ENV ou DD_VERSION est utilisé, cela remplace tout tag d'environnement ou de version défini dans DD_TAGS. Disponible pour les versions 0.50.0+. + +`dd.agent.host` +: **Variable d'environnement**: `DD_AGENT_HOST`
+**Par défaut** : `localhost`
+Nom d'hôte pour l'envoi des traces. Si vous utilisez un environnement conteneurisé, configurez ceci pour être l'adresse IP de l'hôte. Voir [Tracer les applications Docker][5] pour plus de détails. + +`dd.instrumentation.telemetry.enabled` +: **Variable d'environnement** : `DD_INSTRUMENTATION_TELEMETRY_ENABLED`
+**Par défaut** : `true`
+Lorsque `true`, le traceur collecte des [données de télémétrie][8]. Disponible pour les versions 0.104+. Par défaut, cela vaut `true` pour les versions 0.115+. + +### Bases de données {#databases} + +`dd.trace.db.client.split-by-instance` +: **Variable d'environnement** : `DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE`
+**Par défaut** : `false`
+Lorsqu'il est défini sur `true`, les spans de base de données se voient attribuer le nom de l'instance comme nom de service. + +`dd.trace.db.client.split-by-host` +: **Variable d'environnement** : `DD_TRACE_DB_CLIENT_SPLIT_BY_HOST`
+**Par défaut** : `false`
+Lorsqu'il est défini sur `true`, les spans de base de données se voient attribuer le nom d'hôte de la base de données distante comme nom de service. + +`dd.dbm.propagation.mode` +: **Variable d'environnement** : `DD_DBM_PROPAGATION_MODE`
+**Par défaut** : `null`
+Lorsqu'il est défini sur `service` ou `full`, active Database Monitoring et la corrélation APM. Pour plus d'informations, voir [Correlate Database Monitoring and Traces][23]. + +### AAP {#aap} + +`dd.appsec.enabled` +: **Variable d'environnement** : `DD_APPSEC_ENABLED`
+**Par défaut**: `false`
+Lorsque `true`, active Datadog App and API Protection Monitoring. De plus, cela active automatiquement la collecte de l'adresse IP du client (`dd.trace.client-ip.enabled`).
+Pour plus d'informations, voir [Activation de l'AAP pour Java][19]. + +### Erreurs {#errors} + +`dd.trace.http.client.tag.query-string` +: **Propriété système (obsolète)**: `dd.http.client.tag.query-string`
+**Variable d'environnement**: `DD_TRACE_HTTP_CLIENT_TAG_QUERY_STRING`
+**Variable d'environnement (obsolète)**: `DD_HTTP_CLIENT_TAG_QUERY_STRING`
+**Par défaut**: `true`
+Par défaut, les paramètres de chaîne de requête et les fragments sont ajoutés à la balise `http.url` sur les spans du client web. Définir sur `false` pour empêcher la collecte de ces données. + +`dd.trace.http.client.error.statuses` +: **Variable d'environnement**: `DD_TRACE_HTTP_CLIENT_ERROR_STATUSES`
+**Par défaut**: `400-499`
+Une gamme d'erreurs peut être acceptée. Par défaut, les erreurs 4xx sont signalées comme des erreurs pour les clients HTTP. Cette configuration remplace cela. Ex. `dd.trace.http.client.error.statuses=400-403,405,410-499` + +`dd.trace.http.server.error.statuses` +: **Variable d'environnement**: `DD_TRACE_HTTP_SERVER_ERROR_STATUSES`
+**Par défaut**: `500-599`
+Une gamme d'erreurs peut être acceptée. Par défaut, les codes d'état 5xx sont signalés comme des erreurs pour les serveurs HTTP. Cette configuration remplace cela. Ex. `dd.trace.http.server.error.statuses=500,502-599` + +`dd.grpc.client.error.statuses` +: **Variable d'environnement**: `DD_GRPC_CLIENT_ERROR_STATUSES`
+**Par défaut**: `1-16`
+Une gamme d'erreurs peut être acceptée. Par défaut, les codes d'état gRPC de 1 à 16 sont signalés comme des erreurs pour les clients gRPC. Cette configuration remplace cela. Ex. `dd.grpc.client.error.statuses=1-4,7-10` + +`dd.grpc.server.error.statuses` +: **Variable d'environnement**: `DD_GRPC_SERVER_ERROR_STATUSES`
+**Par défaut**: `2-16`
+Une gamme d'erreurs peut être acceptée. Par défaut, les codes d'état gRPC de 2 à 16 sont signalés comme des erreurs pour les serveurs gRPC. Cette configuration remplace cela. Ex. `dd.grpc.server.error.statuses=2-4,7-10` + +### Logs {#logs} + +`dd.log.level` +: **Variable d'environnement**: `DD_LOG_LEVEL`
+**Par défaut**: `INFO`
+Définit le niveau de journalisation interne pour le Datadog Java Tracer. Valeurs valides : `DEBUG`, `INFO`, `WARN`, `ERROR`.
+Disponible depuis la version 1.36.0 + +`dd.log.format.json` +: **Variable d'environnement**: `DD_LOG_FORMAT_JSON`
+**Par défaut**: `false`
+Lorsque `true`, produit des logs du Datadog Java Tracer au format JSON compatible avec le Datadog Logs UI.
+Disponible depuis la version 1.58.0 + +`dd.logs.injection` +: **Variable d'environnement**: `DD_LOGS_INJECTION`
+**Par défaut**: `true`
+Active l'injection automatique des clés MDC pour les trace and span IDs de Datadog. Voir [Utilisation avancée][2] pour plus de détails.

+À partir de la version 1.18.3, si [Agent Remote Configuration][3] est activée là où ce service s'exécute, vous pouvez définir `DD_LOGS_INJECTION` dans l'UI [Catalog][4]. + +### Propagation du contexte de trace {#trace-context-propagation} + +Pour des informations sur les valeurs valides et l'utilisation des options de configuration suivantes, voir [Propagation du contexte de trace Java][15]. + +`dd.trace.propagation.style.inject` +: **Variable d'environnement**: `DD_TRACE_PROPAGATION_STYLE_INJECT`
+**Par défaut**: `datadog,tracecontext`
+Une liste de formats d'en-tête séparés par des virgules à inclure pour propager les traces distribuées entre les services.
+Disponible depuis la version 1.9.0 + +`dd.trace.propagation.style.extract` +: **Variable d'environnement**: `DD_TRACE_PROPAGATION_STYLE_EXTRACT`
+**Par défaut**: `datadog,tracecontext`
+Une liste de formats d'en-tête séparés par des virgules à partir desquels tenter d'extraire les données de propagation de traçage distribué. Le premier format trouvé avec des en-têtes complets et valides est utilisé pour définir la trace à continuer.
+Disponible depuis la version 1.9.0 + +`dd.trace.propagation.style` +: **Variable d'environnement**: `DD_TRACE_PROPAGATION_STYLE`
+**Par défaut**: `datadog,tracecontext`
+Une liste de formats d'en-tête séparés par des virgules à partir desquels tenter d'injecter et d'extraire des données de propagation de traçage distribué. Le premier format trouvé avec des en-têtes complets et valides est utilisé pour définir la trace à continuer. Les paramètres de configuration plus spécifiques `dd.trace.propagation.style.inject` et `dd.trace.propagation.style.extract` ont la priorité lorsqu'ils sont présents.
+Disponible depuis la version 1.9.0 + +`trace.propagation.extract.first` +: **Variable d'environnement**: `DD_TRACE_PROPAGATION_EXTRACT_FIRST`
+**Par défaut**: `false`
+Lorsqu'il est défini sur `true`, l'extraction du contexte de trace s'arrête dès qu'un contexte de trace valide est trouvé. + +### Métriques JMX {#jmx-metrics} `dd.jmxfetch.enabled` -: **Variable d'environnement** : `DD_JMXFETCH_ENABLED`
-**Valeur par défaut** : `true`
-Active la collecte de métriques JMX par l'Agent de tracing Java. +: **Variable d'environnement**: `DD_JMXFETCH_ENABLED`
+**Par défaut**: `true`
+Active la collecte de métriques JMX par l'agent de tracing Java. `dd.jmxfetch.config.dir` -: **Variable d'environnement** : `DD_JMXFETCH_CONFIG_DIR`
-**Valeur par défaut** : `null`
-**Exemple** : `/chemin/vers/répertoire/etc/conf.d`
-Le répertoire de configuration supplémentaire pour la collecte de métriques JMX. L'Agent Java recherche `jvm_direct:true` dans la section `instance` du fichier `yaml` pour changer la configuration. +: **Variable d'environnement**: `DD_JMXFETCH_CONFIG_DIR`
+**Par défaut**: `null`
+**Exemple**: `/path/to/directory/etc/conf.d`
+Répertoire de configuration supplémentaire pour la collecte des métriques JMX. L'agent Java recherche `jvm_direct:true` dans la section `instance` du fichier `yaml` pour modifier la configuration. `dd.jmxfetch.config` -: **Variable d'environnement** : `DD_JMXFETCH_CONFIG`
-**Valeur par défaut** : `null`
-**Exemple** : `chemin/vers/fichier/conf.yaml,autre/chemin/vers/fichier/conf.yaml`
-Le fichier de configuration de métriques supplémentaires pour la collecte de métriques JMX. L'Agent Java recherche `jvm_direct:true` dans la section `instance` du fichier `yaml` pour changer la configuration. +: **Variable d'environnement**: `DD_JMXFETCH_CONFIG`
+**Par défaut**: `null`
+**Exemple**: `path/to/file/conf.yaml,other/path/to/file/conf.yaml`
+Fichier de configuration supplémentaire pour les métriques JMX. L'agent Java recherche `jvm_direct:true` dans la section `instance` du fichier `yaml` pour modifier la configuration. `dd.jmxfetch.check-period` -: **Variable d'environnement** : `DD_JMXFETCH_CHECK_PERIOD`
-**Valeur par défaut** : `1500`
-La fréquence d'envoi des métriques JMX (en ms). +: **Variable d'environnement**: `DD_JMXFETCH_CHECK_PERIOD`
+**Par défaut**: `15000`
+Fréquence d'envoi des métriques JMX (en ms). `dd.jmxfetch.refresh-beans-period` -: **Variable d'environnement** : `DD_JMXFETCH_REFRESH_BEANS_PERIOD`
-**Valeur par défaut** : `600`
-La fréquence d'actualisation de la liste des beans JMX disponibles (en secondes). +: **Variable d'environnement**: `DD_JMXFETCH_REFRESH_BEANS_PERIOD`
+**Par défaut**: `600`
+Fréquence d'actualisation de la liste des beans JMX disponibles (en secondes). `dd.jmxfetch.statsd.host` -: **Variable d'environnement** : `DD_JMXFETCH_STATSD_HOST`
-**Valeur par défaut** : identique à `agent.host`
-Le host Statsd vers lequel envoyer les métriques JMX. Si vous utilisez des sockets de domaine Unix, utilisez un argument tel que 'unix://CHEMIN_VERS_SOCKET_UDS'. Exemple : `unix:///var/datadog-agent/dsd.socket`. +: **Variable d'environnement**: `DD_JMXFETCH_STATSD_HOST`
+**Par défaut**: Identique à `agent.host`
+Host Statsd vers lequel envoyer les métriques JMX. Si vous utilisez des sockets de domaine Unix, utilisez un argument comme 'unix://CHEMIN_VERS_SOCKET_UDS'. Exemple : `unix:///var/datadog-agent/dsd.socket` `dd.jmxfetch.statsd.port` -: **Variable d'environnement** : `DD_JMXFETCH_STATSD_PORT`
-**Valeur par défaut** : `8125`
-Le port StatsD vers lequel envoyer les métriques JMX. Si vous utilisez des sockets de domaine Unix, saisissez 0. +: **Variable d'environnement**: `DD_JMXFETCH_STATSD_PORT`
+**Par défaut**: `8125`
+Port StatsD pour envoyer des métriques JMX. Si vous utilisez des sockets de domaine Unix, saisissez 0. + +`dd.jmxfetch..enabled` +: **Variable d'environnement**: `DD_JMXFETCH__ENABLED`
+**Par défaut**: `false`
+Intégration JMX à activer (par exemple, Kafka ou ActiveMQ). + +### Intégrations {#integrations} + +Pour découvrir comment désactiver des intégrations, consultez la section relative à la compatibilité des [intégrations][13]. `dd.integration.opentracing.enabled` -: **Variable d'environnement** : `DD_INTEGRATION_OPENTRACING_ENABLED`
-**Valeur par défaut** : `true`
-Par défaut, le client de tracing détecte si un GlobalTracer est en cours de chargement et enregistre un traceur dans celui-ci de manière dynamique. En définissant cette option sur false, toute dépendance entre le traceur et OpenTracing est supprimée. +: **Variable d'environnement**: `DD_INTEGRATION_OPENTRACING_ENABLED`
+**Par défaut**: `true`
+Par défaut, le client de traçage détecte si un GlobalTracer est chargé et enregistre dynamiquement un traceur dans celui-ci. En le mettant à faux, cela supprime toute dépendance du traceur à OpenTracing. `dd.hystrix.tags.enabled` -: **Variable d'environnement** : `DD_HYSTRIX_TAGS_ENABLED`
-**Valeur par défaut** : `false`
-Par défaut, les tags associés au groupe, à la commande et au statut du circuit Hystrix sont désactivés. Cette option permet de les activer. +: **Variable d'environnement**: `DD_HYSTRIX_TAGS_ENABLED`
+**Par défaut**: `false`
+Par défaut, les tags de groupe, de commande et d'état de circuit Hystrix ne sont pas activés. Cette propriété les active. -`dd.trace.servlet.async-timeout.error` -: **Variable d'environnement** : `DD_TRACE_SERVLET_ASYNC_TIMEOUT_ERROR`
-**Valeur par défaut** : `true`
-Par défaut, les requêtes asynchrones à exécution longue sont considérées comme des erreurs. Lorsque cette valeur est définie sur false, toutes les requêtes ayant expiré sont considérées comme réussies. +`dd.trace.elasticsearch.body.enabled` +: **Variable d'environnement**: `DD_TRACE_ELASTICSEARCH_BODY_ENABLED`
+**Par défaut**: `false`
+Lorsqu'il est défini sur `true`, le corps est ajouté aux spans Elasticsearch et OpenSearch. -`dd.trace.startup.logs` -: **Variable d'environnement** : `DD_TRACE_STARTUP_LOGS`
-**Valeur par défaut** : `true`
-Lorsque cette option est définie sur `false`, les logs de lancement informatifs sont désactivés. Disponible à partir de la version 0.64. +`dd.trace.elasticsearch.params.enabled` +: **Variable d'environnement**: `DD_TRACE_ELASTICSEARCH_PARAMS_ENABLED`
+**Par défaut**: `true`
+Lorsqu'il est défini sur `true`, les paramètres de chaîne de requête sont ajoutés aux spans Elasticsearch et OpenSearch. -`dd.trace.servlet.principal.enabled` -: **Variable d'environnement** : `DD_TRACE_SERVLET_PRINCIPAL_ENABLED`
-**Valeur par défaut** : `false`
-Lorsque cette option est définie sur `true`, l'objet principal utilisateur est recueilli. Disponible à partir de la version 0.61. +`dd.trace.cassandra.keyspace.statement.extraction.enabled` +: **Variable d'environnement**: `DD_TRACE_CASSANDRA_KEYSPACE_STATEMENT_EXTRACTION_ENABLED`
+**Par défaut**: `false`
+Par défaut, l'espace de clés est extrait uniquement s'il est configuré lors de la création de la session. Lorsqu'il est défini sur `true`, l'espace de clés peut également être extrait en examinant les métadonnées dans les résultats de la requête. + +`dd.trace.websocket.messages.enabled` +: **Variable d'environnement**: `DD_TRACE_WEBSOCKET_MESSAGES_ENABLED`
+**Par défaut**: `false`
+Active le traçage des messages websocket envoyés et reçus (texte et binaire) et des événements de fermeture de connexion. +`dd.trace.websocket.messages.inherit.sampling` +: **Variable d'environnement**: `DD_TRACE_WEBSOCKET_MESSAGES_INHERIT_SAMPLING`
+**Par défaut**: `true`
+Par défaut, les messages websocket conservent le même échantillonnage que le span capturé lors de la poignée de main. Cela garantit que, si un span de poignée de main a été échantillonné, tous les messages de sa session seront également échantillonnés. Pour désactiver ce comportement et échantillonner chaque message websocket indépendamment, définissez cette configuration sur `false`. -**Remarques** : +`dd.trace.websocket.messages.separate.traces` +: **Variable d'environnement**: `DD_TRACE_WEBSOCKET_MESSAGES_SEPARATE_TRACES`
+**Par défaut** : `true`
+Par défaut, chaque message reçu génère une nouvelle trace. La poignée de main y est liée en tant que span link. Définir ce paramètre sur `false` fait en sorte que tous les spans capturés pendant la session soient dans la même trace. -- Si le même type de clé est défini pour les deux, la configuration de la propriété système est prioritaire. +`dd.trace.websocket.tag.session.id` +: **Variable d'environnement** : `DD_TRACE_WEBSOCKET_TAG_SESSION_ID`
+**Par défaut** : `false`
+Lorsqu'il est défini sur `true`, les websocket spans ont le tag `websocket.session.id` contenant l'ID de session lorsqu'il est disponible. + + +**Remarque** : + +- Si le même type de clé est défini pour les deux, la configuration des propriétés système a la priorité. - Les propriétés système peuvent être utilisées comme paramètres JVM. -- Par défaut, les métriques JMX de votre application sont envoyées à l'Agent Datadog via DogStatsD sur le port `8125`. Vérifiez que [DogStatsD est activé pour l'Agent][5]. +- Par défaut, les métriques JMX de votre application sont envoyées à l'Agent Datadog grâce à DogStatsD sur le port `8125`. Assurez-vous que [DogStatsD est activé pour l'Agent][9]. - - Si vous exécutez l'Agent en tant que conteneur, vérifiez que `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` [est défini sur `true`][6] et que le port `8125` est ouvert sur le conteneur de l'Agent. - - Dans Kubernetes, [liez le port DogStatsD à un port de host][7] ; dans ECS, [définissez les flags appropriés dans la définition de votre tâche][2]. + - Si vous exécutez l'Agent en tant que conteneur, assurez-vous que `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` [est défini sur `true`][10], et que le port `8125` est ouvert sur le conteneur de l'Agent. + - Dans Kubernetes, [lier le port DogStatsD à un port hôte][11]; dans ECS, [définir les flags appropriés dans votre définition de tâche][12]. -### Intégrations +### UDS {#uds} -Pour découvrir comment désactiver des intégrations, consultez la section relative à la compatibilité des [intégrations][8]. +`dd.jdk.socket.enabled` +: **Variable d'environnement** : `DD_JDK_SOCKET_ENABLED`
+**Par défaut** : `true`
+Activer le support natif JDK pour les sockets de domaine Unix. -### Exemples +### Exemples {#examples} -#### `dd.service.mapping` +#### `dd.service.mapping` {#ddservicemapping} -**Exemple avec une propriété système** : +Exemple avec une propriété système : ```shell -java -javaagent:/chemin/vers/dd-java-agent.jar -Ddd.service=web-app -Ddd.service.mapping=postgresql:web-app-pg -jar chemin/vers/application.jar +java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.service.mapping=postgresql:web-app-pg -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/service_mapping.png" alt="mapping de service" >}} +{{< img src="tracing/setup/java/service_mapping.png" alt="cartographie des services" >}} -#### `dd.tags` - -**Configuration d'un environnement global pour les spans et les métriques JMX** : +#### `dd.tags` {#ddtags} +Définir un environnement global pour les spans et les métriques JMX : ```shell -java -javaagent:/chemin/vers/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -jar chemin/vers/application.jar +java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/trace_global_tags.png" alt="tags globaux de trace" >}} +{{< img src="tracing/setup/java/trace_global_tags.png" alt="Tags de trace globaux" >}} -#### `dd.trace.span.tags` +#### `dd.trace.span.tags` {#ddtracespantags} -**Exemple d'ajout de project:test à chaque span** : +Exemple d'ajout de project:test à chaque span : ```shell -java -javaagent:/chemin/vers/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.span.tags=project:test -jar chemin/vers/application.jar +java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.span.tags=project:test -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/trace_span_tags.png" alt="tags de span de trace" >}} +{{< img src="tracing/setup/java/trace_span_tags.png" alt="tags de span de trace" >}} -#### `dd.trace.jmx.tags` +#### `dd.trace.jmx.tags` {#ddtracejmxtags} -**Définition de custom.type:2 sur une métrique JMX** : +Définir custom.type:2 sur une métrique JMX : ```shell -java -javaagent:/chemin/vers/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.span.tags=project:test -Ddd.trace.jmx.tags=custom.type:2 -jar chemin/vers/application.jar +java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.span.tags=project:test -Ddd.trace.jmx.tags=custom.type:2 -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/trace_jmx_tags.png" alt="tags JMX de trace" >}} +{{< img src="tracing/setup/java/trace_jmx_tags.png" alt="tags JMX de trace" >}} -#### `dd.trace.methods` +#### `dd.trace.methods` {#ddtracemethods} -**Exemple avec une propriété système** : +Exemple avec une propriété système : ```shell -java -javaagent:/chemin/vers/agent-java-dd.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.methods="hello.GreetingController[doSomeStuff,doSomeOtherStuff];hello.Randomizer[randomize]" -jar chemin/vers/application.jar +java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.methods="hello.GreetingController[doSomeStuff,doSomeOtherStuff];hello.Randomizer[randomize]" -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/trace_methods.png" alt="méthodes à tracer" >}} +{{< img src="tracing/setup/java/trace_methods.png" alt="méthodes de trace" >}} -#### `dd.trace.db.client.split-by-instance` +#### `dd.trace.db.client.split-by-instance` {#ddtracedbclientsplit-by-instance} Exemple avec une propriété système : ```shell -java -javaagent:/chemin/vers/dd-java-agent.jar -Ddd.env=dev -Ddd.service=web-app -Ddd.trace.db.client.split-by-instance=TRUE -jar chemin/vers/application.jar +java -javaagent:/path/to/dd-java-agent.jar -Ddd.env=dev -Ddd.service=web-app -Ddd.trace.db.client.split-by-instance=TRUE -jar path/to/application.jar ``` -L'instance de base de données 1, `webappdb`, possède désormais son propre nom de service, le même que celui indiqué dans les métadonnées de span `db.instance` : +L'instance de base de données 1, `webappdb`, obtient maintenant son propre nom de service qui est le même que les métadonnées de span `db.instance` : -{{< img src="tracing/setup/java/split_by_instance_1.png" alt="instance 1" >}} +{{< img src="tracing/setup/java/split_by_instance_1.png" alt="instance 1" >}} -L'instance de base de données 2, `secondwebappdb`, possède désormais son propre nom de service, le même que celui indiqué dans les métadonnées de span `db.instance` : +L'instance de base de données 2, `secondwebappdb`, obtient maintenant son propre nom de service qui est le même que les métadonnées de span `db.instance` : -{{< img src="tracing/setup/java/split_by_instance_2.png" alt="instance 2" >}} +{{< img src="tracing/setup/java/split_by_instance_2.png" alt="instance 2" >}} -De même, sur la service map, une app Web appelle désormais deux bases de données Postgres distinctes. +De même, sur la service map, une app Web appelle désormais deux base de données Postgres distinctes. -#### `dd.http.server.tag.query-string` +#### `dd.http.server.tag.query-string` {#ddhttpservertagquery-string} Exemple avec une propriété système : ```shell -java -javaagent:/chemin/vers/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.http.server.tag.query-string=TRUE -jar chemin/vers/application.jar +java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.http.server.tag.query-string=TRUE -jar path/to/application.jar ``` -{{< img src="tracing/setup/java/query_string.png" alt="chaîne de requête" >}} +{{< img src="tracing/setup/java/query_string.png" alt="chaîne de requête" >}} -#### `dd.trace.enabled` +#### `dd.trace.enabled` {#ddtraceenabled} -**Exemple avec une propriété système et le mode debugging d'app** +Exemple avec propriété système et mode application de débogage : ```shell -java -javaagent:/chemin/vers/agent-java-dd.jar -Ddd.trace.enabled=false -Ddatadog.slf4j.simpleLogger.defaultLogLevel=debug -jar chemin/vers/application.jar +java -javaagent:/path/to/dd-java-agent.jar -Ddd.trace.enabled=false -Ddd.trace.debug=true -jar path/to/application.jar ``` -Les logs de debugging d'app indiquent, avec le message `Tracing is disabled, not installing instrumentations`, que le tracing est désactivé et qu'aucune instrumentation n'est en cours d'installation. +Les journaux de débogage de l'application montrent que `Tracing is disabled, not installing instrumentations.` -#### `dd.jmxfetch.config.dir` et `dd.jmxfetch.config` +#### `dd.jmxfetch.config.dir` et `dd.jmxfetch.config` {#ddjmxfetchconfigdir-and-ddjmxfetchconfig} Exemple de configuration : -- Combinaison `DD_JMXFETCH_CONFIG_DIR=` + `DD_JMXFETCH_CONFIG=conf.yaml` -- Ou directement avec `DD_JMXFETCH_CONFIG=/conf.yaml` +- Soit la combinaison de : `DD_JMXFETCH_CONFIG_DIR=` + `DD_JMXFETCH_CONFIG=conf.yaml` +- Ou directement : `DD_JMXFETCH_CONFIG=/conf.yaml` -Avec le contenu suivant pour `conf.yaml` : +Avec le contenu suivant pour `conf.yaml` : ```yaml init_config: @@ -375,46 +650,50 @@ instances: On obtient le résultat suivant : -{{< img src="tracing/setup/java/jmxfetch_example.png" alt="exemple JMXFetch" >}} - -Consultez la [documentation relative à l'intégration Java][9] pour en savoir plus sur la collecte de métriques Java avec JMXFetch. - -### Extraction et injection d'en-têtes B3 - -Le traceur de l'APM Datadog prend en charge [l'extraction et l'injection d'en-têtes B3][10] pour le tracing distribué. - -L'injection et l'extraction distribuées d'en-têtes sont contrôlées en configurant des styles d'injection/extraction. Deux styles sont actuellement pris en charge : - -- Datadog : `Datadog` -- B3 : `B3` - -Les styles d'injection peuvent être configurés via : - -- Propriété système : `-Ddd.propagation.style.inject=Datadog,B3` -- Variable d'environnement : `DD_PROPAGATION_STYLE_INJECT=Datadog,B3` +{{< img src="tracing/setup/java/jmxfetch_example.png" alt="Exemple de récupération JMX" >}} -La propriété ou la variable d'environnement prend pour valeur une liste de styles d'en-tête séparés par des virgules (ou des espaces) qui sont activés pour l'injection. Par défaut, seul le style d'injection Datadog est activé. +Consultez la [documentation relative à l'intégration Java][14] pour en savoir plus sur la collecte de métriques Java avec JMXFetch. -Les styles d'extraction peuvent être configurés via : +#### Paramètres d'extraction et d'injection obsolètes {#deprecated-extraction-and-injection-settings} -- Propriété système : `-Ddd.propagation.style.extract=Datadog,B3` -- Variable d'environnement : `DD_PROPAGATION_STYLE_EXTRACT=Datadog,B3` +Ces paramètres d'extraction et d'injection ont été déclarés obsolètes au profit des paramètres `dd.trace.propagation.style.inject`, `dd.trace.propagation.style.extract` et `dd.trace.propagation.style` depuis la version 1.9.0. Voir [Propagation du contexte de trace Java][15]. Le paramètre précédent `b3` pour B3 multi header et B3 single header a été remplacé par les nouveaux paramètres `b3multi` et `b3single`. -La propriété ou la variable d'environnement prend pour valeur une liste de styles d'en-tête séparés par des virgules (ou des espaces) qui sont activés pour l'extraction. Par défaut, seul le style d'extraction Datadog est activé. +`dd.propagation.style.inject` +: **Variable d'environnement**: `DD_PROPAGATION_STYLE_INJECT`
+**Par défaut**: `datadog`
+Une liste séparée par des virgules des formats d'en-tête à inclure pour propager les traces distribuées entre les services.
+Obsolète depuis la version 1.9.0 -Si plusieurs styles d'extraction sont activés, une tentative d'extraction est effectuée dans l'ordre selon lequel ces styles ont été configurés, et la première valeur extraite avec succès est utilisée. +`dd.propagation.style.extract` +: **Variable d'environnement**: `DD_PROPAGATION_STYLE_EXTRACT`
+**Par défaut**: `datadog`
+Une liste séparée par des virgules des formats d'en-tête à partir desquels tenter d'extraire les données de propagation de traçage distribué. Le premier format trouvé avec des en-têtes complets et valides est utilisé pour définir la trace à continuer.
+Obsolète depuis la version 1.9.0 -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: /fr/getting_started/tagging/unified_service_tagging/ -[2]: /fr/agent/amazon_ecs/#create-an-ecs-task -[3]: /fr/tracing/setup/docker/ -[4]: https://github.com/DataDog/dd-trace-java/blob/master/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java#L37 -[5]: /fr/developers/dogstatsd/#setup -[6]: /fr/agent/docker/#dogstatsd-custom-metrics -[7]: /fr/developers/dogstatsd/ -[8]: /fr/tracing/compatibility_requirements/java#disabling-integrations -[9]: /fr/integrations/java/?tab=host#metric-collection -[10]: https://github.com/openzipkin/b3-propagation \ No newline at end of file +[2]: /fr/agent/logs/advanced_log_collection +[3]: /fr/tracing/guide/remote_config +[4]: https://app.datadoghq.com/services +[5]: /fr/tracing/setup/docker/ +[6]: /fr/agent/configuration/network/#configure-ports +[7]: https://github.com/DataDog/dd-trace-java/blob/master/dd-java-agent/instrumentation/trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation/TraceAnnotationsInstrumentation.java#L37 +[8]: /fr/tracing/configure_data_security/#telemetry-collection +[9]: /fr/extend/dogstatsd/#setup +[10]: /fr/agent/docker/#dogstatsd-custom-metrics +[11]: /fr/extend/dogstatsd/ +[12]: /fr/agent/amazon_ecs/#create-an-ecs-task +[13]: /fr/tracing/compatibility_requirements/java#disabling-integrations +[14]: /fr/integrations/java/?tab=host#metric-collection +[15]: /fr/tracing/trace_collection/trace_context_propagation/ +[16]: /fr/tracing/trace_collection/custom_instrumentation/java/otel/ +[17]: /fr/opentelemetry/interoperability/environment_variable_support +[18]: /fr/tracing/guide/aws_payload_tagging/?code-lang=java +[19]: /fr/security/application_security/setup/threat_detection/java/ +[20]: https://ant.apache.org/manual/dirtasks.html#patterns +[21]: /fr/tracing/trace_collection/library_config/#traces +[22]: /fr/profiler/ +[23]: /fr/database_monitoring/connect_dbm_and_apm/?tab=java \ No newline at end of file diff --git a/content/fr/tracing/trace_collection/single-step-apm/_index.md b/content/fr/tracing/trace_collection/single-step-apm/_index.md new file mode 100644 index 00000000000..5190e2f5344 --- /dev/null +++ b/content/fr/tracing/trace_collection/single-step-apm/_index.md @@ -0,0 +1,88 @@ +--- +aliases: +- /fr/tracing/trace_collection/admission_controller/ +- /fr/tracing/trace_collection/library_injection_local/ +- /fr/tracing/trace_collection/automatic_instrumentation/single-step-apm/ +further_reading: +- link: /tracing/metrics/runtime_metrics/ + tag: Documentation + text: Activer les métriques d'exécution +- link: /tracing/guide/injectors + tag: Documentation + text: Comprendre le comportement de l'injecteur avec l'instrumentation par étape + unique +- link: /tracing/trace_collection/automatic_instrumentation/single-step-apm/troubleshooting/ + tag: Documentation + text: Dépannage de l'APM par étape unique +- link: https://learn.datadoghq.com/courses/troubleshooting-apm-instrumentation-on-a-host + tag: Centre d'apprentissage + text: Dépannage de l'instrumentation APM sur un hôte +- link: /tracing/guide/local_sdk_injection + tag: Documentation + text: Instrumentez vos applications en utilisant l'injection locale de SDK +- link: https://www.datadoghq.com/blog/datadog-csi-driver/ + tag: Blog + text: Apportez une observabilité haute performance aux environnements Kubernetes + sécurisés avec le pilote CSI de Datadog +- link: https://www.datadoghq.com/blog/rum-apm-single-step + tag: Blog + text: Activez la visibilité de bout en bout dans vos applications Java avec une + seule commande +title: Instrumentation APM en une étape +--- +## Aperçu {#overview} + +L'instrumentation par étape unique (SSI) installe automatiquement les SDK Datadog sans configuration supplémentaire requise, réduisant le temps d'intégration de plusieurs jours à quelques minutes. + +Pour en savoir plus sur son fonctionnement, consultez le [guide de l'injecteur pour l'instrumentation par étape unique][8]. + +## Prérequis {#prerequisites} + +1. Supprimez tout code d'instrumentation personnalisé de votre application et redémarrez-la. La SSI est automatiquement désactivée si une instrumentation personnalisée est détectée. +1. Confirmez la compatibilité de l'environnement en consultant le [guide de compatibilité SSI][18] pour les langages, systèmes d'exploitation et architectures pris en charge. + +## Instrumentation des SDK dans les applications {#instrument-sdks-across-applications} + +Lorsque vous [installez ou mettez à jour l'Agent Datadog][1] avec **l'instrumentation APM** activée, l'Agent instrumente vos applications en chargeant le SDK Datadog dans les processus pris en charge. Cela permet le traçage distribué en capturant et en envoyant des données de trace depuis vos services sans nécessiter de modifications de code. + +Après l'instrumentation, vous pouvez optionnellement : +- [configurer les balises de service unifiées (USTs)][14] +- activer des produits et fonctionnalités supplémentaires dépendants du SDK, tels que Continuous Profiler ou Application Security Monitoring + +Cliquez sur l'une des tuiles suivantes pour apprendre à configurer SSI pour votre type de déploiement : + +{{< card-grid card_width="170px" image_width="200" >}} + {{< image-card href="linux/" src="integrations_logos/linux.png" alt="linux" >}} + {{< image-card href="docker/" src="integrations_logos/docker.png" alt="docker" >}} + {{< image-card href="kubernetes/" src="integrations_logos/kubernetes.png" alt="kubernetes" >}} + {{< image-card href="windows/" src="integrations_logos/windows.png" alt="windows" >}} +{{< /card-grid >}} + +
+ +## Dépannage {#troubleshooting} + +Si vous rencontrez des problèmes pour activer APM avec SSI, consultez le [guide de dépannage SSI][15]. + +## Lectures complémentaires {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: https://app.datadoghq.com/account/settings/agent/latest +[2]: /fr/tracing/metrics/runtime_metrics/ +[3]: /fr/internal_developer_portal/catalog/ +[4]: /fr/tracing/glossary/#instrumentation +[5]: /fr/containers/cluster_agent/admission_controller/ +[6]: /fr/tracing/trace_collection/automatic_instrumentation/single-step-apm/compatibility +[7]: /fr/tracing/trace_collection/custom_instrumentation/ +[8]: /fr/tracing/guide/injectors +[9]: /fr/tracing/trace_collection/automatic_instrumentation/single-step-apm/kubernetes/?tab=installingwithdatadogoperator#configure-instrumentation-for-namespaces-and-pods +[10]: /fr/tracing/trace_collection/library_config/ +[11]: /fr/tracing/metrics/runtime_metrics/ +[12]: /fr/internal_developer_portal/catalog/ +[13]: /fr/tracing/glossary/#instrumentation +[14]: /fr/getting_started/tagging/unified_service_tagging +[15]: /fr/tracing/trace_collection/automatic_instrumentation/single-step-apm/troubleshooting +[16]: /fr/tracing/trace_collection/custom_instrumentation/ +[17]: /fr/tracing/trace_collection/library_config/application_monitoring_yaml/ +[18]: /fr/tracing/trace_collection/automatic_instrumentation/single-step-apm/compatibility/ \ No newline at end of file diff --git a/content/fr/tracing/trace_explorer/_index.md b/content/fr/tracing/trace_explorer/_index.md index fa03aebfd30..c908e3a41d8 100644 --- a/content/fr/tracing/trace_explorer/_index.md +++ b/content/fr/tracing/trace_explorer/_index.md @@ -8,129 +8,153 @@ further_reading: - link: tracing/trace_explorer/search tag: Documentation text: Rechercher des spans +- link: https://learn.datadoghq.com/courses/getting-started-apm + tag: Centre d'apprentissage + text: Premiers pas avec les métriques et traces APM +- link: https://learn.datadoghq.com/courses/diagnosing-bugs-with-apm + tag: Centre d'apprentissage + text: Diagnostic des bogues d'application avec Datadog APM title: Trace Explorer --- +{{< img src="tracing/apm_lifecycle/trace_explorer.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Trace Explorer" >}} -{{< img src="tracing/apm_lifecycle/trace_explorer.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Trace Explorer" >}} +## Aperçu {#overview} -## Présentation +L'[Explorateur de traces][1] vous permet de rechercher tous les spans ingérés ou indexés en utilisant n'importe quelle balise sur n'importe quel span. Les spans trouvés par votre requête changent en fonction de si vous recherchez des spans en direct (tous les spans ingérés dans les 15 dernières minutes, en continu) ou des spans indexés (spans conservés pendant 15 jours par vos filtres personnalisés). -Le [Trace Explorer][1] vous permet d'effectuer des recherches parmi toutes les spans ingérées ou indexées en appliquant n'importe quel tag sur n'importe quelle span. Les spans renvoyées par votre requête dépendent du type de recherche effectué. Une recherche en mode Live renvoie toutes les spans ingérées au cours des 15 dernières minutes avec mise à jour en temps réel, tandis qu'une recherche parmi les spans indexées renvoie les spans conservées pendant 15 jours par vos filtres personnalisés. +Les applications instrumentées envoient des traces à Datadog en fonction de vos [contrôles d'ingestion][2] configurés. Les traces ingérées sont disponibles en tant que traces en direct pour une fenêtre de 15 minutes. -Les applications instrumentées envoient 100 % de leurs traces à Datadog en vue de leur [ingestion][2]. Ces traces sont alors disponibles en tant que traces Live pendant une période mobile de 15 minutes. +L'Explorateur de traces affiche un indicateur **Recherche en direct - Toutes les données ingérées** chaque fois que vous êtes en mode Live : -Le Trace Explorer affiche un indicateur **Live Search - All ingested data** lorsque vous êtes en mode Live : - -{{< img src="tracing/trace_explorer/live_search.png" alt="Indicateur Live Search" style="width:75%;" >}} +{{< img src="tracing/trace_explorer/live_search.png" alt="Indicateur de recherche en direct" style="width:75%;" >}} Toutes les traces ingérées passent ensuite par : -- Des [filtres de rétention personnalisés][3] que vous pouvez créer pour indiquer les spans à indexer. Une fois indexées par l'un de ces filtres, les traces sont conservées pendant **15 jours**. -- Le [filtre de rétention intelligent par défaut][4], qui conserve un ensemble diversifié de traces. Une fois indexées par ce filtre, les traces sont conservées pendant **30 jours**. +- [Filtres de rétention personnalisés][3] que vous pouvez créer pour déterminer quels spans indexer. Une fois indexées par un filtre de rétention personnalisé, les traces sont conservées pendant **15 jours**. +- Le [filtre de rétention intelligent][4] par défaut qui conserve un ensemble diversifié de traces. Lorsqu'elles sont indexées par le filtre de rétention intelligent, les traces sont conservées pendant **30 jours**. + +L'Explorateur de traces affiche un indicateur **Recherche - Données uniquement indexées** chaque fois que vous recherchez des [spans indexés][5] : + +{{< img src="tracing/trace_explorer/historical_search.png" alt="Indicateur de données uniquement indexées" style="width:75%;" >}} + +La recherche en direct est la vue par défaut sur la page des traces. Passez de la recherche en direct à la recherche de données indexées en utilisant le sélecteur de temps dans le coin supérieur droit. -Le Trace Explorer affiche un indicateur **Search - Only Indexed Data** lorsque vous recherchez des [spans indexées][5] : +### Modèles de traces {#trace-patterns} -{{< img src="tracing/trace_explorer/historical_search.png" alt="Indicateur Only Indexed" style="width:75%;" >}} +{{< callout url="https://www.datadoghq.com/product-preview/apm-trace-patterns/" btn_hidden="false" header="Rejoignez la préversion !" >}} +Les modèles de traces sont en préversion. Utilisez ce formulaire pour soumettre votre demande aujourd'hui. +{{< /callout >}} -Le mode Live Search est sélectionné par défaut sur la page Traces. Utilisez le sélecteur d'intervalle en haut à droite pour passer du mode Live Search au mode Indexed Data Search. +Les modèles de traces regroupent les spans ayant une structure et des attributs similaires en modèles récurrents, afin que vous puissiez analyser le comportement à travers des milliers de traces à la fois au lieu de les lire individuellement. Utilisez les modèles de traces lorsque une requête renvoie trop de spans à examiner trace par trace, comme pour trouver quelles formes d'erreur sont nouvelles cette semaine ou quels modèles de latence ont changé après un déploiement. -### Contrôle du volume des traces +### Contrôle du volume des traces {#trace-volume-control} Vous pouvez personnaliser les paramètres [de rétention et d'ingestion][6] afin d'envoyer et de conserver uniquement les données qui vous intéressent. -#### Ingestion +#### Ingestion {#ingestion} Contrôlez l'ensemble de votre volume avec les [options de configuration de l'Agent Datadog][7] ou définissez des [règles d'ingestion][8] précises pour chaque service instrumenté avec la solution APM Datadog. -#### Indexation +#### Indexation {#indexing} Après avoir instrumenté vos services et ingéré des traces, définissez des [filtres de rétention][3] basés sur des tags dans l'application Datadog pour que Datadog conserve uniquement les spans qui vous intéressent. -**Remarque** : les spans ingérées et indexées peuvent augmenter vos coûts. Pour en savoir plus, consultez la page [Tarification d'APM][9]. +**Remarque :** Les spans ingérés et indexés peuvent avoir un impact sur votre facture. Pour plus d'informations, consultez [APM Billing][9]. -## Live Search pendant 15 minutes +## Recherche en direct pendant 15 minutes {#live-search-for-15-minutes} -{{< img src="tracing/apm_lifecycle/trace_explorer_live_search.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Live Search" >}} +{{< img src="tracing/apm_lifecycle/trace_explorer_live_search.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Recherche en direct" >}} -En mode Live Search, Datadog affiche les spans dès qu'elles ont été envoyées par l'Agent Datadog et avant qu'elles aient été indexées par vos filtres de rétention. Toutes les spans ingérées sont affichées pour les 15 dernières minutes (période mobile) sans aucun échantillonnage. +Lorsque vous utilisez la recherche en direct, Datadog affiche les spans dès qu'ils sont envoyés par l'Agent Datadog et avant qu'ils ne soient indexés par vos filtres de rétention. Tous les spans ingérés sont disponibles pour les 15 dernières minutes (fenêtre glissante), affichés sans aucun échantillonnage. {{< tabs >}} -{{% tab "Vue sous forme de Liste" %}} +{{% tab "Vue en liste" %}} -{{< img src="tracing/live_search/live-search.mp4" alt="Live Search avec vue sous forme de liste" video="true" >}} +{{< img src="tracing/live_search/live-search.mp4" alt="Vue en liste de recherche en direct" video="true" >}} -Utilisez la **vue sous forme de Liste** pour : +Avec la **vue en liste**, vous pouvez : -- Surveiller le bon déroulement d'un nouveau déploiement en recherchant l'attribut `version_id` de tous les tags. -- Visualiser des informations sur les pannes en temps réel en recherchant un `org_id` ou `customer_id` spécifique associé à une span enfant problématique parmi 100 % des spans ingérées. -- Vérifier si un processus a correctement démarré en saisissant `process_id` et en complétant automatiquement le nouvel identifiant de processus en tant que tag sur les spans enfant. -- Surveiller l'impact des tests de charge sur vos endpoints en filtrant les métriques en fonction de la durée d'une ressource enfant. -- Appliquer des requêtes de recherche en un seul clic sur n'importe quel tag ou span directement à partir du volet des traces. -- Ajouter, supprimer et trier des colonnes à partir des tags de span pour obtenir un affichage personnalisé. +- Surveiller si un nouveau déploiement s'est bien déroulé en filtrant sur `version_id` de tous les tags. +- Voir les informations liées aux pannes en temps réel en recherchant 100 % des traces ingérées pour un `org_id` ou `customer_id` particulier associé à un span enfant problématique. +- Vérifiez si un processus a correctement démarré en tapant `process_id` et en autocomplétant le nouvel ID de processus comme tag sur les spans enfants. +- Surveiller l'impact des tests de charge et de performance sur vos points de terminaison en filtrant sur la durée d'une ressource enfant. +- Exécutez des requêtes de recherche en un clic sur n'importe quel span ou tag directement depuis la vue du panneau de traces. +- Ajoutez, supprimez et triez des colonnes à partir des tags de span pour une vue personnalisée. -Le nombre de spans reçues par seconde est affiché en haut du tableau des traces. Étant donné qu'un flux de milliers de spans par seconde est difficilement lisible, seule une partie des spans est affichée en cas de volume élevé. Vous pouvez néanmoins effectuer des recherches parmi l'ensemble des spans disponibles. Utilisez les fonctions de filtrage de la barre de requête Live Search pour filtrer le flux de spans et le bouton **Pause/Play** en haut à droite pour interrompre ou relancer le flux. +Le nombre de spans reçus par seconde est affiché en haut du tableau des traces. Étant donné qu'un flux de milliers de spans par seconde n'est pas lisible par un humain, les flux de spans à haut débit affichent certains spans pour plus de clarté visuelle. Vous pouvez rechercher tous les spans disponibles dans la requête de recherche. Utilisez les fonctionnalités de filtrage de la barre de requête de recherche en direct pour filtrer le flux de spans et le bouton **Pause/Play** en haut à droite de l'écran pour mettre en pause ou reprendre le flux. -{{< img src="tracing/live_search/play-pause-button.png" alt="Interrompre ou lancer le Live Stream" style="width:75%;" >}} +{{< img src="tracing/live_search/play-pause-button.png" alt="Mettre en pause ou reprendre le flux en direct" style="width:75%;" >}} -**Remarque** : lorsque vous sélectionnez une span, le flux s'interrompt et les détails de la span sélectionnée s'affichent dans le volet latéral de la trace. +**Remarque** : Sélectionner un span met le flux en pause et affiche plus de détails sur le span sélectionné dans le panneau latéral des traces. {{% /tab %}} -{{% tab "Vue sous forme de Série temporelle" %}} +{{% tab "Vue des séries temporelles" %}} -{{< img src="tracing/live_search/live-analytics.mp4" alt="Live Search avec vue sous forme de série temporelle" video="true" >}} +{{< img src="tracing/live_search/live-analytics.mp4" alt="Vue des séries temporelles de recherche en direct" video="true" >}} -Utilisez le bouton **Timeseries** pour visualiser vos spans sous forme de série temporelle et non sous forme de liste. Cette vue est utile pour représenter graphiquement les requêtes et les erreurs qui correspondent aux critères spécifiés, comme : +Visualisez vos spans sous forme de séries temporelles au lieu d'une liste en utilisant la **vue des séries temporelles**. La vue des séries temporelles de recherche en direct est utile pour tracer des requêtes ou des erreurs qui correspondent à des critères spécifiés, tels que : -- Les erreurs pour le service et l'endpoint `ShoppingCart##checkout` avec un panier d'au moins `$100`. Vous pouvez également consulter chacune des traces correspondant à ces critères. +- Erreurs pour le `ShoppingCart##checkout` service et point de terminaison, avec une valeur de panier d'au moins `$100`, avec la possibilité de visualiser les traces correspondant à ces critères individuellement. -- Surveiller le déploiement Canary de n'importe quelle mise à jour d'application critique en temps réel. +- Surveillez un déploiement canari d'une mise à jour critique d'application en temps réel. -- Comparer la latence d'une région géographique à une autre pour la dernière version de votre application iOS. +- Comparez la latence à travers les régions géographiques limitées à la dernière version de votre application iOS. En plus de visualiser les requêtes qui correspondent à vos recherches sous forme de série temporelle, vous pouvez consulter les clients, zones de disponibilités ou autres éléments les plus affectés sous forme de Top List pendant une panne ou une enquête. -**Remarque :** l'exportation vers un dashboard ou un monitor est uniquement possible avec les spans conservées. +**Remarque :** L'exportation vers des tableaux de bord et des moniteurs n'est possible qu'avec des spans conservés. {{% /tab %}} {{< /tabs >}} -### Filtrage +### Filtrage {#filtering} -{{< img src="tracing/live_search/service_entry_root_spans.mp4" alt="Recherche parmi toutes les spans" video="true" >}} +{{< img src="tracing/live_search/service_entry_root_spans.mp4" alt="Recherche de tous les spans" video="true" >}} -Définissez une requête valide dans la barre de recherche pour afficher les traces qui correspondent à vos critères de recherche pour **toutes les spans**. La syntaxe de recherche en mode Live Search est la même que celle dans les autres vues. Toutefois, en mode Live Search, la recherche se fait parmi toutes les traces ingérées, pour **tous les tags** et **toutes les spans**, et non pas uniquement parmi celles qui ont été indexées. +Une requête valide dans la barre de recherche affiche les traces qui correspondent à vos critères de recherche à travers **tous les spans**. La syntaxe de recherche est la même dans les vues de recherche en direct que dans les autres vues de traces, mais ici, votre requête est comparée à toutes les traces ingérées à travers **n'importe quel span** et **n'importe quel tag**, et pas seulement celles indexées. -Vous pouvez choisir d'interroger les [spans de point d'entrée des services][10], les [spans racines][11] ou toutes les spans en modifiant l'option sélectionnée au-dessus du tableau des traces. Utilisez cette fonction sur les applications qui génèrent beaucoup de trafic pour réduire le nombre de spans affichées et ne visualiser que les spans de point d'entrée des services ou de la trace. Lorsque vous cochez cette case, seules les spans affichées dans la liste sont filtrées. Les autres spans continuent à être représentées dans le flamegraph lorsque vous cliquez sur une span pour afficher les détails de la trace. +Vous pouvez choisir de requêter les [spans d'entrée de service][10], les [spans racines][11], ou tous les spans en changeant la sélection dans la boîte au-dessus du tableau des traces. Utilisez cette fonctionnalité sur des applications à fort trafic pour réduire le nombre de spans affichés et ne visualiser que les spans de point d'entrée des services ou le point d'entrée de la trace. Sélectionner cette case ne filtre que les spans affichés dans la liste ; les autres sont toujours affichés dans le graphique de flammes lorsque vous cliquez sur un span pour voir les détails de la trace. -Vous pouvez également rechercher des attributs qui ne sont pas définis en tant que facettes. Par exemple, pour rechercher l'attribut `cart.value`, deux options sont possibles : +Vous pouvez également filtrer sur des attributs qui ne sont pas définis comme facettes. Par exemple, pour filtrer sur l'attribut `cart.value`, il y a deux options : -- Cliquez sur l'attribut `cart.value` dans le volet des traces et ajoutez-le à la requête de recherche : +- Cliquez sur l'attribut `cart.value` dans le panneau des détails de la trace et ajoutez-le à la requête de recherche : {{< img src="tracing/live_search/add-attribute-to-query.mp4" alt="Ajouter un attribut à la requête" video="true" >}} -- Recherchez toutes les spans associées à l'attribut `cart.value` en saisissant « cart.value » dans la barre de requête de recherche : -{{< img src="tracing/live_search/filter-by-attribute2.mp4" alt="Filtrer par attribut en mode Live Search" video="true" >}} +- Filtrer sur tous les spans avec un attribut `cart.value` en tapant "cart.value" dans la barre de recherche : +{{< img src="tracing/live_search/filter-by-attribute2.mp4" alt="Filtre de recherche en direct par attribut" video="true" >}} + +### Analyser les anomalies avec des insights intégrés {#analyzing-anomalies-with-integrated-insights} + +L'Explorateur de traces combine la détection automatisée des valeurs aberrantes par Watchdog avec l'analyse des TAG pour vous aider à identifier rapidement la cause profonde des problèmes. Lorsque Watchdog détecte des tags qui sont statistiquement sur-représentés dans les erreurs ou les spans à haute latence, ces insights sont affichés à plusieurs endroits : + +- **Suggestions de recherche** : Au fur et à mesure que vous tapez dans la barre de recherche, les tags aberrants apparaissent comme suggestions avec un indicateur montrant qu'ils sont corrélés avec des erreurs ou des problèmes de latence. +- **Recommandations de regroupement** : Lors de la sélection des attributs à regrouper, les facettes aberrantes sont mises en évidence pour guider votre enquête. +- **Barre latérale des facettes** : Les tags aberrants sont promus en haut de la liste des facettes dans une section dédiée "OUTLIERS". +- **Métriques RED** : Le bouton "Analyser" à côté des graphiques d'erreurs et de latence est mis en évidence lorsque des valeurs aberrantes pertinentes sont détectées. + +{{< img src="tracing/trace_explorer/visualize/trace_explorer_outliers.mp4" alt="Analyser les anomalies avec des insights intégrés" video="true" >}} -## Recherche de spans indexées avec rétention de 15 jours +## Recherche des spans indexés avec une rétention de 15 jours {#indexed-spans-search-with-15-day-retention} {{< img src="tracing/apm_lifecycle/trace_explorer_indexed_search.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Recherche indexée" >}} -La recherche de traces conservées se fait de la même façon qu'en mode Live Search. Pour passer du mode Live aux données conservées, modifiez le sélecteur d'intervalle pour choisir une durée supérieure à 15 minutes. Toutes les spans indexées par des filtres de rétention sont accessibles via la recherche. Ces spans sont conservées par Datadog pendant 15 jours après avoir été indexées par un filtre de rétention. +Vous pouvez rechercher des traces conservées de la même manière que vous effectuez une recherche en direct. Pour passer de la recherche de données en direct à la recherche de données conservées, changez le sélecteur de temps pour une période supérieure à 15 minutes. Tous les spans qui sont indexés par les filtres de rétention sont accessibles depuis la recherche. Ces spans sont conservés par Datadog pendant 15 jours après avoir été indexés par un filtre de rétention. -{{< img src="tracing/live_search/searching-retained-traces.mp4" alt="Effectuer une recherche parmi les traces conservées" video="true" >}} +{{< img src="tracing/live_search/searching-retained-traces.mp4" alt="Recherche des traces conservées" video="true" >}} {{< tabs >}} -{{% tab "Vue sous forme de Liste" %}} +{{% tab "Vue en liste" %}} -Toutes les spans indexées par des filtres de rétention personnalisés *et* le filtre de rétention intelligent peuvent être recherchées lorsque la vue sous forme de Liste est activée. Toutefois, si vous filtrez vos spans en fonction d'un tag qui figure uniquement dans des spans non indexées par un filtre de rétention, votre recherche n'affichera aucun résultat, ce qui n'est pas le cas en mode [Live Search](#live-search-pendant-15-minutes). +Tous les spans indexés par des filtres de rétention personnalisés *et* le filtre de rétention intelligent sont disponibles pour être recherchés dans la vue Liste. Cependant, si vous filtrez par une étiquette qui n'apparaît que sur des spans qui ne sont indexés par aucun filtre de rétention, votre recherche ne renvoie aucun résultat, contrairement à l'utilisation de [Recherche en direct](#live-search-for-15-minutes). {{% /tab %}} -{{% tab "Vue sous forme de Série temporelle" %}} +{{% tab "Vue des séries temporelles" %}} Toutes les spans indexées par des filtres de rétention personnalisés ou par le filtre de rétention intelligent peuvent être recherchées via l'analyse de traces. -Lorsque la vue sous forme de Série temporelle est activée, exportez votre requête vers un [dashboard][1], un [monitor][2] ou un [notebook][3] pour effectuer une analyse plus poussée ou pour recevoir automatiquement une alerte lorsqu'un nombre agrégé de spans dépasse un certain seuil. +Lorsque la vue sous forme de Série temporelle est activée, exportez votre requête vers un [dashboard][1], un [monitor][2] ou un [notebook][3] pour effectuer une analyse plus poussée ou pour recevoir automatiquement une alerte lorsqu'un nombre agrégé de spans dépasse un certain seuil. -**Remarque** : les spans indexées par le filtre de rétention intelligent sont exclues des requêtes APM qui apparaissent dans les dashboards et les notebooks, ainsi que des évaluations de monitor d'analyse de traces. Pour en savoir plus, consultez la section [Rétention des traces][4]. +**Remarque** : Les spans indexés par le filtre de rétention intelligent sont exclus des évaluations des moniteurs d'analytique des traces APM. Pour plus d'informations, voir [Rétention des traces][4]. [1]: /fr/dashboards/widgets/timeseries/ [2]: /fr/monitors/types/apm/?tab=analytics @@ -140,11 +164,11 @@ Lorsque la vue sous forme de Série temporelle est activée, exportez votre requ {{% /tab %}} {{< /tabs >}} -### Configuration de la rétention +### Configuration de la rétention {#retention-configuration} -Vous pouvez personnaliser les spans qui sont conservées et leurs taux de rétention. Par défaut, le [filtre de rétention intelligent de Datadog][4] est appliqué. Il conserve automatiquement les traces associées à une variété d'erreurs et de latences ainsi que les traces liées à des ressources avec un trafic faible. Pour en savoir plus sur le filtre de rétention intelligent par défaut et découvrir comment créer vos propres filtres, consultez la [documentation sur les filtres de rétention][3]. Accédez à la page [Retention Filters][13] dans l'application Datadog pour créer ou modifier vos propres filtres. +Vous pouvez personnaliser quels spans sont conservés et à quels taux de rétention. Par défaut, [le filtre de rétention intelligent de Datadog][4] est appliqué, ce qui conserve automatiquement les traces présentant une diversité en termes d’erreurs et de latence, ainsi que des ressources à faible débit. Pour en savoir plus sur le filtre de rétention intelligent par défaut et comment créer vos propres filtres supplémentaires, consultez la [documentation des filtres de rétention][3]. Allez à la [page des filtres de rétention][12] dans l'application Datadog pour créer ou modifier vos propres filtres. -## Pour aller plus loin +## Lectures complémentaires {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -157,6 +181,6 @@ Vous pouvez personnaliser les spans qui sont conservées et leurs taux de réten [7]: /fr/tracing/trace_pipeline/ingestion_mechanisms/#in-the-agent [8]: /fr/tracing/trace_pipeline/ingestion_mechanisms/#in-tracing-libraries-user-defined-rules [9]: /fr/account_management/billing/apm_distributed_tracing/ -[10]: /fr/tracing/glossary/#service-entry-span -[11]: /fr/tracing/glossary/#trace-root-span +[10]: /fr/glossary/#service-entry-span +[11]: /fr/glossary/#trace-root-span [12]: https://app.datadoghq.com/apm/traces/retention-filters \ No newline at end of file diff --git a/content/ja/account_management/api-app-keys.md b/content/ja/account_management/api-app-keys.md index 80a68682dc2..5251305b45f 100644 --- a/content/ja/account_management/api-app-keys.md +++ b/content/ja/account_management/api-app-keys.md @@ -1,112 +1,162 @@ --- algolia: tags: - - API キー + - api key aliases: - /ja/account_management/faq/how-do-i-reset-my-application-keys/ - /ja/agent/faq/how-do-i-reset-my-datadog-api-keys/ - /ja/account_management/faq/api-app-key-management/ +description: ブラウザアプリケーションの API キー、アプリケーションキー、およびクライアントトークン、そしてセキュリティ機能を管理します。 title: API キーとアプリケーションキー --- +## API キー {#api-keys} -## API キー +API キーは組織に固有のものです。Datadog Agent でメトリクスとイベントを Datadog に送信するには、[API キー][1] が必要です。 -API キーは組織に固有で、Datadog Agent でメトリクスとイベントを Datadog に送信するには、[API キー][1]が必要です。 +## アプリケーションキー {#application-keys} -## アプリケーションキー +[アプリケーションキー][2] は、組織の API キーとの連携により、Datadog のプログラムで利用する API へのアクセスをユーザーに提供します。アプリケーションキーは、それを作成したユーザーアカウントに関連付けられており、デフォルトではそれを作成したユーザーの権限を付与されています。 -組織の API キーと組み合わせて[アプリケーションキー][2]を使用すると、ユーザーは Datadog のプログラム API にアクセスできます。アプリケーションキーは、これを作成したユーザーアカウントに関連付けられており、デフォルトで作成したユーザーの権限とスコープを持っています。 +### 1 回限り読み取りモード {#one-time-read-mode} -### スコープ +1 回限り読み取り (OTR) モードは、アプリケーションキーのシークレットの可視性を、作成時のみに制限するセキュリティ機能です。OTR モードが有効になっている場合、アプリケーションキーのシークレットは作成時に一度表示されるだけであり、セキュリティ上の理由から後で取得することはできません。 -アプリケーションの保護と安全性を高めるために、アプリケーションキーに認可スコープを指定して、より細かい権限を定義し、アプリケーションが Datadog のデータにアクセスできる範囲を最小化することが可能です。これにより、アプリケーションに対するきめ細かなアクセス制御が可能になり、余計なアクセスを制限することでセキュリティの脆弱性を最小限に抑えることができます。例えば、ダッシュボードを読むだけのアプリケーションには、ユーザーを管理したり、組織のデータを削除したりするための管理者権限は必要ありません。 +#### 新しい組織の場合 {#for-new-organizations} -アプリケーションキーのスコープに関する推奨されるベストプラクティスは、アプリケーションが意図したとおりに機能するために必要な最小限の特権と最小限の権限をキーに与えることです。スコープされたアプリケーションキーには、ユーザーが指定したスコープのみが与えられ、それ以外の追加的な許可は与えられません。アプリケーションキーの認可スコープはいつでも変更できますが、 その変更がアプリケーションの既存の機能やアクセスにどのような影響を及ぼすかを考慮してください。 +2025 年 8 月 20 日より後に作成された新しい親組織 (およびその子組織) のすべてのアプリケーションキーでは、デフォルトでOTRモードが有効になっています。この設定は恒久的であり、変更できません。 + +#### 既存の組織の場合 {#for-existing-organizations} + +組織の管理者は、[**組織設定** > **アプリケーションキー**][2] から、OTR モードを有効または無効にすることができます。OTR モードを有効にした後: + +- アプリケーションキーのシークレットは、作成時に一度表示されるだけです +- それらを UI または API を通じて再取得することはできません +- この設定は、有効にした後 3 か月の間、組織の管理者によってオンまたはオフに切り替えることができます +- 連続して 3 か月間有効の状態が継続すると、OTR モードは恒久的になり、トグルは削除されます。 + +**権限**: ユーザーが自分の組織の OTR モードを有効または無効にするには、`org_app_keys_write` と `org_management` の両方の権限を付与されている必要があります。 + +### スコープ {#scopes} + +アプリケーションをより良く保護し、安全性を確保するには、アプリケーションキーにスコープを指定して、より詳細な権限を定義し、アプリケーションから Datadog データへのアクセスを最小限に抑えることができます。これにより、アプリケーションに対する細かいアクセス制御が可能になり、余分なアクセスを制限することでセキュリティの脆弱性を最小限に抑えることができます。たとえば、ダッシュボードを読み取るだけのアプリケーションの場合、ユーザーを管理したり組織のデータを削除したりするための管理者権限は不要です。 + +アプリケーションキーのスコープ設定に関して推奨されるベストプラクティスは、アプリケーションが意図通りに機能するために必要な最小限の特権と権限をキーに付与することです。スコープ設定したアプリケーションキーに付与されるスコープは、ユーザーによって指定されるものだけであり、他の追加の権限は付与されません。アプリケーションキーの認証スコープはいつでも変更できますが、その変更がアプリケーションの既存の機能やアクセスにどのように影響するかを考慮してください。 **注:** -- アプリケーションキーの作成または編集の[権限][4]を持つユーザーまたはサービスアカウントは、アプリケーションキーのスコープを行うことができます。ユーザーは自分のアプリケーションキーをスコープするためには `user_app_keys` 権限、または自分の組織内の任意のユーザーが所有するアプリケーションキーをスコープするためには `org_app_keys_write` 権限が必要です。サービスアカウントのアプリケーションキーをスコープするには、`service_account_write` 権限が必要です。 +- アプリケーションキーを作成または編集する[権限][3] を付与されているユーザーまたはサービスアカウントは、アプリケーションキーのスコープを設定できます。ユーザーが自分のアプリケーションキーのスコープを設定するには、`user_app_keys` の権限が必要です。または、ユーザーが組織内の任意のユーザーが所有するアプリケーションキーのスコープを設定するには、`org_app_keys_write` の権限が必要です。ユーザーがサービスアカウントのアプリケーションキーのスコープを設定するには、`service_account_write` の権限が必要です。 - アプリケーションの所有者は、必要な権限が不足している場合、自分が持っていない認可スコープでアプリケーションキーをスコープしても、アプリケーションを認可することができません。 -- アプリケーションキーの書き込みやアプリケーションの認可時に権限が不足していることによるエラーは、`403 Forbidden` エラーを表示します。様々なエラーレスポンスについての詳細は、[Datadog API][5] のドキュメントを参照してください。 +- アプリケーションキー作成時やアプリケーション認証時に権限が不足しているためにエラーが発生した場合、`403 Forbidden` エラーが表示されます。さまざまなエラー応答について詳しくは、[Datadog API][4] のドキュメントに記載されています。 - ユーザーのロールや権限が変更されても、アプリケーションキーに指定された認可スコープは変更されません。 -## クライアントトークン +### アクション API アクセス {#actions-api-access} + +アクション API には以下のものが含まれます。 +- [App Builder][5] +- [Actions Connections][6] +- [Workflow Automation][7] + +これらの API でアプリケーションキーを使用するには、アプリケーションキーに対するアクション API アクセスを有効にする必要があります。これは、[UI により][2]、または [API][21] により設定できます。デフォルトの場合、アプリケーションキーをこれらの API で使用することはできません。 + +{{< img src="account_management/click-enable-actions-api-access.png" alt="[アクション API アクセスを有効にする] をクリックします。" style="width:80%;" >}} + +**注**: {{< ui >}}Last used{{< /ui >}} セクションが表示されるのは、アカウントで [Audit Trail が有効][22]に なっていて、かつ [`Audit Trail Read`][23] の権限が付与されている場合だけです。 + +## クライアントトークン {#client-tokens} セキュリティ上の理由から、API キーはクライアント側で公開されるため、ブラウザ、モバイル、TV アプリからのデータ送信には使用できません。その代わりに、エンドユーザー向けのアプリケーションでは、クライアントトークンを使用して Datadog にデータを送信します。 -以下の例を含む、いくつかのタイプのクライアントが、クライアントトークンを必要とするデータを送信します。 -- [Web ブラウザ][6]、[Android][7]、[iOS][8]、[React Native][9]、[Flutter][10]、[Roku][11] のログコレクターがログを送信します。 -- [リアルユーザーモニタリング][12]アプリケーションがイベントとログを送信する。 + 以下の例を含む、いくつかのタイプのクライアントが、クライアントトークンを必要とするデータを送信します。 +- [Web ブラウザ][8]、[Android][9]、[iOS][10]、[React Native][11]、[Flutter][12]、[Roku][13] のログコレクターがログを送信します。 +- [Real User Monitoring][14]アプリケーションがイベントとログを送信します。 -クライアントトークンは、組織に固有のものです。クライアントトークンを管理するには、**Organization Settings** に移動し、**Client Tokens** タブをクリックします。 +クライアントトークンは、組織ごとに固有です。クライアントトークンを管理するには、{{< ui >}}Organization Settings{{< /ui >}} に移動して、{{< ui >}}Client Tokens{{< /ui >}} タブをクリックします。 **注**: クライアントトークンを作成したユーザーが非アクティブ化されても、クライアントトークンはアクティブなままです。 -## API キーまたはクライアントトークンを追加する +## API キーまたはクライアントトークンを追加する {#add-an-api-key-or-client-token} Datadog API キーまたはクライアントトークンを追加するには -1. 組織設定に移動し、[**API keys**][1] または [**Client Tokens**][13] タブをクリックします。 -2. 作成するものに応じて、**New Key** (新しいキー) または **New Client Token** (新しいクライアントトークン) ボタンをクリックします。 +1. 組織の設定に移動し、[**API keys**][1] または [**Client Tokens**][15] タブをクリックします。 +2. 何を作成するかに応じて、{{< ui >}}New Key{{< /ui >}} または {{< ui >}}New Client Token{{< /ui >}} のボタンをクリックします。 3. キーまたはトークンの名前を入力します。 -4. **Create API key** (API キーの作成) または **Create Client Token** (クライアントトークンの作成) をクリックします。 +4. {{< ui >}}Create API key{{< /ui >}} または {{< ui >}}Create Client Token{{< /ui >}} をクリックします。 -{{< img src="account_management/api-key.png" alt="Datadog で組織の API Keys ページに移動する" style="width:80%;" >}} +{{< img src="account_management/api-key.png" alt="Datadog の中の、自分の組織の API キーのページに移動します。" style="width:80%;" >}} **注:** - 組織には、少なくとも最低 1 つ、最大 50 の API キーが必要です。 - キー名は、組織全体で一意である必要があります。 -## API キーまたはクライアントトークンを削除する +## API キーまたはクライアントトークンを削除する {#remove-api-keys-or-client-tokens} + +Datadog API キーまたはクライアントトークンを削除するには、キーまたはトークンのリストに移動し、削除するキーまたはトークンの横にある {{< ui >}}Delete{{< /ui >}}{{< img src="icons/delete.png" inline="true" style="width:14px;">}} アイコンをクリックします。 -Datadog API キーまたはクライアントトークンを削除するには、キーまたはトークンのリストに移動し、削除するキーまたはトークンの横にある **Revoke** のある**ごみ箱**アイコンをクリックします。 +## アプリケーションキーを追加する {#add-application-keys} -## アプリケーションキーを追加する +Datadog アプリケーションキーを追加するには、[**組織の設定** > **アプリケーションキー**][2] に移動します。アプリケーションキーを作成する[権限][3] がある場合は、{{< ui >}}New Key{{< /ui >}}をクリックします。 -Datadog アプリケーションキーを追加するには、[**Organization Settings** > **Application Keys**][2] に移動します。アプリケーションキーを作成するための[権限][4]がある場合は、**New Key** をクリックします。 +{{< img src="account_management/app-key.png" alt="Datadog の中の、自分の組織のアプリケーションキーのページに移動します。" style="width:80%;" >}} -{{< img src="account_management/app-key.png" alt="Datadog で組織の Application Keys ページに移動する" style="width:80%;" >}} +{{< site-region region="ap2,gov,gov2" >}} +
アプリケーションキーは、作成後すぐに、安全性が確保される方法で保管してください。シークレットを後で取得することはできません。
+{{< /site-region >}} + +
組織で 1 回限り読み取り (OTR) モードが有効になっている場合、アプリケーションキーは、作成後すぐに、安全性が確保される方法で保管してください。シークレットを後で取得することはできません。
**注:** - アプリケーションキー名を空白にすることはできません。 -## アプリケーションキーを削除する +## アプリケーションキーを削除する {#remove-application-keys} + +Datadog アプリケーションキーを削除するには、[**組織の設定** > **アプリケーションキー**][2] に移動します。アプリケーションキーを作成および管理する[権限][3] が付与されている場合は、自分のキーが表示され、取り消すキーの横にある {{< ui >}}Revoke{{< /ui >}} をクリックできます。組織アプリケーションキーのすべてを管理する権限が付与されている場合は、取り消すキーを検索し、その横にある {{< ui >}}Revoke{{< /ui >}} をクリックできます。 + +## キーの伝播遅延と最終整合性 {#key-propagation-delay-and-eventual-consistency} + +Datadog の API とアプリケーションキーは、最終整合性モデルに従います。Datadog は分散型のシステムなので、キーの作成や取り消しなどの更新が完全に伝播するまでに数秒かかる場合があります。 + +その結果として、以下のようになります。 + +- 重要なワークフローでは、新しい API またはアプリケーションキーをすぐに使用しないようにしてください。伝播の時間を考慮して数秒間待ってください。伝播時間枠内での一時的なエラーを処理するために、短い指数関数的バックオフを伴う再試行戦略を実装できます。 +- API キーがアクティブで使用可能かどうかを検証するには、[/api/v1/validate][16] エンドポイントを呼び出してください。 +- アプリケーションキーがアクティブであることを確認するには、適切なキー ペアを使用して `/api/v2/validate_keys` エンドポイントを利用してください。 -Datadog アプリケーションキーを削除するには、[**Organization Settings** > **Application Keys**][2] に移動します。アプリケーションキーを作成、管理するための[権限][4]がある場合は、自分のキーを表示して、取り消すキーの横にある **Revoke** をクリックできます。すべての組織アプリケーションキーを管理する権限がある場合は、取り消すキーを検索して、その横にある **Revoke** をクリックできます。 +新しく作成されたキーを、それが完全に伝播する前に使用しようとすると、403 Forbidden や 401 Unauthorized などの一時的な認証エラーが発生する可能性があります。 -## アプリケーションキーのスコープ +## アプリケーションキーのスコープ {#scope-application-keys} -アプリケーションキーの認可スコープを指定するには、[Datadog API にリクエスト][5]するか、UI を使用してアプリケーションキーを作成または編集してください。 スコープは、[現在のユーザー][14]または[サービスアカウント][15]が所有するアプリケーションキーに対して指定することができます。このフィールドが指定されていない場合、アプリケーションキーはデフォルトで、作成したユーザーと同じスコープと権限をすべて持っています。 +アプリケーションキーの認証スコープを指定するには、[Datadog API][4] または UI にリクエストを送信して、アプリケーションキーを作成または編集してください。スコープは、[現在のユーザー][17] または [サービスアカウント][18] が所有するアプリケーションキーに対して指定できます。このフィールドが指定されていない場合、アプリケーションキーのスコープと権限は、デフォルトとして、それらを作成したユーザーと同じスコープおよび権限になります。 **注:** - スコープ名の大文字と小文字は区別されます。 -## 複数の API キーの使用 +## 複数の API キーの使用 {#using-multiple-api-keys} -組織に複数の API キーを設定することを検討します。たとえば、デプロイ方法ごとに異なる API キーを使用します(たとえば、AWS の Kubernetes に Agent をデプロイする用、Chef を使用してオンプレミスでデプロイする用、ダッシュボードやモニターを自動化する Terraform スクリプト用、ローカルでデプロイする開発者用など)。 +組織に複数の API キーを設定することを検討してください。たとえば、デプロイ方法ごとに異なる API キーを使用します (たとえば、AWS の Kubernetes に Agent をデプロイする用、Chef を使用してオンプレミスでデプロイする用、ダッシュボードやモニターを自動化する Terraform スクリプト用、ローカルでデプロイする開発者用など)。 複数の API キーを使用することで、セキュリティ対策の一環としてキーをローテーションしたり、特定のキーが誤って公開された場合やそのキーに関連づけられたサービスを停止したい場合に取り消すことができます。 -API キーが定められた上限の 50 を超えて必要な場合は、上限の引き上げについて[サポートチーム][16]までお問い合わせください。 +API キーが定められた上限の 50 を超えて必要な場合は、上限の引き上げについて[サポートチーム][19] までお問い合わせください。 -## ユーザーアカウントの無効化 +## ユーザーアカウントを無効にする {#disabling-a-user-account} -ユーザーのアカウントが無効になった場合、ユーザーが作成したアプリケーションキーはすべて取り消されます。無効なアカウントによって作成された API キーは削除されず、引き続き有効です。 +ユーザーのアカウントが無効にされると、そのユーザーが作成したアプリケーションキーはすべて取り消されます。無効にされたアカウントによって作成された API キーは削除されず、有効なままです。 -## キーの転送 +## キーの転送 {#transferring-keys} -セキュリティ上の理由から、Datadog はアプリケーションキーをユーザー間で転送しません。アプリケーションキーを共有する必要がある場合は、[サービスアカウント][17]を使用します。 +セキュリティ上の理由から、Datadog がアプリケーションキーをユーザー間で転送することはありません。アプリケーションキーを共有する必要がある場合は、[サービスアカウント][20] を使用してください。 -## API キーやアプリケーションキーが流出した場合の対処法 +## API キーやアプリケーションキーが流出した場合の対処法 {#what-to-do-if-an-api-or-application-key-was-exposed} -プライベートキーが漏洩したり、一般に公開された場合、アカウントのセキュリティを確保するために、できるだけ早く措置を講じる必要があります。GitHub などの公開サイトからキーの入ったファイルを削除しても、それがすでに他の者によってアクセスされていないことを保証するものでは**ありません**。 +プライベートキーが侵害されたり公開されたりした場合は、アカウントのセキュリティを確保するために、できるだけ早く対策を講じる必要があります。GitHub のような公開サイトからキーを含むファイルを削除しても、第三者から既にアクセスされてはいないことが保証されるわけでは**ありません**。 以下の手順で、アカウントを保護してください。 -**注:** 有効なキーを無効にすると、サービスに影響を与える可能性があります。使用範囲が広い場合や未確定の場合は、対象となるキーを無効にする**前に**、手順 2~5 の検討をお願いします。 +**注:** アクティブなキーを無効にすると、サービスに影響を与える可能性があります。使用範囲が大きい場合や不明の場合は、影響を受けるキーを無効にする**前に**、ステップ 2~5 を検討してください。 1. 影響を受けるキーを無効にします。 2. 一般にアクセス可能なファイルから、プライベートキーを含むコードを削除します。 @@ -119,25 +169,32 @@ API キーが定められた上限の 50 を超えて必要な場合は、上限 - 新しいリソース - ロールまたは権限の変更 -異常な行動が確認された場合、またはアカウントの安全確保にさらに支援が必要な場合は、[Datadog サポート][16]に連絡してください。 +異常な行動が確認された場合、またはアカウントの安全確保にさらに支援が必要な場合は、[Datadog サポート][19] に連絡してください。 -## トラブルシューティング +## トラブルシューティング {#troubleshooting} -ご不明な点は、[Datadog のサポートチーム][16]までお問合せください。 +お困りですか?[Datadog サポート][19] にお問い合わせください。 [1]: https://app.datadoghq.com/organization-settings/api-keys -[2]: https://app.datadoghq.com/access/application-keys -[4]: /ja/account_management/rbac/permissions -[5]: /ja/api/latest/key-management/ -[6]: /ja/logs/log_collection/javascript/ -[7]: /ja/logs/log_collection/android/ -[8]: /ja/logs/log_collection/ios/ -[9]: /ja/logs/log_collection/reactnative/ -[10]: /ja/logs/log_collection/flutter/ -[11]: /ja/logs/log_collection/roku/ -[12]: /ja/real_user_monitoring/ -[13]: https://app.datadoghq.com/organization-settings/client-tokens -[14]: /ja/api/latest/key-management/#create-an-application-key-for-current-user -[15]: /ja/api/latest/service-accounts/ -[16]: /ja/help/ -[17]: /ja/account_management/org_settings/service_accounts/ \ No newline at end of file +[2]: https://app.datadoghq.com/organization-settings/application-keys +[3]: /ja/account_management/rbac/permissions +[4]: /ja/api/latest/key-management/ +[5]: /ja/api/latest/app-builder/ +[6]: /ja/api/latest/action-connection/ +[7]: /ja/api/latest/workflow-automation/ +[8]: /ja/logs/log_collection/javascript/ +[9]: /ja/logs/log_collection/android/ +[10]: /ja/logs/log_collection/ios/ +[11]: /ja/logs/log_collection/reactnative/ +[12]: /ja/logs/log_collection/flutter/ +[13]: /ja/logs/log_collection/roku/ +[14]: /ja/real_user_monitoring/ +[15]: https://app.datadoghq.com/organization-settings/client-tokens +[16]: /ja/api/latest/authentication/#validate-api-key +[17]: /ja/api/latest/key-management/#create-an-application-key-for-current-user +[18]: /ja/api/latest/service-accounts/ +[19]: /ja/help/ +[20]: /ja/account_management/org_settings/service_accounts/ +[21]: /ja/api/latest/action-connection/#register-a-new-app-key +[22]: /ja/account_management/audit_trail/#setup +[23]: /ja/account_management/rbac/permissions/#compliance \ No newline at end of file diff --git a/content/ja/account_management/teams/_index.md b/content/ja/account_management/teams/_index.md index a50bfcc3c6a..3dc2e4e36da 100644 --- a/content/ja/account_management/teams/_index.md +++ b/content/ja/account_management/teams/_index.md @@ -1,60 +1,64 @@ --- -title: チーム +description: チームのアセットを整理し、Datadog のエクスペリエンスにフィルターをかけ、チームハンドル、通知、リソースの関連付けを使用してチームメンバーシップを管理します。 +further_reading: +- link: https://www.datadoghq.com/blog/datadog-teams-github-integration + tag: ブログ + text: Datadog Teams の GitHub インテグレーションを使用して、サービスの所有権を最新の状態に保ちます。 +title: Teams --- - -## 概要 -Datadog Teams は、ユーザーグループが Datadog 内でチームのアセットを整理し、Datadog 全体のエクスペリエンスに自動的にフィルターをかけて、これらのアセットに優先順位をつけることができるようにします。 +## 概要 {#overview} +Datadog Teams は、ユーザーグループが Datadog 内でチームのアセットを整理し、Datadog 全体のエクスペリエンスに自動的にフィルターをかけて、これらのアセットに優先順位を付けることができるようにします。 Teams を使用して、ダッシュボード、サービス、モニター、インシデントなどのリソースをユーザーのグループにリンクします。また、Slack チャンネル、Jira ボード、GitHub リポジトリなどに、チーム固有のリンクを追加することもできます。 -チームメンバーシップは柔軟です。ユーザーは、チームに参加したり、他のメンバーから追加されたり、管理者から追加されたりすることができます。ユーザーは、複数のチームに所属することができます。 +チームメンバーシップは柔軟です。ユーザーは、チームに参加したり、ほかのメンバーから追加されたり、管理者から追加されたりすることができます。ユーザーは複数のチームに所属できます。 -## セットアップ +## セットアップ {#setup} -### ナビゲーション +### ナビゲーション {#navigation} -[組織設定][1]から、または [**Service Management > Teams**][2] に移動してチームディレクトリページにアクセスします。[チームディレクトリページ][1]には、組織内のすべてのチームが一覧表示されます。 +[組織設定][1] から、または [**Teams**][2] に移動してチームディレクトリページにアクセスします。[チームディレクトリページ][1] には、組織内のすべてのチームが一覧表示されます。 -### チームの作成 +### チームの作成 {#create-team} -1. [チームディレクトリページ][1]で、右上の **New Team** をクリックします。 -1. **Team Name** を選択します。 -1. **Handle** は、チーム名に基づいて入力されます。 -1. ドロップダウンメニューを使用してチームメンバーおよびチームマネージャーを選択します。 -1. オプションで **Description** を指定します。 -1. **作成**をクリックします。 +1. [チームディレクトリページ][1] で、右上の [{{< ui >}}New Team{{< /ui >}}] (新規チーム) をクリックします。 +1. [{{< ui >}}Team Name{{< /ui >}}] (チーム名) を選択します。 +1. [{{< ui >}}Handle{{< /ui >}}] (ハンドル) は、チーム名に基づいて入力されます。 +1. ドロップダウンメニューを使用して、チームメンバーおよびチームマネージャーを選択します。 +1. オプションで [{{< ui >}}Description{{< /ui >}}] (説明) を入力します。 +1. [{{< ui >}}Create{{< /ui >}}] (作成) をクリックします。 **注**: -- チーム名に使用できる文字は `a-z`、`A-Z`、`0-9`、および `._-:/` です。スペースはアンダースコアに置き換えてください。 -- チームハンドルに使用できる文字は `a-z`、`0-9`、および `._-:/` です。最後の文字はアンダースコアにすることはできません。 +- チーム名に使用できる文字は、`a-z`、`A-Z`、`0-9`、および `._-:/` です。スペースはアンダースコアに置き換えてください。 +- チームハンドルに使用できる文字は、`a-z`、`0-9`、および `._-:/` です。最後の文字はアンダースコアにすることはできません。 -### チームの修正 +### チームの修正 {#modify-team} -1. [チームディレクトリページ][1]で、変更したいチームをクリックします。[チーム詳細ページ][3]が表示されます。 -1. 画面上部の**設定**の歯車をクリックします。ポップアップウィンドウが表示されます。 -1. 修正したい項目を選択します。 -1. 変更を行い、**Save** をクリックします。 +1. [チームディレクトリページ][1] で、修正するチームをクリックします。[チーム詳細ページ][3] が表示されます。 +1. 画面上部にある [{{< ui >}}Settings{{< /ui >}}] (設定) の歯車をクリックします。ポップアップウィンドウが表示されます。 +1. 修正する項目を選択します。 +1. 変更を行い、[{{< ui >}}Save{{< /ui >}}] (保存) をクリックします。 -### プロビジョニングソースの選択 +### プロビジョニングソースの選択 {#choose-provisioning-source} 管理者とチームマネージャーがチームメンバーシップを更新する方法を 3 つのオプションから選択します。 -UI and API -: UI アクションと API 呼び出しのみでメンバーシップを更新します +UI and API (UI と API) +: UI アクションと API 呼び出しのみでメンバーシップを更新します。 SAML -: *SAML 限定*モデルを使用して、アイデンティティプロバイダーデータでチームメンバーシップを決定するようにします +: *SAML 限定*モデルを使用し、アイデンティティプロバイダーデータによってチームメンバーシップが決定されるようにします。 -All sources -: 出発点として SAML を使用し、UI および API によるオーバーライドを許可します +All sources (すべてのソース) +: 出発点として SAML を使用し、UI および API によるオーバーライドを許可します。 -1. [チームディレクトリページ][1]で、**Teams Settings** をクリックします。 -1. **Team Provisioning Sources** のオプションのいずれかを選択します。 +1. [チームディレクトリページ][1] で、[{{< ui >}}Teams Settings{{< /ui >}}] (チーム設定) をクリックします。 +1. [{{< ui >}}Team Provisioning Sources{{< /ui >}}] (チームプロビジョニングソース) のいずれかのオプションを選択します。 -既存メンバーがいるチームがある場合、SAML strict オプションを選択すると、設定が上書きされ、そのチームからメンバーが削除されます。All Sources オプションを選択すると、既存のメンバーシップは維持されます。SAML 属性を使用してチームやチームメンバーシップを管理する方法については、[SAML 属性を Teams にマッピングする][4]を参照してください。 +既存メンバーがいるチームがある場合、SAML 限定オプションを選択すると、設定が上書きされ、そのチームからメンバーが削除されます。[All Sources] オプションを選択すると、既存のメンバーシップが維持されます。SAML 属性を使用してチームおよびチームメンバーシップを管理するには、[SAML 属性のチームへのマッピング][4] を参照してください。 -## チームハンドル +## チームハンドル {#team-handle} チームハンドルは、チームと Datadog のリソースをリンクします。チームハンドルは、検索バーやファセットに `team:` または `teams:` という形式で表示されます。 @@ -62,91 +66,109 @@ All sources 1. チームディレクトリページでチーム名をクリックします。チーム詳細ページが表示されます。 1. チームハンドルはページ上部の名前の右側に表示されます。 -リソースを定義されたチームと関連付けるには、一致するチームハンドルを持つチームが Datadog に存在する必要があります。定義されたチームに関連付けられたリソースをクリックすると、チームハンドルと追加情報を含む小さなウィンドウが表示されます。定義されたチームは、以下のチームフィルターのような追加機能を提供します。 +リソースを定義されたチームに関連付けるには、一致するチームハンドルを持つチームが Datadog に存在する必要があります。定義されたチームに関連付けられたリソースをクリックすると、チームハンドルと追加情報を含む小さなウィンドウが表示されます。定義されたチームは、以下のチームフィルターのような追加機能を提供します。 Datadog で定義されたチームに関連付けられていないチームハンドルは、タグと同じような動作をします。Teams の機能を利用するために、未定義のチームハンドルを定義されたチームに変換してください。 -### リソースとチームハンドルの関連付け +### リソースとチームハンドルの関連付け {#associate-resources-with-team-handles} Datadog は、以下のリソースをチームハンドルに関連付けることをサポートしています。 - [Dashboards][5] -- [Incidents][6] -- [Monitors][7] +- [インシデント][6] +- [モニター][7] - [Resource Catalog][8] -- [Service Catalog][9] +- [Software Catalog][9] - [Service Level Objectives][10] - Synthetic テスト、グローバル変数、プライベートロケーション -### 通知を特定のコミュニケーションチャンネルに送信する +### 通知を特定のコミュニケーションチャンネルに送信する {#send-notifications-to-a-specific-communication-channel} 通知チャンネルをチームに追加して、Slack や Microsoft Teams などのコミュニケーションチャンネルにアラートをルーティングします。`@team-` を対象とするモニターアラートは、選択したチャンネルにリダイレクトされます。 -1. [チームディレクトリページ][1]で、修正したいチームをクリックします。 -1. 画面上部の**設定**の歯車をクリックします。ポップアップウィンドウが表示されます。 -1. **Notifications** を選択します。 -1. チャンネルを追加し、**Save** をクリックします。 +1. [チームディレクトリページ][1] で、修正するチームをクリックします。 +1. 画面上部にある [{{< ui >}}Settings{{< /ui >}}] の歯車をクリックします。ポップアップウィンドウが表示されます。 +1. [{{< ui >}}Notifications{{< /ui >}}] (通知) を選択します。 +1. チャンネルを追加して、[{{< ui >}}Save{{< /ui >}}] をクリックします。 -## チームフィルター +## チームフィルター {#team-filter} -チームフィルターは、Datadog 全体でのエクスペリエンスを、所属チームに関連するコンテンツのみを表示するように調整します。**My Teams** リストには、自分がメンバーであるチームおよびお気に入りに追加したチームが含まれます。 +チームフィルターは、Datadog 全体でのエクスペリエンスを、所属チームに関連するコンテンツのみを表示するように調整します。[{{< ui >}}My Teams{{< /ui >}}] (自分のチーム) リストには、自分がメンバーであるチームおよびお気に入りとして選択したチームが含まれます。 -{{< img src="/account_management/teams/team-filter.png" alt="チームフィルターが赤枠で囲まれたモニターリストページ。My Teams の 3 つのうち 2 つが選択されている状態。">}} +{{< img src="/account_management/teams/team-filter.png" alt="チームフィルターが赤いボックスで囲まれている、モニターリストページ。3 つの [My Teams] のうち、2 つが選択されています。">}} -チームフィルターを有効にすると、自分が所属するチーム、またはそのチームが所有するサービスに関連するリソースのみが表示されます。チームフィルターの状態はグローバルかつ永続的であるため、Datadog 内のさまざまな製品間を移動しても、チームコンテキストが適用され続けます。 +チームフィルターを有効にすると、自分が所属するチームに関連するリソース、またはそのチームが所有するサービスに関連するリソースのみが表示されます。チームフィルターの状態はグローバルかつ永続的であるため、Datadog 内のさまざまな製品間を移動しても、チームコンテキストが適用され続けます。 -チームフィルターは、チームベースの検索用語を検索クエリに追加して機能します。チームフィルターを有効にすると、検索バーで追加されたチームベースの検索用語を確認できます。 +チームフィルターは、チームベースの検索用語を検索クエリに追加することで機能します。チームフィルターを有効にすると、検索バーで追加されたチームベースの検索用語を確認できます。 -### お気に入りのチーム +### お気に入りのチーム {#favorite-teams} -特定のチームのリソースに関心があっても、そのチームのメンバーである必要はありません。お気に入りのチームに追加することで、そのチームに関連するリソースをフィルタリングしたビューを、チームに参加せずに得ることができます。 +特定のチームのメンバーではないが、そのチームのリソースに関心があるという場合があります。そのチームをお気に入りに追加することで、チームに参加することなく、チームのリソースのみをフィルターして表示することができます。 お気に入りにしたチームは、自分が所属するチームとともにチームディレクトリページの上部やチームフィルター内に表示されます。 -#### お気に入りのチームの追加または削除 +#### お気に入りのチームの追加または削除 {#add-or-remove-favorite-teams} チームをお気に入りに追加または削除するには、チームディレクトリページまたはチームフィルターから行えます。 -[チームディレクトリページ][1]から、 -1. お気に入りに追加したいチームをクリックします。[チーム詳細ページ][3]が表示されます。 -1. 右上で **Add Favorite** または **Remove Favorite** をクリックします。 +[チームディレクトリページ][1] から、 +1. お気に入りに追加するチームをクリックします。[チーム詳細ページ][3] が表示されます。 +1. 右上の [{{< ui >}}Add Favorite{{< /ui >}}] (お気に入りに追加) または [{{< ui >}}Remove Favorite{{< /ui >}}] (お気に入りを削除) をクリックします。 あるいは、同じくチームディレクトリページで、 -1. お気に入りに追加または削除したいチームにカーソルを合わせます。チーム名の右側にインラインアイコンが表示されます。 -1. 星型アイコン (**Add to Favorites** または **Remove from Favorites**) をクリックします。 +1. 追加または削除するチームにカーソルを合わせます。チーム名の右側にインラインアイコンが表示されます。 +1. 星のアイコン ([{{< ui >}}Add to Favorites{{< /ui >}}] または [{{< ui >}}Remove from Favorites{{< /ui >}}]) をクリックします。 チームフィルターから、 -1. フィルターが折りたたまれている場合、**My Teams** をクリックして展開します。 -1. **Add Favorites** をクリックします。検索ボックスとチームのリストが表示されます。 +1. フィルターが折りたたまれている場合、[{{< ui >}}My Teams{{< /ui >}}] をクリックして展開します。 +1. [{{< ui >}}Add Favorites{{< /ui >}}] をクリックします。検索ボックスとチームのリストが表示されます。 1. チーム名を検索ボックスに入力してチームリストを絞り込みます。 1. 目的のチームの横にある星をクリックして、お気に入りに追加または削除します。 -### 対応製品 +### 対応製品 {#supported-products} 以下の表は、チームフィルターを使用できる製品を示します。 -| 製品リストページ | フィルターベース | -|-------------------------|----------------------------------------------------------------------------------| -| [ダッシュボード][11] | チームハンドル | -| [Resource Catalog][8] | チームハンドル | -| [Service Catalog][12] | チームハンドル | -| [Incidents][13] | チームハンドル | -| [モニター][14] | チームハンドル | -| [APM Error Tracking][15] | チームが所有するサービス ([Service Catalog][12]内での所有権により決定) | -| [Logs Error Tracking][16] | チームが所有するサービス ([Service Catalog][12]内での所有権により決定) | -| [Service Level Objectives][17] | チームハンドル | -| [Data Streams Monitoring][18] | チームハンドル | -| [Synthetic Tests][19] | チームハンドル | -| [Notebooks][20] | チームハンドル | - - -## 権限 - -Teams Manage 権限を持つロールのユーザーは、チームの作成、チーム名の変更、チームの削除、チームハンドルの変更が可能です。`user_access_manage` を持つユーザーは、チームメンバーやマネージャーの追加、削除、昇格が可能です。 - -## チームの管理 - -チームをカスタマイズする方法については、[Team Management][3] を参照してください。 +| 製品リストページ | フィルターの基準 | +|--------------------------------|------------------------------------------------------------------------------------| +| [APM Error Tracking][15] | チームが所有するサービス ([Software Catalog][12] 内での所有権により決定) | +| [アプリ][21] | チームハンドル | +| [Case Management プロジェクト][22] | チームハンドル | +| [コネクション][23] | チームハンドル | +| [コネクショングループ][24] | チームハンドル | +| [組織間コネクション][25] | チームハンドル | +| [Datastore][26] | チームハンドル | +| [Data Streams Monitoring][18] | チームハンドル | +| [Dashboards][11] | チームハンドル | +| [インシデント][13] | チームハンドル | +| [Integrations][27] | チームハンドル | +| [Logs Error Tracking][16] | チームが所有するサービス ([Software Catalog][12] 内での所有権により決定) | +| [Logs Pipelines][28] | チームハンドル | +| [モニター][14] | チームハンドル | +| [Notebooks][20] | チームハンドル | +| [Observability Pipelines][29] | チームハンドル | +| [On-Call][30] | チームが所有するサービス ([Software Catalog][12] 内での所有権により決定) | +| [パワーパック][32] | チームハンドル | +| [Private Action Runner][31] | チームハンドル | +| [リファレンステーブル][33] | チームハンドル | +| [Resource Catalog][8] | チームハンドル | +| [RUM アプリ][34] | チームハンドル | +| [セキュリティルール][35] | チームハンドル | +| [セキュリティ抑制][36] | チームハンドル | +| [Service Level Objectives][17] | チームハンドル | +| [Sheets][37] | チームハンドル | +| [Software Catalog][12] | チームハンドル | +| [Synthetic テスト][19] | チームハンドル | +| [ワークフロー][38] | チームハンドル | + + +## 権限 {#permissions} + +[Teams Manage] (チーム管理) 権限を持つロールのユーザーは、チームの作成、チーム名の変更、チームの削除、チームハンドルの変更を行うことができます。`user_access_manage` を持つユーザーは、チームメンバーやマネージャーの追加、削除、昇格が可能です。 + +## チームの管理 {#manage-teams} + +チームをカスタマイズする方法については、[チーム管理][3] を参照してください。 [1]: https://app.datadoghq.com/organization-settings/teams @@ -154,11 +176,11 @@ Teams Manage 権限を持つロールのユーザーは、チームの作成、 [3]: /ja/account_management/teams/manage/ [4]: /ja/account_management/saml/mapping/#map-saml-attributes-to-teams [5]: /ja/dashboards/#dashboard-details -[6]: /ja/service_management/incident_management/ +[6]: /ja/incident_response/incident_management/ [7]: /ja/monitors/configuration/?tab=thresholdalert#add-metadata -[8]: /ja/infrastructure/resource_catalog/ -[9]: /ja/tracing/service_catalog/adding_metadata/#add-metadata-from-the-datadog-ui -[10]: /ja/service_management/service_level_objectives/#slo-tags +[8]: https://app.datadoghq.com/infrastructure/catalog +[9]: /ja/tracing/software_catalog/adding_metadata/#add-metadata-from-the-datadog-ui +[10]: /ja/service_level_objectives/#slo-tags [11]: https://app.datadoghq.com/dashboard/lists [12]: https://app.datadoghq.com/services [13]: https://app.datadoghq.com/incidents @@ -168,4 +190,22 @@ Teams Manage 権限を持つロールのユーザーは、チームの作成、 [17]: https://app.datadoghq.com/slo/manage [18]: https://app.datadoghq.com/data-streams [19]: https://app.datadoghq.com/synthetics -[20]: https://app.datadoghq.com/notebook/list/ \ No newline at end of file +[20]: https://app.datadoghq.com/notebook/list/ +[21]: https://app.datadoghq.com/app-builder/apps/list +[22]: https://app.datadoghq.com/cases +[23]: https://app.datadoghq.com/actions/connections +[24]: https://app.datadoghq.com/actions/connections?sort=-updated_at&tab=groups +[25]: https://app.datadoghq.com/organization-settings/cross-org-visibility +[26]: https://app.datadoghq.com/actions/datastores +[27]: https://app.datadoghq.com/integrations +[28]: https://app.datadoghq.com/logs/pipelines +[29]: https://app.datadoghq.com/observability-pipelines +[30]: https://app.datadoghq.com/on-call/summary +[31]: https://app.datadoghq.com/actions/private-action-runners +[32]: /ja/dashboards/widgets/powerpack/#powerpack-permissions +[33]: https://app.datadoghq.com/reference-tables +[34]: https://app.datadoghq.com/rum/list +[35]: https://app.datadoghq.com/security/configuration/notification-rules +[36]: https://app.datadoghq.com/security/configuration/suppressions +[37]: https://app.datadoghq.com/sheets +[38]: https://app.datadoghq.com/workflow \ No newline at end of file diff --git a/content/ja/agent/configuration/agent-commands.md b/content/ja/agent/configuration/agent-commands.md index 98c52edd971..b5a9d97f13d 100644 --- a/content/ja/agent/configuration/agent-commands.md +++ b/content/ja/agent/configuration/agent-commands.md @@ -1,86 +1,85 @@ --- algolia: tags: - - Agent status コマンド + - agent status command aliases: - /ja/agent/faq/agent-status-and-information - /ja/agent/faq/start-stop-restart-the-datadog-agent - /ja/agent/faq/agent-commands - /ja/agent/guide/agent-commands -description: Datadog Agent を起動・停止・トラブルシュートし、Agent を管理するための Agent コマンドの完全なリファレンスです。 +description: Datadog Agent の起動、停止、トラブルシューティング、および管理に関する完全なリファレンスです。 further_reading: - link: /agent/troubleshooting/ tag: ドキュメント text: Agent のトラブルシューティング title: Agent のコマンド --- -
-service ラッパーコマンドを使用できない Linux ベースのシステムをご使用の場合は、代替リストを参照してください。 +Linux ベースのシステムで service ラッパーコマンドが利用できない場合は、代替リストをご参照ください
-## Agent の起動/停止/再起動 +## Agent の起動/停止/再起動 {#start-stop-and-restart-the-agent} -### Agent の起動 +### Agent の起動 {#start-the-agent} Datadog Agent を起動するためのコマンドを以下に示します。 | プラットフォーム | コマンド | |------------|--------------------------------------------------------------------| | AIX | `startsrc -s datadog-agent` | -| Linux | OS については、[Agent に関するドキュメント][1]をご参照ください。 | -| Docker | [インストールコマンド][2]を使用します。 | +| Linux | ご使用の OS に対応する [Agent documentation][1] を参照してください。 | +| Docker | [installation command][2] を使用します。 | | Kubernetes | `kubectl create -f datadog-agent.yaml` | -| macOS | `launchctl start com.datadoghq.agent` *または* systray アプリを使用 | +| macOS | `launchctl start com.datadoghq.agent` * または * システムトレイアプリを通じた | | ソース | `sudo service datadog-agent start` | -| Windows | [Windows Agent ドキュメントを参照してください][3]。 | +| Windows | [Windows Agent documentation][3] を参照してください。 | -### Agent の停止 +### Agent を停止します {#stop-the-agent} Datadog Agent を停止するためのコマンドを以下に示します。 | プラットフォーム | コマンド | |------------|----------------------------------------------------------------------------------| | AIX | `stopsrc -s datadog-agent` | -| Linux | OS については、[Agent に関するドキュメント][1]をご参照ください。 | -| Docker | `docker exec -it <コンテナ名> agent stop` | -| Kubernetes | `kubectl delete pod `—注: ポッドは自動的にリスケジュールされます | -| macOS | `launchctl stop com.datadoghq.agent` *または* systray アプリを使用 | +| Linux | ご使用の OS に対応する [Agent documentation][1] を参照してください。 | +| Docker | `docker exec -it agent stop` | +| Kubernetes | `kubectl delete pod `注意: Pod は自動的に再スケジュールされます | +| macOS | `launchctl stop com.datadoghq.agent` * またはシステムトレイアプリを通じた* | | ソース | `sudo service datadog-agent stop` | -| Windows | [Windows Agent ドキュメントを参照してください][3]。 | +| Windows | [Windows Agent documentation][3] を参照してください。 | -### Agent を再起動します。 +### Agent を再起動します {#restart-the-agent} Datadog Agent を再起動するためのコマンドを以下に示します。 | プラットフォーム | コマンド | |------------|----------------------------------------------------------------------------------| -| Linux | OS については、[Agent に関するドキュメント][1]をご参照ください。 | -| Docker | [インストールコマンド][2]を使用します。 | -| Kubernetes | `kubectl delete pod `—注: ポッドは自動的にリスケジュールされます | -| macOS | 以下で Agent を停止し、起動します。
`launchctl stop com.datadoghq.agent`
`launchctl start com.datadoghq.agent`
または systray アプリを使用します | -| ソース | サポートされないプラットフォーム | -| Windows | [Windows Agent ドキュメントを参照してください][3]。 | +| Linux | ご使用の OS に対応する [Agent documentation][1] を参照してください。 | +| Docker | [installation command][2] を使用します。 | +| Kubernetes | `kubectl delete pod `注意: Pod は自動的に再スケジュールされます | +| macOS | Agent を停止してから、次のコマンドで起動:
`launchctl stop com.datadoghq.agent`
`launchctl start com.datadoghq.agent`
または、システムトレイアプリを使用 | +| ソース | *サポートされないプラットフォーム* | +| Windows | [Windows Agent documentation][3] を参照してください。 | -## Agent のステータスと情報 +## Agent のステータスと情報 {#agent-status-and-information} -### サービスのステータス +### サービスのステータス {#service-status} Datadog Agent のステータスを表示するためのコマンドを以下に示します。 | プラットフォーム | コマンド | |-----------------|-------------------------------------------------------------------------------| | AIX | `lssrc -s datadog-agent` | -| Linux | OS については、[Agent に関するドキュメント][1]をご参照ください。 | +| Linux | ご使用の OS に対応する [Agent documentation][1] を参照してください。 | | Docker (Debian) | `sudo docker exec -it s6-svstat /var/run/s6/services/agent/` | | Kubernetes | `kubectl exec -it -- s6-svstat /var/run/s6/services/agent/` | -| macOS | `launchctl list com.datadoghq.agent` *または* systray アプリを使用 | -| ソース | `sudo service datadog-agent status` | -| Windows | [Windows Agent ドキュメント][4] を参照してください。 | +| macOS | `launchctl list com.datadoghq.agent` システムアプリを通じた * または * | +| ソース | `sudo service datadog-agent status` | +| Windows | [Windows Agent documentation][4] を参照してください。 | | [Cluster Agent (Kubernetes)][5] | `datadog-cluster-agent status` | -### Agent の情報 +### Agent の情報 {#agent-information} Datadog Agent と有効なインテグレーションのステータスを表示するためのコマンドを以下に示します。 @@ -90,9 +89,9 @@ Datadog Agent と有効なインテグレーションのステータスを表示 | Linux | `sudo datadog-agent status` | | Docker | `sudo docker exec -it agent status` | | Kubernetes | `kubectl exec -it -- agent status` | -| macOS | `datadog-agent status` または [Web GUI][6] から | +| macOS | `datadog-agent status` または [web GUI][6] を通じて | | ソース | `sudo datadog-agent status` | -| Windows | [Windows Agent ドキュメント][4] を参照してください。 | +| Windows | [Windows Agent documentation][4] を参照してください。 | | [Cluster Agent (Kubernetes)][5] | `datadog-cluster-agent status` | 以下に示すように、適切に構成されたインテグレーションは、**Running Checks** の下に警告やエラーなしで表示されます。 @@ -109,43 +108,46 @@ Running Checks Average Execution Time : 0ms ``` -## その他のコマンド +## その他のコマンド {#other-commands} + +Agent のコマンドラインインターフェースはサブコマンドベースです。利用可能なサブコマンドのリストを表示するには、次のコマンドを実行してください: -Agent のコマンドライン インターフェイスはサブコマンド ベースです。利用可能なサブコマンドの一覧を表示するには、次を実行します: ```shell -<エージェント_バイナリ> --help + --help ``` サブコマンドを実行するには、Agent バイナリを呼び出す必要があります: + ```shell -<エージェントバイナリ> <サブコマンド> <オプション> + ``` -一部のオプションにはフラグとオプションがあり、`--help` で詳細に説明されています。たとえば、`check` サブコマンドのヘルプを使用するには、次を実行します。 +いくつかのオプションには、`--help` の下に詳細なフラグとオプションがあります。たとえば、`check` サブコマンドのヘルプを表示します。 + ```shell -<エージェント_バイナリ> check --help + check --help ``` -| サブコマンド | 注 | +| サブコマンド | 備考 | |-------------------|-----------------------------------------------------------------------------| -| `check` | 指定されたチェックを実行します。 | -| `config` | [ランタイム構成管理][7]。 | -| `configcheck` | 実行中の Agent のうち、ロード済みで解決済みの構成をすべて出力します。 | -| `diagnose` | システムに対して接続診断を実行します。 | -| `flare` | [フレアを収集して Datadog に送信][8]。 | -| `health` | 現在の Agent の状態を出力します。 | -| `help` | 任意のコマンドのヘルプ。 | -| `hostname` | Agent が使用するホスト名を出力します。 | -| `import` | 以前のバージョンの Agent から構成ファイルをインポートして変換します。 | -| `jmx` | JMX トラブルシューティング。 | -| `launch-gui` | Datadog Agent GUI を起動します。 | -| `restart-service` | サービスコントロールマネージャー内で Agent を再起動します。Windows のみです。 | -| `start-service` | サービスコントロールマネージャー内で Agent を起動します。Windows のみです。 | -| `stream-logs` | 実行中の Agent が処理するログをストリーミング表示します。 | -| `stopservice` | サービスコントロールマネージャー内で Agent を停止します。Windows のみです。 | -| `version` | バージョン情報を出力します。 | - -## 参考資料 +| `check` | 指定されたチェックを実行します。 | +| `config` | [ランタイム構成管理][7]。 | +| `configcheck` | 実行中の Agent のうちロード済みかつ解決済みの構成をすべて出力します。 | +| `diagnose` | システムで接続診断を実行します。 | +| `flare` | [フレアを収集して Datadog に送信][8]。 | +| `health` | 現在の Agent の状態を出力します。 | +| `help` | 任意のコマンドのヘルプ。 | +| `hostname` | Agent が使用するホスト名を出力します。 | +| `import` | 以前のバージョンの Agent から構成ファイルをインポートして変換します。| +| `jmx` | JMX トラブルシューティング。 | +| `launch-gui` | Datadog Agent GUI を起動します。 | +| `restart-service` | サービスコントロールマネージャー内で Agent を再起動します。Windows のみ。 | +| `start-service` | サービスコントロールマネージャー内で Agent を起動します。Windows のみ。 | +| `stream-logs` | 実行中の Agent が処理しているログをストリーミングします。 | +| `stopservice` | サービスコントロールマネージャー内で Agent を停止します。Windows のみ。 | +| `version` | バージョン情報を出力します。 | + +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/ja/agent/configuration/agent-configuration-files.md b/content/ja/agent/configuration/agent-configuration-files.md index 6eb75d1d7e7..052e0c5da9b 100644 --- a/content/ja/agent/configuration/agent-configuration-files.md +++ b/content/ja/agent/configuration/agent-configuration-files.md @@ -1,21 +1,21 @@ --- algolia: - category: ガイド + category: guide rank: 80 - subcategory: Agent 構成ファイル + subcategory: Agent Configuration Files tags: - - Agent 構成 - - Agent 構成 - - Agent ディレクトリ + - agent config + - agent configuration + - agent directory aliases: - /ja/agent/faq/agent-configuration-files - /ja/agent/guide/agent-configuration-files +description: Datadog Agent の構成ファイルの場所、構造、およびチェックやインテグレーションの設定方法に関するガイド。 title: Agent 構成ファイル --- +## メイン構成ファイル {#main-configuration-file} -## メイン構成ファイル - -Agent 構成ファイルの場所は、オペレーティング システムによって異なります。 +Agent 構成ファイルの場所は、オペレーティングシステムによって異なります。 | プラットフォーム | コマンド | |:-------------------------------------|:-------------------------------------| @@ -24,11 +24,11 @@ Agent 構成ファイルの場所は、オペレーティング システムに | macOS | `~/.datadog-agent/datadog.yaml` | | Windows | `%ProgramData%\Datadog\datadog.yaml` | -使用可能なすべての構成オプションの詳細については、[サンプル `config_template.yaml` ファイル][1]を参照してください。 +使用可能なすべての構成オプションの詳細については、[サンプル `config_template.yaml` ファイル][1] を参照してください。 -## Agent の構成ディレクトリ +## Agent 構成ディレクトリ {#agent-configuration-directory} -Agent チェックおよびインテグレーションの構成ファイルは `conf.d` ディレクトリに格納されます。このディレクトリの場所は、オペレーティング システムによって異なります。 +Agent チェックおよびインテグレーション用の構成ファイルは `conf.d` ディレクトリに格納されています。ディレクトリの場所はオペレーティングシステムによって異なります。 | プラットフォーム | コマンド | |:-------------------------------------|:-------------------------------| @@ -39,16 +39,16 @@ Agent チェックおよびインテグレーションの構成ファイルは ` | Fedora | `/etc/datadog-agent/conf.d/` | | macOS | `~/.datadog-agent/conf.d/` | | RedHat | `/etc/datadog-agent/conf.d/` | -| ソース | `/etc/datadog-agent/conf.d/` | +| Source | `/etc/datadog-agent/conf.d/` | | Suse | `/etc/datadog-agent/conf.d/` | | Ubuntu | `/etc/datadog-agent/conf.d/` | | Windows | `%ProgramData%\Datadog\conf.d` | -**注**: このディレクトリにあるサイズ 0 のファイルは Agent によって無視されます。これにより、空のテンプレート出力をスキップできないプロビジョニング システムでも対応可能になります。 +**注**: このディレクトリ内の長さがゼロのファイルは Agent によって無視されます。これにより、空のテンプレート出力のスキップがサポートされていないプロビジョニングシステムにも対応できます。 -### チェックのコンフィギュレーションファイル +### チェック構成ファイル {#check-configuration-files} -各 Agent チェックのコンフィギュレーションファイルの例は、対応する `.d/` フォルダーの `conf.yaml.example` ファイルにあります。関連するチェックを有効にするには、このファイル名を `conf.yaml` に変更します。**注**: Agent は、フォルダー `/etc/datadog-agent/conf.d/.d/` に含まれる有効な YAML ファイルを読み込むため、複雑なコンフィギュレーションは複数ファイルに分割することができます。たとえば、`http_check` のコンフィギュレーションは次のようになります。 +各 Agent チェック構成ファイルの例は、対応する `.d/` フォルダー内の `conf.yaml.example` ファイルにあります。このファイルの名前を `conf.yaml` に変更して、関連するチェックを有効にします。**注**: Agent は、`/etc/datadog-agent/conf.d/.d/` フォルダー内の有効な YAML ファイルを読み込みます。これにより、複雑な構成を複数のファイルに分割できます。たとえば、`http_check` の構成は次のようになります: ```text /etc/datadog-agent/conf.d/http_check.d/ @@ -56,9 +56,9 @@ Agent チェックおよびインテグレーションの構成ファイルは ` └── frontend.yaml ``` -特別なケースは、YAML ファイルに `.default` のサフィックスがある場合です。このようなファイルは、デフォルトで Agent によりロードされ、常に有効であるチェックのコアセットの定義に役立ちます (CPU、メモリ、アップタイムなど)。チェックに他の構成が見つかった場合、それらは無視されるため、安心して無視できます。デフォルトのチェックを無効にするには、該当ファイルを削除します。これらのチェックを構成するには、ベースとして `conf.yaml.example` を使用します。 +特別なケースは、`.default` がサフィックスの YAML ファイルです。これらのファイルはデフォルトで Agent によって読み込まれ、常に有効化される基本的なチェック (CPU、メモリ、稼働時間など) を定義するために使用されます。そのチェックに対して別の構成が見つかった場合は無視されるため、そのまま無視して構いません。デフォルトのチェックの 1 つを無効にしたい場合は、そのファイルを削除してください。これらのチェックを構成するには、`conf.yaml.example` をベースとして使用する必要があります。 -オートディスカバリーテンプレートファイルは、`auto_conf.yaml` ファイルのある構成フォルダーに保存されています。たとえば Redis チェックの場合、`redisdb.d/` のコンフィギュレーションは次のとおりです。 +Autodiscovery テンプレートファイルは、`auto_conf.yaml` ファイルとして構成フォルダーに保存されます。たとえば、Redis チェックの場合、`redisdb.d/` 内の構成は次のようになります。 ```text /etc/datadog-agent/conf.d/redisdb.d/ @@ -66,11 +66,11 @@ Agent チェックおよびインテグレーションの構成ファイルは ` └── conf.yaml.example ``` -ログ収集の場合、Datadog に重複ログが送信されないよう Agent は同じログソースを送信先とする複数の YAML ファイルを許可しません。1 つ以上の YAML ファイルが同じログソースを送信先としている場合、Agent はファイルをアルファベット順に処理し、一番上のファイルを使用します。 +ログ収集の場合、Agent は同じログソースを指す複数の YAML ファイルを受け入れず、重複したログが Datadog に送信されるのを防ぎます。同じログソースを指す YAML ファイルが複数ある場合、Agent はアルファベット順にファイルを処理し、最初のファイルを使用します。 -## JMX 構成ファイル +## JMX 構成ファイル {#jmx-configuration-file} -JMX Agent チェックには、独自の構成フォルダーに追加の `metrics.yaml` ファイルがあります。これは、Datadog Agent がデフォルトで収集するすべての Bean のリストです。これにより、[Docker ラベルまたは k8s アノテーション][2]によってチェックを構成する際に、すべての Bean を手動でリストする必要がなくなります。 +JMX Agent チェックには、構成フォルダーに追加の `metrics.yaml` ファイルがあります。これは、Datadog Agent がデフォルトで収集するすべての Bean のリストです。そのため、[Docker ラベルや k8s アノテーション][2] を通じてチェックを設定する際に、すべての Bean を手動でリストアップする必要がありません。 [1]: https://github.com/DataDog/datadog-agent/blob/master/pkg/config/config_template.yaml [2]: /ja/agent/kubernetes/integrations/#configuration \ No newline at end of file diff --git a/content/ja/agent/configuration/secrets-management.md b/content/ja/agent/configuration/secrets-management.md index f58dbf76ab0..5a854c74e7e 100644 --- a/content/ja/agent/configuration/secrets-management.md +++ b/content/ja/agent/configuration/secrets-management.md @@ -10,37 +10,37 @@ aliases: - /ja/agent/guide/secrets-management further_reading: - link: /agent/autodiscovery/ - tag: Documentation + tag: よくあるご質問 text: Autodiscovery title: シークレット管理 --- -## 概要 +## 概要 {#overview} Datadog Agent は、次のシークレット管理ソリューションと統合することで、シークレットを安全に管理するのに役立ちます。 - [AWS Secrets Manager](#idforsecrets) - [AWS SSM](#idforssm) - [Azure KeyVault](#idforazure) - [GCP Secret Manager](#idforgcp) - [HashiCorp Vault](#idforhashicorp) - [Kubernetes Secrets](#idforkubernetes) - [Docker Secrets](#idfordocker) - [FIle Text](#idforjsonyamltext) - [File JSON](#idforjsonyamltext) - [File YAML](#idforjsonyamltext) +- [AWS Secrets Manager](#id-for-secrets) +- [AWS SSM](#id-for-ssm) +- [Azure KeyVault](#id-for-azure) +- [GCP Secret Manager](#id-for-gcp) +- [HashiCorp Vault](#id-for-hashicorp) +- [Kubernetes Secrets](#id-for-kubernetes) +- [Docker Secrets](#id-for-docker) +- [ファイルテキスト](#id-for-json-yaml-text) +- [ファイル JSON](#id-for-json-yaml-text) +- [ファイル YAML](#id-for-json-yaml-text) -API キーやパスワードのような機密値を構成ファイル内にプレーンテキストでハードコーディングする代わりに、Agent は実行時に動的にそれらを取得できます。設定内でシークレットを参照するには、`ENC[]`表記を使用します。シークレットは取得され、メモリにロードされますが、ディスクに書き込まれたり、Datadog バックエンドに送信されたりすることはありません。 +API キーやパスワードのような機密値を構成ファイル内にプレーンテキストでハードコーディングする代わりに、Agent は実行時に動的にそれらを取得できます。構成内でシークレットを参照するには、`ENC[]` 表記を使用します。シークレットは取得され、メモリにロードされますが、ディスクに書き込まれたり、Datadog バックエンドに送信されたりすることはありません。 -**注**: `ENC[]` 構文は、`secret_*` 設定 (例: `secret_backend_command`) では使用できません。 +**注**: `secret_backend_command` のような `secret_*` 設定では、`ENC[]` 構文は使用できません。 -## シークレットを取得するためのオプション +## シークレットを取得するためのオプション {#options-for-retrieving-secrets} -### オプション1: シークレットを取得するためにネイティブ Agent サポートを使用 +### オプション 1: シークレットを取得するためにネイティブ Agent サポートを使用 {#option-1-using-native-agent-support-for-fetching-secrets} **注**: Agent バージョン `7.76` 以降、ネイティブなシークレット管理が FIPS 対応 Agent で利用可能です。 -Agent バージョン `7.70` から、Datadog Agent では複数のシークレット管理ソリューションをネイティブにサポートしています。`datadog.yaml` に新しい 2 つの設定 `secret_backend_type` と `secret_backend_config` が導入されました。 +Agent バージョン `7.70` 以降、Datadog Agent では複数のシークレット管理ソリューションをネイティブにサポートしています。`datadog.yaml` に新しい 2 つの設定 `secret_backend_type` と `secret_backend_config` が導入されました。 -`secret_backend_type` は、使用するシークレット管理ソリューションを指定するために使用され、`secret_backend_config` にはそのソリューションに関連する追加の設定が保持されます。 +`secret_backend_type`は、使用するシークレット管理ソリューションを指定するために使用され、`secret_backend_config` にはそのソリューションに関連する追加の設定が保持されます。 ```yaml # datadog.yaml @@ -50,7 +50,7 @@ secret_backend_config: : ``` -**注**: コンテナ化された環境で Datadog を実行している場合、[Cluster Agent](/containers/cluster_agent/) は、ネイティブなシークレットの取得をサポートするために Agent 7.77 以降が必要です。以前のバージョンでは、代わりに[オプション 2](#option2usingthebuiltinscriptforkubernetesanddocker) または[オプション 3](#option3creatingacustomexecutable) を使用してください。 +**注**: コンテナ化された環境で Datadog を実行している場合、[Cluster Agent](/containers/cluster_agent/) では、ネイティブなシークレットの取得をサポートするために Agent 7.77 以降が必要です。以前のバージョンでは、代わりに[オプション 2](#option-2-using-the-built-in-script-for-kubernetes-and-docker) または[オプション 3](#option-3-creating-a-custom-executable) を使用してください。 より具体的なセットアップ手順は、使用するバックエンドタイプによって異なります。詳細情報については、以下の該当するセクションを参照してください。 @@ -59,14 +59,14 @@ secret_backend_config: 次の AWS サービスがサポートされています。 |secret_backend_type 値 | AWS サービス | -||| +|---------------------------------------------|-----------------------------------------| |`aws.secrets` |[AWS Secrets Manager][1000] | -##### インスタンスプロファイルのセットアップ +##### インスタンスプロファイルのセットアップ {#set-up-an-instance-profile} -AWS によりすべての環境変数とセッションプロファイルが処理されるため、Datadog では [インスタンスプロファイルメソッド][1006] を使用してシークレットを取得することを推奨しています。このための詳細な指示は、公式の [AWS Secrets Managerのドキュメント][1000] で確認できます。 +AWS によりすべての環境変数とセッションプロファイルが処理されるため、Datadog では [インスタンスプロファイルメソッド][1006] を使用してシークレットを取得することを推奨しています。このための詳細な指示は、公式の [AWS Secrets Manager のドキュメント][1000] で確認できます。 -##### 設定例 +##### 構成例 {#configuration-example} {{< tabs >}} {{% tab "Agent YAML ファイル" %}} @@ -91,14 +91,14 @@ DD_SECRET_BACKEND_CONFIG='{"aws_session":{"aws_region":""}}' AWS Secrets を使用するように Agent を設定した後、`ENC[secretId;secretKey]` を使用して設定内の任意のシークレットを参照できます。 ENC 表記は次のように構成されています。 -* `secretId`: 秘密の「フレンドリ名」(たとえば、`/DatadogAgent/Production`) または Amazon Resource Name (たとえば、`arn:aws:secretsmanager:useast1:123456789012:secret:/DatadogAgent/ProductionFOga1K`) のいずれかです。 - **注**: AWS 資格情報または `sts:AssumeRole` 資格情報が定義されている異なるアカウントからシークレットにアクセスする場合、完全な Amazon Resource Name 形式が必要です。 +* `secretId`: シークレットの「フレンドリ名」(たとえば、`/DatadogAgent/Production`) または Amazon Resource Name (たとえば、`arn:aws:secretsmanager:us-east-1:123456789012:secret:/DatadogAgent/Production-FOga1K`) のいずれかです。 + - **注**: AWS 資格情報または `sts:AssumeRole` 資格情報が定義されている異なるアカウントからシークレットにアクセスする場合、完全な Amazon Resource Name 形式が必要です。 * `secretKey`: 使用する AWS シークレットからの JSON キーです。 AWS Secrets Manager は、1 つのシークレット内に複数のキーと値のペアを保存できます。Secrets Manager を使用したバックエンド設定からは、シークレットに定義されたすべてのキーにアクセスできます。 -たとえば、シークレット ID `MySecrets` に次の 3 つの値が含まれているとします。 +たとえば、シークレット ID `My-Secrets` に次の 3 つの値が含まれているとします。 ```json { @@ -108,7 +108,7 @@ AWS Secrets Manager は、1 つのシークレット内に複数のキーと値 } ``` -次に示すのは、AWS Secrets を使用して `MySecrets` から API キーを取得する `datadog.yaml` 構成ファイルの完全な例です。 +次に示すのは、AWS Secrets を使用して `My-Secrets` から API キーを取得する `datadog.yaml` 構成ファイルの完全な例です。 ```yaml api_key: ENC[My-Secrets;prodApiKey] @@ -125,7 +125,7 @@ secret_backend_config: AWS Secrets を使用して、次の設定に基づいて Helm 内のシークレットを解決するように Datadog Agent を設定します。 -##### インテグレーションチェック +##### インテグレーションチェック {#integration-check} ```sh datadog: @@ -149,12 +149,12 @@ agents: eks.amazonaws.com/role-arn: ``` -
AWS シークレットにアクセスするための Agent の権限を付与するには、serviceAccountAnnotations を含める必要があります。
+
AWS シークレットにアクセスするための権限を Agent に付与するには、 serviceAccountAnnotations を含める必要があります。

-##### クラスターチェック: クラスターチェックランナーが有効でない場合 +##### クラスターチェック: クラスターチェックランナーが有効でない場合 {#cluster-check-without-cluster-check-runners-enabled} ```sh datadog: @@ -178,7 +178,7 @@ clusterAgent: password: "ENC[secretId;secretKey]" ``` -##### クラスターチェック: クラスターチェックランナーが有効な場合 +##### クラスターチェック: クラスターチェックランナーが有効な場合 {#cluster-check-with-cluster-check-runners-enabled} ```sh datadog: @@ -209,13 +209,15 @@ clusterChecksRunner: ``` +**あるいは、**Helm チャート v3.171.0 以上および Agent v7.70 以上の場合は、環境変数の代わりにネイティブの `secretBackend.type` および `secretBackend.config` フィールドを使用できます。例: `datadog.secretBackend.type: "aws.secrets"` および `datadog.secretBackend.config.aws_session.aws_region: ""`。 + {{% /tab %}} {{% tab "Operator" %}} AWS Secrets を使用して、次の設定に基づいて、Datadog Operator と共にシークレットを解決するように Datadog Agent を設定します。 -##### インテグレーションチェック +##### インテグレーションチェック {#integration-check-1} ```sh @@ -247,12 +249,12 @@ spec: ``` -
AWS シークレットにアクセスするための Agent の権限を付与するには、serviceAccountAnnotations を含める必要があります。
+
AWS シークレットにアクセスするための権限を Agent に付与するには、 serviceAccountAnnotations を含める必要があります。

-##### クラスターチェック: クラスターチェックランナーが有効でない場合 +##### クラスターチェック: クラスターチェックランナーが有効でない場合 {#cluster-check-without-cluster-check-runners-enabled-1} ```sh apiVersion: datadoghq.com/v2alpha1 @@ -284,7 +286,7 @@ spec:
-##### クラスターチェック: クラスターチェックランナーが有効な場合 +##### クラスターチェック: クラスターチェックランナーが有効な場合 {#cluster-check-with-cluster-check-runners-enabled-1} ```sh apiVersion: datadoghq.com/v2alpha1 @@ -320,6 +322,8 @@ spec: ``` +**あるいは、**Datadog Operator v1.25.0 以上および Agent v7.70 以上の場合は、環境変数の代わりにネイティブの `secretBackend.type` および `secretBackend.config` フィールドを使用できます。例: `spec.global.secretBackend.type: "aws.secrets"`、`spec.global.secretBackend.config`、および `aws_session.aws_region: ""`。 + {{% /tab %}} {{< /tabs >}} @@ -330,14 +334,14 @@ spec: 次の AWS サービスがサポートされています。 |secret_backend_type 値 | AWS サービス | -||| +|---------------------------------------------|-----------------------------------------| |`aws.ssm` |[AWS Systems Manager Parameter Store][1001] | -##### インスタンスプロファイルのセットアップ +##### インスタンスプロファイルのセットアップ {#set-up-an-instance-profile-1} AWS によりすべての環境変数とセッションプロファイルが処理されるため、Datadog では [インスタンスプロファイルメソッド][1006] を使用してシークレットを取得することを推奨しています。このための詳細な指示は、公式の [AWS Secrets Manager のドキュメント][1001] で確認できます。 -##### 設定例 +##### 構成例 {#configuration-example-1} AWS Systems Manager Parameter Store では、階層モデルがサポートされています。たとえば、次のような AWS Systems Manager Parameter Store のパスがあるとします。 @@ -370,18 +374,18 @@ property2: "ENC[/DatadogAgent/Production/ParameterKey2]" 次の Azure サービスがサポートされています。 | secret_backend_type 値 | Azure サービス | -| || +| ----------------------------------------|------------------------| | `azure.keyvault` | [Azure Keyvault][2000] | -##### Azure 認証 +##### Azure 認証 {#azure-authentication} Datadog では、Azure での認証にマネージドアイデンティティを使用することを推奨しています。これにより、クラウドリソースを AMI アカウントに関連付けることができ、`datadog.yaml` 構成ファイルにシークレットを記載する必要がなくなります。 -##### マネージドアイデンティティ +##### マネージドアイデンティティ {#managed-identity} Key Vault にアクセスするには、マネージドアイデンティティを作成し、仮想マシンに割り当てます。次に、そのアイデンティティがシークレットにアクセスできるように、Key Vault に適切なロールを割り当てます。 -##### 設定例 +##### 構成例 {#configuration-example-2} Azure Key Vault シークレットのバックエンド設定は、このスキーマに従って YAML 形式で構成されています。 @@ -409,20 +413,20 @@ api_key: "ENC[secretKeyNameInKeyVault]" 次の GCP サービスがサポートされています。 | secret_backend_type 値 | GCP サービス | -| | | +| ------------------------------------------------------- | ------------------------------ | | `gcp.secretmanager` | [GCP Secret Manager][5000] | -##### GCP 認証とアクセスポリシー +##### GCP 認証とアクセスポリシー {#gcp-authentication-and-access-policy} GCP Secret Manager の実装は、Google での認証に [アプリケーションデフォルト資格情報 (ADC)][5001] を使用します。 GCP Secret Manager とやりとりするには、Datadog Agent で使用されるサービスアカウント (仮想マシンのサービスアカウント、ワークロードアイデンティティ、ローカルでアクティブ化された資格情報など) が、`secretmanager.versions.access` の権限を有している必要があります。 -これは、事前定義されたロール **Secret Manager Secret Accessor** (`roles/secretmanager.secretAccessor`) または同等の [アクセス権][5002] を持つカスタムロールを使用して付与できます。 +これは、事前定義されたロール {{< ui >}}Secret Manager Secret Accessor{{< /ui >}} (`roles/secretmanager.secretAccessor`) または同等の [アクセス権][5002] を持つカスタムロールを使用して付与できます。 -GCE または GKE ランタイムでは、ADC はインスタンスまたは Pod に添付されたサービスアカウントを通じて自動的に設定されます。添付されたサービスアカウントには、GCP Secret Manager にアクセスするための適切なロールが割り当てられている必要があります。さらに、GCE または GKE ランタイムは、`cloudplatform` [OAuth アクセススコープ][5003] を必要とします。 +GCE または GKE ランタイムでは、ADC はインスタンスまたは Pod に添付されたサービスアカウントを通じて自動的に設定されます。添付されたサービスアカウントには、GCP Secret Manager にアクセスするための適切なロールが割り当てられている必要があります。さらに、GCE または GKE ランタイムは、`cloud-platform` [OAuth アクセススコープ][5003] を必要とします。 -##### GCP の設定例 +##### GCP の構成例 {#gcp-configuration-example} GCP Secret Manager を使用して、次の設定に基づいてシークレットを解決するように Datadog Agent を設定します。 @@ -434,19 +438,19 @@ secret_backend_config: project_id: ``` -GCP Secret Manager を使用するように Datadog Agent を設定した後、`ENC[secretname]` または `ENC[secretname;key;version;]` を使用して設定内でシークレットを参照します。 +GCP Secret Manager を使用するように Agent を設定した後、`ENC[secret-name]` または `ENC[secret-name;key;version;]` を使用して設定内でシークレットを参照します。 ENC 表記は次のように構成されています。 - `secret`: GCP Secret Manager 内のシークレット名 (例: `datadogapikey`) -`key`: (オプション) JSON 形式のシークレットから抽出するキー。プレーンテキストのシークレットを使用している場合は、省略できます (例: `ENC[secretname;;version]`)。 -`version`: (オプション) シークレットのバージョン番号。指定しない場合、`latest` バージョンが使用されます。 +- `secret`: GCP Secret Manager 内のシークレット名 (例: `datadog-api-key`)。 +- `key`: (オプション) JSON 形式のシークレットから抽出するキー。プレーンテキストのシークレットを使用している場合は、省略できます (例: `ENC[secret-name;;version]`)。 +- `version`: (オプション) シークレットのバージョン番号。指定しない場合、`latest` バージョンが使用されます。 + バージョン構文の例: - `secretkey` 暗黙の `latest` バージョン - `secretkey;;latest` 明示的な `latest` バージョン - `secretkey;;1` 特定のバージョン番号 + - `secret-key` - 暗黙の `latest` バージョン + - `secret-key;;latest` - 明示的な `latest` バージョン + - `secret-key;;1` - 特定のバージョン番号 -たとえば、GCP シークレット名が `datadogapikey` で、2 つのバージョンと `datadogappkey` があるとします。 +たとえば、GCP シークレット名が `datadog-api-key` で、2 つのバージョンと `datadog-app-key` があるとします。 ```yaml # datadog.yaml @@ -459,7 +463,7 @@ secret_backend_config: project_id: ``` -JSON 形式のシークレットの場合、シークレット名 `datadogkeys` に以下が含まれるとします。 +JSON 形式のシークレットの場合、シークレット名 `datadog-keys` に以下が含まれるとします。 ```json { @@ -481,17 +485,17 @@ secret_backend_config: project_id: ``` -##### シークレットのバージョン管理 +##### シークレットのバージョン管理 {#secret-versioning} GCP Secret Manager ではシークレットバージョンがサポートされています。Agent の実装でも、`;` 区切りを使用してシークレットのバージョン管理をサポートしています。バージョンが指定されていない場合、`latest` バージョンが使用されます。 -##### JSON シークレットのサポート +##### JSON シークレットのサポート {#json-secret-support} Datadog Agent では、`;` 区切りを使用して、JSON 形式のシークレットから特定のキーを抽出することができます。 - `datadog;api_key` 暗黙の `latest` バージョンを使用して、`datadog` のシークレットから `api_key` フィールドを抽出します。 - `datadog;api_key;1` バージョン `1` の `datadog` のシークレットから `api_key` フィールドを抽出します。 +- `datadog;api_key` - 暗黙の `latest` を使用して、`datadog` シークレットから `api_key` フィールドを抽出します。 +- `datadog;api_key;1` - バージョン `1` の `datadog` シークレットから `api_key` フィールドを抽出します。 {{% /collapse-content %}} @@ -501,10 +505,10 @@ Datadog Agent では、`;` 区切りを使用して、JSON 形式のシークレ 次の HashiCorp サービスがサポートされています。 | secret_backend_type 値 | HashiCorp サービス | -| | | +| ------------------------------------------ | -------------------------------------------------- | | `hashicorp.vault` | [HashiCorp Vault (Secrets Engine バージョン 1 および 2)][3000] | -##### HashiCorp Vault のセットアップ方法 +##### HashiCorp Vault のセットアップ方法 {#how-to-set-up-hashicorp-vault} 1. HashiCorp Vault を実行します。詳細については、[公式の HashiCorp Vault ドキュメント][3001] を参照してください。 2. Vault からシークレットを取得するための権限を付与するポリシーを記述します。`*.hcl` ファイルを作成し、Secrets Engine バージョン 1 を使用している場合は、次の権限を含めます。 @@ -528,17 +532,17 @@ path "sys/mounts" { capabilities = ["read"] } ``` -3. `vault policy write <path_to_*.hcl_file>` を実行します。 +3. `vault policy write ` を実行します。 4. Vault の認証方法を選択します。AWS インスタンスプロファイルメソッドを使用する場合は、`vault auth enable aws` を実行します。 -##### AWS インスタンスプロファイルの手順 +##### AWS インスタンスプロファイルの手順 {#aws-instance-profile-instructions} AWS に接続されたマシンから HashiCorp Vault を実行している場合、Datadog では [インスタンスプロファイルメソッド][3003] を使用して認証することを推奨しています。 セットアップが完了したら、[認証専用の Vault ポリシー][3004] を記述します。 -##### 設定例 +##### 構成例 {#configuration-example-3} 次の例では、HashiCorp Vault のシークレットパスプレフィックスが `/Datadog/Production` であり、パラメーターキーが `apikey` であるとします。 @@ -570,17 +574,17 @@ secret_backend_config: 次の Kubernetes サービスがサポートされています。 | secret_backend_type 値 | サービス | -||| +|---------------------------|---------| | `k8s.secrets` | [Kubernetes Secrets][7000] | -##### 前提条件 +##### 前提条件 {#prerequisites} Kubernetes Secrets バックエンドには次のものが必要です。 - **ServiceAccount の資格情報**: デフォルトでは、自動的にマウントされた ServiceAccount トークンを使用します (`automountServiceAccountToken: true`、詳細は [Kubernetes ドキュメント](https://kubernetes.io/docs/tasks/configurepodcontainer/configureserviceaccount/#optoutofapicredentialautomounting)を参照)。必要に応じてカスタムパスを設定できます。 -**RBAC 権限**: Agent の ServiceAccount には、ターゲットネームスペースからシークレットを読み取るための権限が必要です。 - **ネットワークアクセス**: Agent Pod は Kubernetes API サーバーに到達できる必要があります。 +- **ServiceAccount の資格情報**: デフォルトでは、自動的にマウントされた ServiceAccount トークンを使用します (`automountServiceAccountToken: true`、詳細は[Kubernetes のドキュメント](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#opt-out-of-api-credential-automounting)を参照)。必要に応じてカスタムパスを設定できます。 +- **RBAC 権限**: Agent の ServiceAccount には、ターゲットネームスペースからシークレットを読み取るための権限が必要です。 +- **ネットワークアクセス**: Agent Pod は Kubernetes API サーバーに到達できる必要があります。 -##### RBAC のセットアップ +##### RBAC のセットアップ {#rbac-setup} シークレットを含む各ネームスペースについて、次の例のように正しいネームスペース名を使用して `Role` と `RoleBinding` を作成します。 @@ -612,7 +616,7 @@ subjects: namespace: datadog # Where Agent runs ``` -##### 設定例 +##### 構成例 {#configuration-example-4} {{< tabs >}} {{% tab "Agent YAML ファイル" %}} @@ -628,12 +632,12 @@ api_key: "ENC[secrets-prod/dd-api-key;api_key]" app_key: "ENC[secrets-prod/dd-api-key;app_key]" ``` -ENC 表記形式は `namespace/secretname;key` です。 - `namespace`: シークレットを含む Kubernetes ネームスペース - `secretname`: シークレットリソースの名前 - `key`: シークレットのデータフィールドから抽出する特定のキー +ENC 表記形式は `namespace/secret-name;key` です。 +- `namespace`: シークレットを含む Kubernetes ネームスペース +- `secret-name`: シークレットリソースの名前 +- `key`: シークレットのデータフィールドから抽出する特定のキー -**例:** ネームスペース `secretsns` におけるシークレットの指定 +**例:** ネームスペース `secrets-ns` におけるシークレットの指定 ```yaml apiVersion: v1 @@ -679,9 +683,9 @@ datadog: value: "ENC[secrets-ns/dd-api-key;api_key]" ``` -**注:** シークレットバックエンドを使用して API キーを解決する際、Helm チャートの検証にはプレースホルダー `apiKey` が必要です。これは `DD_API_KEY` 環境変数によりオーバーライドされます。シークレットを含む各ネームスペースに対して手動でRBAC (ロール + RoleBinding) を作成する必要があります。詳細については、[RBAC のセットアップ](#rbacsetup)セクションを参照してください。 +**注:** シークレットバックエンドを使用して API キーを解決する際、Helm チャートの検証にはプレースホルダー `apiKey` が必要です。これは `DD_API_KEY` 環境変数によりオーバーライドされます。シークレットを含む各ネームスペースに対して手動で RBAC (ロール + RoleBinding) を作成する必要があります。詳細については、[RBAC のセットアップ](#rbac-setup)セクションを参照してください。 -
Helm にはネイティブな secretBackend.type 設定がありません。環境変数を使用します。
+**あるいは、**Helm チャート v3.171.0 以上および Agent v7.70 以上の場合は、環境変数の代わりにネイティブの `datadog.secretBackend.type` フィールドを使用できます。 {{% /tab %}} @@ -708,14 +712,14 @@ spec: value: "ENC[secrets-ns/dd-api-key;api_key]" ``` -**注:** プレースホルダー API キーでは、シークレットバックエンドを使用して API キーを解決する際に Operator の検証が満たされます。これは `DD_API_KEY` 環境変数によりオーバーライドされます。シークレットを含む各ネームスペースに対して手動でRBAC (ロール + RoleBinding) を作成する必要があります。詳細については、[RBAC のセットアップ](#rbacsetup)セクションを参照してください。 +**注:** プレースホルダー API キーでは、シークレットバックエンドを使用して API キーを解決する際に Operator の検証が満たされます。これは `DD_API_KEY` 環境変数によりオーバーライドされます。シークレットを含む各ネームスペースに対して手動で RBAC (ロール + RoleBinding) を作成する必要があります。詳細については、[RBAC のセットアップ](#rbac-setup)セクションを参照してください。 -
Operator にはネイティブな secretBackend.type 設定がありません。override.nodeAgent.env に環境変数を使用します。
+**あるいは、**Datadog Operator v1.25.0 以上および Agent v7.70 以上の場合は、環境変数の代わりにネイティブの `spec.global.secretBackend.type` フィールドを使用できます。 {{% /tab %}} {{< /tabs >}} -##### カスタムパスの設定 +##### カスタムパスの設定 {#custom-path-configuration} デフォルトの ServiceAccount ベース認証の場所に従ってセットアップが行われない場合は、代わりに `token_path` と `ca_path` を指定できます。 {{< tabs >}} @@ -739,6 +743,9 @@ datadog: - name: DD_SECRET_BACKEND_CONFIG value: '{"token_path":"/custom/path/to/token","ca_path":"/custom/path/to/ca.crt"}' ``` + +**あるいは、**Helm チャート v3.171.0 以上の場合は、`datadog.secretBackend.type: "k8s.secrets"` および `datadog.secretBackend.config` を `token_path` および `ca_path` キーを指定して使用できます。 + {{% /tab %}} {{% tab "Operator" %}} @@ -752,10 +759,13 @@ override: - name: DD_SECRET_BACKEND_CONFIG value: '{"token_path":"/custom/path/to/token","ca_path":"/custom/path/to/ca.crt"}' ``` + +**あるいは、**Datadog Operator v1.25.0 以上の場合は、`spec.global.secretBackend.type: "k8s.secrets"` および `spec.global.secretBackend.config` を `token_path` および `ca_path` キーを指定して使用できます。 + {{% /tab %}} {{< /tabs >}} -##### カスタム API サーバーの設定 +##### カスタム API サーバーの設定 {#custom-api-server-configuration} セットアップでデフォルトの `KUBERNETES_SERVICE_HOST` および `KUBERNETES_SERVICE_PORT` 環境変数が公開されない場合、Kubernetes REST API とのやりとりのために `api_server` の URL を指定できます。 @@ -779,6 +789,9 @@ datadog: - name: DD_SECRET_BACKEND_CONFIG value: '{"api_server":"https://{KUBERNETES_SERVICE_HOST}:{KUBERNETES_SERVICE_PORT}"}' ``` + +**あるいは、**Helm チャート v3.171.0 以上の場合は、`datadog.secretBackend.type: "k8s.secrets"` および `datadog.secretBackend.config` を `api_server` キーを指定して使用できます。 + {{% /tab %}} {{% tab "Operator" %}} @@ -792,6 +805,9 @@ override: - name: DD_SECRET_BACKEND_CONFIG value: '{"api_server":"https://{KUBERNETES_SERVICE_HOST}:{KUBERNETES_SERVICE_PORT}"}' ``` + +**あるいは、**Datadog Operator v1.25.0 以上の場合は、`spec.global.secretBackend.type: "k8s.secrets"` および `spec.global.secretBackend.config` を `api_server` キーを指定して使用できます。 + {{% /tab %}} {{< /tabs >}} @@ -804,16 +820,16 @@ override: 次の Docker サービスがサポートされています。 | secret_backend_type 値 | サービス | -||| +|---------------------------|---------| | `docker.secrets` | [Docker Secrets][6001] | -##### 前提条件 +##### 前提条件 {#prerequisites-1} -Docker Secrets バックエンドでは、[Docker Swarm のシークレット][6002] と [Docker Compose のシークレット][6003] の両方がサポートされています。デフォルトでは、Swarm と Compose は、コンテナ内のシークレットをファイルとして `/run/secrets` (Linux) または `C:\ProgramData\Docker\secrets` (Windows) に自動的にマウントします。 +Docker Secrets バックエンドでは、[Docker Swarm のシークレット][6002] と [Docker Compose のシークレット][6003] の両方がサポートされています。デフォルトでは、Swarm と Compose の両方が、コンテナ内のシークレットをファイルとして `/run/secrets` (Linux) または `C:\ProgramData\Docker\secrets` (Windows) に自動的にマウントします。 **注**: Compose シークレットは、ファイルベース (ローカルファイルを指す) または外部 (既存の Swarm シークレットを参照) とすることができます。 -##### 設定例 +##### 構成例 {#configuration-example-5} Docker Secrets を使用して、次の設定に基づいて Datadog Agent を設定します。 @@ -825,8 +841,8 @@ secret_backend_type: docker.secrets api_key: "ENC[dd_api_key]" ``` -ENC 表記形式はシークレット名で、`/run/secrets/` 内のファイル名に対応します。 - `ENC[api_key]` は `/run/secrets/api_key` (Linux) または `C:\ProgramData\Docker\secrets\api_key` (Windows) から読み取ります。 +ENC 表記形式はシークレット名で、`/run/secrets/` 内のファイル名に対応します: +- `ENC[api_key]` は `/run/secrets/api_key` (Linux) または `C:\ProgramData\Docker\secrets\api_key` (Windows) から読み取ります。 **カスタムシークレットのパス:** シークレットを異なる場所にマウントするように Docker Swarm または Compose が設定されている場合は、次のように指定できます。 @@ -837,7 +853,7 @@ secret_backend_config: secrets_path: /custom/secrets/path ``` -##### Docker Swarm の例 +##### Docker Swarm の例 {#docker-swarm-example} Docker Swarm シークレットを [作成][6002] して使用します。 @@ -853,21 +869,21 @@ docker service create \ --env DD_SECRET_BACKEND_TYPE="docker.secrets" \ --env DD_SITE="datadoghq.com" \ --env DD_HOSTNAME="dd-agent" \ - datadog/agent:latest + registry.datadoghq.com/agent:latest ``` -シークレット `dd_api_key` は自動的に `/run/secrets/dd_api_key` にマウントされ、Agent により、`docker.secrets` バックエンドを使用して読み取られます。 +シークレット `dd_api_key` は `/run/secrets/dd_api_key` に自動的にマウントされ、Agent は `docker.secrets` バックエンドを使用してそれを読み取ります。 -##### Docker Compose の例 +##### Docker Compose の例 {#docker-compose-example} -ファイルベースのシークレットを使用して `dockercompose.yml`を [作成][6003] します。 +ファイルベースのシークレットを使用して `docker-compose.yml` を [作成][6003] します。 ```yaml version: '3.8' services: datadog: - image: datadog/agent:latest + image: registry.datadoghq.com/agent:latest environment: - DD_API_KEY=ENC[dd_api_key] - DD_SECRET_BACKEND_TYPE=docker.secrets @@ -881,21 +897,21 @@ secrets: file: ./secrets/api_key.txt ``` -シークレットファイル `./secrets/api_key.txt` は、コンテナ内の `/run/secrets/dd_api_key` にマウントされます。 +シークレットファイル `./secrets/api_key.txt` はコンテナ内の `/run/secrets/dd_api_key` にマウントされます。 {{% /collapse-content %}} {{% collapse-content title="JSON、YAML、または TEXT ファイルシークレットバックエンド" level="h4" expanded=false id="id-for-json-yaml-text" %}} -| secret_backend_type 値 | ファイルサービス | -||| +| secret_backend_type 値 | ファイルサービス | +|---------------------------------------------|-----------------------------------------| |`file.json` |[JSON][4001] | -|`file.yaml` |[YAML][4002] | | -|`file.text` |[TEXT][4003] | | +|`file.yaml` |[YAML][4002] | | +|`file.text` |[TEXT][4003] | | -##### ファイルのアクセス許可 -ファイルバックエンドには、設定された JSON、YAML、または TEXT ファイルに対する**読み取り**アクセス許可のみが必要です。これらのアクセス許可を、ローカルの Datadog Agent ユーザー (Linux では `ddagent`、Windows では `ddagentuser`) に付与する必要があります。 +##### ファイルのアクセス許可 {#file-permissions} +ファイルバックエンドには、設定された JSON、YAML、または TEXT ファイルに対する**読み取り**アクセス許可のみが必要です。これらのアクセス許可を、ローカルの Datadog Agent ユーザー (Linux では `dd-agent`、Windows では `ddagentuser`) に付与する必要があります。 {{< tabs >}} @@ -903,7 +919,7 @@ secrets: **注**: JSON の深度は 1 つのレベルのみサポートされています (たとえば、`{"key": "value"}`)。 -##### 設定例 +##### 構成例 {#configuration-example-6} JSON ファイルを使用してシークレットをローカルに保存できます。 @@ -930,9 +946,9 @@ secret_backend_config: {{% tab "YAML ファイルバックエンド" %}} -**注**: YAML の深度は 1 つのレベルのみサポートされています (たとえば、`key: value`) +**注**: YAML の深度は 1 つのレベルのみサポートされています (たとえば、`key: value`)。 -##### 設定例 +##### 構成例 {#configuration-example-7} YAML ファイルを使用してシークレットをローカルに保存できます。 @@ -959,7 +975,7 @@ secret_backend_config: **注**: 各シークレットはそれぞれ個別のテキストファイルに保存する必要があります。 -##### 設定例 +##### 構成例 {#configuration-example-8} 個別のテキストファイルを使用して、シークレットをローカルに保存できます。 @@ -989,13 +1005,13 @@ secret_backend_config: secrets_path: /path/to/secrets ``` -##### パスのセキュリティ: +##### パスのセキュリティ: {#path-security} - `ENC[]` の相対パスは、`secrets_path` に対して相対的に解決されます (例: `ENC[dd_api_key]` と `secret_path: /path/to/secrets` は `/path/to/secrets/dd_api_key` に解決されます)。 - `ENC[]` の絶対パスは `secrets_path` 内になければなりません (例: `ENC[/path/to/secrets/dd_api_key]` と `secret_path: /path/to/secrets` は有効です)。 - パストラバーサルの試み (例: `ENC[../etc/passwd]`) はブロックされ、「許可されたディレクトリ外のパス」として失敗します。 +- : `ENC[]` の相対パスは、`secrets_path` に対して相対的に解決されます (例: `ENC[dd_api_key]` と `secret_path: /path/to/secrets` は `/path/to/secrets/dd_api_key` に解決されます)。 +- `ENC[]` の絶対パスは `secrets_path` 内になければなりません (例: `ENC[/path/to/secrets/dd_api_key]` と `secret_path: /path/to/secrets` は有効です)。 +- : パストラバーサルの試み (例: `ENC[../etc/passwd]`) はブロックされ、「許可されたディレクトリ外のパス」として失敗します。 -**注:** 一部のツールでは、シークレットをファイルにエクスポートする際に自動的に改行が追加されます。この方法の詳細については、[末尾の改行を削除する](#removetrailinglinebreaks)を参照してください。 +**注:** 一部のツールでは、シークレットをファイルにエクスポートする際に自動的に改行が追加されます。対処方法について詳しくは、[末尾の改行を削除する](#remove-trailing-line-breaks)を参照してください。 {{% /tab %}} {{< /tabs >}} @@ -1003,12 +1019,12 @@ secret_backend_config: {{% /collapse-content %}} -### オプション 2: Kubernetes と Docker 用の組み込みスクリプトを使用 +### オプション 2: Kubernetes と Docker 用の組み込みスクリプトを使用 {#option-2-using-the-built-in-script-for-kubernetes-and-docker} コンテナ化された環境では、Datadog Agent のコンテナイメージには、バージョン v7.32.0 以降で使用できる組み込みスクリプト `/readsecret_multiple_providers.sh` が含まれています。このスクリプトでは、次の場所からシークレットを読み取ることができます。 * ファイル: `ENC[file@/path/to/file]` を使用 -* Kubernetes Secrets: `ENC[k8s_secret@namespace/secretname/key]` を使用 +* Kubernetes Secrets: `ENC[k8s_secret@namespace/secret-name/key]` を使用 {{< tabs >}} {{% tab "Datadog Operator" %}} @@ -1049,7 +1065,7 @@ DD_SECRET_BACKEND_COMMAND=/readsecret_multiple_providers.sh {{% /tab %}} {{< /tabs >}} -#### 例: マウントされたファイルからの読み取り +#### 例: マウントされたファイルからの読み取り {#example-reading-from-mounted-files} Kubernetes では、エージェントがシークレットを解決するために読み取ることができる Pod 内で [シークレットをファイルとして公開する][2] ことができます。 @@ -1076,12 +1092,12 @@ password: ENC[file@/etc/secret-volume/password] ``` **注**: - シークレットは、マウント先の Pod と同じネームスペースに存在する必要があります。 -スクリプトからは、機密の `/var/run/secrets/kubernetes.io/serviceaccount/token` を含むすべてのサブフォルダーにアクセスできます。そのため、Datadog では `/var/run/secrets` の代わりに専用のフォルダーを使用することが推奨されています。 +- シークレットは、マウント先の Pod と同じネームスペースに存在する必要があります。 +- スクリプトからは、機密の `/var/run/secrets/kubernetes.io/serviceaccount/token` を含むすべてのサブフォルダにアクセスできます。そのため、Datadog では `/var/run/secrets` の代わりに専用のフォルダを使用することが推奨されています。 -[Docker Swarm シークレット][3] は `/run/secrets` フォルダーにマウントされます。たとえば、Docker シークレット `db_prod_passsword` は Agent コンテナの `/run/secrets/db_prod_password` にあります。これは、設定で `ENC[file@/run/secrets/db_prod_password]` として参照されます。 +[Docker Swarm シークレット][3] は `/run/secrets` フォルダにマウントされます。たとえば、Docker シークレット `db_prod_passsword` は Agent コンテナの `/run/secrets/db_prod_password` にあります。これは、設定で `ENC[file@/run/secrets/db_prod_password]` として参照されます。 -#### 例: ネームスペースをまたいで Kubernetes シークレットを読み取る +#### 例: ネームスペースをまたいで Kubernetes シークレットを読み取る {#example-reading-a-kubernetes-secret-across-namespaces} Agent が異なるネームスペースからシークレットを読み取る必要がある場合は、`k8s_secret@` プレフィックスを使用します。たとえば、以下のとおりです。 @@ -1089,7 +1105,7 @@ Agent が異なるネームスペースからシークレットを読み取る password: ENC[k8s_secret@database/database-secret/password] ``` -Agent のサービスアカウントがシークレットを読み取れるように RBAC を設定します。次のロールは、`database` ネームスペースで `databasesecret` シークレットに対する読み取りアクセス権を付与します。 +Agent のサービスアカウントがシークレットを読み取れるように RBAC を設定します。次のロールは、`database-secret` ネームスペースで `database` シークレットに対する読み取りアクセス権を付与します。 {{< tabs >}} {{% tab "Datadog Operator" %}} @@ -1155,9 +1171,9 @@ roleRef: apiGroup: "" ``` -この `Role` は、`Namespace: database` で `Secret: databasesecret` に対するアクセス権を付与します。この `RoleBinding` は、`Namespace: default` で `ServiceAccount: datadogagent` に対するこのアクセス許可をリンクします。これは、デプロイされたリソースに関して手動でクラスターに追加する必要があります。 +この `Role` は、`Namespace: database` で `Secret: database-secret` に対するアクセス権を付与します。`RoleBinding` は、`Namespace: default` で `ServiceAccount: datadog-agent` に対するこのアクセス許可をリンクします。これは、デプロイされたリソースに関して手動でクラスターに追加する必要があります。 -### オプション 3: カスタム実行ファイルの作成 +### オプション 3: カスタム実行ファイルの作成 {#option-3-creating-a-custom-executable} シークレットを取得するために、Agent ではユーザーが提供した外部の実行ファイルを使用します。実行ファイルは、新しいシークレットが検出され、Agent のライフサイクル期間中キャッシュされたときに使用されます。シークレットを更新またはローテーションする必要がある場合は、Agent を再起動してリロードする必要があります。 @@ -1175,7 +1191,7 @@ Agent では、解決すべきシークレットハンドルのリストを含 ``` * `version` (文字列): フォーマットバージョンです。 -* `secrets` (文字列のリスト): 各文字列はシークレットが取得するハンドルです。 +* `secrets`(文字列のリスト): 各文字列はシークレットが取得するハンドルです。 実行ファイルは、以下の STDOUT 出力を通じて応答します。 @@ -1188,7 +1204,7 @@ Agent では、解決すべきシークレットハンドルのリストを含 ``` * `value` (文字列): 設定で使用されるシークレットの値。エラーの場合、これは `null` になる可能性があります。 -* `error` (文字列): エラーメッセージまたは `null`。 +* `error`(文字列): エラーメッセージまたは `null` です。 (非ゼロの終了コードまたは非 null のエラーが返され) シークレットの解決に失敗した場合、関連する設定は Agent によって無視されます。 @@ -1263,7 +1279,7 @@ instances: secret_backend_command: /path/to/binary ``` -## Agent のセキュリティ要件 +## Agent のセキュリティ要件 {#agent-security-requirements} Agent は提供された実行ファイルをサブプロセスとして実行します。実行パターンは Linux と Windows で異なります。 @@ -1272,9 +1288,9 @@ Agent は提供された実行ファイルをサブプロセスとして実行 Linux では、実行ファイルは次の条件を満たす必要があります。 -* Agent を実行しているのと同じユーザーに属していること (デフォルトでは `ddagent`、またはコンテナ内の `root`)。 +* Agent を実行しているのと同じユーザーに属していること (デフォルトでは `dd-agent`、またはコンテナ内の `root`)。 * `group` または `other` の権限がないこと。 -* 所有者に対して少なくとも**実行**権限があること。 +* 所有者に対して少なくとも **実行**権限があること。 {{% /tab %}} {{% tab "Windows" %}} @@ -1283,14 +1299,14 @@ Windows では、実行ファイルは次の条件を満たす必要がありま * `ddagentuser` (Agent の実行に使用するユーザー) に対する**読み取り**または**実行**権限があること。 * **Administrators** グループ、ビルトイン**ローカルシステム**アカウント、または Agent ユーザーコンテキスト (デフォルトでは `ddagentuser`) 以外のユーザーまたはグループの権限がないこと。 -*有効な Win32 アプリケーションであるため、Agent で実行できること (たとえば、PowerShell または Python スクリプトは機能しません)。 +* 有効な Win32 アプリケーションであり、Agent で実行できること (たとえば、PowerShell または Python スクリプトは機能しません)。 {{% /tab %}} {{< /tabs >}} **注**: 実行ファイルは、Agent と同じ環境変数を共有します。 -## 実行時のシークレットのリフレッシュ +## 実行時のシークレットのリフレッシュ {#refreshing-secrets-at-runtime} Agent v7.67 以降、再起動しなくても、解決されたシークレットがリフレッシュされるように Agent を設定できます。 @@ -1306,7 +1322,7 @@ secret_refresh_interval: 3600 # refresh every hour datadog-agent secret refresh ``` -### API/APP キーのリフレッシュ +### API/APP キーのリフレッシュ {#apiapp-key-refresh} シークレットとして取得された API/APP キーでは、実行時リフレッシュがサポートされています。 これを有効にするには、`datadog.yaml` で `secret_refresh_interval` (秒単位) を設定します。 @@ -1322,7 +1338,7 @@ secret_refresh_interval: 3600 # refresh every hour 以降、間隔ごとにリフレッシュされます。 ダウンタイムを防ぐため、全 Agent で更新済みのキーの取得が完了するまで待ってから、古いキーを無効にしてください。キーの使用状況の追跡は、 -[フリート管理](https://app.datadoghq.com/fleet)ページでできます。 +[フリート管理](https://app.datadoghq.com/fleet)ページで行うことができます。 この動作を無効にするには、次のように設定します。 @@ -1330,7 +1346,7 @@ secret_refresh_interval: 3600 # refresh every hour secret_refresh_scatter: false ``` -### Autodiscovery チェックのシークレットのリフレッシュ +### Autodiscovery チェックのシークレットのリフレッシュ {#autodiscovery-check-secrets-refresh} Agent v7.76 以降、スケジュールされた [Autodiscovery][1] チェックでは、テンプレートが `ENC[]` 構文を使用している場合、実行時にシークレットをリフレッシュできます。 ```yaml @@ -1354,13 +1370,13 @@ annotations: } ``` -その後、Agent では、`secret_refresh_interval` に設定された間隔で、または`datadogagent secret refresh` を使用して手動で、シークレットのリフレッシュをトリガーできます。 +その後、Agent では、`secret_refresh_interval` に設定された間隔で、または `datadog-agent secret refresh` を使用して手動で、シークレットのリフレッシュをトリガーできます。 -### API キーの失敗時または無効化時のシークレットの自動リフレッシュ +### API キーの失敗時または無効化時のシークレットの自動リフレッシュ {#automatic-secrets-refresh-on-api-key-failure-invalidation} Agent バージョン v7.74 以降、Agent では無効な API キーを検出した際にシークレットを自動的にリフレッシュできます。これは、Agent が Datadog から「403 Forbidden」の応答を受け取った場合、または定期的なヘルスチェックで無効または期限切れの API キーが検出された場合に発生します。 -この機能を有効にするには、`datadog.yaml`ファイルで `secret_refresh_on_api_key_failure_interval` を分単位の間隔に設定します。無効にするには、`0` に設定します (デフォルト)。 +この機能を有効にするには、`datadog.yaml` ファイルで `secret_refresh_on_api_key_failure_interval` を分単位の間隔に設定します。無効にするには、`0` に設定します (デフォルト)。 この間隔は、無効な API キーが検出された際に、シークレット管理ソリューションへのスパムを防ぐために 2 回のリフレッシュの間に設けられる最小時間です。 @@ -1372,7 +1388,7 @@ secret_refresh_on_api_key_failure_interval: 10 この設定は `secret_refresh_interval` と互換性があります。 -### DDOT コレクターリフレッシュの有効化 +### DDOT コレクターリフレッシュの有効化 {#enabling-ddot-collector-refresh} [DDOT コレクター][6] を使用していて、API/APP リフレッシュを有効にしたい場合は、次の追加設定を `datadog.yaml` ファイルに追加する必要があります。 ``` @@ -1383,9 +1399,9 @@ agent_ipc: これにより、シークレットがリフレッシュされた後、DDOT コレクターと Agent の同期が維持されます。Agent で設定状態が定期的に確認されるのと同様の方法で、DDOT コレクターではこの設定を使用して Agent で更新された値を定期的にチェックします。 -## トラブルシューティング +## トラブルシューティング {#troubleshooting} -### 検出されたシークレットのリスト +### 検出されたシークレットのリスト {#listing-detected-secrets} Agent CLI の `secret` コマンドでは、セットアップに関連するエラーが表示されます。たとえば、実行ファイルの権限が不正確な場合です。また、検出されたすべてのハンドルとその場所がリストされます。 @@ -1451,9 +1467,9 @@ Secrets handle decrypted: {{% /tab %}} {{< /tabs >}} -### シークレットが挿入された後の設定の表示 +### シークレットが挿入された後の設定の表示 {#seeing-configurations-after-secrets-were-injected} -チェックの設定がどのように解決されるかを素早く確認するには、`configcheck` コマンドを使用します。 +チェックの設定がどのように解決されるかをすばやく確認するには、`configcheck` コマンドを使用します。 ```shell sudo -u dd-agent -- datadog-agent configcheck @@ -1479,7 +1495,7 @@ password: **注**: Agent は、構成ファイルの変更を取得するために [再起動][7] する必要があります。 -### secret_backend_command のデバッグ +### secret_backend_command のデバッグ {#debugging-your-secret-backend-command} Agent の外部でテストまたはデバッグするには、Agent の実行方法を模倣します。 @@ -1491,12 +1507,12 @@ Agent の外部でテストまたはデバッグするには、Agent の実行 sudo -u dd-agent bash -c "echo '{\"version\": \"1.0\", \"secrets\": [\"secret1\", \"secret2\"]}' | /path/to/the/secret_backend_command" ``` -Datadog Agent をインストールすると、`ddagent` ユーザーが作成されます。 +Datadog Agent をインストールすると、`dd-agent` ユーザーが作成されます。 {{% /tab %}} {{% tab "Windows" %}} -##### 権限に関連するエラー +##### 権限関連のエラー {#rights-related-errors} 次のエラーは、セットアップで何かが欠落していることを示しています。 @@ -1515,7 +1531,7 @@ Datadog Agent をインストールすると、`ddagent` ユーザーが作成 error while running 'C:\decrypt.py': fork/exec C:\decrypt.py: %1 is not a valid Win32 application. ``` -Datadog には、実行ファイルに正しい権限を設定するのに役立つ [PowerShell スクリプト][9] があります。その使用方法の例を次に示します。 +Datadog には、実行ファイルに正しい権限を設定するのに役立つ [Powershell スクリプト][9] があります。その使用方法の例を次に示します。 ```powershell .\Set-SecretPermissions.ps1 -SecretBinaryPath C:\secrets\decrypt_secrets.exe @@ -1544,9 +1560,9 @@ Number of secrets resolved: 0 Secrets handle resolved: ``` -##### 実行ファイルのテスト +##### 実行ファイルのテスト {#testing-your-executable} -実行ファイルは、シークレットの取得時に Agent によって実行されます。Datadog Agent は、`ddagentuser` を使用して実行されます。このユーザーには特定の権限はありませんが、`Performance Monitor Users` グループの一部です。このユーザーのパスワードはインストール時にランダムに生成され、どこにも保存されません。 +実行ファイルは、シークレットの取得時に Agent によって実行されます。Datadog Agent は `ddagentuser` を使用して実行されます。このユーザーには特定の権限はありませんが、`Performance Monitor Users` グループの一部です。このユーザーのパスワードはインストール時にランダムに生成され、どこにも保存されません。 そのため、実行ファイルはデフォルトのユーザーまたは開発ユーザーで動作する可能性がありますが、`ddagentuser` の権限は制限が強いため、Agent によって実行されるときは動作しません。 @@ -1554,7 +1570,7 @@ Agent と同じ条件で実行ファイルをテストするには、開発用 これを行うには、次の手順を実行します。 -1. `Local Security Policy` の `Local Policies/User Rights Assignement/Deny Log on locally` リストから `ddagentuser` を削除します。 +1. `Local Security Policy` の `Local Policies/User Rights Assignement/Deny Log on locally` リストから `ddagentuser` を削除します。 2. `ddagentuser` に新しいパスワードを設定します (インストール時に生成されたパスワードはどこにも保存されないため)。PowerShell で、次を実行します。 ```powershell $user = [ADSI]"WinNT://./ddagentuser"; @@ -1583,12 +1599,12 @@ exit code: 0 ``` -[9]: https://github.com/DataDog/datadogagent/blob/master/docs/public/secrets/SetSecretPermissions.ps1 -[10]: https://github.com/DataDog/datadogagent/blob/master/docs/public/secrets/secrets_tester.ps1 +[9]: https://github.com/DataDog/datadog-agent/blob/master/docs/public/secrets/Set-SecretPermissions.ps1 +[10]: https://github.com/DataDog/datadog-agent/blob/master/docs/public/secrets/secrets_tester.ps1 {{% /tab %}} {{< /tabs >}} -### Agent による起動の拒否 +### Agent による起動の拒否 {#agent-refusing-to-start} Agent の起動時の最初の処理は、`datadog.yaml` をロードし、その中のシークレットを復号化することです。これは、ログのセットアップの前に行われます。そのため、Windows のようなプラットフォームでは、`datadog.yaml` のロード時に発生するエラーがログに書き込まれず、`stderr` に書き込まれます。これは、シークレットのために Agent に渡された実行ファイルがエラーを返すときに発生する可能性があります。 @@ -1597,14 +1613,14 @@ Agent の起動時の最初の処理は、`datadog.yaml` をロードし、そ * `stderr` を表示できるように、手動での Agent の起動を試みます。 * `datadog.yaml` からシークレットを削除し、最初にチェック構成ファイルでシークレットをテストします。 -### Kubernetes の権限のテスト +### Kubernetes の権限のテスト {#testing-kubernetes-permissions} Kubernetes から直接シークレットを読み込む場合、`kubectl auth` コマンドで権限をダブルチェックすることができます。一般的な形は次のとおりです。 ``` kubectl auth can-i get secret/ -n --as system:serviceaccount:: ``` -先ほどの [Kubernetes Secrets 例](#examplereadingakubernetessecretacrossnamespaces)で、シークレット `Secret:databasesecret` が `Namespace: database` に存在し、サービスアカウント `ServiceAccount:datadogagent` が `Namespace: default` に存在していると考えてみましょう。 +先ほどの [Kubernetes Secrets の例](#example-reading-a-kubernetes-secret-across-namespaces)で、シークレット `Secret:database-secret` が `Namespace: database` に存在し、サービスアカウント `ServiceAccount:datadog-agent` が `Namespace: default` に存在していると考えてみましょう。 この場合、次のコマンドを使用します。 @@ -1614,11 +1630,11 @@ kubectl auth can-i get secret/database-secret -n database --as system:serviceacc このコマンドは、Agent がこのシークレットを閲覧するための権限が有効であるかどうかを返します。 -### 行末の改行を削除する {#removetrailinglinebreaks} +### 行末の改行を削除する {#remove-trailing-line-breaks} 一部のシークレット管理ツールでは、ファイルを通じてシークレットをエクスポートする際に自動的に改行を追加します。これらの改行は、特にコンテナ化された環境で、[datadog.yaml 構成ファイル][8] に `secret_backend_remove_trailing_line_break: true` を設定するか、環境変数 `DD_SECRET_BACKEND_REMOVE_TRAILING_LINE_BREAK` を使用して削除できます。 -### シークレットハンドルにおける Autodiscovery 変数 +### シークレットハンドルにおける Autodiscovery 変数 {#autodiscovery-variables-in-secret-handles} シークレットハンドルで [Autodiscovery][1] 変数を使用することもできます。Agent では、シークレットを解決する前にこれらの変数が解決されます。たとえば、以下のとおりです。 @@ -1629,30 +1645,30 @@ instances: password: ENC[db_prod_password_%%host%%] ``` -## 参考資料 +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: /ja/agent/kubernetes/integrations/ -[2]: https://kubernetes.io/docs/tasks/injectdataapplication/distributecredentialssecure/#createapodthathasaccesstothesecretdatathroughavolume +[2]: https://kubernetes.io/docs/tasks/inject-data-application/distribute-credentials-secure/#create-a-pod-that-has-access-to-the-secret-data-through-a-volume [3]: https://docs.docker.com/engine/swarm/secrets/ [6]: /ja/opentelemetry/setup/ddot_collector/ -[7]: /ja/agent/configuration/agentcommands/#restarttheagent -[8]: /ja/agent/configuration/agentconfigurationfiles/ +[7]: /ja/agent/configuration/agent-commands/#restart-the-agent +[8]: /ja/agent/configuration/agent-configuration-files/ [1000]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html -[1001]: https://docs.aws.amazon.com/systemsmanager/latest/userguide/systemsmanagerparameterstore.html -[1006]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switchroleec2_instanceprofiles.html +[1001]: https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html +[1006]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html -[2000]: https://docs.microsoft.com/enus/Azure/keyvault/secrets/quickcreateportal +[2000]: https://docs.microsoft.com/en-us/Azure/key-vault/secrets/quick-create-portal -[3000]: https://learn.hashicorp.com/tutorials/vault/staticsecrets +[3000]: https://learn.hashicorp.com/tutorials/vault/static-secrets [3001]: https://developer.hashicorp.com/ -[3003]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switchroleec2_instanceprofiles.html -[3004]: https://developer.hashicorp.com/vault/docs/auth/aws#iamauthenticationinferences +[3003]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html +[3004]: https://developer.hashicorp.com/vault/docs/auth/aws#iam-authentication-inferences [4001]: https://en.wikipedia.org/wiki/JSON @@ -1660,15 +1676,15 @@ instances: [4003]: https://en.wikipedia.org/wiki/TEXT -[5000]: https://cloud.google.com/security/products/secretmanager -[5001]: https://cloud.google.com/docs/authentication/applicationdefaultcredentials -[5002]: https://docs.cloud.google.com/secretmanager/docs/accesscontrol -[5003]: https://docs.cloud.google.com/secretmanager/docs/accessingtheapi +[5000]: https://cloud.google.com/security/products/secret-manager +[5001]: https://cloud.google.com/docs/authentication/application-default-credentials +[5002]: https://docs.cloud.google.com/secret-manager/docs/access-control +[5003]: https://docs.cloud.google.com/secret-manager/docs/accessing-the-api [6001]: https://docs.docker.com/engine/swarm/secrets/ -[6002]: https://docs.docker.com/engine/swarm/secrets/#howdockermanagessecrets -[6003]: https://docs.docker.com/compose/howtos/usesecrets/ +[6002]: https://docs.docker.com/engine/swarm/secrets/#how-docker-manages-secrets +[6003]: https://docs.docker.com/compose/how-tos/use-secrets/ [7000]: https://kubernetes.io/docs/concepts/configuration/secret/ \ No newline at end of file diff --git a/content/ja/agent/logs/_index.md b/content/ja/agent/logs/_index.md index 843978a989a..7597490e2a6 100644 --- a/content/ja/agent/logs/_index.md +++ b/content/ja/agent/logs/_index.md @@ -1,62 +1,73 @@ --- description: '[Datadog Agent][60] を使用してログを Datadog に送信します' further_reading: +- link: agent/logs/agent_tags/ + tag: よくあるご質問 + text: Agent タグは自動的にログに追加されます - link: agent/logs/advanced_log_collection/#filter-logs - tag: ドキュメント + tag: よくあるご質問 text: Datadog に送信されるログの絞り込み - link: agent/logs/advanced_log_collection/#scrub-sensitive-data-from-your-logs - tag: ドキュメント + tag: よくあるご質問 text: ログの機密データのスクラビング - link: agent/logs/advanced_log_collection/#multi-line-aggregation - tag: ドキュメント + tag: よくあるご質問 text: 複数行のログの集約 - link: agent/logs/advanced_log_collection/#tail-directories-using-wildcards - tag: ドキュメント + tag: よくあるご質問 text: ワイルドカードを使用したディレクトリの追跡 - link: agent/logs/advanced_log_collection/#global-processing-rules - tag: ドキュメント + tag: よくあるご質問 text: グローバルな処理ルール title: ホスト Agent ログの収集 --- +ログ収集には Datadog Agent v6.0 以降が必要です。古いバージョンの Agent には `log collection` インターフェイスが含まれていません。Agent をまだ使用していない場合は、[Agent のインストール手順][1] に従ってください。 -ログの収集には、Datadog Agent v6.0 以上が必要です。古いバージョンの Agent には、`log collection` インターフェイスが含まれていません。まだ Agent を使用していない場合は、[Agent のインストール手順][1]に従ってください。 +ほかのベンダーのコレクターやフォワーダーを使用してログを送信したい場合、または配信前に環境内でログデータを前処理したい場合は、[Observability Pipelines][2] を参照してください。 -他のベンダーのコレクターやフォワーダーを使用してログを送信したい場合、または配信前に環境内でログデータを前処理したい場合は、[Observability Pipelines][2] を参照してください。 +## ログ収集を有効にする {#activate-log-collection} -## ログ収集を有効にする +Datadog Agent では、ログの収集はデフォルトでは**有効になっていません**。Agent を Kubernetes または Docker 環境で実行している場合は、専用の [Kubernetes ログ収集][3] または [Docker ログ収集][4] のドキュメントを参照してください。 -Datadog Agent では、ログの収集はデフォルトで**有効になっていません**。Agent を Kubernetes または Docker 環境で実行している場合は、専用の [Kubernetes ログ収集][3]または [Docker ログ収集][4]のドキュメントを参照してください。 +ホストで実行されている Agent でログ収集を有効にするには、Agent の [メイン構成ファイル][5] (`datadog.yaml`) で `logs_enabled: false` を `logs_enabled: true` に変更します。 -ホストで実行されている Agent でログ収集を有効にするには、Agent の[メインコンフィギュレーションファイル][5] (`datadog.yaml`) で `logs_enabled: false` を `logs_enabled: true` に変更します。 +{{< code-block lang="yaml" filename="datadog.yaml" disable_copy="false" collapsible="true" >}} +logs_enabled: true +logs_config: + auto_multi_line_detection: true + force_use_http: true +{{< /code-block >}} -{{< agent-config type="log collection configuration" filename="datadog.yaml" collapsible="true">}} +使用可能なすべての構成オプションの詳細については、[サンプル config_template.yaml ファイル][6] を参照してください。 -Agent v6.19+/v7.19+ 以降、使用されるデフォルトのトランスポートは HTTPS トランスポートです。HTTPS/TCP トランスポートを実行する方法の詳細については、[Agent トランスポートのドキュメント][6]を参照してください。 +
Agent v6.19/v7.19 以降、使用されるデフォルトのトランスポートは HTTPS トランスポートです。詳細については、Agent トランスポート.
を参照してください。 -環境変数を伴った形でログを送信するには、以下の構成を行ってください。 +**環境変数**を伴った形でログを送信するには、以下の構成を行ってください。 -* `DD_LOGS_ENABLED=true` +``` +DD_LOGS_ENABLED=true +``` ログ収集を有効にすると、Agent から Datadog にログを転送できるようになります。次に、Agent でログの収集元を設定します。 -## カスタムログ収集 +## カスタムログ収集 {#custom-log-collection} Datadog Agent v6 は、収集したログをファイル、ネットワーク (TCP または UDP)、journald、Windows チャンネルから Datadog に転送できます。 -1. [Agent の構成ディレクトリ][5]のルートにある `conf.d/` ディレクトリに、Datadog ユーザーがアクセスできる新しい `.d/` フォルダを作成します。 -2. この新しいフォルダーに新しい `conf.yaml` ファイルを作成します。 +1. [Agent の構成ディレクトリ][5] のルートにある `conf.d/` ディレクトリに、Datadog ユーザーがアクセスできる新しい `.d/` フォルダを作成します。 +2. この新しいフォルダに新しい `conf.yaml` ファイルを作成します。 3. 下記のパラメーターを指定して、カスタムログ収集構成グループを追加します。 -4. [Agent を再起動][7]してこの新しい構成を適用します。 -5. [Agent の status サブコマンドを実行][8]し、Checks セクションで `` を検索します。 +4. [Agent を再起動][8] してこの新しい構成を適用します。 +5. [Agent の status サブコマンド][9] を実行し、Checks セクションに `` があることを確認します。 -権限エラーがある場合は、[ログファイルを追跡する権限の問題][9]を参照してトラブルシューティングを行ってください。 +権限エラーがある場合は、[ログファイルを追跡する権限の問題][10] を参照してトラブルシューティングを行ってください。 以下に、カスタムログ収集設定の例を示します。 {{< tabs >}} -{{% tab "Tail files" %}} +{{% tab "ファイルのテール" %}} -`/.log` に保存されているログを `` アプリケーションから収集するには、[Agent の構成ディレクトリ][1]のルートに以下の内容の `.d/conf.yaml` ファイルを作成します。 +`/.log` に保存されているログを `` アプリケーションから収集するには、[Agent の構成ディレクトリ][1] のルートに以下の内容の `.d/conf.yaml` ファイルを作成します。 ```yaml logs: @@ -66,16 +77,22 @@ logs: source: "" ``` -Windows では、パス `:\\\\.log` を使用し、ユーザー `ddagentuser` がログファイルへの読み取りおよび書き込みアクセス権を持つことを確認します。 +**Windows** では、パス `:\\\\.log` を使用し、ユーザー `ddagentuser` ログファイルへの読み取りおよび書き込みアクセス権を持つことを確認します。 -**注**: ログ行は改行文字、`n` または `\r\n` で終了する必要があります。そうしないと、Agent は無期限に待機し、ログ行を送信しません。 +**注**: ログ行は改行文字、`\n` または `\r\n` で終了する必要があります。そうしないと、Agent は無期限に待機し、ログ行を送信しません。 [1]: /ja/agent/configuration/agent-configuration-files/ {{% /tab %}} {{% tab "TCP/UDP" %}} -TCP ポート **10518** にログを転送する `` アプリケーションからログを収集するには、[Agent の構成ディレクトリ][1]のルートに以下の内容の `.d/conf.yaml` ファイルを作成します。 +送信者の IP アドレスをキャプチャし、ログメッセージのペイロードに含めるには、`datadog.yaml` ファイルに以下の構成を追加します。 + +```yaml + logs_config: + use_sourcehost_tag: true +``` +TCP ポート **10518** にログを転送する `` アプリケーションからログを収集するには、[Agent の構成ディレクトリ][1] のルートに以下の内容の `.d/conf.yaml` ファイルを作成します。 ```yaml logs: @@ -91,13 +108,13 @@ Agent バージョン 7.31.0 以降では、TCP 接続はアイドル状態で **注**: - Agent は、単純文字列、JSON、および Syslog 形式のログをサポートします。複数のログを一度に送信する場合は、改行文字を使用してログを区切ってください。 -- ログ行は改行文字、`n` または `\r\n` で終了する必要があります。そうしないと、Agent は無期限に待機し、ログ行を送信しません。 +- ログ行は改行文字、`\n` または `\r\n` で終了する必要があります。そうしないと、Agent は無期限に待機し、ログ行を送信しません。 [1]: /ja/agent/configuration/agent-configuration-files/ {{% /tab %}} {{% tab "journald" %}} -journald からログを収集するには、[Agent の構成ディレクトリ][1]のルートに以下の内容の `journald.d/conf.yaml` ファイルを作成します。 +journald からログを収集するには、[Agent の構成ディレクトリ][1] のルートに以下の内容の `journald.d/conf.yaml` ファイルを作成します。 ```yaml logs: @@ -105,12 +122,12 @@ logs: path: /var/log/journal/ ``` -コンテナ化環境およびユニットフィルタリングの設定については、[journald インテグレーション][2]に関するドキュメントを参照してください。 +コンテナ化環境およびユニットフィルタリングの設定については、[journald インテグレーション][2] に関するドキュメントを参照してください。 [1]: /ja/agent/configuration/agent-configuration-files/ [2]: /ja/integrations/journald/ {{% /tab %}} -{{% tab "Windows Events" %}} +{{% tab "Windows イベント" %}} Windows のイベントをログとして Datadog に送信するには、`conf.d/win32_event_log.d/conf.yaml` にチャンネルを手動で追加するか、Datadog Agent Manager を使用します。 @@ -144,68 +161,107 @@ logs: ``` `` パラメーターは、イベントの収集に使用する Windows チャンネル名に変更してください。 -[インテグレーションの自動処理パイプライン設定][1]を利用するには、対応する `source` パラメーターを同じチャンネル名に設定します。 +[インテグレーション自動処理パイプラインのセットアップ][1] を利用するには、対応する `source` パラメーターを同じチャンネル名に設定します。 -最後に、[Agent を再起動][2]します。 +最後に、[Agent を再起動][2] します。 [1]: /ja/logs/log_configuration/pipelines/#integration-pipelines [2]: /ja/agent/basic_agent_usage/windows/ {{% /tab %}} +{{% tab "Windows プライベートロケーション" %}} +以下のセクションの手順に従って、Windows プライベートロケーションのログを Datadog に送信します。 + +### Agent を構成する {#configure-the-agent} + +1. Agent のログ収集を有効にするには、Agent 構成ファイルで `logs_enabled: true` を設定します. +2. `C:\ProgramData\Datadog\conf.d` に移動し、`synthetics_worker.d` という名前のフォルダを作成します。 +3. `synthetics_worker.d` フォルダ内に、`conf.yaml` という名前のファイルを作成します。以下の例をテンプレートとして使用してください。 + +```yaml +logs: + - type: file + path: "C:\\Program Files\\Datadog-Synthetics\\Synthetics\\private-location-service.out.log" + service: + source: synthetics + tags: # Defined per user preference + - env: + - private_location: +``` + +### Agent を実行しているユーザーを確認する {#verify-the-user-running-the-agent} + +プライベートロケーションのインストールフォルダには管理者しかアクセスできないため、Datadog Agent にログファイルへのアクセス権が必要です。Datadog Agent を実行しているユーザーを確認するには、次の手順を実行します。 + +1. Windows キーを押しながら `R` キーを押し、{{< ui >}}Run{{< /ui >}} を検索します。 +2. Datadog Agent を見つけて右クリックし、[{{< ui >}}Properties{{< /ui >}}] (プロパティ) を選択します。 +3. [{{< ui >}}Log On{{< /ui >}}] (ログオン) タブでアカウントを確認します (デフォルトは `ddagentuser` です)。 +4. ウィンドウを閉じます。 + +### Agent を実行しているユーザーに権限を付与する {#grant-permission-to-the-user-running-the-agent} + +1. `C:\Program Files` に移動し、`synthetics_worker.d` フォルダを見つけます。 +2. `synthetics_worker.d` フォルダを右クリックし、[{{< ui >}}Properties{{< /ui >}}] を選択します。 +3. [{{< ui >}}Security{{< /ui >}}] (セキュリティ) タブに移動します。 +4. [{{< ui >}}Edit{{< /ui >}}] (編集) をクリックし、`ddagentuser` を追加します。 +5. 必要な権限を付与します。 +6. サービス画面またはコマンドラインから Datadog Agent を再起動して変更を適用し、Datadog へのログの送信を開始します。 +{{% /tab %}} {{< /tabs >}} ログの収集に使用可能なパラメーターのリスト | パラメーター | 必須 | 説明 | |------------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `type` | はい | ログ入力ソースの種類。有効な値は、`tcp`、`udp`、`file`、`windows_event`、`docker`、`journald` です。 | -| `port` | はい | `type` が **tcp** または **udp** の場合、ログをリスニングするポートを設定します。 | -| `path` | はい | `type` が **file** または **journald** の場合、ログを収集するファイルパスを設定します。 | -| `channel_path` | はい | `type` が **windows_event** の場合、ログを収集する Windows イベントチャンネルをリストします。 | -| `service` | はい | ログを所有しているサービスの名前。ご使用のサービスを [Datadog APM][10] でインスツルメントしている場合、これは同じサービス名にする必要があります。複数のデータタイプにわたって `service` を構成する場合は、[統合サービスタグ付け][11]の手順を確認してください。 | -| `source` | はい | ログを送信しているインテグレーションを定義する属性。既存のインテグレーションに由来するログでない場合、このフィールドはカスタムソース名を含めることができます。ただし、関連して収集している[カスタムメトリクス][12]がある場合は、そのネームスペースと一致させることをお勧めします。たとえば、`myapp.request.count` の `myapp` を使用します。 | -| `include_units` | いいえ | `type` が **journald** の場合、対象とする journald ユニットのリスト。 | +| `type` | はい | ログ入力ソースの種類。有効な値は、`tcp`、`udp`、`file`、`windows_event`、`docker`、または `journald` です。 | +| `port` | はい | `type` が **tcp** または **udp** の場合、ログをリスニングするポートを設定します。 | +| `path` | はい | `type` が **file** または **journald** の場合、ログを収集するファイルパスを設定します。 | +| `channel_path` | はい | `type` が **windows_event** の場合、ログを収集する Windows イベントチャンネルをリストします。 | +| `service` | はい | ログを所有しているサービスの名前。ご使用のサービスを [Datadog APM][11] でインスツルメントしている場合、これは同じサービス名にする必要があります。複数のデータタイプにわたって `service` を構成する場合は、[unified service tagging][12] の手順を確認してください。 | +| `source` | はい | ログを送信しているインテグレーションを定義する属性。既存のインテグレーションに由来するログでない場合、このフィールドはカスタムソース名を含めることができます。ただし、関連して収集している [Custom Metrics][13] がある場合は、この値をそのネームスペースと一致させることをお勧めします。たとえば、`myapp.request.count` の `myapp` を使用します。| +| `include_units` | いいえ | `type` が **journald** の場合、対象とする journald ユニットのリスト。 | | `exclude_paths` | いいえ | `type` が **file** で、`path` にワイルドカード文字が含まれている場合、ログ収集から除外する必要がある一致するファイルをリストします。6.18 以降の Agent バージョンで使用できます。 | -| `exclude_units` | いいえ | `type` が **journald** の場合、対象としない journald ユニットのリスト。 | -| `sourcecategory` | いいえ | ソース属性が属するカテゴリーの定義に使用される属性。たとえば、source:postgres、sourcecategory:database`、`source: apache, sourcecategory: http_web_access` です。 | -| `start_position` | いいえ | 詳しくは[開始位置](#start-position)を参照してください。| -| `encoding` | いいえ | `type` が **file** の場合、Agent がファイルを読み込む際のエンコーディングを設定します。UTF-16 リトルエンディアン の場合は `utf-16-le` に、UTF-16 ビッグエンディアンの場合は `utf-16-be` に、Shift JIS の場合は `shift-jis` に設定します。その他の値に設定すると、Agent はファイルを UTF-8 形式で読み込みます。_`utf-16-le` および `utf-16be` は Agent v6.23/v7.23 の、`shift-jis` は Agent v6.34/v7.34 の追加機能です_ | -| `tags` | いいえ | 収集される各ログに追加するタグのリスト ([タグ付けの詳細はこちら][13])。 | +| `exclude_units` | いいえ | `type` が **journald** の場合、除外する journald ユニットのリスト。 | +| `sourcecategory` | いいえ | ソース属性が属するカテゴリーの定義に使用される属性。たとえば、`source:postgres, sourcecategory:database` または `source: apache, sourcecategory: http_web_access` です。 | +| `start_position` | いいえ | 詳しくは、[開始位置](#start-position)を参照してください。| +| `encoding` | いいえ | `type` が **file** の場合、Agent がファイルを読み込む際のエンコーディングを設定します。UTF-16 リトルエンディアンの場合は `utf-16-le` に、UTF-16 ビッグエンディアンの場合は `utf-16-be` に、Shift JIS の場合は `shift-jis` に設定します。その他の値に設定すると、Agent はファイルを UTF-8 形式で読み込みます。_`utf-16-le` および `utf-16be` は Agent v6.23/v7.23 で、`shift-jis` は Agent v6.34/v7.34 で追加されました。_ | +| `tags` | いいえ | 収集される各ログに追加するタグのリスト ([タグ付けの詳細はこちら][14])。 | -### 開始位置 +### 開始位置 {#start-position} -`start_position` パラメーターは **file** および **journald** テーラータイプでサポートされています。コンテナをテールする場合、 `start_position` は常に `beginning` です。 +`start_position` パラメーターは **file** および **journald** テーラータイプでサポートされています。コンテナをテールする場合、`start_position` は常に `beginning` です。 サポート: -- **File**: Agent 6.19+/7.19+ -- **Journald**: Agent 6.38+/7.38+ +- **file**: Agent 6.19+/7.19+ +- **journald**: Agent 6.38+/7.38+ -`type` が **file** の場合 +`type` が **file** の場合: - Agent がファイルの読み込みを開始する位置を設定します。 -- 有効な値は `beginning`、`end`、`forceBeginning`、`forceEnd` です (デフォルトは `end`)。 +- 有効な値は、`beginning`、`end`、`forceBeginning`、および `forceEnd` です (デフォルト: `end`)。 - `beginning` の位置はワイルドカードを使ったパスに対応していません。 -`type` が **journald** の場合 +`type` が **journald** の場合: - Agent がジャーナルの読み込みを開始する位置を設定します。 -- 有効な値は `beginning`、`end`、`forceBeginning`、`forceEnd` です (デフォルトは `end`)。 +- 有効な値は、`beginning`、`end`、`forceBeginning`、および `forceEnd` です (デフォルト: `end`)。 -#### 優先度 +#### 優先度 {#precedence} file および journald テーラータイプの両方で、`end` または `beginning` 位置が指定され、オフセットが格納されている場合、オフセットが優先されます。`forceBeginning` または `forceEnd` を使用すると、Agent はオフセットが格納されていても指定された値を使用するようになります。 -## その他の参考資料 +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: https://app.datadoghq.com/account/settings/agent/latest [2]: https://docs.datadoghq.com/ja/observability_pipelines/ -[3]: /ja/agent/kubernetes/log/ -[4]: /ja/agent/docker/log/ +[3]: /ja/containers/kubernetes/log/ +[4]: /ja/containers/docker/log/ [5]: /ja/agent/configuration/agent-configuration-files/ -[6]: /ja/agent/logs/log_transport/ -[7]: /ja/agent/configuration/agent-commands/#restart-the-agent -[8]: /ja/agent/configuration/agent-commands/#agent-status-and-information -[9]: /ja/logs/guide/log-collection-troubleshooting-guide/#permission-issues-tailing-log-files' -[10]: /ja/tracing/ -[11]: /ja/getting_started/tagging/unified_service_tagging -[12]: /ja/metrics/custom_metrics/#overview -[13]: /ja/getting_started/tagging/ \ No newline at end of file +[6]: https://github.com/DataDog/datadog-agent/blob/master/pkg/config/config_template.yaml +[7]: /ja/agent/logs/log_transport/ +[8]: /ja/agent/configuration/agent-commands/#restart-the-agent +[9]: /ja/agent/configuration/agent-commands/#agent-status-and-information +[10]: /ja/logs/guide/log-collection-troubleshooting-guide/#permission-issues-tailing-log-files +[11]: /ja/tracing/ +[12]: /ja/getting_started/tagging/unified_service_tagging +[13]: /ja/metrics/custom_metrics/#overview +[14]: /ja/getting_started/tagging/ \ No newline at end of file diff --git a/content/ja/agent/logs/advanced_log_collection.md b/content/ja/agent/logs/advanced_log_collection.md index 4075c9997b9..886f1fe0efd 100644 --- a/content/ja/agent/logs/advanced_log_collection.md +++ b/content/ja/agent/logs/advanced_log_collection.md @@ -1,63 +1,68 @@ --- algolia: tags: - - 高度なログフィルター -description: Datadog Agent を使用してログを収集し、Datadog に送信 + - advanced log filter +description: Datadog Agent を使用してログを Datadog に送信します further_reading: - link: /logs/guide/getting-started-lwl/ - tag: ドキュメント - text: Logging without LimitsTM 入門 + tag: よくあるご質問 + text: Logging without Limits™ 入門 - link: /logs/guide/how-to-set-up-only-logs/ - tag: ドキュメント + tag: よくあるご質問 text: ログ収集専用として Datadog Agent を使用する - link: /logs/log_configuration/processors - tag: ドキュメント + tag: よくあるご質問 text: ログの処理方法について - link: /logs/log_configuration/parsing - tag: ドキュメント + tag: よくあるご質問 text: パースの詳細 - link: /logs/live_tail/ - tag: ドキュメント + tag: よくあるご質問 text: Datadog Live Tail 機能 - link: /logs/explorer/ - tag: ドキュメント - text: ログの調査方法 + tag: よくあるご質問 + text: ログの探索方法 - link: /glossary/#tail tag: 用語集 text: 用語集の "tail" の項目 title: ログ収集の高度な構成 --- - -[ログ収集][1]をセットアップした後、収集構成をカスタマイズできます。 -* [ログをフィルター](#filter-logs) -* [ログの機密データのスクラビング](#scrub-sensitive-data-from-your-logs) -* [複数行のログを集計する](#multi-line-aggregation) -* [よく使われる例をコピーする](#commonly-used-log-processing-rules) -* [ディレクトリを監視するためにワイルドカードを使用する](#tail-directories-using-wildcards) -* [ログファイルのエンコーディングを指定する](#log-file-encodings) -* [グローバルな処理ルールを定義する](#global-processing-rules) +[ログ収集][1] をセットアップした後、収集構成をカスタマイズできます。 +- [ログの絞り込み](#filter-logs) + - [一致時に除外](#exclude-at-match) + - [一致時に含める](#include-at-match) + - [切り捨てられたログを除外](#exclude-truncated) +- [ログの機密データのスクラビング](#scrub-sensitive-data-from-your-logs) +- [複数行の集約](#manually-aggregate-multi-line-logs) +- [複数行のログを自動的に集約](#automatically-aggregate-multi-line-logs) +- [良く使用されるログの処理ルール](#commonly-used-log-processing-rules) +- [ワイルドカードを使用したディレクトリのテール](#tail-directories-using-wildcards) + - [修正時間によるテール対象ファイルの優先順位付け](#prioritize-tailed-files-by-modification-time) +- [ログファイルのエンコーディング](#log-file-encodings) +- [グローバルな処理ルール](#global-processing-rules) +- [参考資料](#further-reading) Datadog Agent によって収集されたすべてのログに同一の処理ルールを適用する場合は、[グローバルな処理ルール](#global-processing-rules)のセクションを参照してください。 **注**: - 複数の処理ルールを設定した場合、ルールは順次適用され、各ルールは直前のルールの結果に適用されます。 -- 処理ルールのパターンは [Golang の正規構文][2]に従う必要があります。 -- `log_processing_rules` パラメーターは、インテグレーションの構成で、ログ収集の構成をカスタマイズするために使用されます。Agent の[メインの構成][5]では、グローバルな処理ルールを定義するために `processing_rules` パラメーターが使用されます。 +- 処理ルールのパターンは [Golang の正規構文][2] に従う必要があります。 +- `log_processing_rules` パラメーターは、インテグレーション構成でログ収集構成をカスタマイズするために使用されます。一方 Agent の [メイン構成][5] では、`processing_rules` パラメーターはグローバルな処理ルールを定義するために使用されます。 -## ログの絞り込み +## ログの絞り込み {#filter-logs} ログの一部分のみを Datadog に送信するには、構成ファイル内の `log_processing_rules` パラメーターを使用して、type に `exclude_at_match` または `include_at_match` を指定します。 -### 一致時に除外 +### 一致時に除外 {#exclude-at-match} | パラメーター | 説明 | |--------------------|----------------------------------------------------------------------------------------------------| -| `exclude_at_match` | 指定されたパターンがメッセージに含まれる場合、そのログは除外され、Datadog に送信されません。 | +| `exclude_at_match` | 指定されたパターンがメッセージに含まれる場合、そのログは除外され、Datadog に送信されません。| たとえば、Datadog メールアドレスを含むログを**除外する**には、次の `log_processing_rules` を使用します。 {{< tabs >}} -{{% tab "Configuration file" %}} +{{% tab "構成ファイル" %}} ```yaml logs: @@ -68,14 +73,18 @@ logs: log_processing_rules: - type: exclude_at_match name: exclude_datadoghq_users - ## 任意の正規表現 + ## Regexp can be anything pattern: \w+@datadoghq.com ``` {{% /tab %}} {{% tab "Docker" %}} -Docker 環境では、`log_processing_rules` を指定するために、**フィルターしたいログを送るコンテナ**のラベル `com.datadoghq.ad.logs` を使用します。例: +
+Agent 構成の詳細については、「コンテナディスカバリー管理」を参照してください。 +
+ +Docker 環境では、`log_processing_rules` を指定するために、**フィルターするログを送信するコンテナ**でラベル `com.datadoghq.ad.logs` を使用します。例: ```yaml labels: @@ -91,14 +100,18 @@ Docker 環境では、`log_processing_rules` を指定するために、**フィ }] ``` -**注**: ラベルを使用する場合、パターン内の正規表現文字はエスケープする必要があります。たとえば、`\d` は `\\d` に、`\w` は `\\w` にします。 - -**注**: ラベルの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 +**注**: +- ラベルを使用する際には、パターンで正規表現文字をエスケープします。たとえば、`\d` は `\\d` になり、`\w` は `\\w` になります。 +- ラベルの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 {{% /tab %}} {{% tab "Kubernetes" %}} -オートディスカバリーを使用して、ポッド内の指定したコンテナ (名前は `CONTAINER_NAME`) のコンテナログを収集するように構成するには、ポッドの `log_processing_rules` に以下のアノテーションを追加します。 +
+Agent 構成の詳細については、「コンテナディスカバリー管理」を参照してください。 +
+ +Autodiscovery を使用して、Pod 内の指定したコンテナ (名前は `CONTAINER_NAME`) のコンテナログを収集するように構成するには、Pod の `log_processing_rules` に以下のアノテーションを追加します。 ```yaml apiVersion: apps/v1 @@ -130,24 +143,24 @@ spec: image: cardpayment:latest ``` -**注**: ポッドアノテーションを使用する場合、パターン内の正規表現文字はエスケープする必要があります。たとえば、`\d` は `\\d` に、`\w` は `\\w` にします。 - -**注**: アノテーションの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 +**注**: +- Pod アノテーションを使用する場合は、パターン内の正規表現文字をエスケープします。たとえば、`\d` は `\\d` になり、`\w` は `\\w` になります。 +- アノテーションの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 {{% /tab %}} {{< /tabs >}} -### 一致時に含める +### 一致時に含める {#include-at-match} | パラメーター | 説明 | |--------------------|-----------------------------------------------------------------------------------| -| `include_at_match` | 指定されたパターンを含むメッセージを持つログだけが Datadog に送信されます。複数の `include_at_match` ルールが定義されている場合、ログを含めるにはすべてのルールパターンが一致している必要があります。 | +| `include_at_match` | 指定されたパターンを含むメッセージを持つログだけが Datadog に送信されます。複数の `include_at_match` ルールが定義されている場合、ログが送信されるためには、すべてのルールパターンに一致する必要があります。| -たとえば、Datadog のメールアドレスを含むログに**絞り込む**には、次のような `log_processing_rules` の構成を使用します。 +たとえば、Datadog のメールアドレスを含むログに**絞り込む**には、次の `log_processing_rules` の構成を使用します。 {{< tabs >}} -{{% tab "Configuration file" %}} +{{% tab "構成ファイル" %}} ```yaml logs: @@ -158,7 +171,7 @@ logs: log_processing_rules: - type: include_at_match name: include_datadoghq_users - ## 任意の正規表現 + ## Regexp can be anything pattern: \w+@datadoghq.com ``` @@ -195,7 +208,7 @@ logs: {{% /tab %}} {{% tab "Docker" %}} -Docker 環境では、フィルターを適用するログの送信元のコンテナでラベル `com.datadoghq.ad.logs` を使用して、`log_processing_rules` を指定します。例: +Docker 環境では、`log_processing_rules` を指定するために、フィルターするログを送信するコンテナでラベル `com.datadoghq.ad.logs` を使用します。例: ```yaml labels: @@ -211,14 +224,14 @@ Docker 環境では、フィルターを適用するログの送信元のコン }] ``` -**注**: ラベルを使用する場合、パターン内の正規表現文字はエスケープする必要があります。たとえば、`\d` は `\\d` に、`\w` は `\\w` にします。 - -**注**: ラベルの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 +**注**: +- ラベルを使用する際には、パターンで正規表現文字をエスケープします。たとえば、`\d` は `\\d` になり、`\w` は `\\w` になります。 +- ラベルの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 {{% /tab %}} {{% tab "Kubernetes" %}} -Kubernetes 環境では、ポッドで `ad.datadoghq.com` ポッドアノテーションを使用して `log_processing_rules` を指定します。例: +Kubernetes 環境では、`log_processing_rules` を指定するために、Pod で Pod アノテーション `ad.datadoghq.com` を使用します。例: ```yaml apiVersion: apps/v1 @@ -250,14 +263,92 @@ spec: image: cardpayment:latest ``` -**注**: ポッドアノテーションを使用する場合、パターン内の正規表現文字はエスケープする必要があります。たとえば、`\d` は `\\d` に、`\w` は `\\w` にします。 +**注**: +- Pod アノテーションを使用する場合は、パターン内の正規表現文字をエスケープします。たとえば、`\d` は `\\d` になり、`\w` は `\\w` になります。 +- アノテーションの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 + +{{% /tab %}} +{{< /tabs >}} + +### 切り捨てられたログを除外 {#exclude-truncated} + +| パラメーター | 説明 | +|---------------------|--------------------------------------------------------------------| +| `exclude_truncated` | 存在する場合、切り捨てられたログを除外し、Datadog に送信しません。`exclude_truncated` ルールは Agent v7.69 以降で利用可能です。| + +たとえば、切り捨てられたログを**除外する**には、次のようにします。 + +{{< tabs >}} +{{% tab "構成ファイル" %}} + +```yaml +logs: + - type: file + path: /my/test/file.log + service: cardpayment + source: java + log_processing_rules: + - type: exclude_truncated +``` + +{{% /tab %}} +{{% tab "Docker" %}} + +Docker 環境では、`log_processing_rules` を指定するために、フィルターするログを送信するコンテナでラベル `com.datadoghq.ad.logs` を使用します。例: + +```yaml + labels: + com.datadoghq.ad.logs: >- + [{ + "source": "java", + "service": "cardpayment", + "log_processing_rules": [{ + "type": "exclude_truncated" + }] + }] +``` + +**注**: ラベルの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 + +{{% /tab %}} +{{% tab "Kubernetes" %}} + +Kubernetes 環境では、`log_processing_rules` を指定するために、Pod で Pod アノテーション `ad.datadoghq.com` を使用します。例: + +```yaml +apiVersion: apps/v1 +metadata: + name: cardpayment +spec: + selector: + matchLabels: + app: cardpayment + template: + metadata: + annotations: + ad.datadoghq.com/.logs: >- + [{ + "source": "java", + "service": "cardpayment", + "log_processing_rules": [{ + "type": "exclude_truncated" + }] + }] + labels: + app: cardpayment + name: cardpayment + spec: + containers: + - name: '' + image: cardpayment:latest +``` **注**: アノテーションの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 {{% /tab %}} {{< /tabs >}} -## ログの機密データのスクラビング +## ログの機密データのスクラビング {#scrub-sensitive-data-from-your-logs} 編集が必要な機密データがログに含まれている場合は、機密要素をスクラビングするように Datadog Agent を構成します。それには、構成ファイルで `log_processing_rules` パラメーターを使用して、type に `mask_sequences` を指定します。 @@ -266,7 +357,7 @@ spec: 以下は、クレジットカード番号を編集する例です。 {{< tabs >}} -{{% tab "Configuration file" %}} +{{% tab "構成ファイル" %}} ```yaml logs: @@ -278,14 +369,14 @@ logs: - type: mask_sequences name: mask_credit_cards replace_placeholder: "[masked_credit_card]" - ## キャプチャするグループを含む 1 つのパターン + ##One pattern that contains capture groups pattern: (?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}) ``` {{% /tab %}} {{% tab "Docker" %}} -Docker 環境では、コンテナで `com.datadoghq.ad.logs` ラベルを使用して `log_processing_rules` を指定します。例: +Docker 環境では、`log_processing_rules` を指定するために、コンテナで `com.datadoghq.ad.logs` ラベルを使用します。例: ```yaml labels: @@ -302,14 +393,14 @@ Docker 環境では、コンテナで `com.datadoghq.ad.logs` ラベルを使用 }] ``` -**注**: ラベルを使用する場合、パターン内の正規表現文字はエスケープする必要があります。たとえば、`\d` は `\\d` に、`\w` は `\\w` にします。 - -**注**: ラベルの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 +**注**: +- ラベルを使用する際には、パターンで正規表現文字をエスケープします。たとえば、`\d` は `\\d` になり、`\w` は `\\w` になります。 +- ラベルの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 {{% /tab %}} {{% tab "Kubernetes" %}} -Kubernetes 環境では、ポッドで `ad.datadoghq.com` ポッドアノテーションを使用して `log_processing_rules` を指定します。例: +Kubernetes 環境では、`log_processing_rules` を指定するために、Pod で Pod アノテーション `ad.datadoghq.com` を使用します。例: ```yaml apiVersion: apps/v1 @@ -342,14 +433,14 @@ spec: image: cardpayment:latest ``` -**注**: ポッドアノテーションを使用する場合、パターン内の正規表現文字はエスケープする必要があります。たとえば、`\d` は `\\d` に、`\w` は `\\w` にします。 - -**注**: アノテーションの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 +**注**: +- Pod アノテーションを使用する場合は、パターン内の正規表現文字をエスケープします。たとえば、`\d` は `\\d` になり、`\w` は `\\w` になります。 +- アノテーションの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 {{% /tab %}} {{< /tabs >}} -Agent バージョン 7.17 以降をご利用の場合、文字列 `replace_placeholder` はリファレンスを展開して `$1`、`$2` などのグループをキャプチャすることが可能です。キャプチャするグループとの間にスペースを入れずに文字列を続けるには、`${<グループ番号>}` のフォーマットを使用します。 +Agent バージョン 7.17 以降では、`replace_placeholder` 文字列が `$1`、`$2` などのキャプチャグループへの参照を拡張できます。キャプチャグループの後にスペースなしで文字列を追加する場合は、`${}` 形式を使用します。 たとえば、ログ `User email: foo.bar@example.com` からユーザー情報をスクラビングするには、以下を使用します。 @@ -358,11 +449,21 @@ Agent バージョン 7.17 以降をご利用の場合、文字列 `replace_plac これにより、次のログが Datadog に送信されます: `User email: masked_user@example.com` -## 複数行の集約 +## 複数行のログを自動的に集約 {#automatically-aggregate-multi-line-logs} + +複数行の自動検出は、複雑な形式のログソースが多数ある場合や、各ソースを個別に構成する時間がない場合に役立ちます。この機能は、カスタム正規表現パターンを記述することなく、自動的に複数行ログを検出して集約します。 + +[自動複数行検出と集約][7] のドキュメントを参照してください。 + +この機能のレガシーサポートについては、[自動複数行検出と集約 (レガシー)][8] のドキュメントを参照してください。 + +## 複数行のログを手動で集約 {#manually-aggregate-multi-line-logs} + +手動複数行ルールを使用すると、ログの形式がわかっている場合にログの集約を正確に制御できます。このアプローチは、特定のログ構造に合わせたカスタム正規表現パターンを使用して、一貫性のあるログ処理を行う場合に理想的です。 -送信されるログが JSON 形式でない場合に、複数の行を 1 つのエントリに集約するには、1 行に 1 つのログを入れる代わりに、正規表現パターンを使用して新しいログを検出するように Datadog Agent を構成します。`log_processing_rules` パラメーターを使用して、type に `multi_line` を指定すれば、指定されたパターンが再度検出されるまで、すべての行が 1 つのエントリに集約されます。 +ログが JSON 形式で送信されておらず、複数行を 1 つのエントリに集約したい場合は、1 行に 1 つのログを含めるのではなく、特定の正規表現パターンを使用して新しいログを検出するように Datadog Agent を構成してください。指定したパターンが再度検出されるまで、すべての行を 1 つのエントリに集約する場合は、`multi_line` タイプを `log_processing_rules` パラメーターで使用します。 -例えば、すべての Java ログ行は、`yyyy-dd-mm` 形式のタイムスタンプで始まります。これらの行はスタックトレースを含み、2 つのログとして送ることができます。 +たとえば、すべての Java ログ行は `yyyy-dd-mm` 形式のタイムスタンプで始まります。これらの行には、2 つのログとして送信できるスタックトレースが含まれています。 ```text 2018-01-03T09:24:24.983Z UTC Exception in thread "main" java.lang.NullPointerException @@ -373,7 +474,7 @@ Agent バージョン 7.17 以降をご利用の場合、文字列 `replace_plac ``` {{< tabs >}} -{{% tab "Configuration file" %}} +{{% tab "構成ファイル" %}} 上の例のログをコンフィギュレーションファイルと一緒に送信するには、次の `log_processing_rules` を使用します。 @@ -392,7 +493,7 @@ logs: {{% /tab %}} {{% tab "Docker" %}} -Docker 環境では、コンテナで `com.datadoghq.ad.logs` ラベルを使用して `log_processing_rules` を指定します。例: +Docker 環境では、`log_processing_rules` を指定するために、コンテナで `com.datadoghq.ad.logs` ラベルを使用します。例: ```yaml labels: @@ -411,7 +512,7 @@ Docker 環境では、コンテナで `com.datadoghq.ad.logs` ラベルを使用 {{% /tab %}} {{% tab "Kubernetes" %}} -Kubernetes 環境では、ポッドで `ad.datadoghq.com` ポッドアノテーションを使用して `log_processing_rules` を指定します。例: +Kubernetes 環境では、`log_processing_rules` を指定するために、Pod で Pod アノテーション `ad.datadoghq.com` を使用します。例: ```yaml apiVersion: apps/v1 @@ -443,18 +544,18 @@ spec: image: postgres:latest ``` -**注**: ポッドアノテーションを使用して複数行の集約を実行する場合、パターン内の正規表現文字はエスケープする必要があります。たとえば、`\d` は `\\d` に、`\w` は `\\w` にします。 - -**注**: アノテーションの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 +**注**: +- Pod アノテーションを使用して複数行の集約を実行する場合は、パターン内の正規表現文字をエスケープします。たとえば、`\d` は `\\d` になり、`\w` は `\\w` になります。 +- アノテーションの値は JSON 構文に従う必要があり、末尾にカンマやコメントを入れることはできません。 {{% /tab %}} {{< /tabs >}} -
重要! 複数行ログの正規表現パターンは、ログの先頭に開始する必要があります。行途中では一致できません。一致しないパターンは、ログ行の損失につながる場合があります。

ログ収集はミリ秒単位の精度で動作します。 パターンに一致するログでも、より高い精度のログは送信されません。
+
重要複数行のログのための正規表現パターンは、常にログの先頭に一致します。行の途中でパターンを一致させることはできません。何にも一致しないパターンは、ログ行の損失を引き起こす可能性があります。

ログ収集は最大でミリ秒の精度で機能します。それよりも高い精度のログは、パターンに一致しても送信されません。
その他の例: -| **文字列の例** | **パターン** | +| **生の文字列** | **パターン** | |--------------------------|---------------------------------------------------| | 14:20:15 | `\d{2}:\d{2}:\d{2}` | | 11/10/2014 | `\d{2}\/\d{2}\/\d{4}` | @@ -463,149 +564,38 @@ spec: | 2020-10-27 05:10:49.657 | `\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3}` | | {"date": "2018-01-02" | `\{"date": "\d{4}-\d{2}-\d{2}` | -### 自動複数行集計 -Agent 7.37+ では、`auto_multi_line_detection` を有効にすることで、Agent が[共通複数行パターン][3]を自動的に検出することができます。 - -`datadog.yaml` ファイルで `auto_multi_line_detection` をグローバルに有効化します。 - -```yaml -logs_config: - auto_multi_line_detection: true -``` - -コンテナ化されたデプロイメントでは、環境変数 `DD_LOGS_CONFIG_AUTO_MULTI_LINE_DETECTION=true` で `auto_multi_line_detection` を有効にすることが可能です。 - -また、ログ構成ごとに有効・無効 (グローバル構成をオーバーライド) を設定することができます。 - -{{< tabs >}} -{{% tab "Configuration file" %}} -```yaml -logs: - - type: file - path: /my/test/file.log - service: testApp - source: java - auto_multi_line_detection: true -``` - -複数行の自動検出は、一般的な正規表現のリストを使用して、ログとのマッチングを試みます。組み込みのリストでは不十分な場合、`datadog.yaml` ファイルにカスタムパターンを追加することもできます。 - -```yaml -logs_config: - auto_multi_line_detection: true - auto_multi_line_extra_patterns: - - \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01]) - - '[A-Za-z_]+ \d+, \d+ \d+:\d+:\d+ (AM|PM)' -``` - -パターンが行一致のしきい値を満たさない場合は、`auto_multi_line_default_match_threshold` パラメーターをより低い値で追加します。これにより、自動複数行集計が機能するためにログが一致する頻度を決定するしきい値を構成します。現在のしきい値を確認するには、[エージェントの `status` コマンド] を実行します。 - -```yaml -logs_config: - auto_multi_line_detection: true - auto_multi_line_extra_patterns: - - \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01]) - - '[A-Za-z_]+ \d+, \d+ \d+:\d+:\d+ (AM|PM)' - auto_multi_line_default_match_threshold: 0.1 -``` - -[1]: https://docs.datadoghq.com/ja/agent/configuration/agent-commands/#agent-information -{{% /tab %}} -{{% tab "Docker" %}} - -Docker 環境では、コンテナで `com.datadoghq.ad.logs` ラベルを使用して `log_processing_rules` を指定します。例: - -```yaml - labels: - com.datadoghq.ad.logs: >- - [{ - "source": "java", - "service": "testApp", - "auto_multi_line_detection": true - }] -``` -自動複数行検出は、一般的な正規表現リストを使用してログとのマッチングを試みます。組み込みリストで不足している場合は、`DD_LOGS_CONFIG_AUTO_MULTI_LINE_EXTRA_PATTERNS` 環境変数を使用して `datadog.yaml` ファイルにカスタムパターンを追加することが可能です。 - -パターンが行一致のしきい値を満たさない場合は、`DD_LOGS_CONFIG_AUTO_MULTI_LINE_DEFAULT_MATCH_THRESHOLD` 環境変数をより低い値で追加します。これにより、自動複数行集計が機能するためにログが一致する頻度を決定するしきい値を構成します。現在のしきい値を確認するには、[エージェントの `status` コマンド] を実行します。 - -[1]: https://docs.datadoghq.com/ja/agent/configuration/agent-commands/#agent-information - -{{% /tab %}} -{{% tab "Kubernetes" %}} - -```yaml -apiVersion: apps/v1 -metadata: - name: testApp -spec: - selector: - matchLabels: - app: testApp - template: - metadata: - annotations: - ad.datadoghq.com/.logs: >- - [{ - "source": "java", - "service": "testApp", - "auto_multi_line_detection": true - }] - labels: - app: testApp - name: testApp - spec: - containers: - - name: '' - image: testApp:latest -``` - -自動複数行検出は、一般的な正規表現リストを使用してログとのマッチングを試みます。組み込みリストで不足している場合は、`DD_LOGS_CONFIG_AUTO_MULTI_LINE_EXTRA_PATTERNS` 環境変数を使用して `datadog.yaml` ファイルにカスタムパターンを追加することが可能です。 - -パターンが行一致のしきい値を満たさない場合は、`DD_LOGS_CONFIG_AUTO_MULTI_LINE_DEFAULT_MATCH_THRESHOLD` 環境変数をより低い値で追加します。これにより、自動複数行集計が機能するためにログが一致する頻度を決定するしきい値を構成します。現在のしきい値を確認するには、[エージェントの `status` コマンド] を実行します。 - -[1]: https://docs.datadoghq.com/ja/agent/configuration/agent-commands/#agent-information - -{{% /tab %}} -{{< /tabs >}} - -この機能を有効にすると、新しいログファイルが開かれたとき、Agent はパターンの検出を試みます。このプロセスの間、ログは 1 行で送信されます。検出しきい値に達すると、そのソースの将来のすべてのログは、検出されたパターンで集計され、パターンが見つからない場合は 1 行で集計されます。検出には、最大 30 秒または最初の 500 ログ (いずれか早い方) が必要です。 - -**注**: ローテーションされたログの命名パターンを制御できる場合、ローテーションされたファイルが、同じ名前で以前アクティブだったファイルを置き換えることを確認してください。Agent は、新しくローテーションされたファイル上で以前に検出されたパターンを再利用し、検出の再実行を回避します。 - -複数行の自動検出は、以下の日付/時刻形式から始まり、それに準拠するログを検出します: RFC3339、ANSIC、Unix Date Format、Ruby Date Format、RFC822、RFC822Z、RFC850、RFC1123、RFC1123Z、RFC3339Nano、Java ロギング SimpleFormatter デフォルト日付書式。 - -## 良く使用されるログの処理ルール +## 良く使用されるログの処理ルール {#commonly-used-log-processing-rules} 例の一覧を確認するには、専用の[よく使用されるログ処理ルールに関する FAQ][4] をご覧ください。 -## ワイルドカードを使用したディレクトリのテール +## ワイルドカードを使用したディレクトリのテール {#tail-directories-using-wildcards} -ログファイルに日付のラベルが付いているか、すべてのログファイルが同じディレクトリに保存されている場合は、すべてのファイルを監視して、新しいファイルを自動的に検出するように Datadog Agent を構成できます。それには、`path` 属性にワイルドカードを使用します。選択した `path` と一致するファイルを除外する場合は、`exclude_paths` 属性にリストします。 +ログファイルに日付のラベルが付いているか、すべてのログファイルが同じディレクトリに保存されている場合は、すべてのファイルをモニターして、新しいファイルを自動的に検出するように Datadog Agent を構成できます。それには、`path` 属性にワイルドカードを使用します。選択した `path` に一致するファイルを除外する場合は、`exclude_paths` 属性でそれらのリストを指定します。 -* `path: /var/log/myapp/*.log` を使用する場合 - * `/var/log/myapp/` ディレクトリ内のすべての `.log` ファイルに一致します。 - * `/var/log/myapp/myapp.conf` には一致しません。 +* `path: /var/log/myapp/*.log` を使用: + * `/var/log/myapp/` ディレクトリに含まれているすべての `.log` ファイルに一致します。 + * `/var/log/myapp/myapp.conf` に一致しません。 -* `path: /var/log/myapp/*/*.log` を使用する場合 +* `path: /var/log/myapp/*/*.log` を使用: * `/var/log/myapp/log/myfile.log` に一致します。 * `/var/log/myapp/errorLog/myerrorfile.log` に一致します。 - * `/var/log/myapp/mylogfile.log` には一致しません。 + * `/var/log/myapp/mylogfile.log` に一致しません。 Linux の構成例: ```yaml logs: - type: file - path: /var/log/myapp/*.log + path: /var/log/myapp/log/*.log exclude_paths: - - /var/log/myapp/debug.log - - /var/log/myapp/trace.log + - /var/log/myapp/log/debug.log + - /var/log/myapp/log/trace.log service: mywebapp source: go ``` -上記の例では、`/var/log/myapp/log/myfile.log` にマッチし、`/var/log/myapp/log/debug.log` と `/var/log/myapp/log/trace.log` は除外しています。 +上記の例は `/var/log/myapp/log/myfile.log` に一致し、`/var/log/myapp/log/debug.log` と `/var/log/myapp/log/trace.log` を除外します。 Windows の構成例: @@ -619,30 +609,54 @@ logs: source: csharp ``` -上記の例では、`C:\\MyApp\\MyLog.log` にマッチし、`C:\\MyApp\\MyLog.20230101.log` と `C:\\MyApp\\MyLog.20230102.log` を除外します。 +上記の例は `C:\\MyApp\\MyLog.log` に一致し、`C:\\MyApp\\MyLog.20230101.log` と `C:\\MyApp\\MyLog.20230102.log` を除外します。 -**注**: Agent がディレクトリ内にあるファイルをリストするには、そのディレクトリへの読み取りおよび実行アクセス許可が必要です。 -**注2**: path と exclude_paths の値は大文字と小文字を区別します。 +**注**: +- Agent がディレクトリ内にあるファイルをリストするには、そのディレクトリへの読み取りおよび実行アクセス許可が必要です。 +- path と exclude_paths の値では大文字と小文字が区別されます。 -## 最近更新されたファイルを最初に追跡する +### 修正時間によるテール対象ファイルの優先順位付け {#prioritize-tailed-files-by-modification-time} -Datadog Agent は、ファイルを優先的に追跡する際、ディレクトリパスのファイル名を逆辞典順でソートします。ファイルの修正時間に基づいてファイルをソートするには、構成オプション `logs_config.file_wildcard_selection_mode` に値 `by_modification_time` を設定します。 +この機能を使用するには、Agent バージョン 7.40.0 以降が必要です。 -このオプションは、ログファイルの合計マッチ数が `logs_config.open_files_limit` を超える場合に有用です。`by_modification_time` を使用すると、定義されたディレクトリパスで最も新しく更新されたファイルが最初に追跡されるようになります。 +Agent は `logs_config.open_files_limit` パラメーターを使用して、同時にテールできるファイルの数を制限します。構成されたログソース (ワイルドカードなど) に一致するファイルの数がこの制限内の場合、Agent はそれらすべてをテールします。一致するファイルが制限を超えた場合は、Agent はファイル名を辞書式順序の逆順でソートして優先順位を付けるため、タイムスタンプが新しいファイルや番号の大きいファイルが最初にテールされます。 -デフォルトの動作に戻すには、構成オプション `logs_config.file_wildcard_selection_mode` を値 `by_name` に設定します。 +ファイル名が連番やタイムスタンプのパターンに従っていない場合は、デフォルトの順序付けが最適ではない可能性があります。代わりに修正時間によって優先順位を付けるには、`logs_config.file_wildcard_selection_mode` を `by_modification_time` に設定します。この設定では、Agent は最近修正されたファイルを最初にテールします。 -この機能を使用するには、Agent バージョン 7.40.0 以降が必要です。 +**例**: +- `open_files_limit` = 500 +- ワイルドカードパターンが 700 ファイルに一致したとします。 +- `by_name` を使用: Agent は辞書式順序の逆順で上位の名前を持つ 500 ファイルをテールします (たとえば、app.log.700 から app.log.201 まで)。 +- `by_modification_time` を使用: Agent は名前に関係なく、最近書き込まれた 500 個のファイルをテールします。 + +```yaml +logs_enabled: true +logs_config: + [...] + open_files_limit: 500 + + ## @param file_wildcard_selection_mode - string - optional - default: by_name + ## The strategy used to prioritize wildcard matches if they exceed open_files_limit. + ## Choices: + ## - by_name: files are sorted in reverse lexicographic order (default). + ## - by_modification_time: files are sorted by modification time, with the most recent first. + ## WARNING: by_modification_time is less performant and increases disk I/O. + file_wildcard_selection_mode: by_modification_time +``` -## ログファイルのエンコーディング +デフォルトの動作に戻すには、`logs_config.file_wildcard_selection_mode` エントリを削除するか、明示的に `by_name` に設定します。 -デフォルトでは、Datadog Agent は、ログが UTF-8 エンコーディングを使用すると仮定しています。アプリケーションログが異なるエンコーディングを使用する場合、ログ構成設定で `encoding` パラメーターを指定します。 +## ログファイルのエンコーディング {#log-file-encodings} + +デフォルトでは、Datadog Agent はログで UTF-8 エンコーディングが使用されていると想定します。ご使用のアプリケーションのログで異なるエンコーディングが使用されている場合は、ログ構成で `encoding` パラメーターを指定します。 以下のリストは、サポートされているエンコーディングの値を示しています。サポートされていない値を指定した場合、Agent はその値を無視し、ファイルを UTF-8 として読み取ります。 * `utf-16-le` - UTF-16 little-endian (Datadog Agent **v6.23/v7.23**) * `utf-16-be` - UTF-16 big-endian (Datadog Agent **v6.23/v7.23**) * `shift-jis` - Shift-JIS (Datadog Agent **v6.34/v7.34**) +
encoding Agent がすでにテールしているファイルを変更した場合、文字化けが発生する可能性があります。Agent は前のバイトオフセットから再開しますが、エンコーディングの変更後に文字境界と一致しない場合があります。これを修正するには、ログファイルをローテーションするか、置き換えるか、新しいエンコーディングを使用するファイルの先頭からテールを再開してください。これらのアクションによって、Agent が正しいエンコーディングを使用して開始できるようになります。
+ 構成例: ```yaml @@ -655,16 +669,16 @@ logs: encoding: utf-16-be ``` -**注**: `encoding` パラメーターは `type` パラメーターが `file` に設定されている場合のみ適用可能です。 +**注**: `encoding` パラメーターは、`type` パラメーターが `file` に設定されている場合にのみ適用されます。 -## グローバルな処理ルール +## グローバルな処理ルール {#global-processing-rules} -Datadog Agent v6.10 以上では、`exclude_at_match`、`include_at_match`、`mask_sequences` の各処理ルールを、Agent の[メインコンフィギュレーションファイル][5]で、または環境変数を使用してグローバルに定義できます。 +Datadog Agent v6.10 以上では、`exclude_at_match`、`include_at_match`、`mask_sequences` の各処理ルールを、Agent の [メイン構成ファイル][5] で、または環境変数を使用してグローバルに定義できます。`exclude_truncated` ルールは Agent v7.69 以降で利用可能です。 {{< tabs >}} -{{% tab "Configuration files" %}} +{{% tab "構成ファイル" %}} -`datadog.yaml` ファイルで、以下のようにします。 +`datadog.yaml` ファイル内: ```yaml logs_config: @@ -690,7 +704,7 @@ DD_LOGS_CONFIG_PROCESSING_RULES='[{"type": "mask_sequences", "name": "mask_user_ {{% /tab %}} {{% tab "Datadog Operator" %}} -Datadog Operator マニフェストで `spec.override.[key].env` パラメーターを使用して `DD_LOGS_CONFIG_PROCESSING_RULES` 環境変数を設定し、グローバルな処理ルールを構成します。`[key]` は `nodeAgent`、`clusterAgent`、または `clusterChecksRunner` です。例: +Datadog Operator マニフェスト内で `spec.override.[key].env` パラメーターを使用して `DD_LOGS_CONFIG_PROCESSING_RULES` 環境変数を設定し、グローバルな処理ルールを構成します。ここで `[key]` は `nodeAgent`、`clusterAgent`、または `clusterChecksRunner` です。例: ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -721,9 +735,24 @@ datadog: {{< /tabs >}} Datadog Agent によって収集されるすべてのログが、グローバルな処理ルールの影響を受けます。 -**注**: グローバルな処理ルールに形式上の問題がある場合、Datadog Agent はログコレクターを起動しません。問題をトラブルシューティングするには、Agent の [status サブコマンド][6]を実行します。 +**注**: グローバルな処理ルールに形式上の問題がある場合、Datadog Agent はログコレクターを起動しません。問題をトラブルシューティングするには、Agent の [status サブコマンド][6] を実行します。 + +## 複数行のログの集約に関するよくある質問 {#multi-line-log-aggregation-faq} + +**1. 手動の複数行ルールと自動の複数行検出はいつ使用すべきですか?** + +ログの形式がわかっている場合は、正確に制御するために手動の複数行ルールを使用してください。 +多数の複数行ログを送信していて、ログの形式が不明であるか、すべてのソースを個別に構成する手段がない場合は、自動の複数行検出を使用してください。 + +**2. 複数行パターンがいずれのログにも一致しない場合はどうなりますか?** + +すべての JSON 以外のログ行は、個別のログエントリとして別々に処理されます。 +すべての JSON 形式のログ行は単一のログ行として扱われ、最初の有効な JSON 形式のみが取り込まれ、それ以外は破棄されます。 + +**3. グローバルルールとインテグレーション固有のルールの両方がある場合はどうなりますか?** +インテグレーション固有のルールは、その特定のインテグレーションについてグローバルルールを完全に上書きします。 -## その他の参考資料 +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -735,4 +764,6 @@ Datadog Agent によって収集されるすべてのログが、グローバル [3]: https://github.com/DataDog/datadog-agent/blob/a27c16c05da0cf7b09d5a5075ca568fdae1b4ee0/pkg/logs/internal/decoder/auto_multiline_handler.go#L187 [4]: /ja/agent/faq/commonly-used-log-processing-rules [5]: /ja/agent/configuration/agent-configuration-files/#agent-main-configuration-file -[6]: /ja/agent/configuration/agent-commands/#agent-information \ No newline at end of file +[6]: /ja/agent/configuration/agent-commands/#agent-information +[7]: /ja/agent/logs/auto_multiline_detection +[8]: /ja/agent/logs/auto_multiline_detection_legacy \ No newline at end of file diff --git a/content/ja/agent/supported_platforms/linux.md b/content/ja/agent/supported_platforms/linux.md index e32e8f196e8..616cedae8a6 100644 --- a/content/ja/agent/supported_platforms/linux.md +++ b/content/ja/agent/supported_platforms/linux.md @@ -25,45 +25,45 @@ aliases: - /ja/agent/basic_agent_usage/linux/ further_reading: - link: /logs/ - tag: Documentation + tag: よくあるご質問 text: ログの収集 - link: /infrastructure/process/ - tag: Documentation + tag: よくあるご質問 text: プロセスの収集 - link: /tracing/ - tag: Documentation + tag: よくあるご質問 text: トレースの収集 - link: /agent/architecture/#agent-architecture - tag: Documentation - text: Agent のアーキテクチャに関する詳細 + tag: よくあるご質問 + text: Agent のアーキテクチャを詳しく見る - link: /agent/configuration/network#configure-ports - tag: Documentation - text: インバウンドポートの設定 + tag: よくあるご質問 + text: インバウンドポートの構成 platform: Linux title: Linux --- ## 概要 {#overview} -このページでは、Linux 環境用 Datadog Agent の基本機能の概要を説明します。サポートされている Linux ディストリビューションとバージョンの完全なリストについては、[サポート対象プラットフォーム][5] ドキュメントを参照してください。 +このページでは、Linux 環境用の Datadog Agent の基本的な機能を説明します。サポートされている Linux ディストリビューションとバージョンの完全なリストについては、[サポートされているプラットフォーム][5] のドキュメントを参照してください。 -##Agent のインストール {#install-the-agent} -Linux に Agent をインストールするには、[Fleet Automation のアプリ内手順][6]に従い、生成されたスクリプトをホストで実行します。 +## Agent のインストール {#install-the-agent} +Linux に Agent をインストールするには、[Fleet Automation のアプリ内手順][6] に従い、生成されたスクリプトをホストで実行してください。 -{{< img src="/agent/basic_agent_usage/linux_img_july_25.png" alt="Linux ホストへの Datadog Agent のアプリ内インストール手順。" style="width:90%;">}} +{{< img src="/agent/basic_agent_usage/linux_img_july_25.png" alt="Linux ホストに Datadog Agent をインストールするためのアプリ内の手順。" style="width:90%;">}} -## Agent の設定 {#configure-the-agent} -Datadog Agent の設定ファイルは `/etc/datadog-agent/datadog.yaml` にあります。この YAML ファイルには、以下を含む、Datadog にデータを送信するために使用されるホスト全体の接続の詳細が保持されます。 -- `api_key`: 組織の [Datadog API キー][7] -- `site`: ターゲットの Datadog リージョン (例: `datadoghq.com`、`datadoghq.eu`、`ddog-gov.com`) -- `proxy`: アウトバウンドトラフィック用の HTTP/HTTPS プロキシエンドポイント ([Datadog Agent プロキシ設定][8]を参照) -- デフォルトのタグ、ログレベル、および Datadog の設定 +## Agent の構成 {#configure-the-agent} +Datadog Agent 構成ファイルは `/etc/datadog-agent/datadog.yaml` にあります。この YAML ファイルには、Datadog にデータを送信するために使用されるホスト全体の次のような接続情報が含まれています。 +- `api_key`: 自分の組織の [Datadog API キー][7] +- `site`: ターゲットの Datadog リージョン (例: `datadoghq.com`、`datadoghq.eu`、`ddog-gov.com`、`us2.ddog-gov.com`) +- `proxy`: アウトバウンドトラフィック用の HTTP/HTTPS プロキシエンドポイント ([Datadog Agent プロキシ構成][8] を参照) +- デフォルトのタグ、ログレベル、および Datadog 構成 -`/etc/datadog-agent/datadog.yaml.example` にある完全にコメント化されたリファレンスファイルには、比較やコピーアンドペーストに使用できるすべてのオプションがリストされています。または、サンプルの `config_template.yaml` ファイルで、利用可能なすべての設定オプションを参照してください。 +`/etc/datadog-agent/datadog.yaml.example` にある完全にコメント化されたリファレンスファイルには、比較やコピーアンドペーストに使用できるすべてのオプションがリストされています。または、サンプルの `config_template.yaml` ファイルで、利用可能なすべての構成オプションを参照してください。 -###インテグレーションファイル {#integration-files} -インテグレーション用の設定ファイルは `/etc/datadog-agent/conf.d/` にあります。各インテグレーションには専用のサブディレクトリ `.d/` があり、次のものが含まれています。 -- `conf.yaml`: インテグレーションがメトリクスとログを収集する方法を制御するアクティブな設定 +### インテグレーションファイル {#integration-files} +インテグレーション用の構成ファイルは `/etc/datadog-agent/conf.d/` にあります。各インテグレーションにサブディレクトリ `.d/` があり、次のものが含まれています。 +- `conf.yaml`: インテグレーションがメトリクスとログを収集する方法を制御するアクティブな構成 - `conf.yaml.example`: サポートされているキーとデフォルトを示すサンプル @@ -71,7 +71,7 @@ Datadog Agent の設定ファイルは `/etc/datadog-agent/datadog.yaml` にあ | 説明 | コマンド | |---------------|-----------------------| -| Agent をサービスとして開始する | `sudo systemctl start datadog-agent` | +| Agent をサービスとして起動する | `sudo systemctl start datadog-agent` | | サービスとして実行中の Agent を停止する | `sudo systemctl stop datadog-agent` | | サービスとして実行中の Agent を再起動する | `sudo systemctl restart datadog-agent` | | Agent サービスのステータス | `sudo systemctl status datadog-agent` | @@ -80,12 +80,12 @@ Datadog Agent の設定ファイルは `/etc/datadog-agent/datadog.yaml` にあ | コマンドの使用方法を表示する | `sudo datadog-agent --help` | | チェックを実行する | `sudo -u dd-agent -- datadog-agent check ` | -**注**: `CentOS/RHEL 6` や `SUSE 11` などの upstart ベースのシステムでは、`systemctl ` を `` に置き換えてください。たとえば、`SUSE 11` システムで Agent をサービスとして開始する場合は、`sudo start datadog-agent` を使用します。 +**注**: `CentOS/RHEL 6` や `SUSE 11` などの upstart ベースのシステムでは、`systemctl ` を `` に置き換えてください。たとえば、`SUSE 11` システムで Agent をサービスとして起動する場合は、`sudo start datadog-agent` を使用します。 -##Agent のアンインストール {#uninstall-the-agent} +## Agent のアンインストール {#uninstall-the-agent} -Agent をアンインストールするには、適切な Linux 環境用のコマンドを実行します。 +Agent をアンストールするには、該当する Linux 環境のコマンドを実行してください。 ### CentOS、Rocky、AlmaLinux、Amazon Linux、Oracle Linux、および Red Hat の場合 {#for-centos-rocky-almalinux-amazon-linux-oracle-linux-and-red-hat} @@ -109,13 +109,13 @@ sudo zypper remove datadog-agent
**上記のコマンドで Agent は削除されますが、次のものは削除されません。** -* `datadog.yaml` 設定ファイル -* `/etc/datadog-agent` 設定フォルダー内のユーザー作成ファイル -* `/opt/datadog-agent` フォルダー内のユーザー作成ファイル +* `datadog.yaml` 構成ファイル +* `/etc/datadog-agent` 構成フォルダ内のユーザー作成ファイル +* `/opt/datadog-agent` フォルダ内のユーザー作成ファイル * `dd-agent` ユーザー * Datadog ログファイル -**これらの要素を削除するには、Agent を削除した後に次のコマンドを実行します。** +**これらの要素を削除するには、Agent 削除後に次のコマンドを実行してください。** ```shell sudo userdel dd-agent \ @@ -134,21 +134,21 @@ sudo apt-get remove --purge datadog-agent -y ### Single Step APM Instrumentation のアンインストール {#uninstall-single-step-apm-instrumentation} -Agent を Single Step APM Instrumentation と共にインストールし、それをアンインストールする場合は、APM Instrumentation を削除するために [追加のコマンドを実行][9]する必要があります。[特定の環境][10]向けの手順に従ってください。 +Single Step APM Instrumentation と一緒に Agent をインストールしていて、それをアンインストールする場合は、APM Instrumentation を削除するために [追加のコマンドを実行][9] する必要があります。[自分の環境][10] に該当する手順を実行してください。 -##トラブルシューティング {#troubleshooting} +## トラブルシューティング {#troubleshooting} -詳細な手順については、[Agent のトラブルシューティング][2]を参照してください。 +詳細な手順については、[Agent のトラブルシューティング][2] を参照してください。 -##組み込み Agent の操作 {#working-with-the-embedded-agent} +## 埋め込み Agent の使用 {#working-with-the-embedded-agent} -Agent には、`/opt/datadog-agent/embedded/` に組み込みの Python 環境が含まれています。`python` や `pip` などの一般的なバイナリは `/opt/datadog-agent/embedded/bin/` 内に含まれています。 +Agent には `/opt/datadog-agent/embedded/` に埋め込まれた Python 環境が含まれています。`python` や `pip` などの一般的なバイナリは、`/opt/datadog-agent/embedded/bin/` に含まれています。 -詳細については、[組み込み Agent へのパッケージの追加][3]に関する説明を参照してください。 +詳細については、[埋め込み Agent へのパッケージの追加方法][3] の手順を参照してください。 -##その他の参考資料 {#further-reading} +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/ja/agent/supported_platforms/windows.md b/content/ja/agent/supported_platforms/windows.md index 52ca1363f09..586f8dae9fb 100644 --- a/content/ja/agent/supported_platforms/windows.md +++ b/content/ja/agent/supported_platforms/windows.md @@ -9,150 +9,150 @@ algolia: aliases: - /ja/guides/basic_agent_usage/windows/ - /ja/agent/basic_agent_usage/windows/ -description: Windows プラットフォームにおける Datadog Agent の基本機能。 +description: Windows プラットフォームの Datadog Agent の基本機能 further_reading: - link: /logs/ - tag: Documentation + tag: ドキュメント text: ログの収集 - link: /infrastructure/process/ - tag: Documentation + tag: ドキュメント text: プロセスの収集 - link: /tracing/ - tag: Documentation + tag: ドキュメント text: トレースの収集 - link: /agent/architecture/#agent-architecture - tag: Documentation - text: Agent のアーキテクチャに関する詳細 + tag: ドキュメント + text: Agent のアーキテクチャを詳しく見る - link: /agent/configuration/network#configure-ports - tag: Documentation - text: インバウンドポートの設定 + tag: ドキュメント + text: インバウンドポートの構成 - link: /agent/guide/windows-agent-ddagent-user - tag: Documentation - text: Datadog Windows Agent ユーザーの詳細 + tag: ドキュメント + text: Datadog Windows Agent ユーザーについて詳しく学ぶ platform: Windows title: Windows --- ## 概要 {#overview} -このページでは、Windows 用 Datadog Agent の基本機能の概要を説明します。Agent をまだインストールしていない場合は、下記のインストール手順を参照するか、[アプリ内の指示][1]に従ってください。 +このページでは、Datadog Agent for Windows の基本的な機能について概説します。まだ Agent をインストールしていない場合は、下記のインストール手順を参照するか、[アプリ内の指示に従ってください][1]。 -サポートされている Windows バージョンの完全なリストについては、[サポート対象プラットフォーム][15] を参照してください。 +サポートされている Windows バージョンの全一覧は、[サポートされているプラットフォーム][15]を参照してください。 -##インストール {#installation} +## インストール {#installation} -Windows ホストに Datadog Agent をインストールするには、[Fleet Automation 内のガイド付きアプリ内フロー][16]に従い、インストールコマンドをコピーして実行します。Datadog Agent は `ddagentuser` の下で実行されます。詳細については、[Datadog Windows Agent ユーザー][17]のドキュメントを参照してください。 +Windows ホストに Datadog Agent をインストールするには、[Fleet Automation 内のガイド付きアプリ内フロー][16]に従い、インストールコマンドをコピーして実行してください。Datadog Agent は `ddagentuser` の下で実行されます。詳細については、[Datadog Windows Agent ユーザー][17]のドキュメントを参照してください。 -{{< img src="/agent/basic_agent_usage/windows_img2_july_25.png" alt="Windows ホストへの Datadog Agent のアプリ内インストール手順。" style="width:90%;">}} +{{< img src="/agent/basic_agent_usage/windows_img2_july_25.png" alt="Windows ホストの Datadog Agent のアプリ内インストール手順。" style="width:90%;">}} -## その他のインストール方法 {#alternative-installation-methods} +## 代替インストール方法 {#alternative-installation-methods} -### Agent Manager GUI を使用したインストール {#install-with-the-agent-manager-gui} +### Agent Manager GUI を使用するインストール {#install-with-the-agent-manager-gui} -
Agent のデフォルトのインストール場所は %ProgramFiles%\Datadog\Datadog Agent です。カスタムのインストール場所を使用する場合は、Datadog ファイル用に Datadog サブディレクトリを指定してください。
+
Agent のデフォルトのインストール先は %ProgramFiles%\Datadog\Datadog Agentです。カスタムインストール場所を使用する場合は、Datadog ファイルを収容する Datadog サブディレクトリを指定してください。
-1. [Datadog Agent インストーラー][400]をダウンロードして、最新バージョンの Agent をインストールします。 -2.`datadog-agent-7-latest.amd64.msi` を開いてインストーラーを実行します。プロンプトが表示されたら、管理者資格情報を入力します。 -3.プロンプトに従い、使用許諾契約に同意して、[Datadog API キー][500]を入力します。 +1. [Datadog Agent インストーラー][400]をダウンロードし、最新バージョンの Agent をインストールします。 +2. `datadog-agent-7-latest.amd64.msi`を開いてインストーラーを実行します。プロンプトが表示されたら、管理者の資格情報を入力します。 +3. プロンプトに従ってライセンス契約に同意し、[Datadog API キー][500]を入力します。 -インストールが完了すると、Datadog Agent Manager を起動するオプションが表示されます。 +インストールが終了したら、オプションから Datadog Agent Manager を起動できます。 -####インストール設定オプション {#installation-configuration-options} +#### インストール構成オプション {#installation-configuration-options} -下記の各設定オプションは、Windows に Agent をインストールする際に、コマンドラインのプロパティとして追加できます。その他の Agent 設定オプションについては、[その他の Agent 設定オプション](#more-agent-configuration-options)を参照してください。 +Windows に Agent をインストールする際、下記の各構成オプションをコマンドラインのプロパティとして追加することができます。他の Agent 構成オプションについては、[Agent 構成オプションの詳細](#more-agent-configuration-options)を参照してください。 -|変数 | 型 | 説明 | +| 変数 | 型 | 説明 | |---------------------------- |---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `APIKEY` | 文字列 | 設定ファイルに Datadog API キーを追加します。 | -| `SITE` | 文字列 | Datadog インテークサイトを設定します。例: `SITE=datadoghq.com` | -| `TAGS` | 文字列 | 設定ファイルで割り当てるタグのカンマ区切りリスト。例: `TAGS="key_1:val_1,key_2:val_2"` | -| `HOSTNAME` | 文字列 | Agent が Datadog に報告するホスト名を設定します (実行時に計算されたホスト名を上書きします)。 | -| `DDAGENTUSER_NAME` | 文字列 | Agent のインストール中に使用されるデフォルトの `ddagentuser` ユーザー名を上書きします _(v6.11.0+)_。[Datadog Windows Agent ユーザーの詳細][3]。 | -| `DDAGENTUSER_PASSWORD` | 文字列 | Agent のインストール中に `ddagentuser` ユーザーに対して生成された暗号的に安全なパスワードを上書きします _(v6.11.0+)_。ドメインサーバーへのインストールでは指定する必要があります。[Datadog Windows Agent ユーザーの詳細][3]。 | -| `APPLICATIONDATADIRECTORY` | パス | 設定ファイルのディレクトリツリーに使用するディレクトリを上書きします。新規インストール時にのみ指定可能です。アップグレード時には無効です。デフォルト: `C:\ProgramData\Datadog`。_(v6.11.0+)_ | -| `PROJECTLOCATION` | パス | バイナリファイルのディレクトリツリーに使用するディレクトリを上書きします。新規インストール時にのみ指定可能です。アップグレード時には無効です。デフォルト: `%ProgramFiles%\Datadog\Datadog Agent`。_(v6.11.0+)_

デフォルトのディレクトリを上書きする場合は、Datadog ファイル用の `Datadog` サブディレクトリを必ず指定してください。 | +| `APIKEY` | 文字列 | Datadog API キーを構成ファイルに追加します。 | +| `SITE` | 文字列 | Datadog の取り込みサイトを設定します。例: `SITE=datadoghq.com` | +| `TAGS` | 文字列 | 構成ファイルで割り当てるタグのカンマ区切りリスト。例: `TAGS="key_1:val_1,key_2:val_2"` | +| `HOSTNAME` | 文字列 | Agent から Datadog に報告されるホスト名を設定します (実行時に計算されたホスト名をオーバーライド)。 | +| `DDAGENTUSER_NAME` | 文字列 | Agent インストール時に使用されるデフォルトの `ddagentuser` ユーザー名をオーバーライドします _(v6.11.0 以上)_。[Datadog Windows Agent ユーザーについての詳細][3]。 | +| `DDAGENTUSER_PASSWORD` | 文字列 | `ddagentuser` ユーザーのために生成された暗号的に安全なパスワードをオーバーライドします _(v6.11.0 以上)_。ドメインサーバーへのインストールには必ず指定する必要があります。[Datadog Windows Agent ユーザーについての詳細][3]。 | +| `APPLICATIONDATADIRECTORY` | パス | 構成ファイルのディレクトリツリーに使用するディレクトリを上書きします。初回インストール時のみ指定可能; アップグレードでは無効です。デフォルト: `C:\ProgramData\Datadog`。_(v6.11.0 以上)_ | +| `PROJECTLOCATION` | パス | バイナリファイルのディレクトリツリーに使用するディレクトリを上書きします。初回インストール時のみ指定可能; アップグレードでは無効です。デフォルト: `%ProgramFiles%\Datadog\Datadog Agent`。_(v6.11.0 以上)_

デフォルトのディレクトリを上書きすることを選択した場合は、Datadog ファイルを格納する `Datadog` サブディレクトリを指定してください。 | **注** -- `/qn` オプションは、サイレントインストールを実行します。GUI プロンプトを表示するには、これを削除します。 --一部の Agent バージョンでは、強制的な再起動が発生する場合があります。これを防ぐには、パラメーター `REBOOT=ReallySuppress` を追加します。 --一部の Agent コンポーネントでは、データを収集するためにカーネルドライバーが必要です。コンポーネントにカーネルドライバーが必要かどうかを確認するには、そのドキュメントページを参照するか、関連する Agent 設定ファイルで `kernel driver` を検索してください。 --有効な `datadog.yaml` が見つかった場合、そのファイルは指定されたすべてのコマンドラインオプションよりも優先されます。 +- `/qn` オプションは、サイレントインストールを実行します。GUI プロンプトを表示するには、これを削除してください。 +- 一部の Agent バージョンでは、強制的に再起動が発生する可能性があります。これを防ぐには、パラメーター `REBOOT=ReallySuppress` を追加してください。 +- 一部の Agent コンポーネントはデータを収集するためにカーネルドライバーを必要とします。お使いのコンポーネントにカーネルドライバーが必要かどうかを知るには、そのドキュメントページを参照するか、関連する Agent 構成ファイルで `kernel driver` を検索してください。 +- 有効な `datadog.yaml` が見つかった場合、そのファイルが、指定されているすべてのコマンドラインオプションより優先されます。 -####その他の Agent 設定オプション {#more-agent-configuration-options} +#### その他の Agent 構成オプション {#more-agent-configuration-options} -下記の各設定オプションは、Windows に Agent をインストールする際に、コマンドラインのプロパティとして追加できます。 +Windows に Agent をインストールする際、下記の各構成オプションをコマンドラインのプロパティとして追加することができます。 -**注**: 有効な `datadog.yaml` が見つかった場合、そのファイルは指定されたすべてのコマンドラインオプションよりも優先されます。 +**注**: 有効な `datadog.yaml` が見つかった場合、そのファイルが、指定されているすべてのコマンドラインオプションより優先されます。 -|変数 | 型 | 説明 | +| 変数 | 型 | 説明 | |---------------------------- |---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `LOGS_ENABLED` | 文字列 | 設定ファイルでログ収集機能を有効化 (`"true"`) または無効化 (`"false"`) します。ログはデフォルトで無効になっています。 | -| `APM_ENABLED` | 文字列 | 設定ファイルで APM Agent を有効化 (`"true"`) または無効化 (`"false"`) します。APM はデフォルトで有効になっています。 | -| `PROCESS_ENABLED` | 文字列 | 設定ファイルで Process Agent を有効化 (`"true"`) または無効化 (`"false"`) します。Process Agent はデフォルトで無効になっています。 | -| `HOSTNAME_FQDN_ENABLED` | 文字列 | Agent ホスト名への FQDN の使用を有効化 (`"true"`) または無効化 (`"false"`) します。これは、Agent 設定ファイルで `hostname_fqdn` を設定するのと同等です。ホスト名への FQDN の使用はデフォルトで無効になっています。_(v6.20.0+)_ | -| `CMD_PORT` | 数値 | 0 ~ 65534 の有効なポート番号。Datadog Agent はポート 5001 でコマンド API を公開します。そのポートが既に別のプログラムで使用されている場合は、ここでデフォルトを上書きできます。 | -| `PROXY_HOST` | 文字列 | (プロキシを使用する場合) プロキシホストを設定します。[Datadog Agent でのプロキシの使用に関する詳細][4]。 | -| `PROXY_PORT` | 数値 | (プロキシを使用する場合) プロキシポートを設定します。[Datadog Agent でのプロキシの使用に関する詳細][4]。 | -| `PROXY_USER` | 文字列 | (プロキシを使用する場合) プロキシユーザーを設定します。[Datadog Agent でのプロキシの使用に関する詳細][4]。 | -| `PROXY_PASSWORD` | 文字列 | (プロキシを使用する場合) プロキシパスワードを設定します。プロセス/コンテナ Agent の場合、この変数は認証パスワードを渡すために必要であり、名前を変更することはできません。[Datadog Agent でのプロキシの使用に関する詳細][4]。| -| `EC2_USE_WINDOWS_PREFIX_DETECTION` | ブール値 | EC2 上の Windows ホストに EC2 インスタンス ID を使用します。 _(v7.28.0+)_ | +| `LOGS_ENABLED` | 文字列 | 構成ファイルでログ収集機能を有効 (`"true"`) または無効 (`"false"`) にします。デフォルトでは、ログは無効です。 | +| `APM_ENABLED` | 文字列 | 構成ファイルで APM Agent を有効 (`"true"`) または無効 (`"false"`) にします。デフォルトでは、APM は有効です。 | +| `PROCESS_ENABLED` | 文字列 | 構成ファイルで Process Agent を有効 (`"true"`) または無効 (`"false"`) にします。デフォルトでは、Process Agent は無効です。 | +| `HOSTNAME_FQDN_ENABLED` | 文字列 | Agent ホスト名に FQDN を使用することを有効 (`"true"`) または無効 (`"false"`) にします。これは、Agent 構成ファイルで `hostname_fqdn` を設定することに相当します。ホスト名に FQDN を使用することはデフォルトでは無効です。_(v6.20.0 以上)_ | +| `CMD_PORT` | 数値 | 0 ~ 65534 の有効なポート番号。Datadog Agent はコマンド API をポート 5001 で公開します。このポートが既に別のプログラムで使用されている場合は、この変数でデフォルトを上書きできます。 | +| `PROXY_HOST` | 文字列 | (プロキシを使用する場合) プロキシホストを設定します。[Datadog Agent でプロキシを使用する方法の詳細][4]。 | +| `PROXY_PORT` | 数値 | (プロキシを使用する場合) プロキシポートを設定します。[Datadog Agent でプロキシを使用する方法の詳細][4]。 | +| `PROXY_USER` | 文字列 | (プロキシを使用する場合) プロキシユーザーを設定します。[Datadog Agent でプロキシを使用する方法の詳細][4]。 | +| `PROXY_PASSWORD` | 文字列 | (プロキシを使用する場合) プロキシユーザーを設定します。プロセス/コンテナ Agent の場合、この変数は認証パスワードを渡すために必須であり、名前を変更することはできません。[Datadog Agent でプロキシを使用する方法の詳細][4]。| +| `EC2_USE_WINDOWS_PREFIX_DETECTION` | ブール値 | EC2 上の Windows ホストの EC2 インスタンス ID を使用します。_(v7.28.0 以上)_ | #### インストールログファイル {#installation-log-files} -インストールログファイルを設定するには、`/log ` msiexec オプションを指定します。このオプションが設定されていない場合、msiexec はデフォルトで `%TEMP%\MSI*.LOG` にログを書き込みます。 +`/log ` msiexec オプションを設定してインストールログファイルを構成します。このオプションが設定されていない場合、msiexec はデフォルトで `%TEMP%\MSI*.LOG` にログを書き込みます。 -##設定 {#configuration} +## 構成 {#configuration} -メインの Agent 設定ファイルの場所は下記のとおりです。 -`C:\ProgramData\Datadog\datadog.yaml`。このファイルは、API キー、選択した Datadog サイト、プロキシパラメーター、ホストタグ、ログレベルなど、ホスト全体の設定に使用されます。 +メイン Agent 構成ファイルは +`C:\ProgramData\Datadog\datadog.yaml` にあります。このファイルは、API キー、選択した Datadog サイト、プロキシパラメーター、ホストタグ、ログレベルなどのホスト全体の設定に使用されます。 -同じディレクトリには `datadog.yaml.example` ファイルもあります。これは利用可能なすべての設定オプションを網羅したコメント付きのリファレンスで、参照や特定の設定のコピーに役立ちます。 +同じディレクトリに `datadog.yaml.example` ファイルもあります。このファイルには、使用可能なすべての構成オプションを示すリファレンスがコメントとしてフルで付けられており、特定の構成を参照したりコピーしたりするのに便利です。 -インテグレーションの設定ファイルの場所は下記のとおりです。 -`C:\ProgramData\Datadog\conf.d\` また、代わりにレガシーな場所である `C:\Documents and Settings\All Users\Application Data\Datadog\conf.d\` に存在する場合もあります。 +インテグレーション用の構成ファイルは +`C:\ProgramData\Datadog\conf.d\` にあります。代替のレガシー場所がある場合もあります: `C:\Documents and Settings\All Users\Application Data\Datadog\conf.d\`。 -各インテグレーションには、下記を含むサブディレクトリ `.d\` があります。 +各インテグレーションには、下記のものを格納するサブディレクトリ `.d\` があります。 - `conf.yaml`: インテグレーションのアクティブな設定 -* `conf.yaml.example`: サポートされている設定キーを示すサンプルファイル +* `conf.yaml.example`: サポートされている構成キーを示すサンプルファイル -設定を変更した後は、変更を確実に反映させるために必ず Agent を再起動してください。 +構成変更を行う際は、変更が反映されるように Agent を再起動してください。 -[Datadog Agent Manager GUI][6] を使用して、チェックの有効化、無効化、および設定ができます。変更を反映させるには、Agent を再起動する必要があります。 +[Datadog Agent Manager GUI][6] を使用して、チェックを有効化、無効化、構成できます。変更を反映させるためには、Agent を再起動する必要があります。 **注**: `ProgramData` は隠しフォルダーです。 -##Agent コマンド {#agent-commands} +## Agent のコマンド {#agent-commands} -Agent の実行は、Windows サービスコントロールマネージャーによって制御されます。 +Agent の実行は、Windows サービスコントロールマネージャーによって制御されています。 -*メインの実行ファイル名は `agent.exe` です。 -*設定 GUI は、ブラウザベースの設定アプリケーションです (Windows 64 ビット版のみ)。 -*コマンドは、**昇格した (管理者として実行)** コマンドライン (PowerShell またはコマンドプロンプト) から、構文 ` ` を使用して実行できます。 -*コマンドラインオプションは下記のとおりです。 +* メインの実行可能ファイル名は `agent.exe` です。 +* 構成 GUI は、ブラウザベースの構成アプリケーションです (Windows 64 ビット版のみ)。 +* コマンドは**管理者特権 (管理者として実行)** のコマンドライン (PowerShell またはコマンドプロンプト) から、構文 ` ` を使用して実行できます。 +* コマンドラインのオプションは次の通りです。 | コマンド | 説明 | |-----------------|----------------------------------------------------------------------------------| | check | 指定されたチェックを実行します。 | -| diagnose | システム上で接続診断を実行します。 | +| diagnose | システムに対して接続診断を実行します。 | | flare | フレアを収集して Datadog に送信します。 | -| help | コマンドに関するヘルプを表示します。 | -| hostname | Agent が使用しているホスト名を表示します。 | -| import | 以前のバージョンの Agent から設定ファイルをインポートして変換します。 | +| help | コマンドのヘルプを表示します。 | +| hostname | Agent が使用するホスト名を出力します。 | +| import | 以前のバージョンの Agent から構成ファイルをインポートして変換します。 | | launch-gui | Datadog Agent Manager を起動します。 | | restart-service | サービスコントロールマネージャー内で Agent を再起動します。 | | run | Agent を起動します。 | -| start | Agent を起動します。(非推奨ですが、受け入れられます。代わりに `run` を使用してください。)| +| start | Agent を起動します。(非推奨ですが、使用はできます。代わりに `run` を使用してください。)| | start-service | サービスコントロールマネージャー内で Agent を起動します。 | -| status | 現在のステータスを表示します。 | +| status | 現在のステータスを出力します。 | | stopservice | サービスコントロールマネージャー内で Agent を停止します。 | -| version | バージョン情報を表示します。 | +| バージョン | バージョン情報を出力します。 | **例**: - PowerShell (`powershell.exe`) @@ -173,19 +173,19 @@ Agent の実行は、Windows サービスコントロールマネージャーに ## Agent のアンインストール {#uninstall-the-agent} -Windows で Agent をアンインストールするには、2 つの異なる方法があります。どちらの方法でも Agent は削除されますが、ホスト上の `C:\ProgramData\Datadog` 設定フォルダーは削除されません。 +Windows で Agent をアンインストールする方法は 2 つあります。どちらの方法も Agent を削除しますが、ホスト上の `C:\ProgramData\Datadog` 構成フォルダーは削除しません。 -###プログラムの追加と削除 {#add-or-remove-programs} +### プログラムの追加と削除 {#add-or-remove-programs} -1. **Ctrl** キーと **Esc** キーを同時に押すか、Windows キーを使用して Windows 検索を実行します。 -1.`add` を検索し、[**プログラムの追加と削除**] をクリックします。 -1.`Datadog Agent` を検索し、[**アンインストール**] をクリックします。 +1. **CTRL**キーと**Esc**キーを押すか、Windowsキーで Windows Search を実行します。 +1. `add`を検索し、{{< ui >}}Add or remove programs{{< /ui >}}をクリックします。 +1. `Datadog Agent`を検索し、{{< ui >}}Uninstall{{< /ui >}}をクリックします。 -###PowerShell {#powershell} +### PowerShell {#powershell} -**注:** 次のコマンドを使用するには、WinRM を有効にしてください。 +**注:** 下記のコマンドを使用する場合は、WinRM を有効にしてください。 -再起動せずに Agent をアンインストールするには、次の PowerShell コマンドを使用します。 +下記の PowerShell コマンドを使用して、再起動せずに Agent をアンインストールします。 {{< code-block lang="powershell" >}} $productCode = (@(Get-ChildItem -Path "HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" -Recurse) | Where {$_.GetValue("DisplayName") -like "Datadog Agent" }).PSChildName @@ -194,30 +194,30 @@ start-process msiexec -Wait -ArgumentList ('/log', 'C:\uninst.log', '/q', '/x', ## トラブルシューティング {#troubleshooting} -トラブルシューティングの手順については、[Agent のトラブルシューティングドキュメント][18]を参照してください。 +トラブルシューティング手順については、[Agent トラブルシューティングのドキュメント][18]を参照してください。 -###Agent のステータスと情報 {#agent-status-and-information} +### Agent のステータスと情報 {#agent-status-and-information} -Agent が実行されていることを確認するには、[サービス] パネルで `DatadogAgent` サービスが [*開始*] と表示されているか確認します。タスクマネージャーに *Datadog Metrics Agent* (`agent.exe`) というプロセスも存在している必要があります。 +Agent が実行中であることを確認するには、サービスパネルで `DatadogAgent` サービスが *Started* と表示されているかチェックしてください。*Datadog Metrics Agent* (`agent.exe`) というプロセスもタスクマネージャーに存在するはずです。 -Agent の状態に関する詳細情報を取得するには、Datadog Agent Manager を起動します。 +Agent の状態に関する情報をさらに受け取るには、次のようにして Datadog Agent Manager を起動します。 -* Datadog Agent のシステムトレイアイコンを右クリックして [Configure] (設定) を選択するか、 -* **昇格した (管理者として実行)** コマンドラインから `launch-gui` コマンドを実行します。 +* Datadog Agentのシステムトレイアイコンを右クリックし、{{< ui >}}Configure{{< /ui >}} を選択します。または +* **管理者特権 (管理者として実行)** コマンドラインから `launch-gui` コマンドを実行します - PowerShell: `& "" launch-gui` - cmd: `"" launch-gui` -次に、[*Status*] (ステータス) -> [*General*] (全般) の順に移動して、ステータスページを開きます。 -実行中のチェックに関する詳細は、[*Status*] -> [*Collector*] (コレクター) および [*Checks*] (チェック) -> [*Summary*] (サマリー) で確認できます。 +次に、{{< ui >}}Status{{< /ui >}} > {{< ui >}}General{{< /ui >}} に移動してステータスページを開きます。 +チェックを実行する方法については、{{< ui >}}Status{{< /ui >}} > {{< ui >}}Collector{{< /ui >}} および {{< ui >}}Checks{{< /ui >}} > {{< ui >}}Summary{{< /ui >}} を参照してください。 -status コマンドは PowerShell で使用できます。 +PowerShell では、次の status コマンドを使用できます。 ```powershell & "$env:ProgramFiles\Datadog\Datadog Agent\bin\agent.exe" status ``` -または cmd.exe: +cmd.exe では、次のようにします。 ```cmd "%ProgramFiles%\Datadog\Datadog Agent\bin\agent.exe" status @@ -225,37 +225,37 @@ status コマンドは PowerShell で使用できます。 ### ログの場所 {#logs-location} -Agent のログは `C:\ProgramData\Datadog\logs\agent.log` にあります。 +エージェントのログは `C:\ProgramData\Datadog\logs\agent.log` にあります。 **注**: `ProgramData` は隠しフォルダーです。 -##ユースケース {#use-cases} +## ユースケース {#use-cases} -### Windows サービスのモニタリング {#monitoring-a-windows-service} +### Windows サービスの監視 {#monitoring-a-windows-service} -対象のホストで Datadog Agent Manager を起動し、リストから "Windows Service" インテグレーションを選択します。標準で用意されている例がありますが、この例では DHCP を使用しています。 +ターゲットホストで Datadog Agent Manager を起動し、リストから {{< ui >}}Windows Service{{< /ui >}} インテグレーションを選択します。すぐに使える例がありますが、この例では DHCP を使用します。 -サービス名を取得するには、`services.msc` を開き、対象のサービスを見つけます。DHCP を対象とする場合、サービスのプロパティウィンドウの上部にサービス名が表示されます。 +サービスの名前を取得するには、`services.msc` を開き、ターゲットサービスを見つけます。DHCP をターゲットとして使用すると、サービスプロパティウィンドウの上部にサービス名が表示されます。 {{< img src="agent/faq/DHCP.png" alt="DHCP" style="width:75%;">}} -独自のサービスを追加するときは、必ず示されているとおりの形式に従ってください。形式が正しくない場合、インテグレーションは失敗します。**注**: サービス名に含まれる特殊文字はエスケープする必要があります。たとえば、名前 `MSSQL$BILLING` は `MSSQL\$BILLING` で追加できます。 +独自のサービスを追加する際は、表示されているフォーマットに正確に従ってください。フォーマットが正しくない場合、インテグレーションは失敗します。**注**: サービス名に特殊文字が含まれている場合はエスケープする必要があります。たとえば、`MSSQL$BILLING` という名前は `MSSQL\$BILLING` で追加できます。 {{< img src="agent/faq/windows_DHCP_service.png" alt="Windows DHCP サービス" style="width:75%;">}} -また、インテグレーションを変更した場合は、そのたびに Datadog サービスを再起動する必要があります。これは services.msc または UI のサイドバーから行えます。 +また、インテグレーションを変更するたびに、Datadog サービスを再起動する必要があります。これは services.msc または UI サイドバーから行うことができます。 -サービスの場合、Datadog はメトリクスを追跡せず、可用性のみを追跡します。(メトリクスの場合は、[プロセス](#monitoring-windows-processes)または [WMI][7] インテグレーションを使用します)。モニターをセットアップするには、[インテグレーションモニタータイプ][8]を選択し、**Windows Service** を検索します。*[Integration Status] (インテグレーションのステータス) -> [Pick Monitor Scope] (モニタースコープの選択)* から、モニタリングするサービスを選択します。 +サービスについて、Datadog はメトリクスを追跡せず、可用性のみを追跡します。(メトリクスの場合は、[Process](#monitoring-windows-processes) または [WMI][7] 統合を使用してください)。モニターを設定するには、[インテグレーションモニタータイプ][8]を選択し、{{< ui >}}Windows Service{{< /ui >}} を検索します。{{< ui >}}Integration Status{{< /ui >}} > {{< ui >}}Pick Monitor Scope{{< /ui >}} から、監視するサービスを選択します。 -###Windows のシステム負荷のモニタリング {#monitoring-system-load-for-windows} +### Windows のシステム負荷のモニタリング {#monitoring-system-load-for-windows} -Datadog Agent は、デフォルトで多数のシステムメトリクスを収集します。特に一般的に使用されるシステムメトリクスは `system.load.*` ですが、これらのメトリクスは **Unix** 固有のものです。 +Datadog Agent は、デフォルトで多数のシステムメトリクスを収集します。最も一般的に使用されるシステムメトリクスは `system.load.*` ですが、これらのメトリクスは **Unix** 特有です。 -Windows では `system.load.*` メトリクスは提供されませんが、デフォルトで利用可能な同等のオプションとして `system.proc.queue.length` があります。このメトリクスは、プロセッサーのレディキューで遅延し、実行を待機しているスレッドの数を示します。 +Windows は `system.load.*` メトリクスを提供していませんが、デフォルトで利用可能な同等のオプションは `system.proc.queue.length` です。このメトリクスは、実行待ちのプロセッサ準備キューで遅延として観察されたスレッドの数を示します。 -###Windows プロセスのモニタリング {#monitoring-windows-processes} +### Windows プロセスの監視 {#monitoring-windows-processes} -[ライブプロセスモニタリング][9]を使用して Windows プロセスをモニタリングできます。Windows でこれを有効にするには、[Agent のメイン設定ファイル][10]を編集し、次のパラメーターを true に設定します。 +[ライブプロセスのモニタリング][9]を使用して Windows プロセスをモニターできます。これを Windows で有効にするには、次のパラメーターを true に設定することにより、[Agent メイン構成ファイル][10]を編集します。 `datadog.yaml`: @@ -264,9 +264,9 @@ process_config: enabled: "true" ``` -設定が完了したら、[Agent を再起動][11]します。 +構成が完了したら、[Agent を再起動][11]します。 -##その他の参考資料 {#further-reading} +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} diff --git a/content/ja/bits_ai/mcp_server/setup.md b/content/ja/bits_ai/mcp_server/setup.md new file mode 100644 index 00000000000..02e355d28f0 --- /dev/null +++ b/content/ja/bits_ai/mcp_server/setup.md @@ -0,0 +1,771 @@ +--- +algolia: + rank: 75 + tags: + - mcp + - mcp server + - setup +description: AI エージェントを Datadog MCP サーバーに接続する方法を学びます。 +further_reading: +- link: bits_ai/mcp_server + tag: ドキュメント + text: Datadog MCP サーバー +- link: bits_ai/mcp_server/tools + tag: ドキュメント + text: Datadog MCP サーバーツール +- link: ide_plugins/vscode/?tab=cursor + tag: ドキュメント + text: カーソル用の Datadog 拡張機能 +title: Datadog MCP サーバーを設定する +--- +Datadog MCP サーバーを設定および構成する方法を学びます。これにより、AI 搭載クライアントから直接テレメトリのインサイトを取得し、プラットフォーム機能を管理できます。クライアントを選択してください。 + +{{< tabs >}} +{{% tab "Claude" %}} + +クロード (クロード・コワーカーを含む) を、リモートMCP URL を使用して {{< ui >}}custom connector{{< /ui >}} として追加し、Datadog MCP サーバーに接続します。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +1. 新しいカスタムコネクタを追加するには、[カスタムコネクタ][1]に関するクロードヘルプセンターガイドに従ってください。 + +1. URLの入力を求められたら、あなたの[Datadogサイト][2]のDatadog MCPサーバーエンドポイントを入力してください ({{< region-param key="dd_site_name" >}})。正しい手順については、このドキュメントページの右側にある{{< ui >}}Datadog Site{{< /ui >}}セレクターを使用して、サイトを選択してください。 +
{{< region-param key="mcp_server_endpoint" >}}
+ + [製品特有のツール](#toolsets)を有効にするには、エンドポイントURLの末尾に`toolsets`クエリパラメータを含めてください。たとえば、このURLは_のみ_APMおよびLLM Observabilityツールを有効にします (すべての一般に利用可能なツールセットを有効にするには`toolsets=all`を使用してください。これは、ツールフィルタリングをサポートするクライアントに最適です)。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +1. プロンプトが表示されたら、OAuthログインフローを完了してください。 + +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +[1]: https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp +[2]: /ja/getting_started/site/ +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
Datadog MCP サーバーは、選択した Datadog サイト ではサポートされていません({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +{{% /tab %}} + +{{% tab "Claude Code" %}} + +AIエージェントを、地域の[Datadogサイト][1]のMCPサーバーエンドポイントに向けてください。正しい手順については、このドキュメントページの右側にある{{< ui >}}Datadog Site{{< /ui >}}セレクターを使用して、サイトを選択してください。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +選択したエンドポイント ({{< region-param key="dd_site_name" >}}):{{< region-param key="mcp_server_endpoint" >}}。 + +1. ターミナルで実行: +
claude mcp add --transport http datadog-mcp {{< region-param key="mcp_server_endpoint" >}}
+ + または、`~/.claude.json`に追加してください。 +
{
+      "mcpServers": {
+        "datadog": {
+          "type": "http",
+          "url": "{{< region-param key="mcp_server_endpoint" >}}"
+         }
+       }
+    }
+ +1. [製品特有のツール](#toolsets)を有効にするには、エンドポイントURLの末尾に`toolsets`クエリパラメータを含めてください。たとえば、このURLは_のみ_APMおよびLLM Observabilityツールを有効にします (すべての一般に利用可能なツールセットを有効にするには`toolsets=all`を使用してください。これは、ツールフィルタリングをサポートするクライアントに最適です)。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +
リモート認証が利用できない場合は、ローカルバイナリ認証を代わりに使用してください。
+ +[1]: /ja/getting_started/site/ +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} + +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+ +{{< /site-region >}} + +[1]: /ja/getting_started/site/ +{{% /tab %}} + +{{% tab "Codex" %}} + +AIエージェントを、地域の[Datadogサイト][1]のMCPサーバーエンドポイントに向けてください。正しい手順については、このドキュメントページの右側にある{{< ui >}}Datadog Site{{< /ui >}}セレクターを使用して、サイトを選択してください。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +選択したエンドポイント ({{< region-param key="dd_site_name" >}}):{{< region-param key="mcp_server_endpoint" >}}。 + +`~/.codex/config.toml`Datadog MCP サーバーを HTTP トランスポートとサイトのエンドポイント URL で追加するには、1. (または Codex CLI 構成ファイル) を編集してください。たとえば、次のとおりです。 + +
[mcp_servers.datadog]
+   url = "{{< region-param key="mcp_server_endpoint" >}}"
+   
+ + [製品特有のツール](#toolsets)を有効にするには、エンドポイントURLの末尾に`toolsets`クエリパラメータを含めてください。たとえば、このURLは_のみ_APMおよびLLM Observabilityツールを有効にします (すべての一般に利用可能なツールセットを有効にするには`toolsets=all`を使用してください。これは、ツールフィルタリングをサポートするクライアントに最適です)。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +1. Datadog MCP サーバーにログインします。 + + ```shell + codex mcp login datadog + ``` + + これにより、OAuth フローを完了するためにブラウザが開きます。Codex は、トークンが期限切れになるまで再度ログインする必要がないように、取得した資格情報を保存します。 + +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +[1]: /ja/getting_started/site/ +{{% /tab %}} + +{{% tab "カーソル" %}} + +[Datadog プラグイン][1] を Cursor Marketplace からインストールします。このプラグインには Datadog MCP サーバーなどのリソースが含まれています。以前に手動で Datadog MCP サーバーをインストールした場合は、競合を避けるために IDE の設定から削除してください。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +1. プラグインは Cursor Marketplace から、または Cursor 内からインストールできます。 + - Cursor Marketplace から [Datadog プラグイン][1] を開き、**Cursor に追加** をクリックします。 + - Cursor で、**Curso のr設定** > **プラグイン** に移動し、Datadog プラグインを検索して **Cursor に追加** をクリックします。 + +1. プラグインをインストールしたら、エージェントチャットに `/ddsetup` と入力して初回セットアップをします。 +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +[1]: https://cursor.com/marketplace/datadog +[2]: /ja/ide_plugins/vscode/?tab=cursor#installation +[3]: /ja/bits_ai/mcp_server/tools +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +[1]: https://cursor.com/marketplace/datadog +{{% /tab %}} + +{{% tab "Devin" %}} + +Devin の MCP Marketplace から Datadog MCP サーバーを有効にすることにより、それを接続します。正しい手順については、このドキュメントページの右側にある{{< ui >}}Datadog Site{{< /ui >}}セレクターを使用して、サイトを選択してください。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +1. デビンで、{{< ui >}}Settings{{< /ui >}} > {{< ui >}}MCP Marketplace{{< /ui >}}に移動し、`Datadog`を検索します。 +1. {{< ui >}}Server URL{{< /ui >}} のための Datadog サイトを選択してください。選択するサイトの例: {{< region-param key="dd_site_name" code="true" >}}。 +1. Datadog API とアプリケーションキーを入力します。 +1. サーバーをインストールして有効にし、プロンプトに従って OAuth ログインフローを完了します。 +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +
製品固有のツールセットを使用するには、Devin でカスタム MCP サーバーを設定し、 toolsets クエリをエンドポイント URL の末尾に含めてください。詳細については、ツールセットを参照してください。 +
+ +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +{{% /tab %}} + +{{% tab "Gemini CLI" %}} + +AIエージェントを、地域の[Datadogサイト][1]のMCPサーバーエンドポイントに向けてください。正しい手順を得るには、このドキュメントページの右側にある **Datadog サイト** セレクターを使用して、サイトを選択してください。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +選択したエンドポイント ({{< region-param key="dd_site_name" >}}):{{< region-param key="mcp_server_endpoint" >}}。 + +1. ターミナルで実行: +
gemini mcp add --transport http datadog {{< region-param key="mcp_server_endpoint" >}}
+ + または、`~/.gemini/settings.json`に追加してください。 +
{
+      "mcpServers": {
+        "datadog": {
+          "httpUrl": "{{< region-param key="mcp_server_endpoint" >}}"
+        }
+      }
+    }
+ +1. [製品特有のツール](#toolsets)を有効にするには、エンドポイントURLの末尾に`toolsets`クエリパラメータを含めてください。たとえば、このURLは_のみ_APMおよびLLM Observabilityツールを有効にします (すべての一般に利用可能なツールセットを有効にするには`toolsets=all`を使用してください。これは、ツールフィルタリングをサポートするクライアントに最適です)。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +
リモート認証が利用できない場合は、ローカルバイナリ認証を代わりに使用してください。
+ +[1]: /ja/getting_started/site/ +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +[1]: /ja/getting_started/site/ +{{% /tab %}} + +{{% tab "Goose" %}} + +AIエージェントを、地域の[Datadogサイト][3]のMCPサーバーエンドポイントに向けてください。正しい手順については、このドキュメントページの右側にある{{< ui >}}Datadog Site{{< /ui >}}セレクターを使用して、サイトを選択してください。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +選択したエンドポイント ({{< region-param key="dd_site_name" >}}):{{< region-param key="mcp_server_endpoint" >}}。 + +1. 次のいずれかの方法を使用して、Goose に Datadog MCP サーバーを追加します。 + - **ワンクリックインストール (推奨):**Datadog MCPサーバーを使用します {{< region-param key="goose_mcp_install_deeplink" link="true" text="install deeplink" >}}。 + - **手動設定:** このセクションに記載されているエンドポイントをストリーミング可能 HTTP サーバーURL として使用して、Goose で [MCP サーバーを追加する][2] ための手順に従ってください。設定を直接編集するには、`~/.config/goose/config.yaml` を修正します。 + +1. [製品固有のツール][1] を有効にするには、エンドポイント URL の末尾に `toolsets` クエリパラメータを含めます。たとえば、この URL で有効になるのは、APM と LLM Observability のツール_だけ_です。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ + To enable all generally available toolsets, use `toolsets=all`. This works best for clients that support tool filtering. + +1. 初回セッション起動時に認証を求められたら、Datadog アカウントを選択してください。 + +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +[1]: /ja/bits_ai/mcp_server#toolsets +[2]: https://goose-docs.ai/docs/getting-started/using-extensions#mcp-servers +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +[3]: /ja/getting_started/site/ +{{% /tab %}} + +{{% tab "JetBrains IDE" %}} + +JetBrains は、さまざまな IDE 向けに [Junie][1] および [AI Assistant][2] プラグインを提供しています。GitHub は [Copilot][4] プラグインを提供しています。また、多くの開発者は、IDE と一緒に Claude Code、Codex、または Gemini CLI などのエージェント CLI を使用しています。 + +プラグインを地域の [Datadogサイト][3] の MCP サーバーエンドポイントに向けます。正しい手順については、このドキュメントページの右側にある{{< ui >}}Datadog Site{{< /ui >}}セレクターを使用して、サイトを選択してください。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +選択したエンドポイント ({{< region-param key="dd_site_name" >}}):{{< region-param key="mcp_server_endpoint" >}}。 + +{{% collapse-content title="Junie" level="h4" expanded=false id="jetbrains-junie" %}} +1. {{< ui >}}Tools{{< /ui >}} > {{< ui >}}Junie{{< /ui >}} > {{< ui >}}MCP Settings{{< /ui >}} に移動し、次のブロックを追加します。 + +
{
+      "mcpServers": {
+        "datadog": {
+          "type": "http",
+          "url": "{{< region-param key="mcp_server_endpoint" >}}"
+        }
+      }
+    }
+    
+ +1. [製品特有のツール](#toolsets)を有効にするには、エンドポイントURLの末尾に`toolsets`クエリパラメータを含めてください。たとえば、このURLは_のみ_APMおよびLLM Observabilityツールを有効にします (すべての一般に利用可能なツールセットを有効にするには`toolsets=all`を使用してください。これは、ツールフィルタリングをサポートするクライアントに最適です)。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +1. OAuthを通じてログインするように求められます。設定のステータスインジケーターは、接続が成功すると緑のチェックマークを表示します。 + +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +{{% /collapse-content %}} + +{{% collapse-content title="JetBrains AI Assistant" level="h4" expanded=false id="jetbrains-ai-assistant" %}} +1. {{< ui >}}Tools{{< /ui >}} > {{< ui >}}AI Assistant{{< /ui >}} > {{< ui >}}Model Context Protocol (MCP){{< /ui >}} に移動し、次のブロックを追加します。 + +
{
+      "mcpServers": {
+        "datadog": {
+          "url": "{{< region-param key="mcp_server_endpoint" >}}"
+          "headers": {
+            "DD_API_KEY": "<YOUR_API_KEY>",
+            "DD_APPLICATION_KEY": "<YOUR_APP_KEY>"
+          }
+        }
+      }
+    }
+    
+ +1. [製品特有のツール](#toolsets)を有効にするには、エンドポイントURLの末尾に`toolsets`クエリパラメータを含めてください。たとえば、このURLは_のみ_APMおよびLLM Observabilityツールを有効にします (すべての一般に利用可能なツールセットを有効にするには`toolsets=all`を使用してください。これは、ツールフィルタリングをサポートするクライアントに最適です)。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +1. 設定のステータスインジケーターは、接続が成功すると緑のチェックマークを表示します。 + +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +{{% /collapse-content %}} + +{{% collapse-content title="GitHub Copilot" level="h4" expanded=false id="github-copilot" %}} +1. {{< ui >}}Tools{{< /ui >}} > {{< ui >}}GitHub Copilot{{< /ui >}} > {{< ui >}}Model Context Protocol (MCP){{< /ui >}} に移動し、次のブロックを追加します。 + +
{
+      "servers": {
+        "datadog": {
+          "type": "http",
+          "url": "{{< region-param key="mcp_server_endpoint" >}}"
+        }
+      }
+    }
+    
+ +1. [製品特有のツール](#toolsets)を有効にするには、エンドポイントURLの末尾に`toolsets`クエリパラメータを含めてください。たとえば、このURLは_のみ_APMおよびLLM Observabilityツールを有効にします (すべての一般に利用可能なツールセットを有効にするには`toolsets=all`を使用してください。これは、ツールフィルタリングをサポートするクライアントに最適です)。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +1. エディターに表示される `Start` 要素をクリックしてサーバーを起動します。OAuthを通じてログインするように求められます。 + +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +{{% /collapse-content %}} + +{{% collapse-content title="エージェント CLI" level="h4" expanded=false id="jetbrains-agent-clis" %}} +多くの開発者は、JetBrains IDE と一緒に Claude Code、Codex、または Gemini CLI などのエージェント CLI を使用しています。これらの CLI ツールの設定を参照してください。 +- [Claude Code][4] +- [Codex][5] +- [Gemini CLI][6] + +[JetBrains IDE 用の Datadogプラグイン][3] は、これらのエージェント CLI と統合されています。中断のない体験のために、Datadog MCP サーバーを設定する際にプラグインを同時にインストールしてください。 + +[3]: /ja/ide_plugins/idea/ +[4]: /ja/bits_ai/mcp_server/setup/?tab=claudecode +[5]: /ja/bits_ai/mcp_server/setup/?tab=codex +[6]: /ja/bits_ai/mcp_server/setup/?tab=geminicli +{{% /collapse-content %}} +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +[1]: https://plugins.jetbrains.com/plugin/26104-junie-the-ai-coding-agent-by-jetbrains +[2]: https://plugins.jetbrains.com/plugin/22282-jetbrains-ai-assistant +[3]: /ja/getting_started/site/ +[4]: https://plugins.jetbrains.com/plugin/17718-github-copilot--your-ai-pair-programmer +{{% /tab %}} + +{{% tab "Kiro" %}} + +AIエージェントを、地域の[Datadogサイト][3]のMCPサーバーエンドポイントに向けてください。正しい手順については、このドキュメントページの右側にある{{< ui >}}Datadog Site{{< /ui >}}セレクターを使用して、サイトを選択してください。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +選択したエンドポイント ({{< region-param key="dd_site_name" >}}):{{< region-param key="mcp_server_endpoint" >}}。 + +1. 次の内容を[Kiro MCP設定ファイル][2]に追加してください (`~/.kiro/settings/mcp.json`はユーザー範囲の設定用)。 + +
{
+      "mcpServers": {
+        "datadog": {
+          "url": "{{< region-param key="mcp_server_endpoint" >}}"
+        }
+      }
+    }
+ +1. [製品特有のツール](#toolsets)を有効にするには、エンドポイントURLの末尾に`toolsets`クエリパラメータを含めてください。たとえば、このURLは_のみ_APMおよびLLM Observabilityツールを有効にします (すべての一般に利用可能なツールセットを有効にするには`toolsets=all`を使用してください。これは、ツールフィルタリングをサポートするクライアントに最適です)。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +[2]: https://kiro.dev/docs/mcp/configuration/ +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +[3]: /ja/getting_started/site/ +{{% /tab %}} + +{{% tab "OpenCode" %}} + +公式の [Datadog OpenCode Plugin][2] (プレビュー中) を使用して、[OpenCode][3] を Datadog MCP サーバーに接続します。プラグインは、`opencode.json` 内の MCP サーバーエントリを作成および維持し、エージェントがセットアップ、サイト変更、および [ツールセット](#toolsets) の選択を処理するために使用する`ddsetup`、`ddconfig`、および `ddtoolsets` のツールを公開します。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} + +1. プラグインを `opencode.json` 設定ファイルに追加します。このファイルが存在しない場合は、それを作成します。 + +
{
+     "plugin": ["@datadog/opencode-plugin"]
+   }
+ + If a `plugin` array already exists, add `"@datadog/opencode-plugin"` to it. + + If you previously configured the Datadog MCP Server manually in `opencode.json`, remove or disable that entry to avoid conflicts with the plugin. + +1. OpenCode を再起動してください。パッケージは起動時に npm から取得されます。 + +1. `ddsetup` を実行するよう、エージェントに依頼します。プラグインにより、サイト選択が処理されます。 + +1. MCP サーバーを有効にするためにもう一度 OpenCode を再起動し、プロンプトが表示されたら OAuth ログインフローを完了してください。 + +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +1. 製品固有のツール[ を有効にするには、](#toolsets) を実行するようにエージェントに依頼してください。`ddtoolsets` + +セットアップ後、`ddconfig`を実行するようエージェントに依頼して、Datadog サイトを変更するか、接続のトラブルシューティングを実行してください。 + +{{% collapse-content title="手動構成" level="h4" expanded=false id="opencode-manual" %}} +プラグインなしで MCP サーバーを構成するには、`opencode.json` 設定ファイルに次の内容を追加します。 + +選択したエンドポイント ({{< region-param key="dd_site_name" >}}):{{< region-param key="mcp_server_endpoint" >}}。 + +
{
+  "mcp": {
+    "datadog": {
+      "type": "remote",
+      "url": "{{< region-param key="mcp_server_endpoint" >}}",
+      "enabled": true
+    }
+  }
+}
+ +[製品特有のツール](#toolsets)を有効にするには、エンドポイントURLの末尾に`toolsets`クエリパラメータを含めてください。たとえば、この URL で有効になるのは、APM と LLM Observability のツール_だけ_です。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +一般に利用可能なすべてのツールセットを有効にするには、`toolsets=all` を使用します。これは、ツールフィルタリングをサポートするクライアントに最適です。 +{{% /collapse-content %}} + +[1]: /ja/getting_started/site/ +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +[2]: https://github.com/datadog-labs/opencode-plugin +[3]: https://opencode.ai/ +{{% /tab %}} + +{{% tab "VS コード" %}} + +Datadog の [カーソルと VS Code 拡張機能][1] には、管理された Datadog MCP サーバーへの組み込みアクセスが含まれています。GitHub Copilot は、VS Code で Datadog MCP サーバーにアクセスすることもできます (アクティブな GitHub Copilot サブスクリプションが必要)。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +1. 拡張機能をインストールします (`--profile` とプロファイル名を省略して、デフォルトの VS Code プロファイルにインストールします)。 + ```shell + code --install-extension datadog.datadog-vscode --profile + ``` + または、[Datadog 拡張機能][2] をインストールします。すでに拡張機能がインストールされている場合は、最新バージョンであることを確認してください。 +1. Datadog アカウントにサインインします。 +1. **IDE を再起動します。** +1. Datadog MCP サーバーが利用可能であり、[ツール][3] がリストされていることを確認してください: ャットパネルを開き、エージェントモードを選択し、{{< ui >}}Configure Tools{{< /ui >}} ボタンをクリックします。 + {{< img src="bits_ai/mcp_server/vscode_configure_tools_button.png" alt="VS Code の Configure Tools button を設定します。" style="width:70%;" >}} +1. 以前に手動で Datadog MCP サーバーをインストールした場合は、競合を避けるために IDE の設定から削除してください。コマンドパレット (`Shift` + `Cmd/Ctrl` + `P`) を開き、`MCP: Open User Configuration`を実行します。 +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +[2]: /ja/ide_plugins/vscode/?tab=vscode#installation +[3]: /ja/bits_ai/mcp_server/tools +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +[1]: /ja/ide_plugins/vscode/ +{{% /tab %}} + +{{% tab "Warp" %}} + +[Warp][1] は、組み込みの MCP サポートを持つエージェント端末です。Warp エージェントを、地域の [Datadog サイト][2] の MCP サーバーエンドポイントに向けてください。正しい手順については、このドキュメントページの右側にある{{< ui >}}Datadog Site{{< /ui >}}セレクターを使用して、サイトを選択してください。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +選択したエンドポイント ({{< region-param key="dd_site_name" >}}):{{< region-param key="mcp_server_endpoint" >}}。 + +1. Warp アプリで、{{< ui >}}Settings{{< /ui >}} > {{< ui >}}MCP Servers{{< /ui >}} に移動し、{{< ui >}}+ Add{{< /ui >}} をクリックします。 + +1. 次の構成を貼り付けます。 + +
{
+      "Datadog": {
+        "url": "{{< region-param key="mcp_server_endpoint" >}}"
+      }
+    }
+ + To enable [product-specific tools](#toolsets), include the `toolsets` query parameter at the end of the endpoint URL. For example, this URL enables _only_ APM and LLM Observability tools (use `toolsets=all` to enable all generally available toolsets, best for clients that support tool filtering): + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +1. Datadog サーバーで {{< ui >}}Start{{< /ui >}} をクリックします。Warp は、OAuth ログインフローを完了するためにブラウザを開きます。資格情報はデバイスに安全に保存され、将来のセッションで再利用されます。 + +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+{{< /site-region >}} + +[1]: https://www.warp.dev/ +[2]: /ja/getting_started/site/ +{{% /tab %}} + +{{% tab "その他" %}} + +ほとんどの他の[サポートされているクライアント](#supported-clients)については、リモート認証のためのこれらの指示を使用してください。Clineまたはリモート認証が信頼できない、または利用できない場合は、[ローカルバイナリ認証](#local-binary-authentication)を使用してください。 + +AIエージェントを、地域の[Datadogサイト][1]のMCPサーバーエンドポイントに向けてください。正しい手順については、このドキュメントページの右側にある{{< ui >}}Datadog Site{{< /ui >}}セレクターを使用して、サイトを選択してください。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +選択したエンドポイント ({{< region-param key="dd_site_name" >}}):{{< region-param key="mcp_server_endpoint" >}}。 + +1. HTTP トランスポートとあなたのサイトのエンドポイント URL を使用して、クライアントの設定ファイルに Datadog MCP サーバーを追加します。たとえば、次のとおりです。 + +
{
+      "mcpServers": {
+        "datadog": {
+          "type": "http",
+          "url": "{{< region-param key="mcp_server_endpoint" >}}"
+        }
+      }
+    }
+ +1. [製品特有のツール](#toolsets)を有効にするには、エンドポイントURLの末尾に`toolsets`クエリパラメータを含めてください。たとえば、このURLは_のみ_APMおよびLLM Observabilityツールを有効にします (すべての一般に利用可能なツールセットを有効にするには`toolsets=all`を使用してください。これは、ツールフィルタリングをサポートするクライアントに最適です)。 + +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=apm,llmobs
+ +1. Datadogリソースにアクセスするために必要な[権限](#required-permissions)があることを確認してください。 + +{{< /site-region >}} + +{{< site-region region="gov,gov2" >}} +
選択したサイトでは Datadog MCP サーバーはサポートされていません ({{< region-param key="dd_site_name" >}})。
+ +{{< /site-region >}} + +[1]: /ja/getting_started/site/ +{{% /tab %}} +{{< /tabs >}} + +## ツールセット {#toolsets} + +Datadog MCPサーバーは、_ツールセット_をサポートしており、必要な[MCPツール][49]のみを使用できるようにし、貴重なコンテキストウィンドウのスペースを節約します。ツールセットを使用するには、MCPサーバーに接続する際にエンドポイントURLに`toolsets`クエリパラメータを含めてください ([リモート認証](#authentication)のみ)。`toolsets=all`を使用して、一般に利用可能なすべてのツールセットを一度に有効にします。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +たとえば、選択した[Datadogサイト][17]に基づいて({{< region-param key="dd_site_name" >}}): + +- コアツールのみを取得します (`toolsets`が指定されていない場合はこれがデフォルトです)。 +
{{< region-param key="mcp_server_endpoint" >}}
+ +- Synthetic Testing 関連のツールのみを取得します。 +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=synthetics
+ +- コア、Synthetic Testing、およびソフトウェア配信ツールを取得します。 +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=core,synthetics,software-delivery
+ +- 一般に利用可能なすべてのツールを取得します。 +
{{< region-param key="mcp_server_endpoint" >}}?toolsets=all
+ +
すべてのツールセットを有効にすると、AI クライアントに送信されるツール定義の数が増加し、コンテキストウィンドウのスペースを消費します。toolsets=all ツールフィルタリングをサポートするクライアント (例: Claude Code) で最適に動作します。
+ +[17]: /ja/getting_started/site/#navigate-the-datadog-documentation-by-site +{{< /site-region >}} + +### 利用可能なツールセット {#available-toolsets} + +これらのツールセットは一般に利用可能です。利用可能なツールの完全なリファレンスは、ツールセットごとに整理され、例のプロンプトが含まれている[Datadog MCPサーバーツール][49]を参照してください。 + +- `core`: ログ、メトリクス、トレース、ダッシュボード、モニター、インシデント、ホスト、サービス、イベント、およびノートブックのデフォルトツールセット +- `alerting`: モニターの検証と作成、モニターグループの検索、モニターテンプレートの取得、モニターのカバレッジ分析、およびSLOの検索のためのツール +- `cases`: [Case Management][42] 用のツール。case の作成、検索、更新、プロジェクトの管理、および Jira の課題のリンクを含みます。 +- `dashboards`: [ダッシュボード][46]の取得、作成、更新、削除のためのツール、ウィジェットスキーマのリファレンスと検証も含む +- `dbm`: [Database Monitoring][33]と対話するためのツール +- `ddsql`: インフラリソース、ログ、メトリクス、RUM、スパン、その他のDatadogデータソースをサポートするSQL方言である[ DDSQL][44]を使用してDatadogデータをクエリするためのツール +- `error-tracking`: Datadog [Error Tracking][32]と対話するためのツール +- `feature-flags`: [feature flags][35]を管理するためのツール、フラグとその環境の作成、リスト表示、更新を含む +- `kubernetes`: すべてのクラスターの中から [Kubernetes][51] リソースを検索し、説明し、マニフェストを取得するためのツール +- `llmobs`: [LLM Observability][36]のスパンと実験を検索および分析するためのツール +- `networks`: [Cloud Network Monitoring][37]分析および[Network Device Monitoring][38]のためのツール +- `onboarding`: エージェント的なオンボーディングツールによるDatadogのセットアップと構成のガイド +- `product-analytics`: [Product Analytics][41]クエリと対話するためのツール +- `reference-tables`: [Reference Tables][48]を管理するためのツール、テーブルのリスト表示、行の読み取り、行の追加、クラウドストレージからのテーブル作成を含む +- `security`: コードセキュリティスキャンと[security signals][39]および[security findings][40]を検索するためのツール +- `software-delivery`: ソフトウェアデリバリー ([CI Visibility][30]および[Test Optimization][31]) と対話するためのツール +- `synthetics`: Datadogの[Synthetic tests][29]と対話するためのツール +- `workflows`: [Workflow Automation][43]のためのツール、エージェント使用のためのワークフローのリスト表示、検査、実行、構成を含む + +### プレビュー用ツールセット {#preview-toolsets} + +これらのツールセットはプレビュー中です。ツールセットにサインアップするには、プロダクトプレビューフォームを完成させるか、[Datadogサポート][47]に連絡してアクセスをリクエストしてください。 +- `apm`: ([Sign up][45]) [APM][34]トレース分析、スパン検索、Watchdogインサイト、パフォーマンス調査のためのツール + +## サポートされているクライアント {#supported-clients} + +| クライアント | 開発者 | ノート | +|--------|------|------| +| [カーソル][3] | カーソル | Datadog [カーソルと VS Code 拡張機能][15] を推奨。| +| [Claude Code][4] | Anthropic | | +| [Claude][19] | Anthropic | [カスタムコネクタのセットアップ](?tab=claude#installation) を使用します。Claude Cowork が含まれています。| +| [Codex CLI][6] | OpenAI | | +| [Gemini CLI][50] | Google | | +| [Warp][28] | Warp | | +| [VS Code][7] | マイクロソフト | Datadog [カーソルとVS Code拡張][16] を推奨。| +| [JetBrains IDEs][18] | JetBrains | [Datadog plugin][18] を推奨。| +| [Kiro][9]、[Kiro CLI][10] | Amazon Web Services | | +| [Goose][8] | Agentic AI Foundation | | +| [OpenCode][52] | SST | Datadog [OpenCode plugin][53] を推奨。| +| [Cline][11] | Various | 上記の {{< ui >}}Other{{< /ui >}} タブを参照してください。リモート認証が信頼できない場合は、Clineでローカルバイナリ認証を使用してください。| + +
Datadog MCPサーバーは大規模な開発中であり、追加のサポートクライアントが利用可能になる場合があります。
+ +## 必要な権限 {#required-permissions} + +MCP サーバーツールには、以下の [Datadog ユーザーロール権限][22] が必要です。 + +| 権限 | |では必須 +|------------|-------------| +| mcp_read | Datadogからデータを読み取るツール (例: モニターのクエリ、ログの検索、ダッシュボードの取得) | +| mcp_write | Datadog内のリソースを作成または変更するツール (例: モニターの作成、ホストのミュート) | + +`mcp_read`または`mcp_write`に加えて、ユーザーは基盤となるリソースの標準Datadog権限が必要です。たとえば、モニターを読み取るMCPツールを使用するには、`mcp_read`と[Monitors Read][24]権限の両方が必要です。リソースレベルの権限の完全なリストについては、[Datadogロール権限][25]を参照してください。 + +**Datadog標準ロール**を持つユーザーは、デフォルトで両方のMCPサーバー権限を持っています。組織が[カスタムロール][23]を使用している場合は、権限を手動で追加してください。 +1. 管理者として [**組織設定 > ロール**][26] に移動し、更新したいロールをクリックします。 +1. {{< ui >}}Edit Role{{< /ui >}} (鉛筆アイコン) をクリックします。 +1. 権限リストの下で、{{< ui >}}MCP Read{{< /ui >}} と {{< ui >}}MCP Write{{< /ui >}} のチェックボックスを選択します。 +1. ロールに必要な他のリソースレベルの権限を選択してください。 +1. {{< ui >}}Save{{< /ui >}} をクリックします。 + +組織の管理者は、[組織設定][27] からグローバル MCP アクセスと書き込み機能を管理できます。 + +## 認証 {#authentication} + +MCP サーバーは、[認証][14] のために OAuth 2.0 を使用します。OAuthフローを通過できない場合 (たとえば、サーバー上で)、`DD_API_KEY`および`DD_APPLICATION_KEY`のHTTPヘッダーとしてDatadogの[API キー and application key][1]を提供できます。 + +{{< site-region region="us,us3,us5,eu,ap1,ap2" >}} +たとえば、選択した[Datadogサイト][17]に基づいて({{< region-param key="dd_site_name" >}}): + +
{
+  "mcpServers": {
+    "datadog": {
+      "type": "http",
+      "url": "{{< region-param key="mcp_server_endpoint" >}}",
+      "headers": {
+          "DD_API_KEY": "<YOUR_API_KEY>",
+          "DD_APPLICATION_KEY": "<YOUR_APPLICATION_KEY>"
+      }
+    }
+  }
+}
+
+ +[17]: /ja/getting_started/site/#navigate-the-datadog-documentation-by-site +{{< /site-region >}} + +セキュリティのために、必要な権限だけを持つ[service account][13] からスコープが設定された API キーとアプリケーションキーを使用してください。 + +### ローカルバイナリ認証 {#local-binary-authentication} + +Clineの場合、またはリモート認証が信頼できない、あるいは利用できない場合、ローカル認証の利用が推奨されます。インストール後、通常はMCPサーバーの更新の恩恵を受けるためにローカルバイナリを更新する必要はありません。ツールはリモートで動作します。 + +{{% collapse-content title="Datadog MCPサーバーのローカルバイナリを設定する" level="h5" expanded=false id="mcp-local-binary" %}} + +1. Datadog MCP サーバーバイナリをインストールします (macOS と Linux)。 + ```bash + curl -sSL https://coterm.datadoghq.com/mcp-cli/install.sh | bash + ``` + これにより、バイナリが`~/.local/bin/datadog_mcp_cli`にインストールされます。 + + Windowsの場合、[Windowsバージョン][20]をダウンロードします。 + +2. `datadog_mcp_cli login` を手動で実行して OAuth ログインフローを実施し、[Datadogサイト][21] を選択します。 + +3. AI クライアントを設定することにより、`datadog_mcp_cli` をコマンドとして stdio トランスポートを使用するようにします。たとえば、macOS の場合 (`` を自分の OS ユーザー名に置き換えます): + ```json + { + "mcpServers": { + "datadog": { + "type": "stdio", + "command": "/Users//.local/bin/datadog_mcp_cli", + "args": [], + "env": {} + } + } + } + ``` + + 他のオペレーティングシステムの場合、`command`パスをダウンロードしたバイナリの場所に置き換えます: + - Linux: `/home//.local/bin/datadog_mcp_cli` + - Windows: `\bin\datadog_mcp_cli.exe` + +
Claude Codeの場合は、次のように実行できます。 +
claude mcp add datadog --scope user -- ~/.local/bin/datadog_mcp_cli
+ +4. 設定を適用し、MCP サーバーをロードするには、AIクライアントを完全に再起動してください。 +{{% /collapse-content %}} + +## MCP サーバーへのアクセスをテストします {#test-access-to-the-mcp-server} + +1. [MCPインスペクター][2] をインストールします。これは、MCP サーバーのテストとデバッグのための開発者ツールです。 + + ```bash + npx @modelcontextprotocol/inspector + ``` +2. インスペクターの Web UI で、{{< ui >}}Transport Type{{< /ui >}} については、{{< ui >}}Streamable HTTP{{< /ui >}} を選択します。 +3. {{< ui >}}URL{{< /ui >}} については、地域の Datadog サイト用の MCP サーバーエンドポイントを入力します。 + {{< site-region region="us,us3,us5,eu,ap1,ap2" >}} + 例: {{< region-param key="dd_site_name" >}}: {{< region-param key="mcp_server_endpoint" >}} + {{< /site-region >}} +4. {{< ui >}}Connect{{< /ui >}} をクリックした後、{{< ui >}}Tools{{< /ui >}} > {{< ui >}}List Tools{{< /ui >}} に移動します。 +5. [利用可能なツール][12] が表示されるか確認してください。 + +## 参考資料 {#further-reading} + +{{< partial name="whats-next/whats-next.html" >}} + +[1]: /ja/account_management/api-app-keys/ +[2]: https://github.com/modelcontextprotocol/inspector +[3]: https://cursor.com +[4]: https://claude.com/product/claude-code +[5]: https://claude.com/download +[6]: https://chatgpt.com/codex +[7]: https://code.visualstudio.com/ +[8]: https://github.com/block/goose +[9]: https://kiro.dev/ +[10]: https://kiro.dev/cli/ +[11]: https://cline.bot/ +[12]: /ja/bits_ai/mcp_server/tools +[13]: /ja/account_management/org_settings/service_accounts/ +[14]: https://modelcontextprotocol.io/specification/draft/basic/authorization +[15]: /ja/ide_plugins/vscode/?tab=cursor +[16]: /ja/ide_plugins/vscode/ +[17]: /ja/getting_started/site/#navigate-the-datadog-documentation-by-site +[18]: /ja/ide_plugins/idea/ +[19]: https://claude.ai +[20]: https://coterm.datadoghq.com/mcp-cli/datadog_mcp_cli.exe +[21]: /ja/getting_started/site/ +[22]: /ja/account_management/rbac/permissions/#mcp +[23]: /ja/account_management/rbac/?tab=datadogapplication#custom-roles +[24]: /ja/account_management/rbac/permissions/#monitors +[25]: /ja/account_management/rbac/permissions/ +[26]: https://app.datadoghq.com/organization-settings/roles +[27]: https://app.datadoghq.com/organization-settings/preferences +[28]: https://www.warp.dev/ +[29]: /ja/synthetics/ +[30]: /ja/continuous_integration/ +[31]: /ja/tests/ +[32]: /ja/error_tracking/ +[33]: /ja/database_monitoring/ +[34]: /ja/tracing/ +[35]: /ja/feature_flags/ +[36]: /ja/llm_observability/mcp_server/ +[37]: /ja/network_monitoring/cloud_network_monitoring/ +[38]: /ja/network_monitoring/devices/ +[39]: /ja/security/threats/security_signals/ +[40]: /ja/security/misconfigurations/findings/ +[41]: /ja/product_analytics +[42]: /ja/service_management/case_management/ +[43]: /ja/actions/workflows/ +[44]: /ja/ddsql_editor/ +[45]: https://www.datadoghq.com/product-preview/apm-mcp-toolset/ +[46]: /ja/dashboards/ +[47]: /ja/help/ +[48]: /ja/reference_tables/ +[49]: /ja/bits_ai/mcp_server/tools +[50]: https://github.com/google-gemini/gemini-cli +[51]: /ja/containers/monitoring/kubernetes_explorer/ +[52]: https://opencode.ai/ +[53]: https://github.com/datadog-labs/opencode-plugin \ No newline at end of file diff --git a/content/ja/containers/cluster_agent/admission_controller.md b/content/ja/containers/cluster_agent/admission_controller.md index d9da9f16d7d..73498eedad7 100644 --- a/content/ja/containers/cluster_agent/admission_controller.md +++ b/content/ja/containers/cluster_agent/admission_controller.md @@ -1,36 +1,48 @@ --- aliases: - /ja/agent/cluster_agent/admission_controller +description: Datadog Admission Controller を使用して、環境変数と標準タグを Kubernetes Pod に自動的に挿入する further_reading: - link: /agent/cluster_agent/troubleshooting/ - tag: ドキュメント + tag: よくあるご質問 text: Datadog Cluster Agent のトラブルシューティング - link: /containers/troubleshooting/admission-controller - tag: ドキュメント + tag: よくあるご質問 text: Admission Controller のトラブルシューティング - link: https://www.datadoghq.com/blog/auto-instrument-kubernetes-tracing-with-datadog/ tag: ブログ - text: Datadog APM で Kubernetes アプリケーションのトレーシングを自動インスツルメンテーションするために、ライブラリインジェクションを使用します + text: Datadog APM で Kubernetes アプリケーションのトレーシングを自動インスツルメンテーションするために、ライブラリ挿入を使用する +- link: https://www.datadoghq.com/blog/datadog-csi-driver/ + tag: ブログ + text: Datadog の CSI ドライバーにより、高パフォーマンスの監視可能性を提供して Kubernetes 環境のセキュリティを確保する +- link: https://www.datadoghq.com/architecture/instrument-your-app-using-the-datadog-operator-and-admission-controller/ + tag: Architecture Center + text: Datadog Operator と Admission Controller を使用してアプリケーションをインスツルメントする +- link: /containers/guide/cluster_agent_disable_admission_controller + tag: よくあるご質問 + text: Cluster Agent で Datadog Admission Controller を無効にする title: Datadog Admission Controller --- +## 概要 {#overview} +Datadog Admission Controller は Datadog Cluster Agent のコンポーネントです。アプリケーション Pod のコンフィギュレーションを簡略化できる便利なツールです。Admission Controller には以下の 2 つの機能が備わっています。 -## 概要 -Datadog Admission Controller は Datadog Cluster Agent のコンポーネントで、アプリケーションポッドのコンフィギュレーションを簡略化できる便利なツールです。Admission Controller には以下の 2 つの機能が備わっています。 - -- 環境変数 (`DD_AGENT_HOST`、`DD_TRACE_AGENT_URL`、`DD_ENTITY_ID`) をユーザーのアプリケーションコンテナに挿入し、DogStatsD および APM トレーサーライブラリを構成する。 -- アプリケーションラベルから取得した Datadog の標準タグ (`env`、`service`、`version`) をコンテナ環境変数に挿入する。 +- 環境変数 (`DD_AGENT_HOST`、`DD_TRACE_AGENT_URL`、`DD_ENTITY_ID`、および `DD_EXTERNAL_ENV`) をユーザーのアプリケーションコンテナに挿入して、DogStatsD と Datadog SDK を構成します。 +- アプリケーションラベルから取得した Datadog の標準タグ (`env`、`service`、`version`) をコンテナ環境変数に挿入します。 -Datadog Admission Controller は `MutatingAdmissionWebhook` 型に属します。Admission Controller について詳しくは、[Admission Controller に関する Kubernetes ガイド][1]を参照してください。 +Datadog の Admission Controller は `MutatingAdmissionWebhook` 型に属します。Admission Controller について詳しくは、[Admission Controller に関する Kubernetes ガイド][1] を参照してください。 -## 要件 +## 要件 {#requirements} - Datadog Cluster Agent v7.40+ -## 構成 +## 構成 {#configuration} {{< tabs >}} {{% tab "Datadog Operator" %}} -Datadog Operator の Admission Controller を有効にするには、`DatadogAgent` の構成でパラメーター `features.admissionController.enabled` を `true` に設定します。 +Datadog Operator では Datadog Admission Controller がデフォルトで有効になります。Admission Controller を有効にするために追加構成は必要ありません。 + + +Admission Controller を無効にした場合は、`DatadogAgent` 構成でパラメーター `features.admissionController.enabled` を `true` に設定することにより、再度有効にできます。 {{< code-block lang="yaml" filename="datadog-agent.yaml" disable_copy="false" >}} apiVersion: datadoghq.com/v2alpha1 @@ -46,7 +58,7 @@ spec: {{< /code-block >}} {{% /tab %}} {{% tab "Helm" %}} -Helm chart v2.35.0 から、Datadog Admission Controller がデフォルトで有効化されました。Admission Controller を有効にするために、特別な構成は必要ありません。 +Helm チャート v2.35.0 から、Datadog Admission Controller がデフォルトで有効化されるようになりました。Admission Controller を有効にするために追加構成は必要ありません。 Admission Controller で v2.34.6 以前の Helm チャートを有効にするには、パラメーター `clusterAgent.admissionController.enabled` を `true` に設定してください。 @@ -54,16 +66,16 @@ Admission Controller で v2.34.6 以前の Helm チャートを有効にする #(...) clusterAgent: #(...) - ## @param admissionController - オブジェクト - 必須 - ## admissionController での自動 APM 挿入を有効化 - ## DogStatsD config および標準タグ (env、service、version) を - ## ポッドに挿入 + ## @param admissionController - object - required + ## Enable the admissionController to automatically inject APM and + ## DogStatsD config and standard tags (env, service, version) into + ## your pods # admissionController: enabled: true ## @param mutateUnlabelled - boolean - optional - ## ポッドラベルなしで config の挿入を有効化: + ## Enable injecting config without having the pod label: ## admission.datadoghq.com/enabled="true" # mutateUnlabelled: false @@ -73,7 +85,7 @@ clusterAgent: Helm または Datadog Operator を使用せずに Admission Controller を有効にするには、コンフィギュレーションに以下を追加します。 -まず、[Cluster Agent RBAC アクセス許可][1]のマニフェストをダウンロードし、`rules` の下に以下を追加します。 +まず、[Cluster Agent RBAC アクセス許可][1] のマニフェストをダウンロードし、`rules` の下に以下を追加します。 {{< code-block lang="yaml" filename="cluster-agent-rbac.yaml" disable_copy="true" >}} - apiGroups: @@ -120,12 +132,12 @@ Cluster Agent のデプロイに環境変数を追加し、Admission Controller - name: DD_ADMISSION_CONTROLLER_SERVICE_NAME value: "datadog-cluster-agent-admission-controller" -# このコメントを解除して自動的に APM トレーサーを構成します (以下を参照) +# Uncomment this to configure Datadog SDKs automatically (see below) # - name: DD_ADMISSION_CONTROLLER_MUTATE_UNLABELLED # value: "true" {{< /code-block >}} -最期に、次のコマンドを実行します。 +最後に、次のコマンドを実行します。 - `kubectl apply -f cluster-agent-rbac.yaml` - `kubectl apply -f agent-services.yaml` @@ -135,26 +147,27 @@ Cluster Agent のデプロイに環境変数を追加し、Admission Controller {{% /tab %}} {{< /tabs >}} -### インスツルメンテーションライブラリの挿入 -Cluster Agent (バージョン 7.39 以降) を構成して、インスツルメンテーションライブラリを挿入することができます。詳しくは、[Admission Controller によるインスツルメンテーションライブラリの挿入][2]を参照してください。 +### APM インスツルメンテーションライブラリの挿入{#apm-instrumentation-library-injection} +Cluster Agent (バージョン 7.39 以降) を構成し、Single Step Instrumentation を使用してインスツルメンテーションライブラリを挿入することができます。詳しくは、[シングルステップ APM インスツルメンテーション][2] を参照してください。 +Single Step Instrumentation を使用したくない場合は、Datadog Admission Controller を使用して Datadog SDK を手動かつ Pod レベルで直接挿入することができます。詳しくは、[ローカル SDK 挿入][7] を参照してください。 -### APM および DogStatsD +### APM および DogStatsD 環境変数の挿入 {#apm-and-dogstatsd-environment-variable-injection} -DogStatsD クライアントやライブラリの挿入をサポートしていない他の APM ライブラリを構成するには、以下のいずれかの方法で環境変数 `DD_AGENT_HOST` と `DD_ENTITY_ID` を挿入します。 -- ラベル `admission.datadoghq.com/enabled: "true"` をポッドに追加します。 +DogStatsD クライアントやライブラリの挿入をサポートしていない他の APM ライブラリを構成するには、以下のいずれかの方法で環境変数 `DD_AGENT_HOST` と`DD_ENTITY_ID` を挿入します。 +- 自分の Pod にラベル `admission.datadoghq.com/enabled: "true"` を追加します。 - `mutateUnlabelled` (コンフィギュレーションメソッドによっては `DD_ADMISSION_CONTROLLER_MUTATE_UNLABELLED`) を `true` に設定して Cluster Agent の Admission Controller を構成します。 -Helm チャートに `mutateUnlabelled: true` という Agent 構成を追加すると、Cluster Agent はラベルのないすべてのポッドをインターセプトしようとします。 +Helm チャートに `mutateUnlabelled: true` という Agent 構成を追加すると、Cluster Agent はラベルのないすべての Pod をインターセプトしようとします。 -ポッドで環境変数を受信しないようにするには、ラベル `admission.datadoghq.com/enabled: "false"` を追加します。これは `mutateUnlabelled: true` を設定している場合でも機能します。 +Pod で環境変数を受信しないようにするには、ラベル `admission.datadoghq.com/enabled: "false"` を追加します。これは、`mutateUnlabelled: true` を設定している場合でも機能します。 -`mutateUnlabelled` が `false` に設定されている場合、ポッドラベルは `admission.datadoghq.com/enabled: "true"` とします。 +`mutateUnlabelled` が `false` に設定されている場合、Pod ラベルは `admission.datadoghq.com/enabled: "true"` に設定する必要があります。 利用可能なオプション: -| mutateUnlabelled | ポッドラベル | 挿入可否 | -|------------------|-----------------------------------------|-----------| +| mutateUnlabelled | Pod ラベル | 挿入 | +| ---------------- | --------------------------------------- | --------- | | `true` | ラベルなし | はい | | `true` | `admission.datadoghq.com/enabled=true` | はい | | `true` | `admission.datadoghq.com/enabled=false` | いいえ | @@ -163,39 +176,43 @@ Helm チャートに `mutateUnlabelled: true` という Agent 構成を追加す | `false` | `admission.datadoghq.com/enabled=false` | いいえ | -#### 優先順位 -Datadog Admission Controller は環境変数 `DD_VERSION`、`DD_ENV` または `DD_SERVICE` が既に存在する場合は挿入を行いません。 +#### 優先順位 {#order-of-priority} +Datadog Admission Controller は環境変数 `DD_VERSION`、`DD_ENV` または `DD_SERVICE` がすでに存在する場合は挿入を行いません。 これらの環境変数が設定されていない場合、Admission Controller は以下の順序で標準タグの値を使用します (高い方から順に)。 -- ポッド上のラベル +- Pod 上のラベル - `ownerReference` のラベル (ReplicaSets、DaemonSets、Deployments など) -#### APM と DogstatsD の通信モードの構成 +#### APM と DogstatsD の通信モードの構成 {#configure-apm-and-dogstatsd-communication-mode} Datadog Cluster Agent v1.20.0 以降、Datadog Admission Controller は、アプリケーションと Datadog Agent の間で異なる通信モードを注入するように構成することができるようになりました。 -この機能は `admission_controller.inject_config.mode` を設定するか、ポッドラベル `admission.datadoghq.com/config.mode` を使用してポッド固有のモードを定義することによって構成することができます。 +この機能は `admission_controller.inject_config.mode` を設定するか、Pod ラベル `admission.datadoghq.com/config.mode` を使用して Pod 固有のモードを定義することによって構成することができます。 + +Helm chart v3.22.0 および Datadog Operator v1.1.0 以降、APM ソケットまたは DSD ソケットが有効になっている場合、通信モードは自動的に `socket` に設定されます。 -可能なオプション: -| モード | 説明 | -|--------------------|-------------------------------------------------------------------------------------------------------------------| -| `hostip` (デフォルト) | 環境変数 `DD_AGENT_HOST` にホスト IP を注入する | -| `service` | Datadog のローカルサービスの DNS 名を環境変数 `DD_AGENT_HOST` に注入する (Kubernetes v1.22+で使用可能)| -| `socket` | 環境変数 `DD_TRACE_AGENT_URL` に Unix ドメインソケットのパスを注入し、対応するパスにアクセスするようにボリュームを定義する。`DD_DOGSTATSD_URL` に、DogStatsD メトリクスの Datadog Agent への接続に使用する URL を挿入する。 | +利用可能なオプション: +| モード | 説明 | +| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `hostip` (デフォルト) | ホスト IP を `DD_AGENT_HOST` 環境変数に挿入 | +| `service` | Datadog のローカルサービス DNS 名を `DD_AGENT_HOST` 環境変数に挿入 (Kubernetes v1.22+ で利用可能) | +| `socket` | Unix Domain Socket のパスを `DD_TRACE_AGENT_URL` 環境変数に挿入し、対応するパスにアクセスするためのボリューム定義を行います。DogStatsD メトリクスの Datadog Agent に接続するために使用する URL を `DD_DOGSTATSD_URL` に挿入します。| +| `csi` | Unix Domain Socket のパスを `DD_TRACE_AGENT_URL` および `DD_DOGSTATSD_URL` 環境変数に挿入し、対応するパスにアクセスするための Datadog CSI ボリューム定義を行います。このモードは Datadog Cluster Agent v7.67+ で利用可能です。 | -**注**: ポッド固有のモードは、Admission Controller レベルで定義されたグローバルモードより優先されます。 +**注**: Pod 固有のモードは、Admission Controller レベルで定義されたグローバルモードより優先されます。 -## トラブルシューティング +## トラブルシューティング {#troubleshooting} -[Admission Controller のトラブルシューティング][6]を参照してください。 +[Admission Controller のトラブルシューティング][6] を参照してください。 -## その他の参考資料 +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: https://kubernetes.io/blog/2019/03/21/a-guide-to-kubernetes-admission-controllers/ -[2]: /ja/tracing/trace_collection/library_injection_local/ +[2]: https://docs.datadoghq.com/ja/tracing/trace_collection/automatic_instrumentation/single-step-apm/ [3]: https://docs.datadoghq.com/ja/agent/kubernetes/apm/?tab=helm#setup [4]: https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#add_firewall_rules [5]: https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html#security-group-rule-components -[6]: /ja/containers/troubleshooting/admission-controller \ No newline at end of file +[6]: /ja/containers/troubleshooting/admission-controller +[7]: https://docs.datadoghq.com/ja/tracing/guide/local_sdk_injection/ \ No newline at end of file diff --git a/content/ja/containers/docker/_index.md b/content/ja/containers/docker/_index.md index c9961643392..b62aa525dab 100644 --- a/content/ja/containers/docker/_index.md +++ b/content/ja/containers/docker/_index.md @@ -5,319 +5,332 @@ aliases: - /ja/agent/basic_agent_usage/docker/ - /ja/integrations/docker_daemon/ - /ja/docker/ +description: Docker コンテナおよびコンテナランタイム用の Datadog Agent をインストールして構成する further_reading: - link: https://app.datadoghq.com/release-notes?category=Container%20Monitoring tag: リリースノート - text: Datadog Containers の最新リリースをチェック! (アプリログインが必要です)。 + text: Datadog コンテナの最新リリースをチェックしてください。(アプリログインが必要です) - link: /agent/docker/log/ - tag: ドキュメント + tag: よくあるご質問 text: アプリケーションログの収集 - link: /agent/docker/apm/ - tag: ドキュメント + tag: よくあるご質問 text: アプリケーショントレースの収集 - link: /agent/docker/prometheus/ - tag: ドキュメント + tag: よくあるご質問 text: Prometheus メトリクスの収集 - link: /agent/docker/integrations/ - tag: ドキュメント - text: アプリケーションのメトリクスとログを自動で収集 + tag: よくあるご質問 + text: アプリケーションのメトリクスとログを自動的に収集する - link: /agent/guide/autodiscovery-management/ - tag: ドキュメント + tag: よくあるご質問 text: データ収集をコンテナのサブセットのみに制限 - link: /agent/docker/tag/ - tag: ドキュメント + tag: よくあるご質問 text: コンテナから送信された全データにタグを割り当て +- link: https://learn.datadoghq.com/courses/agent-on-docker + tag: ラーニングセンター + text: Docker 上の Agent title: Docker、containerd、Podman に対応した Docker Agent --- +## 概要 {#overview} -## 概要 +Datadog Docker Agent は、Docker、containerd、Podman ランタイムに対応した [Datadog Agent][1] です。サポートされている Docker バージョンについては、[サポート対象のプラットフォーム][2] を参照してください。 -The Datadog Docker Agent is the containerized version of the host [Agent][1]. The Docker Agent supports Docker, containerd, and Podman runtimes. The official [Docker image][2] is available on Docker Hub, Google Container Registry (GCR), and ECR-Public. +## Datadog Docker Agent をインストールする {#install-the-datadog-docker-agent} +[Datadog のインアプリインストールのフロー][3] の手順に従います。これは推奨されるフローです。API キー、最小必要構成、およびさまざまな Datadog 機能のトグルを使用して `docker run` コマンドを作成するのに役立ちます。 -
Docker Hub にはイメージのプルレート制限があります。Docker Hub をご利用でない場合は、Datadog Agent および Cluster Agent の構成を更新して、GCR または ECR からプルすることをお勧めします。手順については、コンテナレジストリの変更を参照してください。
+{{< img src="/agent/basic_agent_usage/agent_install_docker.png" alt="Docker に Datadog Agent をインストールするためのアプリ内手順。" style="width:90%;">}} -64-bit x86 および Arm v8 アーキテクチャ用のイメージをご用意しています。 +## Datadog Docker Agent を手動で実行する {#manually-run-the-datadog-docker-agent} -| ECR-Public | Google Container Registry | Docker Hub | -|----------------------------------------------------------------------|-----------------------------------------------------------------|--------------------------------------------------------| -| [Agent v6+][4]
`docker pull public.ecr.aws/datadog/agent` | [Agent v6+][3]
`docker pull gcr.io/datadoghq/agent` | [Agent v6+][2]
`docker pull datadog/agent` | -| [Agent v5][7]
`docker pull public.ecr.aws/datadog/docker-dd-agent`| [Agent v5][6]
`docker pull gcr.io/datadoghq/docker-dd-agent` | [Agent v5][5]
`docker pull datadog/docker-dd-agent` | +Fleet Automation フローは、Datadog の推奨手順に従って Datadog Agent コンテナを構成するのに役立ちます。これを手動で構成する場合は、以下の例を参照してください。 - -このページの CLI コマンドは Docker ランタイム用です。containerd ランタイムは `docker` を `nerdctl` に、Podman ランタイムは `podman` に置き換えてください。 - -## セットアップ - -Docker Agent をまだインストールしていない場合は、以下の手順または[アプリ内のインストール手順][8]を参照してください。[サポートされるバージョン][9]については、Agent のドキュメントを参照してください。ワンステップインストールコマンドを使用し、`` を [Datadog API キー][10]に、`` を {{< region-param key=dd_site code="true" >}} に置き換えてください。 +モニターするホストごとに 1 回ずつ Agent を Docker コンテナとして実行するには、次のコマンドを使用します。`` をご使用の Datadog API キーに置き換え、`` をご使用の {{< region-param key=dd_site code="true" >}}に置き換えます。 {{< tabs >}} -{{% tab "標準" %}} +{{% tab "Linux" %}} ```shell -docker run -d --cgroupns host --pid host --name dd-agent -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e DD_SITE= -e DD_API_KEY= gcr.io/datadoghq/agent:7 +docker run -d --cgroupns host --pid host --name dd-agent \ + -v /var/run/docker.sock:/var/run/docker.sock:ro \ + -v /proc/:/host/proc/:ro \ + -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \ + -e DD_SITE= \ + -e DD_API_KEY= \ + registry.datadoghq.com/agent:7 ``` +{{% /tab %}} +{{% tab "Windows" %}} +Datadog Agent は、Windows Server 2019 (LTSC) と Windows Server 2022 (LTSC) でサポートされています。次の PowerShell コマンドは Datadog Agent コンテナを実行します。 + +```powershell +docker run -d --name dd-agent ` + -v \\.\pipe\docker_engine:\\.\pipe\docker_engine ` + -e DD_SITE= ` + -e DD_API_KEY= ` + registry.datadoghq.com/agent:7 +``` +{{% /tab %}} +{{< /tabs >}} -ECR-Public の場合: +**注**: Docker Compose については、[Compose と Datadog Agent][4] を参照してください。Podman に Datadog Agent をデプロイする手順については、[Podman コンテナランタイムとの Docker インテグレーションの使用][5] を参照してください。 -```shell -docker run -d --cgroupns host --pid host --name dd-agent -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e DD_SITE= -e DD_API_KEY= public.ecr.aws/datadog/agent:7 -``` +## インテグレーション {#integrations} -**注**: GCR または ECR-Public 以外の別のレジストリを使用している場合は、必ずイメージを更新してください。 +Datadog Docker Agent が起動し、実行状態になったら、[Datadog インテグレーションを構成][6] して、アプリケーションコンテナからメトリクスとログを自動的に収集できます。Datadog の [コンテナ Autodiscovery][7] を使用すると、コンテナ化されたシステムの動的リソースに対するモニター構成を定義できます。 -**注**: ネットワークモニタリング、セキュリティエージェント、oom_kill チェックなど system-probe が提供するいくつかの機能では、 `/etc/os-release` ファイルを `-v /etc/os-release:/host/etc/os-release:ro` でマウントする必要があります。Linux ディストリビューションに `/etc/os-release` ファイルがない場合は、 `/etc/redhat-release` や `/etc/fedora-release` などの同等のファイルをマウントしてください。 +## Datadog Docker Agent の構成オプション {#configuration-options-for-the-datadog-docker-agent} -{{% /tab %}} -{{% tab "Amazon Linux" %}} +### コンテナレジストリ {#container-registries} -Amazon Linux < v2 の場合: +イメージは 64-bit x86 と Arm v8 アーキテクチャで利用可能です。Datadog では、Datadog コンテナレジストリ、GAR (Google Artifact Registry)、Amazon ECR、Azure ACR、および Docker Hub にコンテナイメージを公開しています。 -```shell -docker run -d --name dd-agent -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc/:/host/proc/:ro -v /cgroup/:/host/sys/fs/cgroup:ro -e DD_SITE= -e DD_API_KEY= gcr.io/datadoghq/agent:7 -``` -ECR-Public の場合: +{{% container-images-table %}} -```shell -docker run -d --cgroupns host --pid host --name dd-agent -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc/:/host/proc/:ro -v /cgroup/:/host/sys/fs/cgroup:ro -e DD_SITE= -e DD_API_KEY= public.ecr.aws/datadog/agent:7 -``` +デフォルトでは、上記の手順は Datadog コンテナレジストリ (`registry.datadoghq.com`) からイメージをプルします。このレジストリを使用する場合は、ファイアウォールで `us-docker.pkg.dev/datadog-prod/public-images` へのトラフィックが許可されていることを確認してください。これは、レジストリがこの URL にリクエストをリダイレクトすることがあるためです。 -Amazon Linux v2 の場合: +
Docker Hub はイメージプルレート制限の対象です。Docker Hub をご利用でない場合は、別のレジストリから取得するように構成を更新することをお勧めします。その手順については、コンテナのレジストリを変更するを参照してください。
-```shell -docker run -d --cgroupns host --pid host --name dd-agent -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e DD_SITE= -e DD_API_KEY= gcr.io/datadoghq/agent:7 -``` -ECR-Public の場合: +### 環境変数 {#environment-variables} -```shell -docker run -d --cgroupns host --pid host --name dd-agent -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e DD_SITE= -e DD_API_KEY= public.ecr.aws/datadog/agent:7 -``` +コンテナ化されていない環境では、Datadog Agent の構成オプションは [`datadog.yaml`][8] で設定されます。Datadog Docker Agent の場合は、環境変数を使用して `datadog.yaml` 構成オプションを設定できます。 -{{% /tab %}} -{{% tab "Windows" %}} +#### グローバルオプション {#global-options} -Datadog Agent は、Windows Server 2019 (LTSC) と Windows Server 2022 (LTSC) でサポートされています。 +`DD_API_KEY` +: ご使用の Datadog API キー (**必須**)。 -```shell -docker run -d --name dd-agent -e DD_SITE= -e DD_API_KEY= -v \\.\pipe\docker_engine:\\.\pipe\docker_engine gcr.io/datadoghq/agent -``` +`DD_ENV` +: 出力されるすべてのデータにグローバルタグの `env` を設定します。 -ECR-Public の場合: +`DD_HOSTNAME` +: メトリクスに使用するホスト名 (自動検出が失敗した場合)。 -```shell -docker run -d --name dd-agent -e DD_SITE= -e DD_API_KEY= -v \\.\pipe\docker_engine:\\.\pipe\docker_engine public.ecr.aws/datadog/agent -``` +`DD_HOSTNAME_FILE` +: 環境によっては、ホスト名の自動検出では十分でなく、環境変数で値を設定できない場合があります。そのような場合、ホスト上のファイルを使用して適切な値を提供することができます。`DD_HOSTNAME` が空でない値に設定されている場合、このオプションは無視されます。 -{{% /tab %}} -{{% tab "非特権" %}} +`DD_TAGS` +: ホストタグはスペースで区切ります。例: : `key1:value1 key2:value2` -(オプション) 非特権インストールを実行するには、インストールコマンドに `--group-add=` を追加します。次に例を示します。 +`DD_SITE` +: メトリクス、トレース、およびログの送信先サイト。Datadog サイトを以下に設定します: `{{< region-param key="dd_site" >}}`. Defaults to `datadoghq.com` -```shell -docker run -d --name dd-agent -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e DD_SITE= -e DD_API_KEY= gcr.io/datadoghq/agent:7 --group-add= -``` -ECR-Public の場合: +`DD_DD_URL` +: メトリクス送信用 URL を上書きするためのオプションの設定。 +`DD_URL`(6.36+/7.36+) +: `DD_DD_URL` のエイリアス。`DD_DD_URL` がすでに設定されている場合は無視されます。 -```shell -docker run -d --name dd-agent -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e DD_SITE= -e DD_API_KEY= public.ecr.aws/datadog/agent:7 --group-add= -``` +`DD_CHECK_RUNNERS` +: Agent はデフォルトですべてのチェックを同時に実行します (デフォルト値は `4` ランナーです)。チェックを順次実行する場合は、値を `1` に設定します。多数のチェック (または時間のかかるチェック) を実行する必要がある場合、`collector-queue` コンポーネントが遅延して、ヘルスチェックに失敗する可能性があります。ランナーの数を増やすと、チェックを並行して実行できます。 -{{% /tab %}} -{{< /tabs >}} +`DD_APM_ENABLED` +: トレース収集を有効にします。デフォルトは `true` です。トレース収集の追加環境変数について詳しくは、[Docker アプリケーションのトレース][9] をご覧ください。 -**注**: Docker Compose については、[Compose と Datadog Agent][11] を参照してください。 +`DD_LOGS_CONFIG_EXPECTED_TAGS_DURATION` +: 環境によっては、ホストからの最初のログに正しいタグが含まれないことがあります。新しいホストのタグがログに含まれていない場合は、この環境変数を含めて `"10m"` に設定してください。 -## インテグレーション +#### プロキシ設定 {#proxy-settings} -クラスター内で Agent を起動し、実行したら、[Datadog のオートディスカバリー機能][12]を使ってアプリケーションコンテナからメトリクスとログを自動的に収集します。 +Agent v6.4.0 (トレース Agent の場合は v6.5.0) より、以下の環境変数を使用して Agent のプロキシ設定を上書きできるようになりました。 +`DD_PROXY_HTTP` +: `http` リクエスト用のプロキシとして使用する HTTP URL です。 -## 環境変数 +`DD_PROXY_HTTPS` +: `https` リクエスト用のプロキシとして使用する HTTPS URL です。 -Agent の [メインコンフィギュレーションファイル][13]は `datadog.yaml` です。Docker Agent の場合、`datadog.yaml` コンフィギュレーションオプションは環境変数で渡されます。 +`DD_PROXY_NO_PROXY` +: プロキシを使用すべきではない場合に必要となる、URL をスペースで区切ったリストです。 -### グローバルオプション +プロキシ設定の詳細については、[Agent v6 Proxy のドキュメント][10] を参照してください。 -| 環境変数 | 説明 | -|----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_API_KEY` | Datadog API キー (**必須**) | -| `DD_ENV` | 出力されるすべてのデータにグローバル `env` タグを設定します。 | -| `DD_HOSTNAME` | メトリクスに使用するホスト名 (自動検出が失敗した場合) | -| `DD_HOSTNAME_FILE` | 環境によっては、ホスト名の自動検出がうまくいかず、環境変数で値を設定できない場合があります。このような場合、ホスト上のファイルを使って適切な値を提供することができます。もし `DD_HOSTNAME` が空でない値に設定されている場合、このオプションは無視されます。 | -| `DD_TAGS` | スペース区切りのホストタグ。例: `key1:value1 key2:value2` | -| `DD_SITE` | メトリクス、トレース、ログの送信先サイト。Datadog サイトを `{{< region-param key="dd_site" >}}` に設定します。デフォルトは `datadoghq.com` です。 | -| `DD_DD_URL` | メトリクス送信用 URL を上書きします。設定は任意です。 | -| `DD_URL` (6.36+/7.36+) | `DD_DD_URL` のエイリアス。すでに `DD_DD_URL` が設定されている場合は無視されます。 | -| `DD_CHECK_RUNNERS` | Agent はデフォルトですべてのチェックを同時に実行します (デフォルト値は `4` ランナーです)。チェックを順次実行する場合は、値を `1` に設定してください。ただし、多数のチェック (または時間のかかるチェック) を実行する必要がある場合、`collector-queue` コンポーネントが遅延して、ヘルスチェックに失敗する可能性があります。ランナーの数を増やすと、チェックを並行して実行できます。 | -| `DD_APM_ENABLED` | トレース収集を有効にします。デフォルトは `true` です。トレース収集の追加環境変数について詳しくは、[Docker アプリケーションのトレース][14]をご覧ください。 | -| `DD_LOGS_CONFIG_EXPECTED_TAGS_DURATION` | 環境によっては、ホストからの最初のログに正しいタグが含まれないことがあります。新しいホストのタグがログに含まれていない場合は、この環境変数を含めて `"10m"` に設定してください。| +#### オプションの収集 Agent {#optional-collection-agents} -### プロキシ設定 +セキュリティまたはパフォーマンス上の理由により、オプションの収集 Agent はデフォルトで無効になっています。有効にするには、以下の環境変数を使用します。 -Agent v6.4.0 (トレース Agent の場合は v6.5.0) より、以下の環境変数を使用して Agent のプロキシ設定を上書きできるようになりました。 +`DD_APM_NON_LOCAL_TRAFFIC` +: [他のコンテナからのトレース][11] 時に非ローカルなトラフィックを許可します。 + +`DD_LOGS_ENABLED` +: ログ Agent による [ログの収集][12] を有効にします。 -| 環境変数 | 説明 | -|---------------------|-------------------------------------------------------------------| -| `DD_PROXY_HTTP` | `http` リクエスト用のプロキシとして使用する HTTP URL です。 | -| `DD_PROXY_HTTPS` | `https` リクエスト用のプロキシとして使用する HTTPS URL です。 | -| `DD_PROXY_NO_PROXY` | プロキシを使用すべきではない場合に必要となる、URL をスペースで区切ったリストです。 | +`DD_PROCESS_CONFIG_PROCESS_COLLECTION_ENABLED` +: プロセスエージェントで [ライブプロセスの収集][13] を有効にします。Docker ソケットが利用可能な場合、[ライブコンテナビュー][14] はデフォルトですでに有効になっています。 -プロキシ設定の詳細については、[Agent v6 プロキシのドキュメント][15]を参照してください。 +#### DogStatsD (Custom Metrics) {#dogstatsd-custom-metrics} -### オプションの収集 Agent +Custom Metrics を [StatsD プロトコル][15] を使用して送信します。 -セキュリティまたはパフォーマンス上の理由により、オプションの収集 Agent はデフォルトで無効になっています。このエージェントを有効にするには、以下の環境変数を使用します。 +`DD_DOGSTATSD_NON_LOCAL_TRAFFIC` +: ほかのコンテナからの DogStatsD パケットをリスニングします (Custom Metrics の送信に必要)。 -| 環境変数 | 説明 | -|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_APM_NON_LOCAL_TRAFFIC` | [他のコンテナからのトレース][16]時に非ローカルなトラフィックを許可します。 | -| `DD_LOGS_ENABLED` | ログ Agent による[ログの収集][17]を有効にします。 | -| `DD_PROCESS_CONFIG_PROCESS_COLLECTION_ENABLED` | Process Agent で[ライブプロセス収集][18]を有効にします。Docker ソケットが利用可能な場合、[Live Container View][19] は既にデフォルトで有効になっています。 | +`DD_HISTOGRAM_PERCENTILES` +: 計算するヒストグラムのパーセンタイル (スペース区切り)。デフォルトは `0.95` です。 -### DogStatsD (カスタムメトリクス) +`DD_HISTOGRAM_AGGREGATES` +: 計算するヒストグラムの集計 (スペース区切り)。デフォルトは `"max median avg count"` です。 -カスタムメトリクスを [StatsD プロトコル][20]で送信します。 +`DD_DOGSTATSD_SOCKET` +: リスニングする UNIX ソケットのパス。`rw` でマウントされたボリューム内にある必要があります。 -| 環境変数 | 説明 | -|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_DOGSTATSD_NON_LOCAL_TRAFFIC` | 他のコンテナからの DogStatsD パケットをリスニングします (カスタムメトリクスの送信に必要)。 | -| `DD_HISTOGRAM_PERCENTILES` | 計算するヒストグラムのパーセンタイル (スペース区切り)。デフォルトは `0.95` です。 | -| `DD_HISTOGRAM_AGGREGATES` | 計算するヒストグラムの集計 (スペース区切り)。デフォルトは "max median avg count" です。 | -| `DD_DOGSTATSD_SOCKET` | リスニングする UNIX ソケットのパス。`rw` でマウントされたボリューム内にある必要があります。 | -| `DD_DOGSTATSD_ORIGIN_DETECTION` | UNIX ソケットのメトリクス用にコンテナの検出とタグ付けを有効にします。 | -| `DD_DOGSTATSD_TAGS` | この DogStatsD サーバーが受信するすべてのメトリクス、イベント、サービスのチェックに付加する追加タグ。たとえば `"env:golden group:retrievers"` のように追加します。 | -| `DD_USE_DOGSTATSD` | DogStatsD ライブラリからのカスタムメトリクスの送信を有効または無効にします。 | -詳しくは、[Unix ドメインソケット上の DogStatsD][21] を参照してください。 +`DD_DOGSTATSD_ORIGIN_DETECTION` +: UNIX ソケットのメトリクス用にコンテナの検出とタグ付けを有効にします。 -### タグ付け +`DD_DOGSTATSD_TAGS` +: この DogStatsD サーバーが受信するすべてのメトリクス、イベント、サービスのチェックに付加する追加タグ。例: : `"env:golden group:retrievers"` -ベストプラクティスとして、Datadog はタグを割り当てるときに[統合サービスタグ付け][22]を使用することをお勧めします。 +`DD_USE_DOGSTATSD` +: DogStatsD ライブラリからの Custom Metrics の送信を有効または無効にします。 +詳しくは、[Unix ドメインソケット上の DogStatsD][16] を参照してください。 + +#### タグ付け {#tagging} + +Datadog ではベストプラクティスとして、タグを割り当てるときに [unified service tagging][17] を使用することをお勧めします。 Datadog は Docker、Kubernetes、ECS、Swarm、Mesos、Nomad、Rancher から一般的なタグを自動的に収集します。さらに多くのタグを抽出するには、次のオプションを使用します。 -| 環境変数 | 説明 | -|-------------------------------|---------------------------------------------------------------------------------------------------------| -| `DD_CONTAINER_LABELS_AS_TAGS` | コンテナラベルを抽出します。この環境は、古い `DD_DOCKER_LABELS_AS_TAGS` 環境と同等です。 | -| `DD_CONTAINER_ENV_AS_TAGS` | コンテナ環境変数を抽出します。この環境は、古い `DD_DOCKER_ENV_AS_TAGS` 環境と同等です。 | -| `DD_COLLECT_EC2_TAGS` | AWS インテグレーションを使用せずに、カスタム EC2 タグを抽出します。 | +`DD_CONTAINER_LABELS_AS_TAGS` +: コンテナラベルを抽出します。この環境は `DD_DOCKER_LABELS_AS_TAGS` と同等です。 + +`DD_CONTAINER_ENV_AS_TAGS` +: コンテナ環境変数を抽出します。この環境は `DD_DOCKER_ENV_AS_TAGS` と同等です。 + +`DD_COLLECT_EC2_TAGS` +: AWS インテグレーションを使用せずに、カスタム EC2 タグを抽出します。 + +詳細については、[Docker タグの抽出][18] ドキュメントを参照してください。 + +#### シークレットファイルの使用 {#using-secret-files} + +インテグレーションの資格情報を Docker や Kubernetes のシークレットに格納し、Autodiscovery テンプレートで使用できます。詳細については、[機密情報管理のドキュメント][19] を参照してください。 + +#### コンテナの無視 {#ignore-containers} + +ログの収集、メトリクスの収集、Autodiscovery からコンテナを除外します。Datadog はデフォルトで Kubernetes と OpenShift の `pause` コンテナを除外します。これらの許可リストとブロックリストは Autodiscovery にのみ適用され、トレースと DogStatsD には影響しません。これらの環境変数の値には、正規表現を使用できます。 + +`DD_CONTAINER_INCLUDE` +: 処理対象に含めるコンテナの許可リスト (スペース区切り)。すべてを含める場合は `.*` を使用します。例: : `"image:image_name_1 image:image_name_2"`、`image:.*`。OpenShift 環境内で ImageStreams を使用する場合は、イメージの代わりにコンテナ名を使用してください。例: : `"name:container_name_1 name:container_name_2"`、`name:.*` + +`DD_CONTAINER_EXCLUDE` +: 処理対象から除外するコンテナのブロックリスト (スペース区切り)。すべてを除外する場合は `.*` を使用します。例: : `"image:image_name_3 image:image_name_4"`、`image:.*` (**注**: この変数は Autodiscovery に対してのみ有効です。) + +`DD_CONTAINER_INCLUDE_METRICS` +: メトリクスを含めるコンテナの許可リスト。 + +`DD_CONTAINER_EXCLUDE_METRICS` +: メトリクスを除外するコンテナのブロックリスト。 + +`DD_CONTAINER_INCLUDE_LOGS` +: ログを含めるコンテナの許可リスト。 + +`DD_CONTAINER_EXCLUDE_LOGS` +: ログを除外するコンテナのブロックリスト。 -詳細については、[Docker タグの抽出][23]ドキュメントを参照してください。 +`DD_AC_INCLUDE` +: **非推奨**:処理対象に含めるコンテナの許可リスト (スペース区切り)。すべてを含める場合は `.*` を使用します。例: : `"image:image_name_1 image:image_name_2"`、`image:.*` -### シークレットファイルの使用 +`DD_AC_EXCLUDE` +: **非推奨**:処理対象から除外するコンテナのブロックリスト (スペース区切り)。すべてを除外する場合は `.*` を使用します。例: `"image:image_name_3 image:image_name_4"`、`image:.*` (**注**: この変数は Autodiscovery に対してのみ有効です。) -インテグレーションの資格情報を Docker や Kubernetes のシークレットに格納し、オートディスカバリーテンプレートで使用できます。詳細については、[シークレット管理のドキュメント][24]を参照してください。 +その他の例は [コンテナのディスカバリー管理][20] ページでご確認いただけます。 -### コンテナの無視 +**注**: `kubernetes.containers.running`、`kubernetes.pods.running`、`docker.containers.running`、`.stopped`、`.running.total`、および `.stopped.total` メトリクスはこれらの設定の影響を受けません。すべてのコンテナを対象とします。これは、コンテナ単位の課金には影響しません。 -ログの収集、メトリクスの収集、オートディスカバリーからコンテナを除外します。Datadog はデフォルトで Kubernetes と OpenShift の `pause` コンテナを除外します。これらの許可リストとブロックリストはオートディスカバリーにのみ適用されます。トレースと DogStatsD は影響を受けません。これらの環境変数の値は、正規表現をサポートしています。 +**注**: containerd を使用する場合、`DD_CONTAINERD_NAMESPACES` と `DD_CONTAINERD_EXCLUDE_NAMESPACES` を使用すると、ネームスペースでコンテナを無視することができます。どちらもスペース区切りのネームスペースのリストです。`DD_CONTAINERD_NAMESPACES` が設定されている場合、Agent はリストに存在するネームスペースに属するコンテナのデータを報告します。`DD_CONTAINERD_EXCLUDE_NAMESPACES` が設定されている場合、Agent はリストのネームスペースに属するものを除く、すべてのコンテナのデータをレポートします。 -| 環境変数 | 説明 | -|--------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_CONTAINER_INCLUDE` | 処理対象に入れるコンテナの許可リスト (スペース区切り)。すべてを対象に入れる場合は、`.*` を使用します。例: `"image:image_name_1 image:image_name_2"`、`image:.*` OpenShift 環境内で ImageStreams を使用する場合は、イメージの代わりにコンテナ名を使用してください。例: "name:container_name_1 name:container_name_2", name:.* | -| `DD_CONTAINER_EXCLUDE` | 処理対象から除外するコンテナのブロックリスト (スペース区切り)。すべてを対象から除外する場合は、`.*` を使用します。例: `"image:image_name_3 image:image_name_4"` (**注**: この変数はオートディスカバリーに対してのみ有効)、`image:.*` | -| `DD_CONTAINER_INCLUDE_METRICS` | メトリクスを含めたいコンテナの許可リスト。 | -| `DD_CONTAINER_EXCLUDE_METRICS` | メトリクスを除外したいコンテナのブロックリスト。 | -| `DD_CONTAINER_INCLUDE_LOGS` | ログを含めたいコンテナの許可リスト。 | -| `DD_CONTAINER_EXCLUDE_LOGS` | ログを除外したいコンテナのブロックリスト。 | -| `DD_AC_INCLUDE` | **非推奨**: 処理対象に入れるコンテナの許可リスト (スペース区切り)。すべてを対象に入れる場合は、`.*` を使用します。例: `"image:image_name_1 image:image_name_2"`、`image:.*` | -| `DD_AC_EXCLUDE` | **非推奨**: 処理対象から除外するコンテナのブロックリスト (スペース区切り)。すべてを対象から除外する場合は、`.*` を使用します。例: `"image:image_name_3 image:image_name_4"` (**注**: この変数はオートディスカバリーに対してのみ有効)、`image:.*` | +#### Autodiscovery {#autodiscovery} -その他の例は[コンテナのディスカバリー管理][25]ページでご確認いただけます。 +`DD_LISTENERS` +: 実行する Autodiscovery リスナー。 -**注**: `kubernetes.containers.running`、`kubernetes.pods.running`、`docker.containers.running`、`.stopped`、`.running.total`、`.stopped.total` の各メトリクスは、この設定の影響を受けません。すべてのコンテナを対象とします。なお、これらはコンテナの課金に影響しません。 +`DD_EXTRA_LISTENERS` +: 実行する追加の Autodiscovery リスナー。これは `datadog.yaml` 構成ファイルの `listeners` セクションで定義された変数に加えて追加されます。 -**注**: containerd を使用する場合、`DD_CONTAINERD_NAMESPACES` と `DD_CONTAINERD_EXCLUDE_NAMESPACES` を使用すると、ネームスペースでコンテナを無視することが可能です。どちらもスペースで区切られたネームスペースのリストです。`DD_CONTAINERD_NAMESPACES` が設定されている場合、Agent はリストに存在するネームスペースに属するコンテナのデータを報告します。`DD_CONTAINERD_EXCLUDE_NAMESPACES` が設定されている場合、Agent はリストのネームスペースに属するものを除く、すべてのコンテナのデータをレポートします。 +`DD_CONFIG_PROVIDERS` +: Agent がチェック構成を収集するために呼び出す必要があるプロバイダー。デフォルトのプロバイダーは `docker` です。Docker プロバイダーはコンテナラベルに埋め込まれたテンプレートを処理します。 -### オートディスカバリー +`DD_EXTRA_CONFIG_PROVIDERS` +: 使用する追加の Autodiscovery 構成プロバイダー。これは `datadog.yaml` 構成ファイルの `config_providers` セクションで定義された変数に加えて追加されます。 -| 環境変数 | 説明 | -|------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_LISTENERS` | 実行するオートディスカバリーリスナー。 | -| `DD_EXTRA_LISTENERS` | 実行するオートディスカバリーリスナーを追加します。これは `datadog.yaml` コンフィギュレーションファイルの `listeners` セクションで定義された変数に加えて追加されます。 | -| `DD_CONFIG_PROVIDERS` | Agent がチェック構成を収集するために呼び出すべきプロバイダー。デフォルトのプロバイダーは `docker` です。Docker プロバイダーはコンテナラベルに埋め込まれたテンプレートを処理します。 | -| `DD_EXTRA_CONFIG_PROVIDERS` | 使用するオートディスカバリー構成プロバイダーを追加します。これは `datadog.yaml` コンフィギュレーションファイルの `config_providers` セクションで定義された変数に加えて追加されます。 | +#### その他 {#miscellaneous} -### その他 +`DD_PROCESS_AGENT_CONTAINER_SOURCE` +: コンテナソースの自動検出を上書きして、1 つのソースに制限します。たとえば、`"docker"`、`"ecs_fargate"`、`"kubelet"` です。Agent v7.35.0 以降では不要になりました。 -| 環境変数 | 説明 | -|-------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `DD_PROCESS_AGENT_CONTAINER_SOURCE` | コンテナソースの自動検出を上書きして、1 つのソースに制限します (`"docker"`、`"ecs_fargate"`、`"kubelet"` など)。Agent v7.35.0 以降、不要になりました。 | -| `DD_HEALTH_PORT` | これを `5555` に設定すると、Agent のヘルスチェックをポート `5555` で公開します。 | +`DD_HEALTH_PORT` +: これを `5555` に設定すると、Agent のヘルスチェックをポート `5555` で公開します。 -## コマンド +## コマンド {#commands} -すべての Docker Agent コマンドは [Agent コマンドガイド][26]でご確認いただけます。 +すべての Docker Agent コマンドは [Agent コマンドガイド][21] でご確認いただけます。 -## データ収集 +## 収集データ {#data-collected} -### メトリクス +### メトリクス {#metrics} -デフォルトで、Docker Agent はメトリクスを以下の主要なチェックのために収集します。他のテクノロジーからメトリクスを収集するには、[インテグレーション](#インテグレーション)のセクションを参照してください。 +デフォルトで、Docker Agent はメトリクスを以下の主要なチェックで収集します。ほかのテクノロジーからメトリクスを収集する方法については、[インテグレーション](#integrations)セクションを参照してください。 | チェック | メトリクス | -|-------------|---------------| -| コンテナ | [Metrics][27] -| CPU | [System][28] | -| ディスク | [Disk][29] | -| Docker | [Docker][30] | -| ファイル処理 | [System][28] | -| IO | [System][28] | -| ロード | [System][28] | -| メモリ | [System][28] | -| ネットワーク | [Network][31] | -| NTP | [NTP][32] | -| アップタイム | [System][28] | - -### イベント +| ----------- | ------------- | +| コンテナ | [メトリクス][22] | +| CPU | [システム][23] | +| ディスク | [ディスク][24] | +| Docker | [Docker][25] | +| ファイルハンドル | [システム][23] | +| IO | [システム][23] | +| 負荷 | [システム][23] | +| メモリ | [システム][23] | +| ネットワーク | [ネットワーク][26] | +| NTP | [NTP][27] | +| アップタイム | [システム][23] | + +### イベント {#events} Agent の起動または再起動の際に、Docker Agent はイベントを Datadog に送信します。 -### サービスチェック +### サービスチェック {#service-checks} -**datadog.agent.up**:
-Agent が Datadog に接続できない場合は、`CRITICAL` を返します。それ以外の場合は、`OK` を返します。 +**datadog.agent.up**
+Agent が Datadog に接続できない場合は `CRITICAL` を返し、それ以外の場合は `OK` を返します。 -**datadog.agent.check_status**:
-Agent チェックが Datadog にメトリクスを送信できない場合は、`CRITICAL` を返します。それ以外の場合は、`OK` を返します。 +**datadog.agent.check_status**
+Agent チェックが Datadog にメトリクスを送信できない場合は `CRITICAL` を返し、それ以外の場合は `OK` を返します。 -## Single Step APM Instrumentation のアンインストール +## Single Step APM Instrumentation のアンインストール {#uninstall-single-step-apm-instrumentation} -Single Step APM Instrumentation とともに Datadog Docker Agent をインストールしていて、Agent をアンインストールする場合は、APM Instrumentation をアンインストールするために[追加のコマンド][33]を実行する必要があります。 +Single Step APM Instrumentation とともに Datadog Docker Agent をインストールしていて、Agent をアンインストールする場合は、APM Instrumentation をアンインストールするために [追加のコマンドを実行][28] する必要があります。 -## その他の参考資料 +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} [1]: /ja/agent/ -[2]: https://hub.docker.com/r/datadog/agent -[3]: https://console.cloud.google.com/gcr/images/datadoghq/GLOBAL/agent -[4]: https://gallery.ecr.aws/datadog/agent -[5]: https://hub.docker.com/r/datadog/docker-dd-agent -[6]: https://console.cloud.google.com/gcr/images/datadoghq/GLOBAL/docker-dd-agent?gcrImageListsize=30 -[7]: https://gallery.ecr.aws/datadog/docker-dd-agent -[8]: https://app.datadoghq.com/account/settings/agent/latest?platform=docker -[9]: /ja/agent/supported_platforms/?tab=cloudandcontainers -[10]: https://app.datadoghq.com/organization-settings/api-keys -[11]: /ja/agent/guide/compose-and-the-datadog-agent/ -[12]: /ja/agent/docker/integrations/ -[13]: /ja/agent/configuration/agent-configuration-files/#agent-main-configuration-file -[14]: /ja/agent/docker/apm/ -[15]: /ja/agent/configuration/proxy/#agent-v6 -[16]: /ja/agent/docker/apm/#tracing-from-other-containers -[17]: /ja/agent/docker/log/ -[18]: /ja/infrastructure/process/ -[19]: /ja/infrastructure/livecontainers/ -[20]: /ja/developers/dogstatsd/ -[21]: /ja/developers/dogstatsd/unix_socket/ -[22]: /ja/getting_started/tagging/unified_service_tagging/ -[23]: /ja/agent/docker/tag/ -[24]: /ja/agent/configuration/secrets-management/?tab=linux -[25]: /ja/agent/guide/autodiscovery-management/ -[26]: /ja/agent/configuration/agent-commands/ -[27]: /ja/integrations/container/ -[28]: /ja/integrations/system/#metrics -[29]: /ja/integrations/disk/#metrics -[30]: /ja/agent/docker/data_collected/#metrics -[31]: /ja/integrations/network/#metrics -[32]: /ja/integrations/ntp/#metrics -[33]: /ja/tracing/trace_collection/automatic_instrumentation/single-step-apm/?tab=docker#removing-apm-for-all-services-on-the-infrastructure \ No newline at end of file +[2]: /ja/agent/supported_platforms/?tab=cloudandcontainers +[3]: https://app.datadoghq.com/account/settings/agent/latest?platform=docker +[4]: /ja/containers/guide/compose-and-the-datadog-agent/ +[5]: /ja/containers/guide/podman-support-with-docker-integration/ +[6]: /ja/containers/docker/integrations/ +[7]: /ja/getting_started/containers/autodiscovery +[8]: /ja/agent/configuration/agent-configuration-files/#agent-main-configuration-file +[9]: /ja/containers/docker/apm/ +[10]: /ja/agent/configuration/proxy/#agent-v6 +[11]: /ja/containers/docker/apm/?tab=linux#tracing-from-other-containers +[12]: /ja/containers/docker/log/ +[13]: /ja/infrastructure/process/ +[14]: /ja/infrastructure/livecontainers/ +[15]: /ja/extend/dogstatsd/ +[16]: /ja/extend/dogstatsd/unix_socket/ +[17]: /ja/getting_started/tagging/unified_service_tagging/?tab=docker +[18]: /ja/containers/docker/tag +[19]: /ja/agent/configuration/secrets-management/?tab=linux +[20]: /ja/containers/guide/container-discovery-management/?tab=containerizedagent +[21]: /ja/agent/configuration/agent-commands/ +[22]: /ja/integrations/container/ +[23]: /ja/integrations/system/#metrics +[24]: /ja/integrations/disk/#metrics +[25]: /ja/containers/docker/data_collected/#metrics +[26]: /ja/integrations/network/#metrics +[27]: /ja/integrations/ntp/#metrics +[28]: /ja/tracing/trace_collection/automatic_instrumentation/single-step-apm/docker/#remove-single-step-apm-instrumentation-from-your-agent \ No newline at end of file diff --git a/content/ja/containers/kubernetes/apm.md b/content/ja/containers/kubernetes/apm.md index ca6df2b7381..e5ff8775a49 100644 --- a/content/ja/containers/kubernetes/apm.md +++ b/content/ja/containers/kubernetes/apm.md @@ -1,47 +1,49 @@ --- aliases: -- /ja/agent/kubernetes/host_setup +- /ja/agent/kubernetes/apm +description: Kubernetes 環境で実行され、コンテナ化されたアプリケーションの APM トレース収集を有効にする further_reading: - link: /agent/kubernetes/log/ - tag: ドキュメント + tag: よくあるご質問 text: アプリケーションログの収集 - link: /agent/kubernetes/prometheus/ - tag: ドキュメント + tag: よくあるご質問 text: Prometheus メトリクスの収集 - link: /agent/kubernetes/integrations/ - tag: ドキュメント + tag: よくあるご質問 text: アプリケーションのメトリクスとログを自動で収集 - link: /agent/guide/autodiscovery-management/ - tag: ドキュメント + tag: よくあるご質問 text: データ収集をコンテナのサブセットのみに制限 - link: /agent/kubernetes/tag/ - tag: ドキュメント - text: コンテナから送信された全データにタグを割り当て + tag: よくあるご質問 + text: コンテナから送信された全データへのタグの割り当て title: Kubernetes APM - トレース収集 --- - -{{< learning-center-callout header="ラーニングセンターで Kubernetes のモニタリング入門をお試しください" btn_title="今すぐ登録" btn_url="https://learn.datadoghq.com/courses/intro-to-monitoring-kubernetes">}} - Datadog のトライアルアカウントと実際のクラウドコンピュートキャパシティを使用して、コストをかけずに学ぶことができます。ハンズオンラボを開始して、Kubernetes 固有のメトリクス、ログ、APM トレースを使いこなしましょう。 +{{< learning-center-callout header="ラーニングセンターで Kubernetes のモニタリングの紹介をご覧ください" btn_title="今すぐ登録" btn_url="https://learn.datadoghq.com/courses/intro-to-monitoring-kubernetes">}} + 実際のクラウドの計算リソースと Datadog のトライアルアカウントを使って、無料で学習できます。これらのハンズオンラボを開始して、Kubernetes に特有のメトリクス、ログ、および APM トレースについて短期間で理解を深めましょう。 {{< /learning-center-callout >}} このページでは、Kubernetes アプリケーションを対象とした [Application Performance Monitoring (APM)][10] のセットアップと構成について説明します。 -{{< img src="tracing/visualization/troubleshooting_pipeline_kubernetes.png" alt="APM のトラブルシューティングパイプライン: トレーサーは、アプリケーションポッドから Agent ポッドにトレースとメトリクスデータを送信し、Agent ポッドはそれを Datadog バックエンドに送信して Datadog UI に表示させることができます。">}} +{{< img src="tracing/visualization/troubleshooting_pipeline_kubernetes.png" alt="APM のトラブルシューティングパイプライン: トレーサーは、アプリケーションポッドから Agent ポッドにトレースとメトリクスデータを送信し、Agent Pod はそれを Datadog バックエンドに送信して Datadog UI に表示させることができます。">}} + +トレースは、Unix Domain Socket (UDS)、TCP (`IP:Port`)、または Kubernetes サービスを介して送信できます。Datadog では UDS の使用を推奨しますが、必要に応じて 3 つすべてを同時に使用することも可能です。 -トレースは Unix Domain Socket (UDS)、TCP (`IP:Port`)、または Kubernetes サービスを介して送信できます。Datadog では UDS の使用を推奨していますが、必要であれば 3 つすべてを同時に使用することも可能です。 +**注意**: 手動構成なしで自動インスツルメンテーションを行うには、[Kubernetes 用のシングルステップインスツルメンテーション][13] を参照してください。 -## セットアップ -1. まだインストールしていない場合は、お使いの Kubernetes 環境に応じた [Datadog Agent][1] をインストールしてください。 -2. トレースを収集するように [Datadog Agent を構成します](#configure-the-datadog-agent-to-collect-traces)。 -3. トレースを Datadog Agent に送信するように[アプリケーションポッドを構成します](#configure-your-application-pods-to-submit-traces-to-datadog-agent)。 +## セットアップ {#setup} +1. まだインストールしていない場合は、使用している Kubernetes 環境に応じた [Datadog Agent][1] をインストールしてください。 +2. [Configure the Datadog Agent](#configure-the-datadog-agent-to-collect-traces) してトレースを収集します。 +3. [Configure application pods](#configure-your-application-pods-to-submit-traces-to-datadog-agent) して Datadog Agent にトレースを送信します。 -### トレースを収集するように Datadog Agent を構成する +### トレースを収集するように Datadog Agent を構成する {#configure-the-datadog-agent-to-collect-traces} -このセクションの説明では、UDS でトレースを受信するように Datadog Agent を構成します。TCP を使用するには、[その他の構成](#additional-configuration)セクションを参照してください。Kubernetes サービスを使用するには、[Kubernetes サービスを使用して APM を設定する][9]を参照してください。 +このセクションの指示では、UDS 経由でトレースを受信するように Datadog Agent を構成します。TCP を使用する場合は、[additional configuration](#additional-configuration) セクションを参照してください。Kubernetes サービスを使用する場合は、[Kubernetes サービスでの APM の設定][9] を参照してください。 {{< tabs >}} {{% tab "Datadog Operator" %}} -`datadog-agent.yaml` を編集して `features.apm.enabled` を `true` に設定します。 +`datadog-agent.yaml` を編集して、`features.apm.enabled` を `true` に設定します。 ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -60,18 +62,18 @@ spec: path: /var/run/datadog/apm.socket # default ``` -APM が有効になると、デフォルトのコンフィギュレーションにより、ホスト上にディレクトリが作成され、Agent 内にマウントされます。次に Agent はソケットファイル `/var/run/datadog/apm/apm.socket` を作成し、リッスンします。アプリケーションポッドも同様に、このボリュームをマウントして、この同じソケットに書き込むことができます。`features.apm.unixDomainSocketConfig.path` のコンフィギュレーション値で、パスとソケットを変更することが可能です。 +APM が有効になると、デフォルトの構成ではホスト上にディレクトリが作成され、Agent 内にマウントされます。次に Agent はソケットファイル `/var/run/datadog/apm/apm.socket` を作成し、リッスンします。アプリケーションポッドは、このボリュームを同様にマウントし、同じソケットに書き込むことができます。`features.apm.unixDomainSocketConfig.path` 構成値を使用してパスとソケットを変更できます。 {{% k8s-operator-redeploy %}} -**注**: minikube では、`Unable to detect the kubelet URL automatically`(キューブレット URL を自動的に検出できません)というエラーが表示される場合があります。この場合、`global.kubelet.tlsVerify` を `false` に設定します。 +**注**: minikube では、`Unable to detect the kubelet URL automatically` エラーが発生する場合があります。この場合、`global.kubelet.tlsVerify` を `false` に設定します。 {{% /tab %}} {{% tab "Helm" %}} -[Datadog Agent のインストールに Helm を使用した][1]場合、APM は UDS または Windows の名前付きパイプで**デフォルトで有効**になっています。 +[Datadog Agent のインストールに Helm を使用した][1] 場合、APM は UDS または Windows の名前付きパイプで**デフォルトで有効**になっています。 -確認するには、`datadog-values.yaml` で `datadog.apm.socketEnabled` が `true` に設定されていることを確認してください。 +確認するには、`datadog-values.yaml` で、`datadog.apm.socketEnabled` が`true` に設定されていることを確認してください。 ```yaml datadog: @@ -79,7 +81,7 @@ datadog: socketEnabled: true ``` -デフォルトのコンフィギュレーションにより、ホスト上にディレクトリが作成され、Agent 内にマウントされます。次に Agent はソケットファイル `/var/run/datadog/apm.socket` を作成し、リッスンします。アプリケーションポッドも同様に、このボリュームをマウントして、この同じソケットに書き込むことができます。`datadog.apm.hostSocketPath` と `datadog.apm.socketPath` のコンフィギュレーション値で、パスとソケットを変更することが可能です。 +デフォルトの構成では、ホスト上にディレクトリが作成され、Agent 内にマウントされます。次に Agent はソケットファイル `/var/run/datadog/apm.socket` を作成し、リッスンします。アプリケーションポッドは、このボリュームを同様にマウントし、同じソケットに書き込むことができます。`datadog.apm.hostSocketPath` および `datadog.apm.socketPath` 構成値を使用してパスとソケットを変更できます。 ```yaml datadog: @@ -90,24 +92,24 @@ datadog: socketPath: /var/run/datadog/apm.socket ``` -APM を無効にするには、`datadog.apm.socketEnabled` を`false` に設定します。 +APM を無効にするには、`datadog.apm.socketEnabled` を `false` に設定します。 {{% k8s-helm-redeploy %}} -**注**: minikube では、`Unable to detect the kubelet URL automatically`(キューブレット URL を自動的に検出できません)というエラーが表示される場合があります。この場合、`datadog.kubelet.tlsVerify` を `false` に設定します。 +**注**: minikube では、`Unable to detect the kubelet URL automatically` エラーが発生する場合があります。この場合、`datadog.kubelet.tlsVerify` を `false` に設定します。 [1]: /ja/containers/kubernetes/installation?tab=helm#installation {{% /tab %}} {{< /tabs >}} -### Datadog Agent にトレースを送信するためのアプリケーションポッドの構成 +### アプリケーションポッドを構成して Datadog Agent にトレースを送信する {#configure-your-application-pods-to-submit-traces-to-datadog-agent} {{< tabs >}} {{% tab "Datadog Admission Controller" %}} -Datadog Admission Controller は、Datadog Cluster Agent のコンポーネントで、アプリケーションポッドの構成を簡素化します。詳しくは、[Datadog Admission Controller ドキュメント][1]をお読みください。 +Datadog Admission Controller は、アプリケーションポッドの構成を簡素化する Datadog Cluster Agent のコンポーネントです。[Datadog Admission Controller ドキュメント][1] を参照して、詳細を学べます。 -Datadog Admission Controller を使用して環境変数を挿入し、新しいアプリケーションポッドに必要なボリュームをマウントすることで、ポッドと Agent のトレース通信を自動で構成します。Datadog Agent にトレースを送信するためにアプリケーションを自動的に構成する方法については、[Admission Controller を使ったライブラリの挿入][2]のドキュメントを参照してください。 +Datadog Admission Controller を使用して、新しいアプリケーションポッドに環境変数を注入し、必要なボリュームをマウントし、自動的にポッドと Agent のトレース通信を構成します。Datadog Agent にトレースを送信するためにアプリケーションを自動的に構成する方法について詳しくは、[Admission Controller を使用したライブラリの注入][2] ドキュメントをご覧ください。 [1]: /ja/agent/cluster_agent/admission_controller/ [2]: /ja/tracing/trace_collection/library_injection_local/ @@ -137,14 +139,14 @@ kind: Deployment name: apmsocketpath ``` -### アプリケーショントレーサーがトレースを発するように構成します。 -Datadog Agent がトレースを収集するように構成し、アプリケーションポッドにトレースの送信先に関する構成を行った後、Datadog トレーサーをアプリケーションにインストールして、トレースを送信します。これが完了すると、トレーサーは適切な `DD_TRACE_AGENT_URL` エンドポイントにトレースを自動的に送出します。 +### 以下の手順で、アプリケーション SDK がトレースを送信するように構成します。{#configure-your-application-sdks-to-emit-traces} +Datadog Agent がトレースを収集するように構成し、アプリケーションポッドにトレースの送信*先*に関する設定を行った後、Datadog SDK をアプリケーションにインストールしてトレースを送信します。これが完了すると、SDK は適切な `DD_TRACE_AGENT_URL` エンドポイントにトレースを送信します。 {{% /tab %}} {{% tab TCP %}} -TCP (`:8126`) を使用して Agent にトレースを送信している場合、この IP アドレスをアプリケーションポッドに供給します ([Datadog Admission Controller][1] で自動的に、または手動で下位 API を使用してホスト IP をプルします)。アプリケーションコンテナには、`status.hostIP` を指す環境変数 `DD_AGENT_HOST` が必要です。 +TCP (`:8126`) を使用して Agent にトレースを送信している場合、この IP アドレスをアプリケーションポッドに供給します。[Datadog Admission Controller][1] で自動的に、または手動で下位 API を使用してホスト IP をプルします。アプリケーションコンテナには、`status.hostIP` を指す環境変数 `DD_AGENT_HOST` が必要です。 ```yaml apiVersion: apps/v1 @@ -162,23 +164,23 @@ kind: Deployment ``` **注:** この構成では、Agent が TCP 上のトレースを受け入れるように構成されている必要があります。 -### アプリケーショントレーサーがトレースを発するように構成します。 -Datadog Agent がトレースを収集するように構成し、アプリケーションポッドにトレースの送信先に関する構成を行った後、Datadog トレーサーをアプリケーションにインストールして、トレースを送信します。これが完了すると、トレーサーは適切な `DD_AGENT_HOST` エンドポイントにトレースを自動的に送出します。 +### 以下の手順で、アプリケーション SDK がトレースを送信するように構成します。{#configure-your-application-sdks-to-emit-traces-1} +Datadog Agent がトレースを収集するように構成し、アプリケーションポッドにトレースの送信*先*に関する設定を行った後、Datadog SDK をアプリケーションにインストールしてトレースを送信します。これが完了すると、SDK は適切な `DD_AGENT_HOST` エンドポイントにトレースを自動的に送信します。 [1]: /ja/agent/cluster_agent/admission_controller/ {{% /tab %}} {{< /tabs >}} -その他の例については、[言語ごとの APM インスツルメンテーションドキュメント][2]を参照してください。 +その他の例については、[言語ごとの APM インスツルメンテーションドキュメント][2] を参照してください。 -## 追加構成 +## 追加の構成 {#additional-configuration} -### TCP 経由でトレースを受け取るように Datadog Agent を構成する +### TCP 経由でトレースを受け取るように Datadog Agent を構成する {#configure-the-datadog-agent-to-accept-traces-over-tcp} {{< tabs >}} {{% tab "Datadog Operator" %}} -`datadog-agent.yaml` を以下のように更新します。 +以下の内容で `datadog-agent.yaml` を更新します。 ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -200,11 +202,11 @@ spec: {{% k8s-operator-redeploy %}} -**警告**: `hostPort` パラメーターを指定すると、ホストのポートが開かれます。アプリケーションまたは信頼できるソースからのみアクセスを許可するように、ファイアウォールを設定してください。ネットワークプラグインが `hostPorts` をサポートしていない場合は、`hostNetwork: true` を Agent ポッド仕様に追加してください。ホストのネットワークネームスペースが Datadog Agent と共有されます。つまり、コンテナで開かれたすべてのポートはホストで開きます。ポートがホストとコンテナの両方で使用されると、競合し (同じネットワークネームスペースを共有するので)、ポッドが開始しません。これを許可しない Kubernetes インストールもあります。 +**警告**: `hostPort` パラメーターによりホスト上のポートが開かれます。ファイアウォールが、アプリケーションまたは信頼できるソースからのアクセスのみを許可することを確認してください。ネットワークプラグインで `hostPorts` がサポートされていない場合は、Agent Pod の仕様に `hostNetwork: true` を追加してください。これにより、ホストのネットワークネームスペースが Datadog Agent と共有されます。これは、コンテナ上で開かれるすべてのポートがホスト上でも開かれることを意味します。ホストとコンテナの両方でポートが使用されている場合、それらは競合し (同じネットワークネームスペースを共有しているため)、Pod は起動しません。一部の Kubernetes インストールでは、これは許可されていません。 {{% /tab %}} {{% tab "Helm" %}} -以下の APM コンフィギュレーションを使用して、`datadog-values.yaml` ファイルを更新します。 +以下の APM の構成を使用して `datadog-values.yaml` ファイルを更新します。 ```yaml datadog: @@ -215,15 +217,15 @@ datadog: {{% k8s-helm-redeploy %}} -**警告**: `datadog.apm.portEnabled` パラメーターを指定すると、ホストのポートが開かれます。アプリケーションまたは信頼できるソースからのみアクセスを許可するように、ファイアウォールを設定してください。ネットワークプラグインが `hostPorts` をサポートしていない場合は、`hostNetwork: true` を Agent ポッド仕様に追加してください。ホストのネットワークネームスペースが Datadog Agent と共有されます。つまり、コンテナで開かれたすべてのポートはホストで開きます。ポートがホストとコンテナの両方で使用されると、競合し (同じネットワークネームスペースを共有するので)、ポッドが開始しません。これを許可しない Kubernetes インストールもあります。 +**警告**: `datadog.apm.portEnabled` パラメーターによりホスト上のポートが開かれます。ファイアウォールが、アプリケーションまたは信頼できるソースからのアクセスのみを許可することを確認してください。ネットワークプラグインで `hostPorts` がサポートされていない場合は、Agent Pod の仕様に `hostNetwork: true` を追加してください。これにより、ホストのネットワークネームスペースが Datadog Agent と共有されます。これは、コンテナ上で開かれるすべてのポートがホスト上でも開かれることを意味します。ホストとコンテナの両方でポートが使用されている場合、それらは競合し (同じネットワークネームスペースを共有しているため)、Pod は起動しません。一部の Kubernetes インストールでは、これは許可されていません。 {{% /tab %}} {{< /tabs >}} -## APM 環境変数 +## APM 環境変数 {#apm-environment-variables} {{< tabs >}} {{% tab "Datadog Operator" %}} -`override.nodeAgent.containers.trace-agent.env` にその他の APM 環境変数を設定します。 +`override.nodeAgent.containers.trace-agent.env` の下に、以下のように追加の APM 環境変数を設定します。 {{< code-block lang="yaml" filename="datadog-agent.yaml" >}} apiVersion: datadoghq.com/v2alpha1 @@ -242,7 +244,7 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -`agents.containers.traceAgent.env` にその他の APM 環境変数を設定します。 +`agents.containers.traceAgent.env` の下に、以下のように追加の APM 環境変数を設定します。 {{< code-block lang="yaml" filename="datadog-values.yaml" >}} agents: containers: @@ -252,7 +254,10 @@ agents: value: {{< /code-block >}} -{{% /tab %}}{{% tab "DaemonSet" %}}DaemonSet または Deployment (Datadog Cluster Agent 用) に環境変数を追加します。 +{{% /tab %}} +{{% tab "DaemonSet" %}} +DaemonSet または Deployment (Datadog Cluster Agent 用) に環境変数を追加します。 + ```yaml apiVersion: apps/v1 kind: DaemonSet @@ -272,38 +277,38 @@ spec: {{% /tab %}} {{< /tabs >}} -APM の構成で利用可能な環境変数のリスト: +APM の構成で利用可能な環境変数のリスト: | 環境変数 | 説明 | | -------------------- | ----------- | -| `DD_APM_ENABLED` | `true` に設定すると、Datadog Agent はトレースメトリクスを受け取ります。
**デフォルト**: `true` (Agent 7.18 以上)。 | -| `DD_APM_ENV` | 収集したトレースに `env:` タグを設定します。 | -| `DD_APM_RECEIVER_SOCKET` | UDS 経由のトレース用。設定されている場合、有効なソケットファイルを指す必要があります。 | +| `DD_APM_ENABLED` | `true` に設定すると、Datadog Agent はトレースメトリクスを受け付けます。
**デフォルト**: `true` (Agent 7.18 以降) | +| `DD_APM_ENV` | 収集したトレースに `env:` タグを設定します。 | +| `DD_APM_RECEIVER_SOCKET` | UDS 経由のトレース用。設定されている場合、有効なソケットファイルを指す必要があります。| | `DD_APM_RECEIVER_PORT` | TCP 経由のトレースの場合、Datadog Agent のトレースレシーバーがリッスンするポート。
**デフォルト**: `8126` | -| `DD_APM_NON_LOCAL_TRAFFIC` | 他のコンテナからのトレース時に、非ローカルトラフィックを許可します。
**デフォルト**: `true` (Agent 7.18 以上)。 | -| `DD_APM_DD_URL` | トレースが送信される Datadog API エンドポイント: `https://trace.agent.{{< region-param key="dd_site" >}}`。
**デフォルト**: `https://trace.agent.datadoghq.com` | -| `DD_APM_TARGET_TPS` | サンプリングする 1 秒あたりのトレースの目標数。
**デフォルト**: `10` | -| `DD_APM_ERROR_TPS` | 1 秒あたりに受け取るエラートレースチャンクの目標数。
**デフォルト**: `10` | -| `DD_APM_MAX_EPS` | サンプリングする 1 秒あたりの APM イベントの最大数。
**デフォルト**: `200` | -| `DD_APM_MAX_MEMORY` | Datadog Agent のメモリ使用量の目標値。この値を超えると、API は受信リクエストを制限します。
**デフォルト**: `500000000` | -| `DD_APM_MAX_CPU_PERCENT` | Datadog Agent の CPU 使用率の目標値。この値を超えると、API は受信リクエストを制限します。
**デフォルト**: `50` | -| `DD_APM_FILTER_TAGS_REQUIRE` | 指定されたスパンのタグと値が完全に一致するルートスパンを持つトレースのみを収集します。
[APM で不要なリソースを無視する][11]を参照してください。 | -| `DD_APM_FILTER_TAGS_REJECT` | 指定されたスパンのタグと値が完全に一致するルートスパンを持つトレースを拒否します。
[APM で不要なリソースを無視する][11]を参照してください。 | -| `DD_APM_REPLACE_TAGS` | [スパンのタグから機密データをスクラブします][4]。 | -| `DD_APM_IGNORE_RESOURCES` | Agent が無視するリソースを構成します。フォーマットはカンマ区切りの正規表現です。
例: `GET /ignore-me,(GET\|POST) /and-also-me` | -| `DD_APM_LOG_FILE` | APM ログが書き込まれるファイルへのパス。 | -| `DD_APM_CONNECTION_LIMIT` | 30 秒のタイムウィンドウに対する最大接続数の上限。
**デフォルト**: 2000 | -| `DD_APM_ADDITONAL_ENDPOINTS` | 複数のエンドポイントや複数の API キーにデータを送信します。
[デュアルシッピング][12]を参照してください。 | -| `DD_APM_DEBUG_PORT` | トレース Agent のデバッグエンドポイント用ポート。サーバーを無効にするには、`0` に設定します。
**デフォルト**: `5012`。 | -| `DD_BIND_HOST` | StatsD とレシーバーのホスト名を設定します。 | -| `DD_DOGSTATSD_PORT` | TCP 経由のトレースの場合、DogStatsD ポートを設定します。 | -| `DD_ENV` | Agent が発するすべてのデータにグローバル `env` を設定します。トレースデータに `env` が存在しない場合、この変数が使用されます。 | -| `DD_HOSTNAME` | 自動検出が失敗した場合、または Datadog Cluster Agent を実行する場合に、メトリクスに使用するホスト名を手動で設定します。 | -| `DD_LOG_LEVEL` | ログレベルを設定します。
**値**: `trace`、`debug`、`info`、`warn`、`error`、`critical`、`off` | -| `DD_PROXY_HTTPS` | 使用するプロキシの URL をセットアップします。 | - - -## その他の参考資料 +| `DD_APM_NON_LOCAL_TRAFFIC` | 他のコンテナからのトレース時に非ローカルトラフィックを許可します。
**デフォルト**: `true` (Agent 7.18 以降) | +| `DD_APM_DD_URL` | トレースが送信される Datadog API エンドポイント: `https://trace.agent。{{< region-param key="dd_site" >}}`.
**Default**: `https://trace.agent.datadoghq.com` | +| `DD_APM_TARGET_TPS` | The target traces per second to sample.
**Default**: `10` | +| `DD_APM_ERROR_TPS` | The target error trace chunks to receive per second.
**Default**: `10` | +| `DD_APM_MAX_EPS` | Maximum number of APM events per second to sample.
**Default**: `200` | +| `DD_APM_MAX_MEMORY` | What the Datadog Agent aims to use in terms of memory. If surpassed, the API rate limits incoming requests.
**Default**: `500000000` | +| `DD_APM_MAX_CPU_PERCENT` | The CPU percentage that the Datadog Agent aims to use. If surpassed, the API rate limits incoming requests.
**Default**: `50` | +| `DD_APM_FILTER_TAGS_REQUIRE` | Collects only traces that have root spans with an exact match for the specified span tags and values.
See [Ignoring unwanted resources in APM][11]. | +| `DD_APM_FILTER_TAGS_REJECT` | Rejects traces that have root spans with an exact match for the specified span tags and values.
See [Ignoring unwanted resources in APM][11]. | +| `DD_APM_REPLACE_TAGS` | [Scrub sensitive data from your span's tags][4]. | +| `DD_APM_IGNORE_RESOURCES` | Configure resources for the Agent to ignore. Format should be comma separated, regular expressions.
For example: `GET /ignore-me,(GET\|POST) /and-also-me` | +| `DD_APM_LOG_FILE` | Path to file where APM logs are written. | +| `DD_APM_CONNECTION_LIMIT` | Maximum connection limit for a 30 second time window.
**Default**: 2000 | +| `DD_APM_ADDITONAL_ENDPOINTS` | Send data to multiple endpoints and/or with multiple API keys.
See [Dual Shipping][12]. | +| `DD_APM_DEBUG_PORT` | Port for the debug endpoints for the Trace Agent. Set to `0` to disable the server.
**Default**: `5012`. | +| `DD_BIND_HOST` | Set the StatsD and receiver hostname. | +| `DD_DOGSTATSD_PORT` | For tracing over TCP, set the DogStatsD port. | +| `DD_ENV` | Sets the global `env` for all data emitted by the Agent. If `env` is not present in your trace data, this variable is used. | +| `DD_HOSTNAME` | Manually set the hostname to use for metrics if autodetection fails, or when running the Datadog Cluster Agent. | +| `DD_LOG_LEVEL` | Set the logging level.
**Values**: `trace`, `debug`, `info`, `warn`, `error`, `critical`, `off` | +| `DD_PROXY_HTTPS` | 使用するプロキシの URL をセットアップします。| + + +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -320,3 +325,4 @@ APM の構成で利用可能な環境変数のリスト: [10]: /ja/tracing [11]: /ja/tracing/guide/ignoring_apm_resources/?tab=kubernetes [12]: /ja/agent/configuration/dual-shipping/ +[13]: /ja/tracing/trace_collection/single-step-apm/kubernetes/ \ No newline at end of file diff --git a/content/ja/containers/kubernetes/installation.md b/content/ja/containers/kubernetes/installation.md index acfea9a73a9..8d94f9017dc 100644 --- a/content/ja/containers/kubernetes/installation.md +++ b/content/ja/containers/kubernetes/installation.md @@ -3,9 +3,10 @@ aliases: - /ja/agent/kubernetes/daemonset_setup - /ja/agent/kubernetes/helm - /ja/agent/kubernetes/installation +description: Datadog Operator、Helm、または kubectl を使用して、Kubernetes に Datadog Agent をインストールして構成します。 further_reading: - link: /agent/kubernetes/configuration - tag: ドキュメント + tag: よくあるご質問 text: Kubernetes 上の Datadog Agent のさらなる構成 - link: https://github.com/DataDog/helm-charts/blob/main/charts/datadog/README.md#all-configuration-options tag: ソースコード @@ -15,38 +16,41 @@ further_reading: text: Datadog Helm のアップグレード title: Kubernetes に Datadog Agent をインストールする --- - -## 概要 +## 概要 {#overview} このページでは、Kubernetes 環境に Datadog Agent をインストールする手順を説明します。 -AWS Elastic Kubernetes Service (EKS)、Azure Kubernetes Service (AKS)、Google Kubernetes Engine (GKE)、Red Hat OpenShift、Rancher、Oracle Container Engine for Kubernetes (OKE) など主要な Kubernetes ディストリビューションの専用ドキュメントやサンプルは [Kubernetes ディストリビューション][1]に掲載されています。 +AWS EKS (Elastic Kubernetes Service)、AKS (Azure Kubernetes Service)、GKE (Google Kubernetes Engine)、Red Hat OpenShift、Rancher、OKE (Oracle Container Engine for Kubernetes) など主要な Kubernetes ディストリビューションの専用ドキュメントやサンプルは [Kubernetes ディストリビューション][1] に掲載されています。 -Kubernetes のコントロールプレーンを監視するための専用のドキュメントと例については、[Kubernetes のコントロールプレーン監視][2]を参照してください。 +Kubernetes のコントロールプレーンをモニターするための専用のドキュメントと例については、[Kubernetes のコントロールプレーンのモニター][2] を参照してください。 -### Kubernetes と Datadog Agent の最小バージョン +### Kubernetes と Datadog Agent の最小バージョン {#minimum-kubernetes-and-datadog-agent-versions} Kubernetes の後期バージョンに関連する一部の機能では、Datadog Agent の最低バージョンが必要です。 -| Kubernetes バージョン | Agent バージョン | 理由 | -|--------------------|----------------|---------------------------------------| -| 1.16.0+ | 7.19.0+ | Kubelet メトリクスの非推奨化 | -| 1.21.0+ | 7.36.0+ | Kubernetes リソースの非推奨化 | -| 1.22.0+ | 7.37.0+ | ダイナミックサービスアカウントトークンをサポート | +| Kubernetes バージョン | Agent バージョン | Cluster Agent バージョン | 理由 | +| ------------------ | ------------- | --------------------- | ------------------------------------------------------------------------------ | +| 1.16.0+ | 7.19.0+ | 1.9.0+ | Kubelet メトリクスの非推奨化 | +| 1.21.0+ | 7.36.0+ | 1.20.0+ | Kubernetes リソースの非推奨化 | +| 1.22.0+ | 7.37.0+ | 7.37.0+ | 動的サービスアカウントトークンをサポート | +| 1.25.0+ | 7.40.0+ | 7.40.0+ | `v1` API グループをサポート | +| 1.33.0+ | 7.67.0+ | 7.67.0+ | `/pods` 出力の Kubernetes `AllocatedResources` との非互換性の修正| -こちらもご覧ください: [Kubernetes と Cluster Agent の最小バージョン][8] +最適な互換性を得るために、Datadog では Cluster Agent と Agent のバージョンを同じにすることを推奨しています。 -## インストール +## インストール {#installation} -Datadog の [Installing on Kubernetes][16] ページを利用すると、インストールプロセスの説明が表示されます。 +Datadog の [Kubernetes でのインストール][16] ページを利用すると、インストールプロセスの説明が表示されます。 1. **インストール方法を選択する** 以下のインストール方法のいずれかを使用します。 - - [Datadog Operator][9] (推奨): Kubernetes や OpenShift に Datadog Agent をデプロイするために利用できる Kubernetes [オペレーター][10]。カスタムリソースステータスでデプロイ状況、健全性、エラーを報告し、高度な構成オプションで構成ミスのリスクを抑えます。 + - [Datadog Operator][9] (推奨): Kubernetes や OpenShift に Datadog Agent をデプロイするために利用できる Kubernetes [オペレーター][10] です。カスタムリソースステータスでデプロイ状況、健全性、エラーを報告し、高度な構成オプションで構成ミスのリスクを抑えます。 - [Helm][11] - - 手動インストール。[Datadog Agent を DaemonSet で手動でインストール、構成する][12]を参照してください。 + - 手動インストール。[Datadog Agent を DaemonSet で手動でインストール、構成する][12] を参照してください。 + +
SSI (Single Step Instrumentation) を使用して Kubernetes 環境に APM を実装する予定の場合は、独自のネームスペースに Datadog Agent をインストールしてください。SSI は、Datadog Agent と同じネームスペースに Pod をインスツルメントしません。
{{< tabs >}} {{% tab "Datadog Operator" %}} @@ -54,17 +58,17 @@ Datadog の [Installing on Kubernetes][16] ページを利用すると、イン 2. **Datadog Operator をインストールする** - 現在のネームスペースに Datadog Operator をインストールするには、以下を実行します: + 現在のネームスペースに Datadog Operator をインストールするには、以下を実行します。 ```shell helm repo add datadog https://helm.datadoghq.com helm install datadog-operator datadog/datadog-operator kubectl create secret generic datadog-secret --from-literal api-key= ``` - - `` を、ご使用の [Datadog API キー][1]に置き換えます。 + - `` をご使用の [Datadog API キー][1] に置き換えます。 -3. **`datadog-agent.yaml` を構成する** +3. **`datadog-agent.yaml`** を構成する - 以下の設定を含む `datadog-agent.yaml` というファイルを作成します。 + 以下の内容を含む、`datadog-agent.yaml` というファイルを作成します。 ```yaml apiVersion: datadoghq.com/v2alpha1 kind: DatadogAgent @@ -79,10 +83,10 @@ Datadog の [Installing on Kubernetes][16] ページを利用すると、イン secretName: datadog-secret keyName: api-key ``` - - `` を、ご使用のクラスターの名前に置き換えます。 - - `` を、ご使用の [Datadog サイト][2]に置き換えます。ご使用のサイトは {{< region-param key="dd_site" code="true" >}} です (右側で正しいサイトが選択されていることを確認してください)。 + - `` をご使用のクラスターの名前に置き換えます。 + - ``をご使用の [Datadog サイト][2] に置き換えます。ご使用のサイトは、 {{< region-param key="dd_site" code="true" >}}です (右側で正しいサイトが選択されていることを確認してください)。 -4. **上記の構成ファイルを使って Agent をデプロイする** +4. **上記の構成ファイルを使用して Agent をデプロイする** 次を実行します。 ```shell @@ -93,40 +97,42 @@ Datadog の [Installing on Kubernetes][16] ページを利用すると、イン [2]: /ja/getting_started/site {{% /tab %}} {{% tab "Helm" %}} -
Requires Helm.
+
Helm が必要です。
-2. **Add the Datadog Helm repository** +2. **Datadog Helm リポジトリを追加する** - Run: + 次を実行します。 ```shell helm repo add datadog https://helm.datadoghq.com helm repo update kubectl create secret generic datadog-secret --from-literal api-key= ``` - - Replace `` with your [Datadog API key][1]. + - `` をご使用の [Datadog API キー][1] に置き換えます。 -3. **Configure `datadog-values.yaml`** +3. **`datadog-values.yaml`** を構成する - Create a file, `datadog-values.yaml`, that contains: + 以下の内容を含む、`datadog-values.yaml` というファイルを作成します。 ```yaml datadog: apiKeyExistingSecret: datadog-secret + clusterName: site: ``` + + - `` をご使用のクラスターの名前に置き換えます。 + - ``をご使用の [Datadog サイト][2] に置き換えます。ご使用のサイトは、 {{< region-param key="dd_site" code="true" >}}です (右側で正しいサイトが選択されていることを確認してください)。 - - Replace `` with your [Datadog site][2]. Your site is {{< region-param key="dd_site" code="true" >}}. (Ensure the correct SITE is selected on the right). +4. **上記の構成ファイルを使用して Agent をデプロイする** -4. **Deploy Agent with the above configuration file** - - Run: + 次を実行します。 ```shell helm install datadog-agent -f datadog-values.yaml datadog/datadog ```
- For Windows, append --set targetSystem=windows to the helm install command. + Windows の場合は、 --set targetSystem=windowshelm install コマンドに追加します。
[1]: https://app.datadoghq.com/organization-settings/api-keys @@ -135,17 +141,35 @@ Datadog の [Installing on Kubernetes][16] ページを利用すると、イン {{% /tab %}} {{< /tabs >}} -5. **Confirm Agent installation** +5. **Agent のインストールを確認する** + + Agent Pod (`app.kubernetes.io/component:agent` というタグが付いています) が、Datadog の [Containers][13] ページに表示されていることを確認します。Agent Pod はデプロイ後、数分以内に検出されます。 + +
+ +<CLUSTER_NAME> では、ホストとクラスターチェックのスコープを設定できます。この一意の名前はドットで区切られたトークンであり、以下の制限に従う必要があります。 +
    +
  • アルファベットの小文字、数字、ハイフンのみで構成されている必要があります。 +
  • 文字で始まる必要があります。 +
  • 末尾は数字または文字である必要があります。 +
  • 80 文字以内である必要があります。 +
+
+ +### 非特権インストール {#unprivileged-installation} - Verify that Agent pods (tagged with `app.kubernetes.io/component:agent`) appear on the [Containers][13] page in Datadog. Agent pods are detected within a few minutes of deployment. +非特権インストールを実行するには、必要な `` および `` に関連する設定に、以下の `securityContext` を追加します。 -### Unprivileged installation +- `` を Datadog Agent を実行する UID に置き換えます。Datadog では、[Datadog Agent v7.48 以上の][26] 既存の `dd-agent` ユーザーに対し、この値を `100` に設定することを推奨しています。 +- `` を Docker または containerd ソケットを所有するグループ ID に置き換えます。 + +これにより、Agent の Pod レベルで `securityContext` が設定されます。 {{< tabs >}} {{% tab "Datadog Operator" %}} -To run an unprivileged installation, add the following to `datadog-agent.yaml`: +非特権インストールを実行するには、`datadog-agent.yaml` に以下を追加します。 -{{< highlight yaml "hl_lines=13-18" >}} +{{< highlight yaml "hl_lines=14-19" >}} apiVersion: datadoghq.com/v2alpha1 kind: DatadogAgent metadata: @@ -158,18 +182,16 @@ spec: apiSecret: secretName: datadog-secret keyName: api-key -agent: - config: - securityContext: - runAsUser: - supplementalGroups: - - -{{< /highlight >}} -- Replace `` with the UID to run the Datadog Agent. -- Replace `` with the group ID that owns the Docker or containerd socket. + override: + nodeAgent: + securityContext: + runAsUser: + supplementalGroups: + - +{{< /highlight >}} -Then, deploy the Agent: +続けて Agent をデプロイします。 ```shell kubectl apply -f datadog-agent.yaml @@ -177,22 +199,20 @@ kubectl apply -f datadog-agent.yaml {{% /tab %}} {{% tab "Helm" %}} -To run an unprivileged installation, add the following to your `datadog-values.yaml` file: +非特権インストールを実行するには、`datadog-values.yaml` ファイルに以下を追加します。 -{{< highlight yaml "hl_lines=4-7" >}} +{{< highlight yaml "hl_lines=5-8" >}} datadog: apiKeyExistingSecret: datadog-secret + clusterName: site: securityContext: - runAsUser: - supplementalGroups: - - + runAsUser: + supplementalGroups: + - {{< /highlight >}} -- Replace `` with the UID to run the Datadog Agent. -- Replace `` with the group ID that owns the Docker or containerd socket. - -Then, deploy the Agent: +続けて Agent をデプロイします。 ```shell helm install datadog-agent -f datadog-values.yaml datadog/datadog @@ -201,26 +221,24 @@ helm install datadog-agent -f datadog-values.yaml datadog/datadog {{% /tab %}} {{< /tabs >}} -### Container registries +### コンテナレジストリ {#container-registries} -Datadog publishes container images to Google Artifact Registry, Amazon ECR, and Docker Hub: +Datadog では、Datadog コンテナレジストリ、GAR (Google Artifact Registry)、Amazon ECR、Azure ACR、および Docker Hub にコンテナイメージを公開しています。 -| gcr.io | public.ecr.aws | docker hub | -| ------ | -------------- | ------------ | -| gcr.io/datadoghq | public.ecr.aws/datadog | docker.io/datadog | +{{% container-images-table %}} -By default, the Agent image is pulled from Google Artifact Registry (`gcr.io/datadoghq`). If Artifact Registry is not accessible in your deployment region, use another registry. +デフォルトでは、Datadog Agent Helm チャートは、Datadog サイト、クラスタータイプ、および `registryMigrationMode` を基に Agent のイメージレジストリを決定します。これらの値と環境除外によっては、Agent イメージが Datadog コンテナレジストリ (`registry.datadoghq.com`) またはサイト固有のレジストリから取得される場合があります。Datadog Operator チャートは、デフォルトで Datadog Agent Helm チャートの依存関係として含まれています。Datadog Operator チャートバージョン 2.19.0 以降では、その依存関係を通じて Operator をインストールすると、Datadog Agent Helm チャートの `registryMigrationMode` が Operator によって管理される Agent イメージに適用されます。Operator Helm チャート自体は `registryMigrationMode` を定義しません。Operator Pod イメージは、Operator チャートの `image.repository` 値によって個別に制御されます。 -If you are deploying the Agent in an AWS environment, Datadog recommend that you use Amazon ECR. - -
Docker Hub is subject to image pull rate limits. If you are not a Docker Hub customer, Datadog recommends that you update your Datadog Agent and Cluster Agent configuration to pull from Google Artifact Registry or Amazon ECR. For instructions, see Changing your container registry.
+
Docker Hub はイメージプルレート制限の対象です。Docker Hub をご利用でない場合は、別のレジストリから取得するように Datadog Agent および Cluster Agent の構成を更新することをお勧めします。その手順については、コンテナのレジストリを変更するを参照してください。
{{< tabs >}} {{% tab "Datadog Operator" %}} -To use a different container registry, modify `global.registry` in `datadog-agent.yaml`. +Datadog Operator チャートバージョン 2.19.0 以降では、Datadog Agent Helm チャートの依存関係を通じて Operator がインストールされた場合、Datadog Agent Helm チャートの `registryMigrationMode` は Operator によって管理される Agent イメージに `registry.datadoghq.com` を使用できます。以前のバージョンでは、サイト固有のレジストリ (`gcr.io/datadoghq`、`eu.gcr.io/datadoghq`、`asia.gcr.io/datadoghq`、または `datadoghq.azurecr.io`) から Agent イメージを取得していました。このデプロイメントパスで Agent イメージを取得するために引き続き以前のサイト固有のレジストリを使用するには、Datadog Agent Helm チャートの `values.yaml` で`registryMigrationMode: ""` を設定してください。この設定は、レジストリを明示的に設定している場合は効果がありません。また、スタンドアロンの Operator Helm チャートの設定ではありません。Operator Pod イメージに別のレジストリを使用するには、Operator Helm の `values.yaml` で `image.repository` を設定してください。 + +別のコンテナレジストリを使用するには、`datadog-agent.yaml` で `global.registry` を変更してください。 -For example, to use Amazon ECR: +たとえば、Amazon ECR を使用する場合は次のようにします。 {{< highlight yaml "hl_lines=8">}} apiVersion: datadoghq.com/v2alpha1 @@ -241,9 +259,9 @@ spec: {{% /tab %}} {{% tab "Helm" %}} -To use a different container registry, modify `registry` in `datadog-values.yaml`. +別のコンテナレジストリを使用するには、`datadog-values.yaml` で `registry` を変更してください。 -For example, to use Amazon ECR: +たとえば、Amazon ECR を使用する場合は次のようにします。 {{< highlight yaml "hl_lines=1">}} registry: public.ecr.aws/datadog @@ -255,46 +273,48 @@ datadog: {{% /tab %}} {{< /tabs >}} -For more information, see [Changing your container registry][17]. +詳細については、[コンテナのレジストリを変更する][17] を参照してください。 -### Uninstall +### アンインストール {#uninstall} {{< tabs >}} {{% tab "Datadog Operator" %}} + ```shell kubectl delete datadogagent datadog helm delete datadog-operator ``` -This command deletes all Kubernetes resources created by installing Datadog Operator and deploying the Datadog Agent. +このコマンドは、Datadog Operator をインストールし、Datadog Agent をデプロイすることによって作成されたすべての Kubernetes リソースを削除します。 {{% /tab %}} {{% tab "Helm" %}} + ```shell helm uninstall datadog-agent ``` {{% /tab %}} {{< /tabs >}} -## 次のステップ +## 次のステップ {#next-steps} -### Datadog でインフラストラクチャーを監視する -コンテナインフラストラクチャーを可視化し、リソースメトリクスとファセット検索を利用するには、[Containers][13] ページを使用します。Containers ページの使い方については、[コンテナビュー][14]を参照してください。 +### Datadog でインフラストラクチャーをモニターする {#monitor-your-infrastructure-in-datadog} +コンテナインフラストラクチャーを可視化し、リソースメトリクスとファセット検索を利用するには、[Containers][13] ページを使用します。[Containers] ページの使用方法については、[コンテナビュー][14] を参照してください。 -環境内で使用されているすべてのイメージに関する洞察を得るには、[Container Images][18] ページを使用します。このページには、[Cloud Security Management][19] (CSM) から提供される、コンテナイメージで見つかった脆弱性の情報も表示されます。Container Images ページの使用方法については、[コンテナイメージビュー][20] を参照してください。 +環境内で使用されているすべてのイメージに関する情報を得るには、[コンテナイメージ][18] ページを使用します。このページには、[Cloud Security][19] から提供される、コンテナイメージで見つかった脆弱性も表示されます。[コンテナイメージ] ページの使用方法については、[コンテナイメージビュー][20] を参照してください。 -[Kubernetes][21] セクションには、すべての Kubernetes リソースの概要が表示されます。[オーケストレータエクスプローラー][22]を利用すると、特定のネームスペースや可用性ゾーン内のポッド、デプロイメント、およびその他の Kubernetes コンセプトの状態を監視したり、デプロイメント内で失敗したポッドのリソースの仕様を確認したり、ノードのアクティビティを関連ログと相関付けたりすることができます。[Resource Utilization][23] ページでは、インフラストラクチャー全体で Kubernetes ワークロードがどのようにコンピューティングリソースを使用しているかについて洞察が得られます。これらのページの使い方については、[オーケストレータエクスプローラー][24] と [Kubernetes Resource Utilization][25] を参照してください。 +[Kubernetes][21] セクションには、すべての Kubernetes リソースの概要が表示されます。[オーケストラエクスプローラー][22] を利用すると、特定のネームスペースやアベイラビリティゾーン内の Pod、デプロイメント、およびその他の Kubernetes コンセプトの状態をモニターしたり、デプロイメント内で失敗した Pod のリソースの仕様を確認したり、ノードのアクティビティを関連するログに関連付けたりすることができます。[リソース使用状況][23] ページでは、インフラストラクチャー全体で Kubernetes ワークロードがどのようにコンピューティングリソースを使用しているかに関する洞察が得られます。これらのページの使用方法については、[[オーケストレーターエクスプローラー][24] および [Kubernetes リソース利用][25] を参照してください。 -### 機能を有効にする +### 機能を有効にする {#enable-features} {{< whatsnext >}} - {{< nextlink href="/containers/kubernetes/apm">}}Kubernetes 用の APM: Kubernetes アプリケーション用にトレースの収集をセットアップし、構成します。{{< /nextlink >}} + {{< nextlink href="/containers/kubernetes/apm">}}Kubernetes 用の APM: Kubernetes アプリケーション用にトレースの収集をセットアップして構成します。{{< /nextlink >}} {{< nextlink href="/agent/kubernetes/log">}}Kubernetes でのログ収集: Kubernetes 環境でのログの収集をセットアップします。{{< /nextlink >}} - {{< nextlink href="/agent/kubernetes/prometheus">}}Prometheus & OpenMetrics: Kubernetes 内で実行されているアプリケーションから、公開されている Prometheus および OpenMetrics メトリクスを収集します。{{< /nextlink >}} - {{< nextlink href="/agent/kubernetes/control_plane">}}制御プレーンの監視: Kubernetes の API サーバー、コントローラーマネージャー、スケジューラー、etcd を監視します。{{< /nextlink >}} - {{< nextlink href="/agent/kubernetes/configuration">}}その他の構成: イベントの収集、プロキシ設定の上書き、DogStatsD を使ったカスタムメトリクスの送信、コンテナの許可リストおよびブロックリストの構成、利用可能な環境変数一覧の参照が可能です。{{< /nextlink >}} + {{< nextlink href="/agent/kubernetes/prometheus">}}Prometheus および OpenMetrics: Kubernetes 内で実行されているアプリケーションから、公開されている Prometheus および OpenMetrics メトリクスを収集します。{{< /nextlink >}} + {{< nextlink href="/agent/kubernetes/control_plane">}}コントロールプレーンのモニター: Kubernetes の API サーバー、コントローラーマネージャー、スケジューラー、etcd をモニターします。{{< /nextlink >}} + {{< nextlink href="/agent/kubernetes/configuration">}}その他の構成: イベントの収集、プロキシ設定の上書き、DogStatsD を使った Custom Metrics の送信、コンテナの許可リストおよびブロックリストの構成、利用可能なすべての環境変数一覧の参照が可能です。{{< /nextlink >}} {{< /whatsnext >}} -## その他の参考資料 +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -305,7 +325,6 @@ helm uninstall datadog-agent [5]: /ja/agent/kubernetes/integrations/ [6]: /ja/agent/kubernetes/apm/ [7]: /ja/agent/kubernetes/log/ -[8]: /ja/containers/cluster_agent/#minimum-agent-and-cluster-agent-versions [9]: /ja/containers/datadog_operator [10]: https://kubernetes.io/docs/concepts/extend-kubernetes/operator/ [11]: https://helm.sh @@ -322,4 +341,5 @@ helm uninstall datadog-agent [22]: https://app.datadoghq.com/orchestration/overview [23]: https://app.datadoghq.com/orchestration/resource/pod [24]: /ja/infrastructure/containers/orchestrator_explorer -[25]: /ja/infrastructure/containers/kubernetes_resource_utilization \ No newline at end of file +[25]: /ja/infrastructure/containers/kubernetes_resource_utilization +[26]: /ja/data_security/kubernetes/#running-container-as-root-user \ No newline at end of file diff --git a/content/ja/containers/kubernetes/integrations.md b/content/ja/containers/kubernetes/integrations.md index 389d1609eb0..544df432f83 100644 --- a/content/ja/containers/kubernetes/integrations.md +++ b/content/ja/containers/kubernetes/integrations.md @@ -4,57 +4,63 @@ aliases: - /ja/guides/servicediscovery/ - /ja/guides/autodiscovery/ - /ja/agent/kubernetes/integrations +description: Autodiscovery テンプレートを使用して、Kubernetes で実行されているアプリケーションのモニターインテグレーションを構成します further_reading: +- link: https://www.datadoghq.com/blog/monitor-karpenter-datadog + tag: ブログ + text: Datadog で Karpenter をモニターします - link: /agent/kubernetes/log/ - tag: ドキュメント + tag: よくあるご質問 text: アプリケーションログの収集 - link: /agent/kubernetes/apm/ - tag: ドキュメント + tag: よくあるご質問 text: アプリケーショントレースの収集 - link: /agent/kubernetes/prometheus/ - tag: ドキュメント + tag: よくあるご質問 text: Prometheus メトリクスの収集 - link: /agent/guide/autodiscovery-management/ - tag: ドキュメント + tag: よくあるご質問 text: データ収集をコンテナのサブセットのみに制限 - link: /agent/kubernetes/tag/ - tag: ドキュメント + tag: よくあるご質問 text: コンテナから送信された全データにタグを割り当て -title: Kubernetes and Integrations +- link: https://www.youtube.com/watch?v=nuxmVf9ByE0 + tag: ビデオ + text: 'Datadog のヒントとコツ: Datadog Autodiscovery 用に JSON で Kubernetes のアノテーションを記述する方法' +title: Kubernetes とインテグレーション --- +このページでは、_Autodiscovery_ という Datadog 機能を使用して、Kubernetes インフラストラクチャーのインテグレーションをインストールおよび構成する方法について説明します。これにより、`%%host%%` のような [変数][16] を使用して、構成設定を動的に入力することができます。Autodiscovery の動作についての詳細な説明は、[コンテナの概要: Autodiscovery][12] を参照してください。特定のコンテナを Autodiscovery から除外したり、準備されていない Pod を許容したりするなどの高度な Autodiscovery オプションについては、[コンテナディスカバリー管理][23] を参照してください。 -This page covers how to install and configure integrations for your Kubernetes infrastructure by using a Datadog feature known as _Autodiscovery_. This enables you to use [variables][16] like `%%host%%` to dynamically populate your configuration settings. For a detailed explanation of how Autodiscovery works, see [Getting Started with Containers: Autodiscovery][12]. For advanced Autodiscovery options, such as excluding certain containers from Autodiscovery or tolerating unready pods, see [Container Discovery Management][23]. - -If you are using Docker or Amazon ECS, see [Docker and Integrations][1]. +Docker または Amazon ECS を使用している場合は、[Docker および Integrations][1] を参照してください。
-Some Datadog integrations don't work with Autodiscovery because they require either process tree data or filesystem access: Ceph, Varnish, Postfix, Cassandra Nodetool, and Gunicorn.

-To monitor integrations that are not compatible with Autodiscovery, you can use a Prometheus exporter in the pod to expose an HTTP endpoint, and then use the OpenMetrics integration (which supports Autodiscovery) to find the pod and query the endpoint. +次の Datadog インテグレーションは、プロセスツリーデータまたはファイルシステムアクセスを必要とするため、Autodiscovery では機能しません: CephVarnishPostfixCassandra Nodetool、および Gunicorn

+Autodiscovery と互換性のないインテグレーションをモニターするには、Pod 内で Prometheus エクスポーターを使用して HTTP エンドポイントを公開し、OpenMetrics インテグレーション (Autodiscovery をサポート) を使用して Pod を見つけ、エンドポイントをクエリします。
-## Set up your integration +## インテグレーションを設定する {#set-up-your-integration} -Some integrations require setup steps, such as creating an access token or granting read permission to the Datadog Agent. Follow the instructions in the **Setup** section of your integration's documentation. +一部のインテグレーションでは、アクセストークンの作成や Datadog Agent への読み取り権限の付与などのセットアップを行う必要があります。インテグレーションのドキュメントの**セットアップ**セクションの手順に従ってください。 -### コミュニティのインテグレーション -To use an integration that is not packaged with the Datadog Agent, you must build a custom image that contains your desired integration. See [Use Community Integrations][13] for instructions. +### コミュニティのインテグレーション {#community-integrations} +Datadog Agent に同梱されていないインテグレーションを使用する場合は、目的のインテグレーションを含むカスタム イメージをビルドする必要があります。手順については [コミュニティインテグレーションを使用する][13] を参照してください。 -## 構成 +## 構成 {#configuration} -Some commonly-used integrations come with default configuration for Autodiscovery. See [Autodiscovery auto-configuration][20] for details, including a list of auto-configured integrations and their corresponding default configuration files. If your integration is in this list, and the default configuration is sufficient for your use case, no further action is required. +一般的に使用される一部のインテグレーションには、Autodiscovery 用のデフォルト構成が付属しています。詳細については、[Autodiscovery 自動構成][20] を参照してください。ここには、自動構成されるインテグレーションと対応するデフォルト構成ファイルのリストが記載されています。このリストにご使用のインテグレーションが含まれており、デフォルトの構成がユースケースに十分であれば、追加のアクションは必要ありません。 -Otherwise: +そうでない場合は、次のようにします。 -1. Choose a configuration method (Kubernetes pod annotations, a local file, a ConfigMap, a key-value store, a Datadog Operator manifest, or a Helm chart) that suits your use case. -2. Reference the template format for your chosen method. Each format contains placeholders, such as ``. -3. [Supply values](#placeholder-values) for these placeholders. +1. ユースケースに適した構成方法 (Kubernetes Pod のアノテーション、ローカルファイル、ConfigMap、key-value ストア、Datadog Operator マニフェスト、または Helm チャート) を選択してください。 +2. 選択した方法のテンプレート形式を参照します。各形式には、`` などのプレースホルダーが含まれています。 +3. [これらのプレースホルダーの値を提供](#placeholder-values)します。 {{< tabs >}} -{{% tab "Annotations" %}} +{{% tab "アノテーション" %}} -If you define your Kubernetes pods directly with `kind: Pod`, add each pod's annotations directly under its `metadata` section, as shown: +Kubernetes Pod を `kind: Pod` で直接定義する場合は、次のようにして各 Pod のアノテーションを `metadata` セクションで直接追加してください。 -**Autodiscovery Annotations v2** (Datadog Agent v7.36+ 向け) +**Autodiscovery Annotations v2** (Datadog Agent v7.36 以降用) ```yaml apiVersion: v1 @@ -63,22 +69,22 @@ kind: Pod metadata: name: '' annotations: - ad.datadoghq.com/.checks: | + ad.datadoghq.com/.checks: | { "": { "init_config": , "instances": [] } } - ad.datadoghq.com/.logs: '[]' + ad.datadoghq.com/.logs: '[]' # (...) spec: containers: - - name: '' + - name: '' # (...) ``` -**Autodiscovery Annotations v1** +**Autodiscovery Annotations v1** ```yaml apiVersion: v1 @@ -87,28 +93,28 @@ kind: Pod metadata: name: '' annotations: - ad.datadoghq.com/.check_names: '[]' - ad.datadoghq.com/.init_configs: '[]' - ad.datadoghq.com/.instances: '[]' - ad.datadoghq.com/.logs: '[]' + ad.datadoghq.com/.check_names: '[]' + ad.datadoghq.com/.init_configs: '[]' + ad.datadoghq.com/.instances: '[]' + ad.datadoghq.com/.logs: '[]' # (...) spec: containers: - - name: '' + - name: '' # (...) ``` -If you define pods indirectly (with deployments, ReplicaSets, or ReplicationControllers) add pod annotations under `spec.template.metadata`. +(デプロイメント、ReplicaSets、ReplicationControllers を使用して) Pod を間接的に定義する場合は、Pod のアノテーションを `spec.template.metadata` の下に追加します。 {{% /tab %}} {{% tab "ローカルファイル" %}} -You can store Autodiscovery templates as local files inside the mounted `conf.d` directory (`/etc/datadog-agent/conf.d`). You must restart your Agent containers each time you change, add, or remove templates. +Autodiscovery テンプレートを、マウントされている `conf.d` ディレクトリ (`/etc/datadog-agent/conf.d`) 内にローカルファイルとして保存できます。テンプレートを変更、追加、または削除するたびに、Agent コンテナを再起動する必要があります。 -1. Create a `conf.d/.d/conf.yaml` file on your host: +1. ホストで `conf.d/.d/conf.yaml` ファイルを作成します。 ```yaml ad_identifiers: - - + - init_config: @@ -120,12 +126,35 @@ You can store Autodiscovery templates as local files inside the mounted `conf.d` ``` -2. ホスト の `conf.d/` フォルダーをコンテナ化 Agent の `conf.d` フォルダーにマウントします。 +2. ホストの `conf.d/` フォルダをコンテナ化された Agent の `conf.d` フォルダにマウントします。 + + Datadog Operator の場合: + ```yaml + spec: + override: + nodeAgent: + volumes: + - hostPath: + path: /conf.d + name: confd + ``` + + Helm の場合: + ```yaml + agents: + volumes: + - hostPath: + path: /conf.d + name: confd + volumeMounts: + - name: confd + mountPath: /conf.d + ``` {{% /tab %}} {{% tab "ConfigMap" %}} -You can use [ConfigMaps][1] to externally define configurations and subsequently mount them. +[ConfigMaps][1] を使用して、構成を外部で定義してからマウントできます。 ```yaml kind: ConfigMap @@ -136,7 +165,7 @@ metadata: data: -config: |- ad_identifiers: - + init_config: instances: @@ -148,13 +177,13 @@ data: [1]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap {{% /tab %}} -{{% tab "Key-value store" %}} +{{% tab "key-value ストア" %}} -You can source Autodiscovery templates from [Consul][1], [etcd][2], or [ZooKeeper][3]. You can configure your key-value store in the `datadog.yaml` configuration file (and subsequently mount this file inside the Agent container), or as environment variables in the Agent container. +Autodiscovery テンプレートは [Consul][1]、[etcd][2]、または [ZooKeeper][3] から取得できます。key-value ストアは `datadog.yaml` 構成ファイルで設定するか (その後、このファイルを Agent コンテナ内にマウントします)、または Agent コンテナ内の環境変数として設定できます。 -**datadog.yaml での構成** +**datadog.yaml での構成**: -In `datadog.yaml`, set the `` address and `` of your key-value store: +`datadog.yaml` で、key-value ストアの `` アドレスと `` を設定します。 ```yaml config_providers: @@ -185,16 +214,16 @@ In `datadog.yaml`, set the `` address and `/ + / - check_names: [""] - init_configs: [""] - instances: [""] @@ -210,7 +239,7 @@ key-value ストアがテンプレートソースとして有効になってい {{% /tab %}} {{% tab "Datadog Operator" %}} -To configure integrations in `datadog-agent.yaml`, add an override `extraConfd.configDataMap` to the `nodeAgent` component of your `DatadogAgent` configuration. Each key becomes a file in the Agent's `conf.d` directory. +`datadog-agent.yaml` でインテグレーションを構成するには、`DatadogAgent` 構成の `nodeAgent` コンポーネントにオーバーライド `extraConfd.configDataMap` を追加します。各キーは、Agent の `conf.d` ディレクトリ内のファイルになります。 ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -228,7 +257,7 @@ spec: configDataMap: .yaml: |- ad_identifiers: - - + - init_config: instances: @@ -236,8 +265,9 @@ spec: logs: ``` +
デプロイされた複数の DatadogAgent CRD で、 configDataMapを使用している場合、各 CRD は nodeagent-extra-confdという名前の共有の ConfigMap に書き込みます。これにより、構成が互いにオーバーライドされる可能性があります。
-To monitor a [Cluster Check][1], add an override `extraConfd.configDataMap` to the `clusterAgent` component. You must also enable cluster checks by setting `features.clusterChecks.enabled: true`. +[Cluster チェック][1] をモニターするには、オーバーライド `extraConfd.configDataMap` を `clusterAgent` コンポーネントに追加します。`features.clusterChecks.enabled: true` を設定して、クラスターチェックも有効にする必要があります。 ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -259,7 +289,8 @@ spec: configDataMap: .yaml: |- ad_identifiers: - - + - + cluster_check: true init_config: instances: @@ -268,21 +299,21 @@ spec: ``` -See [Cluster Checks][1] for more context. +詳細については、[Cluster チェック][1] を参照してください。 [1]: /ja/agent/cluster_agent/clusterchecks {{% /tab %}} {{% tab "Helm" %}} -Your `datadog-values.yaml` file contains a `datadog.confd` section where you can define Autodiscovery templates. You can find inline examples in the sample [values.yaml][1]. Each key becomes a file in the Agent's `conf.d` directory. +ご使用の `datadog-values.yaml` ファイルには、Autodiscovery テンプレートを定義できる `datadog.confd` セクションが含まれています。サンプルの [values.yaml][1] にインラインの例が用意されています。各キーは、Agent の `conf.d` ディレクトリ内のファイルになります。 ```yaml datadog: confd: .yaml: |- ad_identifiers: - - + - init_config: instances: @@ -291,7 +322,7 @@ datadog: ``` -To monitor a [Cluster Check][3], define your template under `clusterAgent.confd`. You can find inline examples in the sample [values.yaml][2]. You must also enable the Cluster Agent by setting `clusterAgent.enabled: true` and enable cluster checks by setting `datadog.clusterChecks.enabled: true`. +[Cluster チェック][3] をモニターするには、`clusterAgent.confd` の下にテンプレートを定義します。サンプルの [values.yaml][2] にインラインの例が用意されています。`clusterAgent.enabled: true` を設定して Cluster Agent を有効にし、`datadog.clusterChecks.enabled: true` を設定してクラスターチェックを有効にする必要もあります。 ```yaml datadog: @@ -302,7 +333,8 @@ clusterAgent: confd: .yaml: |- ad_identifiers: - - + - + cluster_check: true init_config: instances: @@ -311,7 +343,7 @@ clusterAgent: ``` -See [Cluster Checks][3] for more context. +詳細については、[Cluster チェック][3] を参照してください。 [1]: https://github.com/DataDog/helm-charts/blob/92fd908e3dd7b7149ce02de1fe859ae5ac717d03/charts/datadog/values.yaml#L315-L330 [2]: https://github.com/DataDog/helm-charts/blob/92fd908e3dd7b7149ce02de1fe859ae5ac717d03/charts/datadog/values.yaml#L680-L689 @@ -320,40 +352,105 @@ See [Cluster Checks][3] for more context. {{< /tabs >}} -### Placeholder values +### プレースホルダー値 {#placeholder-values} -Supply placeholder values as follows: +次のようにプレースホルダー値を指定します。 `` -: The name of your Datadog integration, such as `etcd` or `redisdb`. +: ご使用の Datadog インテグレーションの名前。たとえば、`etcd` や `redisdb` です。 + +`` +: ご使用のインテグレーションに対応するコンテナの名前 (`spec.containers[i].image`**ではなく**`spec.containers[i].name`) に対して照合する識別子。 -`` -: An identifier to match against the names (`spec.containers[0].name`, **not** `spec.containers[0].image`) of the containers that correspond to your integration. The `ad_identifiers` parameter takes a list, so you can supply multiple container identifiers.

-For example: if you supply `redis` as a container identifier, your Autodiscovery template is applied to all containers with names that match `redis`. If you have one container running `foo/redis:latest` and `bar/redis:v2`, your Autodiscovery template is applied to both containers.

-You can also use custom identifiers. See [Custom Autodiscovery Identifiers][21]. +`` +: コンテナイメージ (`.spec.containers[i].image`) に対して照合する識別子。

+例: `redis` をコンテナ識別子として指定した場合、Autodiscovery テンプレートは `redis` と一致するイメージ名を持つすべてのコンテナに適用されます。`foo/redis:latest` と `bar/redis:v2` を実行している 1 つのコンテナを使用している場合は、Autodiscovery テンプレートは両方のコンテナに適用されます。

+`ad_identifiers` パラメーターはリストを受け入れるため、複数のコンテナ識別子を指定できます。カスタム識別子も使用できます。[カスタム Autodiscovery 識別子][21] を参照してください。 `` -: The configuration parameters listed under `init_config` in your integration's `.d/conf.yaml.example` file. The `init_config` section is usually empty. +: インテグレーションの `.d/conf.yaml.example` ファイルの `init_config` の下にリストされている構成パラメーター。`init_config` セクションは通常は空です。 `` -: The configuration parameters listed under `instances` in your integration's `.d/conf.yaml.example` file. +: インテグレーションの `.d/conf.yaml.example` ファイルの `instances` の下にリストされている構成パラメーター。 `` -: The configuration parameters listed under `logs` in your integration's `.d/conf.yaml.example` file. +: インテグレーションの `.d/conf.yaml.example` ファイルの `logs` の下にリストされている構成パラメーター。 + +### 高度なアノテーションパラメーター {#advanced-annotation-parameters} -### Auto-configuration +チェック、ログ、インスタンスのためのコア Autodiscovery アノテーションに加えて、チェックの動作をカスタマイズするための追加のアノテーションを使用できます。 -The Datadog Agent automatically recognizes and supplies basic configuration for some common technologies. For a complete list, see [Autodiscovery auto-configuration][20]. +#### タグのカーディナリティ {#tag-cardinality} -Configurations set with Kubernetes annotations take precedence over auto-configuration, but auto-configuration takes precedence over configurations set with Datadog Operator or Helm. To use Datadog Operator or Helm to configure an integration in the [Autodiscovery auto-configuration][20] list, you must [disable auto-configuration][22]. +`check_tag_cardinality` アノテーションを使用して、特定のチェックに対するタグのカーディナリティレベルを設定します。これは、そのチェックによって収集されたメトリクスのグローバル Agent タグのカーディナリティ設定をオーバーライドします。 -## Example: Postgres integration +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: '' + annotations: + ad.datadoghq.com/.checks: | + { + "": { + "init_config": , + "instances": [] + } + } + ad.datadoghq.com/.check_tag_cardinality: "" +spec: + containers: + - name: '' +``` -In this example scenario, you deployed Postgres on Kubernetes. You want to set up and configure the [Datadog-Postgres integration][26]. All of your Postgres containers have container names that contain the string `postgres`. +
check_tag_cardinality アノテーションは、インテグレーションチェックによって収集されたメトリクスにのみ影響します。DogStatsD を介して送信されたメトリクスには影響しません。DogStatsD タグのカーディナリティを設定するには、グローバル dogstatsd_tag_cardinality 構成パラメーターまたは DD_DOGSTATSD_TAG_CARDINALITY 環境変数を使用します。
-First, reference the [Postgres integration documentation][26] for any additional setup steps. The Postgres integration requires that you create a read-only user named `datadog` and store the corresponding password as an environment variable named `PG_PASSWORD`. +タグのカーディナリティに関する詳細は、[チェック別のタグコンフィギュレーション][27] を参照してください。 -If you were to configure this integration **on a host**, you could reference [`postgresql.d/conf.yaml.example`][15] for parameters and create a `postgresql.d/conf.yaml` file that contains the following: +### 自動構成 {#auto-configuration} + +Datadog Agent は、一般的な技術に対する基本的な構成を自動的に認識し、提供します。完全なリストについては、[Autodiscovery 自動構成][20] を参照してください。 + +Kubernetes アノテーションで設定された構成は自動構成よりも優先されますが、自動構成は Datadog Operator または Helm で設定された構成よりも優先されます。Datadog Operator または Helm を使用して [Autodiscovery 自動構成][20] リストのインテグレーションを構成するには、[自動構成を無効化][22] する必要があります。 + +## インテグレーションのセキュリティ {#integrations-security} + +インテグレーションでは通常、ファイルシステムから構成ファイル、証明書、またはその他のリソースを読み取る必要があります。ファイルパスが信頼できない構成プロバイダー (たとえば、Pod アノテーションや外部サービスの自動検出) から取得されたものである場合は、パスのトラバーサルや不正なファイルアクセスが発生するリスクがあります。 + +Datadog Agent バージョン 7.78.0 以降、構成プロバイダーの信頼レベルに基づいてファイルシステムアクセスを制御するために、Agent の `datadog.yaml` に次のパラメーターを設定できます。 + +| パラメーター | 型 | デフォルト | 説明 | +|-----------|------|---------|-------------| +| `integration_ignore_untrusted_file_params` | ブール | `false` | 有効にすると、インテグレーションは、信頼できない構成プロバイダーから提供されたファイルパスを参照する構成パラメーターを無視します。| +| `integration_file_paths_allowlist` | リスト | `[]` | 信頼できない構成プロバイダーから提供された場合でも、インテグレーションがアクセスを許可されるファイルパスのリスト。空のリストは、すべてのファイルパスが許可されていることを意味します。| +| `integration_trusted_providers` | リスト | `["file", "remote-config"]` | 信頼されていると見なされる構成プロバイダーのリスト。このリストにないプロバイダーは信頼できないと見なされます。デフォルトで、ローカル構成ファイル (`file`) と Datadog Remote Configuration (`remote-config`) は信頼されています。サポートされているプロバイダーの完全なリストについては、[Datadog Agent のプロバイダー名][28] を参照してください。| +| `integration_security_excluded_checks` | リスト | `[]` | 上記のセキュリティ制限から除外されるインテグレーション名のリスト。| + +これらのオプションは後方互換性があり、デフォルト値は既存の動作を維持します。オプトインするには、`integration_ignore_untrusted_file_params` を有効にし、残りのパラメーターを環境に合わせて調整してください。 + +`datadog.yaml` の例: + +```yaml +integration_ignore_untrusted_file_params: true +integration_file_paths_allowlist: + - /etc/datadog-agent/certs + - /var/run/secrets +integration_trusted_providers: + - file + - remote-config +integration_security_excluded_checks: + - +``` + +この構成では、Pod アノテーション (信頼できないプロバイダー) を通じて構成されたインテグレーションは、`/etc/datadog-agent/certs` または `/var/run/secrets` の外部のファイルパスを参照できません。ただし、インテグレーション名が `integration_security_excluded_checks` にリストされている場合は除きます。 + +## 例: Postgres インテグレーション {#example-postgres-integration} + +この例のシナリオでは、Kubernetes 上に Postgres をデプロイしています。[Datadog-Postgres インテグレーション][26] を設定および構成しようと考えています。すべての Postgres コンテナは、`postgres` という文字列が含まれるコンテナ名を持ちます。 + +まず、追加のセットアップ手順について、[Postgres インテグレーションのドキュメント][26] を参照してください。Postgres インテグレーションでは、`datadog` という名前の読み取り専用ユーザーを作成し、対応するパスワードを `PG_PASSWORD` という名前の環境変数として保存する必要があります。 + +このインテグレーションを**ホスト上で**構成する場合は、[`postgresql.d/conf.yaml.example`][15] のパラメーターを参照し、次の内容を含む `postgresql.d/conf.yaml` ファイルを作成できます。 ```yaml init_config: @@ -369,16 +466,16 @@ logs: service: pg_service ``` -Here, `` corresponds to the password for the `datadog` user you created. +ここで、`` は作成した `datadog` ユーザーのパスワードに対応しています。 -To apply this configuration to your Postgres containers: +この構成を Postgres コンテナに適用するには、次のようにします。 {{< tabs >}} -{{% tab "Annotations" %}} +{{% tab "アノテーション" %}} -ポッドマニフェストで: +Pod マニフェストで、次のようにしあす。 -**Autodiscovery Annotations v2** (Datadog Agent v7.36+ 向け) +**Autodiscovery Annotations v2** (Datadog Agent v7.36 以降用) ```yaml apiVersion: v1 @@ -388,7 +485,7 @@ metadata: annotations: ad.datadoghq.com/postgres.checks: | { - "postgresql": { + "postgres": { "instances": [ { "host": "%%host%%", @@ -413,7 +510,7 @@ spec: - name: postgres ``` -**Autodiscovery Annotations v1** +**Autodiscovery Annotations v1** ```yaml apiVersion: v1 @@ -421,7 +518,7 @@ kind: Pod metadata: name: postgres annotations: - ad.datadoghq.com/postgres.check_names: '["postgresql"]' + ad.datadoghq.com/postgres.check_names: '["postgres"]' ad.datadoghq.com/postgres.init_configs: '[{}]' ad.datadoghq.com/postgres.instances: | [ @@ -448,7 +545,7 @@ spec: {{% /tab %}} {{% tab "ローカルファイル" %}} -1. Create a `conf.d/postgresql.d/conf.yaml` file on your host: +1. ホストで `conf.d/postgresql.d/conf.yaml` ファイルを作成します。 ```yaml ad_identifiers: @@ -466,11 +563,35 @@ spec: service: "pg_service" ``` -2. ホスト の `conf.d/` フォルダーをコンテナ化 Agent の `conf.d` フォルダーにマウントします。 +2. ホストの `conf.d/` フォルダをコンテナ化された Agent の `conf.d` フォルダにマウントします。 + + Datadog Operator の場合: + ```yaml + spec: + override: + nodeAgent: + volumes: + - hostPath: + path: /conf.d + name: confd + ``` + + Helm の場合: + ```yaml + agents: + volumes: + - hostPath: + path: /conf.d + name: confd + volumeMounts: + - name: confd + mountPath: /conf.d + ``` + {{% /tab %}} {{% tab "ConfigMap" %}} -ConfigMap で: +ConfigMap で、次のようにします。 ```yaml kind: ConfigMap @@ -516,23 +637,23 @@ data: ``` {{% /tab %}} -{{% tab "Key-value store" %}} +{{% tab "key-value ストア" %}} -The following etcd commands create a Postgres integration template with a custom `password` parameter: +以下の etcd コマンドは、カスタム `password` パラメーターを使用して Postgres インテグレーションテンプレートを作成します。 ```conf etcdctl mkdir /datadog/check_configs/postgres -etcdctl set /datadog/check_configs/postgres/check_names '["postgresql"]' +etcdctl set /datadog/check_configs/postgres/check_names '["postgres"]' etcdctl set /datadog/check_configs/postgres/init_configs '[{}]' etcdctl set /datadog/check_configs/postgres/instances '[{"host": "%%host%%","port":"5432","username":"datadog","password":"%%env_PG_PASSWORD%%"}]' ``` -3 つの値がそれぞれリストであることに注目してください。オートディスカバリーは、共有リストインデックスに基づいて、リスト項目をインテグレーション構成に集約します。この例の場合は、`check_names[0]`、`init_configs[0]`、および `instances[0]` から最初 (かつ唯一) のチェック構成が作成されます。 +3 つの値はいずれもリストであることに注意してください。Autodiscovery は、共有リストインデックスに基づいてインテグレーション構成にリスト項目を組み立てます。この場合、`check_names[0]`、`init_configs[0]`、および `instances[0]` から最初 (かつ唯一) のチェック構成を構成します。 {{% /tab %}} {{% tab "Datadog Operator" %}} -`datadog-agent.yaml` で: +`datadog-agent.yaml` で、次のようにします。 ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -548,7 +669,7 @@ spec: nodeAgent: extraConfd: configDataMap: - postgresql.yaml: |- + postgres.yaml: |- ad_identifiers: - postgres init_config: @@ -558,17 +679,17 @@ spec: username: "datadog" password: "%%env_PG_PASSWORD%%" ``` -As a result, the Agent contains a `postgresql.yaml` file with the above configuration in the `conf.d` directory. +その結果、Agent には上記の構成を持つ `postgres.yaml` ファイルが `conf.d` ディレクトリに格納されます。 {{% /tab %}} {{% tab "Helm" %}} -`datadog-values.yaml` で: +`datadog-values.yaml` で、次のようにします。 ```yaml datadog: confd: - postgresql.yaml: |- + postgres.yaml: |- ad_identifiers: - postgres init_config: @@ -578,18 +699,18 @@ datadog: username: "datadog" password: "%%env_PG_PASSWORD%%" ``` -As a result, the Agent contains a `postgresql.yaml` file with the above configuration in the `conf.d` directory. +その結果、Agent には上記の構成を持つ `postgres.yaml` ファイルが `conf.d` ディレクトリに格納されます。 {{% /tab %}} {{< /tabs >}} -These templates make use of [Autodiscovery template variables][16]: +これらのテンプレートは、次の [Autodiscovery テンプレート変数][16] を使用します。 - `%%host%%` には、コンテナの IP が動的に設定されます。 -- `%%env_PG_PASSWORD%%` references an environment variable named `PG_PASSWORD` as seen by the Agent process. +- `%%env_PG_PASSWORD%%`は、Agent プロセスから見た `PG_PASSWORD` という名前の環境変数を参照します。 -For more examples, including how to configure multiple checks for multiple sets of containers, see [Autodiscovery: Scenarios & Examples][24]. +複数のコンテナセットに対して複数のチェックを設定する方法など、さらに多くの例については [Autodiscovery: シナリオと例][24] を参照してください。 -## その他の参考資料 +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -618,4 +739,6 @@ For more examples, including how to configure multiple checks for multiple sets [23]: /ja/containers/guide/autodiscovery-management [24]: /ja/containers/guide/autodiscovery-examples [25]: /ja/integrations/istio/ -[26]: /ja/integrations/postgres \ No newline at end of file +[26]: /ja/integrations/postgres +[27]: /ja/getting_started/integrations/#per-check-tag-configuration +[28]: https://github.com/DataDog/datadog-agent/blob/main/comp/core/autodiscovery/providers/names/provider_names.go#L10-L38 \ No newline at end of file diff --git a/content/ja/containers/kubernetes/log.md b/content/ja/containers/kubernetes/log.md index 4a5de9d1f89..0be1c42fbc5 100644 --- a/content/ja/containers/kubernetes/log.md +++ b/content/ja/containers/kubernetes/log.md @@ -1,45 +1,51 @@ --- aliases: - /ja/agent/kubernetes/log +description: Kubernetes 上で Datadog Agent を使用して、コンテナ化されたアプリケーションからのログ収集を構成します。 further_reading: +- link: https://www.datadoghq.com/blog/eks-fargate-logs-datadog + tag: ブログ + text: Datadog を使用して Fargate 上の Amazon EKS のログを監視します。 - link: /agent/kubernetes/apm/ - tag: ドキュメント + tag: よくあるご質問 text: アプリケーショントレースの収集 - link: /agent/kubernetes/prometheus/ - tag: ドキュメント + tag: よくあるご質問 text: Prometheus メトリクスの収集 - link: /agent/kubernetes/integrations/ - tag: ドキュメント + tag: よくあるご質問 text: アプリケーションのメトリクスとログを自動で収集 - link: /agent/guide/autodiscovery-management/ - tag: ドキュメント + tag: よくあるご質問 text: データ収集をコンテナのサブセットのみに制限 - link: /agent/kubernetes/tag/ - tag: ドキュメント + tag: よくあるご質問 text: コンテナから送信された全データにタグを割り当て +- link: /containers/troubleshooting/log-collection + tag: よくあるご質問 + text: コンテナログ収集のトラブルシューティング title: Kubernetes ログの収集 --- - このページでは、Kubernetes ログファイルからのログの収集について説明します。 -When your containerized applications write their logs to standard output and error (`stdout`/`stderr`), the container runtime and Kubernetes automatically manage the logs for you. The default pattern is that [Kubernetes stores these log streams as files][13] on the host in the `/var/log/pods` folder and subfolders for each Pod and container. +コンテナ化されたアプリケーションが標準出力と標準エラー出力 (`stdout`/`stderr`) にログを書き込むと、コンテナランタイムと Kubernetes が自動的にログを管理します。デフォルトのパターンは、[Kubernetes がこれらのログストリームをファイルとしてホスト上の `/var/log/pods` フォルダーおよび各 Pod とコンテナのサブフォルダーに保存する][13] ことです。 -The Datadog Agent can collect these Kubernetes log files for these containers using the instructions below. This option scales well for the ephemeral nature of the Pods that Kubernetes creates, and is more resource-efficient than collecting logs from the Docker socket. Datadog recommends this method for log collection in Kubernetes. +Datadog Agent は、以下の手順に従ってこれらの Kubernetes ログファイルを収集できます。このオプションは、Kubernetes が作成する Pod の一時的な性質に対してスケールしやすく、Docker ソケットからログを収集するよりもリソース効率に優れています。Datadog は Kubernetes におけるログ収集方法としてこの方法を推奨します。 -Alternatively, the Datadog Agent can also collect logs by repeated requests to the Docker API through the Docker socket. However, this requires Docker as the container runtime for your Kubernetes cluster. This is also more resource-intensive than using log files. To see how to collect logs using the Docker socket, see [Log collection with Docker socket][1]. If your containerized applications are writing to log files stored in the container, this can complicate log collection. See [log collection from a file](#from-a-container-local-log-file). +また、Datadog Agent は Docker ソケットを通じて Docker API に対して繰り返しリクエストを行うことでログを収集することもできます。ただし、これには Kubernetes クラスターのコンテナランタイムとして Docker が必要です。これはログファイルを使用する方法よりもリソースを多く消費します。Docker ソケットを使用したログ収集については、[Docker ソケットによるログ収集][1] を参照してください。コンテナ化されたアプリケーションがコンテナ内のログファイルに書き込んでいる場合、ログ収集が複雑になる可能性があります。[log collection from a file](#from-a-container-local-log-file) を参照してください。 -## セットアップ +## セットアップ{#setup} -### ログ収集 +### ログ収集{#log-collection} -Before you start collecting application logs, ensure that you are running the Datadog Agent in your Kubernetes cluster. +アプリケーションログの収集を開始する前に、Kubernetes クラスターで Datadog Agent が実行されていることを確認してください。 -To configure log collection manually in the DaemonSet, see [DaemonSet Log Collection][9]. Otherwise, follow the instructions below: +DaemonSet で手動でログ収集を構成するには、[DaemonSet ログ収集][9] を参照してください。そうでない場合は、以下の手順に従ってください。 {{< tabs >}} {{% tab "Datadog Operator" %}} -`datadog-agent.yaml` マニフェストを次のように更新します。 +`datadog-agent.yaml` マニフェストを以下のように更新します。 ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -63,13 +69,13 @@ spec: kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml ``` -See the sample [manifest with logs, metrics, and APM collection enabled][1] for an additional example. You can set `features.logCollection.containerCollectAll` to `true` to collect logs from all discovered containers by default. When set to `false` (default), you need to specify Autodiscovery log configurations to enable log collection. +追加の例については、[ログ、メトリクス、および APM 収集が有効なサンプルマニフェスト][1] を参照してください。デフォルトで、検出されたすべてのコンテナからログを収集するには、`features.logCollection.containerCollectAll` を `true` に設定できます。`false` (デフォルト) に設定されている場合、ログ収集を有効にするには Autodiscovery のログ構成を指定する必要があります。詳細については、[Log discovery - Filtering](#filtering) を参照してください。 [1]: https://github.com/DataDog/datadog-operator/blob/main/examples/datadogagent/datadog-agent-with-logs-apm.yaml {{% /tab %}} {{% tab "Helm" %}} -To enable log collection with Helm, update your [datadog-values.yaml][1] file with the following log collection configuration. Then, upgrade your Datadog Helm chart: +Helm でログ収集を有効にするには、次のログ収集構成で [datadog-values.yaml][1] ファイルを更新します。次に、Datadog Helm チャートをアップグレードします。 ```yaml datadog: @@ -78,17 +84,17 @@ datadog: containerCollectAll: true ``` -`datadog.logs.containerCollectAll` を `true` に設定すると、デフォルトで検出されたすべてのコンテナからログを収集することができます。`false` (デフォルト) に設定すると、ログ収集を有効にするためにオートディスカバリーのログ構成を指定する必要があります。 +デフォルトで、検出されたすべてのコンテナからログを収集するには、`datadog.logs.containerCollectAll` を `true` に設定できます。`false` (デフォルト) に設定されている場合、ログ収集を有効にするには Autodiscovery のログ構成を指定する必要があります。詳細については、[Log discovery - Filtering](#filtering) を参照してください。 [1]: https://github.com/DataDog/helm-charts/blob/master/charts/datadog/values.yaml {{% /tab %}} {{< /tabs >}} -### 非特権 +### 非特権{#unprivileged} {{< tabs >}} {{% tab "Datadog Operator" %}} -(Optional) To run an unprivileged installation, add the following to the [DatadogAgent custom resource][1]: +(オプション) 非特権インストールを実行するには、[DatadogAgent カスタムリソース][1] に以下を追加します。 ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -114,7 +120,7 @@ spec: ``` - `` を Agent を実行する UID に置き換えます。 -- `` を Docker または containerd ソケットを所有するグループ ID に置き換えます。 +- `` を Docker または containerd ソケットを所有するグループ ID に変更します。 [1]: https://github.com/DataDog/datadog-operator/blob/main/docs/configuration.v2alpha1.md#override {{% /tab %}} @@ -130,85 +136,89 @@ datadog: - ``` -- `` を Agent を実行する UID に変更します。 -- `` を Docker または containerd ソケットを所有するグループ ID に置き換えます。 +- `` を Agent を実行する UID に置き換えます。 +- `` を Docker または containerd ソケットを所有するグループ ID に変更します。 {{% /tab %}} {{< /tabs >}}
-Warning for unprivileged installations +非特権インストールの警告

-When running an unprivileged installation, the Agent needs to be able to read log files in /var/log/pods. +非特権インストールを実行する場合、Agent は次の場所にあるログファイルを読み取る必要があります。 /var/log/pods

-If you are using the containerd runtime, the log files in /var/log/pods are readable by members of the root group. With the above instructions, the Agent runs with the root group. No action is required. +containerd ランタイムを使用している場合、 /var/log/pods にあるログファイルは、 root グループのメンバーが読み取り可能です。上記の手順に従うと、Agent は root グループで実行されます。特にアクションは必要ありません。

-If you are using the Docker runtime, the log files in /var/log/pods are symbolic links to /var/lib/docker/containers, which is traversable only by the root user. Consequently, with the Docker runtime, it is not possible for a non-root Agent to read logs in /var/log/pods. The Docker socket must be mounted in the Agent container, so that it can get Pod logs through the Docker daemon. +Docker ランタイムを使用している場合、 /var/log/pods にあるログファイルは /var/lib/docker/containersへのシンボリックリンクであり、これは root ユーザーのみがたどることができます。したがって、Docker ランタイムを使用する場合、root 以外の Agent が /var/log/pods内のログを読み取ることはできません。Docker ソケットを Agent コンテナにマウントする必要があります。これにより、Agent は Docker デーモン経由で Pod のログを取得できるようになります。

-To collect logs from /var/log/pods when the Docker socket is mounted, set the environment variable DD_LOGS_CONFIG_K8S_CONTAINER_USE_FILE (or logs_config.k8s_container_use_file in datadog.yaml) to true. This forces the Agent to use file collection mode. +Docker ソケットがマウントされている環境で /var/log/pods からログを収集するには、環境変数 DD_LOGS_CONFIG_K8S_CONTAINER_USE_FILE (または logs_config.k8s_container_use_file ( datadog.yaml内の)) を trueに設定してください。これにより、Agent はファイル収集モードを使用するように強制されます。
-## Log discovery +## ログの検出{#log-discovery} + +Kubernetes の Datadog Agent は、DaemonSet によってデプロイされます (Datadog Operator または Helm によって管理されます)。この DaemonSet は、クラスターの各ノードに Agent Pod のレプリカを 1 つスケジュールします。各 Agent Pod は、それぞれのノード上の他の Pod およびコンテナのログを報告します。「Container Collect All」機能が有効になっていると、Datadog Agent はデフォルトのタグセットを使用して、検出されたすべてのコンテナのログを報告します。 + +### フィルタリング{#filtering} -The Datadog Agent in Kubernetes is deployed by a DaemonSet (managed by the Datadog Operator or Helm). This DaemonSet schedules one replica of the Agent Pod on each node of the cluster. Each Agent Pod is then responsible for reporting the logs of the other Pods and containers on its respective node. When the "Container Collect All" feature is enabled, the Agent reports the logs from every discovered container with a default set of tags. +「Container Collect All」が有効になっている場合、ログを収集するコンテナを設定できます。これは、必要に応じて Datadog Agent のログの収集を防ぐのに役立ちます。これは、Datadog Agent に取得対象を制御する設定を渡すか、特定のログをより明示的に除外するための設定を Kubernetes Pod に渡すことで実現できます。 -### フィルタリング +`DD_CONTAINER_EXCLUDE_LOGS` や `ad.datadoghq.com/logs_exclude` のような方法でログをフィルタリングする場合、Datadog Agent は [Autodiscovery アノテーション][19] や [Autodiscovery 構成ファイル][20] で明示的に定義されたログ収集設定に関係なく、ログ収集を無視します。 -You can configure which containers you want to collect logs from. This can be useful to prevent the collection of the Datadog Agent logs, if desired. You can do this by passing configurations to the Datadog Agent to control what it pulls, or by passing configurations to the Kubernetes Pod to exclude certain logs more explicitly. +「Container Collect All」が無効 (デフォルト) の場合、すべてがデフォルトで除外されるため、フィルタリングを追加する必要はありません。選択した Pod のみを収集対象に含めるには、目的の Pod に対して [Autodiscovery アノテーション][19] または [Autodiscovery 構成ファイル][20] でログ設定を有効にできます。 -See [Container Discovery Management][8] to learn more. +フィルタリングの詳細については、[コンテナ検出の管理][8] を参照してください。 -### タグ付け +### タグ付け{#tagging} -The Datadog Agent tags the logs from the Kubernetes containers with the default [Kubernetes tags][14], as well as any custom extracted tags. When "Container Collect All" is enabled, the Agent reports the logs for a container with a `source` and `service` tag matching the container short image name. For example, the logs from a container using the `gcr.io/owner/example-image:latest` container image would have `example-image` as the `source`, `service`, and `short_image` tag value. +Datadog Agent は、Kubernetes コンテナからのログにデフォルトの [Kubernetes タグ][14] およびカスタムで抽出されたタグを付与します。「Container Collect All」が有効な場合、Datadog Agent はコンテナのショートイメージ名に一致する `source` および `service` タグを持つコンテナのログを報告します。たとえば、`gcr.io/owner/example-image:latest` コンテナイメージを使用しているコンテナからのログは、`example-image` が`source`、`service`、および `short_image` タグの値になります。 -The `service` tag can also be set by the [Unified Service Tagging][4] Pod label `tags.datadoghq.com/service: ""`. For more information about `source` and `service` attributes, see [Reserved Attributes][11]. +`service`タグは、[Unified Service Tagging][4] Pod ラベル `tags.datadoghq.com/service: ""` によって設定することもできます。`source` および `service` 属性の詳細については、[予約済み属性][11] を参照してください。 -The `source` tag can be important for your logs, as the [out of box log pipelines][15] are filtered using this tag. However, these pipelines can be completely customized as desired. You can see the steps in the [Integration Logs](#integration-logs) section below for customizing the tags on your logs further. +`source`タグは、[標準のログパイプライン][15] がこのタグを使用してフィルタリングされるため、ログにとって重要です。ただし、これらのパイプラインは必要に応じて完全にカスタマイズできます。ログのタグをさらにカスタマイズする手順については、以下の [Integration Logs](#integration-logs) セクションを参照してください。 -## インテグレーションログ +## インテグレーションログ{#integration-logs} -[Autodiscovery][10] enables you to use templates to configure log collection (and other capabilities) on containers. This can be used to enable log collection, customize tagging, and add advanced collection rules. To configure log collection for an integration with Autodiscovery you can either: +[Autodiscovery][10] では、テンプレートを使ってコンテナ上でログ収集 (およびその他の機能) の構成を行うことができます。これを使用して、ログ収集の有効化、タグ付けのカスタマイズ、および高度な収集ルールの追加を行えます。Autodiscovery を使用してインテグレーションのログ収集を構成するには、次のいずれかを実行します。 -- Specify a log configuration as Autodiscovery Annotations on a given Pod, to configure the rules for a given container *(Recommended)* -- Specify a log configuration as a configuration file, to configure the rules for each matching container by image +- 特定の Pod に Autodiscovery アノテーションとしてログ設定を指定し、特定のコンテナのルールを構成します *(推奨)* +- 構成ファイルとしてログ設定を指定し、イメージごとに一致する各コンテナのルールを構成します。 -At minimum, these log configurations require a `source` and `service` tag. You may want to match the `source` tag to one of Datadog's [out-of-the-box log pipelines][15] to help automatically enrich your logs. You can also find a [library of pipelines in Datadog][16]. +最低限、これらのログ設定には `source` および `service` タグが必要です。`source` タグを Datadog の [標準のログパイプライン][15] のいずれかに一致させることで、ログを自動的に強化できます。Datadog の [パイプラインライブラリ][16] も参照できます。 -### オートディスカバリーアノテーション +### Autodiscovery アノテーション{#autodiscovery-annotations} -With Autodiscovery, the Agent automatically searches all Pod annotations for integration templates. +Autodiscovery では、Agent が自動的にすべてのポッドアノテーションを対象にインテグレーションテンプレートを検索します。 -To apply a specific configuration to a given container, add the annotation `ad.datadoghq.com/.logs` to your Pod with the JSON formatted log configuration. +特定のコンテナに特定の構成を適用するには、JSON 形式のログ構成を含むアノテーション `ad.datadoghq.com/.logs` を Pod に追加します。 -**Note**: Autodiscovery annotations identify containers by name, **not** image. It tries to match `` to the `.spec.containers[i].name`, not `.spec.containers[i].image`. +**注**: Autodiscovery アノテーションはコンテナを名前で識別し、イメージでは識別**しません**。それは `` を `.spec.containers[i].name` に一致させようとし、`.spec.containers[i].image` には一致させません。
-If you define your Kubernetes Pods directly (with kind:Pod), add each Pod's annotations in its metadata section, as shown in the following section. +Kubernetes Pod を 直接 ( kind:Podを使用して) 定義する場合は、以下のセクションに示すように、各 Pod のアノテーションをその metadata セクションに追加してください。

-If you define your Kubernetes Pods indirectly (with replication controllers, ReplicaSets, or Deployments), add Pod annotations to the Pod template under .spec.template.metadata.
+Kubernetes Pod を間接的 (ReplicationController、ReplicaSet、または Deployment を使用) に定義する場合は、Pod アノテーションを .spec.template.metadata下の Pod テンプレートに追加してください。
-#### 単一コンテナの構成 -To configure log collection for a given `` within your Pod, add the following annotations to your Pod: +#### 単一コンテナの構成{#configure-a-single-container} +Pod 内の特定のコンテナについてログ収集を構成するには、次のアノテーションを Pod に追加します。 ```yaml apiVersion: v1 kind: Pod # (...) metadata: - name: '<ポッド名>' + name: '' annotations: - ad.datadoghq.com/<コンテナ識別子>.logs: '[<ログ_コンフィグ>]' + ad.datadoghq.com/.logs: '[]' # (...) spec: containers: - - name: '<コンテナ識別子>' + - name: '' # (...) ``` -#### Example log Autodiscovery annotations +#### ログ Autodiscovery アノテーションの例{#example-log-autodiscovery-annotations} -The following Pod annotation defines the integration template for an example container. It is defined within the Pod template's annotations, rather than on the Deployment itself. This log configuration sets all the logs from the `app` container with the tags `source:java`, `service:example-app`, and the extra tag `foo:bar`. +次の Pod アノテーションは、サンプルコンテナのインテグレーションテンプレートを定義します。これは Deployment 自体ではなく、Pod テンプレートのアノテーションで定義されます。このログ構成は、`app` コンテナからのすべてのログに対して、`source:java`、`service:example-app` および追加のタグ `foo:bar` を付与します。 ```yaml apiVersion: apps/v1 @@ -233,33 +243,33 @@ spec: image: owner/example-image:latest ``` -#### 2 つの異なるコンテナの構成 -To apply two different integration templates to two different containers within your Pod, `` and ``, add the following annotations to your Pod: +#### 2 つの異なるコンテナの構成{#configure-two-different-containers} +Pod 内の 2 つの異なるコンテナ `` と `` に 2 つの異なるインテグレーションテンプレートを適用するには、次のアノテーションを Pod に追加します。 ```yaml apiVersion: v1 kind: Pod # (...) metadata: - name: '<ポッド名>' + name: '' annotations: - ad.datadoghq.com/<コンテナ識別子_1>.logs: '[<ログ_コンフィグ_1>]' + ad.datadoghq.com/.logs: '[]' # (...) - ad.datadoghq.com/<コンテナ識別子_2>.logs: '[<ログ_コンフィグ_2>]' + ad.datadoghq.com/.logs: '[]' spec: containers: - - name: '<コンテナ識別子_1>' + - name: '' # (...) - - name: '<コンテナ識別子_2>' + - name: '' # (...) ``` -### オートディスカバリーコンフィギュレーションファイル -You can provide the Datadog Agent with configuration files to have the Agent run a specified integration when it discovers a container using the matching image identifier. This allows you to create a generic log configuration that applies to a set of container images. +### Autodiscovery 構成ファイル{#autodiscovery-configuration-files} +Datadog Agent に構成ファイルを提供することで、Agent は一致するイメージ識別子を使用するコンテナを検出したときに、指定されたインテグレーションを実行できます。これにより、一連のコンテナイメージに適用される汎用的なログ構成を作成できます。 {{< tabs >}} {{% tab "Datadog Operator" %}} -You can customize logs collection per integration with an override in the `override.nodeAgent.extraConfd.configDataMap`. This method creates the ConfigMap and mounts the desired configuration file onto the Agent container. +`override.nodeAgent.extraConfd.configDataMap` でオーバーライドすることで、インテグレーションごとにログ収集をカスタマイズできます。このメソッドは、ConfigMap を作成し、必要な構成ファイルを Agent コンテナにマウントします。 ```yaml apiVersion: datadoghq.com/v2alpha1 @@ -274,20 +284,20 @@ spec: configDataMap: .yaml: |- ad_identifiers: - - - + - + logs: - source: example-source service: example-service ``` -The `` should match the container short image name that you want this to apply towards. See the sample manifest [with ConfigMap mapping][1] for an additional example. +`` は、この設定を適用したいコンテナのショートイメージ名と一致する必要があります。追加の例については、[ConfigMap マッピングを含む][1] サンプルマニフェストを参照してください。 [1]: https://github.com/DataDog/datadog-operator/blob/main/examples/datadogagent/datadog-agent-with-extraconfd.yaml {{% /tab %}} {{% tab "Helm" %}} -You can customize logs collection per integration within `datadog.confd`. This method creates the ConfigMap and mounts the desired configuration file onto the Agent container. +`datadog.confd` 内でインテグレーションごとにログ収集をカスタマイズできます。このメソッドは、ConfigMap を作成し、必要な構成ファイルを Agent コンテナにマウントします。 ```yaml datadog: @@ -295,36 +305,36 @@ datadog: confd: .yaml: |- ad_identifiers: - - - + - + logs: - source: example-source service: example-service ``` -The `` should match the container short image name that you want this to apply towards. +`` は、この設定を適用したいコンテナのショートイメージ名と一致する必要があります。 {{% /tab %}} -{{% tab "Key-value store" %}} -The following etcd commands create a Redis integration template with a custom `password` parameter and tags logs with the correct `source` and `service` attributes: +{{% tab "key-value ストア" %}} +以下の etcd コマンドは、カスタム `password` パラメーターを使用して Redis インテグレーションテンプレートを作成し、正しい `source` および `service` 属性でログにタグ付けします。 ```conf etcdctl mkdir /datadog/check_configs/redis etcdctl set /datadog/check_configs/redis/logs '[{"source": "redis", "service": "redis", "tags": ["env:prod"]}]' ``` -Notice that each of the three values is a list. Autodiscovery assembles list items into the integration configurations based on shared list indexes. In this case, it composes the first (and only) check configuration from `check_names[0]`, `init_configs[0]`, and `instances[0]`. +3 つの値はいずれもリストであることに注意してください。Autodiscovery は、共有リストインデックスに基づいてインテグレーション構成にリスト項目を組み立てます。この場合、`check_names[0]`、`init_configs[0]`、および `instances[0]` から最初 (かつ唯一) のチェック構成を構成します。 -auto-conf ファイルとは異なり、**key-value ストアの場合は、コンテナ識別子として短いイメージ名 (`redis` など) も長いイメージ名 (`redis:latest` など) も使用できます**。 +auto-conf ファイルとは異なり、**key-value ストアはコンテナ識別子としてショートイメージ名またはロングイメージ名を使用できます**。たとえば、`redis` または `redis:latest` です。 -Autodiscovery can use [Consul][1], Etcd, and Zookeeper as integration template sources. +Autodiscovery では、[Consul][1]、Etcd、および Zookeeper をインテグレーションテンプレートソースとして使用できます。 -key-value ストアを使用するには、Agent の `datadog.yaml` コンフィギュレーションファイルでストアを構成し、このファイルをコンテナ化 Agent 内にマウントします。または、key-value ストアを環境変数としてコンテナ化 Agent に渡します。 +key-value ストアを使用するには、Agent の `datadog.yaml` 構成ファイルでそれを構成し、このファイルをコンテナ化された Agent 内にマウントします。または、コンテナ化された Agent に key-value ストアを環境変数として渡します。 -#### `datadog.yaml` の場合 +#### `datadog.yaml` において{#in-datadogyaml} -`datadog.yaml` ファイルで、key-value ストアの `` アドレスと `` を以下のように設定します。 +`datadog.yaml` ファイルで、key-value ストアの `` アドレスと `` を設定します: ```yaml config_providers: @@ -355,44 +365,46 @@ key-value ストアを使用するには、Agent の `datadog.yaml` コンフィ password: ``` -次に、[Agent を再起動][2]して、構成の変更を適用します。 +次に、[Agent を再起動][2] して、構成の変更を適用します。 -#### 環境変数の場合 +#### 環境変数の場合{#in-environment-variables} -key-value ストアがテンプレートソースとして有効になっている場合、Agent はキー `/datadog/check_configs` の下でテンプレートを探します。オートディスカバリーは、以下のような key-value 階層を前提とします。 +key-value ストアがテンプレートソースとして有効になっている場合、Agent はキー `/datadog/check_configs` の下にテンプレートを探します。Autodiscovery は、このような key-value 階層を期待します。 ```yaml /datadog/ check_configs/ - <コンテナ識別子>/ - - logs: ["<ログ_コンフィグ>"] + / + - logs: [""] ... ``` -**注**: key-value ストアを使用している場合、オートディスカバリーは特定の構成を特定のコンテナに適用するために、`` と `.spec.containers[0].image` の一致を試みることで、コンテナを**イメージ**で識別します。 +**注**: key-value ストアを使用している場合、Autodiscovery は特定の構成を特定のコンテナに適用するために、`` と `.spec.containers[0].image` の一致を試みることで、コンテナを**イメージ**で識別します。 [1]: /ja/integrations/consul/ [2]: /ja/agent/configuration/agent-commands/ {{% /tab %}} {{< /tabs >}} -## 高度なログの収集 +コンテナのショートイメージ名よりも細かい単位でログ構成を一連のコンテナに一致させるには、[Autodiscovery コンテナ識別子][22] を参照してください。 + +## 高度なログの収集{#advanced-log-collection} -オートディスカバリーログラベルを使用し、高度なログ収集の処理ロジックを適用します。たとえば、 +Autodiscovery ログラベルを使用して、高度なログ収集の処理ロジックを適用します。たとえば、以下のようにします。 * [Datadog へ送信する前にログを絞り込む][5]。 * [ログの機密データのスクラビング][6]。 * [複数行の集約の実行][7]。 -### From a container local log file +### コンテナのローカルログファイルから{#from-a-container-local-log-file} -Datadog recommends that you use the `stdout` and `stderr` output streams for containerized applications, so that you can more automatically set up log collection. +Datadog は、コンテナ化されたアプリケーションにおいて `stdout` と `stderr` の出力ストリームを使用することを推奨しています。これにより、ログ収集をより自動的に設定できます。 -However, the Agent can also directly collect logs from a file based on an annotation. To collect these logs, use `ad.datadoghq.com/.logs` with a `type: file` and `path` configuration. Logs collected from files with such an annotation are automatically tagged with the same set of tags as logs coming from the container itself. +ただし、Agent はアノテーションに基づいてファイルから直接ログを収集することもできます。これらのログを収集するには、`ad.datadoghq.com/.logs` を使用し、`type: file` および `path` の設定を行ってください。そのようなアノテーションを持つファイルから収集されたログは、コンテナ自体のログと同じタグセットで自動的にタグ付けされます。Datadog は、コンテナ化されたアプリケーションにおいて `stdout` と `stderr` の出力ストリームを使用することを推奨しています。これにより、ログ収集を自動的に設定できます。詳細については、[Recommended configurations](#recommended-configurations) を参照してください。 -These file paths are **relative** to the Agent container. Therefore, the directory containing the log file needs to be mounted into both the application and Agent container so the Agent can have proper visibility. +これらのファイルパスは、Agent に対して **相対的** なものです。したがって、ログファイルを含むディレクトリをアプリケーションと Agent コンテナの両方にマウントして、Agent が適切に可視化できるようにする必要があります。 -例えば、共有の `hostPath` ボリュームを使用してこれを行うことができます。下記の Pod は `/var/log/example/app.log` というファイルにログを出力しています。これは `/var/log/example` ディレクトリで行われ、ボリュームと volumeMount がこれを `hostPath` として設定しています。 +たとえば、共有 `hostPath` ボリュームを使用してこれを行うことができます。以下の Pod は、ファイル `/var/log/example/app.log` にログを出力しています。これは `/var/log/example` ディレクトリで行われており、ボリュームと volumeMount がこれを `hostPath` として設定しています。 ```yaml apiVersion: v1 @@ -438,89 +450,25 @@ Agent コンテナに同等のボリュームと VolumeMount パスを設定し path: /var/log/example # (...) ``` +#### 推奨される構成{#recommended-configurations} +- この戦略は特定の Pod では有効ですが、複数のアプリケーションで使用すると煩雑になる可能性があります。複数のレプリカが同じログパスを使用している場合にも、問題が発生する可能性があります。可能であれば、Datadog は [Autodiscovery テンプレート変数][17] `%%kube_pod_name%%` を活用することを推奨しています。たとえば、`path` をこの変数を参照するように設定できます。`"path": "/var/log/example/%%kube_pod_name%%/app.log"`アプリケーション Pod は、この新しいパスを使用してログファイルを書き込む必要があります。[Downward API][18] を使用して、アプリケーションがその Pod 名を特定するのに役立てることができます。 -**Note**: This strategy can work for a given pod, but can become cumbersome with multiple apps using this strategy, as well run into issues if multiple replicas are using the same log path. If possible, Datadog recommends taking advantage of the [Autodiscovery template variable][17] `%%kube_pod_name%%`. For example, you can set your `path` to reference this variable: `"path": "/var/log/example/%%kube_pod_name%%/app.log"`. - -Your application pod then needs to write its log files with respect to this new path as well. You can use the [Downward API][18] to help your application determine its Pod name. - -**Note**: When using this kind of annotation with a container, `stdout` and `stderr` logs are not collected automatically from the container. If collection from both the container output streams and file are needed, explicitly enable this in the annotation. For example: - -```yaml -ad.datadoghq.com/.logs: | - [ - {"type":"file","path":"/var/log/example/app.log","source":"file","service":"example-service"}, - {"source":"container","service":"example-service"} - ] -``` - -この種の組み合わせを使用する場合、`source` と `service` にはファイルから収集されたログのデフォルト値がないため、アノテーションで明示的に設定する必要があります。 - -## トラブルシューティング - -#### 存続期間が短いコンテナ - -デフォルトでは、Agent は 5 秒ごとに新しいコンテナを探します。 - -Agent v6.12+ では、K8s ファイルログ収集方法 (`/var/log/pods` 経由) を使用している場合、存続期間の短いコンテナのログ (停止またはクラッシュ) が自動的に収集されます。これには、収集初期化コンテナログも含まれます。 - -#### Missing tags on new containers or Pods - -When sending logs to Datadog from newly created containers or Pods, the Datadog Agent's internal tagger may not yet have the related container/pod tags. As a result, tags may be missing from these logs. - -To remediate this issue, you can use the environment variable `DD_LOGS_CONFIG_TAGGER_WARMUP_DURATION` to configure a duration (in seconds) for the Datadog Agent to wait before it begins to send logs from newly created containers and Pods. The default value is `0`. - -{{< tabs >}} -{{% tab "Datadog Operator" %}} - -```yaml -spec: - override: - nodeAgent: - env: - - name: DD_LOGS_CONFIG_TAGGER_WARMUP_DURATION - value: "5" -``` -{{% /tab %}} -{{% tab "Helm" %}} -```yaml -datadog: - env: - - name: DD_LOGS_CONFIG_TAGGER_WARMUP_DURATION - value: "5" -``` -{{% /tab %}} -{{< /tabs >}} - -#### 新しいホストまたはノードでホストレベルのタグが欠落している場合 - -ホストレベルタグは、特定のホストのインフラストラクチャーリストに表示されるタグで、クラウドプロバイダーまたは Datadog Agent のいずれかから供給されます。代表的なホストレベルタグは、`kube_cluster_name`、`region`、`instance-type`、`autoscaling-group` などです。 +- この種のアノテーションをコンテナで使用する場合、`stdout`および `stderr` のログはコンテナから自動的に収集されません。コンテナの出力ストリームとファイルの両方からの収集が必要な場合は、アノテーションでこれを明示的に有効にしてください。たとえば、以下のとおりです。 + ```yaml + ad.datadoghq.com/.logs: | + [ + {"type":"file","path":"/var/log/example/app.log","source":"file","service":"example-service"}, + {"source":"container","service":"example-service"} + ] + ``` -When sending logs to Datadog from a newly created host or node, it can take a few minutes for host-level tags to be [inherited][12]. As a result, host-level tags may be missing from these logs. +- この種の組み合わせを使用する場合、`source` と `service` にはファイルから収集されたログのデフォルト値がないため、アノテーションで明示的に設定する必要があります。 -To remediate this issue, you can use the environment variable `DD_LOGS_CONFIG_EXPECTED_TAGS_DURATION` to configure a duration (in minutes). For this duration, the Datadog Agent manually attaches the host-level tags that it knows about to each sent log. After this duration, the Agent reverts to relying on tag inheritance at intake. +## トラブルシューティング{#troubleshooting} -{{< tabs >}} -{{% tab "Datadog Operator" %}} -```yaml -spec: - override: - nodeAgent: - env: - - name: DD_LOGS_CONFIG_EXPECTED_TAGS_DURATION - value: "10m" -``` -{{% /tab %}} -{{% tab "Helm" %}} -```yaml -datadog: - env: - - name: DD_LOGS_CONFIG_EXPECTED_TAGS_DURATION - value: "10m" -``` -{{% /tab %}} -{{< /tabs >}} +トラブルシューティング手順については、[コンテナログ収集トラブルシューティング][21] を参照してください。 -## その他の参考資料 +## 参考資料 {#further-reading} {{< partial name="whats-next/whats-next.html" >}} @@ -541,4 +489,8 @@ datadog: [15]: /ja/logs/log_configuration/pipelines/?tab=source#integration-pipelines [16]: https://app.datadoghq.com/logs/pipelines/pipeline/library [17]: /ja/containers/guide/template_variables/ -[18]: https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ \ No newline at end of file +[18]: https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ +[19]: /ja/containers/kubernetes/log/?tab=helm#autodiscovery-annotations +[20]: /ja/containers/kubernetes/log/?tab=helm#autodiscovery-configuration-files +[21]: /ja/containers/troubleshooting/log-collection/?tab=datadogoperator +[22]: /ja/containers/guide/ad_identifiers/ \ No newline at end of file diff --git a/content/ja/containers/kubernetes/tag.md b/content/ja/containers/kubernetes/tag.md index cdacb9fe6fe..8f17967469d 100644 --- a/content/ja/containers/kubernetes/tag.md +++ b/content/ja/containers/kubernetes/tag.md @@ -2,102 +2,105 @@ aliases: - /ja/agent/autodiscovery/tag/ - /ja/agent/kubernetes/tag -description: Kubernetes の Pod のラベルおよびアノテーションから自動でタグを抽出するよう構成し、モニタリングを強化 +description: Kubernetes の Pod ラベルおよびアノテーションから自動でタグを抽出するよう構成し、モニタリングを強化 further_reading: - link: /getting_started/tagging/ - tag: Documentation - text: タグの概要 + tag: ドキュメント + text: タグの使用を開始する - link: /getting_started/tagging/using_tags/ - tag: Documentation + tag: ドキュメント text: Datadog によるタグの使用方法 - link: /agent/guide/autodiscovery-management/ - tag: Documentation + tag: ドキュメント text: データ収集をコンテナのサブセットのみに制限 +- link: https://learn.datadoghq.com/courses/getting-started-k8s + tag: ラーニングセンター + text: Kubernetes のモニタリングの紹介 title: Kubernetes タグ抽出 --- -Datadogエージェントは、Pod (または Pod 内の個々のコンテナ) から発生するメトリクス、トレース、ログに対して、ラベルやアノテーションに基づいて自動的にタグを割り当てることができます。 +Datadog Agent は、Pod (または Pod 内の個々のコンテナ) から発生するメトリクス、トレース、ログに対して、ラベルやアノテーションに基づいて自動的にタグを割り当てることができます。 -##標準のタグ +## すぐに使えるタグ {#out-of-the-box-tags} -自動的に割り当てられるタグのリストは、Agent の [カーディナリティ設定][1] に依存します。[タグのカーディナリティ][4] は、取り込み前に追加され、カーディナリティ設定によって出力されるメトリクスの数が変わるため、課金に影響を与えることがあります。 +自動的に割り当てられるタグのリストは、Agent の [カーディナリティ構成][1] に依存します。[タグのカーディナリティ][4] はデータ取り込み前に追加され、課金に影響を与えることがあります。これは、カーディナリティ設定によって出力されるメトリクスの数が変わるためです。
- | タグ | カーディナリティ | ソース | 要件 | - ||||| - | `container_id` | 高 | Pod の状態 | 該当なし | - | `display_container_name` | 高 | Pod の状態 | 該当なし | + | タグ | カーディナリティ | ソース | 要件 | + |-------------------------------|--------------|-------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------| + | `container_id` | 高 | Pod のステータス | 該当なし | + | `display_container_name` | 高 | Pod のステータス | 該当なし | | `pod_name` | オーケストレーター | Pod のメタデータ | 該当なし | - | `oshift_deployment` | オーケストレーター | Pod のアノテーション `openshift.io/deployment.name` | OpenShift 環境と Pod のアノテーションが存在している必要があります | - | `kube_ownerref_name` | オーケストレーター | Pod のオーナー参照 | Pod にはオーナーが必要です | - | `kube_job` | オーケストレーター | Pod のオーナー参照 |Pod は cronjob に関連付けられている必要があります | - | `kube_job` | 低 | Pod のオーナー参照 | Pod はジョブに関連付けられている必要があります | - | `kube_replica_set` | 低 | Pod のオーナー参照 | Pod はレプリカセットに関連付けられている必要があります | - | `kube_service` | 低 | Kubernetes サービスの発見 | Podは Kubernetes サービスの背後にあります | - | `kube_daemon_set` | 低 | Pod のオーナー参照 | Pod は DaemonSet に関連付けられている必要があります | - | `kube_container_name` | 低 | Pod の状態 | 該当なし | + | `oshift_deployment` | オーケストレーター | Pod のアノテーション `openshift.io/deployment.name` | OpenShift 環境で、Pod アノテーションが存在すること | + | `kube_ownerref_name` | オーケストレーター | Pod の ownerref | Pod にオーナーが存在すること | + | `kube_job` | オーケストレーター | Pod の ownerref | Pod が CronJob に紐づいていること | + | `kube_job` | 低 | Pod の ownerref | Pod がジョブに紐づいていること | + | `kube_replica_set` | 低 | Pod の ownerref | Pod がレプリカセットに紐づいていること | + | `kube_service` | 低 | Kubernetes サービスディスカバリー | Pod は Kubernetes サービスの背後にあること | + | `kube_daemon_set` | 低 | Pod の ownerref | Pod が DaemonSet に紐づいていること | + | `kube_container_name` | 低 | Pod のステータス | 該当なし | | `kube_namespace` | 低 | Pod のメタデータ | 該当なし | - | `kube_app_name` | 低 | Pod のラベル `app.kubernetes.io/name` | Pod のラベルが存在する必要があります | - | `kube_app_instance` | 低 | Pod のラベル `app.kubernetes.io/instance` | Pod のラベルが存在する必要があります | - | `kube_app_version` | 低 | Pod のラベル `app.kubernetes.io/version` | Pod のラベルが存在する必要があります | - | `kube_app_component` | 低 | Pod のラベル `app.kubernetes.io/component` | Pod のラベルが存在する必要があります | - | `kube_app_part_of` | 低 | Pod のラベル `app.kubernetes.io/partof` | Pod のラベルが存在する必要があります | - | `kube_app_managed_by` | 低 | Pod のラベル `app.kubernetes.io/managedby` | Pod のラベルが存在する必要があります | - | `env` | 低 | Pod のラベル `tags.datadoghq.com/env` またはコンテナ環境変数 (`DD_ENV` または `OTEL_RESOURCE_ATTRIBUTES`) | [unified service tagging][2] が有効です | - | `version` | 低 | Pod のラベル `tags.datadoghq.com/version` またはコンテナ環境変数 (`DD_VERSION` または `OTEL_RESOURCE_ATTRIBUTES`) | [unified service tagging][2] が有効です | - | `service` | 低 | Pod のラベル `tags.datadoghq.com/service` またはコンテナ環境変数 (`DD_SERVICE`, `OTEL_RESOURCE_ATTRIBUTES`, または `OTEL_SERVICE_NAME`) | [unified service tagging][2] が有効です | + | `kube_app_name` | 低 | Pod ラベル `app.kubernetes.io/name` | Pod ラベルが存在すること | + | `kube_app_instance` | 低 | Pod ラベル `app.kubernetes.io/instance` | Pod ラベルが存在すること | + | `kube_app_version` | 低 | Pod ラベル `app.kubernetes.io/version` | Pod ラベルが存在すること | + | `kube_app_component` | 低 | Pod ラベル `app.kubernetes.io/component` | Pod ラベルが存在すること | + | `kube_app_part_of` | 低 | Pod ラベル `app.kubernetes.io/part-of` | Pod ラベルが存在すること | + | `kube_app_managed_by` | 低 | Pod ラベル `app.kubernetes.io/managed-by` | Pod ラベルが存在すること | + | `env` | 低 | Pod ラベル `tags.datadoghq.com/env` またはコンテナ環境変数 (`DD_ENV` または `OTEL_RESOURCE_ATTRIBUTES`) | [unified service tagging][2] が有効であること | + | `version` | 低 | Pod ラベル `tags.datadoghq.com/version` またはコンテナ環境変数 (`DD_VERSION` または `OTEL_RESOURCE_ATTRIBUTES`) | [unified service tagging][2] が有効であること | + | `service` | 低 | Pod ラベル `tags.datadoghq.com/service`、コンテナ環境変数 (`DD_SERVICE`、`OTEL_RESOURCE_ATTRIBUTES`、または `OTEL_SERVICE_NAME`) | [unified service tagging][2] が有効であること | | `pod_phase` | 低 | Pod のステータス | 該当なし | - | `oshift_deployment_config` | 低 | Pod のアノテーション `openshift.io/deploymentconfig.name` | OpenShift 環境と Pod のアノテーションが存在する必要があります | - | `kube_ownerref_kind` | 低 | Pod のオーナー参照 | Pod にはオーナーが必要です | - | `kube_deployment` | 低 | Pod のオーナー参照 | Pod はデプロイメントに関連付けられている必要があります | - | `kube_argo_rollout` | 低 | Pod のオーナー参照 | Pod は Argo ロールアウトに関連付けられている必要があります | - | `kube_replication_controller` | 低 | Pod のオーナー参照 | Pod はレプリケーションコントローラーに関連付けられている必要があります | - | `kube_stateful_set` | 低 | Pod のオーナー参照 | Pod はステートフルセットに関連付けられている必要があります | - | `persistentvolumeclaim` | 低 | Pod の仕様 | PVC は Pod に関連付けられている必要があります | - | `kube_cronjob` | 低 | Pod のオーナー参照 | Pod は CronJob に関連付けられている必要があります | + | `oshift_deployment_config` | 低 | Pod アノテーション `openshift.io/deployment-config.name` | OpenShift 環境であり、Pod アノテーションが存在すること | + | `kube_ownerref_kind` | 低 | Pod の ownerref | Pod にオーナーが存在すること | + | `kube_deployment` | 低 | Pod の ownerref | Pod がデプロイメントに紐づいていること | + | `kube_argo_rollout` | 低 | Pod の ownerref | Pod が Argo Rollout に紐づいていること | + | `kube_replication_controller` | 低 | Pod の ownerref | Pod がレプリケーションコントローラーに紐づいていること | + | `kube_stateful_set` | 低 | Pod の ownerref | Pod が statefulset に紐づいていること | + | `persistentvolumeclaim` | 低 | Pod 仕様 | PVC が Pod に紐づいていること | + | `kube_cronjob` | 低 | Pod の ownerref | Pod が CronJob に紐づいていること | | `image_name` | 低 | Pod の仕様 | 該当なし | | `short_image` | 低 | Pod の仕様 | 該当なし | | `image_tag` | 低 | Pod の仕様 | 該当なし | - | `eks_fargate_node` | 低 | Pod の仕様 | EKS Fargate環境 | - | `kube_runtime_class` | 低 | Pod の仕様 | Pod はランタイムクラスに接続されている必要があります | - | `gpu_vendor` | 低 | Pod の仕様 | コンテナは GPU リソースに接続されている必要があります | + | `eks_fargate_node` | 低 | Pod の仕様 | EKS Fargate 環境 | + | `kube_runtime_class` | 低 | Pod の仕様 | Pod がランタイムクラスに紐づいていること | + | `gpu_vendor` | 低 | Pod の仕様 | コンテナが GPU リソースに紐づいていること | | `image_id` | 低 | コンテナイメージ ID | 該当なし | - | `kube_autoscaler_kind` | 低 | Kubernetes オートスケーラータイプ | Kubernetes オートスケーラーを使用する必要があります | - | `kube_priority_class` | 低 | Pod 優先クラス | Pod には優先クラスが設定されている必要があります | - | `kube_qos` | 低 | Pod のサービス品質クラス | 該当なし | + | `kube_autoscaler_kind` | 低 | Kubernetes オートスケーラータイプ | Kubernetes オートスケーラーを使用すること | + | `kube_priority_class` | 低 | Pod PriorityClass | Pod に優先度クラスが設定されていること | + | `kube_qos` | 低 | Pod の Quality of Service (QoS) クラス | 該当なし |
-###ホストタグ +### ホストタグ {#host-tag} Agent は Kubernetes 環境情報を "host tags" としてアタッチできます。
| タグ | カーディナリティ | ソース | 要件 | - ||||| - | `kube_cluster_name` | 低 | `DD_CLUSTER_NAME` 環境変数またはクラウドプロバイダーインテグレーション | `DD_CLUSTER_NAME` 環境変数またはクラウドプロバイダーインテグレーションが有効です | - | `kube_node_role` | 低 | ノードラベル `noderole.kubernetes.io/` | ノードラベルが存在する必要があります | - | `kube_node` | 低 | `NodeName` Pod の仕様におけるフィールド | | - | `orch_cluster_id` | 低 | オーケストレータークラスターメタデータ | オーケストレーター環境 | - | `kube_distribution` | 低 | ノードラベルと NodeSystemInfo | | + |---------------------|-------------|--------------------------------------------------------|----------------------------------------------------------------| + | `kube_cluster_name` | 低 | `DD_CLUSTER_NAME`環境変数またはクラウドプロバイダー統合 | `DD_CLUSTER_NAME`環境変数またはクラウドプロバイダー統合が有効であること | + | `kube_node_role` | 低 | ノードラベル `node-role.kubernetes.io/` | ノードラベルが存在すること | + | `kube_node` | 低 | `NodeName`Pod の仕様内のフィールド | | + | `orch_cluster_id` | 低 | オーケストレーターのクラスターメタデータ | オーケストレーター環境 | + | `kube_distribution` | 低 | ノードラベルおよび NodeSystemInfo | |
-## タグ Autodiscovery +## タグ Autodiscovery {#tag-autodiscovery} Agent v6.10 以降、Agent は Pod のアノテーションからタグを自動発見できます。これにより、Agent はこの Pod 内のすべてのデータまたは個々のコンテナから発行されたデータにタグを関連付けることができます。 -コンテナ化された環境におけるベストプラクティスとして、Datadog はタグを統一するために unified service tagging の使用を推奨しています。unified service tagging は、`env`, `service`, および `version` の 3 つの標準タグを使用して Datadog テレメトリを結び付けます。unified service tagging で環境を構成する方法については、専用 の[unified service tagging][2] ドキュメントを参照してください。 +コンテナ化された環境におけるベストプラクティスとして、Datadog はタグを統一するために unified service tagging の使用を推奨しています。unified service tagging は、`env`、`service`、および `version` の 3 つの標準タグを使用して Datadog テレメトリを結び付けます。unified service tagging で環境を構成する方法については、専用の [unified service tagging][2] ドキュメントを参照してください。 -特定の Pod から発行され、Agent によって収集されたすべてのデータに `:` タグを適用するには、Pod で次のアノテーションを使用します。 +特定の Pod から出力され、Agent によって収集されたすべてのデータに `:` タグを適用するには、Pod に次のアノテーションを追加します。 ```yaml annotations: ad.datadoghq.com/tags: '{"": "","": ""}' ``` -Pod 内の個々のコンテナ `` に `:` タグを適用する場合は、Pod で次のアノテーションを使用します。 +Pod 内の個々のコンテナ `` に `:` タグを適用する場合は、Pod に以下のアノテーションを追加します。 ```yaml annotations: @@ -118,33 +121,33 @@ annotations: ad.datadoghq.com/nginx.tags: '{"container_port":"%%port_80%%"}' ``` -##タグの抽出 +## タグの抽出 {#tag-extraction} バージョン 7.64 以降、Agent と Cluster Agent は、Kubernetes リソースからラベルとアノテーションを収集し、共通の設定からタグとして使用するように構成できます。Agent のコアタグ付け、Cluster Agent の KSM レポート、および両エージェントの Orchestrator Explorer のレポート全体で一貫した報告を確保するために、Datadog では、次のオプションを使用することを推奨します。 - `kubernetesResourcesLabelsAsTags` - `kubernetesResourcesAnnotationsAsTags` +- `kubernetesResourcesLabelsAsTags` +- `kubernetesResourcesAnnotationsAsTags` -これらのオプションは、従来の Agent オプション `podLabelsAsTags`、`nodeLabelsAsTags`、`namespaceLabelsAsTags`、および KSM 設定のオーバーライドの代わりとして使用する必要があります。 +これらのオプションは、従来の Agent オプション `podLabelsAsTags`、`nodeLabelsAsTags`、`namespaceLabelsAsTags` および任意の KSM 構成オーバーライドの代わりに使用する必要があります。 -これらの構成は、メタデータを抽出するオブジェクトのリソースタイプを参照します。各リソースタイプは、`resourceType.apiGroup` の形式で指定する必要があります。ここで、`resourceType` はリソースの複数形の名前です。空の API グループのリソース (例: Pod やノード)は、`resourceType` 名のみを使用して指定できます。 +これらの構成は、メタデータを抽出するオブジェクトのリソースタイプを参照します。各リソースタイプは、`resourceType.apiGroup` 形式で指定する必要があります。ここで `resourceType` はリソースの複数形の名前です。空の API グループのリソース (例: Pod やノード) は、`resourceType` 名のみを使用して指定できます。 -たとえば、`kubectl apiresources` を実行してこの情報を取得します。 +たとえば、`kubectl api-resources` を実行してこの情報を取得します。 | 名前 | API バージョン | Datadog リソース構成 | -|||| -| Pod | v1 | Pod | -| ノード | v1 | ノード | -| ネームスペース | v1 | ネームスペース | -| デプロイメント | apps/v1 | deployments.apps | -| ロール | rbac.authorization.k8s.io/v1 | roles.rbac.authorization.k8s.io | +|-------------|------------------------------|---------------------------------| +| pods | v1 | pods | +| nodes | v1 | nodes | +| namespaces | v1 | namespaces | +| deployments | apps/v1 | deployments.apps | +| roles | rbac.authorization.k8s.io/v1 | roles.rbac.authorization.k8s.io | **注:** - タグ * はワークロードと子リソース間でカスケードしません *。たとえば、デプロイメントのラベルは、その子 Pod のログに自動的に適用されるわけではありません。Pod データにタグを付与するには、Pod でラベル抽出を直接設定してください。 -タグはネームスペースから Pod およびその内部のコンテナに*カスケードします*。 -KSM メトリクスのタグ抽出ルールでワイルドカードを使用するには、Datadog Agent 7.73 以上を使用してください。 +- タグは、ワークロードと子リソース間でカスケード*しません*。たとえば、デプロイメントのラベルは、その子 Pod のログに自動的に適用されるわけではありません。Pod データにタグを付与するには、Pod でラベル抽出を直接設定してください。 +- タグは、ネームスペースから Pod およびその内部のコンテナにカスケード*します*。 +- KSM メトリクスのタグ抽出ルールでワイルドカードを使用するには、Datadog Agent 7.73 以上を使用してください。 -### タグとしての Kubernetes リソースラベル +### Kubernetes リソースラベルをタグとして使用する{#kubernetes-resources-labels-as-tags} このオプションは、Kubernetes リソースの特定のラベルを抽出し、それを Datadog タグとして送信するために使用します。 @@ -152,7 +155,7 @@ KSM メトリクスのタグ抽出ルールでワイルドカードを使用す {{% tab "Datadog Operator" %}} -特定のリソースラベル `