diff --git a/content/es/account_management/billing/custom_metrics.md b/content/es/account_management/billing/custom_metrics.md
index 111739c69e8..e1223ef28bf 100644
--- a/content/es/account_management/billing/custom_metrics.md
+++ b/content/es/account_management/billing/custom_metrics.md
@@ -1,145 +1,144 @@
---
algolia:
tags:
- - facturación de métricas personalizadas
+ - custom metrics billing
aliases:
- /es/integrations/faq/what-standard-integrations-emit-custom-metrics/
further_reading:
- link: /metrics/custom_metrics/
tag: Documentación
- text: Más información sobre métricas personalizadas
+ text: Aprende más sobre métricas personalizadas
- link: /metrics/guide/custom_metrics_governance/
tag: Guía
- text: Prácticas recomendadas para la gobernanza de métricas personalizadas
+ text: Mejores prácticas para la gobernanza de métricas personalizadas
title: Facturación de métricas personalizadas
---
+## Descripción general {#overview}
-## Información general
+Si una métrica no se envía desde una de las [más de {{< translate key="integration_count" >}} integraciones de Datadog][1], se considera una [métrica personalizada][2]. Ciertas integraciones estándar también pueden emitir métricas personalizadas. Para más información, consulta [métricas personalizadas e integraciones estándar][14].
-Si una métrica no se envía desde una de las [más de {{< translate key="integration_count" >}} integraciones de Datadog][1], se la considera una [métrica personalizada][2]. Ciertas integraciones estándar también pueden potencialmente emitir métricas personalizadas. Para obtener más información, consulta [Métricas personalizadas e integraciones estándar][14].
+**Una métrica personalizada se identifica de manera única por una combinación de un nombre de métrica y valores de etiqueta (incluyendo la etiqueta de host)**. En general, cualquier métrica que envíes utilizando [DogStatsD][3] o a través de un [Chequeo de Agente personalizado][4] es una métrica personalizada.
-**Una métrica personalizada se identifica de manera exclusiva mediante un nombre de métrica y valores de etiqueta (tag) (incluido la etiqueta de host)**. En términos generales, cualquier métrica que envías mediante [DogStatsD][3] o un [check personalizado del Agent][4] es una métrica personalizada.
+Tu uso mensual de métricas personalizadas facturables (reflejado en la página de Uso) se calcula tomando el total de todas las métricas personalizadas distintas (también conocidas como series de tiempo) para cada hora en un mes dado, y dividiéndolo por el número de horas en el mes para calcular un valor promedio mensual. Tu uso facturable no se ve afectado por la frecuencia de envío de puntos de datos o el número de consultas que realices sobre tus métricas.
-Tu uso mensual facturable de métricas personalizadas (reflejado en la página Uso) se calcula tomando el total de todas las distintas métricas personalizadas (también conocidas como series de tiempo) por cada hora de un mes determinado y dividiéndolo por el número de horas del mes, para calcular un valor medio mensual. Tu uso facturable no se ve afectado por la frecuencia de envío de puntos de datos, ni por el número de consultas que ejecutas en tus métricas.
+Los usuarios de Metrics without Limits™ ven volúmenes facturables mensuales para _ingestadas_ y _indexadas_ métricas personalizadas en su página de Uso. Aprende más sobre métricas personalizadas ingestadas e indexadas y [Metrics without Limits™][5].
-Los usuarios de Metrics without LimitsTM ven volúmenes facturables mensuales para las métricas personalizadas _ingeridas_ e _indexadas_ en su página de uso. Más información sobre las métricas personalizadas ingeridas e indexadas y [Metrics without LimitsTM][5].
+## Contando métricas personalizadas {#counting-custom-metrics}
-## Conteo de las métricas personalizadas
+El número de métricas personalizadas asociadas con un nombre de métrica particular depende de su [tipo de envío de métrica][6]. A continuación se presentan ejemplos de cómo contar tus métricas personalizadas basados en el siguiente escenario:
-La cantidad de métricas personalizadas asociadas a un nombre de métrica determinado depende del [tipo de envío][6] de la métrica. A continuación encontrarás ejemplos de cómo contar tus métricas personalizadas en función de una serie de supuestos:
+Supón que estás enviando una métrica, `request.Latency`, desde dos hosts (`host:A`,`host:B`), que mide la latencia de tus solicitudes de punto de conexión. Está enviando esta métrica con dos claves de etiqueta:
-Supongamos que envías la métrica `request.Latency`, desde dos hosts (`host:A`,`host:B`), que mide la latencia de tus solicitudes de endpoint. Y la envías con dos claves de etiqueta:
+- `endpoint`, que tiene el valor `endpoint:X` o `endpoint:Y`.
+- `status`, que tiene el valor `status:200` o `status:400`.
-- `endpoint`, con el valor `endpoint:X` o `endpoint:Y`.
-- `status`, con el valor `status:200` o `status:400`.
+Supón que en tus datos, `endpoint:X` es compatible con ambos hosts, pero falla solo en `host:B`. También supón que las solicitudes a `endpoint:Y` son siempre exitosas y solo aparecen en `host:B` como se muestra a continuación:
-Ahora supongamos que en tus datos, `endpoint:X` es compatible con ambos hosts, pero solo falla para `host:B`. Imaginemos también que las solicitudes a `endpoint:Y` siempre funcionan de manera correcta y solo aparecen para `host:B`, como se muestra a continuación:
-
-{{< img src="account_management/billing/custom_metrics/request_latency.png" alt="Latencia de la solicitud" style="width:80%;">}}
+{{< img src="account_management/billing/custom_metrics/request_latency.png" alt="Latencia de solicitud" style="width:80%;">}}
{{< tabs >}}
-{{% tab "Count, Rate"%}}
+{{% tab "Conteo, Tasa"%}}
-Se emplea la misma lógica para calcular la cantidad de métricas personalizadas de [COUNT][1] y [RATE][2].
+El número de métricas personalizadas de [COUNT][1] y [RATE][2] se calcula con la misma lógica.
-Para una métrica RATE con el siguiente esquema de etiquetado se envían **cuatro** combinaciones de valores únicos de etiqueta:
+El número de combinaciones de valores de etiqueta únicas enviadas para una métrica de TASA con este esquema de etiquetado es **cuatro**:
- `host:A`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:400`
- `host:B`, `endpoint:Y`, `status:200`
-De esta forma, la métrica `request.Latency` envía **cuatro métricas personalizadas**.
+Esto resulta en `request.Latency` reportando **cuatro métricas personalizadas**.
-### Consecuencias de añadir etiquetas
+### Efecto de agregar etiquetas {#effect-of-adding-tags}
-Añadir etiquetas **puede no** aumentar la cantidad de métricas personalizadas, que generalmente escala en función de la etiqueta más granular o de la que aporta más detalle. Supongamos que quieres medir la temperatura en EE. UU., y que has etiquetado la métrica `temperature` por país y región. Envías lo siguiente a Datadog:
+Agregar etiquetas **puede no** resultar en más métricas personalizadas. Su conteo de métricas personalizadas generalmente escala con la etiqueta más granular o detallada. Supongamos que estás midiendo la temperatura en los EE. UU., y has etiquetado tu métrica `temperature` por país y región. Usted envía lo siguiente a Datadog:
-| Nombre de la métrica | Valores de etiqueta |
+| Nombre de la métrica | Valores de la etiqueta |
|---------------|------------------------------------|
| `temperature` | `country:USA`, `region: Northeast` |
| `temperature` | `country:USA`, `region: Southeast` |
-Supongamos que quieres añadir la etiqueta `city`, que tiene tres valores: `NYC`, `Miami` y `Orlando`. Añadir esta etiqueta aumenta la cantidad de métricas personalizadas porque aporta más detalle y granularidad a tu conjunto de datos como se indica a continuación:
+Supongamos que deseas agregar la etiqueta `city` que tiene tres valores: `NYC`, `Miami` y `Orlando`. Agregar esta etiqueta aumenta el número de métricas personalizadas, ya que proporciona más detalle y granularidad a tu conjunto de datos, como se muestra a continuación:
-| Nombre de la métrica | Valores de etiqueta |
+| Nombre de la métrica | Valores de la etiqueta |
|---------------|-----------------------------------------------------|
| `temperature` | `country:USA`, `region: Northeast`, `city: NYC` |
| `temperature` | `country:USA`, `region: Southeast`, `city: Orlando` |
| `temperature` | `country:USA`, `region: Southeast`, `city: Miami` |
-La cantidad de métricas personalizadas que envía `temperature` aumenta si se añade la etiqueta `city`, que es más granular.
+El conteo de métricas personalizadas que reportan desde `temperature` se escala con la etiqueta más granular, `city`.
-Supongamos que también quieres etiquetar tu métrica de temperatura por `state` (que tiene dos valores: `NY` y `Florida`). De esta manera, la temperatura se asociaría a las etiquetas `country`, `region`, `state` y `city`. Ten en cuenta que añadir la etiqueta state (estado) no aumenta el nivel de granularidad que ya aporta la etiqueta city (ciudad).
+Supongamos que también deseas etiquetar tu métrica de temperatura por `state` (que tiene dos valores: `NY` y `Florida`). Esto significa que estás etiquetando la temperatura con las etiquetas: `country`, `region`, `state` y `city`. Agregar la etiqueta de estado no aumenta el nivel de granularidad ya presente en tu conjunto de datos proporcionado por la etiqueta de ciudad.
-Para obtener la temperatura en Florida, puedes volver a combinar las métricas personalizadas de:
+Para obtener la temperatura en Florida, puedes recombinar las métricas personalizadas de:
- `temperature{country:USA, state:Florida, city:Orlando}`
- `temperature{country:USA, state:Florida, city:Miami}`
-**Nota**: Cambiar el orden de los valores de las etiquetas no aporta especificidad. Las siguientes combinaciones pertenecen a la misma métrica personalizada:
+**Nota**: Reordenar los valores de las etiquetas no añade unicidad. Las siguientes combinaciones son la misma métrica personalizada:
- `temperature{country:USA, state:Florida, city:Miami}`
- `temperature{state:Florida, city:Miami, country:USA}`
-### Configurar etiquetas con Metrics without LimitsTM
-
-Los volúmenes de métricas personalizadas pueden verse afectados si se configuran etiquetas utilizando [Metrics without LimitsTM][3]. Metrics without LimitsTM desvincula los costes de ingesta de los costes de indexación, por lo que puedes seguir enviando a Datadog todos tus datos (todo se ingiere) y puedes especificar una lista permitida de etiquetas que desees que siga siendo consultable en la plataforma de Datadog. Dado que el volumen de datos que Datadog está ingiriendo para tus métricas configuradas ahora difiere del volumen restante más pequeño que has indexado, verás dos volúmenes distintos en tu página Uso, así como en la página Resumen de métricas.
+### Configura etiquetas con Métricas sin Límites™ {#configure-tags-with-metrics-without-limits}
-- **Métricas personalizadas ingeridas**: el volumen inicial de métricas personalizadas en función de las etiquetas ingeridas (enviadas a través de código)
-- **Métricas personalizadas indexadas**: el volumen de métricas personalizadas de tipo consultable que queda en la plataforma de Datadog (en función de las configuraciones de Metrics without LimitsTM)
+Los volúmenes de métricas personalizadas pueden verse afectados al configurar etiquetas utilizando [Métricas sin Límites™][3]. Métricas sin Límites™ desacopla los costos de ingestión de los costos de indexación, por lo que puedes seguir enviando a Datadog todos tus datos (todo se ingesta) y puedes especificar una lista de etiquetas que deseas que permanezcan consultables en la plataforma de Datadog. Dado que el volumen de datos que Datadog está ingiriendo para tus métricas configuradas ahora difiere del volumen más pequeño que has indexado, verás dos volúmenes distintos en tu página de Uso, así como en la página de Resumen de Métricas.
+
+- **Métricas personalizadas ingeridas**: El volumen original de métricas personalizadas basado en todas las etiquetas ingeridas (enviadas a través de código)
+- **Métricas personalizadas indexadas**: El volumen de métricas personalizadas que permanece consultable en la plataforma de Datadog (basado en cualquier configuración de Métricas sin Límites™)
-**Nota: Solo las métricas configuradas contribuyen al volumen de métricas personalizadas ingeridas.** Si una métrica no se ha configurado con Metrics without LimitsTM, solo se te factura por su volumen de métricas personalizadas indexadas.
+**Nota: Solo las métricas configuradas contribuyen a tu volumen de métricas personalizadas ingeridas.** Si una métrica no está configurada con Metrics without Limits™, solo se te cobrará por su volumen de métricas personalizadas indexadas.
-#### ¿Cuándo se te cobra por las métricas personalizadas ingeridas frente a las indexadas?
-Si no utilizas Metrics without LimitsTM para configurar las métricas, pagas por las métricas personalizadas indexadas.
+#### ¿Cuándo se te cobra por métricas personalizadas ingeridas vs indexadas? {#when-are-you-charged-for-ingested-vs-indexed-custom-metrics}
+Para métricas no configuradas con Metrics without Limits™, pagas por métricas personalizadas indexadas.
-| | Métricas personalizadas indexadas
(en función del número medio mensual de métricas personalizadas por hora) |
+| | Métricas personalizadas indexadas
(basado en el número promedio mensual de métricas personalizadas por hora) |
|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Asignación de la cuenta | - Pro: 100 métricas personalizadas indexadas por host
- Enterprise: 200 métricas personalizadas indexadas por host |
-| Uso superior a la asignación de la cuenta | Por cada 100 métricas personalizadas indexadas por encima de la asignación de la cuenta, pagas la cantidad que se especifica en tu contrato. |
+| Asignación de cuenta | - Pro: 100 métricas personalizadas indexadas por host
- Empresa: 200 métricas personalizadas indexadas por host |
+| Uso mayor que la asignación de cuenta | Por cada 100 métricas personalizadas indexadas sobre la asignación de cuenta, pagas un monto que se especifica en tu contrato actual. |
-Para las métricas configuradas con Metrics without LimitsTM (las etiquetas están configuradas), se paga por las métricas personalizadas ingeridas y las métricas personalizadas indexadas.
+Para métricas configuradas con Metrics without Limits™ (las etiquetas están configuradas), pagas por métricas personalizadas ingeridas y métricas personalizadas indexadas.
-| | Métricas personalizadas ingeridas | Métricas personalizadas indexadas |
+| | Métricas personalizadas ingeridas | Métricas personalizadas indexadas |
|--------------------------------------|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Asignación de la cuenta | - Pro: 100 métricas personalizadas ingeridas por host
- Enterprise: 200 métricas personalizadas ingeridas por host | - Pro: 100 métricas personalizadas indexadas por host
- Enterprise: 200 métricas personalizadas indexadas por host |
-| Uso superior a la asignación de la cuenta | Por cada 100 métricas personalizadas ingeridas por encima de la asignación de la cuenta, pagas 0,10 $. | Por cada 100 métricas personalizadas indexadas por encima de la asignación de la cuenta, pagas la cantidad que se especifica en tu contrato. |
+| Asignación de cuenta | - Pro: 100 métricas personalizadas ingeridas por host
- Empresa: 200 métricas personalizadas ingeridas por host | - Pro: 100 métricas personalizadas indexadas por host
- Empresa: 200 métricas personalizadas indexadas por host |
+| Uso mayor que la asignación de cuenta | Por cada 100 métricas personalizadas ingeridas sobre la asignación de cuenta, pagas $0.10. | Por cada 100 métricas personalizadas indexadas sobre la asignación de cuenta, pagas un monto que se especifica en tu contrato actual. |
-Supongamos que quieres utilizar Metrics without LimitsTM para reducir el tamaño de tu métrica `request.Latency` manteniendo solo las etiquetas `endpoint` y `status`. Obtendrías estas tres combinaciones únicas de etiquetas:
+Supongamos que deseas usar Metrics without Limits™ para reducir el tamaño de tu `request.Latency` métrica manteniendo solo las etiquetas `endpoint` y `status`. Esto resulta en las siguientes tres combinaciones únicas de etiquetas:
- `endpoint:X`, `status:200`
- `endpoint:X`, `status:400`
- `endpoint:Y`, `status:200`
-Como resultado de la configuración de etiquetas, `request.Latency` envía un total de **3 métricas personalizadas indexadas**. Basándonos en las etiquetas enviadas inicialmente en esta métrica, el volumen de métricas personalizadas **ingeridas** en un principio para la métrica `request.Latency` es de **4 métricas personalizadas ingeridas**.
+Como resultado de la configuración de etiquetas, `request.Latency` reportando un total de **3 métricas personalizadas indexadas**. Basado en las etiquetas originales enviadas en esta métrica, el volumen original de métricas personalizadas **ingeridas** de `request.Latency` es **4 métricas personalizadas ingeridas**.
-Más información sobre [Metrics without LimitsTM][3].
+Aprende más sobre [Metrics without Limits™][3].
[1]: /es/metrics/types/?tab=count#metric-types
[2]: /es/metrics/types/?tab=rate#metric-types
[3]: /es/metrics/metrics-without-limits
{{% /tab %}}
-{{% tab "Gauge" %}}
-Para una métrica GAUGE con el siguiente esquema de etiquetado se envían **cuatro** combinaciones de valores únicos de etiqueta:
+{{% tab "gauge" %}}
+El número de combinaciones únicas de valores de etiquetas enviadas para una métrica GAUGE con este esquema de etiquetado es **cuatro**:
- `host:A`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:400`
- `host:B`, `endpoint:Y`, `status:200`
-De esta forma, la métrica `request.Latency` envía **cuatro métricas personalizadas**.
+Esto resulta en `request.Latency` reportando **cuatro métricas personalizadas**.
-### Consecuencias de añadir etiquetas
+### Efecto de agregar etiquetas {#effect-of-adding-tags-1}
-Añadir etiquetas **puede no** aumentar la cantidad de métricas personalizadas, que generalmente escala en función de la etiqueta más granular o de la que aporta más detalle. Supongamos que quieres medir la temperatura en EE. UU., y que has etiquetado la métrica `temperature` por país y región. Envías lo siguiente a Datadog:
+Agregar etiquetas **puede no** resultar en más métricas personalizadas. Su conteo de métricas personalizadas generalmente escala con la etiqueta más granular o detallada. Suponga que mide la temperatura en EE. UU., y ha etiquetado su métrica `temperature` por país y región. Usted envía lo siguiente a Datadog:
| Nombre de la métrica | Valores de etiqueta |
|---------------|------------------------------------|
| `temperature` | `country:USA`, `region: Northeast` |
| `temperature` | `country:USA`, `region: Southeast` |
-Supongamos que quieres añadir la etiqueta `city`, que tiene tres valores: `NYC`, `Miami` y `Orlando`. Añadir esta etiqueta aumenta la cantidad de métricas personalizadas porque aporta más detalle y granularidad a tu conjunto de datos como se indica a continuación:
+Suponga que desea agregar la etiqueta `city` que tiene tres valores: `NYC`, `Miami` y `Orlando`. Agregar esta etiqueta aumenta el número de métricas personalizadas, ya que proporciona más detalle y granularidad a su conjunto de datos, como se muestra a continuación:
| Nombre de la métrica | Valores de etiqueta |
|---------------|-----------------------------------------------------|
@@ -147,174 +146,175 @@ Supongamos que quieres añadir la etiqueta `city`, que tiene tres valores: `NYC`
| `temperature` | `country:USA`, `region: Southeast`, `city: Orlando` |
| `temperature` | `country:USA`, `region: Southeast`, `city: Miami` |
-La cantidad de métricas personalizadas que envía `temperature` aumenta si se añade la etiqueta `city`, que es más granular.
+El conteo de métricas personalizadas reportado desde `temperature` aumenta en función de la etiqueta más granular, `city`.
-Supongamos que también quieres etiquetar tu métrica de temperatura por `state` (que tiene dos valores: `NY` y `Florida`). De esta manera, la temperatura se asociaría a `country`, `region`, `state` y `city`. Ten en cuenta que añadir la etiqueta state (estado) no aumenta el nivel de granularidad que ya aporta la etiqueta city (ciudad).
+Suponga que también desea etiquetar su métrica de temperatura por `state` (que tiene dos valores: `NY` y `Florida`). Esto significa que está etiquetando la temperatura por `country`, `region`, `state` y `city`. Agregar la etiqueta de estado no aumenta el nivel de granularidad ya presente en su conjunto de datos proporcionado por la etiqueta de ciudad.
-Para obtener la temperatura en Florida, puedes volver a combinar las métricas personalizadas de:
+Para obtener la temperatura en Florida, puede recombinar las métricas personalizadas de:
- `temperature{country:USA, state:Florida, city:Orlando}`
- `temperature{country:USA, state:Florida, city:Miami}`
-**Nota**: Cambiar el orden de los valores de las etiquetas no aporta especificidad. Las siguientes combinaciones pertenecen a la misma métrica personalizada:
+**Nota**: Reordenar los valores de las etiquetas no añade unicidad. Las siguientes combinaciones son la misma métrica personalizada:
- `temperature{country:USA, state:Florida, city:Miami}`
- `temperature{state:Florida, city:Miami, country:USA}`
-### Configurar etiquetas con Metrics without LimitsTM
-
-Los volúmenes de métricas personalizadas pueden verse afectados si se configuran etiquetas utilizando [Metrics without LimitsTM][4]. Metrics without LimitsTM desvincula los costes de ingesta de los costes de indexación, por lo que puedes seguir enviando a Datadog todos tus datos (todo se ingiere) y puedes especificar una lista permitida de etiquetas que desees que siga siendo consultable en la plataforma de Datadog. Dado que el volumen de datos que Datadog está ingiriendo para tus métricas configuradas ahora difiere del volumen restante más pequeño que has indexado, verás dos volúmenes distintos en tu página Uso, así como en la página Resumen de métricas.
+### Configure etiquetas con Metrics without Limits™ {#configure-tags-with-metrics-without-limits-1}
-- **Métricas personalizadas ingeridas**: el volumen inicial de métricas personalizadas en función de las etiquetas ingeridas (enviadas a través de código)
-- **Métricas personalizadas indexadas**: el volumen de métricas personalizadas de tipo consultable que queda en la plataforma de Datadog (en función de las configuraciones de Metrics without LimitsTM)
+Los volúmenes de métricas personalizadas pueden verse afectados al configurar etiquetas usando [Metrics without Limits™][4]. Metrics without Limits™ desacopla los costos de ingestión de los costos de indexación, por lo que puedes seguir enviando a Datadog todos tus datos (todo es ingerido) y puedes especificar una lista de etiquetas que deseas que permanezcan consultables en la plataforma de Datadog. Dado que el volumen de datos que Datadog está ingiriendo para tus métricas configuradas ahora difiere del volumen más pequeño que has indexado, verás dos volúmenes distintos en tu página de Usage, así como en la página de Metrics Summary.
+
+- **Métricas personalizadas ingeridas**: El volumen original de métricas personalizadas basado en todas las etiquetas ingeridas (enviadas a través de código)
+- **Métricas personalizadas indexadas**: El volumen de métricas personalizadas que permanece consultable en la plataforma de Datadog (basado en cualquier configuración de Metrics without Limits™)
-**Nota: Solo las métricas configuradas contribuyen al volumen de métricas personalizadas ingeridas.** Si una métrica no se ha configurado con Metrics without LimitsTM, solo se te factura por su volumen de métricas personalizadas indexadas.
+**Nota: Solo las métricas configuradas contribuyen a su volumen de métricas personalizadas ingeridas.** Si una métrica no está configurada con Metrics without Limits™, solo se le cobrará por su volumen de métricas personalizadas indexadas.
-#### ¿Cuándo se te cobra por las métricas personalizadas ingeridas frente a las indexadas?
-Si no utilizas Metrics without LimitsTM para configurar las métricas, pagas por las métricas personalizadas indexadas.
+#### ¿Cuándo se le cobra por métricas personalizadas ingeridas vs indexadas? {#when-are-you-charged-for-ingested-vs-indexed-custom-metrics-1}
+Para métricas no configuradas con Metrics without Limits™, se paga por métricas personalizadas indexadas.
-| | Métricas personalizadas indexadas
(en función del número medio mensual de métricas personalizadas por hora) |
+| | Métricas personalizadas indexadas
(basado en el número promedio mensual de métricas personalizadas por hora) |
|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Asignación de la cuenta | - Pro: 100 métricas personalizadas indexadas por host
- Enterprise: 200 métricas personalizadas indexadas por host |
-| Uso superior a la asignación de la cuenta | Por cada 100 métricas personalizadas indexadas por encima de la asignación de la cuenta, pagas la cantidad que se especifica en tu contrato. |
+| Asignación de cuenta | - Pro: 100 métricas personalizadas indexadas por host
- Empresa: 200 métricas personalizadas indexadas por host |
+| Uso mayor que la asignación de cuenta | Por cada 100 métricas personalizadas indexadas por encima de la asignación de cuenta, se paga un monto que se especifica en su contrato actual. |
-Para las métricas configuradas con Metrics without LimitsTM (las etiquetas están configuradas), se paga por las métricas personalizadas ingeridas y las métricas personalizadas indexadas.
+Para métricas configuradas con Metrics without Limits™ (las etiquetas están configuradas), se paga por métricas personalizadas ingeridas y métricas personalizadas indexadas.
-| | Métricas personalizadas ingeridas | Métricas personalizadas indexadas |
+| | Métricas personalizadas ingeridas | Métricas personalizadas indexadas |
|--------------------------------------|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Asignación de la cuenta | - Pro: 100 métricas personalizadas ingeridas por host
- Enterprise: 200 métricas personalizadas ingeridas por host | - Pro: 100 métricas personalizadas indexadas por host
- Enterprise: 200 métricas personalizadas indexadas por host |
-| Uso superior a la asignación de la cuenta | Por cada 100 métricas personalizadas ingeridas por encima de la asignación de la cuenta, pagas 0,10 $. | Por cada 100 métricas personalizadas indexadas por encima de la asignación de la cuenta, pagas la cantidad que se especifica en tu contrato. |
+| Asignación de cuenta | - Pro: 100 métricas personalizadas ingeridas por host
- Empresa: 200 métricas personalizadas ingeridas por host | - Pro: 100 métricas personalizadas indexadas por host
- Empresa: 200 métricas personalizadas indexadas por host |
+| Uso mayor que la asignación de cuenta | Por cada 100 métricas personalizadas ingeridas por encima de la asignación de cuenta, se paga $0.10. | Por cada 100 métricas personalizadas indexadas por encima de la asignación de cuenta, se paga un monto que se especifica en su contrato actual. |
-Por defecto, se pueden utilizar las siguientes agregaciones para realizar consultas:
-- agrupar por `SUM` y rollup por `AVG`
-- agrupar por `MAX` y rollup por `AVG`
-- agrupar por `MIN` y rollup por `AVG`
-- agrupar por `AVG` y rollup por `SUM`
-- agrupar por `SUM` y rollup por `SUM`
-- agrupar por `MAX` y rollup por `MAX`
-- agrupar por `MIN` y rollup por `MIN`
-- agrupar por `SUM` y rollup por `COUNT`
+Por defecto, se pueden usar las siguientes agregaciones para consultar:
+- agrupado por `SUM` y rollup por `AVG`
+- agrupado por `MAX` y rollup por `AVG`
+- agrupado por `MIN` y rollup por `AVG`
+- agrupado por `AVG` y rollup por `SUM`
+- agrupado por `SUM` y rollup por `SUM`
+- agrupado por `MAX` y rollup por `MAX`
+- agrupado por `MIN` y rollup por `MIN`
+- agrupado por `SUM` y rollup by `COUNT`
-Tu número de métricas personalizadas indexadas **no escala** con el número de agregaciones habilitadas.
+Su número de métricas personalizadas indexadas **no escala** con el número de agregaciones habilitadas.
-Más información sobre [Metrics without LimitsTM][1].
+Aprenda más sobre [Metrics without Limits™][1].
[1]: /es/metrics/metrics-without-limits
{{% /tab %}}
-{{% tab "Histogram" %}}
+{{% tab "Histograma" %}}
-**Una métrica HISTOGRAM genera de manera predeterminada cinco métricas personalizadas para cada una de las combinaciones únicas de nombre de métrica y valores de etiqueta** para las agregaciones del Agent `max`, `median`, `avg`, `95pc` y `count`. [Más información sobre el tipo de métrica HISTOGRAM][1].
+**Una métrica de HISTOGRAMA genera por defecto cinco métricas personalizadas para cada combinación única de nombre de métrica y valores de etiqueta** para soportar las agregaciones del lado del Agente `max`, `median`, `avg`, `95pc` y `count`. [Aprenda más sobre el tipo de métrica HISTOGRAMA][1].
-Para una métrica HISTOGRAM con el siguiente esquema de etiquetado se envían **cuatro** combinaciones de valores únicos de etiqueta:
+El número de combinaciones únicas de valores de etiqueta enviadas para una métrica de HISTOGRAMA con este esquema de etiquetado es **cuatro**:
- `host:A`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:400`
- `host:B`, `endpoint:Y`, `status:200`
-De manera predeterminada, el Agent genera cinco métricas personalizadas para cada una de las cuatro combinaciones de valores únicos de etiqueta; [una para cada agregación habilitada en el Agent][2]: `avg`, `count`, `median`, `95percentile` y `max`. Por lo tanto, `request.Latency` envía un total de **4 x 5 = 20 métricas personalizadas**.
+Por defecto, el Agente genera cinco métricas personalizadas para cada una de las cuatro combinaciones únicas de valores de etiqueta originales para contabilizar [cada una de las agregaciones habilitadas del lado del Agente][2]: `avg`, `count`, `median`, `95percentile` y `max`. En consecuencia, `request.Latency` informa un total de **4\*5 = 20 métricas personalizadas**.
-**Nota**: Añadir agregaciones a la métrica HISTOGRAM aumenta la cantidad de métricas personalizadas que se envían. Por el contrario, si se eliminan, disminuye dicha cantidad.
+**Nota**: Agregar agregaciones a sus métricas de HISTOGRAMA aumenta el número de métricas personalizadas distintas reportadas. Eliminar agregaciones disminuye el número de métricas personalizadas reportadas.
-- Configura qué agregación quieres enviar a Datadog con el parámetro `histogram_aggregates` en tu [archivo de configuración datadog.yaml][3]. De manera predeterminada, solo las agregaciones `max`, `median`, `avg` y `count` se envían a Datadog. Si quieres, también puedes utilizar `sum` y `min`.
-- Configura qué agregación de percentil quieres enviar a Datadog con el parámetro `histogram_percentiles` en tu [archivo de configuración datadog.yaml][3]. De manera predeterminada, solo se envía el percentil 95 (`95percentile`) a Datadog.
+- Configure qué agregación desea enviar a Datadog con el parámetro `histogram_aggregates` en su [archivo de configuración datadog.yaml][3]. Por defecto, solo se envían a Datadog las agregaciones `max`, `median`, `avg` y `count`. `sum` y `min` también están disponibles si se desea.
+- Configure qué agregación de percentiles desea enviar a Datadog con el parámetro `histogram_percentiles` en su [archivo de configuración datadog.yaml][3]. Por defecto, solo se envía a Datadog el percentil `95percentile`, el percentil 95.
[1]: /es/metrics/types/?tab=histogram#metric-types
[2]: /es/metrics/types/?tab=histogram#definition
[3]: /es/agent/configuration/agent-configuration-files/#agent-main-configuration-file
{{% /tab %}}
-{{% tab "Distribution" %}}
+{{% tab "Distribución" %}}
-**Una métrica DISTRIBUTION genera de manera predeterminada cinco métricas personalizadas para cada una de las combinaciones únicas de nombre de métrica y valores de etiqueta** para representar la distribución estadística general de los valores. Estas cinco métricas personalizadas representan las agregaciones del Agent `count`, `sum`, `min`, `max` y `avg`. [Más información sobre el tipo de métrica DISTRIBUTION][1].
+**Una métrica de DISTRIBUCIÓN genera por defecto cinco métricas personalizadas para cada combinación única de nombre de métrica y valores de etiqueta** para representar la distribución estadística global de valores. Estas cinco métricas personalizadas representan agregaciones del lado del servidor de `count`, `sum`, `min`, `max` y `avg`. [Aprenda más sobre el tipo de métrica DISTRIBUCIÓN][1].
-Para una métrica DISTRIBUTION con el siguiente esquema de etiquetado se envían **cuatro** combinaciones de valores únicos de etiqueta.
+El número de combinaciones únicas de valores de etiqueta enviadas para una métrica de DISTRIBUCIÓN con este esquema de etiquetado es **cuatro**.
- `host:A`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:400`
- `host:B`, `endpoint:Y`, `status:200`
-La cantidad de métricas personalizadas que envía una [métrica DISTRIBUTION][1] corresponde a cinco veces la combinación única de nombre de métrica y valores de etiqueta. Por lo tanto, la métrica `request.Latency` envía un total de **5 x 4 = 20 métricas personalizadas**.
+El número de métricas personalizadas de una [métrica de DISTRIBUCIÓN][1] es cinco veces la combinación única de nombre de métrica y valores de etiqueta. Esto resulta en `request.Latency` reportando un total de **5\*4 = 20 métricas personalizadas**.
-##### Adición de agregaciones de percentil
+##### Agregar agregaciones de percentiles {#adding-percentile-aggregations}
-Puedes incluir agregaciones de percentil (`p50`, `p75`, `p90`, `p95` y `p99`) en tu métrica de distribución. Al hacerlo, obtendrás un volumen adicional de cinco veces la combinación única de nombre de métrica y valores de etiqueta (**5 x 4 = 20 métricas personalizadas**). Por lo tanto, la cantidad total de métricas personalizadas que genera esta métrica con agregaciones de percentil es de **2 x (5 x 4) = 40 métricas personalizadas**.
+Puede incluir agregaciones de percentiles (`p50`, `p75`, `p90`, `p95` y `p99`) en su métrica de distribución. Incluir estas agregaciones percentiles adicionales resulta en un volumen adicional de cinco veces la combinación única de nombre de métrica y valores de etiqueta (**5\*4 = 20 métricas personalizadas**). Por lo tanto, el número total de métricas personalizadas emitidas desde esta métrica de distribución con agregaciones percentiles es **2 * (5\*4) = 40 métricas personalizadas**.
-En esta tabla se resume el impacto de añadir agregaciones de percentil a una métrica de distribución.
+Esta tabla resume el efecto de agregar agregaciones percentiles a cualquier métrica de distribución.
| Métricas | Número de métricas personalizadas facturables |
|-------------------------------------------------------------------------------------------|-----------------------------------|
-| Cantidad de métricas personalizadas enviadas desde una distribución de base (count, sum, min, max, avg) | `5*(tag value combinations)` |
-| Cantidad de métricas personalizadas enviadas después de incluir agregaciones de percentil (p50, p75, p90, p95, p99) | `5*(tag value combinations)` |
+| Número de métricas personalizadas de una distribución base (conteo, suma, mínimo, máximo, promedio) | `5*(tag value combinations)` |
+| Número de métricas personalizadas al incluir agregaciones percentiles (p50, p75, p90, p95, p99) | `5*(tag value combinations)` |
| Total | `2*5(tag value combinations)` |
-### Configurar etiquetas con Metrics without LimitsTM
-
-Configurar etiquetas y agregaciones con [Metrics without LimitsTM][2] puede influir en el número de métricas personalizadas ya que desvincula los costes de indexación e ingesta. Esto te permite seguir enviando a Datadog todos tus datos (que se ingieren) y especificar una lista de autorización de etiquetas que quieres conservar como consultables en la plataforma de Datadog. Como la cantidad de datos ingeridos por Datadog para tus métricas configuradas es diferente de la cantidad restante inferior que has indexado, verás dos números independientes en las páginas de uso y resumen de métricas.
+### Configure etiquetas con Metrics without Limits™ {#configure-tags-with-metrics-without-limits-2}
-- **Métricas personalizadas ingeridas**: el volumen inicial de métricas personalizadas en función de las etiquetas ingeridas (enviadas a través de código)
-- **Métricas personalizadas indexadas**: el volumen de métricas personalizadas de tipo consultable que queda en la plataforma de Datadog (en función de las configuraciones de Metrics without LimitsTM)
+Los volúmenes de métricas personalizadas pueden verse afectados al configurar etiquetas y agregaciones utilizando [Metrics without Limits™][2]. Metrics without Limits™ desacopla los costos de ingestión de los costos de indexación, por lo que puede seguir enviando a Datadog todos sus datos (todo se ingiere) y puede especificar una lista de etiquetas que desea que permanezcan consultables en la plataforma de Datadog. Dado que el volumen de datos que Datadog está ingiriendo para sus métricas configuradas ahora difiere del volumen más pequeño que ha indexado, verá dos volúmenes distintos en su página de Uso, así como en la página de Metrics Summary.
+
+- **Métricas personalizadas ingeridas**: El volumen original de métricas personalizadas basado en todas las etiquetas ingeridas (enviadas a través de código)
+- **Métricas personalizadas indexadas**: El volumen de métricas personalizadas que permanece consultable en la plataforma de Datadog (basado en cualquier configuración de Metrics without Limits™)
-**Nota: Solo las métricas configuradas contribuyen al volumen de métricas personalizadas ingeridas.** Si una métrica no se ha configurado con Metrics without LimitsTM, solo se te factura por su volumen de métricas personalizadas indexadas.
+**Nota: Solo las métricas configuradas contribuyen a su volumen de métricas personalizadas ingeridas.** Si una métrica no está configurada con Metrics without Limits™, solo se le cobra por su volumen de métricas personalizadas indexadas.
-#### ¿Cuándo se te cobra por las métricas personalizadas ingeridas frente a las indexadas?
-Si no utilizas Metrics without LimitsTM para configurar las métricas, pagas por las métricas personalizadas indexadas.
+#### ¿Cuándo se le cobra por métricas personalizadas ingeridas vs indexadas? {#when-are-you-charged-for-ingested-vs-indexed-custom-metrics-2}
+Para métricas no configuradas con Metrics without Limits™, usted paga por métricas personalizadas indexadas.
-| | Métricas personalizadas indexadas
(en función del número medio mensual de métricas personalizadas por hora) |
+| | Métricas personalizadas indexadas
(basado en el número promedio mensual de métricas personalizadas por hora) |
|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Asignación de la cuenta | - Pro: 100 métricas personalizadas indexadas por host
- Enterprise: 200 métricas personalizadas indexadas por host |
-| Uso superior a la asignación de la cuenta | Por cada 100 métricas personalizadas indexadas por encima de la asignación de la cuenta, pagas la cantidad que se especifica en tu contrato. |
+| Asignación de cuenta | - Pro: 100 métricas personalizadas indexadas por host
- Enterprise: 200 métricas personalizadas indexadas por host |
+| Uso mayor que la asignación de cuenta | Por cada 100 métricas personalizadas indexadas sobre la asignación de cuenta, paga un monto que se especifica en su contrato actual. |
-Si utilizas Metrics without LimitsTM para configurar tus métricas (etiquetas/agregaciones configuradas), pagas por las métricas personalizadas ingeridas e indexadas.
+Para las métricas configuradas con Metrics without Limits™ (las etiquetas/agregaciones están configuradas), usted paga por las métricas personalizadas ingeridas y las métricas personalizadas indexadas.
| | Métricas personalizadas ingeridas | Métricas personalizadas indexadas |
|--------------------------------------|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Asignación de la cuenta | - Pro: 100 métricas personalizadas ingeridas por host
- Enterprise: 200 métricas personalizadas ingeridas por host | - Pro: 100 métricas personalizadas indexadas por host
- Enterprise: 200 métricas personalizadas indexadas por host |
-| Uso superior a la asignación de la cuenta | Por cada 100 métricas personalizadas ingeridas por encima de la asignación de la cuenta, pagas 0,10 $. | Por cada 100 métricas personalizadas indexadas por encima de la asignación de la cuenta, pagas la cantidad que se especifica en tu contrato. |
+| Asignación de cuenta | - Pro: 100 métricas personalizadas ingeridas por host
- Enterprise: 200 métricas personalizadas ingeridas por host | - Pro: 100 métricas personalizadas indexadas por host
- Enterprise: 200 métricas personalizadas indexadas por host |
+| Uso mayor que la asignación de cuenta | Por cada 100 métricas personalizadas ingeridas que excedan la asignación de cuenta, usted paga $0.10. | Por cada 100 métricas personalizadas indexadas que excedan la asignación de cuenta, usted paga un monto que se especifica en su contrato actual. |
-Supongamos que solo quieres mantener las etiquetas `endpoint` y `status` asociadas a la métrica `request.Latency`. Obtendrías estas tres combinaciones únicas de etiquetas:
+Suponga que desea conservar solo las etiquetas `endpoint` y `status` asociadas con la métrica `request.Latency`. Esto resulta en las siguientes tres combinaciones únicas de etiquetas:
- `endpoint:X`, `status:200`
- `endpoint:X`, `status:400`
- `endpoint:Y`, `status:200`
-La cantidad de métricas personalizadas que envía una [métrica DISTRIBUTION][1] es cinco veces el número de combinaciones únicas de nombre de métrica y valores de etiqueta. Como resultado de la configuración de etiquetas, `request.Latency` envía un total de **5 x 3 = 15 métricas personalizadas indexadas**. Basándonos en las etiquetas enviadas inicialmente en esta métrica, el volumen de métricas personalizadas **ingeridas** en un principio para la métrica `request.Latency` es de **20 métricas personalizadas ingeridas**.
+El número de métricas personalizadas de una [métrica de DISTRIBUCIÓN][1] es cinco veces la combinación única de nombre de métrica y valores de etiqueta. Como resultado de la personalización de etiquetas, `request.Latency` reporta un total de **5\*3 = 15 métricas personalizadas indexadas**. Basado en las etiquetas originales enviadas en esta métrica, el volumen original de métricas personalizadas **ingeridas** de `request.Latency` es **20 métricas personalizadas ingeridas**.
-Más información sobre [Metrics without LimitsTM][2].
+Aprenda más sobre [Metrics without Limits™][2].
[1]: /es/metrics/types/?tab=distribution#definition
[2]: /es/metrics/metrics-without-limits
{{% /tab %}}
{{< /tabs >}}
-## Seguimiento de las métricas personalizadas
+## Seguimiento de métricas personalizadas {#tracking-custom-metrics}
-Los usuarios administradores (los que tienen [roles de administración de Datadog][7]) pueden ver la cantidad promedio mensual de métricas personalizadas **ingeridas** e **indexadas** por hora. La tabla de métricas personalizadas principales también incluye la cantidad promedio de métricas personalizadas **indexadas** de la [página de detalles de uso][8]. Consulta la documentación sobre los [detalles de uso][9] para obtener más información.
+Los usuarios administrativos (aquellos con [Datadog Admin roles][7]) pueden ver el número promedio mensual de métricas personalizadas **ingeridas** y **indexadas** por hora. La tabla de métricas personalizadas principales también lista el número promedio de métricas personalizadas **indexadas** en la [Usage Details page][8]. Consulte la documentación de [Usage Details][9] para obtener más información.
-Para obtener más información en tiempo real sobre el recuento de métricas personalizadas de un determinado nombre de métrica, haz clic en el nombre de métrica en la [página Resumen de métricas][10]. Puedes ver el número de métricas personalizadas **ingeridas** y métricas personalizadas **indexadas** en el panel lateral de detalles de métrica.
+Para un seguimiento más en tiempo real del conteo de métricas personalizadas para un nombre de métrica particular, haga clic en el nombre de la métrica en la [Metrics Summary page][10]. Puede ver el número de métricas personalizadas **ingeridas** y métricas personalizadas **indexadas** en el panel lateral de detalles de la métrica.
-{{< img src="account_management/billing/custom_metrics/mwl_sidepanel_ingested_3142025.jpg" alt="Panel lateral de Resumen de métricas" style="width:80%;">}}
+{{< img src="account_management/billing/custom_metrics/mwl_sidepanel_ingested_3142025.jpg" alt="Panel lateral de Metrics Summary" style="width:80%;">}}
-## Asignación
+## Asignación {#allocation}
-Se te asigna una cantidad determinada de métricas personalizadas **ingeridas** e **indexadas** en función de tu plan de precios de Datadog:
+Account Allotment - Pro: 100 métricas personalizadas ingeridas por host- Enterprise: 200 métricas personalizadas ingeridas por host - Pro: 100 métricas personalizadas indexadas por host- Enterprise: 200 métricas personalizadas indexadas por host
+Se le asigna un cierto número de métricas personalizadas **ingeridas** y **indexadas** según su plan de precios de Datadog:
-- Pro: 100 métricas personalizadas ingeridas y 100 métricas personalizadas indexadas por host.
-- Enterprise: 200 métricas personalizadas ingeridas y 200 métricas personalizadas indexadas por host.
+- Pro: 100 métricas personalizadas ingeridas por host y 100 métricas personalizadas indexadas por host
+- Enterprise: 200 métricas personalizadas ingeridas por host y 200 métricas personalizadas indexadas por host
-Estas asignaciones se calculan para el conjunto completo de tu infraestructura. Por ejemplo, si tienes un plan Pro con licencia para tres hosts, tendrás una asignación de 300 métricas personalizadas indexadas que se podrán dividir de forma equitativa entre los hosts o asignarse a uno solo. Tomando este ejemplo, en la siguiente gráfica se muestran ejemplos que no superan la cantidad de métricas personalizadas asignada:
+Estas asignaciones se cuentan en toda su infraestructura. Por ejemplo, si está en el plan Pro y cuenta con licencia para tres hosts, se asignan 300 métricas personalizadas indexadas. Las 300 métricas personalizadas indexadas se pueden dividir equitativamente entre cada host, o las 300 métricas indexadas pueden ser utilizadas por un solo host. Usando este ejemplo, el gráfico a continuación muestra escenarios que no superan el número de métricas personalizadas asignadas:
{{< img src="account_management/billing/custom_metrics/host_custom_metrics.png" alt="Asignaciones para métricas personalizadas" >}}
-La cantidad facturable de métricas personalizadas indexadas se basa en la cantidad promedio de métricas personalizadas (de todos los hosts de pago) por hora durante un mes determinado. La cantidad facturable de métricas personalizadas ingeridas solo aumenta si has utilizado Metrics without LimitsTM para configurar tu métrica. Ponte en contacto con [Ventas][11] o con tu [asesor de clientes][12] para hablar sobre las métricas personalizadas de tu cuenta o comprar un paquete de métricas adicional.
+El número facturable de métricas personalizadas indexadas se basa en el número promedio de métricas personalizadas (de todos los hosts pagados) por hora durante un mes determinado. El número facturable de métricas personalizadas ingeridas solo aumenta si ha utilizado Metrics without Limits™ para configurar su métrica. Contacte a [Sales][11] o a su [Customer Success][12] Manager para discutir métricas personalizadas para su cuenta o para comprar un paquete adicional de métricas personalizadas.
-## Solucionar problemas
+## Resolución de problemas {#troubleshooting}
-Si tienes preguntas técnicas, ponte en contacto con el [servicio de asistencia de Datadog][13].
+Para preguntas técnicas, contacte a [Datadog support][13].
-Si tienes alguna pregunta sobre la facturación, ponte en contacto con tu [asesor de clientes][12].
+Para preguntas de facturación, contacte a su [Customer Success][12] Manager.
[1]: /es/integrations/
[2]: /es/metrics/custom_metrics/
diff --git a/content/es/containers/kubernetes/_index.md b/content/es/containers/kubernetes/_index.md
index 0f7823be6ac..09ae6c21868 100644
--- a/content/es/containers/kubernetes/_index.md
+++ b/content/es/containers/kubernetes/_index.md
@@ -10,183 +10,82 @@ aliases:
- /es/integrations/faq/container-integration-event/
- /es/integrations/faq/why-is-the-kubernetes-check-failing-with-a-connecttimeout-error-to-port-10250/
- /es/agent/kubernetes/
-description: Instalar y configurar el Datadog Agent en Kubernetes
+description: Instala y configura el Agente de Datadog en Kubernetes
further_reading:
- link: https://learn.datadoghq.com/courses/getting-started-k8s
- tag: Centro de aprendizaje
- text: Empezando con Kubernetes Observability
+ tag: Centro de Aprendizaje
+ text: Introducción a la Observabilidad de Kubernetes
- link: https://app.datadoghq.com/release-notes?category=Container%20Monitoring
- tag: Notas de versiones
- text: ¡Échale un vistazo a las últimas versiones de los contenedores de Datadog!
- (Es necesario iniciar sesión en la aplicación).
+ tag: Notas de la Versión
+ text: Consulta las últimas versiones de Datadog Containers (se requiere inicio de
+ sesión en la aplicación).
- link: /agent/guide/autodiscovery-management
tag: Documentación
- text: Limitar la recopilación de datos a un subconjunto de contenedores
+ text: Limita la recolección de datos a un subconjunto de contenedores solamente
- link: /agent/guide/docker-deprecation
tag: Documentación
- text: Obsolescencia del tiempo de ejecución Docker en Kubernetes
+ text: Deprecación del runtime de Docker en Kubernetes
- link: https://dtdg.co/fe
- tag: Habilitación de los fundamentos
- text: Participa en una sesión interactiva para conocer más sobre la monitorización
- en Kubernetes
+ tag: Habilitación de la Fundación
+ text: Únete a una sesión interactiva para obtener información sobre la monitorización
+ de Kubernetes
- link: https://www.datadoghq.com/blog/watermark-pod-autoscaler/
tag: Blog
- text: Guía para escalar tus pods de Kubernetes con el Watermark Pod Autoscaler
+ text: Una guía sobre cómo escalar sus pods de Kubernetes con el Watermark Pod Autoscaler.
+- link: https://www.datadoghq.com/blog/kubernetes-operator-performance
+ tag: Blog
+ text: Monitorea tus operadores de Kubernetes para mantener las aplicaciones funcionando
+ sin problemas
title: Kubernetes
---
-
-
-{{< learning-center-callout header="Únete a una sesión web de capacitación" hide_image="true" btn_title="Inscríbete" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=Kubernetes">}}
- Esta sesión de capacitación básica se centrará en cómo Datadog puede monitorizar Kubernetes. Aprende cómo configurar Datadog para Kubernetes y cómo empezar. Explora las diversas vistas y herramientas que ofrece Datadog para visualizar y analizar métricas, trazas (traces) y logs de tu aplicación..
+{{< learning-center-callout header="Únete a una sesión de seminario web de habilitación" hide_image="true" btn_title="Regístrate" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=Kubernetes">}}
+ Esta sesión de habilitación de la fundación se centrará en cómo Datadog puede monitorear Kubernetes. Aprende a configurar Datadog para Kubernetes y cómo comenzar. Explora las diversas vistas y herramientas que Datadog ofrece para visualizar y analizar las métricas, trazas y registros de tu clúster y aplicaciones.
{{< /learning-center-callout >}}
-## Instalación del Agent
-
-Puedes instalar el Agent utilizando el [Datadog Operator][4] o Helm Chart siguiendo la [guía de instalación en la aplicación en Fleet Automation][5]. Esta interfaz guiada te permite:
-- Seleccionar tu distribución Kubernetes (por ejemplo, EKS, AKS o GKE)
-- Generar comandos helm y kubectl con tu clave de API rellenada previamente
-- Activar funciones como APM, Log Management, etiquetado y otras telemetrías mediante una configuración basada en la interfaz de usuario
-
-
-{{< img src="agent/basic_agent_usage/agent_install_k8.png" alt="Pasos de instalación en la aplicación del Datadog Agent en Kubernetes." style="width:90%;">}}
-
-
-El flujo del Datadog Operator instala el Datadog Operator y utiliza recursos personalizados para configurar la cobertura de observabilidad.
-
-El flujo del Helm Chart instala el Agent utilizando DaemonSet y ofrece conmutadores similares para las funciones de observabilidad.
-
-Consulta [Versiones admitidas][6] para ver la lista completa de versiones de Kubernetes admitidas por el Datadog Agent.
-
-
-### Instalación manual
-
-Para instalar manualmente tu Agent en Kubernetes, sigue las instrucciones de [Instalar y configurar manualmente el Datadog Agent con un DaemonSet][7].
-
-
-Para obtener información sobre comandos del Agent, consulta las guías de comandos del Agent. Para obtener información sobre el Datadog Cluster Agent, consulta Cluster Agent para Kubernetes.
-
-
-
-
<CLUSTER_NAME> te permite delimitar checks de host y clúster. Este nombre único debe ser tokens separados por puntos y respetar las siguientes restricciones:
-
- Debe contener solo letras minúsculas, números y guiones
- Debe empezar con una letra
- Debe terminar con un número o una letra
- Debe contener 80 caracteres o menos
-
-
-
-
-
-## Configuración adicional
-### Instalación sin privilegios
-
-{{< tabs >}}
-{{% tab "Datadog Operator" %}}
-Para ejecutar una instalación sin privilegios, añade lo siguiente a `datadog-agent.yaml`:
-
-{{< highlight yaml "hl_lines=13-18" >}}
-apiVersion: datadoghq.com/v2alpha1
-kind: DatadogAgent
-metadata:
- name: datadog
-spec:
- global:
- clusterName:
- site:
- credentials:
- apiSecret:
- secretName: datadog-secret
- keyName: api-key
-agent:
- config:
- securityContext:
- runAsUser:
- supplementalGroups:
- -
-{{< /highlight >}}
-
-- Sustituye `` por el UID para ejecutar el Datadog Agent. Datadog recomienda [configurar este valor en 100 a partir del Datadog Agent v7.48 o posterior][1].
-- Sustituye `` por el ID del grupo al que pertenece el socket Docker o contenedorizado.
-
-[1]: /es/data_security/kubernetes/#running-container-as-root-user
-
-A continuación, despliega el Agent:
-
-```shell
-kubectl apply -f datadog-agent.yaml
-```
-
-{{% /tab %}}
-{{% tab "Helm" %}}
-Para ejecutar una instalación sin privilegios, añade lo siguiente a tu archivo `datadog-values.yaml`:
-
-{{< highlight yaml "hl_lines=4-7" >}}
-datadog:
- apiKeyExistingSecret: datadog-secret
- site:
- securityContext:
- runAsUser:
- supplementalGroups:
- -
-{{< /highlight >}}
+## Instalación del agente {#agent-installation}
-- Sustituye `` por el UID para ejecutar el Datadog Agent.
-- Sustituye `` por el ID del grupo al que pertenece el socket Docker o contenedorizado.
+Puede instalar el Datadog Agent utilizando ya sea el Datadog Operator o el Helm chart, siguiendo la [guía de instalación en la aplicación en Fleet Automation][5]. Esta interfaz guiada te permite:
+- Seleccione su distribución de Kubernetes (por ejemplo, EKS, AKS o GKE)
+- Genere comandos de Helm y kubectl con su clave de API prellenada
+- Habilite características como APM, Log Management, etiquetado y otra telemetría a través de una configuración basada en la interfaz de usuario
-A continuación, despliega el Agent:
-```shell
-helm install datadog-agent -f datadog-values.yaml datadog/datadog
-```
+{{< img src="agent/basic_agent_usage/agent_install_k8.png" alt="Pasos de instalación en la aplicación para el Agente de Datadog en Kubernetes." style="width:90%;">}}
-{{% /tab %}}
-{{< /tabs >}}
+El flujo del Datadog Operator instala el Datadog Operator y utiliza recursos personalizados para configurar su cobertura de observabilidad.
-### Seleccionar registros de contenedor
+El flujo del Helm chart instala los componentes de Datadog de manera más directa y ofrece interruptores similares para las características de observabilidad.
-La interfaz de usuario en la aplicación te permite seleccionar el registro de la imagen del contenedor, por defecto gcr.io/datadoghq. Si Artifact Registry no es accesible en la región de tu despliegue, utiliza otro registro como:
+Ambas opciones le permiten gestionar una configuración: el Datadog Operator o el Helm chart crean el DaemonSet del Datadog Agent, el Cluster Agent Deployment y todas sus dependencias para su monitoreo basado en Kubernetes.
-- `public.ecr.aws/datadog` (recomendado para desplegar el Agent en un entorno AWS)
-- `datadoghq.azurecr.io`
-- `docker.io/datadog` (puede estar sujeto a límites de tarifa a menos que sea cliente de Docker Hub)
+Consulte [Supported Versions][6] para la lista completa de versiones de Kubernetes soportadas por el Datadog Agent.
-### Desinstalar
+### Instalación manual {#manual-installation}
+La [herramienta de instalación en la aplicación en Fleet Automation][5] proporciona una forma guiada de construir sus configuraciones. También puede consultar la [documentación de instalación de Kubernetes][7] para los pasos sobre cómo desplegar y configurar el Datadog Operator o el Datadog Helm chart manualmente en su entorno.
-{{< tabs >}}
-{{% tab "Datadog Operator" %}}
-```shell
-kubectl delete datadogagent datadog
-helm delete datadog-operator
-```
+Datadog recomienda que utilice el Datadog Operator o el Datadog Helm chart para desplegar todos los recursos de Kubernetes. Si necesita desplegar todos los manifiestos directamente, consulte la documentación completa de instalación manual de Kubernetes [8].
-Este comando elimina todos los recursos de Kubernetes creados al instalar Datadog Operator y desplegar el Datadog Agent.
-{{% /tab %}}
-{{% tab "Helm" %}}
-```shell
-helm uninstall datadog-agent
-```
-{{% /tab %}}
-{{< /tabs >}}
+Para comandos del Datadog Agent, consulte las [guías de comandos del Agent][9]. Para información sobre el Datadog Cluster Agent y su rol, consulte [Cluster Agent for Kubernetes][3].
{{< whatsnext desc="Esta sección incluye los siguientes temas:">}}
- {{< nextlink href="/agent/kubernetes/installation">}}Instalación: Instala el Datadog Agent en un entorno Kubernetes.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/configuration">}}Otras configuraciones: Recopila eventos, anula parámetros de proxy, envía métricas personalizadas con DogStatsD, configura listas de autorizaciones y bloqueos para contenedores, y haz referencia a la lista completa de variables de entorno.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/distributions">}}Distribuciones: Revisa configuraciones básicas para distribuciones Kubernetes mayores, incluyendo AWS Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), Red Hat OpenShift, Rancher y Oracle Container Engine for Kubernetes (OKE).{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/apm">}}APM: Configura la recopilación de trazas: configura el Agent para aceptar trazas, configura tus pods para comunicarse con el Agent y configura los rastreadores de tu aplicación para emitir trazas.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/csi">}}Controlador CSI: Instala y configura el controlador Datadog CSI, y monta DogStatsD y el socket Trace Agent UDS utilizando volúmenes de Datadog CSI.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/log">}}Recopilación de logs: Configura la recopilación de logs en un entorno Kubernetes.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/tag">}}Extracción de etiquetas (tags): Configura el Agent para crear y asignar etiquetas a todas las métricas, trazas y logs emitidos por un contenedor, pod o nodo en función de etiquetas (labels) o anotaciones de Kubernetes.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/integrations">}}Integraciones y Autodiscovery: Para configurar integraciones en un entorno Kubernetes, utiliza la función Autodiscovery de Datadog.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/prometheus">}}Prometheus y OpenMetrics: Recopila tus métricas expuestas de Prometheus y OpenMetrics de tu aplicación que se ejecuta en Kubernetes.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/control_plane">}}Controla la monitorización de planos: Monitoriza el servidor de API, el controlador, el gestor, el programador y el etcd de Kubernetes.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/data_collected">}}Datos recopilados: Consulta la lista de métricas recopiladas por el Agent cuando se despliega en tu clúster Kubernetes.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/installation">}}Instalación: Instale el Datadog Agent en un entorno de Kubernetes.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/configuration">}}Configuración Adicional: Recopile eventos, anule la configuración del proxy, envíe métricas personalizadas con DogStatsD, configure las listas de permitidos y bloqueados de contenedores y consulte la lista completa de variables de entorno disponibles.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/distributions">}}Distribuciones: Revise las configuraciones base para las principales distribuciones de Kubernetes, incluyendo AWS Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), Red Hat OpenShift, Rancher y Oracle Container Engine for Kubernetes (OKE).{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/apm">}}APM: Configure la recolección de trazas: configure el Datadog Agent para aceptar trazas, configure sus pods para comunicarse con el Datadog Agent y configure sus SDKs de aplicación para emitir trazas.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/appsec">}}App and API Protection: Habilite automáticamente App and API Protection para sus ingress proxies y gateways de Kubernetes, a fin de detectar amenazas y proteger las APIs en el borde.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/csi">}}CSI Driver: Instale y configure el Datadog CSI driver, y monte el socket UDS de DogStatsD y del Trace Agent utilizando volúmenes CSI de Datadog.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/log">}}Recolección de registros: Configure la recolección de registros en un entorno de Kubernetes.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/tag">}}Extracción de etiquetas: Configure el Datadog Agent para crear y asignar etiquetas a todas las métricas, trazas y registros emitidos por un contenedor, pod o nodo, basándose en etiquetas o anotaciones de Kubernetes.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/integrations">}}Integrations & Autodiscovery: Configure Integrations en un entorno de Kubernetes utilizando Autodiscovery de Datadog.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/prometheus">}}Prometheus & OpenMetrics: Recolecte las métricas expuestas de Prometheus y OpenMetrics de su aplicación que se ejecuta dentro de Kubernetes.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/control_plane">}}Monitoreo del plano de control: Monitoree el servidor API de Kubernetes, el administrador de controladores, el programador y etcd.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/data_collected">}}Datos recolectados: Consulte la lista de métricas recolectadas por el Datadog Agent cuando se despliega en su clúster de Kubernetes.{{< /nextlink >}}
{{< /whatsnext >}}
-## Referencias adicionales
+## Lectura adicional{#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
@@ -195,5 +94,7 @@ helm uninstall datadog-agent
[3]: /es/containers/cluster_agent/
[4]: https://docs.datadoghq.com/es/containers/datadog_operator/
[5]: https://app.datadoghq.com/fleet/install-agent/latest?platform=kubernetes
-[6]: https://docs.datadoghq.com/es/agent/supported_platforms/?tab=cloudandcontainers
-[7]: https://docs.datadoghq.com/es/containers/guide/kubernetes_daemonset/
\ No newline at end of file
+[6]: /es/containers/kubernetes/installation?tab=datadogoperator#minimum-kubernetes-and-datadog-agent-versions
+[7]: /es/containers/kubernetes/installation
+[8]: https://docs.datadoghq.com/es/containers/guide/kubernetes_daemonset/
+[9]: /es/agent/configuration/agent-commands/
\ No newline at end of file
diff --git a/content/es/database_monitoring/_index.md b/content/es/database_monitoring/_index.md
index 2563cfc8126..bf52407789d 100644
--- a/content/es/database_monitoring/_index.md
+++ b/content/es/database_monitoring/_index.md
@@ -1,138 +1,153 @@
---
algolia:
tags:
- - monitorización de base de datos
+ - database monitoring
- dbm
cascade:
algolia:
rank: 70
-description: Más información sobre la monitorización de base de datos y cómo empezar
+description: Conozca DBM y comience
further_reading:
+- link: https://www.datadoghq.com/blog/analyzing-roundtrip-query-latency
+ tag: Blog
+ text: Analizando la latencia de consulta de ida y vuelta
+- link: https://www.datadoghq.com/blog/database-monitoring-recommendations/
+ tag: Blog
+ text: Mejore el rendimiento del servidor de la base de datos y de las consultas
+ con las recomendaciones de DBM
- link: https://www.datadoghq.com/blog/database-performance-monitoring-datadog
tag: Blog
- text: Monitorizar y visualizar el rendimiento de las bases de datos
+ text: Supervise y visualice el rendimiento de la base de datos
- link: https://www.datadoghq.com/blog/sql-server-and-azure-managed-services-database-monitoring/
tag: Blog
- text: Monitorizar bases de datos gestionadas por SQL Server y Azure con Datadog
- DBM
+ text: Supervise SQL Server y bases de datos administradas de Azure con Datadog DBM
- link: https://www.datadoghq.com/blog/mongodb-database-monitoring/
tag: Blog
- text: Seguimiento y resolución de problemas de rendimiento de MongoDB
+ text: Rastree y solucione problemas de rendimiento de MongoDB con Datadog DBM
+- link: https://www.datadoghq.com/blog/datadog-database-research/
+ tag: Blog
+ text: Cómo las arquitecturas de microservicios han moldeado el uso de tecnologías
+ de bases de datos
- link: /database_monitoring/data_collected/
tag: Documentación
text: Datos recopilados
- link: /database_monitoring/troubleshooting/
tag: Documentación
- text: Solucionar problemas
+ text: Resolución de problemas
- link: https://dtdg.co/fe
- tag: Habilitación de los fundamentos
- text: Participar en una sesión interactiva para mejorar tu monitorización de base
- de datos
-- link: https://www.datadoghq.com/blog/mongodb-database-monitoring/
- tag: Blog
- text: Seguimiento y resolución de problemas de rendimiento de MongoDB con la Monitorización
- de bases de datos de Datadog
-title: Database Monitoring
+ tag: Habilitación de la fundación
+ text: Únase a una sesión interactiva para potenciar su DBM
+- link: https://learn.datadoghq.com/courses/database-monitoring
+ tag: Centro de aprendizaje
+ text: Supervisando una base de datos Postgres con Datadog DBM
+title: DBM
---
-
-
-{{< learning-center-callout header="Join an enablement webinar session" hide_image="true" btn_title="Sign Up" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=Database">}}
- Con la monitorización de base de datos, aprende cuán rápido puedes identificar consultas lentas y costosas. Obtén detalles de ejecución precisos para abordar cuellos de botellas.
+{{< 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=Database">}}
+ Con DBM, aprenda a identificar rápidamente consultas costosas y lentas. Profundice en los detalles de ejecución precisos para abordar cuellos de botella.
{{< /learning-center-callout >}}
-La monitorización de la base de datos de Datadog ofrece una gran visibilidad de las bases de datos en todos tus hosts. Consulta las métricas de rendimiento de consultas históricas, planes de explicación y métricas a nivel de host todo en un solo lugar, para comprender el estado y el rendimiento de tus bases de datos y solucionar los problemas a medida que surgen.
+La DBM de Datadog proporciona una visibilidad profunda en las bases de datos de todos sus servidores Profundice en las métricas de rendimiento de consultas históricas, planes de explicación y métricas a nivel de servidor, todo en un solo lugar, para comprender la salud y el rendimiento de sus bases de datos y solucionar problemas a medida que surjan.
-## Para empezar
+## Comenzando {#getting-started}
-La Monitorización de bases de datos de Datadog es compatible con versiones autoalojadas y gestionadas en la nube de **Postgres**, **MySQL**, **Oracle**, **SQL Server**, **MongoDB** y **Amazon DocumentDB**. Para empezar a utilizar la Monitorización de bases de datos de Datadog, configura tu base de datos e instala el Datadog Agent. Para obtener instrucciones de configuración, selecciona tu tecnología de base de datos:
+La DBM de Datadog admite versiones autohospedadas y en la nube gestionadas de **Postgres**, **MySQL**, **Oracle**, **SQL Server**, **MongoDB**, **Amazon DocumentDB** y **ClickHouse**. Para comenzar con DBM de Datadog, configure su base de datos e instale el Datadog Agent. Para instrucciones de configuración, seleccione su tecnología de base de datos:
-### Postgres
+### Postgres {#postgres}
{{< partial name="dbm/dbm-setup-postgres" >}}
-### MySQL
+### MySQL {#mysql}
{{< partial name="dbm/dbm-setup-mysql" >}}
-### Oracle
+### Oracle {#oracle}
{{< partial name="dbm/dbm-setup-oracle" >}}
-### SQL Server
+### SQL Server {#sql-server}
{{< partial name="dbm/dbm-setup-sql-server" >}}
-### MongoDB
+### MongoDB {#mongodb}
{{< partial name="dbm/dbm-setup-mongodb" >}}
-### Amazon DocumentDB
+### Amazon DocumentDB {#amazon-documentdb}
{{< partial name="dbm/dbm-setup-documentdb" >}}
-## Explorar la monitorización de base de datos de Datadog
+### ClickHouse {#clickhouse}
+
+{{< partial name="dbm/dbm-setup-clickhouse" >}}
+
+
+## Explore DBM de Datadog {#explore-datadog-database-monitoring}
+
+Navegue a [DBM][1] en Datadog.
+
+### Profundice en las métricas de rendimiento de consultas {#dig-into-query-performance-metrics}
-Ve a [Monitorización de base de datos][1] en Datadog.
+La [vista de Métricas de Consultas][2] muestra el rendimiento histórico de consultas normalizadas. Visualice las tendencias de rendimiento por infraestructura o etiquetas personalizadas, como Availability Zone del centro de datos, y establezca alertas para anomalías
-### Analizar las métricas de rendimiento de las consultas
+- Identifique consultas lentas y cuáles son las que consumen más tiempo.
+- Muestre métricas a nivel de base de datos que no son capturadas por APM, como filas actualizadas/devueltas.
+- Filtre y agrupe consultas por dimensiones arbitrarias, como equipo, usuario, clúster y servidor.
-La [vista de Métricas de consulta][2] muestra el rendimiento histórico de las consultas normalizadas. Visualiza las tendencias de rendimiento por infraestructura o etiquetas personalizadas, como la zona de disponibilidad del centro de datos, y establece alertas para anomalías.
+{{< img src="database_monitoring/dbm-query-metrics-2.png" alt="DBM" style="width:100%;">}}
-- Identifica las consultas lentas y las que consumen más tiempo.
-- Muestra métricas a nivel de base de datos no capturadas por APM como filas actualizadas/retornadas.
-- Filtra y agrupa las consultas por dimensiones arbitrarias como equipo, usuario, clúster y host.
+### Explore muestras de consultas {#explore-query-samples}
-{{< img src="database_monitoring/dbm-query-metrics-2.png" alt="Monitorización de base de datos" style="width:100%;">}}
+La [vista de Muestras de Consultas][3] le ayuda a entender qué consultas se están ejecutando en un momento dado. Compare cada ejecución con el rendimiento promedio de la consulta y de las consultas relacionadas.
-### Explorar ejemplos de consultas
+- Identifique consultas inusualmente lentas pero poco frecuentes que no son capturadas por métricas.
+- Encuentre valores anómalos en el tiempo de ejecución o costo de ejecución de una consulta.
+- Atribuya una ejecución de consulta específica a un usuario, aplicación o servidor cliente.
-La [Vista de muestras de consultas][3] te ayuda a comprender qué consultas se están ejecutando en un momento dado. Compara cada ejecución con el rendimiento medio de la consulta y las consultas relacionadas.
+{{< img src="database_monitoring/dbm-query-sample-2.png" alt="DBM" style="width:100%;">}}
-- Identifica las consultas inusualmente lentas pero poco frecuentes no capturadas por métricas.
-- Encuentra outliers en el tiempo de ejecución o el coste de ejecución de una consulta.
-- Atribuye una ejecución de consulta específica a un usuario, aplicación o host de cliente.
+### Entienda antes de ejecutar {#understand-before-you-run}
-{{< img src="database_monitoring/dbm-query-sample-2.png" alt="Monitorización de base de datos" style="width:100%;">}}
+[Planes de Explicación][4] le ayudan a entender cómo la base de datos planea ejecutar sus consultas.
-### Comprender antes de ejecutar
+- Revise cada operación para identificar cuellos de botella.
+- Mejore la eficiencia de las consultas y ahorre en costosos escaneos secuenciales en tablas grandes.
+- Observe cómo cambia el plan de una consulta a lo largo del tiempo.
-[Los planes de explicación][4] ayudan a comprender cómo la base de datos planea ejecutar tus consultas.
+{{< img src="database_monitoring/dbm-explain-plan-3.png" alt="DBM" style="width:100%;">}}
-- Repasa cada operación para identificar los cuellos de botella.
-- Mejora la eficacia de las consultas y ahorra escaneos secuenciales costosos en tablas de gran tamaño.
-- Ve cómo cambia el plan de una consulta a lo largo del tiempo.
+### Recoga métricas personalizadas {#collect-custom-metrics}
-{{< img src="database_monitoring/dbm-explain-plan-3.png" alt="Monitorización de base de datos" style="width:100%;">}}
+Utilice [`custom_queries`][7] para recoger métricas de sus propias tablas de base de datos: estado de la aplicación, contadores de negocio, profundidades de cola o cualquier dato que desee correlacionar con el rendimiento de la consulta.
-### Visualizar todo en dashboards mejorados
+### Visualice todo en tableros enriquecidos {#visualize-everything-on-enriched-dashboards}
-Localiza rápidamente las áreas problemáticas mediante la visualización conjunta de la base de datos y las métricas del sistema en dashboards de integración mejorados, tanto para instancias autogestionadas como gestionadas en la nube. Clona dashboards para personalizarlos y mejorarlos con tus propias métricas personalizadas. Haz clic en el enlace **Dashboards** en la parte superior de las páginas Métricas de consulta y Muestras de consulta para ir a dashboards de monitorización de base de datos.
+Identifique rápidamente áreas problemáticas al ver métricas de base de datos y del sistema juntas en tableros de integración enriquecidos para instancias autohospedadas y gestionadas en la nube. Clone tableros para personalización y mejora con sus propias métricas personalizadas. Haga clic en el enlace {{< ui >}}Dashboards{{< /ui >}} en la parte superior de las páginas de Métricas de Consultas y Muestras de Consultas para ir a los tableros de DBM.
-{{< img src="database_monitoring/dbm-dashboard-postgres.png" alt="Monitorización de base de datos" style="width:100%;">}}
+{{< img src="database_monitoring/dbm-dashboard-postgres.png" alt="DBM" style="width:100%;">}}
-### Optimizar el estado y el rendimiento del host
+### Optimice la salud y el rendimiento del servidor {#optimize-host-health-and-performance}
-En la [página Bases de datos][1], puedes evaluar el estado y la actividad de tus hosts de base de datos. Ordena y filtra la lista para establecer prioridades de hosts con alertas activadas, alto volumen de consultas y otros criterios. Haz clic en un host individual para ver detalles como su configuración, las consultas de bloqueo comunes y las llamadas a servicios. Consulta [Exploración de hosts de bases de datos][5] para más detalles.
+En la [página de Bases de Datos][1], puede evaluar la salud y la actividad de sus servidores de base de datos. Ordene y filtre la lista para priorizar los servidores con alertas activadas, alto volumen de consultas y otros criterios. Haga clic en un servidor individual para ver detalles como su configuración, consultas comunes de bloqueo y servicios de llamada. Consulte [Explorando Hosts de Base de Datos][5] para más detalles.
-{{< img src="database_monitoring/databases-list.png" alt="La página de base de datos en Datadog" style="width:90%;" >}}
+{{< img src="database_monitoring/databases-list.png" alt="La página de Bases de Datos en Datadog" style="width:90%;" >}}
-### Ver recomendaciones de optimización
+### Vea recomendaciones de optimización {#view-optimization-recommendations}
-La página [Recomendaciones][6] destaca los problemas y las oportunidades de optimización para ayudarte a ahorrar tiempo priorizando lo más importante. Selecciona una recomendación para ver los detalles, incluyendo un resumen del problema, así como los posibles pasos siguientes para solucionarlo.
+La [página de Recomendaciones][6] destaca problemas y oportunidades de optimización, ayudándole a ahorrar tiempo al priorizar lo más importante. Seleccione una recomendación para visualizar detalles, incluyendo un resumen del problema, así como posibles próximos pasos para abordar el problema.
-{{< img src="database_monitoring/recommendations-page.png" alt="Página Recomendaciones en Datadog" style="width:90%;" >}}
+{{< img src="database_monitoring/recommendations-page.png" alt="La página de Recomendaciones en Datadog" style="width:90%;" >}}
-## Para leer más
+## Lectura Adicional {#further-reading}
-{{< learning-center-callout header="Try Monitoring a Postgres Database with Datadog DBM in the Learning Center" btn_title="Enroll Now" btn_url="https://learn.datadoghq.com/courses/database-monitoring">}}
- El Centro de aprendizaje de Datadog está lleno de cursos prácticos para ayudarte a aprender sobre este tema. Inscríbete sin coste para identificar ineficiencias y optimizar tu base de datos de Postgres.
+{{< learning-center-callout header="Pruebe supervisar una base de datos Postgres con Datadog DBM en el Centro de Aprendizaje" btn_title="Inscríbase Ahora" btn_url="https://learn.datadoghq.com/courses/database-monitoring">}}
+ El Centro de Aprendizaje de Datadog está lleno de cursos prácticos para ayudarle a aprender sobre este tema. Inscríbase sin costo para identificar ineficiencias y optimizar su base de datos Postgres.
{{< /learning-center-callout >}}
{{< partial name="whats-next/whats-next.html" >}}
@@ -142,4 +157,5 @@ La página [Recomendaciones][6] destaca los problemas y las oportunidades de opt
[3]: /es/database_monitoring/query_samples/
[4]: /es/database_monitoring/query_metrics/#explain-plans
[5]: /es/database_monitoring/database_hosts/
-[6]: /es/database_monitoring/recommendations/
\ No newline at end of file
+[6]: /es/database_monitoring/recommendations/
+[7]: /es/database_monitoring/custom_metrics/
\ No newline at end of file
diff --git a/content/es/database_monitoring/guide/aurora_autodiscovery.md b/content/es/database_monitoring/guide/aurora_autodiscovery.md
index aa7b643d009..3d65050cd9c 100644
--- a/content/es/database_monitoring/guide/aurora_autodiscovery.md
+++ b/content/es/database_monitoring/guide/aurora_autodiscovery.md
@@ -1,36 +1,37 @@
---
-title: Configuración de la Monitorización de base de datos para clústeres de base
- de datos de Amazon Aurora
+aliases:
+- /es/database_monitoring/aurora_autodiscovery
+title: Configuración de Database Monitoring para clústeres de bases de datos de Amazon
+ Aurora
---
+Esta guía asume que ha configurado Database Monitoring para sus bases de datos de Amazon Aurora [Postgres][1] o [MySQL][11].
-Esta guía asume que has configurado la Monitorización de base de datos para tus bases de datos de Amazon Aurora [Postgres][1] o [MySQL][11].
-
-## Antes de empezar
+## Antes de comenzar {#before-you-begin}
Bases de datos compatibles
: Postgres, MySQL
-Versiones compatibles del Agent
+Versiones de agente compatibles
: 7.53.0+
-## Información general
+## Descripción general {#overview}
-[Autodiscovery][4] de Datadog te permite configurar la monitorización en infraestructuras dinámicas. Puedes utilizar esta función para monitorizar tus clústeres de Aurora sin tener que enumerar endpoints de host de base de datos individuales (por ejemplo, `postgres.d/conf.yaml`). Esto es especialmente útil para clústeres que utilizan [Aurora Auto Scaling][6], que ajusta dinámicamente el número de réplicas de Aurora en respuesta a variaciones en la conectividad o la carga de trabajo. Autodiscovery descubre y monitoriza automáticamente tanto las instancias de endpoint primario como las de réplica.
+La [Autodiscovery][4] de Datadog le permite configurar la supervisión en infraestructuras dinámicas. Puede utilizar esta función para supervisar sus clústeres de Aurora sin tener que listar los puntos finales de host de base de datos individuales (por ejemplo, `postgres.d/conf.yaml`). Esto es especialmente útil para clústeres que utilizan [Aurora Auto Scaling][6], que ajusta dinámicamente el número de réplicas de Aurora en respuesta a variaciones en la conectividad o la carga de trabajo. La autodetección descubre y supervisa automáticamente tanto las instancias de punto final primario como las de réplica.
-Con Autodiscovery y la Monitorización de base de datos, puedes definir plantillas de configuración para checks de Postgres o MySQL y especificar a qué clústeres aplicar cada check.
+Con la autodetección y la supervisión de bases de datos, puede definir plantillas de configuración para verificaciones de Postgres o MySQL y especificar a qué clústeres aplicar cada verificación.
-## Habilitación de Autodiscovery para clústeres de Aurora
+## Habilitando la autodetección para clústeres de Aurora {#enabling-autodiscovery-for-aurora-clusters}
1. [Conceder permisos de AWS](#grant-aws-permissions)
2. [Configurar etiquetas de Aurora](#configure-aurora-tags)
-3. [Configurar el Datadog Agent ](#configure-the-datadog-agent)
-4. [Crear una plantilla de configuración ](#create-a-configuration-template)
+3. [Configurar el agente de Datadog](#configure-the-datadog-agent)
+4. [Crear una plantilla de configuración](#create-a-configuration-template)
-### Conceder permisos a AWS
+### Conceder permisos de AWS {#grant-aws-permissions}
-Datadog Agent requiere permiso para ejecutar `rds:DescribeDBClusters` y `rds:DescribeDBInstances` en tu cuenta de AWS. Datadog recomienda que adjuntes una política de rol de IAM a la instancia EC2 donde se ejecuta el Agent.
+El agente de Datadog requiere permiso para ejecutar `rds:DescribeDBClusters` y `rds:DescribeDBInstances` en su cuenta de AWS. Datadog recomienda que adjunte una política de rol IAM a la instancia EC2 donde se está ejecutando el Agente.
-Una política de ejemplo que concede estos permisos:
+Un ejemplo de política que otorga estos permisos:
```json
{
@@ -51,19 +52,19 @@ Una política de ejemplo que concede estos permisos:
}
```
-También puedes adjuntar la política [`AmazonRDSReadOnlyAccess`][3].
+También puede adjuntar la política [`AmazonRDSReadOnlyAccess`][3].
-### Configurar etiquetas de Aurora
+### Configurar etiquetas de Aurora {#configure-aurora-tags}
-El listener detecta todos los clústeres de Aurora en la cuenta y región donde se está ejecutando el Agent que tienen la etiqueta `datadoghq.com/scrape:true` aplicada. También puedes configurar el Agent para detectar clústeres con etiquetas específicas.
+El listener descubre todos los clústeres de Aurora en la cuenta y región donde se está ejecutando el Agente que tienen la etiqueta `datadoghq.com/scrape:true` aplicada. También puede configurar el Agente para descubrir clústeres con etiquetas específicas.
-Debes aplicar estas etiquetas al clúster de base de datos (Rol: `Regional cluster`). Para obtener más información sobre etiquetado de recursos de RDS, consulta la [documentación de AWS][7].
+Debe aplicar estas etiquetas al clúster de base de datos (Rol: `Regional cluster`). Para obtener más información sobre la etiquetación de recursos RDS, consulte la [documentación de AWS][7].
-Si configuras `tags` como una matriz vacía, Autodiscovery detectará todos los clústeres de la cuenta y la región.
+Si configura `tags` como un arreglo vacío, la Autodiscovery descubrirá todos los clústeres en la cuenta y región.
-### Configurar el Datadog Agent
+### Configurar el Agente de Datadog {#configure-the-datadog-agent}
-Autodiscovery utiliza un receptor de servicios del Agent, que descubre todos los endpoints de host de la base de datos en un clúster de Aurora y reenvía los endpoints descubiertos al pipeline de programación de check del Agent existente. Puedes configurar el receptor en el archivo `datadog.yaml`:
+La Autodiscovery utiliza un listener de servicio del Agent, que descubre todos los puntos finales de host de base de datos en un clúster de Aurora y reenvía los puntos finales descubiertos a la canalización de programación de verificación existente del Agent. Puede configurar el escuchador en el archivo `datadog.yaml`:
```yaml
database_monitoring:
@@ -72,7 +73,7 @@ database_monitoring:
enabled: true
```
-**Nota**: Agent solo descubre instancias de Aurora que se ejecutan en la misma región que el Agent. Para determinar la región de la instancia, el Agent utiliza [IMDS (Instance Metadata Service)][8]. Si tu instancia EC2 requiere `IMDSv2`, debes configurar el Agent para utilizar `IMDSv2` estableciendo `ec2_prefer_imdsv2: true` en `datadog.yaml`, como se muestra a continuación:
+**Nota**: El Agente solo descubre instancias de Aurora que se ejecutan en la misma región que el Agente. Para determinar la región de la instancia, el Agente utiliza [IMDS (Servicio de Metadatos de Instancia)][8]. Si su instancia EC2 requiere `IMDSv2`, debe configurar el Agente para usar `IMDSv2` estableciendo `ec2_prefer_imdsv2: true` en `datadog.yaml`, como se muestra a continuación:
``` yaml {hl_lines=[1]}
ec2_prefer_imdsv2: true
@@ -80,6 +81,7 @@ database_monitoring:
autodiscovery:
aurora:
enabled: true
+
```
By default, the listener only discovers Aurora clusters in the account and region where the Agent is running, and only those with the `datadoghq.com/scrape:true` tag. You can also configure the listener to discover clusters with specific tags.
@@ -95,7 +97,7 @@ database_monitoring:
- "my-cluster-tag-key:value"
```
-Para monitorizar todos los clústeres de la cuenta y la región:
+To monitor all clusters in the account and region:
``` yaml {hl_lines=["5"]}
database_monitoring:
@@ -103,6 +105,7 @@ database_monitoring:
aurora:
enabled: true
tags: []
+
```
The listener queries the AWS API for the list of hosts in a loop. The frequency with which the listener queries the AWS API, in seconds, is configurable in the `datadog.yaml` file:
@@ -115,34 +118,44 @@ database_monitoring:
discovery_interval: 300
```
-El listener proporciona una variable `%%extra_dbm%%` que puede utilizarse para activar o desactivar DBM para la instancia. Este valor es por defecto `true` si la etiqueta `datadoghq.com/dbm:true` está presente. Para especificar una etiqueta personalizada para este valor, utiliza `dbm_tag`:
+The listener provides an `%%extra_dbm%%` variable that can be used to enable or disable DBM for the instance. This value defaults to `true` if the tag `datadoghq.com/dbm:true` is present. To specify a custom tag for this value use `dbm_tag`:
-``` yaml {hl_lines=["5-6"]}
+``` yaml {hl_lines=["5"]}
database_monitoring:
autodiscovery:
aurora:
enabled: true
- dbm_tag:
- - "use_dbm:true"
+ dbm_tag: "use_dbm:true"
+
```
The `%%extra_dbm%%` value is true if the tag is present, and false otherwise. It does not set its value to the value of the tag.
-### Create a configuration template
+The listener provides an `%%extra_global_view_db%%` variable that can be used to set the `global_view_db` for the instance. This value defaults to the value of the tag `datadoghq.com/global_view_db`. To specify a custom tag for this value use `global_view_db_tag`:
+
+``` yaml {hl_lines=["5"]}
+database_monitoring:
+ autodiscovery:
+ aurora:
+ enabled: true
+ global_view_db_tag: "my_db_tag"
+```
+
+### Create a configuration template
The Datadog Agent supports configuration templates for the Postgres and MySQL integrations. Define a configuration template for the Aurora clusters you wish to monitor.
{{< tabs >}}
{{% tab "Postgres" %}}
-First, add an `ad_identifier` for Aurora-managed Postgres to your configuration template (`postgres.d/conf_aws_aurora.yaml`) file:
+Primero, agregue un `ad_identifier` para Postgres administrado por Aurora a su archivo de plantilla de configuración (`postgres.d/conf_aws_aurora.yaml`):
```yaml
ad_identifiers:
- _dbm_postgres_aurora
```
-A continuación, define el resto de la plantilla. Utiliza [variables de plantilla](#supported-template-variables) para los parámetros que pueden cambiar, como `host` y `port`.
+Luego, defina el resto de la plantilla. Utilice [variables de plantilla](#supported-template-variables) para parámetros que pueden cambiar, como `host` y `port`.
```yaml
ad_identifiers:
@@ -153,6 +166,8 @@ instances:
port: "%%port%%"
username: datadog
dbm: "%%extra_dbm%%"
+ database_autodiscovery:
+ enabled: true
aws:
instance_endpoint: "%%host%%"
region: "%%extra_region%%"
@@ -161,17 +176,17 @@ instances:
- "region:%%extra_region%%"
```
-En este ejemplo, las variables de plantilla `%%host%%`, `%%port%%`, `%%extra_dbclusteridentifier%%`, `%%extra_dbm%%` y `%%extra_region%%` se rellenan dinámicamente con información del clúster de Aurora.
+En este ejemplo, las variables de plantilla `%%host%%`, `%%port%%`, `%%extra_dbclusteridentifier%%`, `%%extra_dbm%%` y `%%extra_region%%` se llenan dinámicamente con información del clúster de Aurora.
-#### Autenticación
+#### Autenticación {#authentication}
-Si utilizas una contraseña para la autenticación, ten en cuenta que la contraseña proporcionada en este archivo de plantilla se utilizará en todas las bases de datos que se detecten.
+Si está utilizando una contraseña para la autenticación, tenga en cuenta que la contraseña proporcionada en este archivo de plantilla se utilizará en cada base de datos descubierta.
-{{% collapse-content title="Guardar tu contraseña de forma segura" level="h5" id="securely-store-your-password" %}}
-##### Guarda tu contraseña de forma segura
+{{% collapse-content title="Almacene su contraseña de forma segura" level="h5" id="securely-store-your-password" %}}
+##### Almacene su contraseña de forma segura {#securely-store-your-password}
{{% dbm-secret %}}
-El siguiente ejemplo de plantilla de configuración se aplica a cada instancia descubierta en el clúster de Aurora:
+La siguiente plantilla de configuración de ejemplo se aplica a cada instancia descubierta en el clúster de Aurora:
``` yaml {hl_lines=[8]}
ad_identifiers:
@@ -189,13 +204,14 @@ instances:
tags:
- "dbclusteridentifier:%%extra_dbclusteridentifier%%"
- "region:%%extra_region%%"
+
```
-{{% /collapse-content %}}
+{{% /collapse-content %}}
-{{% collapse-content title="Autenticación de IAM" level="h5" id="iam-authentication" %}}
-##### Autenticación de IAM
+{{% collapse-content title="IAM Authentication" level="h5" id="iam-authentication" %}}
+##### IAM Authentication
-Para utilizar la [autenticación de IAM][2] para conectarte a tu clúster de Aurora, utiliza la siguiente plantilla:
+To use [IAM authentication][2] to connect to your Aurora cluster, use the following template:
``` yaml {hl_lines=["12-13"]}
ad_identifiers:
@@ -216,21 +232,47 @@ instances:
- "region:%%extra_region%%"
```
-La variable de plantilla `%%extra_managed_authentication_enabled%%` se resuelve en `true` si la instancia utiliza autenticación de IAM.
+The template variable `%%extra_managed_authentication_enabled%%` resolves to `true` if the instance is using IAM authentication.
[2]: /es/database_monitoring/guide/managed_authentication/?tab=aurora#configure-iam-authentication
-{{% /collapse-content %}}
+{{% /collapse-content %}}
+{{% collapse-content title="Vista global personalizada (7.75.0+)" level="h5" id="global-view-db" %}}
+##### Base de datos de vista global personalizada {#custom-global-view-database}
+
+Para establecer una base de datos de vista global personalizada para la autodetección de bases de datos, asegúrese de que está utilizando la versión del Agente 7.75.0 o superior y use la siguiente plantilla:
+
+``` yaml {hl_lines=["11"]}
+ad_identifiers:
+ - _dbm_postgres_aurora
+init_config:
+instances:
+ - host: "%%host%%"
+ port: "%%port%%"
+ username: datadog
+ dbm: true
+ database_autodiscovery:
+ enabled: true
+ global_view_db: "%%extra_global_view_db%%"
+ aws:
+ instance_endpoint: "%%host%%"
+ region: "%%extra_region%%"
+ tags:
+ - "dbclusteridentifier:%%extra_dbclusteridentifier%%"
+ - "region:%%extra_region%%"
+
+```
+{{% /collapse-content %}}
{{% /tab %}}
{{% tab "MySQL" %}}
-En primer lugar, añade un `ad_identifier` para MySQL administrado por Aurora a tu archivo de plantilla de configuración (`MySQL.d/conf_aws_aurora.yaml`):
+First, add an `ad_identifier` for Aurora-managed MySQL to your configuration template (`mysql.d/conf_aws_aurora.yaml`) file:
```yaml
ad_identifiers:
- _dbm_mysql_aurora
```
-A continuación, define el resto de la plantilla. Utiliza [variables de plantilla](#supported-template-variables) para los parámetros que pueden cambiar, como `host` y `port`.
+Then, define the remainder of the template. Use [template variables](#supported-template-variables) for parameters that may change, such as `host` and `port`.
```yaml
ad_identifiers:
@@ -249,17 +291,17 @@ instances:
- "region:%%extra_region%%"
```
-En este ejemplo, las variables de plantilla `%%host%%`, `%%port%%`, `%%extra_dbclusteridentifier%%`, `%%extra_dbm%%` y `%%extra_region%%` se rellenan dinámicamente con información del clúster de Aurora.
+In this example, the template variables `%%host%%`, `%%port%%`, `%%extra_dbclusteridentifier%%`, `%%extra_dbm%%`, and `%%extra_region%%` are dynamically populated with information from the Aurora cluster.
-#### Autenticación
+#### Authentication
-Si utilizas una contraseña para la autenticación, ten en cuenta que la contraseña proporcionada en este archivo de plantilla se utilizará en todas las bases de datos que se detectan.
+If you are using password for authentication note that the password provided in this template file will be used across every database discovered.
-{{% collapse-content title="Guardar tu contraseña de forma segura" level="h5" id="securely-store-your-password" %}}
-##### Guarda tu contraseña de forma segura
+{{% collapse-content title="Almacene su contraseña de forma segura" level="h5" id="securely-store-your-password" %}}
+##### Almacene su contraseña de forma segura {#securely-store-your-password-1}
{{% dbm-secret %}}
-El siguiente ejemplo de plantilla de configuración se aplica a cada instancia descubierta en el clúster de Aurora:
+La siguiente plantilla de configuración de ejemplo se aplica a cada instancia descubierta en el clúster de Aurora:
``` yaml {hl_lines=[8]}
ad_identifiers:
@@ -277,13 +319,14 @@ instances:
tags:
- "dbclusteridentifier:%%extra_dbclusteridentifier%%"
- "region:%%extra_region%%"
+
```
-{{% /collapse-content %}}
+{{% /collapse-content %}}
-{{% collapse-content title="Autenticación de IAM (7.67.0+)" level="h5" id="iam-authentication" %}}
-##### Autenticación de IAM
+{{% collapse-content title="IAM Authentication (7.67.0+)" level="h5" id="iam-authentication" %}}
+##### IAM Authentication
-Para utilizar la [autenticación de IAM][2] para conectarte a tu instancia RDS, asegúrate de que estás utilizando el Agent versión 7.67.0 o posterior y utiliza la siguiente plantilla:
+To use [IAM authentication][2] to connect to your RDS instance, make sure that you are using Agent version 7.67.0 or above and use the following template:
``` yaml {hl_lines=["12-13"]}
ad_identifiers:
@@ -304,25 +347,26 @@ instances:
- "region:%%extra_region%%"
```
-La variable de plantilla `%%extra_managed_authentication_enabled%%` se resuelve en `true` si la instancia utiliza autenticación de IAM.
+The template variable `%%extra_managed_authentication_enabled%%` resolves to `true` if the instance is using IAM authentication.
[2]: /es/database_monitoring/guide/managed_authentication/?tab=aurora#configure-iam-authentication
-{{% /collapse-content %}}
+{{% /collapse-content %}}
{{% /tab %}}
{{< /tabs >}}
-Para obtener más información sobre la configuración de Autodiscovery con integraciones, consulta la [documentación deAutodiscovery ][5].
+Para obtener más información sobre la configuración de la Autodetección con integraciones, consulte la [documentación de Autodetección][5].
-#### Variables de plantilla compatibles
+#### Variables de plantilla soportadas {#supported-template-variables}
| Variable de plantilla | Fuente |
|:-----------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------|
-| %%host%% | Endpoint de la instancia de Aurora |
-| %%puerto%% | El puerto de la instancia de Aurora |
-| %%extra_region%% | La región de AWS en la que se encuentra la instancia |
-| %%extra_dbclusteridentifier%% | El identificador de clúster del clúster de Aurora descubierto |
+| %%host%% | El punto de conexión de la instancia de Aurora |
+| %%port%% | El puerto de la instancia de Aurora |
+| %%extra_region%% | La región de AWS donde se encuentra la instancia |
+| %%extra_dbclusteridentifier%% | El identificador del clúster de Aurora descubierto |
| %%extra_dbm%% | Si DBM está habilitado en el clúster. Determinado por la presencia de `dbm_tag`, que por defecto es `datadoghq.com/dbm:true`. |
-| %%extra_managed_authentication_enabled%% | Si la autenticación de IAM está habilitada en el clúster.
Se utiliza para determinar si se debe utilizar la autenticación gestionada para la conexión. |
+| %%extra_managed_authentication_enabled%% | Si la autenticación IAM está habilitada en el clúster.
Esto se utiliza para determinar si se debe usar autenticación administrada para la conexión. |
+| %%extra_global_view_db%% | El valor de `global_view_db_tag`, que por defecto es `datadoghq.com/global_view_db`. |
[1]: /es/database_monitoring/setup_postgres/aurora/?tab=postgres10
[3]: https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSReadOnlyAccess.html
diff --git a/content/es/database_monitoring/setup_sql_server/rds.md b/content/es/database_monitoring/setup_sql_server/rds.md
index f07846c89dc..997f01e3ae9 100644
--- a/content/es/database_monitoring/setup_sql_server/rds.md
+++ b/content/es/database_monitoring/setup_sql_server/rds.md
@@ -1,49 +1,49 @@
---
-description: Instala y configura Database Monitoring para SQL Server en Amazon RDS.
+description: Instale y configure Database Monitoring para SQL Server administrado
+ en RDS.
further_reading:
- link: /integrations/sqlserver/
tag: Documentación
- text: Integración SQL Server básica
+ text: Integración básica de SQL Server
- link: /database_monitoring/troubleshooting/?tab=sqlserver
tag: Documentación
- text: Solución de problemas comunes
+ text: Solucionar problemas comunes
- link: /database_monitoring/guide/sql_deadlock/
tag: Documentación
- text: Configurar la monitorización de interbloqueos
+ text: Configurar el Monitoreo de Interbloqueos
- link: /database_monitoring/guide/sql_extended_events/
tag: Documentación
- text: Configurar la finalización de consultas y la recopilación de errores de consulta
+ text: Configurar la recopilación de finalización de consultas y errores de consultas
- link: /database_monitoring/guide/parameterized_queries/
tag: Documentación
- text: Captura de valores de parámetros de consulta SQL
-title: Configuración de Database Monitoring para SQL Server en Amazon RDS
+ text: Capturando valores de parámetros de consultas SQL
+title: Configurando Database Monitoring para SQL Server en Amazon RDS
---
+Database Monitoring proporciona una visibilidad profunda de sus bases de datos de Microsoft SQL Server al exponer métricas de consultas, muestras de consultas, planes de explicación, estados de bases de datos, conmutaciones por error y eventos.
-Database Monitoring te proporciona una amplia visibilidad de tus bases de datos Microsoft SQL Server mediante la exposición de métricas de consultas, muestras de consultas, explain-plans, estados de bases de datos, conmutaciones por error y eventos.
+Realice los siguientes pasos para habilitar Database Monitoring con su base de datos:
-Sigue los siguientes pasos para habilitar Database Monitoring con tu base de datos:
+1. [Configure la integración de AWS](#configure-the-aws-integration)
+1. [Otorgue acceso al Agente](#grant-the-agent-access)
+1. [Instale el Agente](#install-the-agent)
+1. [Instale la integración de RDS](#install-the-rds-integration)
-1. [Configura la integración AWS](#configure-the-aws-integration).
-1. [Concede acceso al Agent](#grant-the-agent-access).
-1. [Instala el Agent](#install-the-agent).
-1. [Instala la integración RDS](#install-the-rds-integration).
+## Antes de comenzar {#before-you-begin}
-## Antes de empezar
-
-Versiones de SQL Server compatibles
+Versiones de SQL Server soportadas
: 2014, 2016, 2017, 2019, 2022
{{% dbm-sqlserver-before-you-begin %}}
-## Configuración de la integración AWS
+## Configure la integración de AWS {#configure-the-aws-integration}
-Habilita la **Recopilación estándar** en la sección **Recopilación de recursos** de tu [cuadro de integración de Amazon Web Services][2].
+Habilite {{< ui >}}Standard Collection{{< /ui >}} en la sección {{< ui >}}Resource Collection{{< /ui >}} de su [tile de integración de Amazon Web Services][2].
-## Conceder acceso al Agent
+## Otorgue acceso al Agente {#grant-the-agent-access}
-El Datadog Agent requiere acceso de sólo lectura al servidor de la base de datos para recopilar estadísticas y consultas.
+El Agente de Datadog requiere acceso de solo lectura al servidor de base de datos para recopilar estadísticas y consultas.
-Crea un inicio de sesión de solo lectura para conectarte a tu servidor y conceder los permisos necesarios:
+Cree un inicio de sesión de solo lectura para conectarse a su servidor y otorgue los permisos requeridos:
```SQL
USE [master];
@@ -67,26 +67,27 @@ GRANT VIEW ANY DEFINITION to datadog;
GO
```
-Crea el usuario `datadog` en cada base de datos de aplicaciones adicional:
+Cree el usuario `datadog` en cada base de datos de aplicación adicional:
+
```SQL
USE [database_name];
CREATE USER datadog FOR LOGIN datadog;
```
-Esto es necesario porque RDS no permite conceder el permiso `CONNECT ANY DATABASE`. El Datadog Agent necesita conectarse a cada base de datos para recopilar estadísticas de E/S de archivos específicas de la base de datos.
+Esto es necesario porque RDS no permite otorgar `CONNECT ANY DATABASE`. El Agente de Datadog necesita conectarse a cada base de datos para recopilar estadísticas de I/O de archivos específicas de la base de datos.
-### Guarda tu contraseña de forma segura
+### Almacene su contraseña de manera segura {#securely-store-your-password}
{{% dbm-secret %}}
-## Instalar el Agent
+## Instale el Agente {#install-the-agent}
-Dado que AWS no permite el acceso directo al host, el Datadog Agent debe instalarse en un host distinto donde pueda comunicarse con el host de SQL Server. Existen varias opciones para instalar y ejecutar el Agent.
+Debido a que AWS no otorga acceso directo al host, el Agente de Datadog debe instalarse en un host separado donde pueda comunicarse con el host de SQL Server. Hay varias opciones para instalar y ejecutar el Agente.
{{< tabs >}}
-{{% tab "Windows Host" %}}
+{{% tab "Host de Windows" %}}
{{% dbm-alwayson-cloud-hosted %}}
-Para empezar a recopilar telemetría de SQL Server, [instala el Datadog Agent][1] y, a continuación, crea el archivo de configuración del Agent para SQL Server en `C:\ProgramData\Datadog\conf.d\sqlserver.d\conf.yaml`. Para ver todas las opciones de configuración disponibles, consulta el [archivo de configuración de ejemplo][2].
+Para comenzar a recopilar telemetría de SQL Server, [instale el Agente de Datadog][1], luego cree el archivo de configuración del Agente de SQL Server en `C:\ProgramData\Datadog\conf.d\sqlserver.d\conf.yaml`. Consulte el [archivo de configuración de muestra][2] para todas las opciones de configuración disponibles.
```yaml
init_config:
@@ -105,36 +106,37 @@ instances:
instance_endpoint: ''
```
-Para utilizar la [autenticación de Windows][4], configura `connection_string: "Trusted_Connection=yes"` y omite los campos `username` y `password`.
+Para usar [Autenticación de Windows][4], configure `connection_string: "Trusted_Connection=yes"` y omita los campos `username` y `password`.
+
+Utilice las etiquetas `service` y `env` para vincular su telemetría de base de datos a otra telemetría a través de un esquema de etiquetado común. Consulte [Etiquetado de Servicio Unificado][5] para obtener detalles sobre cómo se utilizan estas etiquetas en Datadog.
-Utiliza las etiquetas (tags) `service` y `env` para vincular la telemetría de tu base de datos con otras telemetrías mediante un esquema de etiquetado común. Para ver más detalles sobre cómo se utilizan estas etiquetas en Datadog, consulta [Etiquetado unificado de servicios][5].
+### Controladores compatibles {#supported-drivers}
-### Controladores compatibles
+#### Microsoft ADO {#microsoft-ado}
-#### Microsoft ADO
+El proveedor [ADO][6] recomendado es [Microsoft OLE DB Driver][7]. Asegúrese de que el controlador esté instalado en el host donde se está ejecutando el Agente.
-El proveedor [ADO][6] recomendado es [Microsoft OLE DB Driver][7]. Asegúrate de que el controlador está instalado en el host donde se ejecuta el Agent.
```yaml
connector: adodbapi
adoprovider: MSOLEDBSQL19 # Replace with MSOLEDBSQL for versions 18 and lower
```
-Los otros dos proveedores, `SQLOLEDB` y `SQLNCLI`, están considerados obsoletos por Microsoft y ya no deben utilizarse.
+Los otros dos proveedores, `SQLOLEDB` y `SQLNCLI`, son considerados obsoletos por Microsoft y no deben ser utilizados.
-#### ODBC
+#### ODBC {#odbc}
-El controlador ODBC recomendado es [Microsoft ODBC Driver][8]. A partir del Agent v7.51, ODBC Driver 18 para SQL Server se incluye por defecto en el Agent Linux. Para Windows, asegúrate de que el controlador está instalado en el host donde se ejecuta el Agent.
+El controlador ODBC recomendado es [Microsoft ODBC Driver][8]. A partir de la versión 7.51 del Agente, el ODBC Driver 18 para SQL Server se incluye por defecto en el Agente de Linux. Para Windows, asegúrese de que el controlador esté instalado en el host donde se está ejecutando el Agente.
```yaml
connector: odbc
driver: 'ODBC Driver 18 for SQL Server'
```
-Una vez terminada la configuración del Agent, [reinicia el Datadog Agent][9].
+Una vez que toda la configuración del Agente esté completa, [reinicie el Agente de Datadog][9].
-### Validación
+### Validar {#validate}
-[Ejecuta el subcomando de estado del Agent][10] y busca `sqlserver` en la sección **Checks** o visita la página [Bases de datos][11] de Datadog para empezar.
+[Ejecute el subcomando de estado del Agente][10] y busque `sqlserver` en la sección **Checks**. Navegue a la página de [Bases de datos][11] en Datadog para comenzar.
[1]: https://app.datadoghq.com/account/settings/agent/latest?platform=windows
[2]: https://github.com/DataDog/integrations-core/blob/master/sqlserver/datadog_checks/sqlserver/data/conf.yaml.example
@@ -149,16 +151,16 @@ Una vez terminada la configuración del Agent, [reinicia el Datadog Agent][9].
[11]: https://app.datadoghq.com/databases
{{% /tab %}}
-{{% tab "Linux Host" %}}
+{{% tab "Host de Linux" %}}
{{% dbm-alwayson-cloud-hosted %}}
-Para empezar a recopilar telemetría de SQL Server, primero [instala el Datadog Agent][1].
+Para comenzar a recopilar telemetría de SQL Server, primero [instale el Agente de Datadog][1].
-En Linux, también debes instalar un controlador ODBC SQL Server, como [Microsoft ODBC Driver][2]. Luego de la instalación, copia los archivos `odbc.ini` y `odbcinst.ini` en la carpeta `/opt/datadog-agent/embedded/etc`.
+En Linux, también debe instalar un controlador ODBC para SQL Server, como el [Microsoft ODBC driver][2]. Después de la instalación, copie los archivos `odbc.ini` y `odbcinst.ini` en la carpeta `/opt/datadog-agent/embedded/etc`.
-Utiliza el conector `odbc` y especifica el controlador adecuado, como se indica en el archivo `odbcinst.ini`.
+Utilice el conector `odbc` y especifique el controlador adecuado como se indica en el archivo `odbcinst.ini`.
-Crea el archivo de configuración de SQL Server Agent `/etc/datadog-agent/conf.d/sqlserver.d/conf.yaml`. Para ver todas las opciones de configuración disponibles, consulta el [archivo de configuración de ejemplo][3].
+Cree el archivo de configuración del Agente de SQL Server `/etc/datadog-agent/conf.d/sqlserver.d/conf.yaml`. Consulte el [archivo de configuración de muestra][3] para todas las opciones de configuración disponibles.
```yaml
init_config:
@@ -177,13 +179,13 @@ instances:
instance_endpoint: ''
```
-Utiliza las etiquetas (tags) `service` y `env` para vincular la telemetría de tu base de datos con otras telemetrías mediante un esquema de etiquetado común. Para ver más detalles sobre cómo se utilizan estas etiquetas en Datadog, consulta [Etiquetado unificado de servicios][5].
+Utilice las etiquetas `service` y `env` para vincular la telemetría de su base de datos a otra telemetría a través de un esquema de etiquetado común. Consulte [Etiquetado de Servicio Unificado][5] para obtener detalles sobre cómo se utilizan estas etiquetas en Datadog.
-Una vez completada la configuración del Agent, [reinicia el Datadog Agent][6].
+Una vez que toda la configuración del Agente esté completa, [reinicia el Agente de Datadog][6].
-### Validación
+### Valida {#validate-1}
-[Ejecuta el subcomando de estado del Agent][7] y busca `sqlserver` en la sección **Checks**. Ve a la página [Bases de datos][8] en Datadog para empezar.
+[Ejecuta el subcomando de estado del Agente][7] y busca `sqlserver` en la sección **Checks**. Navegue a la página de [Bases de datos][8] en Datadog para comenzar.
[1]: https://app.datadoghq.com/account/settings/agent/latest
[2]: https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
@@ -198,11 +200,11 @@ Una vez completada la configuración del Agent, [reinicia el Datadog Agent][6].
{{% tab "Docker" %}}
{{% dbm-alwayson-cloud-hosted %}}
-Para configurar el Agent de Database Monitoring que se ejecuta en un contenedor de Docker, puedes configurar las [plantillas de la integración Autodiscovery][1] como etiquetas (labels) de Docker en tu contenedor del Agent.
+Para configurar el Agente de Monitoreo de Bases de Datos que se ejecuta en un contenedor Docker, establece las [Plantillas de Integración de Autodescubrimiento][1] como etiquetas Docker en tu contenedor de Agente.
-**Nota**: El Agent debe tener permiso de lectura en el socket Docker para que las etiquetas (labels) de Autodiscovery funcionen.
+**Nota**: El Agente debe tener permiso de lectura en el socket de Docker para que Autodiscovery de etiquetas funcione.
-Sustituye los valores para que coincidan con tu cuenta y tu entorno. Para ver todas las opciones de configuración disponibles, consulta el [archivo de configuración de ejemplo][2].
+Reemplaza los valores para que coincidan con tu cuenta y entorno. Consulta el [archivo de configuración de muestra][2] para todas las opciones de configuración disponibles.
```bash
export DD_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@@ -227,14 +229,14 @@ docker run -e "DD_API_KEY=${DD_API_KEY}" \
"instance_endpoint": ""
}
}]' \
- gcr.io/datadoghq/agent:${DD_AGENT_VERSION}
+ registry.datadoghq.com/agent:${DD_AGENT_VERSION}
```
-Utiliza las etiquetas (tags) `service` y `env` para vincular la telemetría de tu base de datos a otras telemetrías mediante un esquema de etiquetado común. Para saber cómo se utilizan estas etiquetas en Datadog, consulta [Etiquetado unificado de servicios][4].
+Utiliza las etiquetas `service` y `env` para vincular la telemetría de tu base de datos a otra telemetría a través de un esquema de etiquetado común. Consulta [Etiquetado de Servicio Unificado][4] sobre cómo se utilizan estas etiquetas en Datadog.
-### Validación
+### Valida {#validate-2}
-[Ejecuta el subcomando de estado del Agent][5] y busca `sqlserver` en la sección **Checks** o visita la página [Bases de datos][6] de Datadog para empezar.
+[Ejecuta el subcomando de estado del Agente][5] y busca `sqlserver` en la sección **Checks**. Alternativamente, navega a la página de [Bases de Datos][6] en Datadog para comenzar.
[1]: /es/agent/faq/template_variables/
[2]: https://github.com/DataDog/integrations-core/blob/master/sqlserver/datadog_checks/sqlserver/data/conf.yaml.example
@@ -247,13 +249,13 @@ Utiliza las etiquetas (tags) `service` y `env` para vincular la telemetría de t
{{% tab "Kubernetes" %}}
{{% dbm-alwayson-cloud-hosted %}}
-Si estás ejecutando un clúster de Kubernetes, utiliza el [Datadog Cluster Agent][1] para habilitar Database Monitoring. Si los checks de clúster aún no están habilitados, [sigue estas instrucciones][2] para habilitarlos antes de continuar.
+Si estás ejecutando un clúster de Kubernetes, utiliza el [Datadog Cluster Agent][1] para habilitar Database Monitoring. Si las verificaciones del clúster no están habilitadas, [sigue estas instrucciones][2] para habilitarlas antes de continuar.
-### Operador
+### Operador {#operator}
-Sigue los pasos que se indican a continuación para configurar la integración SQL Server, utilizando como referencia las [instrucciones del Operator en Kubernetes e integraciones][6].
+Sigue los pasos a continuación para configurar la integración de SQL Server, utilizando las [instrucciones del Operador en Kubernetes e Integraciones][6] como referencia.
-1. Crea o actualiza el archivo `Datadog-Agent.yaml` con la siguiente configuración:
+1. Crea o actualiza el archivo `datadog-agent.yaml` con la siguiente configuración:
```yaml
apiVersion: datadoghq.com/v2alpha1
@@ -301,18 +303,18 @@ Sigue los pasos que se indican a continuación para configurar la integración S
instance_endpoint:
```
-2. Aplica los cambios al Datadog Operator con el siguiente comando:
+2. Aplica los cambios al Operador de Datadog utilizando el siguiente comando:
```shell
kubectl apply -f datadog-agent.yaml
```
-### Helm
+### Helm {#helm}
-Realiza los siguientes pasos para instalar el [Datadog Cluster Agent][1] en tu clúster Kubernetes. Sustituye los valores para que coincidan con tu cuenta y tu entorno.
+Completa los siguientes pasos para instalar el [Agente de Clúster de Datadog][1] en tu clúster de Kubernetes. Reemplaza los valores para que coincidan con tu cuenta y entorno.
-1. Sigue las [instrucciones de instalación del Datadog Agent][3] para Helm.
-2. Actualiza tu archivo de configuración YAML (`datadog-values.yaml` en las instrucciones de instalación del Cluster Agent) para incluir lo siguiente:
+1. Completa las [instrucciones de instalación del Agente de Datadog][3] para Helm.
+2. Actualiza tu archivo de configuración YAML (`datadog-values.yaml` en las instrucciones de instalación del Agente de Clúster) para incluir lo siguiente:
```yaml
clusterAgent:
confd:
@@ -338,18 +340,18 @@ Realiza los siguientes pasos para instalar el [Datadog Cluster Agent][1] en tu c
enabled: true
```
-3. Despliega el Agent con el archivo de configuración anterior desde la línea de comandos:
+3. Despliega el Agente con el archivo de configuración anterior desde la línea de comandos:
```shell
helm install datadog-agent -f datadog-values.yaml datadog/datadog
```
-Para Windows, adjunta --set targetSystem=windows al comando de instalación de Helm.
+Para Windows, añade --set targetSystem=windows al helm install comando.
-### Configuración con archivos integrados
+### Configura con archivos montados {#configure-with-mounted-files}
-Para configurar un check de clúster con un archivo de configuración montado, monta el archivo de configuración del contenedor del Cluster Agent en la ruta: `/conf.d/sqlserver.yaml`:
+Para configurar una verificación de clúster con un archivo de configuración montado, monta el archivo de configuración en el contenedor del Agente de Clúster en la ruta: `/conf.d/sqlserver.yaml`:
```yaml
cluster_check: true # Required for cluster checks
@@ -370,9 +372,9 @@ instances:
instance_endpoint:
```
-### Configuración con anotaciones de servicios de Kubernetes
+### Configura con anotaciones de servicio de Kubernetes {#configure-with-kubernetes-service-annotations}
-En lugar de montar un archivo, puedes declarar la configuración de la instancia como servicio Kubernetes. Para configurar este check para un Agent que se ejecuta en Kubernetes, crea un servicio con la siguiente sintaxis:
+En lugar de montar un archivo, puedes declarar la configuración de la instancia como un Servicio de Kubernetes. Para configurar esta verificación para un Agente que se ejecute en Kubernetes, crea un servicio utilizando la siguiente sintaxis:
```yaml
apiVersion: v1
@@ -405,11 +407,11 @@ spec:
name: sqlserver
```
-Para obtener información adicional sobre la configuración de los campos `deployment_type` y `name`, consulta las [especificaciones para la integración SQL Server][4].
+Consulta la [especificación de integración de SQL Server][4] para obtener información adicional sobre la configuración de los campos `deployment_type` y `name`.
-El Cluster Agent registra automáticamente esta configuración y comienza a ejecutar el check de SQL Server.
+El Cluster Agent registra automáticamente esta configuración y comienza a ejecutar la verificación de SQL Server.
-Para evitar exponer la contraseña del usuario `datadog` en texto simple, utiliza el [paquete de gestión de secretos][5] del Agent y declara la contraseña utilizando la sintaxis `ENC[]`.
+Para evitar exponer la contraseña del usuario `datadog` en texto plano, utilice el [paquete de gestión de secretos][5] del Agent y declare la contraseña utilizando la sintaxis `ENC[]`.
[1]: /es/agent/cluster_agent
@@ -423,14 +425,14 @@ Para evitar exponer la contraseña del usuario `datadog` en texto simple, utiliz
{{< /tabs >}}
-## Configuraciones del Agent de ejemplo
+## Ejemplos de Configuraciones de Agent {#example-agent-configurations}
{{% dbm-sqlserver-agent-config-examples %}}
-## Instalar la integración RDS
+## Instale la integración de RDS {#install-the-rds-integration}
-Para recopilar métricas de base de datos y logs más completos de AWS, instala la [integración RDS][1].
+Para recopilar métricas y registros de base de datos más completos de AWS, instale la [integración de RDS][1].
-## Referencias adicionales
+## Lectura adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
diff --git a/content/es/database_monitoring/setup_sql_server/selfhosted.md b/content/es/database_monitoring/setup_sql_server/selfhosted.md
index 58350a597e9..e47c5f4e890 100644
--- a/content/es/database_monitoring/setup_sql_server/selfhosted.md
+++ b/content/es/database_monitoring/setup_sql_server/selfhosted.md
@@ -3,48 +3,49 @@ description: Instalar y configurar Database Monitoring para SQL Server autoaloja
further_reading:
- link: /integrations/sqlserver/
tag: Documentación
- text: Integración SQL Server básica
+ text: Integración básica de SQL Server
- link: /database_monitoring/troubleshooting/?tab=sqlserver
tag: Documentación
text: Solucionar problemas comunes
- link: /database_monitoring/guide/sql_deadlock/
tag: Documentación
- text: Configurar la Monitorización Deadlock
+ text: Configurar la supervisión de bloqueos
- link: /database_monitoring/guide/sql_extended_events/
tag: Documentación
- text: Configurar la finalización de consultas y la recopilación de errores de consulta
+ text: Configurar la recopilación de finalización de consultas y errores de consultas
+- link: /database_monitoring/guide/parameterized_queries/
+ tag: Documentación
+ text: Capturando valores de parámetros de consultas SQL
- link: https://www.datadoghq.com/blog/migrate-sql-workloads-to-azure-with-datadog/
tag: Blog
- text: Establecer estrategias de migración Azure para cargas de trabajo SQL con Datadog
+ text: Estrategice su migración a Azure para cargas de trabajo de SQL con Datadog
- link: https://www.datadoghq.com/blog/datadog-monitoring-always-on/
tag: Blog
- text: Monitorización de tus grupos de disponibilidad AlwaysOn con Datadog Database
- Monitoring
-title: Configuración de Database Monitoring para SQL Server autoalojado
+ text: Monitorea tus grupos de disponibilidad AlwaysOn con Datadog Database Monitoring
+title: Configurando Database Monitoring para SQL Server autoalojado
---
+Database Monitoring proporciona una visibilidad profunda de tus bases de datos de Microsoft SQL Server al exponer métricas de consultas, muestras de consultas, planes de explicación, estados de bases de datos, conmutaciones por error y eventos.
-Database Monitoring te proporciona una amplia visibilidad de tus bases de datos Microsoft SQL Server mediante la exposición de métricas de consultas, muestras de consultas, explain-plans, estados de bases de datos, conmutaciones por error y eventos.
-
-Sigue los siguientes pasos para habilitar Database Monitoring con tu base de datos:
+Realice los siguientes pasos para habilitar Database Monitoring con su base de datos:
-1. [Concede acceso al Agent](#grant-the-agent-access).
-1. [Instala el Agent](#install-the-agent).
+1. [Conceder acceso al Agent](#grant-the-agent-access)
+1. [Instalar el Agent](#install-the-agent)
-## Antes de empezar
+## Antes de comenzar {#before-you-begin}
Versiones de SQL Server compatibles
-: 2012, 2014, 2016, 2017, 2019, 2022
+: 2012, 2014, 2016, 2017, 2019, 2022, 2025 (requiere Agent 7.79+)
{{% dbm-sqlserver-before-you-begin %}}
-## Conceder acceso al Agent
+## Conceder acceso al Agent {#grant-the-agent-access}
-El Datadog Agent requiere acceso de sólo lectura al servidor de la base de datos para recopilar estadísticas y consultas.
+El Agent de Datadog requiere acceso de solo lectura al servidor de bases de datos para poder recopilar estadísticas y consultas.
-Crea un inicio de sesión de solo lectura para conectarte a tu servidor y conceder los permisos necesarios:
+Cree un inicio de sesión de solo lectura para conectarse a su servidor y otorgue los permisos requeridos:
{{< tabs >}}
-{{% tab "SQL Server 2014 o posterior" %}}
+{{% tab "SQL Server 2014+" %}}
```SQL
CREATE LOGIN datadog WITH PASSWORD = '';
@@ -52,8 +53,8 @@ CREATE USER datadog FOR LOGIN datadog;
GRANT CONNECT ANY DATABASE to datadog;
GRANT VIEW SERVER STATE to datadog;
GRANT VIEW ANY DEFINITION to datadog;
--- Si no utilizas Log Shipping Monitoring (disponible en el Agent v7.50+) o
--- SQL Server Agent Monitoring (disponible en el Agent v7.57+), comenta las siguiente tres líneas:
+-- If not using either of Log Shipping Monitoring (available in Agent v7.50+) or
+-- SQL Server Agent Monitoring (available in Agent v7.57+), comment out the next three lines:
USE msdb;
CREATE USER datadog FOR LOGIN datadog;
GRANT SELECT to datadog;
@@ -66,14 +67,15 @@ CREATE LOGIN datadog WITH PASSWORD = '';
CREATE USER datadog FOR LOGIN datadog;
GRANT VIEW SERVER STATE to datadog;
GRANT VIEW ANY DEFINITION to datadog;
--- Si no utilizas Log Shipping Monitoring (disponible en el Agent v7.50+) o
--- SQL Server Agent Monitoring (disponible en el Agent v7.57+), comenta las siguientes tres líneas:
+-- If not using either of Log Shipping Monitoring (available in Agent v7.50+) or
+-- SQL Server Agent Monitoring (available in Agent v7.57+), comment out the next three lines:
USE msdb;
CREATE USER datadog FOR LOGIN datadog;
GRANT SELECT to datadog;
```
-Crea el usuario `datadog` en cada base de datos de aplicaciones adicional:
+Cree el `datadog`usuario en cada base de datos de aplicación adicional:
+
```SQL
USE [database_name];
CREATE USER datadog FOR LOGIN datadog;
@@ -81,27 +83,27 @@ CREATE USER datadog FOR LOGIN datadog;
{{% /tab %}}
{{< /tabs >}}
-### Guarda tu contraseña de forma segura
+### Almacene su contraseña de manera segura {#securely-store-your-password}
{{% dbm-secret %}}
-## Instalar el Agent
+## Instala el Agent {#install-the-agent}
-Se recomienda instalar el Agent directamente en el host de SQL Server, ya que esto permite al Agent recopilar una variedad de telemetrías del sistema (CPU, memoria, disco, red), además de la telemetría específica del SQL Server.
+Se recomienda instalar el Agent directamente en el servidor de SQL Server, ya que esto permite al Agent recopilar una variedad de telemetría del sistema (CPU, memoria, disco, red) además de la telemetría específica de SQL Server.
{{< tabs >}}
-{{% tab "Windows Host" %}}
+{{% tab "Servidor Windows" %}}
{{% dbm-alwayson %}}
{{% dbm-sqlserver-agent-setup-windows %}}
{{% /tab %}}
-{{% tab "Linux Host" %}}
+{{% tab "Servidor Linux" %}}
{{% dbm-alwayson %}}
{{% dbm-sqlserver-agent-setup-linux %}}
{{% /tab %}}
{{< /tabs >}}
-## Configuraciones del Agent de ejemplo
+## Ejemplos de configuraciones del Agent {#example-agent-configurations}
{{% dbm-sqlserver-agent-config-examples %}}
-## Referencias adicionales
+## Lectura adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
\ No newline at end of file
diff --git a/content/es/events/pipelines_and_processors/grok_parser.md b/content/es/events/pipelines_and_processors/grok_parser.md
index 4293bf06d4d..b035896df44 100644
--- a/content/es/events/pipelines_and_processors/grok_parser.md
+++ b/content/es/events/pipelines_and_processors/grok_parser.md
@@ -1,37 +1,36 @@
---
aliases:
- /es/service_management/events/pipelines_and_processors/grok_parser/
-description: Crea reglas de grok personalizadas para analizar el mensaje completo
- o atributos específicos de eventos sin procesar y convertirlos en datos estructurados.
-title: Analizador de Grok
+description: Crea reglas grok personalizadas para analizar el mensaje completo o atributos
+ específicos de eventos en bruto en datos estructurados.
+title: Analizador Grok
---
+## Descripción general {#overview}
-## Información general
+Crea reglas grok personalizadas para analizar el mensaje completo o un atributo específico de su evento en bruto. Como mejor práctica, se recomienda utilizar un máximo de 10 reglas de análisis dentro de un procesador grok.
-Crea reglas de Grok personalizadas para analizar el mensaje completo o un atributo específico de tu evento sin formato. Como práctica recomendada, se sugiere utilizar un máximo de 10 reglas de parseo en un procesador de Grok.
+{{< img src="service_management/events/grok-parser.png" alt="Ejemplo de análisis 1" style="width:80%;">}}
-{{< img src="service_management/events/grok-parser.png" alt="Ejemplo de parseo 1" style="width:80%;">}}
+Haga clic en **Analizar Mis Eventos** para iniciar un conjunto de tres reglas de análisis para los eventos que fluyen a través de la canalización subyacente. Refine la nomenclatura de los atributos desde allí y agregue nuevas reglas para otros tipos de eventos si es necesario. Esta función requiere que los eventos correspondientes estén siendo indexados y fluyendo realmente; puede desactivar temporalmente o reducir los filtros de exclusión para que esto funcione para usted.
-Haz clic en **Parse My Events** (Analizar mis eventos) a fin de iniciar un conjunto de tres reglas de parseo para los eventos que fluyen a través del pipeline subyacente. Refina la denominación de atributos allí y añade reglas nuevas para otro tipo de eventos si es necesario. Esta característica requiere que los eventos correspondientes se indexen y realmente fluyan. Puedes desactivar o reducir de manera temporal los filtros de exclusión para que funcione.
+Seleccione una muestra haciendo clic en ella para activar su evaluación contra la regla de análisis y mostrar el resultado en la parte inferior de la pantalla.
-Selecciona una muestra haciendo clic en ella para activar su evaluación con la regla de análisis y mostrar el resultado en la parte inferior de la pantalla.
+Se pueden guardar hasta cinco muestras con el procesador, y cada muestra puede tener hasta 5000 caracteres de longitud. Todas las muestras muestran un estado (coincidencia o no coincidencia), lo que resalta si una de las reglas de parseo del analizador grok coincide con la muestra.
-Se pueden guardar hasta cinco muestras con el procesador, y cada muestra puede tener hasta 5000 caracteres de longitud. Todas las muestras presentan un estado (coincide o no coincide), que resalta si una de las reglas de parseo del analizador de Grok coincide con la muestra.
+### Sintaxis Grok {#grok-syntax}
-### Sintaxis de Grok
+El Analizador Grok extrae atributos de mensajes de texto semiestructurados. Grok viene con patrones reutilizables para analizar enteros, direcciones IP, nombres de host y más. Estos valores deben ser enviados al analizador grok como cadenas.
-El analizador de Grok extrae atributos de mensajes de texto semiestructurados. Grok cuenta con patrones reutilizables para analizar enteros, direcciones IP, nombres de host y más. Estos valores se deben enviar al analizador de Grok como cadenas.
+Puede escribir reglas de análisis con la `%{MATCHER:EXTRACT:FILTER}` sintaxis:
-Puedes escribir reglas de análisis con la sintaxis `%{MATCHER:EXTRACT:FILTER}`:
+* **Coincidente**: Una regla (posiblemente una referencia a otra regla de token) que describe qué esperar (número, palabra, no espacio, etc.).
-* **Matcher** (Emparejador): una regla (posiblemente una referencia a otra regla de token) que describe qué esperar (número, palabra, no espacio, etc.).
+* **Extraer** (opcional): Un identificador que representa el destino de captura para el fragmento de texto coincidente con el *Coincidente*.
-* **Extract** (Fragmento) (opcional): un identificador que representa el destino del fragmento de texto que coincide con el *Matcher* (Emparejador).
-
-* **Filter** (Filtro) (opcional): un postprocesador de la coincidencia para transformarla.
+* **Filtrar** (opcional): Un post-procesador de la coincidencia para transformarla.
Ejemplo de un evento clásico no estructurado:
@@ -45,105 +44,105 @@ Con la siguiente regla de análisis:
MyParsingRule %{word:user} connected on %{date("MM/dd/yyyy"):date}
```
-Después del procesamiento, se genera el siguiente evento estructurado:
+Después de procesar, se genera el siguiente evento estructurado:
{{< img src="logs/processing/processors/_parser.png" alt="Ejemplo de análisis 1" style="width:80%;">}}
**Nota**:
-* Si tienes varias reglas de análisis en un único analizador grok:
- * Solo una puede coincidir con cualquier evento. La primera que coincida, de arriba abajo, es la que realiza el parseo.
- * Cada regla puede hacer referencia a reglas de análisis definidas por encima de ella en la lista.
-* Debes tener nombres de regla únicos dentro del mismo analizador grok.
-* El nombre de la regla sólo debe contener: caracteres alfanuméricos, `_` y `.`. Debe comenzar con un carácter alfanumérico.
+* Si tiene múltiples reglas de análisis en un solo Analizador Grok:
+ * Solo una puede coincidir con cualquier evento dado. La primera que coincida, de arriba hacia abajo, es la que realiza el análisis.
+ * Cada regla puede hacer referencia a reglas de análisis definidas por encima de sí misma en la lista.
+* Debe tener nombres de regla únicos dentro del mismo Analizador Grok.
+* El nombre de la regla debe contener solo: caracteres alfanuméricos, `_`, y `.`. Debe comenzar con un carácter alfanumérico.
* Las propiedades con valores nulos o vacíos no se muestran.
-* El emparejador de expresiones regulares aplica un `^` implícito, para hacer coincidir el inicio de una cadena, y un `$`, para hacer coincidir el final de la cadena.
-* Algunos eventos pueden producir grandes espacios en blanco. Utiliza `\n` y `\s+` para tener en cuenta las líneas nuevas y los espacios en blanco.
+* El comparador de regex aplica un `^` implícito, para coincidir con el inicio de una cadena, y un `$`, para coincidir con el final de una cadena.
+* Ciertos eventos pueden producir grandes espacios en blanco. Utilice `\n` y `\s+` para tener en cuenta los saltos de línea y los espacios en blanco.
-### Emparejador y filtro
+### Comparador y filtro {#matcher-and-filter}
-En esta lista encontrarás todos los emparejadores y filtros implementados de forma nativa por Datadog:
+Aquí hay una lista de todos los matchers y filtros implementados nativamente por Datadog:
{{< tabs >}}
-{{% tab "Matchers" %}}
+{{% tab "Comparadores" %}}
`date("pattern"[, "timezoneId"[, "localeId"]])`
-: compara una fecha con el patrón especificado y la analiza para producir una marca temporal Unix. [Consulta los ejemplos del emparejador de fechas](#parsing-dates).
+: Coincide con una fecha con el patrón especificado y analiza para producir un timestamp Unix. [Vea los ejemplos del Matcher de fecha](#parsing-dates).
`regex("pattern")`
-: Empareja una expresión regular. [Verifica los ejemplos del emparejador de expresiones regulares](#regex).
+: Coincide con una expresión regular. [Verifique los ejemplos del Matcher de expresión regular](#regex).
`notSpace`
-: Empareja cualquier cadena hasta el siguiente espacio.
+: Coincide con cualquier cadena hasta el siguiente espacio.
`boolean("truePattern", "falsePattern")`
-: Empareja un booleano y lo analiza, definiendo de manera opcional los patrones true (verdaderos) y false (falsos) (por defecto `true` y `false`, ignorando mayúsculas y minúsculas).
+: Coincide y analiza un booleano, definiendo opcionalmente los patrones de verdadero y falso (por defecto son `true` y `false`, ignorando mayúsculas y minúsculas).
`numberStr`
-: Empareja un número decimal de coma flotante y lo analiza como una cadena.
+: Coincide con un número decimal de punto flotante y lo analiza como una cadena.
`number`
-: Empareja un número decimal de coma flotante y lo analiza como un número de doble precisión.
+: Coincide con un número decimal de punto flotante y lo analiza como un número de doble precisión.
`numberExtStr`
-: Empareja un número de coma flotante (con soporte de notación científica) y lo analiza como una cadena.
+: Coincide con un número de punto flotante (con soporte para notación científica) y lo analiza como una cadena.
`numberExt`
-: Empareja un número de coma flotante (con soporte de notación científica) y lo analiza como un número de doble precisión.
+: Coincide con un número de punto flotante (con soporte para notación científica) y lo analiza como un número de doble precisión.
`integerStr`
-: Empareja un número entero y lo analiza como una cadena.
+: Coincide con un número entero y lo analiza como una cadena.
`integer`
-: Empareja un número entero y lo analiza como un número entero.
+: Coincide con un número entero y lo analiza como un número entero.
`integerExtStr`
-: Empareja un número entero (con soporte de notación científica) y lo analiza como una cadena.
+: Coincide con un número entero (con soporte para notación científica) y lo analiza como una cadena.
`integerExt`
-: Empareja un número entero (con soporte de notación científica) y lo analiza como un número entero.
+: Coincide con un número entero (con soporte para notación científica) y lo analiza como un número entero.
`word`
-: Compara caracteres de a-z, A-Z, 0-9, incluido el carácter _ (guion bajo).
+: Coincide con caracteres de a-z, A-Z, 0-9, incluyendo el carácter _ (guion bajo).
`doubleQuotedString`
-: Empareja una cadena entre comillas dobles.
+: Coincide con una cadena entre comillas dobles.
`singleQuotedString`
-: Empareja una cadena entre comillas simples.
+: Coincide con una cadena entre comillas simples.
`quotedString`
-: Empareja una cadena entre comillas dobles o simples.
+: Coincide con una cadena entre comillas dobles o simples.
`uuid`
-: Empareja un UUID.
+: Coincide con un UUID.
`mac`
-: Empareja una dirección MAC.
+: Coincide con una dirección MAC.
`ipv4`
-: Empareja un IPV4.
+: Coincide con un IPV4.
`ipv6`
-: Empareja un IPV6.
+: Coincide con un IPV6.
`ip`
-: Empareja un IP (v4 o v6).
+: Coincide con una dirección IP (v4 o v6).
`hostname`
-: Empareja un nombre de host.
+: Coincide con un nombre de host.
`ipOrHost`
-: Empareja un nombre de host o IP.
+: Coincide con un nombre de host o una dirección IP.
`port`
-: Empareja un número de puerto.
+: Coincide con un número de puerto.
`data`
-: Empareja cualquier cadena, incluidos espacios y líneas nuevas. Equivale a `.*` en expresiones regulares. Utilízalo cuando ninguno de los patrones anteriores sea apropiado.
+: Coincide con cualquier cadena, incluyendo espacios y saltos de línea. Equivalente a `.*` en regex. Utilícelo cuando ninguno de los patrones anteriores sea apropiado.
{{% /tab %}}
-{{% tab "Filters" %}}
+{{% tab "Filtros" %}}
`number`
: Analiza una coincidencia como un número de doble precisión.
@@ -152,25 +151,25 @@ En esta lista encontrarás todos los emparejadores y filtros implementados de fo
: Analiza una coincidencia como un número entero.
`boolean`
-: Analiza cadenas 'true' (verdadero) y 'false' (falso) como booleanos, ignorando mayúsculas y minúsculas.
+: Analiza las cadenas 'true' y 'false' como booleanos ignorando mayúsculas y minúsculas.
`nullIf("value")`
-: Devuelve un valor nulo, si la coincidencia es igual al valor proporcionado.
+: Devuelve nulo si la coincidencia es igual al valor proporcionado.
`json`
-: Analiza un JSON con el formato adecuado.
+: Analiza JSON correctamente formateado.
`rubyhash`
-: Analiza un hash de Ruby con el formato adecuado, como por ejemplo `{name => "John", "job" => {"company" => "Big Company", "title" => "CTO"}}`
+: Analiza un hash de Ruby correctamente formateado como `{name => "John", "job" => {"company" => "Big Company", "title" => "CTO"}}`
`useragent([decodeuricomponent:true/false])`
-: Analiza un agente de usuario y devuelve un objeto JSON que contiene el dispositivo, el sistema operativo y el navegador representado por el Agent. [Verifica el procesador de Agents de usuario][1].
+: Analiza un user-agent y devuelve un objeto JSON que contiene el dispositivo, el sistema operativo y el navegador representado por el Agent. [Consulta el procesador de user-agent][1].
`querystring`
-: Extrae todos los pares clave-valor de una cadena de consulta de URL coincidente (por ejemplo, `?productId=superproduct&promotionCode=superpromo`).
+: Extrae todos los pares clave-valor en una cadena de consulta de URL que coincida (por ejemplo, `?productId=superproduct&promotionCode=superpromo`).
`decodeuricomponent`
-: Descodifica los componentes de URI. Por ejemplo, transforma `%2Fservice%2Ftest` en `/service/test`.
+: Decodifica componentes de URI. Por ejemplo, transforma `%2Fservice%2Ftest` en `/service/test`.
`lowercase`
: Devuelve la cadena en minúsculas.
@@ -179,42 +178,42 @@ En esta lista encontrarás todos los emparejadores y filtros implementados de fo
: Devuelve la cadena en mayúsculas.
`keyvalue([separatorStr[, characterAllowList[, quotingStr[, delimiter]]]])`
-: Extrae el patrón de clave-valor y devuelve un objeto JSON. Consulta los [ejemplos de filtros de clave-valor](#key-value-or-logfmt).
+: Extrae el patrón de clave-valor y devuelve un objeto JSON. Consulta los [ejemplos de filtro de clave-valor](#key-value-or-logfmt).
`xml`
-: Analiza un XML con formato adecuado. Consulta los [ejemplos de filtros de XML](#parsing-xml).
+: Analiza XML correctamente formateado. Consulta los [ejemplos de filtro XML](#parsing-xml).
`csv(headers[, separator[, quotingcharacter]])`
-: Analiza líneas CSV o TSV con formato adecuado. Consulta los [ejemplos de filtros de CSV](#parsing-csv).
+: Analiza líneas de CSV o TSV correctamente formateadas. Consulta los [ejemplos de filtro CSV](#parsing-csv).
`scale(factor)`
: Multiplica el valor numérico esperado por el factor proporcionado.
`array([[openCloseStr, ] separator][, subRuleOrFilter)`
-: Analiza una secuencia de cadena de tokens y la devuelve como una matriz. Consulta el ejemplo de [lista a matriz](#list-to-array).
+: Analiza una secuencia de tokens en una cadena y la devuelve como un arreglo. Consulta el [ejemplo de lista a arreglo](#list-to-array).
`url`
-: analiza una URL y devuelve todos los miembros tokenizados (dominio, parámetros de consulta, puerto, etc.) en un objeto JSON.
+: Analiza una URL y devuelve todos los miembros tokenizados (dominio, parámetros de consulta, puerto, etc.) en un objeto JSON.
{{% /tab %}}
{{< /tabs >}}
-## Configuración avanzada
+## Configuraciones avanzadas {#advanced-settings}
-En la parte inferior de los cuadros de tu procesador grok se encuentra la sección **Advanced Settings** (Configuración avanzada):
+En la parte inferior de sus mosaicos del procesador Grok, hay una sección de **Configuraciones Avanzadas**:
-{{< img src="logs/processing/parsing/advanced_settings.png" alt="Configuración avanzada" style="width:80%;">}}
+{{< img src="logs/processing/parsing/advanced_settings.png" alt="Configuraciones Avanzadas" style="width:80%;">}}
-### Análisis de un atributo con texto específico
+### Analizando un atributo de texto específico {#parsing-a-specific-text-attribute}
-Utiliza el campo **Extract from** (Extraer de) para aplicar tu procesador grok en un atributo con texto determinado, en lugar del atributo `message` predeterminado.
+Utilice el campo **Extraer de** para aplicar su procesador Grok a un atributo de texto dado en lugar del atributo predeterminado `message`.
-Por ejemplo, considera un evento que contiene un atributo `command.line` que se debe analizar como una clave-valor. Podrías analizar este evento de la siguiente manera:
+Por ejemplo, considere un evento que contiene un atributo `command.line` que debe ser analizado como un par clave-valor. Podría analizar este evento de la siguiente manera:
-{{< img src="logs/processing/parsing/parsing_attribute.png" alt="Análisis de una línea de comando" style="width:80%;">}}
+{{< img src="logs/processing/parsing/parsing_attribute.png" alt="Análisis de la Línea de Comando" style="width:80%;">}}
-### Uso de las reglas de ayuda para factorizar varias reglas de análisis
+### Usando reglas auxiliares para factorizar múltiples reglas de análisis {#using-helper-rules-to-factorize-multiple-parsing-rules}
-Utiliza el campo **Helper Rules** (Reglas de ayuda) para definir tokens para tus reglas de análisis. Las reglas de ayuda te permiten factorizar patrones grok en las reglas de análisis. Esto es útil cuando tienes varias reglas en el mismo analizador grok que utilizan los mismos tokens.
+Utilice el campo **Reglas Auxiliares** para definir tokens para sus reglas de análisis. Las reglas auxiliares le ayudan a factorizar patrones Grok en sus reglas de análisis. Esto es útil cuando tiene varias reglas en el mismo Analizador Grok que utilizan los mismos tokens.
Ejemplo de un evento clásico no estructurado:
@@ -222,13 +221,13 @@ Ejemplo de un evento clásico no estructurado:
john id:12345 connected on 11/08/2017 on server XYZ in production
```
-Utiliza la siguiente regla de análisis:
+Utilice la siguiente regla de análisis:
```text
MyParsingRule %{user} %{connection} %{server}
```
-Con las siguientes reglas de ayuda:
+Con los siguientes auxiliares:
```text
user %{word:user.name} id:%{integer:user.id}
@@ -236,33 +235,33 @@ connection connected on %{date("MM/dd/yyyy"):connect_date}
server on server %{notSpace:server.name} in %{notSpace:server.env}
```
-{{< img src="logs/processing/parsing/helper_rules.png" alt="Reglas de ayuda" style="width:80%;">}}
+{{< img src="logs/processing/parsing/helper_rules.png" alt="reglas auxiliares" style="width:80%;">}}
-## Ejemplos
+## Ejemplos {#examples}
-Algunos ejemplos que demuestran cómo utilizar los analizadores:
+Algunos ejemplos que demuestran cómo usar analizadores:
-* [Clave-valor o logfmt](#key-value-or-logfmt)
-* [Análisis de fechas](#parsing-dates)
-* [Alternancia de patrones](#alternating-pattern)
+* [Clave valor o logfmt](#key-value-or-logfmt)
+* [Parseo de fechas](#parsing-dates)
+* [Patrones alternantes](#alternating-pattern)
* [Atributo opcional](#optional-attribute)
* [JSON anidado](#nested-json)
-* [Expresiones regulares](#regex)
-* [Lista a matrices](#list-to-array)
-* [Formato glog](#glog-format)
+* [Expresión regular](#regex)
+* [Listas y arreglos](#list-to-array)
+* [ Formato Glog](#glog-format)
* [XML](#parsing-xml)
* [CSV](#parsing-csv)
-### Clave valor o logfmt
+### Clave-valor o logfmt {#key-value-or-logfmt}
-Este es el filtro principal de clave-valor: `keyvalue([separatorStr[, characterAllowList[, quotingStr[, delimiter]]]])`, donde:
+Este es el filtro central de clave-valor: `keyvalue([separatorStr[, characterAllowList[, quotingStr[, delimiter]]]])` donde:
-* `separatorStr`: define el separador entre la clave y los valores. Por defecto es `=`.
-* `characterAllowList`: define caracteres de valor de no escape, además de los caracteres `\\w.\\-_@` predeterminados. Sólo se utiliza para valores que no están entre comillas (por ejemplo, `key=@valueStr`).
-* `quotingStr`: define las comillas y sustituye la detección de comillas predeterminada: `<>`, `""`, `''`.
-* `delimiter`: define el separador entre los distintos pares clave-valor (por ejemplo, `|` es el delimitador en `key1=value1|key2=value2`). Por defecto es ` ` (normal space), `,` and `.
+* `separatorStr`: define el separador entre claves y valores. Por defecto es `=`.
+* `characterAllowList`: define caracteres adicionales de valor no escapados además del valor por defecto `\\w.\\-_@`. Se utiliza solo para valores no entrecomillados (por ejemplo, `key=@valueStr`).
+* `quotingStr`: define comillas, reemplazando la detección de comillas por defecto: `<>`, `""`, `''`.
+* `delimiter`: define el separador entre los diferentes pares de clave-valor (por ejemplo, `|` es el delimitador en `key1=value1|key2=value2`). Por defecto es ` ` (espacio normal), `,` y `;`.
-Utiliza filtros como **keyvalue** a fin de asignar con mayor facilidad cadenas a atributos para formatos keyvalue o logfmt:
+Utilice filtros como **clave-valor** para mapear más fácilmente cadenas a atributos para formatos de clave-valor o logfmt:
**Evento:**
@@ -276,14 +275,14 @@ user=john connect_date=11/08/2017 id=123 action=click
rule %{data::keyvalue}
```
-{{< img src="logs/processing/parsing/parsing_example_2.png" alt="Ejemplo de análisis 2" style="width:80%;">}}
+{{< img src="logs/processing/parsing/parsing_example_2.png" alt="Ejemplo de parseo 2" style="width:80%;">}}
-No es necesario que especifiques el nombre de tus parámetros, puesto que ya se encuentran en el evento.
-Si añades un atributo de **extracción** `my_attribute` en tu patrón de reglas verás:
+No es necesario especificar el nombre de sus parámetros ya que ya están contenidos en el evento.
+Si agrega un **atributo de extracción** `my_attribute` en su patrón de regla, verá:
-{{< img src="logs/processing/parsing/parsing_example_2_bis.png" alt="Ejemplo de análisis 2 bis" style="width:80%;">}}
+{{< img src="logs/processing/parsing/parsing_example_2_bis.png" alt="Ejemplo de parseo 2 bis" style="width:80%;">}}
-Si `=` no es el separador predeterminado entre la clave y los valores, añade un parámetro a la regla de análisis con un separador.
+Si `=` no es el separador predeterminado entre su clave y valores, agregue un parámetro en su regla de parseo con un separador.
**Evento:**
@@ -299,7 +298,7 @@ rule %{data::keyvalue(": ")}
{{< img src="logs/processing/parsing/key_value_parser.png" alt="Analizador de clave-valor" style="width:80%;" >}}
-Si el evento contiene caracteres especiales en un valor de atributo, como `/` en una URL por ejemplo, añádelo a la lista de permitidos en la regla de parseo:
+Si el evento contiene caracteres especiales en un valor de atributo, como `/` en una URL, agréguelo a la lista de permitidos en su regla de parseo:
**Evento:**
@@ -313,24 +312,24 @@ url=https://app.datadoghq.com/event/stream user=john
rule %{data::keyvalue("=","/:")}
```
-{{< img src="logs/processing/parsing/key_value_allowlist.png" alt="Lista de permisos de clave-valor" style="width:80%;" >}}
+{{< img src="logs/processing/parsing/key_value_allowlist.png" alt="Lista de permitidos de clave-valor" style="width:80%;" >}}
Otros ejemplos:
-| **Cadena sin formato** | **Regla de análisis** | **Resultado** |
+| **Cadena cruda** | **Regla de parseo** | **Resultado** |
|:-----------------------------|:------------------------------------------------------|:--------------------------------------|
-| key=valueStr | `%{data::keyvalue}` | {"key": "valueStr"} |
-| key=\ | `%{data::keyvalue}` | {"key": "valueStr"} |
-| "key"="valueStr" | `%{data::keyvalue}` | {"key": "valueStr"} |
-| key:valueStr | `%{data::keyvalue(":")}` | {"key": "valueStr"} |
-| key:"/valueStr" | `%{data::keyvalue(":", "/")}` | {"key": "/valueStr"} |
-| /key:/valueStr | `%{data::keyvalue(":", "/")}` | {"/key": "/valueStr"} |
-| key:={valueStr} | `%{data::keyvalue(":=", "", "{}")}` | {"key": "valueStr"} |
-| key1=value1\|key2=value2 | %{data::keyvalue("=", "", "", "|")} | {"key1": "value1", "key2": "value2"} |
-| key1="value1"\|key2="value2" | %{data::keyvalue("=", "", "", "|")} | {"key1": "value1", "key2": "value2"} |
-
-**Ejemplo de varias cadenas de comillas**: cuando se definen varias cadenas de comillas, el comportamiento predeterminado se sustituye por un carácter de comillas definido.
-La clave-valor siempre coincide con las entradas sin caracteres de comillas, independientemente de lo que se especifique en `quotingStr`. Cuando se utilizan caracteres de comillas, se ignora `characterAllowList`, ya que se extrae todo lo que se encuentra entre los caracteres de comillas.
+| clave=valorStr | `%{data::keyvalue}` | {"clave": "valorStr"} |
+| clave=\ | `%{data::keyvalue}` | {"clave": "valorStr"} |
+| "clave"="valorStr" | `%{data::keyvalue}` | {"clave": "valorStr"} |
+| clave:valorStr | `%{data::keyvalue(":")}` | {"clave": "valorStr"} |
+| clave:"/valorStr" | `%{data::keyvalue(":", "/")}` | {"clave": "/valorStr"} |
+| /clave:/valorStr | `%{data::keyvalue(":", "/")}` | {"/clave": "/valorStr"} |
+| clave:={valorStr} | `%{data::keyvalue(":=", "", "{}")}` | {"clave": "valorStr"} |
+| clave1=valor1\|clave2=valor2 | %{data::keyvalue("=", "", "", "|")} | {"clave1": "valor1", "clave2": "valor2"} |
+| clave1="valor1"\|clave2="valor2" | %{data::keyvalue("=", "", "", "|")} | {"clave1": "valor1", "clave2": "valor2"} |
+
+**Ejemplo de cadena de múltiples comillas**: Cuando se definen múltiples cadenas de comillas, el comportamiento predeterminado se reemplaza con un carácter de comillas definido.
+La clave-valor siempre coincide con las entradas sin ningún carácter de comillas, independientemente de lo que se especifique en `quotingStr`. Cuando se utilizan caracteres de comillas, se ignora el `characterAllowList` ya que todo lo que está entre los caracteres de comillas se extrae.
**Evento:**
@@ -353,42 +352,42 @@ La clave-valor siempre coincide con las entradas sin caracteres de comillas, ind
**Nota**:
* Los valores vacíos (`key=`) o los valores `null` (`key=null`) no se muestran en el JSON de salida.
-* Si defines un filtro *keyvalue* en un objeto `data` y este filtro no coincide, se devuelve un JSON `{}` vacío (por ejemplo, entrada: `key:=valueStr`, regla de análisis: `rule_test %{data::keyvalue("=")}`, salida: `{}`).
-* Definir `""` como `quotingStr` conserva la configuración predeterminada para las comillas.
+* Si define un filtro de *clave-valor* en un `data` objeto, y este filtro no coincide, entonces se devuelve un JSON vacío `{}` (por ejemplo, entrada: `key:=valueStr`, regla de parseo: `rule_test %{data::keyvalue("=")}`, salida: `{}`).
+* Definir `""` como `quotingStr` mantiene la configuración predeterminada para las comillas.
-### Análisis de fechas
+### Parseo de fechas {#parsing-dates}
-El emparejador de fechas transforma tu marca de tiempo en el formato EPOCH (unidad de medida en **milisegundos**).
+El comparador de fechas transforma su marca de tiempo en el formato EPOCH (unidad de medida **milisegundo**).
-| **Cadena sin formato** | **Regla de análisis** | **Resultado** |
+| **Cadena cruda** | **Regla de parseo** | **Resultado** |
|:-------------------------------------|:----------------------------------------------------------|:------------------------|
| 14:20:15 | `%{date("HH:mm:ss"):date}` | {"date": 51615000} |
| 02:20:15 PM | `%{date("hh:mm:ss a"):date}` | {"date": 51615000} |
-| 10/11/2014 | `%{date("dd/MM/yyyy"):date}` | {"date": 1412978400000} |
-| Jueves 16 de junio de 2016 08:29:03 | `%{date("EEE MMM dd HH:mm:ss yyyy"):date}` | {"date": 1466065743000} |
-| Martes 16 de noviembre de 2016 08:29:03 | `%{date("EEE MMM d HH:mm:ss yyyy"):date}` | {"date": 1466065743000} |
-| 6/Mar/2013:01:36:30 +0900 | `%{date("dd/MMM/yyyy:HH:mm:ss Z"):date}` | {"date": 1362501390000} |
-| 29-11-2016T16:21:36.431+0000 | `%{date("yyyy-MM-dd'T'HH:mm:ss.SSSZ"):date}` | {"date": 1480436496431} |
-| 29-11-2016T16:21:36.431+00:00 | `%{date("yyyy-MM-dd'T'HH:mm:ss.SSSZZ"):date}` | {"date": 1480436496431} |
+| 11/10/2014 | `%{date("dd/MM/yyyy"):date}` | {"date": 1412978400000} |
+| Jue Jun 16 08:29:03 2016 | `%{date("EEE MMM dd HH:mm:ss yyyy"):date}` | {"date": 1466065743000} |
+| Mar Nov 1 08:29:03 2016 | `%{date("EEE MMM d HH:mm:ss yyyy"):date}` | {"date": 1466065743000} |
+| 06/Mar/2013:01:36:30 +0900 | `%{date("dd/MMM/yyyy:HH:mm:ss Z"):date}` | {"date": 1362501390000} |
+| 2016-11-29T16:21:36.431+0000 | `%{date("yyyy-MM-dd'T'HH:mm:ss.SSSZ"):date}` | {"date": 1480436496431} |
+| 2016-11-29T16:21:36.431+00:00 | `%{date("yyyy-MM-dd'T'HH:mm:ss.SSSZZ"):date}` | {"date": 1480436496431} |
| 06/Feb/2009:12:14:14.655 | `%{date("dd/MMM/yyyy:HH:mm:ss.SSS"):date}` | {"date": 1233922454655} |
-| 31-08-2007 19:22:22.427 ADT | `%{date("yyyy-MM-dd HH:mm:ss.SSS z"):date}` | {"date": 1188598942427} |
-| Jueves 16 de junio 08:29:03 20161 | `%{date("EEE MMM dd HH:mm:ss yyyy","Europe/Paris"):date}` | {"date": 1466058543000} |
-| Jueves 16 de junio 08:29:03 20161 | `%{date("EEE MMM dd HH:mm:ss yyyy","UTC+5"):date}` | {"date": 1466047743000} |
-| Jueves 16 de junio 08:29:03 20161 | `%{date("EEE MMM dd HH:mm:ss yyyy","+3"):date}` | {"date": 1466054943000} |
+| 2007-08-31 19:22:22.427 ADT | `%{date("yyyy-MM-dd HH:mm:ss.SSS z"):date}` | {"date": 1188598942427} |
+| Jue 16 de Jun 08:29:03 20161 | `%{date("EEE MMM dd HH:mm:ss yyyy","Europe/Paris"):date}` | {"date": 1466058543000} |
+| Jue 16 de Jun 08:29:03 20161 | `%{date("EEE MMM dd HH:mm:ss yyyy","UTC+5"):date}` | {"date": 1466047743000} |
+| Jue 16 de Jun 08:29:03 20161 | `%{date("EEE MMM dd HH:mm:ss yyyy","+3"):date}` | {"date": 1466054943000} |
-1 Utiliza el parámetro `timezone` si realizas tus propias localizaciones y tus marcas de tiempo no están en UTC.
-Los formatos compatibles para las zonas horarias son:
+1 Utilice el `timezone` parámetro si realiza sus propias localizaciones y sus marcas de tiempo _no_ están en UTC.
+El formato soportado para zonas horarias es:
* `GMT`, `UTC`, `UT` o `Z`
-* `+h`, `+hh`, `+hh:mm`, `-hh:mm`, `+hhmm`, `-hhmm`, `+hh:mm:ss`, `-hh:mm:ss`, `+hhmmss` or `-hhmmss`. El rango máximo admitido es de +18:00 a -18:00.
-* Zonas horarias que comienzan por `UTC+`, `UTC-`, `GMT+`, `GMT-`, `UT+` o `UT-`. El rango máximo admitido es de +18:00 a -18:00.
-* Los ID de zona horaria extraídos de la base de datos TZ. Para obtener más información, consulta la [lista de nombres de bases de datos TZ][2].
+* `+h`, `+hh`, `+hh:mm`, `-hh:mm`, `+hhmm`, `-hhmm`, `+hh:mm:ss`, `-hh:mm:ss`, `+hhmmss` o `-hhmmss` . El rango máximo soportado es de +18:00 a -18:00 inclusive.
+* Zonas horarias que comienzan con `UTC+`, `UTC-`, `GMT+`, `GMT-`, `UT+` o `UT-`. El rango máximo soportado es de +18:00 a -18:00 inclusive.
+* IDs de zona horaria extraídos de la base de datos TZ. Para más información, consulte [nombres de la base de datos TZ][2].
-**Nota**: Analizar una fecha **no** establece su valor como la fecha oficial del evento. Para ello utiliza el [reasignador de fechas de eventos][3] en un procesador posterior.
+**Nota**: El parseo de una fecha **no** establece su valor como la fecha oficial del evento. Para esto, utilice el [Remapeador de Fecha de Evento][3] en un Procesador posterior.
-### Alternancia de patrones
+### Patrón alternante {#alternating-pattern}
-Si tienes eventos con dos formatos posibles que solo difieren en un atributo, establece una única regla alternando con `(|)`. Esta regla equivale a un OR booleano.
+Si tiene eventos con dos formatos posibles que difieren en solo un atributo, establezca una única regla utilizando alternante con `(|)`. Esta regla es equivalente a un OR booleano.
**Evento**:
@@ -398,7 +397,7 @@ john connected on 11/08/2017
```
**Regla**:
-ten en cuenta que "id" es un número entero y no una cadena.
+Tenga en cuenta que "id" es un entero y no una cadena.
```text
MyParsingRule (%{integer:user.id}|%{word:user.firstname}) connected on %{date("MM/dd/yyyy"):connect_date}
@@ -406,13 +405,13 @@ MyParsingRule (%{integer:user.id}|%{word:user.firstname}) connected on %{date("M
**Resultados**:
-{{< img src="logs/processing/parsing/parsing_example_4.png" alt="Ejemplo de análisis 4" style="width:80%;" >}}
+{{< img src="logs/processing/parsing/parsing_example_4.png" alt="Ejemplo de parseo 4" style="width:80%;" >}}
-{{< img src="logs/processing/parsing/parsing_example_4_bis.png" alt="Ejemplo de análisis 4 bis" style="width:80%;" >}}
+{{< img src="logs/processing/parsing/parsing_example_4_bis.png" alt="Ejemplo de parseo 4 bis" style="width:80%;" >}}
-### Atributo opcional
+### Atributo opcional {#optional-attribute}
-Algunos eventos contienen valores que solo aparecen una parte del tiempo. En este caso, haz que la extracción de atributos sea opcional con `()?`.
+Algunos eventos contienen valores que solo aparecen parte del tiempo. En este caso, haga que la extracción de atributos sea opcional con `()?`.
**Evento**:
@@ -426,15 +425,15 @@ john 1234 connected on 11/08/2017
MyParsingRule %{word:user.firstname} (%{integer:user.id} )?connected on %{date("MM/dd/yyyy"):connect_date}
```
-**Nota**: Una regla no coincidirá si incluyes un espacio después de la primera palabra en la sección opcional.
+**Nota**: Una regla no coincidirá si incluye un espacio después de la primera palabra en la sección opcional.
-{{< img src="logs/processing/parsing/parsing_example_5.png" alt="Ejemplo de análisis 5" style="width:80%;" >}}
+{{< img src="logs/processing/parsing/parsing_example_5.png" alt="Ejemplo de parseo 5" style="width:80%;" >}}
-{{< img src="logs/processing/parsing/parsing_example_5_bis.png" alt="Ejemplo de análisis 5 bis" style="width:80%;" >}}
+{{< img src="logs/processing/parsing/parsing_example_5_bis.png" alt="Ejemplo de parseo 5 bis" style="width:80%;" >}}
-### JSON anidado
+### JSON anidado {#nested-json}
-Utiliza el filtro `json` para analizar un objeto JSON anidado después de un prefijo de texto sin formato:
+Utilice el filtro `json` para analizar un objeto JSON anidado después de un prefijo de texto sin procesar:
**Evento**:
@@ -448,9 +447,9 @@ Sep 06 09:13:38 vagrant program[123]: server.1 {"method":"GET", "status_code":20
parsing_rule %{date("MMM dd HH:mm:ss"):timestamp} %{word:vm} %{word:app}\[%{number:logger.thread_id}\]: %{notSpace:server} %{data::json}
```
-{{< img src="logs/processing/parsing/nested_json.png" alt="Ejemplo de análisis de un JSON anidado" style="width:80%;" >}}
+{{< img src="logs/processing/parsing/nested_json.png" alt="Ejemplo de parseo de JSON anidado" style="width:80%;" >}}
-### Expresiones regulares
+### Regex {#regex}
**Evento**:
@@ -464,55 +463,55 @@ john_1a2b3c4 connected on 11/08/2017
MyParsingRule %{regex("[a-z]*"):user.firstname}_%{regex("[a-zA-Z0-9]*"):user.id} .*
```
-{{< img src="logs/processing/parsing/regex_parsing.png" alt="Ejemplo de análisis 6" style="width:80%;" >}}
+{{< img src="logs/processing/parsing/regex_parsing.png" alt="Ejemplo de parseo 6" style="width:80%;" >}}
-### Lista a matriz
+### Lista a arreglo {#list-to-array}
-Utiliza el filtro `array([[openCloseStr, ] separator][, subRuleOrFilter)` para extraer una lista en una matriz en un solo atributo. El `subRuleOrFilter` es opcional y acepta estos [filtros][4].
+Utilice el filtro `array([[openCloseStr, ] separator][, subRuleOrFilter)` para extraer una lista en un arreglo en un solo atributo. El `subRuleOrFilter` es opcional y acepta estos [filtros][4].
**Evento**:
```text
-Los usuarios [John, Oliver, Marc, Tom] se han añadido a la base de datos
+Users [John, Oliver, Marc, Tom] have been added to the database
```
**Regla**:
```text
-myParsingRule Los usuario %{data:users:array("[]",",")} se han añadido a la base de datos
+myParsingRule Users %{data:users:array("[]",",")} have been added to the database
```
-{{< img src="logs/processing/parsing/array_parsing.png" alt="Ejemplo de análisis 6" style="width:80%;" >}}
+{{< img src="logs/processing/parsing/array_parsing.png" alt="Ejemplo de parseo 6" style="width:80%;" >}}
**Evento**:
```text
-Los usuarios {John-Oliver-Marc-Tom} se han añadido a la base de datos
+Users {John-Oliver-Marc-Tom} have been added to the database
```
**Regla**:
```text
-myParsingRule Los usuarios %{data:users:array("{}","-")} se han añadido a la base de datos
+myParsingRule Users %{data:users:array("{}","-")} have been added to the database
```
-**Regla que utiliza `subRuleOrFilter`**:
+**Regla usando `subRuleOrFilter`**:
```text
-myParsingRule Los usuarios %{data:users:array("{}","-", uppercase)} se han añadido a la base de datos
+myParsingRule Users %{data:users:array("{}","-", uppercase)} have been added to the database
```
-### Formato glog
+### Formato Glog {#glog-format}
-A veces los componentes de Kubernetes gestionan logs en el formato `glog`. Este ejemplo es del elemento del programador de Kubernetes en la biblioteca de pipelines.
+Los componentes de Kubernetes a veces registran en el formato `glog`; este ejemplo es del elemento Kube Scheduler en la Biblioteca de Canalización.
-Evento de ejemplo:
+Ejemplo de Evento:
```text
W0424 11:47:41.605188 1 authorization.go:47] Authorization is disabled
```
-Regla de análisis:
+Regla de parseo:
```text
kube_scheduler %{regex("\\w"):level}%{date("MMdd HH:mm:ss.SSSSSS"):timestamp}\s+%{number:logger.thread_id} %{notSpace:logger.name}:%{number:logger.lineno}\] %{data:msg}
@@ -533,9 +532,9 @@ Y JSON extraído:
}
```
-### Análisis de XML
+### Parseo XML {#parsing-xml}
-El analizador de XML transforma los mensajes con formato XML en JSON.
+El analizador XML transforma mensajes formateados en XML a JSON.
**Evento:**
@@ -571,25 +570,25 @@ rule %{data::xml}
**Notas**:
-* Si el XML contiene etiquetas (tags) que tienen un atributo y un valor de cadena entre las dos etiquetas, se genera un atributo `value`. Por ejemplo: `Harry Potter` se convierte en `{"title": {"lang": "en", "value": "Harry Potter" } }`
-* Las etiquetas repetidas se convierten automáticamente en matrices. Por ejemplo: `Harry PotterEveryday Italian` se convierte en `{ "bookstore": { "book": [ "Harry Potter", "Everyday Italian" ] } }`
+* Si el XML contiene etiquetas que tienen tanto un atributo como un valor de cadena entre las dos etiquetas, se genera un atributo `value`. Por ejemplo: `Harry Potter` se convierte en `{"title": {"lang": "en", "value": "Harry Potter" } }`
+* Las etiquetas repetidas se convierten automáticamente en arreglos. Por ejemplo: `Harry PotterEveryday Italian` se convierte en `{ "bookstore": { "book": [ "Harry Potter", "Everyday Italian" ] } }`
-### Análisis de CSV
+### Parseo CSV {#parsing-csv}
-Utiliza el filtro **CSV** para asignar cadenas a atributos con mayor facilidad cuando estén separadas por un carácter determinado (`,` por defecto).
+Utiliza el filtro **CSV** para mapear más fácilmente cadenas a atributos cuando están separadas por un carácter dado (`,` por defecto).
El filtro CSV se define como `csv(headers[, separator[, quotingcharacter]])` donde:
-* `headers`: define el nombre de las claves separadas por `,`. Los nombres de las claves deben empezar por un carácter alfabético y pueden contener cualquier carácter alfanumérico además de `_`.
-* `separator`: define los separadores que se utilizan para separar los distintos valores. Sólo se acepta un carácter. Por defecto: `,`. **Nota**: Utiliza `tab` para que el `separator` represente el carácter de tabulación para los TSV.
-* `quotingcharacter`: define el carácter de comillas. Sólo se acepta un carácter. Por defecto: `"`
+* `headers`: Define los nombres de las claves separados por `,`. Los nombres de las claves deben comenzar con un carácter alfabético y pueden contener cualquier carácter alfanumérico además de `_`.
+* `separator`: Define los separadores utilizados para separar los diferentes valores. Solo se acepta un carácter. Predeterminado: `,`. **Nota**: Utilice `tab` para el `separator` para representar el carácter de tabulación para TSVs.
+* `quotingcharacter`: Define el carácter de comillas. Solo se acepta un carácter. Predeterminado: `"`
**Nota**:
-* Los valores que contienen un carácter separador se deben colocar entre comillas.
-* Los valores entre comillas que contienen un carácter de comillas deben tener caracteres de escape entre comillas. Por ejemplo, `""` dentro de un valor entre comillas representa `"`.
-* Si el evento no contiene el mismo número de valores que el número de claves del encabezado, el analizador de CSV coincidirá con los primeros.
-* Los números enteros y dobles se convierten de manera automática, si es posible.
+* Los valores que contienen un carácter separador deben estar entre comillas.
+* Los valores entre comillas que contienen un carácter de comillas deben escaparse con un carácter de comillas. Por ejemplo, `""` dentro de un valor entre comillas representa `"`.
+* Si el evento no contiene la misma cantidad de valores que la cantidad de claves en el encabezado, el analizador CSV emparejará los primeros.
+* Los enteros y dobles se convierten automáticamente si es posible.
**Evento**:
@@ -619,7 +618,7 @@ myParsingRule %{data:user:csv("first_name,name,st_nb,st_name,city")}
Otros ejemplos:
-| **Cadena sin formato** | **Regla de análisis** | **Resultado** |
+| **Cadena cruda** | **Regla de parseo** | **Resultado** |
|:-----------------------------|:-------------------------------------------------------------------------|:------------------------------------------------|
| `John,Doe` | `%{data::csv("firstname,name")}` | {"firstname": "John", "name":"Doe"} |
| `"John ""Da Man""",Doe` | `%{data::csv("firstname,name")}` | {"firstname": "John \"Da Man\"", "name":"Doe"} |
@@ -630,9 +629,9 @@ Otros ejemplos:
| `value1,,value3` | `%{data::csv("key1,key2,key3")}` | {"key1": "value1", "key3":"value3"} |
| Value1 Value2 Value3 (TSV) | `%{data::csv("key1,key2,key3","tab")}` | {"key1": "value1", "key2": "value2", "key3":"value3"} |
-### Uso del emparejador de datos para descartar el texto innecesario
+### Utiliza el comparador de datos para descartar texto innecesario {#use-data-matcher-to-discard-unneeded-text}
-Si tienes un evento en el que después de haber analizado lo que se necesita sabes que es seguro descartar el texto posterior a ese punto, puedes utilizar el comparador de datos para hacerlo. Para el siguiente ejemplo de evento, puedes utilizar el comparador de `data` a fin de descartar el `%` al final.
+Si tiene un evento en el que, después de haber parseado lo necesario y saber que el texto posterior es seguro descartar, puede utilizar el comparador de datos para ello. Para el siguiente ejemplo de evento, puede usar el `data` comparador para descartar el `%` al final.
**Evento**:
@@ -655,9 +654,9 @@ MyParsingRule Usage\:\s+%{number:usage}%{data:ignore}
}
```
-### Caracteres de control ASCII
+### Caracteres de control ASCII {#ascii-control-characters}
-Si tus eventos contienen caracteres de control ASCII, se serializarán al ingerirlos. Estos se pueden gestionar escapando de manera explícita del valor serializado dentro de tu analizador de Grok.
+Si sus eventos contienen caracteres de control ASCII, se serializan al ser ingeridos. Estos pueden ser manejados escapando explícitamente el valor serializado dentro de su parser grok.
[1]: https://github.com/google/re2/wiki/Syntax
diff --git a/content/es/getting_started/tracing/_index.md b/content/es/getting_started/tracing/_index.md
index cb6e3783d49..5482738cce9 100644
--- a/content/es/getting_started/tracing/_index.md
+++ b/content/es/getting_started/tracing/_index.md
@@ -1,96 +1,97 @@
---
aliases:
- /es/getting_started/tracing/distributed-tracing
+description: Configura el Monitoreo de Rendimiento de Aplicaciones (APM) para identificar
+ cuellos de botella, solucionar problemas y enviar trazas a Datadog.
further_reading:
- link: /tracing/
tag: Documentación
- text: Más información sobre las funciones de APM
+ text: Aprende más sobre las características de APM
- link: /tracing/metrics/runtime_metrics/
tag: Documentación
- text: Activar métricas de tiempo de ejecución
+ text: Habilita métricas de tiempo de ejecución
- link: /tracing/guide/#enabling-tracing-tutorials
tag: Guías
- text: Tutoriales sobre distintas formas de activar el rastreo
+ text: Tutoriales sobre diversas formas de habilitar el seguimiento
- link: https://learn.datadoghq.com/courses/intro-to-apm
- tag: Centro de aprendizaje
- text: Introducción a Application Performance Monitoring
+ tag: Centro de Aprendizaje
+ text: Introducción a la Monitoreo de Rendimiento de Aplicaciones
- link: https://dtdg.co/fe
- tag: Establecer las bases
- text: Participa en una sesión interactiva para mejorar tu comprensión de APM
-title: Empezando con el rastreo de APM
+ tag: Habilitación de Fundamentos
+ text: Únete a una sesión interactiva para mejorar tu comprensión de APM
+title: Introducción al Trazado de APM
---
+## Resumen {#overview}
-## Información general
+El Monitoreo de Rendimiento de Aplicaciones (APM) de Datadog proporciona una profunda visibilidad en tus aplicaciones, permitiéndote identificar cuellos de botella en el rendimiento, solucionar problemas y optimizar tus servicios.
-Datadog Application Performance Monitoring (APM) proporciona una amplia visibilidad de tus aplicaciones, lo que te permite identificar cuellos de botella en el rendimiento, solucionar problemas y optimizar tus servicios.
-
-Esta guía muestra cómo empezar a utilizar APM y enviar tu primer traza (trace) a Datadog:
+Esta guía demuestra cómo comenzar con APM y enviar tu primera traza a Datadog:
1. Configura Datadog APM para enviar trazas a Datadog.
1. Ejecuta tu aplicación para generar datos.
1. Explora los datos recopilados en Datadog.
-## Requisitos previos
+## Requisitos previos {#prerequisites}
Para completar esta guía, necesitas lo siguiente:
-1. [Crea una cuenta de Datadog ][1] si aún no lo has hecho.
-1. Busca o crea una [clave de Datadog API][2].
+1. [Crea una cuenta de Datadog][1] si aún no lo has hecho.
+1. Encuentra o crea una [clave de API de Datadog][2].
1. Inicia un host o VM de Linux.
-## Crear una aplicación
+## Crea una aplicación {#create-an-application}
Para crear una aplicación para observar en Datadog:
1. En tu host o VM de Linux, crea una nueva aplicación de Python llamada `hello.py`. Por ejemplo, `nano hello.py`.
-1. Añade el siguiente código a `hello.py`:
+1. Agrega el siguiente código a `hello.py`:
{{< code-block lang="python" filename="hello.py" collapsible="true" disable_copy="false" >}}
from flask import Flask
import random
app = Flask(__name__)
-
+
quotes = [
"Strive not to be a success, but rather to be of value. - Albert Einstein",
"Believe you can and you're halfway there. - Theodore Roosevelt",
"The future belongs to those who believe in the beauty of their dreams. - Eleanor Roosevelt"
]
-
+
@app.route('/')
def index():
quote = random.choice(quotes)+"\n"
return quote
-
+
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5050)
{{< /code-block >}}
-## Configurar Datadog APM
+## Configura Datadog APM {#set-up-datadog-apm}
-Para configurar Datadog APM sin necesidad de modificar el código o el proceso de despliegue de tu aplicación, utiliza la instrumentación APM de un solo paso. También puedes configurar APM utilizando [bibliotecas de rastreo de Datadog][8].
+Para configurar Datadog APM sin necesidad de modificar el código de tu aplicación o el proceso de implementación, utiliza la instrumentación APM de un solo paso, o alternativamente, puedes configurar APM utilizando las bibliotecas de [trazado de Datadog][8].
1. Ejecuta el comando de instalación:
```shell
- DD_API_KEY= DD_SITE="" DD_APM_INSTRUMENTATION_ENABLED=host DD_APM_INSTRUMENTATION_LIBRARIES=python:3 DD_ENV= bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
+ DD_API_KEY= DD_SITE="" DD_APM_INSTRUMENTATION_ENABLED=host DD_APM_INSTRUMENTATION_LIBRARIES=python:4 DD_ENV= bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
```
+
+ Replace `` with your [Datadog API key][2], `` with your [Datadog site][7], and `` with the environment your Agent is installed on (for example, `development`).
- Sustituye `` por tu [clave de API de Datadog][2], `` por tu [sitio de Datadog][7] y `` por el entorno en el que está instalado tu Agent (por ejemplo, `development`).
-
-1. Reinicia tus servicios en tu host o VM.
-1. Comprueba que Agent esté en funcionamiento:
+1. Reinicia los servicios en tu host o VM.
+1. Verifica que el agente esté en ejecución:
```shell
sudo datadog-agent status
```
-Este enfoque instala automáticamente el Datadog Agent, habilita Datadog APM e [instrumenta][5] tu aplicación en el tiempo de ejecución.
+Este enfoque instala automáticamente el Agente de Datadog, habilita Datadog APM y [instrumenta][5] tu aplicación en tiempo de ejecución.
-## Ejecutar la aplicación
+## Ejecuta la aplicación {#run-the-application}
-Cuando configures Datadog APM con la instrumentación de un solo paso, Datadog instrumentará automáticamente tu aplicación en el tiempo de ejecución.
+Cuando configuras Datadog APM con Instrumentación de Un Solo Paso, Datadog instrumenta automáticamente tu aplicación en tiempo de ejecución.
Para ejecutar `hello.py`:
@@ -100,7 +101,7 @@ Para ejecutar `hello.py`:
python3 -m venv ./venv
```
-1. Activa la página de entorno virtual `venv`:
+1. Activa el `venv` entorno virtual:
```shell
source ./venv/bin/activate
@@ -113,14 +114,14 @@ Para ejecutar `hello.py`:
pip install flask
```
-1. Establece el nombre de servicio y ejecuta `hello.py`:
+1. Establece el nombre del servicio y ejecuta `hello.py`:
```shell
export DD_SERVICE=hello
python3 hello.py
```
-## Probar la aplicación
+## Prueba la aplicación {#test-the-application}
Prueba la aplicación para enviar trazas a Datadog:
@@ -134,38 +135,38 @@ Prueba la aplicación para enviar trazas a Datadog:
Believe you can and you're halfway there. - Theodore Roosevelt
```
-Cada vez que se ejecuta el comando `curl`, se envía una nueva traza a Datadog.
+Cada vez que ejecutes el comando `curl`, se envía una nueva traza a Datadog.
-## Explorar trazas en Datadog
+## Explora trazas en Datadog {#explore-traces-in-datadog}
-1. En Datadog, ve a [**APM** > **Services**][3] (APM > Servicios). Deberías ver un servicio de Python llamado `hello`:
+1. En Datadog, ve a [**APM** > **Servicios**][3]. Deberías ver un servicio de Python llamado `hello`:
- {{< img src="/getting_started/apm/service-catalog.png" alt="El Catálogo de software muestra el nuevo servicio Python." style="width:100%;" >}}
+ {{< img src="/getting_started/apm/service-catalog.png" alt="El Catálogo de Software muestra el nuevo servicio de Python." style="width:100%;" >}}
-1. Selecciona el servicio para ver tus métricas de rendimiento, como la latencia, el rendimiento y las tasas de error.
-1. Ve a [**APM** > **Traces**][4] (APM >Trazas). Deberías ver una traza para el servicio `hello`:
+1. Selecciona el servicio para ver sus métricas de rendimiento, como latencia, rendimiento y tasas de error.
+1. Ve a [**APM** > **Trazas**][4]. Deberías ver una traza para el servicio `hello`:
- {{< img src="/getting_started/apm/trace-explorer.png" alt="El Trace Explorer muestra la traza del servicio hello." style="width:100%;" >}}
+ {{< img src="/getting_started/apm/trace-explorer.png" alt="El explorador de trazas muestra la traza para el servicio hello." style="width:100%;" >}}
-1. Selecciona una traza para ver sus detalles, incluida la gráfica de llamas, que ayuda a identificar los cuellos de botella en el rendimiento.
+1. Selecciona una traza para ver sus detalles, incluyendo el gráfico de llamas, que ayuda a identificar cuellos de botella en el rendimiento.
-## Configuración avanzada de APM
+## Configuración avanzada de APM {#advanced-apm-setup}
-Hasta este punto, Datadog ha instrumentado automáticamente la aplicación `hello.py` mediante la instrumentación de un solo paso. Este enfoque es recomendado si deseas capturar trazas esenciales a través de librerías y lenguajes comunes sin tocar código o instalar manualmente bibliotecas.
+Hasta este punto, permitiste que Datadog instrumentara automáticamente la `hello.py` aplicación utilizando Instrumentación de Paso Único. Este enfoque se recomienda si deseas capturar trazas esenciales a través de bibliotecas y lenguajes comunes sin modificar el código o instalar bibliotecas manualmente.
-Sin embargo, si necesitas recopilar trazas desde código personalizado o requieres un control más preciso, puedes añadir [Instrumentación personalizada][6].
+Sin embargo, si necesitas recopilar trazas de código personalizado o requieres un control más detallado, puedes agregar [instrumentación personalizada][6].
-Para ilustrar esto, importarás la librería de rastreo de Datadog Python en `hello.py` y crearás un tramo (span) y una etiqueta (tag) de tramo personalizados.
+Para ilustrar esto, importarás el SDK de Python de Datadog en `hello.py` y crearás un tramo personalizado y una etiqueta de tramo.
-Para añadir instrumentación personalizada:
+Para agregar instrumentación personalizada:
-1. Instala la librería de rastreo de Datadog:
+1. Instala el SDK de Datadog:
```shell
pip install ddtrace
```
-1. Añade las líneas resaltadas al código en `hello.py` para crear una etiqueta de tramo personalizada `get_quote` y una etiqueta de tramo personalizada `quote`:
+1. Agrega las líneas resaltadas al código en `hello.py` para crear una etiqueta de tramo personalizada `get_quote` y una etiqueta de tramo personalizada `quote`:
{{< highlight python "hl_lines=3 15 17" >}}
from flask import Flask
@@ -191,24 +192,35 @@ Para añadir instrumentación personalizada:
app.run(host='0.0.0.0', port=5050)
{{< /highlight >}}
-1. Ejecuta `hello.py` en el entorno virtual anterior:
+1. Ejecuta `hello.py` en el entorno virtual de antes:
```shell
ddtrace-run python hello.py
```
-1. Ejecuta algunos comandos de `curl` en una línea de comandos independiente:
+1. Ejecuta algunos comandos de `curl` en un símbolo del sistema separado:
```shell
curl http://0.0.0.0:5050/
```
-1. En Datadog, ve a [**APM** > **Traces* (APM > Trazas)][4].
+1. En Datadog, ve a [**APM** > **Trazas**][4].
1. Selecciona la traza **hello**.
-1. Busca el nuevo tramo `get_quote` personalizado en la gráfica de llamas y pasa el ratón sobre él:
+1. Encuentra el nuevo tramo `get_quote` personalizado en el gráfico de llamas y pasa el cursor sobre él:
+
+ {{< img src="/getting_started/apm/custom-instrumentation.png" alt="El tramo personalizado get_quote se muestra en el gráfico de llamas. Al pasar el cursor, se muestra la etiqueta de tramo de la cita. " style="width:100%;" >}}
+
+1. Observa que la etiqueta de tramo personalizada `quote` se muestra en la pestaña **Info**.
+
+## ¿Qué sigue? {#whats-next}
+
+Después de configurar el seguimiento y tu aplicación esté enviando datos a Datadog, explora características adicionales de APM:
+
+### Catálogo de Software {#software-catalog}
- {{< img src="/getting_started/apm/custom-instrumentation.png" alt="El tramo personalizado get_quote muestra la gráfica de llamas. Si pasas el ratón sobre él, se muestra la etiqueta de tramo quote. " style="width:100%;" >}}
+[Software Catalog][9] proporciona una vista consolidada de sus servicios, combinando metadatos de propiedad, información de rendimiento, análisis de seguridad y asignación de costos en un solo lugar. Configure los metadatos del servicio [service metadata][10] utilizando etiquetas, anotaciones o un archivo `service.datadog.yaml` para enriquecer su servicio con información de propiedad, runbooks y enlaces de documentación.
-1. Observa que la etiqueta de tramo personalizada `quote` aparece en la pestaña **Info** (Información).
+### Rastreo de ingestión y retención {#trace-ingestion-and-retention}
+Controle los costos y gestione el volumen de datos configurando [controles de ingestión][11] y [filtros de retención][12]. Los controles de ingestión le permiten personalizar las tasas de muestreo a nivel del Datadog Agent o SDK, mientras que los filtros de retención determinan qué tramos se indexan para búsqueda y análisis.
-## Referencias adicionales
+## Lectura adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
@@ -220,3 +232,7 @@ Para añadir instrumentación personalizada:
[6]: /es/tracing/trace_collection/custom_instrumentation/
[7]: /es/getting_started/site/
[8]: /es/tracing/trace_collection/automatic_instrumentation/dd_libraries/
+[9]: /es/internal_developer_portal/software_catalog/
+[10]: /es/internal_developer_portal/software_catalog/entity_model/
+[11]: /es/tracing/trace_pipeline/ingestion_controls/
+[12]: /es/tracing/trace_pipeline/trace_retention/
\ No newline at end of file
diff --git a/content/es/incident_response/status_pages/_index.md b/content/es/incident_response/status_pages/_index.md
new file mode 100644
index 00000000000..bbccc49688b
--- /dev/null
+++ b/content/es/incident_response/status_pages/_index.md
@@ -0,0 +1,226 @@
+---
+aliases:
+- /es/service_management/status_pages/
+further_reading:
+- link: https://www.datadoghq.com/blog/status-pages
+ tag: Blog
+ text: Mantenga informados a los interesados con las Páginas de Estado de Datadog
+- link: /incident_response/incident_management/
+ tag: Documentación
+ text: Aprenda más sobre Incident Management
+- link: /incident_response/on-call/
+ tag: Documentación
+ text: Aprenda más sobre On-Call Scheduling
+- link: /incident_response/incident_management/integrations/status_pages
+ tag: Documentación
+ text: Integre las Páginas de Estado de Datadog con Incident Management
+title: Páginas de Estado
+---
+## Descripción general {#overview}
+
+{{< img src="service_management/status_pages/shopist_status_page2.png" alt="Ejemplo de página de estado que muestra los componentes del servicio con su estado actual y actualizaciones recientes de incidentes" style="width:100%;" >}}
+
+Las Páginas de Estado son parte de la suite de Incident Response de Datadog, junto con On-Call e Incident Management. Permite a su equipo comunicar proactivamente **la disponibilidad del servicio**, **los incidentes** y **el mantenimiento programado** a los clientes o interesados internos a través de una página web compartible.
+
+Utilice las Páginas de Estado para:
+
+* Compartir la disponibilidad de sistemas y características críticas
+* Comunicar interrupciones del servicio de manera clara durante los incidentes
+* Anunciar el mantenimiento programado y el tiempo de inactividad planificado con anticipación
+* Reducir el volumen de soporte entrante con notificaciones por correo electrónico proactivas
+
+## Configurar permisos {#configure-permissions}
+
+Hay tres permisos RBAC que son relevantes para las Páginas de Estado. Los usuarios con el rol Datadog Admin tienen todos los permisos necesarios.
+
+Para crear, actualizar o publicar Páginas de Estado, debe tener `status_pages_settings_read`, `status_pages_settings_write` y `status_pages_incident_write` permisos RBAC. Para más información, consulte [Access Control][1].
+
+
+
+
+ | Nombre |
+ Descripción |
+ Rol Predeterminado |
+
+
+
+
+ Configuración de Páginas de Estado de Lectura
status_pages_settings_read |
+ Vea la lista de Páginas de Estado, la configuración de cada Página de Estado, sus Avisos y las Páginas de Estado Internas lanzadas. |
+ Rol Datadog Read Only |
+
+
+ Configuración de Páginas de Estado de Escritura
status_pages_settings_write |
+ Cree y lance nuevas Páginas de Estado, y configure los ajustes de las Páginas de Estado. |
+ Rol Datadog Admin |
+
+
+ Escritura de Avisos de Páginas de Estado
status_pages_incident_write |
+ Publique y actualice Incidentes. |
+ Rol de Administrador de Datadog |
+
+
+
+
+## Cree una página de estado {#create-a-status-page}
+
+1. En Datadog, navegue a [**Páginas de Estado**][2].
+1. Haga clic en **Crear Página de Estado** y siga el flujo de incorporación:
+
+ | Campo | Descripción |
+ | ----------------- | ----------- |
+ | **Tipo de Página de Estado** | Elija quién puede acceder a la página:
- **Público** - Cualquiera con el enlace puede ver
- **Interno** - Solo los usuarios autenticados dentro de su organización de Datadog pueden ver |
+ | **Nombre de la página** | Se muestra como el encabezado de la página (si no se carga un logo).
*Ejemplo: Plataforma en la Nube Acme* |
+ | **Prefijo de Dominio** | Se utiliza como el prefijo de subdominio de su página de estado. Para más información sobre dominios personalizados, consulte la sección [Establecer un dominio personalizado](#set-a-custom-domain).
*Ejemplo: shopist → shopist.statuspage.datadoghq.com*
- Debe ser **globalmente único**
- Minúsculas, alfanumérico y con guiones
- Puede afectar los enlaces si se cambia más tarde |
+ | **Suscripciones** *(opcional)* | Permita a los usuarios recibir notificaciones por correo electrónico sobre actualizaciones de la página de estado. Cuando las suscripciones están habilitadas, los usuarios pueden registrarse para recibir notificaciones sobre nuevos avisos y actualizaciones. Puede activar o desactivar las suscripciones para cada página de estado. **Nota**: [Las suscripciones por correo electrónico](#email-subscriptions) son de doble confirmación, el correo debe ser confirmado. |
+ | **Logo de la empresa, Favicon o Imagen de Encabezado de Correo** *(opcional)* | Suba un logo, favicon o imagen para personalizar la apariencia de su página de estado y las notificaciones por correo electrónico. |
+1. (Opcional) [Agregue componentes](#add-components) para mostrar el estado de servicios individuales.
+1. Haga clic en **Guardar Configuraciones**.
+
+
+## Agregue componentes {#add-components}
+
+{{< img src="/service_management/status_pages/status_page_components.png" alt="Configuración de componentes de la página de estado con panel de vista previa en vivo" style="width:100%;" >}}
+
+Los componentes son los bloques de construcción de su página de estado. Cada uno representa un servicio o característica que a sus usuarios les importa. Algunos ejemplos de componentes incluyen:
+- API Gateway
+- Panel Web
+- Clúster de Base de Datos
+- Servicios de Región de EE. UU.
+
+Puede agregar componentes a su página de estado ya sea en la configuración inicial o a través de la configuración de la página de estado:
+
+1. Desde su página de estado, haga clic en **Configuración** y seleccione la pestaña **Componentes**.
+1. Cree componentes individuales o un grupo de componentes relacionados. Puede asociar [avisos](#add-a-notice) con estos componentes para reflejar el impacto en su página de estado.
+1. Seleccione un tipo de visualización:
+ 1. Barras y Porcentaje de tiempo de actividad
+ 1. Solo barras
+ 1. Solo nombre del componente
+
+### Jerarquía de componentes {#component-hierarchy}
+
+Si múltiples avisos afectan el mismo componente, el aviso con el mayor impacto tiene prioridad:
+Falla mayor > Falla parcial > Rendimiento degradado > Mantenimiento > Operativo
+
+## Publique su página de estado {#publish-your-status-page}
+
+Después de guardar la configuración de su página de estado, haga clic en **Lanzar página de estado** para hacer que la página esté disponible en su URL.
+
+Si seleccionó:
+- **Público**, la página es inmediatamente accesible para todos los visitantes.
+- **Interno**, el acceso está limitado a usuarios autenticados de Datadog en su organización.
+
+## Agregue un aviso {#add-a-notice}
+
+Los avisos son mensajes publicados en una página de estado para comunicar el estado del sistema. Las Páginas de Estado soportan dos tipos de avisos: **degradaciones** para impactos de servicio no planificados y **ventanas de mantenimiento** para tiempos de inactividad planificados.
+
+{{< img src="service_management/status_pages/select_notice_type_status_page.png" alt="Selector de tipo de aviso de página de estado con opciones de degradación y mantenimiento programado" style="width:60%;" >}}
+
+### Publique una degradación {#publish-a-degradation}
+
+{{< img src="service_management/status_pages/shopist_status_page_degradations.png" alt="Ejemplo de página de estado que muestra componentes de servicio que experimentan degradación" style="width:100%;" >}}
+
+Los avisos de degradación comunican **impacto de servicio no planificado**, como incidentes o interrupciones del servicio. Utilice avisos de degradación para mantener informados a los usuarios mientras se investiga, mitiga y resuelve un problema.
+
+Desde una página de estado, haga clic en **Publicar aviso** y seleccione **Degradación**, luego proporcione:
+
+| Campo | Descripción |
+| ---- | ---- |
+| **Título del aviso** | Descripción corta y clara del problema
*Ejemplo: Aumento de tasas de error en la región de EE. UU.* |
+| **Estado** | Estado actual del problema:
- Investigando
- Identificado
- Monitoreando
- Resuelto |
+| **Mensaje** | Detalles adicionales para sus usuarios
*Ejemplo: Somos conscientes del problema y estamos trabajando activamente en una solución.* |
+| **Componentes afectados** | Uno o más componentes afectados por la degradación |
+| **Impacto** | Nivel de impacto por componente:
- Operativo
- Rendimiento degradado
- Interrupción parcial
- Interrupción mayor |
+| **Notificar a los suscriptores** | Alternar para enviar actualizaciones a los usuarios suscritos |
+
+{{< img src="service_management/status_pages/publish_status_page_degradation.png" alt="Ejemplo de ventana modal de aviso de publicación para degradaciones" style="width:60%;" >}}
+
+Después de que se revisa y publica un aviso de degradación, este:
+- Aparece en la **Lista de Páginas de Estado** bajo Avisos Activos.
+- Actualiza las barras de tiempo de actividad para los componentes afectados.
+- Es visible en la línea de tiempo del historial de avisos.
+
+Puede publicar actualizaciones con el tiempo y marcar el aviso como **Resuelto** cuando el problema esté completamente mitigado.
+
+### Registre retroactivamente una degradación {#backfill-a-degradation}
+
+Las degradaciones registradas retroactivamente permiten documentar interrupciones del servicio que no fueron anunciadas previamente. Cada actualización puede asignarse su marca de tiempo original, de modo que la línea de tiempo del incidente aparezca con precisión en su historial de tiempo de actividad.
+
+Desde una página de estado, seleccione el menú desplegable junto a **Publicar Aviso**, seleccione **Publicar Aviso Retroactivo** > **Degradación**, luego proporcione:
+
+| Campo | Descripción |
+| ---- | ---- |
+| **Título del aviso** | Descripción corta y clara del incidente
*Ejemplo: Aumento de tasas de error en la región de EE. UU.* |
+| **Actualizaciones** | Exactamente dos actualizaciones con marca de tiempo que representan el inicio y el final de la degradación. Cada actualización requiere una marca de tiempo de inicio, estado (Investigando o Resuelto), descripción y componentes afectados. |
+
+{{< img src="service_management/status_pages/publish_status_page_backfill_degradation.png" alt="Ejemplo de ventana modal para publicar un aviso retroactivo de degradación" style="width:60%;" >}}
+
+### Programar una ventana de mantenimiento {#schedule-a-maintenance-window}
+
+{{< img src="service_management/status_pages/shopist_maintenance_example.png" alt="Página de estado de ejemplo que muestra los componentes del servicio en mantenimiento" style="width:100%;" >}}
+
+Las ventanas de mantenimiento le permiten comunicar proactivamente el tiempo de inactividad planificado o el impacto del servicio antes de que ocurra. A diferencia de las degradaciones que se utilizan para incidentes no planificados, las ventanas de mantenimiento se programan con anticipación para actualizaciones de infraestructura, mantenimiento del sistema, migraciones de bases de datos y otros trabajos planificados. Esto le permite mantener informados a los clientes y reducir el volumen de soporte.
+
+Desde la página de estado, haga clic en **Programar Mantenimiento**, o haga clic en **Publicar Aviso** y seleccione **Mantenimiento Programado**. Luego, proporcione los siguientes detalles:
+
+| Campo | Descripción |
+| ---- | ---- |
+| **Título del aviso** | Descripción clara de la actividad de mantenimiento
*Ejemplo: Actualización de infraestructura de base de datos* |
+| **Ventana de mantenimiento** | Hora de inicio y fin programada para el mantenimiento |
+| **Mensajes** | Mensajes que se publican automáticamente a medida que avanza el mantenimiento |
+| **Componentes afectados** | Componentes afectados durante la ventana de mantenimiento |
+| **Notificar a los suscriptores** | Alternar para enviar notificación anticipada a los suscriptores |
+
+{{< img src="service_management/status_pages/publish_status_page_maintenance.png" alt="Modal de aviso de publicación de ejemplo para ventanas de mantenimiento" style="width:60%;" >}}
+
+Después de revisar y programar, la ventana de mantenimiento:
+- Aparece bajo **Próximo Mantenimiento** en la página de estado
+- Actualiza automáticamente el estado del componente a **Mantenimiento** cuando comienza la ventana
+- Devuelve los componentes a **Operativo** cuando termina la ventana (a menos que se anule manualmente)
+
+Puede publicar actualizaciones si los planes cambian o reprogramar la ventana de mantenimiento según sea necesario.
+
+### Rellenar una ventana de mantenimiento {#backfill-a-maintenance-window}
+
+Las ventanas de mantenimiento retroactivas permiten documentar retroactivamente el tiempo de inactividad planificado que no se anunció previamente. Cada actualización puede asignarse su marca de tiempo original, por lo que la línea de tiempo de mantenimiento aparece con precisión en su historial de tiempo de actividad.
+
+Desde una página de estado, seleccione el menú desplegable junto a **Publicar Aviso**, seleccione **Publicar Aviso Retroactivo** > **Mantenimiento Programado**, luego proporcione:
+
+| Campo | Descripción |
+| ---- | ---- |
+| **Título del aviso** | Descripción clara de la actividad de mantenimiento
*Ejemplo: Actualización de infraestructura de base de datos* |
+| **Actualizaciones** | Exactamente dos actualizaciones con marca de tiempo que representan el inicio y el fin de la ventana de mantenimiento. Cada actualización requiere una marca de tiempo de inicio, estado (En Progreso o Completado), descripción y componentes afectados. |
+
+{{< img src="service_management/status_pages/publish_status_page_backfill_maintenance.png" alt="Ejemplo de modal de aviso retroactivo publicado para ventanas de mantenimiento" style="width:60%;" >}}
+
+## Suscripciones por correo electrónico {#email-subscriptions}
+
+Las suscripciones por correo electrónico en las páginas de estado son **double opt-in**. Después de ingresar un correo electrónico para suscribirse, los usuarios reciben un correo electrónico de confirmación y deben hacer clic en el enlace de confirmación para activar su suscripción. Durante este proceso, los usuarios pueden elegir recibir notificaciones para toda la página de estado o seleccionar componentes específicos que desean monitorear. Se puede configurar una zona horaria preferida para el formato de marca de tiempo dentro de las notificaciones. Los usuarios pueden gestionar sus preferencias y actualizar sus suscripciones en cualquier momento a través del enlace de gestión de suscripciones incluido en los correos electrónicos de notificación.
+
+Para **páginas de estado** internas, el proceso de suscripción es el mismo, pero los usuarios deben iniciar sesión en la misma organización de Datadog para confirmar su suscripción y recibir notificaciones.
+
+{{< img src="/service_management/status_pages/status_pages_subscription_1.png" alt="Captura de pantalla del modal de suscripción de la Página de Estado con campos completados" style="width:70%;" >}}
+
+## Configurar un dominio personalizado {#set-a-custom-domain}
+
+Para coincidir con su marca, tiene la opción de mapear su página de estado a un dominio personalizado como `status.acme.com`.
+
+1. Desde su página de estado, haga clic en **Configuración**.
+1. Seleccione **Dominio Personalizado**.
+1. Siga las instrucciones para ingresar su dominio y agregar registros DNS.
+1. Datadog detecta automáticamente la configuración de DNS y provisiona un certificado SSL.
+
+Los dominios personalizados requieren acceso a su proveedor de DNS para agregar un registro CNAME o A.
+
+**Nota**:
+
+- La propagación de DNS puede tardar varios minutos.
+- Puede revertir al dominio predeterminado de Datadog en cualquier momento.
+- Asegúrese de que los cambios de DNS sean realizados por alguien con acceso a su registrador de dominios.
+
+## Lectura adicional {#further-reading}
+
+{{< partial name="whats-next/whats-next.html" >}}
+
+[1]: /es/account_management/rbac/
+[2]: https://app.datadoghq.com/status-pages
\ No newline at end of file
diff --git a/content/es/llm_observability/instrumentation/otel_instrumentation.md b/content/es/llm_observability/instrumentation/otel_instrumentation.md
new file mode 100644
index 00000000000..c9d516fe1af
--- /dev/null
+++ b/content/es/llm_observability/instrumentation/otel_instrumentation.md
@@ -0,0 +1,570 @@
+---
+description: Instrumenta aplicaciones LLM con OpenTelemetry utilizando convenciones
+ semánticas de GenAI y envía trazas a Datadog LLM Observability sin el SDK de Datadog.
+title: Instrumentación de OpenTelemetry
+---
+## Descripción general {#overview}
+Al utilizar las convenciones semánticas estandarizadas de OpenTelemetry para operaciones de inteligencia artificial generativa, puedes instrumentar tus aplicaciones LLM con cualquier biblioteca o marco compatible con OpenTelemetry y visualizar las trazas en LLM Observability.
+
+LLM Observability admite la ingestión de trazas de OpenTelemetry que siguen las [convenciones semánticas de OpenTelemetry 1.37+ para inteligencia artificial generativa][1]. Esto te permite enviar trazas LLM directamente desde aplicaciones instrumentadas con OpenTelemetry a Datadog sin requerir el SDK de Datadog LLM Observability o un Agente de Datadog.
+
+## Requisitos previos {#prerequisites}
+
+- Una [clave de API de Datadog][2]
+- Una aplicación instrumentada con OpenTelemetry que emite trazas siguiendo las [convenciones semánticas de OpenTelemetry 1.37+ para inteligencia artificial generativa][1]
+
+Para enviar evaluaciones externas directamente a la API para spans de OpenTelemetry, debes incluir el source:otel etiqueta en la evaluación. Al referenciar spans, proporciona span_id y trace_id como cadenas decimales. OpenTelemetry utiliza IDs hexadecimales de forma nativa, así que conviértelos a decimal antes de enviar evaluaciones. Por ejemplo, utiliza el int(hex_span_id, 16) de Python para convertir un ID de span hexadecimal a su equivalente decimal.
+
+Para información sobre el uso de Seguimiento de Prompts con spans de OpenTelemetry, consulta Seguimiento de Prompts - Instrumentación de OpenTelemetry.
+
+También puedes usar spans de OpenTelemetry dentro de Experimentos de LLM Observability. Al establecer DD_TRACE_OTEL_ENABLED=1, OTel spans creados dentro de una tarea de experimento aparecen automáticamente como hijos del span del experimento.
+
+## Configuración {#setup}
+
+Para enviar trazas de OpenTelemetry a LLM Observability, configura tu exportador de OpenTelemetry con los siguientes ajustes:
+
+### Configuración {#configuration}
+
+Establece las siguientes variables de entorno en tu aplicación:
+
+```
+OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf
+OTEL_EXPORTER_OTLP_TRACES_ENDPOINT={{< region-param key="otlp_trace_endpoint" code="true" >}}
+OTEL_EXPORTER_OTLP_TRACES_HEADERS=dd-api-key=,dd-otlp-source=llmobs
+```
+
+Reemplaza `` con tu [clave API de Datadog][2].
+
+Si tu marco de trabajo anteriormente soportaba una versión de especificación de OpenTelemetry anterior a la 1.37, también necesitas establecer:
+
+```
+OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental
+```
+
+Esta variable de entorno habilita trazas de OpenTelemetry compatibles con la versión 1.37+ para marcos que ahora soportan las convenciones semánticas de la versión 1.37+, pero que anteriormente soportaban versiones más antiguas (como [strands-agents][5]).
+
+**Nota**:
+* Si estás utilizando una biblioteca de OpenTelemetry diferente al SDK de OpenTelemetry por defecto, es posible que necesites configurar el endpoint, el protocolo y los encabezados de manera diferente dependiendo de la API de la biblioteca. Consulta la documentación de tu biblioteca para el método de configuración apropiado.
+* Al utilizar instrumentación de OpenTelemetry, algunos datos enviados a LLM Observability también pueden ser escritos en las trazas APM correspondientes. Si estás protegiendo datos sensibles, considera también configurar un Conjunto de Datos Restringido en APM para que coincida con tus controles de acceso de LLM Observability. Consulta [Control de Acceso a Datos][8] para más información.
+
+#### Usando strands-agents {#using-strands-agents}
+
+Si estás utilizando la [`strands-agents` biblioteca][5], necesitas establecer una variable de entorno adicional para habilitar trazas que sean compatibles con OpenTelemetry v1.37+:
+
+```
+OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental
+```
+
+Esta variable de entorno asegura que `strands-agents` emita trazas siguiendo las convenciones semánticas de OpenTelemetry v1.37+ para IA generativa, que son requeridas por LLM Observability.
+
+### Instrumentación {#instrumentation}
+
+Para generar trazas compatibles con LLM Observability, haz una de las siguientes opciones:
+
+- Usa una biblioteca de OpenTelemetry o un paquete de instrumentación que emita spans siguiendo las [convenciones semánticas de OpenTelemetry 1.37+ para IA generativa][1].
+- Cree instrumentación personalizada de OpenTelemetry que produzca spans con los atributos requeridos `gen_ai.*`, según lo definido en las convenciones semánticas.
+
+Después de que tu aplicación comience a enviar datos, las trazas aparecerán automáticamente en la página [**Trazas de Observabilidad LLM**][3]. Para buscar tus trazas en la interfaz de usuario, utiliza el atributo `ml_app`, que se establece automáticamente en el valor del atributo `service` de tu span raíz de OpenTelemetry.
+
+
+
+ OpenLLMetry versión 0.47+ es compatible. Vea el ejemplo de OpenLLMetry.
+ OpenInference no es compatible.
+ Puede haber un retraso de 3 a 5 minutos entre el envío de trazas y su aparición en la página de Trazas de Observabilidad LLM. Si tienes APM habilitado, las trazas aparecen inmediatamente en la página de Trazas APM.
+
+
+
+## Frameworks y bibliotecas probados {#tested-frameworks-and-libraries}
+
+Estos frameworks y bibliotecas han sido probados con la Observabilidad LLM de Datadog. Cualquier framework que emita spans compatibles con la [convención semántica GenAI de OpenTelemetry 1.37+][1] es compatible.
+
+{{< tabs >}}
+{{% tab "Python" %}}
+| Framework | Instrumentación | Versiones Soportadas |
+|-----------|----------------|--------------------|
+| [OpenAI][20] | [`opentelemetry-instrumentation-openai-v2`][21] | >= 1.26.0 |
+| [Anthropic][22] | [`opentelemetry-instrumentation-anthropic`][23] | >= 0.51.0 |
+| [Google GenAI][24] | [`opentelemetry-instrumentation-google-genai`][25] | >= 1.32.0 |
+| [Google Vertex AI][26] | [`opentelemetry-instrumentation-vertexai`][27] | >= 1.64.0 |
+| [AWS Bedrock][28] | [`opentelemetry-instrumentation-botocore`][29] | >= 1.31.57 |
+| [LangChain][30] | [`opentelemetry-instrumentation-langchain`][31] | >= 0.3.21 |
+| [LlamaIndex][32] | [`opentelemetry-instrumentation-llamaindex`][33] | >= 0.14.12 |
+| [Strands Agents][5] | Nativo | >= 1.11.0 |
+| [OpenLLMetry][34] | [`traceloop-sdk`][35] | >= 0.47.0 |
+
+[5]: https://pypi.org/project/strands-agents/
+[20]: https://platform.openai.com/docs/api-reference/introduction
+[21]: https://pypi.org/project/opentelemetry-instrumentation-openai-v2/
+[22]: https://docs.anthropic.com/en/api/
+[23]: https://pypi.org/project/opentelemetry-instrumentation-anthropic/
+[24]: https://ai.google.dev/gemini-api/docs
+[25]: https://pypi.org/project/opentelemetry-instrumentation-google-genai/
+[26]: https://cloud.google.com/vertex-ai/generative-ai/docs/overview
+[27]: https://pypi.org/project/opentelemetry-instrumentation-vertexai/
+[28]: https://docs.aws.amazon.com/bedrock/latest/userguide/
+[29]: https://pypi.org/project/opentelemetry-instrumentation-botocore/
+[30]: https://python.langchain.com/docs/introduction/
+[31]: https://pypi.org/project/opentelemetry-instrumentation-langchain/
+[32]: https://docs.llamaindex.ai/
+[33]: https://pypi.org/project/opentelemetry-instrumentation-llamaindex/
+[34]: https://www.traceloop.com/openllmetry
+[35]: https://pypi.org/project/traceloop-sdk/
+{{% /tab %}}
+{{% tab "Node.js" %}}
+| Framework | Instrumentación | Versiones Soportadas |
+|-----------|----------------|--------------------|
+| [OpenAI][40] | [`@opentelemetry/instrumentation-openai`][41] | >= 4.19.0 |
+
+[40]: https://platform.openai.com/docs/api-reference/introduction
+[41]: https://www.npmjs.com/package/@opentelemetry/instrumentation-openai
+{{% /tab %}}
+{{% tab "Java" %}}
+| Framework | Instrumentación | Versiones Soportadas |
+|-----------|----------------|--------------------|
+| [Spring AI][50] | Nativo (a través de [Micrometer][51]) | >= 1.0.0 |
+| [LangChain4j][52] | Nativo (módulo OpenTelemetry) | >= 0.31.0 |
+| [AWS Bedrock][53] | [OpenTelemetry Java Agent][54] | AWS SDK >= 2.2 |
+
+[50]: https://docs.spring.io/spring-ai/reference/
+[51]: https://micrometer.io/
+[52]: https://docs.langchain4j.dev/
+[53]: https://docs.aws.amazon.com/bedrock/latest/userguide/
+[54]: https://opentelemetry.io/docs/zero-code/java/agent/
+{{% /tab %}}
+{{< /tabs >}}
+
+## Ejemplos {#examples}
+
+### Usando Agentes Strands {#using-strands-agents-1}
+
+El siguiente ejemplo demuestra una aplicación completa utilizando [Strands Agents][7] con la integración de OpenTelemetry. Este mismo enfoque funciona con cualquier marco que soporte las convenciones semánticas de OpenTelemetry versión 1.37+ para inteligencia artificial generativa.
+
+```python
+from strands import Agent
+from strands_tools import calculator, current_time
+from strands.telemetry.config import StrandsTelemetry
+import os
+
+# Configure AWS credentials for Bedrock access
+os.environ["AWS_PROFILE"] = ""
+os.environ["AWS_DEFAULT_REGION"] = ""
+
+# Enable latest GenAI semantic conventions (1.37)
+os.environ["OTEL_SEMCONV_STABILITY_OPT_IN"] = "gen_ai_latest_experimental"
+
+# Configure OTLP endpoint to send traces to Datadog LLM Observability
+os.environ["OTEL_EXPORTER_OTLP_TRACES_PROTOCOL"] = "http/protobuf"
+os.environ["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] = "{{< region-param key="otlp_trace_endpoint" code="true" >}}"
+os.environ["OTEL_EXPORTER_OTLP_TRACES_HEADERS"] = f"dd-api-key={os.getenv('DD_API_KEY')},dd-otlp-source=llmobs"
+
+# Initialize telemetry with OTLP exporter
+telemetry = StrandsTelemetry()
+telemetry.setup_otlp_exporter()
+
+# Create agent with tools
+agent = Agent(tools=[calculator, current_time])
+
+# Run the agent
+if __name__ == "__main__":
+ result = agent("I was born in 1993, what is my age?")
+ print(f"Agent: {result}")
+```
+
+### Instrumentación personalizada de OpenTelemetry {#custom-opentelemetry-instrumentation}
+
+El siguiente ejemplo demuestra cómo instrumentar tu aplicación LLM utilizando código personalizado de OpenTelemetry. Este enfoque te da control completo sobre las trazas y tramos emitidos por tu aplicación.
+
+```python
+import os
+import json
+from opentelemetry import trace
+from opentelemetry.sdk.trace import TracerProvider
+from opentelemetry.sdk.trace.export import BatchSpanProcessor
+from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
+from opentelemetry.sdk.resources import Resource, SERVICE_NAME
+from openai import OpenAI
+
+# Configure OpenTelemetry to send traces to Datadog
+os.environ["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] = "{{< region-param key="otlp_trace_endpoint" code="true" >}}"
+os.environ["OTEL_EXPORTER_OTLP_TRACES_HEADERS"] = "dd-api-key=,dd-otlp-source=llmobs"
+os.environ["OTEL_SEMCONV_STABILITY_OPT_IN"] = "gen_ai_latest_experimental"
+
+# Initialize OpenTelemetry SDK
+resource = Resource(attributes={SERVICE_NAME: "simple-llm-example"})
+provider = TracerProvider(resource=resource)
+provider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))
+trace.set_tracer_provider(provider)
+
+tracer = trace.get_tracer(__name__)
+
+# Make LLM call with OpenTelemetry tracing
+with tracer.start_as_current_span(
+ "chat gpt-4o",
+ kind=trace.SpanKind.CLIENT,
+) as span:
+ model = "gpt-4o"
+ max_tokens = 1024
+ temperature = 0.7
+ messages = [{"role": "user", "content": "Explain OpenTelemetry in one sentence."}]
+
+ # Set request attributes
+ span.set_attribute("gen_ai.provider.name", "openai")
+ span.set_attribute("gen_ai.request.model", model)
+ span.set_attribute("gen_ai.operation.name", "chat")
+ span.set_attribute("gen_ai.request.max_tokens", max_tokens)
+ span.set_attribute("gen_ai.request.temperature", temperature)
+
+ # Add input messages as event
+ input_messages_parts = []
+ for msg in messages:
+ input_messages_parts.append({
+ "role": msg["role"],
+ "parts": [{"type": "text", "content": msg["content"]}]
+ })
+
+ span.add_event(
+ "gen_ai.client.inference.operation.details",
+ {
+ "gen_ai.input.messages": json.dumps(input_messages_parts)
+ }
+ )
+
+ # Make actual LLM call
+ client = OpenAI(api_key="")
+ response = client.chat.completions.create(
+ model=model,
+ max_tokens=max_tokens,
+ temperature=temperature,
+ messages=messages
+ )
+
+ # Set response attributes from actual data
+ span.set_attribute("gen_ai.response.id", response.id)
+ span.set_attribute("gen_ai.response.model", response.model)
+ span.set_attribute("gen_ai.response.finish_reasons", [response.choices[0].finish_reason])
+ span.set_attribute("gen_ai.usage.input_tokens", response.usage.prompt_tokens)
+ span.set_attribute("gen_ai.usage.output_tokens", response.usage.completion_tokens)
+
+ # Add output messages as event
+ output_text = response.choices[0].message.content
+ span.add_event(
+ "gen_ai.client.inference.operation.details",
+ {
+ "gen_ai.output.messages": json.dumps([{
+ "role": "assistant",
+ "parts": [{"type": "text", "content": output_text}],
+ "finish_reason": response.choices[0].finish_reason
+ }])
+ }
+ )
+
+ print(f"Response: {output_text}")
+
+# Flush spans before exit
+provider.force_flush()
+```
+
+Después de ejecutar este ejemplo, busca `ml_app:simple-llm-example` en la interfaz de usuario de Observabilidad LLM para encontrar la traza generada.
+
+### Usando OpenLLMetry {#using-openllmetry}
+
+El siguiente ejemplo demuestra el uso de [OpenLLMetry](https://github.com/traceloop/openllmetry) para instrumentar automáticamente las llamadas a OpenAI con OpenTelemetry.
+
+```python
+from opentelemetry import trace
+from opentelemetry.sdk.trace import TracerProvider
+from opentelemetry.sdk.trace.export import BatchSpanProcessor
+from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
+from opentelemetry.instrumentation.openai import OpenAIInstrumentor
+import openai
+from opentelemetry.sdk.resources import Resource
+
+resource = Resource.create({
+ "service.name": "simple-openllmetry-test",
+})
+
+provider = TracerProvider(resource=resource)
+trace.set_tracer_provider(provider)
+
+exporter = OTLPSpanExporter(
+ endpoint="{{< region-param key="otlp_trace_endpoint" code="true" >}}",
+ headers={
+ "dd-api-key": "",
+ "dd-ml-app": "simple-openllmetry-test",
+ "dd-otlp-source": "llmobs",
+ },
+)
+
+provider.add_span_processor(BatchSpanProcessor(exporter))
+
+OpenAIInstrumentor().instrument()
+
+# Make OpenAI call (automatically traced)
+client = openai.OpenAI(api_key="")
+client.chat.completions.create(
+ model="gpt-3.5-turbo",
+ messages=[{"role": "user", "content": "What is 15 multiplied by 7?"}]
+)
+
+provider.force_flush(timeout_millis=5000)
+```
+
+Después de ejecutar este ejemplo, busca `ml_app:simple-openllmetry-test` en la interfaz de usuario de Observabilidad LLM para encontrar la traza generada.
+
+## Referencia de mapeo de atributos {#attribute-mapping-reference}
+
+Esta sección proporciona el mapeo entre las convenciones semánticas de OpenTelemetry GenAI (v1.37+) así como OpenLLMetry al esquema de span de Observabilidad LLM de Datadog.
+
+
+
+### Mapeos de atributos de OpenTelemetry 1.37+ {#opentelemetry-137-attribute-mappings}
+
+#### Atributos base de span {#base-span-attributes}
+
+| Campo OTLP | Campo de Observabilidad LLM | Notas |
+|------------|--------------|-------|
+| `resource.attributes.service.name` | `ml_app`, `tags.service` | |
+| `name` | `name` | Anulado por `gen_ai.tool.name` si está presente |
+| `parent_span_id` | `parent_id` | |
+| `start_time_unix_nano` | `start_ns` | |
+| `end_time_unix_nano` | `duration` | Calculado: fin - inicio |
+| `status.code` | `status` | `error` si > 0, de lo contrario `ok` |
+| `status.message` | `meta.error.message` | |
+| `attributes.error.type` | `meta.error.type` | |
+
+#### Resolución del tipo de Span {#span-kind-resolution}
+
+| `gen_ai.operation.name` | Observabilidad de LLM `span.kind` |
+|-------------------------|-------------------|
+| `generate_content`, `chat`, `text_completion`, `completion` | `llm` |
+| `embeddings`, `embedding` | `embedding` |
+| `execute_tool` | `tool` |
+| `invoke_agent`, `create_agent` | `agent` |
+| `rerank`, `unknown`, *(predeterminado)* | `workflow` |
+
+#### Información del modelo {#model-information}
+
+| Atributo de OTEL | Campo de observabilidad de LLM | Notas |
+|----------------|--------------|-------|
+| `gen_ai.operation.name` | `meta.span.kind` | Ver tabla de resolución arriba |
+| `gen_ai.provider.name` | `meta.model_provider` | Recurre a `gen_ai.system`, luego a `custom` |
+| `gen_ai.response.model` | `meta.model_name` | |
+| `gen_ai.request.model` | `meta.model_name` | Recurso si `response.model` está ausente |
+
+#### Métricas de uso de tokens {#token-usage-metrics}
+
+| Atributo de OTEL | Campo de observabilidad de LLM |
+|----------------|--------------|
+| `gen_ai.usage.input_tokens` | `metrics.input_tokens` |
+| `gen_ai.usage.output_tokens` | `metrics.output_tokens` |
+| `gen_ai.usage.prompt_tokens` | `metrics.prompt_tokens` |
+| `gen_ai.usage.completion_tokens` | `metrics.completion_tokens` |
+| `gen_ai.usage.total_tokens` | `metrics.total_tokens` |
+
+#### Parámetros de solicitud {#request-parameters}
+
+Todos los `gen_ai.request.*` parámetros se mapean a `meta.metadata.*` con el prefijo eliminado.
+
+| Atributo de OTEL | Campo de observabilidad de LLM |
+|----------------|--------------|
+| `gen_ai.request.seed` | `metadata.seed` |
+| `gen_ai.request.frequency_penalty` | `metadata.frequency_penalty` |
+| `gen_ai.request.max_tokens` | `metadata.max_tokens` |
+| `gen_ai.request.stop_sequences` | `metadata.stop_sequences` |
+| `gen_ai.request.temperature` | `metadata.temperature` |
+| `gen_ai.request.top_k` | `metadata.top_k` |
+| `gen_ai.request.top_p` | `metadata.top_p` |
+| `gen_ai.request.choice.count` | `metadata.choice.count` |
+
+#### Atributos de la herramienta {#tool-attributes}
+
+| Atributo de OTel | Campo de LLM Observability | Notas |
+|----------------|--------------|-------|
+| `gen_ai.tool.name` | `name` | Sobrescribe el nombre del span |
+| `gen_ai.tool.call.id` | `metadata.tool_id` | |
+| `gen_ai.tool.description` | `metadata.tool_description` | |
+| `gen_ai.tool.type` | `metadata.tool_type` | |
+| `gen_ai.tool.definitions` | `meta.tool_definitions` | Array JSON analizado |
+| `gen_ai.tool.call.arguments` | `input.value` | |
+| `gen_ai.tool.call.result` | `output.value` | |
+
+#### Sesión y conversación {#session-and-conversation}
+
+| Atributo de OTel | Campo de LLM Observability | Notas |
+|----------------|--------------|-------|
+| `gen_ai.conversation.id` | `session_id` | También agregado a `metadata.conversation_id` y etiquetas |
+
+#### Atributos de respuesta {#response-attributes}
+
+| Atributo de OTel | Campo de LLM Observability |
+|----------------|--------------|
+| `gen_ai.response.model` | `meta.model_name` |
+| `gen_ai.response.finish_reasons` | `metadata.finish_reasons` |
+
+#### Mensajes de entrada y salida {#input-and-output-messages}
+
+Los mensajes de entrada y salida se extraen de las siguientes fuentes, en orden de prioridad:
+
+1. Atributos directos: `gen_ai.input.messages`, `gen_ai.output.messages`, `gen_ai.system_instructions`
+2. Eventos de tramo (`meta["events"]`) con nombre `gen_ai.client.inference.operation.details`
+
+| Fuente de OTel | Campo de LLM Observability | Notas |
+|-------------|--------------|-------|
+| `gen_ai.input.messages` | `meta.input.messages` (llm) / `meta.input.value` (otros) | |
+| `gen_ai.output.messages` | `meta.output.messages` (llm) / `meta.output.value` (otros) | |
+| `gen_ai.system_instructions` | Precedido por entrada | Agregado como mensajes de rol del sistema |
+
+##### Tramos de incrustación {#embedding-spans}
+
+| Fuente OTEL | Campo de Observabilidad LLM |
+|-------------|--------------|
+| `gen_ai.input.messages` | `meta.input.documents` |
+| N/A | `meta.output.value` = `[N embedding(s) returned]` |
+
+#### Etiquetas {#tags}
+
+Las etiquetas se colocan directamente en el span:
+
+- Atributos no-`gen_ai.*` se convierten en etiquetas `key:value`
+- Claves desconocidas `gen_ai.*` se añaden con el prefijo eliminado
+Filtrado: - , `_dd.*`, `llm.*`, `ddtags`, `events`, y claves `gen_ai.*` ya mapeadas específicamente
+
+Cualquiera gen_ai.* los atributos que no están explícitamente mapeados a los campos de span de LLM Observability se colocan en las etiquetas del span de LLM, con un límite de 256 caracteres por valor. Los valores que exceden este límite son truncados. Todos los demás no-gen_ai atributos son eliminados.
+
+### Mapeo de atributos de OpenLLMetry {#openllmetry-attribute-mappings}
+
+Esta sección documenta los mapeos de atributos específicos de OpenLLMetry que difieren o extienden las convenciones semánticas estándar de OpenTelemetry GenAI.
+
+#### Resolución del tipo de span {#span-kind-resolution-1}
+
+`llm.request.type` se utiliza como respaldo cuando `gen_ai.operation.name` está ausente.
+
+| `llm.request.type` | LLM Observability `span.kind` |
+|--------------------|-------------------|
+| `chat` | `llm` |
+| `completion` | `llm` |
+| `embedding` | `embedding` |
+| `rerank` | `workflow` |
+| `unknown`, *(predeterminado)* | `workflow` |
+
+#### Información del modelo {#model-information-1}
+
+| Atributo de OpenLLMetry | Campo de Observabilidad de LLM | Notas |
+|-----------------------|--------------|-------|
+| `gen_ai.system` | `meta.model_provider` | Reemplazo cuando `gen_ai.provider.name` está ausente |
+
+#### Métricas de uso de tokens {#token-usage-metrics-1}
+
+| Atributo de OpenLLMetry | Campo de Observabilidad de LLM | Notas |
+|-----------------------|--------------|-------|
+| `llm.usage.total_tokens` | `metrics.total_tokens` | Reemplazo cuando `gen_ai.usage.total_tokens` está ausente |
+
+#### Mensajes de entrada y salida {#input-and-output-messages-1}
+
+OpenLLMetry utiliza atributos indexados en lugar de arreglos JSON. Estas son las fuentes de menor prioridad y solo se utilizan cuando no existen fuentes estándar de OTel.
+
+##### Atributos de prompt (entrada) {#prompt-attributes-input}
+
+| Atributo de OpenLLMetry | Descripción |
+|-----------------------|-------------|
+| `gen_ai.prompt..role` | Rol del mensaje (usuario, sistema, asistente, herramienta) |
+| `gen_ai.prompt..content` | Contenido del mensaje |
+| `gen_ai.prompt..tool_call_id` | ID de llamada de herramienta para mensajes de respuesta de herramienta |
+
+##### Atributos de finalización (salida) {#completion-attributes-output}
+
+| Atributo de OpenLLMetry | Descripción |
+|-----------------------|-------------|
+| `gen_ai.completion..role` | Rol del mensaje |
+| `gen_ai.completion..content` | Contenido del mensaje |
+| `gen_ai.completion..finish_reason` | Razón de finalización de la tarea |
+
+##### Mapeo {#mapping}
+
+Los mensajes se convierten al formato compatible con OTel y se procesan normalmente:
+
+| Fuente de OpenLLMetry | Campo de LLMObs |
+|--------------------|--------------|
+| `gen_ai.prompt.*` | `meta.input.messages` (llm) / `meta.input.value` (otros) |
+| `gen_ai.completion.*` | `meta.output.messages` (llm) / `meta.output.value` (otros) |
+
+#### Llamadas a herramientas {#tool-calls}
+
+Las llamadas a herramientas están anidadas dentro de los atributos de finalización.
+
+| Atributo de OpenLLMetry | Se mapea a |
+|-----------------------|---------|
+| `gen_ai.completion..tool_calls..name` | `tool_calls[].name` |
+| `gen_ai.completion..tool_calls..id` | `tool_calls[].tool_id` |
+| `gen_ai.completion..tool_calls..arguments` | `tool_calls[].arguments` |
+
+##### Mensajes de respuesta de herramientas {#tool-response-messages}
+
+Cuando `role = "tool"` y `tool_call_id` están presentes, el mensaje se convierte en un resultado de herramienta:
+
+| Atributo de OpenLLMetry | Se mapea a |
+|-----------------------|---------|
+| `gen_ai.prompt..tool_call_id` | `tool_results[].tool_id` |
+| `gen_ai.prompt..content` | `tool_results[].result` |
+
+#### Tramos de embedding {#embedding-spans-1}
+
+Para los tramos de embedding, los documentos se extraen de los atributos de contenido del prompt.
+
+| Fuente de OpenLLMetry | Campo de Observabilidad de LLM |
+|--------------------|--------------|
+| `gen_ai.prompt..content` | `meta.input.documents[].text` |
+
+#### Filtrado de etiquetas {#tags-filtering}
+
+Los siguientes atributos específicos de OpenLLMetry se filtran de las etiquetas:
+
+- `gen_ai.prompt.*`
+- `gen_ai.completion.*`
+- `llm.*`
+
+## Convenciones semánticas soportadas {#supported-semantic-conventions}
+
+LLM Observability soporta tramos que siguen las convenciones semánticas de OpenTelemetry 1.37+ para IA generativa, incluyendo:
+
+- Operaciones de LLM con `gen_ai.provider.name`, `"gen_ai.operation.name"`, `gen_ai.request.model` y otros atributos de gen_ai
+- Entradas/salidas de operación en atributos directos de tramo o mediante eventos de tramo
+- Métricas de uso de tokens (`gen_ai.usage.input_tokens`, `gen_ai.usage.output_tokens`)
+- Parámetros y metadatos del modelo
+
+Para la lista completa de atributos soportados y sus especificaciones, consulte la [documentación de convenciones semánticas de OpenTelemetry para IA generativa][1].
+
+## Deshabilitando la conversión de LLM Observability {#disabling-llm-observability-conversion}
+
+Si solo desea que sus tramos de IA generativa permanezcan en APM y no aparezcan en LLM Observability, puede deshabilitar la conversión automática configurando el atributo `dd_llmobs_enabled` a `false`. Configurar este atributo en cualquier tramo de una traza impide que toda la traza se convierta en LLM Observability.
+
+### Usando variables de entorno {#using-environment-variables}
+
+Agregue el atributo `dd_llmobs_enabled=false` a su variable de entorno `OTEL_RESOURCE_ATTRIBUTES`:
+
+```
+OTEL_RESOURCE_ATTRIBUTES=dd_llmobs_enabled=false
+```
+
+### Usando código {#using-code}
+
+También puede establecer el atributo programáticamente en cualquier tramo de su traza:
+
+```python
+from opentelemetry import trace
+
+tracer = trace.get_tracer(__name__)
+
+with tracer.start_as_current_span("my-span") as span:
+ # Disable LLM Observability conversion for this entire trace
+ span.set_attribute("dd_llmobs_enabled", False)
+```
+
+[1]: https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-agent-spans/#spans
+[2]: https://app.datadoghq.com/organization-settings/api-keys
+[3]: https://app.datadoghq.com/llm/traces
+[4]: /es/help/
+[5]: https://pypi.org/project/strands-agents/
+[6]: /es/llm_observability/evaluations/external_evaluations
+[7]: https://strandsagents.com/latest/
+[8]: /es/account_management/rbac/data_access/
\ No newline at end of file
diff --git a/content/es/logs/log_collection/csharp.md b/content/es/logs/log_collection/csharp.md
index afa07e2d29e..22075731007 100644
--- a/content/es/logs/log_collection/csharp.md
+++ b/content/es/logs/log_collection/csharp.md
@@ -4,67 +4,66 @@ aliases:
further_reading:
- link: https://www.datadoghq.com/blog/c-logging-guide/
tag: Blog
- text: Cómo recopilar, personalizar y analizar logs de C#
+ text: Cómo recolectar, personalizar y analizar registros de C#
- link: /tracing/other_telemetry/connect_logs_and_traces/dotnet/
tag: Documentación
- text: Conectar logs y trazas (traces) de .NET
+ text: Conectando registros y trazas de .NET
- 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 logs
+ text: Realiza análisis de registros
- 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: /glossary/#tail
tag: Glosario
- text: Entrada de glosario para "tail" (cola)
+ text: Entrada del glosario para "tail"
- link: https://github.com/DataDog/serilog-sinks-datadog-logs/
tag: Paquete de Github
text: Paquete Serilog.Sinks.Datadog.Logs
-title: Recopilación de logs de C#
+title: Recolección de registros de C#
---
+Para enviar tus registros de C# a Datadog, utiliza uno de los siguientes enfoques:
-Para enviar tus logs de C# a Datadog, usa una de las siguientes estrategias:
+- [Registra en un archivo y luego sigue ese archivo con tu Agente de Datadog](#file-tail-logging-with-the-datadog-agent).
+- [Habilita el registro sin agente](#agentless-logging-with-apm).
+- [Usa el sumidero de Serilog](#agentless-logging-with-serilog-sink).
-- [Registrar los logs en un archivo y luego supervísarlo con tu Datadog Agent](#file-tail-logging-with-the-datadog-agent).
-- [Habilitar el registro de logs sin Agent](#agentless-logging-with-apm).
-- [Usar el receptor Serilog](#agentless-logging-with-serilog-sink).
+## Registro de seguimiento de archivos con el Agente de Datadog {#file-tail-logging-with-the-datadog-agent}
-## Registro de logs en un archivo para supervisarlo con el Datadog Agent
+El enfoque recomendado para la recolección de logs en C# es enviar tus logs a un archivo y luego [tail][20] ese archivo con tu Agente de Datadog. Esto permite que el Agente de Datadog enriquezca los logs con metadatos adicionales.
-Para recopilar logs de C#, lo más recomendable es que tus logs se registren en un archivo que luego puedas [supervisar][20] con tu Datadog Agent. De esta forma, el Datadog Agent enriquecerá los logs con metadatos adicionales.
+Datadog recomienda encarecidamente configurar tu biblioteca de registros para producir tus registros en formato JSON para evitar la necesidad de [reglas de parseo personalizadas][1].
-Datadog recomienda que configures tu biblioteca de registro para que genere tus logs en formato JSON y así evitar la necesidad de crear [reglas de parseo personalizadas][1].
-
-El registro de logs en un archivo para supervisarlo es compatible con los siguientes marcos:
+El registro de tipo file-tail soporta los siguientes frameworks:
- Serilog
- NLog
- log4net
-### Configurar el registrador
+### Configura tu logger {#configure-your-logger}
{{< tabs >}}
{{% tab "Serilog" %}}
-Como muchas otras bibliotecas para .NET, Serilog permite hacer un registro de logs de diagnóstico en los archivos, la consola y otros lugares. Esta estrategia se basa en una API limpia, compatible con las últimas plataformas de .NET.
+Como muchas otras bibliotecas para .NET, Serilog proporciona registros de diagnóstico en archivos, la consola y en otros lugares. Tiene una API limpia y es portátil entre las plataformas recientes de .NET.
-A diferencia de otras bibliotecas de registro de logs, Serilog se ha creado para proporcionar potentes datos de eventos estructurados.
+A diferencia de otras bibliotecas de registros, Serilog está construido con poderosos datos de eventos estructurados en mente.
-Para instalar Serilog con NuGet, ejecuta el siguiente comando en la consola del administrador de paquetes:
+Para instalar Serilog con NuGet, ejecuta el siguiente comando en la Consola del Administrador de Paquetes:
```text
PM> Install-Package Serilog.Sinks.File
```
-Luego, añade el siguiente código para iniciar el registrador directamente en tu aplicación:
+Luego, agrega el siguiente código para inicializar el logger directamente en tu aplicación:
```csharp
// Instantiate the logger
@@ -85,9 +84,9 @@ var elapsedMs = 34;
log.Information("Processed {@Position} in {Elapsed:000} ms.", position, elapsedMs);
```
-En el archivo `log.json`, confirma que la instancia del registrador se ha creado correctamente:
+En el archivo `log.json`, confirma que el logger se haya instanciado correctamente:
-- Si usas `JsonFormatter(renderMessage: true)`, busca el siguiente evento para confirmarlo:
+- Si usas `JsonFormatter(renderMessage: true)`, busca el siguiente evento para confirmación:
```json
{
@@ -100,7 +99,7 @@ En el archivo `log.json`, confirma que la instancia del registrador se ha creado
}
```
-- Si usas `RenderedCompactJsonFormatter()`, busca el siguiente evento para confirmarlo:
+- Si usas `RenderedCompactJsonFormatter()`, busca el siguiente evento para confirmación:
```json
{
@@ -115,15 +114,15 @@ En el archivo `log.json`, confirma que la instancia del registrador se ha creado
{{% /tab %}}
{{% tab "NLog" %}}
-NLog es una plataforma de registro de logs para .NET con funcionalidades de gestión y enrutamiento de logs ricos. Te puede ayudar a producir y gestionar logs de alta calidad para tu aplicación, independientemente de su tamaño o complejidad.
+NLog es una plataforma de registros para .NET con ricas capacidades de enrutamiento y gestión de registros. Puede ayudarte a producir y gestionar registros de alta calidad para tu aplicación, sin importar su tamaño o complejidad.
-Para instalar NLog con NuGet, ejecuta el siguiente comando en la consola del administrador de paquetes:
+Para instalar NLog usando NuGet, ejecuta el siguiente comando en la Consola del Administrador de Paquetes:
```text
PM> Install-Package NLog
```
-Una vez tengas la biblioteca en tu classpath, adjunta el siguiente formato a cualquier destino. Edita o añade un archivo `NLog.config` a la ruta raíz del proyecto. Luego copia y pega el siguiente código en él (*los logs que se graban en el archivo `application-logs.json`*):
+Una vez que la biblioteca esté en tu classpath, adjunta el siguiente diseño a cualquier destino. Edita o agrega un `NLog.config` archivo en la ruta raíz del proyecto. Luego copia/pega el siguiente código en él (*Los registros se escriben en el archivo `application-logs.json`*):
```xml
@@ -153,7 +152,7 @@ Una vez tengas la biblioteca en tu classpath, adjunta el siguiente formato a cua
```
-Para activar tus primeros eventos y registrarlos en un log, añade lo siguiente a tu código:
+Para activar y registrar tus primeros eventos, agrega esto a tu código:
```csharp
using NLog;
@@ -178,16 +177,16 @@ namespace Datadog
{{% /tab %}}
{{% tab "Log4Net" %}}
-Log4Net es una plataforma de registro de logs para .NET basada en Log4j con funcionalidades de gestión y enrutamiento de logs ricos. Te puede ayudar a producir y gestionar logs de alta calidad para tu aplicación, independientemente de su tamaño o complejidad.
+Log4Net es una plataforma de registro para .NET inspirada en Log4j, con ricas capacidades de enrutamiento y gestión de registros. Puede ayudarte a producir y gestionar registros de alta calidad para tu aplicación, sin importar su tamaño o complejidad.
-Para instalar Log4Net, ejecuta el siguiente comando en la consola del administrador de paquetes:
+Para instalar Log4Net, ejecuta el siguiente comando en la Consola del Administrador de Paquetes:
```text
PM> Install-Package log4net
PM> Install-Package log4net.Ext.Json
```
-Una vez instalada la biblioteca, adjunta el siguiente formato a cualquier destino. Edita la `App.config` de tu proyecto y añade la siguiente sección:
+Una vez que la biblioteca esté instalada, adjunta el siguiente diseño a cualquier destino. Edita el `App.config` de tu proyecto y agrega la siguiente sección:
```xml
@@ -223,7 +222,7 @@ Una vez instalada la biblioteca, adjunta el siguiente formato a cualquier destin
```
-Crea instancias en tu registrador y empieza a activar tus eventos:
+Instancia tu registrador y comienza a activar tus eventos:
```csharp
using log4net;
@@ -250,7 +249,7 @@ namespace Datadog
}
```
-Si has seguido las instrucciones, deberías ver el siguiente evento en tu archivo (por ejemplo, `C:\Projects\Datadog\Logs\log.json`):
+Si has seguido las instrucciones, deberías ver en tu archivo (por ejemplo `C:\Projects\Datadog\Logs\log.json`) el siguiente evento:
```json
{
@@ -263,7 +262,7 @@ Si has seguido las instrucciones, deberías ver el siguiente evento en tu archiv
}
```
-Si, a pesar de los beneficios del registro de logs en JSON, quieres registrarlos como cadenas sin formato, prueba actualizar el `log4net conversion pattern` para parsear de manera automática tus logs con el pipeline de integración de C# como se detalla a continuación:
+Si, a pesar de los beneficios de registrar en JSON, deseas registrar en formato de cadena sin procesar, intenta actualizar el `log4net conversion pattern` para analizar automáticamente tus registros con la integración de C# canalización de la siguiente manera:
```text
@@ -272,11 +271,11 @@ Si, a pesar de los beneficios del registro de logs en JSON, quieres registrarlos
{{% /tab %}}
{{< /tabs >}}
-### Configurar el Datadog Agent
+### Configura el Agente de Datadog {#configure-the-datadog-agent}
-Una vez que [se haya habilitado la recopilación de logs][2], configura la [recopilación de logs personalizada][3] para supervisar tus archivos de log y enviarlos a Datadog.
+Una vez que [la recolección de registros esté habilitada][2], configura [la recolección de registros personalizada][3] para seguir tus archivos de registro y enviarlos a Datadog.
-1. Crea una carpeta `csharp.d/` en el [directorio de configuración del Agent][4] `conf.d/`.
+1. Crea una carpeta `csharp.d/` en el `conf.d/` [directorio de configuración del Agente][4].
2. Crea un archivo `conf.yaml` en `csharp.d/` con el siguiente contenido:
```yaml
@@ -298,164 +297,112 @@ Una vez que [se haya habilitado la recopilación de logs][2], configura la [reco
# name: new_log_start_with_date
# pattern: \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])
```
-3. Asegúrate de que el usuario del Agent tenga permisos de acceso de lectura al archivo de log.
+3. Asegúrate de que el usuario del Agent tenga permisos de acceso de lectura al archivo de registro.
4. [Reinicia el Agent][5].
-5. Ejecuta el [subcomando de estado del Agent][6] y busca `csharp` en la sección `Checks` para confirmar que los logs se envíen correctamente a Datadog.
+5. Ejecuta el [subcomando de estado del Agent][6] y busca `csharp` en la sección `Checks` para confirmar que los registros se envían correctamente a Datadog.
-Si los logs están en formato JSON, Datadog [parsea los mensajes del log][7] de forma automática para extraer sus atributos. Utiliza el [Log Explorer][8] para ver tus logs y solucionar problemas relacionados.
+Si los registros están en formato JSON, Datadog automáticamente [analiza los mensajes de registro][7] para extraer los atributos de los registros. Utiliza el [Explorador de Registros][8] para ver y solucionar problemas en tus registros.
-### Conectar los servicios a logs y trazas
+### Conecta tu servicio a través de registros y trazas {#connect-your-service-across-logs-and-traces}
-Si tienes APM habilitado para esta aplicación, conecta tus logs y trazas al añadir de manera automática los IDs de traza, IDs de tramo (span),
-`env`, `service` y `version` a tus logs mediante las [siguientes instrucciones de APM para .NET][9]
+Si APM está habilitado para esta aplicación, conecta tus registros y trazas añadiendo automáticamente los IDs de trazas, IDs de span,
+`env`, `service`, y `version` a tus registros [siguiendo las instrucciones de APM .NET][9]
-**Nota**: Si el rastreador de APM inyecta `service` en tus logs, este reemplazará al valor definido en la configuración del Agent.
+**Nota**: Si el SDK de Datadog inyecta `service` en tus registros, anula el valor establecido en la configuración del agente.
-## Registro de logs sin Agent con APM
+## Registro sin agente con APM {#agentless-logging-with-apm}
-Gracias a la biblioteca de instrumentación automática de APM y .NET, es posible crear un flujo de logs desde tu aplicación directamente a Datadog, sin hacer cambios en el código. De esta forma, los logs se envían directamente a Datadog, por lo que no se beneficia de [funciones como la limpieza de datos confidenciales][10] que ofrece el Datadog Agent. Por esta razón, recomendamos que registres los logs en un archivo que puedas supervisar siempre que sea posible, aunque es cierto que resulta útil en entornos no compatibles con este método (por ejemplo, si usas [Azure App Service][11]). Cabe destacar que podrás seguir limpiando los datos confidenciales en el servidor con la ayuda de [Sensitive Data Scanner][12].
+Es posible transmitir registros desde tu aplicación a Datadog directamente, sin realizar cambios en el código, utilizando la biblioteca de instrumentación automática de APM .NET. Este enfoque envía registros directamente a Datadog, por lo que no se beneficia de [funciones como el enmascaramiento de datos sensibles][10] que proporciona el Agente de Datadog. Por esa razón, recomendamos utilizar el seguimiento de las últimas líneas de archivos cuando sea posible, pero es útil en entornos donde esto no es posible (cuando se utiliza [Azure App Service][11] por ejemplo). Vale la pena mencionar que aún podrás confiar en las capacidades de enmascaramiento del lado del servidor realizadas por [Sensitive Data Scanner][12].
-El registro de logs sin Agent (también denominado «envío directo de logs») es compatible con los siguientes marcos:
-- Serilog (versión 1.0 o posterior)
-- NLog (versión 2.1 o posterior)
-- log4net (versión 1.0 o posterior)
-- Microsoft.Extensions.Logging (2.0 o posterior)
+El registro sin agente (también conocido como "envío directo de registros") admite los siguientes marcos:
+- Serilog (v1.0+)
+- NLog (v2.1+)
+- log4net (v1.0+)
+- Microsoft.Extensions.Logging (2.0+)
-No es necesario que modifiques el código de tu aplicación ni que instales dependencias adicionales.
+No requiere modificar el código de tu aplicación, ni instalar dependencias adicionales en tu aplicación.
-
Nota: Si utilizas log4net o NLog, un anexador (log4net) o un registrador (NLog) deben estar configurados para que el registro sin Agent esté habilitado. En estos casos, pueded añadir estas dependencias adicionales, o utilizar el
registro sin agent con el sink de Serilog en su lugar.
+
Nota: Si utilizas log4net o NLog, se debe configurar un appender (log4net) o un logger (NLog) para habilitar el registro sin agente. En esos casos, puedes agregar estas dependencias adicionales, o usar
registro sin agente con el sumidero de Serilog en su lugar.
-### Configurar la biblioteca de APM
+### Configura el SDK de Datadog {#configure-the-datadog-sdk}
-El registro de logs sin Agent solo está disponible cuando se usa APM con la instrumentación automática. Para empezar, instrumenta tu aplicación según se describe en los siguientes documentos:
+El registro sin agente solo está disponible al usar APM con instrumentación automática. Para comenzar, instrumenta tu aplicación como se describe en los siguientes documentos:
-- [Aplicaciones de .NET Core/.NET 5 o posterior][13]
-- [Aplicaciones de .NET Framework][14]
+- [aplicaciones .NET Core/.NET 5+][13]
+- [aplicaciones .NET Framework][14]
-Después de la instalación, verifica que estés recibiendo trazas correctamente.
+Después de instalar, verifica que estás recibiendo trazas correctamente.
-### Habilitar el registro de logs sin Agent
+### Habilita el registro sin agente {#enable-agentless-logging}
-Para habilitar el registro de logs sin Agent, define las siguientes variables de entorno:
+Para habilitar el registro sin agente, establece las siguientes variables de entorno:
`DD_API_KEY`
-: Tu [clave de API de Datadog][15] para enviar tus logs a Datadog.
+: Tu [clave de API de Datadog][15] para enviar tus registros a Datadog.
`DD_SITE`
: El nombre de [tu sitio de Datadog][16]. Elige uno de los siguientes ejemplos:
-**Ejemplo**: `datadoghq.com` (US1), `datadoghq.eu` (EU), `us3.datadoghq.com` (US3), `us5.datadoghq.com` (US5), `ddog-gov.com` (US1-FED)
+**Ejemplo**: `datadoghq.com` (US1), `datadoghq.eu` (EU), `us3.datadoghq.com` (US3), `us5.datadoghq.com` (US5), `ap1.datadoghq.com` (AP1), `ap2.datadoghq.com` (AP2), `ddog-gov.com` (US1-FED), `us2.ddog-gov.com` (US2-FED)
**Predeterminado**: `datadoghq.com` (US1)
`DD_LOGS_INJECTION`
-: permite [conectar logs y trazas][9]:
-**Por defecto**: `true`
-Activado por defecto desde la versión 3.24.0 de rastreador.
+: Habilita [conectar registros y trazas][9]:
+**Predeterminado**: `true`
+Habilitado por defecto desde la versión 3.24.0 del Tracer.
`DD_LOGS_DIRECT_SUBMISSION_INTEGRATIONS`
-: Permite el registro de logs sin Agent. Habilita esta funcionalidad en tu marco de registro de logs al establecer `Serilog`, `NLog`, `Log4Net` o `ILogger` (para `Microsoft.Extensions.Logging`). Si usas varios marcos de registro de logs, usa una lista de variables separadas por punto y coma.
+: Habilita el registro sin agente. Habilita para tu marco de registro configurando a `Serilog`, `NLog`, `Log4Net` o `ILogger` (para `Microsoft.Extensions.Logging`). Si estás utilizando múltiples marcos de registro, utiliza una lista de variables separadas por punto y coma.
**Ejemplo**: `Serilog;Log4Net;NLog`
-
Nota: Si estás utilizando un marco de registro en conjunto con
Microsoft.Extensions.Logging, en general necesitarás el nombre de marco. Por ejemplo, si estás usando
Serilog.Extensions.Logging, debes configurar
DD_LOGS_DIRECT_SUBMISSION_INTEGRATIONS=Serilog.
+
Nota: Si está utilizando un logging framework en conjunto con
Microsoft.Extensions.Logging, generalmente necesitará utilizar el nombre del framework. Por ejemplo, si está utilizando
Serilog.Extensions.Logging, debe configurar
DD_LOGS_DIRECT_SUBMISSION_INTEGRATIONS=Serilog.
-Reinicia tu aplicación después de establecer las variables de entorno.
+Reinicie su aplicación después de configurar estas variables de entorno.
-### Configuración adicional
+### Configuración adicional {#additional-configuration}
-Puedes personalizar algunos aspectos de la recopilación de logs sin Agent mediante las siguientes variables de entorno:
+Puede personalizar aún más algunos aspectos de la recolección de registros sin agente utilizando las siguientes variables de entorno:
`DD_LOGS_DIRECT_SUBMISSION_MINIMUM_LEVEL`
-: Permite filtrar los logs por nivel _antes_ de enviarlos a Datadog. Define uno de los siguientes valores: `Verbose`, `Debug`, `Information`, `Warning`, `Error`, `Critical`. Estos corresponden a los niveles equivalentes en los marcos de registro de logs compatibles.
+: Permite filtrar registros por nivel _antes_ de enviarse a Datadog. Configure a uno de los siguientes valores: `Verbose`, `Debug`, `Information`, `Warning`, `Error`, `Critical`. Estos corresponden a los niveles equivalentes en los logging frameworks soportados.
**Predeterminado**: `Information`
`DD_LOGS_DIRECT_SUBMISSION_HOST`
-: Define el nombre del equipo host asociado a los logs. Si no se indica, el nombre de host se intentará encontrar de manera automática.
-**Predeterminado**: se determina de manera automática
+: Establezca el nombre del host asociado a los registros. Si no se proporciona, se intentará encontrar automáticamente el nombre del host.
+**Predeterminado**: Determinado automáticamente
`DD_LOGS_DIRECT_SUBMISSION_TAGS`
-: Si se especifica, añade todas las etiquetas (tags) detalladas a los tramos generados. De lo contrario, se usa `DD_TAGS`.
+: Si se especifica, agrega todas las etiquetas indicadas a todos los tramos generados. Si no se proporciona, se utilizará `DD_TAGS` en su lugar.
**Ejemplo**: `layer:api, team:intake`
-Ten en cuenta que se usa una coma y un espacio como separador: `, `.
-
-Por lo general, los siguientes valores de configuración no se modifican, pero pueden definirse si fuera necesario.
-
-{{< site-region region="us" >}}
-
-`DD_LOGS_DIRECT_SUBMISSION_URL`
-: Define la URL a la que deberían enviarse los logs. De manera predeterminada, usa el dominio que se proporciona en `DD_SITE`.
-**Predeterminado**: `https://http-intake.logs.datadoghq.com:443` (según `DD_SITE`)
-
-{{< /site-region >}}
-
-{{< site-region region="us3" >}}
-
-`DD_LOGS_DIRECT_SUBMISSION_URL`
-: Define la URL a la que deberían enviarse los logs. De manera predeterminada, usa el dominio que se proporciona en `DD_SITE`.
-**Predeterminado**: `https://http-intake.logs.us3.datadoghq.com:443` (según `DD_SITE`)
-
-{{< /site-region >}}
-
-{{< site-region region="us5" >}}
-
-`DD_LOGS_DIRECT_SUBMISSION_URL`
-: Define la URL a la que deberían enviarse los logs. De manera predeterminada, usa el dominio que se proporciona en `DD_SITE`.
-**Predeterminado**: `https://http-intake.logs.us5.datadoghq.com:443` (según `DD_SITE`)
-
-{{< /site-region >}}
+Tenga en cuenta que el delimitador es una coma y un espacio: `, `.
-{{< site-region region="ap1" >}}
+Los siguientes valores de configuración generalmente no deben ser modificados, pero pueden establecerse si es necesario.
`DD_LOGS_DIRECT_SUBMISSION_URL`
-: Define la URL a la que deberían enviarse los logs. De manera predeterminada, usa el dominio que se proporciona en `DD_SITE`.
-**Predeterminado**: `https://http-intake.logs.ap1.datadoghq.com:443` (según `DD_SITE`)
-
-{{< /site-region >}}
-
-{{< site-region region="ap2" >}}
-
-`DD_LOGS_DIRECT_SUBMISSION_URL`
-: establece la URL a la que deben enviarse los logs. Utiliza por defecto el dominio proporcionado en `DD_SITE`.
-**Por defecto**: `https://http-intake.logs.ap2.datadoghq.com:443` (basado en `DD_SITE`)
-
-{{< /site-region >}}
-
-{{< site-region region="eu" >}}
-
-`DD_LOGS_DIRECT_SUBMISSION_URL`
-: Define la URL a la que deberían enviarse los logs. De manera predeterminada, usa el dominio que se proporciona en `DD_SITE`.
-**Predeterminado**: `https://http-intake.logs.datadoghq.eu:443` (según `DD_SITE`)
-
-{{< /site-region >}}
-
-{{< site-region region="gov" >}}
-
-`DD_LOGS_DIRECT_SUBMISSION_URL`
-: Define la URL a la que deberían enviarse los logs. De manera predeterminada, usa el dominio que se proporciona en `DD_SITE`.
-**Predeterminado**: `https://http-intake.logs.ddog-gov.com:443` (según `DD_SITE`)
-
-{{< /site-region >}}
+: Establece la URL donde se deben enviar los registros. Utiliza el dominio proporcionado en `DD_SITE` por defecto.
+**Predeterminado**: `{{< region-param key=http_endpoint_full >}}:443` (based on `DD_SITE`)
`DD_LOGS_DIRECT_SUBMISSION_SOURCE`
-: Define la regla de parseo para los logs enviados. Siempre debería definirse como `csharp`, a menos que tengas un [pipeline personalizado][17].
+: Establece la regla de parseo para los registros enviados. Siempre debe establecerse en `csharp`, a menos que tenga un [custom pipeline][17].
**Predeterminado**: `csharp`
`DD_LOGS_DIRECT_SUBMISSION_MAX_BATCH_SIZE`
-: Define el número máximo de logs que se pueden enviar de una vez. Tiene en cuenta los [límites establecidos para la API][18].
+: Establece el número máximo de registros a enviar a la vez. Toma en cuenta los [límites establecidos para la API][18].
**Predeterminado**: `1000`
`DD_LOGS_DIRECT_SUBMISSION_MAX_QUEUE_SIZE`
-: Define el número máximo de logs que se pueden mantener en la cola interna antes de empezar a eliminar mensajes de log.
+: Establece el número máximo de registros que se pueden mantener en la cola interna en un momento dado antes de descartar mensajes de registro.
**Predeterminado**: `100000`
`DD_LOGS_DIRECT_SUBMISSION_BATCH_PERIOD_SECONDS`
-: Define el tiempo de espera (en segundos) antes de comprobar si hay logs nuevos para enviar.
+: Establece el tiempo de espera (en segundos) antes de verificar nuevos registros para enviar.
**Predeterminado**: `1`
-Si usas la integración `Microsoft.Extensions.Logging`, puedes filtrar los logs enviados a Datadog con ayuda de las funcionalidades estándar integradas en `ILogger`. Usa la clave `"Datadog"` para identificar al proveedor de envío directo, y establece los niveles mínimos del log para un espacio de nombres. Por ejemplo, si añades lo siguiente a tu `appSettings.json`, evitarías que se envíen logs con un nivel inferior a `Warning` a Datadog. Disponible a partir de la versión 2.20.0 de la biblioteca del rastreador de .NET.
+Si está utilizando la integración `Microsoft.Extensions.Logging`, puede filtrar los registros enviados a Datadog utilizando las capacidades estándar integradas en `ILogger`. Utilice la clave `"Datadog"` para identificar el proveedor de envío directo y establecer los niveles mínimos de registro para cada espacio de nombres. Por ejemplo, agregar lo siguiente a su `appSettings.json` evitaría enviar cualquier registro con un nivel inferior a `Warning` a Datadog. Introducido en el SDK de .NET v2.20.0.
```json
{
@@ -469,21 +416,21 @@ Si usas la integración `Microsoft.Extensions.Logging`, puedes filtrar los logs
}
```
-## Registro de logs sin Agent con el receptor Serilog
+## Registro sin agente con el Serilog sink {#agentless-logging-with-serilog-sink}
-
+
-Si no es posible usar el registro de logs en un archivo para supervisarlo ni el registro de logs sin Agent de APM, y usas un marco `Serilog`, puedes usar el [receptor Serilog][19] de Datadog para enviar logs directamente a Datadog.
+Si no es posible utilizar el seguimiento de las últimas líneas de archivos o el registro sin agente de APM, y está utilizando el framework `Serilog`, entonces puede usar el [Serilog sink de Datadog][19] para enviar registros directamente a Datadog.
-Instala el [receptor Serilog de Datadog][19] en tu aplicación, que envía eventos y logs a Datadog. De manera predeterminada, el receptor reenvía los logs a través de HTTPS en el puerto 443.
-Ejecuta el siguiente comando en la consola del administrador de paquetes:
+Instale el [Serilog sink de Datadog][19] en su aplicación, que envía eventos y registros a Datadog. Por defecto, el sink reenvía los registros a través de HTTPS en el puerto 443.
+Ejecute el siguiente comando en la Consola del Administrador de Paquetes:
```text
PM> Install-Package Serilog.Sinks.Datadog.Logs
```
-Luego, inicia el registrador directamente en tu aplicación. Asegúrate de [añadir tu ``][15].
+Luego, inicialice el logger directamente en su aplicación. Asegúrese de [agregar su ``][15].
```csharp
using (var log = new LoggerConfiguration()
@@ -494,9 +441,9 @@ using (var log = new LoggerConfiguration()
}
```
-Ahora los logs nuevos se envían directamente a Datadog.
+Los nuevos registros ahora se envían directamente a Datadog.
-## Referencias adicionales
+## Lectura Adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
diff --git a/content/es/logs/log_configuration/logs_to_metrics.md b/content/es/logs/log_configuration/logs_to_metrics.md
index cdd9884ea25..ec814972bc1 100644
--- a/content/es/logs/log_configuration/logs_to_metrics.md
+++ b/content/es/logs/log_configuration/logs_to_metrics.md
@@ -1,97 +1,99 @@
---
algolia:
tags:
- - Métricas de logs
- - Generación de logs a partir de métricas
+ - log metrics
+ - generating logs from metrics
aliases:
- /es/logs/processing/logs_to_metrics/
- /es/logs/logs_to_metrics/
-description: Genera métricas a partir de logs consumidos.
+description: Generar métricas a partir de registros ingeridos.
further_reading:
- link: logs/log_configuration/processors
tag: Documentación
- text: Aprender a procesar tus logs
+ text: Aprenda cómo procesar 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: Generar métricas a partir de logs consumidos
+ text: Utilice consultas en notación CIDR para filtrar los registros de tráfico de
+ su red
+- link: https://learn.datadoghq.com/courses/log-investigations
+ tag: Centro de Aprendizaje
+ text: Rastree registros para alertas e investigaciones
+title: Generar métricas a partir de registros ingeridos.
---
+## Resumen {#overview}
-## Información general
+Las soluciones descritas en esta documentación son específicas para entornos de registro basados en la nube. Para generar métricas a partir de registros locales, consulte la documentación de
Observability Pipelines.
-Las soluciones descritas en esta documentación son específicas para entornos de generación de logs basados en la nube. Para generar métricas a partir de logs on-premises, consulta la documentación de
Observability Pipelines.
+El [Logging without Limits][1]* de Datadog le permite decidir dinámicamente qué incluir o excluir de sus índices para almacenamiento y consulta, al mismo tiempo que muchos tipos de registros están destinados a ser utilizados para telemetría para rastrear tendencias, como KPIs, durante largos períodos de tiempo. Las métricas basadas en registros son una forma rentable de resumir los datos de registro de toda la corriente de ingestión. Esto significa que, incluso si utiliza [filtros de exclusión][2] para limitar lo que almacena para la exploración, aún puede visualizar tendencias y anomalías en todos sus datos de registro con una granularidad de 10s durante 15 meses.
-Datadog [Logging without Limits][1]\* te permite decidir de forma dinámica qué incluir o excluir de tus índices para el almacenamiento y las consultas. Al mismo tiempo, muchos tipos de logs se utilizan en telemetrías como los KPI, para el seguimiento de tendencias durante largos periodos de tiempo. Las métricas basadas en logs son una forma rentable de resumir los datos de logs de todo el flujo (stream) de consumo. Esto significa que, incluso si utilizas [filtros de exclusión][2] para limitar lo que se almacena para la exploración, puedes seguir visualizando las tendencias y las anomalías de todos los datos de tus logs, con una granularidad de 10s durante 15 meses.
+Con métricas basadas en registros, puede generar una métrica de conteo de registros que coincidan con una consulta o una [métrica de distribución][3] de un valor numérico contenido en los registros, como la duración de la solicitud.
-Con las métricas basadas en logs puedes generar una métrica de recuento de los logs que coinciden con una consulta o una [métrica de distribución][3] de un valor numérico contenido en los logs, como la duración de la solicitud.
+**Nota de Facturación:** Las métricas creadas a partir de registros ingeridos se facturan como [Custom Metrics][4].
-**Nota de facturación:** las métricas creadas a partir de logs consumidos se facturan como [Métricas personalizadas][4].
+## Genere una métrica basada en registros {#generate-a-log-based-metric}
-## Generar una métrica basada en logs
+{{< img src="logs/processing/logs_to_metrics/generate_logs_to_metric.png" alt="Convierta registros en una métrica." style="width:80%;">}}
-{{< img src="logs/processing/logs_to_metrics/generate_logs_to_metric.png" alt="Generar logs para métricas" style="width:80%;">}}
+Para generar una nueva métrica basada en registros:
-Para generar una métrica basada en logs:
+1. Navegue a la página de [Generate Metrics][5].
+1. Seleccione la pestaña **Generate Metrics**.
+1. Haga clic en **+New Metric**.
-1. Ve a la página [Generar métricas][5].
-1. Selecciona la pestaña **Generate Metrics** (Generar métricas).
-1. Haz clic en **+New Metric** (+Nueva métrica).
+También puede crear métricas a partir de una búsqueda de Analytics seleccionando la opción "Generate new metric" en el menú de Exportar.
-También puedes crear métricas a partir de una búsqueda de Analytics, seleccionando la opción "Generate new metric" (Generar nueva métrica) del menú Export (Exportar).
+{{< img src="logs/processing/logs_to_metrics/metrics_from_analytics2.jpg" alt="Convierta registros en una métrica." style="width:80%;">}}
-{{< img src="logs/processing/logs_to_metrics/metrics_from_analytics2.jpg" alt="Generar logs para métricas" style="width:80%;">}}
+### Agregue una nueva métrica basada en registros {#add-a-new-log-based-metric}
-### Añadir una nueva métrica basada en logs
+{{< img src="logs/processing/logs_to_metrics/create_custom_metrics2.png" alt="Convierta registros en una métrica." style="width:80%;">}}
-{{< img src="logs/processing/logs_to_metrics/create_custom_metrics2.png" alt="Crear logs para métricas" style="width:80%;">}}
+1. **Ingrese una consulta para filtrar el flujo de registros**: La sintaxis de la consulta es la misma que para la [Log Explorer Search][6]. Solo se consideran para la agregación los logs ingeridos con una marca de tiempo dentro de los últimos 20 minutos. El índice debe ser excluido de la consulta.
+2. **Seleccione el campo que desea rastrear**: Seleccione `*` para generar un conteo de todos los registros que coincidan con su consulta o ingrese un atributo de registro (por ejemplo, `@network.bytes_written`) para agregar un valor numérico y crear sus correspondientes `count`, `min`, `max`, `sum` y `avg` métricas agregadas. Si la faceta de atributo de registro es una [medida][7], el valor de la métrica es el valor del atributo de registro.
+3. **Agrega dimensiones a `group by`**: Por defecto, las métricas generadas a partir de logs no tienen etiquetas a menos que se agreguen explícitamente. Cualquier atributo o dimensión de etiqueta que exista en tus logs (por ejemplo, `@network.bytes_written`, `env`) puede ser utilizado para crear etiquetas de métrica [tags][8]. Los nombres de las etiquetas de métrica son iguales al nombre del atributo o etiqueta de origen, sin el @.
+4. **Agregue agregaciones percentiles**: Para métricas de distribución, puede generar opcionalmente percentiles p50, p75, p90, p95 y p99. Las métricas percentiles también se consideran [Custom Metrics], y se facturan en consecuencia.
+5. **Nombre su métrica**: Los nombres de las métricas basadas en logs deben seguir la [custom metric naming convention][10].
-1. **Introduce una consulta para filtrar el flujo de logs**: la sintaxis de la consulta es la misma que la de las [búsquedas del Log Explorer][6]. Para la agregación, solo se tienen en cuenta los logs con marcas de tiempo, consumidos en los últimos 20 minutos. El índice debe excluirse de la consulta.
-2. **Selecciona el campo del que quieres realizar el seguimiento**: selecciona `*` para generar un recuento de todos los logs que coinciden con tu consulta o introduce un atributo de log (por ejemplo, `@network.bytes_written`), para agregar un valor numérico y crear sus correspondientes métricas agregadas `count`, `min`, `max`, `sum` y `avg`. Si la faceta del atributo de log es una [medida][7], el valor de la métrica es el valor del atributo de log.
-3. **Añade dimensiones a `group by`**: por defecto, las métricas generadas a partir de logs no tienen ninguna etiqueta (tags), a menos que se añadan explícitamente. Cualquier atributo o dimensión de etiqueta presente en tus logs (por ejemplo, `@network.bytes_written`, `env`) puede utilizarse para crear [etiquetas][8] de métricas. Los nombres de etiquetas de métricas son iguales al atributo o nombre de etiqueta de origen, sin el símbolo @.
-4. **Añade agregaciones de percentiles**: para las métricas de distribución, también puedes generar los percentiles p50, p75, p90, p95 y p99. Las métricas de percentiles también se consideran métricas personalizadas y se [facturan en consecuencia][9].
-5. **Ponle un nombre a tu métrica**: los nombres de los logs basados en métricas deben seguir la [convención de nomenclatura de métricas personalizadas][10].
+**Nota**: Los puntos de datos para métricas basadas en logs se generan en intervalos de 10 segundos. Cuando crea un [dashboard graph][11] para métricas basadas en logs, el parámetro `count unique` se basa en los valores dentro del intervalo de 10 segundos.
-**Nota**: Los puntos de datos para métricas basadas en logs se generan a intervalos de 10 segundos. Cuando creas un [gráfico de dashboard][11] para métricas basadas en logs, el parámetro `count unique` se basa en los valores del intervalo de 10 segundos.
+{{< img src="logs/processing/logs_to_metrics/count_unique.png" alt="La página de configuración del gráfico de series temporales con el parámetro de consulta único resaltado." style="width:80%;">}}
-{{< img src="logs/processing/logs_to_metrics/count_unique.png" alt="Página de configuración del gráfico de series temporales con el parámetro de consulta de recuento único resaltado" style="width:80%;">}}
+Las métricas basadas en logs se consideran
métricas personalizadas y se facturan en consecuencia. Evite agrupar por atributos de cardinalidad no acotada o extremadamente alta, como marcas de tiempo, identificaciones de usuario, identificaciones de solicitud o identificaciones de sesión para evitar afectar su facturación.
-Las métricas basadas en logs se consideran
métricas personalizadas y se facturan en consecuencia. Evita agrupar por atributos no limitados o de cardinalidad extremadamente alta, como marcas de tiempo, IDs de usuario, IDs de solicitud o IDs de sesión, para no afectar a tu facturación.
+### Actualiza una métrica basada en logs {#update-a-log-based-metric}
-### Actualizar una métrica basada en logs
+Después de que se crea una métrica, se pueden actualizar los siguientes campos:
-Después de crear una métrica, se pueden actualizar los siguientes campos:
+- Consulta de filtro de flujo: Para cambiar el conjunto de registros coincidentes que se agregarán a las métricas
+- Grupos de agregación: Para actualizar las etiquetas o gestionar la cardinalidad de las métricas generadas
+- Selección de percentiles: Marque o desmarque la casilla **Calcular percentiles** para eliminar o generar métricas de percentiles
-- Consulta del filtro de flujo: para cambiar el conjunto de logs coincidentes que se agregarán a las métricas
-- Grupos de agregación: para actualizar las etiquetas o gestionar la cardinalidad de las métricas generadas
-- Selección de percentiles: selecciona o deselecciona la casilla **Calculate percentiles** (Calcular percentiles) para eliminar o generar métricas de percentiles
+Para cambiar el tipo o nombre de la métrica, se debe crear una nueva métrica.
-Para cambiar el tipo o el nombre de la métrica, debe crearse una nueva métrica.
-
-## Métricas del uso de logs
+## Métricas de uso de registros {#logs-usage-metrics}
{{< img src="logs/processing/logs_to_metrics/estimated_usage_metrics.png" alt="Métricas de uso recomendadas" style="width:80%;">}}
-Las métricas de uso son estimaciones de tu uso actual de Datadog casi en tiempo real y te permiten:
+Las métricas de uso son estimaciones de su uso actual de Datadog en casi tiempo real. Le permiten:
-- Presentar de forma gráfica tu uso estimado.
-- Crear monitores de tu uso estimado.
-- Recibir alertas instantáneas sobre picos o caídas en tu uso.
-- Evaluar el impacto potencial de los cambios de código en tu uso casi en tiempo real.
+- Grafique su uso estimado.
+- Cree monitores en torno a su uso estimado.
+- Reciba alertas instantáneas sobre picos o caídas en su uso.
+- Evalúe el impacto potencial de los cambios de código en su uso en casi tiempo real.
-Las métricas de uso de Log Management vienen con tres etiquetas que se pueden utilizar para una monitorización más específica:
+Las métricas de uso de Log Management vienen con tres etiquetas que se pueden utilizar para un monitoreo más granular:
| Etiqueta | Descripción |
| ----------------------- | --------------------------------------------------------------------- |
-| `datadog_index` | Indica la consulta de enrutamiento que empareja un log con un índice previsto. |
-| `datadog_is_excluded` | Indica si un log coincide o no con una consulta de exclusión. |
-| `service` | El atributo servicio del evento de log. |
+| `datadog_index` | Indica la consulta de enrutamiento que coincide un registro con un índice previsto. |
+| `datadog_is_excluded` | Indica si un registro coincide o no con una consulta de exclusión. |
+| `service` | El atributo de servicio del registro de evento. |
-**Nota**: Los campos `datadog_is_excluded` y `datadog_index` pueden tener un valor de `N/A`. Esto indica que los logs fueros ingeridos, pero no coincidió con ningún criterio de inclusión o exclusión para ser enrutado explícitamente a un índice.
+**Nota**: Los campos `datadog_is_excluded` y `datadog_index` pueden tener un valor de `N/A`. Esto indica que los registros fueron ingeridos, pero no coincidieron con ningún criterio de inclusión o exclusión que permitiera asignarlos explícitamente a un índice.
-Existe una etiqueta `status` adicional disponible en la métrica `datadog.estimated_usage.logs.ingested_events` para reflejar el estado del log (`info`, `warning`, etc.).
+Una etiqueta adicional `status` está disponible en la métrica `datadog.estimated_usage.logs.ingested_events` para reflejar el estado del registro (`info`, `warning`, etc.).
-## Referencias adicionales
+## Lectura adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
diff --git a/content/es/logs/log_configuration/pipelines.md b/content/es/logs/log_configuration/pipelines.md
index c224f443283..db571cf599b 100644
--- a/content/es/logs/log_configuration/pipelines.md
+++ b/content/es/logs/log_configuration/pipelines.md
@@ -1,114 +1,115 @@
---
aliases:
- /es/logs/processing/pipelines/
-description: Analizar, enriquecer y gestionar tus logs con pipelines y procesadores
- Datadog
+description: Analiza, enriquece y gestiona tus registros con las canalizaciones y
+ procesadores de Datadog
further_reading:
-- link: https://www.datadoghq.com/blog/cloud-siem-ocsf-processor
- tag: Blog
- text: Normaliza cualquier log de Cloud SIEM con el procesador OCSF de Datadog.
-- link: https://www.datadoghq.com/blog/internal-monitoring-email-delivery
- tag: Blog
- text: Cómo utilizamos Datadog para obtener una visibilidad completa y detallada
- de nuestro sistema de entrega de correo electrónico.
- link: /logs/log_configuration/processors
tag: Documentación
- text: Consultar la lista de todos los procesadores disponibles
+ text: Consulta 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: Aprende cómo explorar tus registros
- link: /logs/troubleshooting/
tag: Documentación
- text: Solucionar problemas de logs
-- link: https://learn.datadoghq.com/courses/going-deeper-with-logs-processing
+ text: Solución de problemas de registros
+- link: https://learn.datadoghq.com/courses/integration-pipelines
+ tag: Centro de aprendizaje
+ text: Procesa registros de manera sencilla con los pipelines de integración
+- link: https://learn.datadoghq.com/courses/log-pipelines
tag: Centro de aprendizaje
- text: Profundizando en el procesamiento de logs
+ text: Construye y gestiona pipelines de registros
- link: https://www.datadoghq.com/blog/monitor-cloudflare-zero-trust/
tag: Blog
- text: Monitorizar Cloudflare Zero Trust con Datadog Cloud SIEM
+ text: Monitorea Cloudflare Zero Trust con Datadog Cloud SIEM
- link: https://www.datadoghq.com/blog/monitor-1password-datadog-cloud-siem/
tag: Blog
- text: Monitorizar 1Password con Datadog Cloud SIEM
+ text: Monitorea 1Password con Datadog Cloud SIEM
- link: https://www.datadoghq.com/blog/ocsf-common-data-model/
tag: Blog
- text: Normaliza tus datos con el Modelo de datos comunes del OCSF en Cloud SIEM
- de Datadog
+ text: Normaliza tus datos con el modelo de datos común OCSF en Datadog Cloud SIEM
+- link: https://www.datadoghq.com/blog/cloud-siem-ocsf-processor
+ tag: Blog
+ text: Normaliza cualquier registro para Cloud SIEM con el procesador OCSF de Datadog
+- link: https://www.datadoghq.com/blog/internal-monitoring-email-delivery
+ tag: Blog
+ text: Cómo utilizamos Datadog para obtener visibilidad integral y detallada de nuestro
+ sistema de entrega de correos electrónicos
title: Pipelines
---
+## Resumen {#overview}
-## Información general
-
-Los pipelines y procesadores descritos en esta documentación son específicos de los entornos de generación de logs basados en la nube. Para agregar, procesar y enrutar logs on-premises, consulta
Observability Pipelines.
+Los pipelines y procesadores descritos en esta documentación son específicos para entornos de registro basados en la nube. Para agregar, procesar y enrutar registros locales, consulta
Pipelines de Observabilidad.
-Datadog [analiza][1] automáticamente logs con formato JSON. Luego, puedes añadir valor a todos tus logs (sin procesar y JSON), enviándolos a un pipeline de procesamiento. Los pipelines aceptan logs con una amplia variedad de formatos y los traducen a un formato común en Datadog. Implementar una estrategia de pipelines y de procesamiento de logs es beneficioso, ya que introduce una [convención de nomenclatura de atributos][2] para tu organización.
+Datadog automáticamente [analiza][1] registros en formato JSON. Luego puedes agregar valor a todos tus registros (en bruto y JSON) enviándolos a través de una canalización de procesamiento. Los pipelines toman registros de una amplia variedad de formatos y los traducen a un formato común en Datadog. Implementar una estrategia de pipelines y procesamiento de registros es beneficioso, ya que introduce una [convención de nomenclatura de atributos][2] para tu organización.
-Los pipelines analizan y enriquecen los logs encadenándolos secuencialmente mediante [procesadores][3]. De este modo, se extraen detalles significativos o atributos del texto semiestructurado para reutilizarlos como [facetas][4]. Cada log que pasa por los pipelines se prueba con todos los filtros de pipelines. Si el log coincide con un filtro, todos los procesadores se aplican secuencialmente antes de pasar al siguiente.
+Con los pipelines, los registros son analizados y enriquecidos al encadenarlos secuencialmente a través de [procesadores][3]. Esto extrae información o atributos significativos de texto semiestructurado para reutilizarlos como [facetas][4]. Cada registro que pasa por las canalizaciones es probado contra cada filtro de canalización. Si coincide con un filtro, entonces todos los procesadores se aplican secuencialmente antes de pasar a la siguiente canalización.
-Los pipelines y los procesadores pueden aplicarse a cualquier tipo de log. No es necesario modificar la configuración de la gestión de logs, ni implementar cambios en ninguna regla de procesamiento del lado del servidor. Todo puede configurarse en la [página de configuración de pipelines][5].
+Los pipelines y procesadores pueden aplicarse a cualquier tipo de registro. No necesitas cambiar la configuración de registro ni desplegar cambios en ninguna regla de procesamiento del lado del servidor. Todo puede configurarse dentro de la [página de configuración de la canalización][5].
-**Nota**: Para un uso óptimo de la solución Log Management, Datadog recomienda utilizar como máximo **20 procesadores por pipeline** y **10 reglas de análisis sintáctico** en un [procesador Grok][6]. Datadog se reserva el derecho de desactivar reglas de análisis, procesadores o pipelines que no rindan lo suficiente y que puedan afectar al rendimiento del servicio de Datadog.
+**Nota**: Para un uso óptimo de la solución de Gestión de Registros, Datadog recomienda usar como máximo **20 procesadores por pipeline** y **10 reglas de análisis** dentro de un [procesador Grok][6]. Datadog se reserva el derecho de deshabilitar reglas de análisis, procesadores o pipelines que no estén rindiendo adecuadamente y que puedan afectar el rendimiento del servicio de Datadog.
-## Permisos de pipelines
+## Permisos de la canalización {#pipeline-permissions}
-Los pipelines utilizan el [Control de acceso detallado][7] para gestionar quién puede editar configuraciones de pipelines y procesadores. Esto significa que los permisos pueden ser asignados a **roles**, **usuarios individuales** y **equipos**, asegurando un control preciso de los recursos de pipelines. Los pipelines sin ninguna restricción se consideran sin irrestrictos, lo que significa que cualquier usuario con el permiso `logs_write_pipelines` puede modificar el pipeline y sus procesadores.
+Las canalizaciones utilizan [Control de Acceso Granular][7] para gestionar quién puede editar las configuraciones de canalizaciones y procesadores. Esto significa que se pueden asignar permisos a **roles**, **usuarios individuales** y **equipos**, asegurando un control preciso sobre los recursos de la canalización. Las canalizaciones sin ninguna restricción se consideran sin restricciones, lo que significa que cualquier usuario con el permiso `logs_write_pipelines` puede modificar la canalización y sus procesadores.
-{{< img src="/logs/processing/pipelines/pipeline_permissions_grace.png" alt="Configuración de permisos de pipelines en Datadog" style="width:80%;" >}}
+{{< img src="/logs/processing/pipelines/pipeline_permissions_grace.png" alt="Configuración de permisos de la canalización en Datadog" style="width:80%;" >}}
-Para cada pipeline, los administradores pueden elegir los siguientes contextos de edición:
+Para cada canalización, los administradores pueden elegir los siguientes contextos de edición:
-- **Editor**: Solo los usuarios, equipos o roles especificados pueden editar la configuración de pipelines y procesadores.
-- **Editor de procesadores**: Solo los procesadores (incluidos los pipelines anidados) pueden ser editados por usuarios, equipos o roles especificados. Nadie puede modificar los atributos de un pipeline, como su consulta de filtro o su orden en la lista global de pipelines.
+- **Editor**: Solo los usuarios, equipos o roles especificados pueden editar la configuración de la canalización y los procesadores.
+- **Editor de Procesadores**: Solo los procesadores (incluidas las canalizaciones anidadas) pueden ser editados por usuarios, equipos o roles especificados. Nadie puede modificar los atributos de la canalización, como su consulta de filtro o su orden en la lista global de canalizaciones.
-Conceder a un usuario acceso a una lista de restricciones de pipelines no concede automáticamente los permisos logs_write_pipelines o logs_write_processors. Los administradores deben conceder estos permisos por separado.
+Conceder a un usuario acceso a la lista de restricciones de una canalización no otorga automáticamente los logs_write_pipelines o logs_write_processors permisos. Los administradores deben otorgar esos permisos por separado.
-Puedes gestionar estos permisos mediante programación a través de la [**API**][14] y **Terraform**.
+Puedes gestionar estos permisos programáticamente a través de [**API**][14] y **Terraform**.
-## Preprocesamiento
+## Preprocesamiento {#preprocessing}
-El preprocesamiento de logs JSON se produce antes de que los logs ingresen al pipeline de procesamiento. El preprocesamiento ejecuta una serie de operaciones basadas en atributos reservados, como `timestamp`, `status`, `host`, `service` y `message`. Si tienes diferentes nombres de atributos en tus logs JSON, utiliza el preprocesamiento para asignar tus nombres de atributos de logs a los de la lista de atributos reservados.
+El preprocesamiento de registros JSON ocurre antes de que los registros ingresen al procesamiento de la canalización. El preprocesamiento ejecuta una serie de operaciones basadas en atributos reservados, como `timestamp`, `status`, `host`, `service` y `message`. Si tienes diferentes nombres de atributos en tus registros JSON, utiliza el preprocesamiento para mapear los nombres de atributos de tus registros a los de la lista de atributos reservados.
-El preprocesamiento de logs JSON viene con una configuración predeterminada que funciona para los reenviadores de logs estándar. Para editar esta configuración y adaptar las estrategias de reenvío de logs personalizados o específicos:
+El preprocesamiento de registros JSON viene con una configuración predeterminada que funciona para los reenvíos de registros estándar. Para editar esta configuración y adaptar enfoques de reenvío de registros personalizados o específicos:
-1. Ve a [Pipelines][8] en Datadog y selecciona [Preprocesamiento de logs de JSON][9].
+1. Navega a [Canalizaciones][8] en Datadog y selecciona [Preprocesamiento para registros JSON][9].
- **Nota:** El preprocesamiento de logs JSON es la única manera de definir uno de los atributos de tus logs como `host` para tus logs.
+ **Nota:** El preprocesamiento de registros JSON es la única forma de definir uno de tus atributos de registro como `host` para tus registros.
-2. Cambia la asignación por defecto en función del atributo reservado:
+2. Cambia el mapeo predeterminado basado en el atributo reservado:
{{< tabs >}}
{{% tab "Fuente" %}}
-#### Atributo de origen
+#### Atributo de origen {#source-attribute}
-Si un archivo de log con formato JSON incluye el atributo `ddsource`, Datadog interpreta su valor como el origen del log. Para utilizar los mismos nombres de origen que Datadog, consulta la [biblioteca de pipelines de integración][1].
+Si un archivo de registro en formato JSON incluye el atributo `ddsource`, Datadog interpreta su valor como la fuente del registro. Para usar los mismos nombres de fuente que utiliza Datadog, consulta la [Biblioteca de Integración de Canalizaciones][1].
-**Nota**: Los logs procedentes de un entorno contenedorizado requieren el uso de una [variable de entorno][2] para anular los valores por defecto del origen y del servicio.
+**Nota**: Los registros provenientes de un entorno de contenedor requieren el uso de una [variable de entorno][2] para anular los valores predeterminados de fuente y servicio.
[1]: https://app.datadoghq.com/logs/pipelines/pipeline/library
[2]: /es/agent/docker/log/?tab=containerinstallation#examples
{{% /tab %}}
-{{% tab "Host" %}}
+{{% tab "Servidor" %}}
-#### Atributo de host
+#### Atributo de servidor {#host-attribute}
-El uso de Datadog Agent o del formato RFC5424 configura automáticamente el valor del host en tus logs. Pero si un archivo de log con formato JSON incluye el siguiente atributo, Datadog interpreta su valor como el host del log:
+El uso del Datadog Agent o del formato RFC5424 establece automáticamente el valor del servidor en sus registros. Sin embargo, si un archivo de registro en formato JSON incluye el siguiente atributo, Datadog interpreta su valor como el servidor del registro:
* `host`
* `hostname`
* `syslog.hostname`
-**Nota**: En Kubernetes, si un log JSON ingestado por Datadog Agent contiene un atributo de clave `host`, `hostname` o `syslog.hostname`, ese valor anula el nombre de host del Agent predeterminado para ese log. Como resultado, el log no hereda las etiquetas (tags) esperadas a nivel de host, que se establecen a nivel de host, del host correcto. En este caso, Datadog recomienda borrar estos atributos para asegurar que tus logs puedan ser atribuidos a los hosts correctos.
+**Nota**: En Kubernetes, si un registro JSON ingerido por el Datadog Agent contiene un atributo clave `host`, `hostname` o `syslog.hostname`, ese valor anula el nombre de servidor predeterminado del Datadog Agent para ese registro. Como resultado, el registro no hereda las etiquetas de nivel de servidor esperadas, que se establecen a nivel de servidor, del servidor correcto. En este caso, Datadog recomienda eliminar estos atributos para asegurar que sus registros puedan atribuirse a los servidores correctos.
{{% /tab %}}
-{{% tab "Date (Fecha)" %}}
+{{% tab "Fecha" %}}
-#### Atributo de fecha
+#### Atributo de fecha {#date-attribute}
-Por defecto, Datadog genera una marca de tiempo y la añade a un atributo de fecha cuando se reciben logs. Pero si un archivo de log con formato JSON incluye uno de los siguientes atributos, Datadog interpreta su valor como la fecha oficial del log:
+Por defecto, Datadog genera una marca de tiempo y la agrega en un atributo de fecha cuando se reciben los registros. Sin embargo, si un archivo de registro en formato JSON incluye uno de los siguientes atributos, Datadog interpreta su valor como la fecha oficial del registro:
* `@timestamp`
* `timestamp`
@@ -119,87 +120,87 @@ Por defecto, Datadog genera una marca de tiempo y la añade a un atributo de fec
* `published_date`
* `syslog.timestamp`
-Especifica los atributos alternativos que se utilizarán como origen de la fecha del log, configurando un [procesador del reasignador de fechas de logs][1].
+Especifique atributos alternativos para usar como fuente de la fecha de un registro configurando un [procesador de remapeo de fecha de registro][1].
-**Nota**: Datadog rechaza una entrada de log si su fecha oficial es anterior a las 18 horas pasadas.
+**Nota**: Datadog rechaza una entrada de registro si su fecha oficial es anterior a 18 horas en el pasado.
-[1]: /es/logs/log_configuration/processors/#log-date-remapper
+[1]: /es/logs/log_configuration/processors/log_date_remapper/
{{% /tab %}}
-{{% tab "Message (Mensaje)" %}}
+{{% tab "Mensaje" %}}
-#### Atributo de mensaje
+#### Atributo del mensaje {#message-attribute}
-Por defecto, Datadog ingiere el valor del mensaje como cuerpo de la entrada del log. Ese valor se resalta y se muestra en el [Log Explorer][1], donde se indexa para la [búsqueda de texto completo][2]. Sin embargo, si un archivo de log con formato JSON incluye uno de los siguientes atributos, Datadog interpreta su valor como el mensaje oficial del log:
+Por defecto, Datadog ingesta el valor del mensaje como el cuerpo de la entrada de registro. Ese valor se resalta y se muestra en el [Explorador de Registros][1], donde se indexa para [búsqueda de texto completo][2]. Sin embargo, si un archivo de registro en formato JSON incluye uno de los siguientes atributos, Datadog interpreta su valor como el mensaje oficial del registro:
* `message`
* `msg`
* `log`
-Especifica los atributos alternativos que se utilizarán como origen del mensaje del log, configurando un [procesador del reasignador de mensajes de logs][3].
+Especifique atributos alternativos para usar como fuente del mensaje de un registro configurando un [procesador de remapeo de mensajes de registro][3].
[1]: /es/logs/explorer/
[2]: /es/logs/explorer/#filters-logs
-[3]: /es/logs/log_configuration/processors/#log-message-remapper
+[3]: /es/logs/log_configuration/processors/log_message_remapper/
{{% /tab %}}
-{{% tab "Status" %}}
+{{% tab "Estado" %}}
-#### Atributo de estado
+#### Atributo de estado {#status-attribute}
-Cada entrada de log puede especificar un nivel de estado disponible para las búsqueda por facetas en Datadog. Pero si un archivo de log con formato JSON incluye uno de los siguientes atributos, Datadog interpreta su valor como el estado oficial del log:
+Cada entrada de registro puede especificar un nivel de estado que está disponible para búsqueda facetada dentro de Datadog. Sin embargo, si un archivo de registro en formato JSON incluye uno de los siguientes atributos, Datadog interpreta su valor como el estado oficial del registro:
* `status`
* `severity`
* `level`
* `syslog.severity`
-Especifica los atributos alternativos que se utilizarán como origen del estado del log, configurando un [procesador del reasignador de estados de logs][1].
+Especifique atributos alternativos para usar como fuente del estado de un registro configurando un [procesador de remapeo de estado de registro][1].
-[1]: /es/logs/log_configuration/processors/#log-status-remapper
+[1]: /es/logs/log_configuration/processors/log_status_remapper/
{{% /tab %}}
-{{% tab "Service (Servicio)" %}}
+{{% tab "Servicio" %}}
-#### Atributo de servicio
+#### Atributo de servicio {#service-attribute}
-El uso de Datadog Agent o del formato RFC5424 configura automáticamente el valor del servicio en tus logs. Pero si un archivo de log con formato JSON incluye el siguiente atributo, Datadog interpreta su valor como el servicio del log:
+Usar el Agente de Datadog o el formato RFC5424 establece automáticamente el valor del servicio en sus registros. Sin embargo, si un archivo de registro en formato JSON incluye el siguiente atributo, Datadog interpreta su valor como el servicio del registro:
* `service`
* `syslog.appname`
* `dd.service`
-Especifica los atributos alternativos que se utilizarán como origen del servicio del log, configurando un [procesador del reasignador de servicios de logs][1].
+Especifique atributos alternativos para usar como fuente del servicio de un registro configurando un [procesador de remapeo de servicio de registro][1].
-[1]: /es/logs/log_configuration/processors/#service-remapper
+[1]: /es/logs/log_configuration/processors/service_remapper/
{{% /tab %}}
-{{% tab "Trace ID (ID de rastreo)" %}}
+{{% tab "ID de traza" %}}
-#### Atributo de ID de rastreo
+#### Atributo de ID de traza {#trace-id-attribute}
-Por defecto, [los rastreadores de Datadog pueden inyectar automáticamente los ID de rastreo y de tramo (span) en tus logs][1]. Pero si un log con formato JSON incluye los siguientes atributos, Datadog interpreta su valor como el `trace_id` del log:
+Por defecto, [los SDK de Datadog pueden inyectar automáticamente los IDs de traza y de span en tus registros][1]. Sin embargo, si un registro en formato JSON incluye los siguientes atributos, Datadog interpreta su valor como el `trace_id` del registro:
* `dd.trace_id`
* `contextMap.dd.trace_id`
* `named_tags.dd.trace_id`
* `trace_id`
-Especifica los atributos alternativos que se utilizarán como ID de rastreo del log, configurando un [procesador del reasignador de ID de rastreo de logs][2].
+Especifica atributos alternativos para usar como fuente del ID de traza de un registro configurando un [procesador de remapeo de ID de traza][2].
[1]: /es/tracing/other_telemetry/connect_logs_and_traces/
-[2]: /es/logs/log_configuration/processors/#trace-remapper
+[2]: /es/logs/log_configuration/processors/trace_remapper/
{{% /tab %}}
-{{% tab "Span ID" %}}
+{{% tab "ID de tramo" %}}
-#### Atributo de ID de span (tramo)
+#### Atributo de ID de tramo {#span-id-attribute}
-En forma predeterminada, los rastreadores de Datadog pueden [insertar automáticamente ID de span (tramo) en tus logs][1]. Sin embargo, si un log con formato JSON incluye los siguientes atributos, Datadog interpreta su valor como el `span_id` del log:
+Por defecto, los SDK de Datadog pueden [inyectar automáticamente los IDs de tramo en tus registros][1]. Sin embargo, si un registro en formato JSON incluye los siguientes atributos, Datadog interpreta su valor como el `span_id` del registro:
* `dd.span_id`
* `contextMap.dd.span_id`
@@ -211,97 +212,97 @@ En forma predeterminada, los rastreadores de Datadog pueden [insertar automátic
{{< /tabs >}}
-## Crear un pipeline
+## Crea un pipeline {#create-a-pipeline}
-1. Ve a [Pipelines][8] en Datadog.
-2. Selecciona **New Pipeline** (Nuevo pipeline).
-3. Selecciona un log en la vista previa de Live Tail para aplicarle un filtro, o aplícale tu propio filtro. Elige un filtro del menú desplegable o crea tu propio filtro seleccionando el icono **>**. Los filtros te permiten limitar los tipos de logs a los que se aplica un pipeline.
+1. Navega a [Pipelines][8] en Datadog.
+2. Selecciona **Nuevo Pipeline**.
+3. Selecciona un registro de la vista previa en tiempo real para aplicar un filtro, o aplica tu propio filtro. Elige un filtro del menú desplegable o crea tu propia consulta de filtro seleccionando el ícono **>**. Los filtros te permiten limitar qué tipos de registros se aplican a un pipeline.
- **Nota**: El filtrado del pipeline se aplica antes que cualquier procesador del pipeline. Por esta razón, no se puede filtrar con un atributo que se extrae del propio pipeline.
+ **Nota**: El filtrado del pipeline se aplica antes de que cualquiera de los procesadores del pipeline. Por esta razón, no puedes filtrar por un atributo que se extrae en el propio pipeline.
-4. Ponle un nombre a tu pipeline.
-5. (Opcional) Añade una descripción y etiquetas al pipeline para indicar su propósito y propiedad. Las etiquetas de pipeline no afectan a los logs, pero pueden utilizarse para filtrar y buscar en la [página de pipelines][5].
-6. Pulsa **Create** (Crear).
+4. Nombra tu pipeline.
+5. (Opcional) Agrega una descripción y etiquetas al pipeline para indicar su propósito y propiedad. Las etiquetas del pipeline no afectan los registros, pero pueden ser utilizadas para filtrar y buscar dentro de la [página de Pipelines][8].
+6. Presiona **Crear**.
-Ejemplo de log transformado por un pipeline:
+Un ejemplo de un registro transformado por un pipeline:
-{{< img src="logs/processing/pipelines/log_post_processing.png" alt="Ejemplo de log transformado por un pipeline" style="width:50%;">}}
+{{< img src="logs/processing/pipelines/log_post_processing.png" alt="Un ejemplo de un registro transformado por un pipeline" style="width:50%;">}}
-### Pipelines de integración
+### Pipelines de integración {#integration-pipelines}
-Los pipelines de procesamiento de integración están disponibles para ciertas sources (fuentes) cuando se configuran para recopilar logs. Estos pipelines son **sólo de lectura** y analizan tus logs de forma apropiada para el source (fuente) particular. Para los logs de integración, se instala automáticamente un pipeline de integración que se encarga de analizar tus logs y añade la faceta correspondiente en tu Explorer de logs.
+Los pipelines de procesamiento de integración están disponibles para ciertas fuentes cuando están configuradas para recopilar registros. Estos pipelines son **solo lectura** y analizan sus registros de maneras apropiadas para la fuente particular. Para los registros de integración, se instala automáticamente un pipeline de integración que se encarga de analizar sus registros y agrega la faceta correspondiente en su Explorador de Registros.
-Para ver un pipeline de integración, ve a la página [Pipelines][8]. Para editar un pipeline de integración, clónalo y luego edita el clon:
+Para ver un pipeline de integración, navegue a la página de [Pipelines][8]. Para editar un pipeline de integración, clónelo y luego edite el clon:
-{{< img src="logs/processing/pipelines/cloning_pipeline.png" alt="Clonación de un pipeline" style="width:80%;">}}
+{{< img src="logs/processing/pipelines/cloning_pipeline.png" alt="Clonando pipeline" style="width:80%;">}}
-Consulta el siguiente ejemplo de logs de ELB:
+Vea el ejemplo de registros de ELB a continuación:
-{{< img src="logs/processing/elb_log_post_processing.png" alt="Postprocesamiento de logs de ELB" style="width:70%;">}}
+{{< img src="logs/processing/elb_log_post_processing.png" alt="Procesamiento de registros de ELB" style="width:70%;">}}
-**Nota**: Los pipelines de integraciones no pueden eliminarse, solo desactivarse.
+**Nota**: Los pipelines de integración no pueden ser eliminados, solo deshabilitados.
-### Biblioteca de pipelines de integraciones
+### Biblioteca de pipelines de integración {#integration-pipeline-library}
-Para ver la lista completa de pipelines de integraciones que ofrece Datadog, consulta la [biblioteca de pipelines de integraciones][10]. La biblioteca de pipelines muestra cómo Datadog procesa diferentes formatos de log por defecto.
+Para ver la lista completa de pipelines de integración que ofrece Datadog, consulte la [biblioteca de pipelines de integración][10]. La biblioteca de pipelines muestra cómo Datadog procesa diferentes formatos de registro por defecto.
-{{< img src="logs/processing/pipelines/integration-pipeline-library.mp4" alt="Biblioteca de pipelines de integraciones" video=true style="width:80%;">}}
+{{< img src="logs/processing/pipelines/integration-pipeline-library.mp4" alt="Biblioteca de pipelines de integración" video=true style="width:80%;">}}
-Para utilizar un pipeline de integración, Datadog recomienda instalar la integración configurando la `source` de logs correspondiente. Una vez que Datadog reciba el primer log con esta fuente, la instalación se activa automáticamente y el pipeline de integración se añade a la lista de pipelines de procesamiento. Para configurar la fuente de logs, consulta la [documentación de la integración][11] correspondiente.
+Para usar un pipeline de integración, Datadog recomienda instalar la integración configurando el registro correspondiente `source`. Después de que Datadog reciba el primer registro con esta fuente, la instalación se activa automáticamente y el pipeline de integración se agrega a la lista de pipelines de procesamiento. Para configurar la fuente de registro, consulte la [documentación de integración correspondiente][11].
-También es posible copiar un pipeline de integración utilizando el botón de clonación.
+También es posible copiar un pipeline de integración utilizando el botón de clonar.
-{{< img src="logs/processing/pipelines/clone-pipeline-from-library.mp4" alt="Clonación de pipelines a partir de la biblioteca" video=true style="width:80%;">}}
+{{< img src="logs/processing/pipelines/clone-pipeline-from-library.mp4" alt="Canal de clonación de la biblioteca" video=true style="width:80%;">}}
-## Añadir un procesador o un pipeline anidado
+## Agrega un procesador o una canalización anidada {#add-a-processor-or-nested-pipeline}
-1. Ve a [Pipelines][8] en Datadog.
-2. Sitúate sobre un pipeline y haz clic en la flecha situada junto a él para expandir los procesadores y los pipelines anidados.
-3. Selecciona **Add Processor** (Añadir procesador) o **Add Nested Pipeline** (Añadir pipeline anidado).
+1. Navega a [Pipelines][8] en Datadog.
+2. Pasa el cursor sobre una canalización y haz clic en la flecha junto a ella para expandir procesadores y canalizaciones anidadas.
+3. Selecciona **Agregar procesador** o **Agregar canalización anidada**.
-### Procesadores
+### Procesadores {#processors}
-Un procesador se ejecuta dentro de un pipeline para completar una acción de estructuración de datos. Consulta la [documentación sobre procesadores][3] para aprender a añadir y configurar un procesador por tipo de procesador, dentro de la aplicación o con la API.
+Un procesador se ejecuta dentro de una canalización para completar una acción de estructuración de datos. Consulta la [documentación de procesadores][3] para aprender cómo agregar y configurar un procesador por tipo de procesador, dentro de la aplicación o con la API.
-Consulta [Análisis de fechas][12] para obtener más información sobre los formatos de fecha y hora personalizados y el parámetro `timezone` necesario para las marcas de tiempo que no sean UTC.
+Consulta [Análisis de fechas][12] para aprender sobre formatos de fecha y hora personalizados y el parámetro `timezone` requerido para marcas de tiempo no UTC.
-### Pipelines anidados
+### Canales anidados {#nested-pipelines}
-Los pipelines anidados se encuentran dentro de otros pipelines. Utiliza pipelines anidados para dividir el proceso en dos pasos. Por ejemplo, utiliza primero un filtro de alto nivel, como un equipo, y luego un segundo nivel de filtrado basado en una integración, un servicio o cualquier otro atributo u etiqueta.
+Los canales anidados son canalizaciones dentro de una canalización. Utiliza canalizaciones anidadas para dividir el procesamiento en dos pasos. Por ejemplo, primero utiliza un filtro de alto nivel como equipo y luego un segundo nivel de filtrado basado en la integración, servicio o cualquier otra etiqueta o atributo.
-Un pipeline puede contener pipelines anidados y procesadores, mientras que un pipeline anidado sólo puede contener procesadores.
+Una canalización puede contener canalizaciones anidadas y procesadores, mientras que una canalización anidada solo puede contener procesadores.
-{{< img src="logs/processing/pipelines/nested_pipeline.png" alt="Pipelines anidados" style="width:80%;">}}
+{{< img src="logs/processing/pipelines/nested_pipeline.png" alt="Canalizaciones anidadas" style="width:80%;">}}
-Introduce un pipeline dentro de otro pipeline para convertirlo en un pipeline anidado:
+Mueve una canalización a otra canalización para convertirla en una canalización anidada:
-1. Sitúate sobre el pipeline que quieres mover y haz clic en el icono **Move to** (Mover a).
-1. Selecciona el pipeline al que quieres mover el pipeline original. **Nota**: Los pipelines que contienen pipelines anidados sólo pueden moverse a una posición de nivel superior y no pueden moverse a otro pipeline.
-1. Haz clic en **Move** (Mover).
+1. Pasa el cursor sobre la canalización que deseas mover y haz clic en el ícono **Mover a**.
+1. Selecciona la canalización a la que deseas mover la canalización original. **Nota**: Las canalizaciones que contienen canalizaciones anidadas solo pueden ser movidas a otra posición de nivel superior. No se pueden mover a otra canalización.
+1. Haz clic en **Mover**.
-## Gestión de tus pipelines
+## Administra tus canalizaciones {#manage-your-pipelines}
-Identifica cuándo se ha realizado el último cambio en un pipeline o procesador y qué usuario ha realizado el cambio, utilizando la información de modificación del pipeline. Filtra tus pipelines utilizando esta información de modificación, así como otras propiedades de faceta, como por ejemplo si el pipeline está habilitado o es de sólo lectura.
+Identifica cuándo se realizó el último cambio en una canalización o procesador y qué usuario hizo el cambio utilizando la información de modificación en la canalización. Filtra tus canalizaciones utilizando esta información de modificación, así como otras propiedades facetadas como si la canalización está habilitada o es de solo lectura.
-{{< img src="logs/processing/pipelines/log_pipeline_management.png" alt="Gestionar tus pipelines utilizando la búsqueda por facetas, la información de modificación del pipeline y el modal de reordenamiento" style="width:50%;">}}
+{{< img src="logs/processing/pipelines/log_pipeline_management.png" alt="Cómo administrar tus canalizaciones con búsqueda facetada, información de modificación de canalizaciones y el modal de reordenamiento" style="width:50%;">}}
-Reordena con precisión los pipelines utilizando la opción `Move to` del panel deslizante de opciones. Desplázate y haz clic en la posición exacta a la que quieres mover el pipeline seleccionado con el modal `Move to`. Los pipelines no pueden introducirse en otros pipelines de sólo lectura. Los pipelines que contienen pipelines anidados sólo pueden moverse a otras posiciones de nivel superior y no pueden moverse a otros pipelines.
+Reordena las canalizaciones con precisión utilizando la opción `Move to` en el panel de opciones deslizante. Desplázate y haz clic en la posición exacta para mover la canalización seleccionada utilizando el modal `Move to`. Las canalizaciones no pueden ser movidas a otras canalizaciones de solo lectura. Las canalizaciones que contienen canalizaciones anidadas solo pueden ser movidas a otras posiciones de nivel superior. No pueden ser movidas a otras canalizaciones.
-{{< img src="logs/processing/pipelines/log_pipeline_move_to.png" alt="Reordenar tus pipelines con precisión utilizando el modal Move to (Mover a)" style="width:50%;">}}
+{{< img src="logs/processing/pipelines/log_pipeline_move_to.png" alt="Cómo reordenar tus canalizaciones con precisión utilizando el modal de mover a" style="width:50%;">}}
-Clona pipelines para reutilizar reglas y procesadores existentes sin tener que empezar de nuevo. Cuando clonas un pipeline, Datadog desactiva automáticamente el pipeline clonado. Haz clic en el conmutador para activarlo.
+Clona canalizaciones para reutilizar reglas y procesadores existentes sin tener que empezar de nuevo. Cuando clonas una canalización, Datadog desactiva automáticamente la canalización que clonaste. Haz clic en el interruptor para habilitar.
-## Métricas de uso estimado
+## Métricas de uso estimadas {#estimated-usage-metrics}
-Las métricas de uso estimadas se muestran para cada pipeline. Se muestra el volumen y el recuento de logs que están siendo ingeridos y modificados por cada pipeline. Cada pipeline incluye un enlace al [dashboard de uso estimado de logs][13]. Este dashboard ofrece gráficos detallados de las métricas de uso del pipeline.
+Las métricas de uso estimadas se muestran para cada canalización. Esto muestra el volumen y la cantidad de registros que están siendo ingeridos y modificados por cada canalización. Cada canalización incluye un enlace al [Tablero de Uso Estimado de Registros][13] listo para usar. Este tablero ofrece gráficos detallados de las métricas de uso de la canalización.
-{{< img src="logs/processing/pipelines/log_pipeline_statistics.png" alt="Obtener una vista rápida de las métricas de uso de tu pipeline" style="width:50%;">}}
+{{< img src="logs/processing/pipelines/log_pipeline_statistics.png" alt="Cómo obtener una vista rápida de las métricas de uso de tus canalizaciones" style="width:50%;">}}
-## Referencias adicionales
+## Lectura Adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
@@ -313,7 +314,7 @@ Las métricas de uso estimadas se muestran para cada pipeline. Se muestra el vol
[3]: /es/logs/log_configuration/processors/
[4]: /es/logs/explorer/facets/
[5]: https://app.datadoghq.com/logs/pipelines
-[6]: /es/logs/log_configuration/processors/?tab=ui#grok-parser
+[6]: /es/logs/log_configuration/processors/grok_parser/
[7]: /es/account_management/rbac/granular_access/
[8]: https://app.datadoghq.com/logs/pipelines
[9]: https://app.datadoghq.com/logs/pipelines/remapping
diff --git a/content/es/metrics/distributions.md b/content/es/metrics/distributions.md
index 19a9f4f153d..9970d570f12 100644
--- a/content/es/metrics/distributions.md
+++ b/content/es/metrics/distributions.md
@@ -2,132 +2,139 @@
aliases:
- /es/developers/faq/characteristics-of-datadog-histograms/
- /es/graphing/metrics/distributions/
-description: Calcula los percentiles globales de todo el conjunto de datos.
+description: Calcula percentiles globales en todo tu conjunto de datos.
further_reading:
- link: /metrics/custom_metrics/dogstatsd_metrics_submission/
tag: Documentación
text: Uso de distribuciones en DogStatsD
+- link: /metrics/open_telemetry/otlp_metric_types/
+ tag: Documentación
+ text: Tipos de métricas OTLP
title: Distribuciones
---
-## Información general
-
-Las distribuciones son un tipo de métrica que agrega valores enviados desde varios hosts durante un intervalo de descarga para medir distribuciones estadísticas en toda tu infraestructura.
-
-Las distribuciones globales instrumentan objetos lógicos, como serviciosindependientemente de los hosts subyacentes. A diferencia de los [histogramas][1], que se agregan del lado del Agent, las distribuciones globales envían todos los datos sin procesar recopilados durante el intervalo de descarga y la agregación se produce del lado del servidor utilizando la [estructura de datos DDSketch][2] de Datadog.
-
-Las distribuciones proporcionan una funcionalidad de consulta mejorada y opciones de configuración que no se ofrecen con otros tipos de métrica (count, tasa, gauge, histograma):
-* **Cálculo de agregaciones de percentiles**: Las distribuciones se almacenan como estructuras de datos DDSketch que representan datos sin procesar y no agregados, de modo que pueden calcularse agregaciones de percentiles globalmente precisas (p50, p75, p90, p95, p99 o cualquier percentil de tu elección con hasta dos decimales) a través de los datos sin procesar de todos tus hosts. La activación de agregaciones de percentiles puede desbloquear funcionalidades de consulta avanzadas como:
+## Resumen {#overview}
- * **Valor de percentil único en cualquier periodo de tiempo**:
+Las distribuciones son un tipo de métrica que agrega valores enviados desde múltiples servidores durante un intervalo de vaciado para medir distribuciones estadísticas en toda tu infraestructura.
- _“¿Cuál ha sido el percentil 99,9 del tiempo de carga de mi aplicación en la última semana?”_
+Las distribuciones globales instrumentan objetos lógicos, como servicios, independientemente de los servidores subyacentes. A diferencia de los [histogramas][1] que se agregan del lado del agente, las distribuciones globales envían todos los datos crudos recopilados durante el intervalo de vaciado y la agregación ocurre del lado del servidor utilizando la [estructura de datos DDSketch][2] de Datadog.
- * **Desviación estándar en cualquier periodo de tiempo**:
+Si utilizas OpenTelemetry, las métricas de histograma OTLP se mapean a distribuciones de Datadog por defecto. Consulta [Tipos de métricas OTLP][5] para obtener detalles sobre este mapeo y las opciones de configuración disponibles.
- _“¿Cuál es la desviación estándar (stddev) del consumo de la CPU de mi aplicación en el último mes?”_
+Las distribuciones proporcionan funcionalidades de consulta mejoradas y opciones de configuración que no se ofrecen con otros tipos de métricas (conteo, tasa, medidor, histograma):
+* **Cálculo de agregaciones percentiles**: Las distribuciones se almacenan como estructuras de datos DDSketch que representan datos crudos, no agregados, de tal manera que se pueden calcular agregaciones percentiles globalmente precisas (p50, p75, p90, p95, p99 o cualquier percentil de tu elección con hasta dos puntos decimales) a partir de los datos crudos de todos tus servidores. Habilitar agregaciones percentiles puede desbloquear funcionalidades avanzadas de consulta como:
- * **Umbrales de percentil en los monitores de métricas**:
+ * **Valor percentil único sobre cualquier periodo de tiempo**:
+
+ _"¿Cuál ha sido el tiempo de carga del percentil 99.9 para mi aplicación en la última semana?"_
- _“Alértame cuando el p95 de la latencia de la solicitud de mi aplicación sea superior a 200 ms durante los últimos 5 min"._
+ * **Desviación estándar sobre cualquier periodo de tiempo**:
+
+ _"¿Cuál es la desviación estándar (stddev) del consumo de CPU de mi aplicación en el último mes?"_
- * **Consultas sobre umbrales**:
+ * **Umbrales percentiles en seguimientos de métricas**:
+
+ _"Alérteme cuando el p95 de la latencia de solicitudes de mi aplicación sea mayor a 200 ms en los últimos 5 minutos."_
- Me gustaría definir un SLO de 30 días en el que el 95 % de las solicitudes a mi servicio se completen en menos de 5 segundos".
+ * **Consultas de umbral**:
+
+ _"Me gustaría definir un SLO de 30 días donde el 95% de las solicitudes a mi servicio se completen en menos de 5 segundos."_
-* **Personalización de etiquetado**: Esta funcionalidad permite controlar el esquema de etiquetado para métricas personalizadas para el que no es necesaria la granularidad a nivel del host (por ejemplo, transacciones por segundo para una servicio de marcado).
+* **Personalización de etiquetado**: Esta funcionalidad te permite controlar el esquema de etiquetado para métricas personalizadas para las cuales no es necesaria una granularidad a nivel de host (por ejemplo, transacciones por segundo para un servicio de pago).
-**Nota:** Debido a que los datos de las métricas de las distribuciones se almacenan de forma diferente a otros tipos, no se debe utilizar ningún nombre de métrica utilizado para un `distribution` para ningún otro tipo de métrica.
+**Nota:** Debido a que los datos métricos de distribuciones se almacenan de manera diferente a otros tipos, cualquier nombre de métrica utilizado para un `distribution` no debe ser utilizado para ningún otro tipo de métricas.
-## Activación de funciones avanzadas de consulta
+## Habilitando funcionalidad avanzada de consultas {#enabling-advanced-query-functionality}
-Al igual que otros tipos de métrica, como `gauges` o `histograms`, las distribuciones disponen de las siguientes agregaciones: `count`, `min`, `max`, `sum` y `avg`. Las distribuciones se etiquetan inicialmente del mismo modo que otras métricas, con las etiquetas personalizadas configuradas en el código. A continuación, se resuelven al host etiquetas (tags) basándose en el host que informó la métrica.
+Al igual que otros tipos de métricas, como `gauges` o `histograms`, las distribuciones tienen las siguientes agregaciones disponibles: `count`, `min`, `max`, `sum` y `avg`. Las distribuciones se etiquetan inicialmente de la misma manera que otras métricas, con etiquetas personalizadas establecidas en el código. Luego se resuelven a etiquetas de host basadas en el host que reportó la métrica.
-Sin embargo, puedes activar la funcionalidad de consulta avanzada, como el cálculo de agregaciones de percentiles globalmente precisas para todas los etiquetas consultables de tu distribución en la página Resumen de métricas. Esto proporciona agregaciones para `p50`, `p75`, `p90`, `p95` y `p99` o cualquier percentil definido por el usuario de tu elección (con hasta dos puntos decimales como 99,99). Al activar las consultas avanzadas también se desbloquean las consultas de umbral y la desviación estándar.
+Sin embargo, puede habilitar la funcionalidad avanzada de consultas, como el cálculo de agregaciones percentiles globalmente precisas para todas las etiquetas consultables en su distribución en la página de Resumen de Métricas. Esto proporciona agregaciones para `p50`, `p75`, `p90`, `p95` y `p99` o cualquier percentil definido por el usuario de tu elección (con hasta dos puntos decimales, como 99.99). Habilitar consultas avanzadas también desbloquea consultas de umbral y desviación estándar.
-{{< img src="metrics/distributions/metric_detail_enable_percentiles.mp4" alt="Un usuario activa la funcionalidad de consulta avanzada de percentiles y umbrales haciendo clic en Configurar en la sección avanzada de un panel de detalle de métricas" vídeo=true width=80% >}}
+{{< img src="metrics/distributions/metric_detail_enable_percentiles.mp4" alt="Un usuario habilitando percentiles avanzados y funcionalidad de consultas de umbral al hacer clic en configurar en la sección avanzada de un panel de detalles de métrica." video=true width=80% >}}
-Después de elegir aplicar agregaciones de percentiles en una métrica de distribución, estas agregaciones están disponibles automáticamente en la interfaz de usuario de creación de gráficas:
+Después de optar por aplicar agregaciones percentiles en una métrica de distribución, estas agregaciones están automáticamente disponibles en la interfaz de usuario de gráficos:
-{{< img src="metrics/distributions/graph_percentiles.mp4" alt="Agregaciones de métricas de distribuciones" video=true" >}}
+{{< img src="metrics/distributions/graph_percentiles.mp4" alt="Agregaciones de métricas de distribución" video=true" >}}
-Puedes utilizar agregaciones de percentiles en una variedad de otros widgets y para alertar:
-* **Valor de percentil único en cualquier periodo**
+Puede usar agregaciones percentiles en una variedad de otros widgets y para alertas:
+* **Valor de percentil único sobre cualquier período de tiempo**
- _“¿Cuál ha sido el percentil 99,9 de duración de las solicitudes de mi aplicación durante la última semana?”_
+ _"¿Cuál ha sido la duración de solicitud del percentil 99.9 para mi aplicación en la última semana?"_
-{{< img src="metrics/distributions/percentile_qvw.jpg" alt="Un widget de valor de consulta que muestra un único valor (7,33 s) para la agregación del percentil 99,99 de una única métrica" style="width:80%;">}}
+{{< img src="metrics/distributions/percentile_qvw.jpg" alt="Un widget de valor de consulta que muestra un solo valor (7.33s) para la agregación del percentil 99.99 de una sola métrica." style="width:80%;">}}
-* **Umbrales de percentil en los monitores de métricas**
- _“Alértame cuando el p95 de la latencia de solicitud de mi aplicación sea superior a 200 ms durante los últimos 5 min".
+* **Umbrales de percentil en monitores de métricas**
+ _"Alérteme cuando el p95 de la latencia de solicitud de mi aplicación sea mayor a 200 ms durante los últimos 5 minutos."_
-{{< img src="metrics/distributions/percentile_monitor.jpg" alt="Umbral del percentil que se configura con un menú desplegable para alertar las condiciones en un monitor" style="width:80%;">}}
+{{< img src="metrics/distributions/percentile_monitor.jpg" alt="Se establece un umbral percentil con un menú desplegable para las condiciones de alerta en un monitor " style="width:80%;">}}
-### Configuración masiva de múltiples métricas
+### Configuración masiva para múltiples métricas {#bulk-configuration-for-multiple-metrics}
-Puedes activar o desactivar las agregaciones de percentiles para varias métricas a la vez, en lugar de tener que configurar cada una individualmente.
+Puede habilitar o deshabilitar las agregaciones percentiles para múltiples métricas a la vez, en lugar de tener que configurar cada una individualmente.
-1. Ve a la [página Resumen de métricas][4] y haz clic en el menú desplegable **Configure Metrics** (Configurar métricas).
-1. Selecciona **Enable percentiles** (Habilitar percentiles).
-1. Especifica un prefijo de espacio de nombres de métrica para seleccionar todas las métricas que coinciden con ese espacio de nombres.
-1. (Opcional) Para desactivar los percentiles para todas las métricas en el espacio de nombres, haz clic en el conmutador **Percentile aggregations** (Agregaciones de percentiles).
+1. Navegue a la [Página de Resumen de Métricas][4] y haga clic en el menú desplegable **Configurar Métricas**.
+1. Seleccione **Habilitar percentiles**.
+1. Especifique un prefijo de espacio de nombres de métrica para seleccionar todas las métricas que coincidan con ese espacio de nombres.
+1. (Opcional) Para deshabilitar los percentiles para todas las métricas en el espacio de nombres, haga clic en el interruptor **Agregaciones percentiles**.
-{{< img src="metrics/summary/percentile_aggregations_toggle.png" alt="Conmutador para gestionar las agregaciones de percentiles" style="width:100%;" >}}
+{{< img src="metrics/summary/percentile_aggregations_toggle.png" alt="Alternar para gestionar las agregaciones percentiles" style="width:100%;" >}}
-### Consultas sobre umbrales
+### Consultas de Umbral {#threshold-queries}
-La activación de los percentiles calculados globalmente por DDSketch en tus métricas de distribuciones desbloquea las consultas de umbral en las que puedes contar el número de valores sin procesar de las métricas de distribuciones si superan o quedan por debajo de un umbral numérico. Puedes utilizar esta funcionalidad para contar el número de errores o violaciones en comparación con un umbral numérico anómalo en dashboards. O también puedes utilizar las consultas de umbral para definir SLOs como "el 95 % de las solicitudes que se completaron en menos de 10 segundos en los últimos 30 días".
+Habilitar percentiles calculados por DDSketch, que son globalmente precisos en sus métricas de distribución, desbloquea consultas de umbral donde puede contar el número de valores de métricas de distribución en bruto si superan o caen por debajo de un umbral numérico. Puede utilizar esta funcionalidad para contar el número de errores o violaciones en comparación con un umbral numérico anómalo en los paneles. O también puede utilizar consultas de umbral para definir SLOs como "el 95% de las solicitudes se completaron en menos de 10 segundos en los últimos 30 días".
-Con las consultas de umbral para distribuciones con percentiles, no es necesario predefinir un valor umbral antes del envío de las métricas y se dispone de total flexibilidad para ajustar el valor umbral en Datadog.
+Con consultas de umbral para distribuciones con percentiles, no necesita predefinir un valor de umbral antes de la presentación de métricas, y tiene total flexibilidad para ajustar el valor del umbral en Datadog.
Para utilizar consultas de umbral:
-1. Activa los percentiles en tu métrica de distribución en la página Resumen de métricas.
-2. Representa gráficamente la métrica de distribución elegida utilizando el agregador de "valores de count..."
-3. Especifica un valor umbral y un operador de comparación.
+1. Habilite percentiles en su métrica de distribución en la página de Metrics Summary.
+2. Grafique su métrica de distribución elegida utilizando el agregador "contar valores...".
+3. Especifique un valor de umbral y un operador de comparación.
-{{< img src="metrics/distributions/threshold_queries.mp4" vídeo=true alt="Se está visualizando un gráfico de series temporales utilizando el agregador de los valores de count, con un umbral superior a 8 segundos" style="width:80%;" >}}
+{{< img src="metrics/distributions/threshold_queries.mp4" video=true alt="Un gráfico de series temporales visualizado utilizando el agregador de contar valores, con un umbral de más de 8 segundos" style="width:80%;" >}}
-También puedes crear un SLO basado en métricas utilizando consultas de umbral:
-1. Activa los percentiles en tu métrica de distribución en la página Resumen de métricas.
-2. Crea un nuevo SLO basado en métricas y define el numerador como el número de "buenos" eventos con una consulta sobre tu métrica de distribución elegida utilizando el agregador "valores de count...".
+Puede crear de manera similar un SLO basado en métricas utilizando consultas de umbral:
+1. Habilite percentiles en su métrica de distribución en la página de Resumen de Métricas.
+2. Crea un nuevo SLO basado en métricas y define el numerador como el número de eventos "buenos" con una consulta sobre tu métrica de distribución elegida utilizando el agregador "contar valores...".
3. Especifica un valor umbral y un operador de comparación.
{{< img src="metrics/distributions/threshold_SLO.png" alt="Consultas de umbral para SLOs" style="width:80%;">}}
-## Personaliza el etiquetado
+## Personaliza la etiquetación {#customize-tagging}
+
+Las distribuciones proporcionan funcionalidad que te permite controlar la etiquetación para métricas personalizadas donde la granularidad a nivel de host no tiene sentido. Las configuraciones de etiquetas son _listas permitidas_ de las etiquetas que te gustaría mantener.
-Las distribuciones proporcionan una funcionalidad que te permite controlar el etiquetado para métricas personalizadas donde la granularidad a nivel de host no tiene sentido. Las configuraciones de etiquetas son _listas de permisos_ de las etiquetas que te gustaría mantener.
+Para personalizar la etiquetación:
-Para personalizar el etiquetado:
+1. Haz clic en el nombre de tu métrica de distribución personalizada en la tabla de Metrics Summary para abrir el panel lateral de detalles de métricas.
+2. Haz clic en el botón **Administrar Etiquetas** para abrir el modal de configuración de etiquetas.
+3. Haz clic en **Personalizado...** pestaña para personalizar las etiquetas que te gustaría mantener disponibles para consulta.
-1. Haz clic en el nombre de tu métrica de distribución personalizada en la tabla Resumen de métricas para abrir el panel lateral de detalles de métricas.
-2. Haz clic en el botón **Gestionar etiquetas** para abrir el modal de configuración de etiquetas.
-3. Haz clic en la pestaña **Personalizar...** para personalizar las etiquetas que quieres que se mantengan disponibles para la consulta.
+**Nota**: La exclusión de etiquetas no es compatible en la personalización de etiquetas basada en listas permitidas. No se aceptan etiquetas que comiencen con `!`.
-**Nota**: La exclusión de etiquetas no se admite en la personalización basada en la lista de permisos de etiquetas. No se acepta la adición de etiquetas que empiecen con `!`.
+{{< img src="metrics/distributions/dist_manage.jpg" alt="Configurar etiquetas en una distribución con el botón Administrar Etiquetas" style="width:80%;">}}
-{{< img src="metrics/distributions/dist_manage.jpg" alt="Configurar etiquetas en una distribución con el botón Gestionar etiquetas" style="width:80%;">}}
+## Eventos de auditoría {#audit-events}
+Cualquier cambio en la configuración de etiquetas o en la agregación de percentiles crea un evento en el [explorador de eventos][3]. Este evento explica el cambio y muestra al usuario que realizó el cambio.
-## Eventos de auditoría
-Cualquier cambio en la configuración de etiquetas o en la agregación de percentiles crea un evento en el [explorador de eventos][3]. Este evento explica el cambio y muestra el usuario que lo ha realizado.
+Si creaste, actualizaste o eliminaste una configuración de etiquetas en una métrica de distribución, puedes ver ejemplos con la siguiente búsqueda de eventos:
-Si has creado, actualizado o eliminado una configuración de etiqueta en una métrica de distribución, puedes ver ejemplos con la siguiente búsqueda de eventos:
-```texto
+```text
https://app.datadoghq.com/event/stream?tags_execution=and&per_page=30&query=tags%3Aaudit%20status%3Aall%20priority%3Aall%20tag%20configuration
```
-Si has añadido o eliminado agregaciones de percentiles a una métrica de distribución, puedes ver ejemplos con la siguiente búsqueda de eventos:
-```texto
+Si agregaste o eliminaste agregaciones de percentiles a una métrica de distribución, puedes ver ejemplos con la siguiente búsqueda de eventos:
+
+```text
https://app.datadoghq.com/event/stream?tags_execution=and&per_page=30&query=tags%3Aaudit%20status%3Aall%20priority%3Aall%20percentile%20aggregations
```
-## Referencias adicionales
+## Lectura adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
-
[1]: /es/metrics/types/
[2]: https://www.datadoghq.com/blog/engineering/computing-accurate-percentiles-with-ddsketch/
[3]: https://app.datadoghq.com/event/explorer
-[4]: https://app.datadoghq.com/metric/summary
\ No newline at end of file
+[4]: https://app.datadoghq.com/metric/summary
+[5]: /es/metrics/open_telemetry/otlp_metric_types/
\ No newline at end of file
diff --git a/content/es/observability_pipelines/configuration/set_up_pipelines.md b/content/es/observability_pipelines/configuration/set_up_pipelines.md
new file mode 100644
index 00000000000..39c1e499cb9
--- /dev/null
+++ b/content/es/observability_pipelines/configuration/set_up_pipelines.md
@@ -0,0 +1,187 @@
+---
+aliases:
+- /es/observability_pipelines/set_up_pipelines/
+disable_toc: false
+further_reading:
+- link: observability_pipelines/configuration/update_existing_pipelines/
+ tag: Documentación
+ text: Actualizar una canalización existente
+- link: observability_pipelines/configuration/install_the_worker/advanced_worker_configurations/
+ tag: Documentación
+ text: Configuraciones avanzadas de Worker para Pipelines de Observabilidad
+- link: observability_pipelines/configuration/install_the_worker/run_multiple_pipelines_on_a_host/
+ tag: Documentación
+ text: Ejecutar múltiples canalizaciones en un host
+- link: observability_pipelines/monitoring_and_troubleshooting/troubleshooting/
+ tag: Documentación
+ text: Solución de problemas de Pipelines de Observabilidad
+title: Configurar Pipelines
+---
+## Descripción general {#overview}
+
+Los pipelines y procesadores descritos en esta documentación son específicos para entornos de registro locales. Para agregar, procesar y enrutar registros basados en la nube, consulte
Canalizaciones de Gestión de Registros.
+
+En los Pipelines de Observabilidad, una canalización es un camino secuencial con tres tipos de componentes:
+- [Fuente][1]: Recibe datos de su fuente de datos (por ejemplo, el Agente de Datadog).
+- [Procesadores][2]: Enriquecen y transforman sus datos.
+- [Destinos][3]: Donde se envían sus datos procesados.
+
+{{< img src="observability_pipelines/archive_log_pipeline.png" alt="Pipeline con una fuente conectada a dos grupos de procesadores y dos destinos" style="width:100%;" >}}
+
+Puede crear una canalización con uno de los siguientes métodos:
+
+- [Interfaz de usuario de Pipeline](#set-up-a-pipeline-in-the-ui)
+- [API](#set-up-a-pipeline-with-the-api)
+- [Terraform](#set-up-a-pipeline-with-terraform)
+
+Consulte [Exportar una Configuración de Canalización a JSON o Terraform][14] si desea implementar programáticamente una canalización creada en la interfaz de usuario.
+
+## Configurar una canalización en la interfaz de usuario {#set-up-a-pipeline-in-the-ui}
+
+### Configura los componentes de la canalización {#set-up-pipeline-components}
+
+{{< tabs >}}
+{{% tab "Registros" %}}
+
+1. Navega a [Pipelines de Observabilidad][1].
+1. Selecciona una [plantilla][2] basada en tu caso de uso.
+1. Selecciona y configura tu [fuente][3].
+1. Agrega [procesadores][4] para transformar, redactar y enriquecer tus datos de registro. **Nota**: Para un lienzo de canalización, hay un límite de 25 grupos de procesadores y un total de 150 procesadores.
+ - Si deseas copiar un procesador, haz clic en el ícono de copiar para ese procesador y luego usa `command-v` para pegarlo.
+1. Selecciona y configura [destinos][5] para tus registros procesados.
+
+#### Agrega o elimina componentes {#add-or-remove-components}
+
+##### Agrega otro grupo de procesadores {#add-another-processor-group}
+
+{{< img src="observability_pipelines/setup/another_processor_group.png" alt="La página de Pipelines mostrando dos grupos de procesadores enviando registros al mismo destino" style="width:100%;" >}}
+
+{{% observability_pipelines/set_up_pipelines/add_another_processor_group %}}
+
+##### Agrega otro conjunto de procesadores y destinos {#add-another-set-of-processors-and-destinations}
+
+{{< img src="observability_pipelines/setup/another_set_processor_destination.png" alt="La página de Pipelines mostrando dos grupos de procesadores enviando registros a dos destinos diferentes" style="width:100%;" >}}
+
+{{% observability_pipelines/set_up_pipelines/add_another_set_of_processors_and_destinations %}}
+
+##### Agrega otro destino a un grupo de procesadores {#add-another-destination-to-a-processor-group}
+
+{{< img src="observability_pipelines/setup/another_destination.png" alt="La página de Pipelines mostrando un grupo de procesadores enviando registros a dos destinos diferentes" style="width:100%;" >}}
+
+{{% observability_pipelines/set_up_pipelines/add_another_destination %}}
+
+[1]: https://app.datadoghq.com/observability-pipelines
+[2]: /es/observability_pipelines/configuration/explore_templates/
+[3]: /es/observability_pipelines/sources/
+[4]: /es/observability_pipelines/processors/
+[5]: /es/observability_pipelines/destinations/
+[11]: /es/observability_pipelines/search_syntax/logs/
+
+{{% /tab %}}
+{{% tab "Métricas" %}}
+
+
+La gobernanza de etiquetas métricas está en vista previa. Complete el
formulario para solicitar acceso.
+
+1. Navega a [Observability Pipelines][1].
+1. Seleccione la plantilla de [Gobernanza de Etiquetas Métricas][2].
+1. Configure la fuente de [Agente de Datadog][3].
+1. Agregue [procesadores][4] para filtrar y transformar sus métricas. **Nota**: Para un lienzo de pipeline, hay un límite de 25 grupos de procesadores y un total de 150 procesadores.
+ - Si desea copiar un procesador, haga clic en el ícono de copiar para ese procesador y luego péguelo (`Cmd+V` en Mac, `Ctrl+V` en Windows/Linux).
+1. Configure el destino de [Métricas de Datadog][5].
+
+#### Agregue otro grupo de procesadores {#add-another-processor-group-1}
+
+{{< img src="observability_pipelines/setup/another_processor_group_metrics.png" alt="La página de Pipelines mostrando dos grupos de procesadores enviando registros al mismo destino" style="width:100%;" >}}
+
+{{% observability_pipelines/set_up_pipelines/add_another_processor_group %}}
+
+[1]: https://app.datadoghq.com/observability-pipelines
+[2]: /es/observability_pipelines/configuration/explore_templates/?tab=metrics#metric-tag-governance
+[3]: /es/observability_pipelines/sources/datadog_agent/?tab=metrics
+[4]: /es/observability_pipelines/processors/
+[5]: /es/observability_pipelines/destinations/datadog_metrics/
+[11]: /es/observability_pipelines/search_syntax/metrics/
+
+{{% /tab %}}
+{{< /tabs >}}
+
+### Instale el Worker y despliegue la canalización {#install-the-worker-and-deploy-the-pipeline}
+
+Después de haber configurado su fuente, procesadores y destinos, haga clic en **Siguiente: Instalar**. Consulte [Instalar el Worker][12] para obtener instrucciones sobre cómo instalar el Worker para su plataforma. Consulte [Configuraciones Avanzadas del Worker][5] para opciones de arranque.
+
+Si desea realizar cambios en su canalización después de haberla desplegado, consulte [Actualizar Canalizaciones Existentes][11].
+
+### Habilite monitores listos para usar para su canalización {#enable-out-of-the-box-monitors-for-your-pipeline}
+
+1. Navegue a la página de [Canalizaciones][4] y encuentre su canalización.
+1. Haga clic en **Habilitar monitores** en la columna **Monitores** para su canalización.
+1. Haga clic en **Iniciar** para configurar un monitor para uno de los casos de uso sugeridos.
+ - El monitor métrico está configurado según el caso de uso seleccionado. Puede actualizar la configuración para personalizarla aún más. Consulte la [documentación del monitor métrico][13] para más información.
+
+## Configure una canalización con la API {#set-up-a-pipeline-with-the-api}
+
+1. Utilice la API de Observability Pipelines para [crear una canalización][6]. Consulte la referencia de la API para ejemplos de cargas útiles de solicitudes.
+
+1. Después de crear la canalización, [instale el Worker][7] para enviar datos a través de la canalización.
+ - Consulte [Variables de Entorno][9] para la lista de variables de entorno que necesita para las diferentes fuentes, procesadores y destinos al instalar el Worker.
+
+Utilice el endpoint de [actualizar una canalización][8] para realizar cualquier cambio en una canalización existente.
+
+Consulte [Configuraciones Avanzadas del Worker][5] para opciones de arranque.
+
+## Configure un pipeline con Terraform {#set-up-a-pipeline-with-terraform}
+
+
+
+1. Puede utilizar el módulo [datadog_observability_pipeline][10] para crear un pipeline utilizando Terraform.
+
+1. Después de crear el pipeline, [instale el Worker][7] para enviar datos a través del pipeline.
+ - Consulte [Variables de Entorno][9] para la lista de variables de entorno que necesita para las diferentes fuentes, procesadores y destinos al instalar el Worker.
+
+Utilice el módulo [datadog_observability_pipeline][10] para realizar cualquier cambio en un pipeline existente.
+
+Consulte [Configuraciones Avanzadas del Worker][5] para opciones de arranque.
+
+## Clone un pipeline {#clone-a-pipeline}
+
+Para clonar un pipeline en la interfaz de usuario:
+
+1. Navegue a [Observability Pipelines][4].
+1. Seleccione el pipeline que desea clonar.
+1. Haga clic en el engranaje en la parte superior derecha de la página, luego seleccione **Clonar**.
+
+## Eliminar un pipeline{#delete-a-pipeline}
+
+Para eliminar un pipeline en la interfaz de usuario:
+
+1. Navegue a [Pipelines de Observabilidad][4].
+1. Seleccione el pipeline que desea eliminar.
+1. Haga clic en el engranaje en la parte superior derecha de la página, luego seleccione **Eliminar**.
+
+**Nota**: No puede eliminar un pipeline activo. Debe detener todos los Workers de un pipeline antes de poder eliminarlo.
+
+## Requisitos y límites del pipeline {#pipeline-requirements-and-limits}
+
+- Un pipeline debe tener al menos un destino. Si un grupo de procesadores solo tiene un destino, ese destino no puede ser eliminado.
+- Para pipelines de logs:
+ - Puede agregar un total de tres destinos para un pipeline de logs.
+
+## Lectura adicional {#further-reading}
+
+{{< partial name="whats-next/whats-next.html" >}}
+
+[1]: /es/observability_pipelines/sources/
+[2]: /es/observability_pipelines/processors/
+[3]: /es/observability_pipelines/destinations/
+[4]: https://app.datadoghq.com/observability-pipelines
+[5]: /es/observability_pipelines/configuration/install_the_worker/advanced_worker_configurations/
+[6]: /es/api/latest/observability-pipelines/#create-a-new-pipeline
+[7]: /es/observability_pipelines/configuration/install_the_worker/?tab=docker#api-or-terraform-pipeline-setup
+[8]: /es/api/latest/observability-pipelines/#update-a-pipeline
+[9]: /es/observability_pipelines/guide/environment_variables/
+[10]: https://registry.terraform.io/providers/DataDog/datadog/latest/docs
+[11]: /es/observability_pipelines/configuration/update_existing_pipelines/?
+[12]: /es/observability_pipelines/configuration/install_the_worker/
+[13]: /es/monitors/types/metric/
+[14]: /es/observability_pipelines/configuration/export_pipeline_configuration/
\ No newline at end of file
diff --git a/content/es/opentelemetry/compatibility.md b/content/es/opentelemetry/compatibility.md
index fe1795346b0..2f02105f667 100644
--- a/content/es/opentelemetry/compatibility.md
+++ b/content/es/opentelemetry/compatibility.md
@@ -3,106 +3,115 @@ disable_sidebar: false
further_reading:
- link: /opentelemetry/troubleshooting/
tag: Documentación
- text: Solucionar problemas de OpenTelemetry
-title: Compatibilidad de Datadog y OpenTelemetry
+ text: Solución de problemas de OpenTelemetry
+title: Compatibilidad entre Datadog y OpenTelemetry
---
+## Descripción general {#overview}
-## Información general
+Datadog ofrece múltiples opciones de configuración para adaptarse a diversos casos de uso, desde implementaciones completas de OpenTelemetry (OTel) hasta configuraciones híbridas que utilizan tanto componentes de OpenTelemetry como de Datadog. Esta página cubre la compatibilidad entre diferentes configuraciones y los productos y características de Datadog compatibles, ayudándote a elegir la mejor configuración para tus necesidades.
-Datadog ofrece múltiples opciones de configuración para adaptarse a diversos casos de uso, desde implementaciones completas de OpenTelemetry (OTel) hasta configuraciones híbridas que utilizan componentes tanto de OpenTelemetry como de Datadog. En esta página, se describe la compatibilidad entre las distintas configuraciones y los productos y funciones compatibles con Datadog, lo que te ayudará a elegir la mejor configuración para tus necesidades.
+## Configuraciones {#setups}
-## Configuraciones
+Datadog admite varias configuraciones para utilizar OpenTelemetry. La principal diferencia entre estas configuraciones es la elección del SDK (OpenTelemetry o Datadog) y el colector utilizado para procesar y enviar datos de telemetría.
-Datadog admite varias configuraciones para el uso de OpenTelemetry. La principal diferencia entre estas configuraciones es la elección de SDK (OpenTelemetry o Datadog) y el recopilador utilizado para procesar y reenviar datos de telemetría.
-
-| Tipo de configuración | API | SDK | Collector/Agent |
+| Tipo de configuración | API | SDK | Colector/Agente |
|--------------------------------------------|-------------------------|-------------|-----------------------------------------------|
-| [**SDK Datadog + DDOT (Recomendado)**][29] | API de Datadog o API de OpenTelemetry | SDK Datadog | Distribución Datadog del OTel Collector (DDOT) |
-| [**SDK OTel + DDOT**][29] | API de OTel | SDK OTel | Distribución Datadog del OTel Collector (DDOT) |
-| [**SDK OTel + OSS Collector**][7] | API de OTel | SDK OTel | OTel Collector (OSS) |
-| [**Ingesta OTLP directa**][28] | API de OTel | SDK OTel | N/A (Directo al endpoint Datadog) |
+| [**SDK de Datadog + DDOT (Recomendado)**][29] | API de Datadog o API de OTel | SDK de Datadog | Distribución de Datadog del colector de OTel (DDOT) |
+| [**SDK de OTel + DDOT**][29] | API de OTel | SDK de OTel | Distribución de Datadog del colector de OTel (DDOT) |
+| [**SDK de OTel + Colector OSS**][7] | API de OTel | SDK de OTel | Colector de OTel (OSS) |
+| [**Ingesta directa de OTLP**][28] | API de OTel | SDK de OTel | N/A (Directo al endpoint de Datadog) |
-## Compatibilidad de funciones
+## Compatibilidad de características {#feature-compatibility}
-En la siguiente tabla se muestra la compatibilidad de funciones en diferentes configuraciones:
+La siguiente tabla muestra la compatibilidad de características entre diferentes configuraciones:
-| Función | SDK Datadog + DDOT (Recomendado) | SDK OTel + DDOT | SDK OTel + OSS Collector | Ingesta OTLP directa |
+| Característica | SDK de Datadog + DDOT (Recomendado) | SDK de OTel + DDOT | SDK de OTel + Colector OSS | Ingesta directa de OTLP |
|---|---|---|---|---|
| [Cloud SIEM][18] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} |
-| [Trazas (traces) correlacionadas, métricas, logs][19] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} |
-| [Rastreo distribuido][27] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} |
-| [LLM Observability][38] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} |
-| [Métricas de tiempo de ejecución][23] | {{< X >}} | {{< X >}}
(solo Java, .NET, Go) | {{< X >}}
(solo Java, .NET, Go) | {{< X >}}
(solo Java, .NET, Go) |
-| [Enlaces de tramo] (span)[25] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} |
-| [Métricas de trazas][26] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}}
({{< tooltip text="Muestreado" tooltip="Calculado en tramos que llegan a Datadog; refleja cualquier muestreo del lado de OTel que configures." >}}) |
-| [Database Monitoring][14] (DBM) | {{< X >}} | {{< X >}} | | |
-| [Lista de hosts de infraestructura][30] | {{< X >}} | {{< X >}} | {{< X >}} | |
+| [Trazas, métricas y registros correlacionados][19] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} |
+| [Trazado distribuido][27] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} |
+| [Observabilidad de LLM][38] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} |
+| [Métricas de Tiempo de Ejecución][23] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} |
+| [Enlaces de Span][25] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}} |
+| [Métricas de Traza][26] | {{< X >}} | {{< X >}} | {{< X >}} | {{< X >}}
({{< tooltip text="Sampled" tooltip="Calculated from spans that reach Datadog; reflects any OTel-side sampling you configure." >}}) |
+| [Monitoreo de Base de Datos][14] (DBM) | {{< X >}} | {{< X >}} | | |
+| [Lista de Servidores de Infraestructura][30] | {{< X >}} | {{< X >}} | {{< X >}} | |
| [Cloud Network Monitoring][21] (CNM) | {{< X >}} | {{< X >}} | | |
-| [Live Container Monitoring/Kubernetes Explorer][20] | {{< X >}} | {{< X >}} | | |
+| [Monitoreo de Contenedores en Vivo/Explorador de Kubernetes][20] | {{< X >}} | {{< X >}} | | |
| [Live Processes][16] | {{< X >}} | {{< X >}} | | |
| [Universal Service Monitoring][17] (USM) | {{< X >}} | {{< X >}} | | |
| [App and API Protection][11] (AAP) | {{< X >}} | | | |
| [Continuous Profiler][12] | {{< X >}} | | | |
-| [Observabilidad de datos: monitorización de trabajos][13] (DJM) | {{< X >}} | | | |
-| [Data Streams Monitoring][15] (DSM) | {{< X >}} | | {{< tooltip text="N/A" tooltip="OTel no ofrece la funcionalidad de DSM" >}} | {{< tooltip text="N/A" tooltip="OTel no ofrece la funcionalidad de DSM" >}} |
+| [Data Observability: Jobs Monitoring][13] (DJM) | {{< X >}} | | | |
+| [Data Streams Monitoring][15] (DSM) | {{< X >}} | | {{< tooltip text="N/A" tooltip="OTel does not offer DSM functionality" >}} | {{< tooltip text="N/A" tooltip="OTel does not offer DSM functionality" >}} |
| [Real User Monitoring][22] (RUM) | {{< X >}} | | | |
-| [Integración de código fuente][24] | {{< X >}} | | | |
+| [Integración de Código Fuente][24] | {{< X >}} | | | |
-## Soporte de API
+## Soporte de API {#api-support}
-Los SDK Datadog son compatibles con las API de trazas, métricas y logs de OpenTelemetry en varios lenguajes. Busca tu lenguaje en la tabla siguiente para obtener guías de configuración e información de asistencia.
+Los SDKs de Datadog proporcionan soporte para las APIs de OpenTelemetry Traces, Metrics y Logs en varios lenguajes. Encuentra tu lenguaje en la tabla a continuación para guías de configuración y detalles de soporte.
-| Lenguaje | API de trazas | API de métricas | API de logs |
+| Lenguaje | API de Traces | API de Metrics | API de Logs |
| :--- | :---: | :---: | :---: |
| [.NET][31] | {{< X >}} | {{< X >}} | {{< X >}} |
| [Python][32] | {{< X >}} | {{< X >}} | {{< X >}} |
| [Node.js][33] | {{< X >}} | {{< X >}} | {{< X >}} |
-| [Java] [34] | {{< X >}} | *Aún no es compatible* | *Aún no es compatible* |
-| [Go][35] | {{< X >}} | *Aún no es compatible* | *Aún no es compatible* |
-| [Ruby][36] | {{< X >}} | Alpha | *Aún no es compatible* |
-| [PHP][37] | {{< X >}} | *Aún no es compatible* | *Aún no es compatible* |
+| [Java][34] | {{< X >}} | {{< X >}} | *No Soportado Aún* |
+| [Go][35] | {{< X >}} | {{< X >}} | {{< X >}} |
+| [Ruby][36] | {{< X >}} | Alpha | *No Soportado Aún* |
+| [PHP][37] | {{< X >}} | {{< X >}} | *No Soportado Aún* |
+
+## Más detalles {#more-details}
+
+### Observabilidad de LLM {#llm-observability}
+
+Las trazas de OpenTelemetry que tienen [atributos de IA generativa](https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-spans/) se convierten automáticamente en trazas de LLM Observability. Para deshabilitar esta conversión, consulte [Deshabilitar la conversión de Observabilidad de LLM][38].
+
+### Métricas de tiempo de ejecución {#runtime-metrics}
+
+- **Configuraciones del SDK de Datadog**: Emita [Métricas de Tiempo de Ejecución][23] utilizando DogStatsD (puerto UDP 8125). Asegúrese de que DogStatsD esté habilitado en su Agente de Datadog.
+- **Configuraciones del SDK de OpenTelemetry**: Siga la especificación de [Métricas de Tiempo de Ejecución de OpenTelemetry][1] y generalmente se envían utilizando OTLP (puerto 4317/4318).
-## Más detalles
+### Monitoreo de Usuarios Reales (RUM) {#real-user-monitoring-rum}
-### LLM Observability
+Para habilitar la funcionalidad completa de RUM, necesita [inyectar encabezados soportados][2] para correlacionar RUM y trazas.
-Las trazas de OpenTelemetry que tienen [atributos de IA generativa](https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-spans/) se convierten automáticamente en trazas de LLM Observability. Para desactivar esta conversión, consulta [Desactivar la conversión de LLM Observability][38].
+### Monitoreo de Redes en la Nube (CNM) {#cloud-network-monitoring-cnm}
-### Métricas de tiempos de ejecución
+El monitoreo a nivel de span o a nivel de endpoint **no** es compatible.
-- **Configuraciones de SDK Datadog**: Emite [métricas de tiempo de ejecución][23] utilizando el (puerto UDP 8125) de DogStatsD. Asegúrate de que DogStatsD está activado en tu Datadog Agent.
-- **Configuraciones de SDK OpenTelemetry**: Siguen la especificación en [Métricas de tiempo de ejecución de OpenTelemetry][1] y suelen enviarse utilizando OTLP (puerto 4317/4318).
+Para más información, consulte [Configuración de Monitoreo de Redes en la Nube][3].
-### Real User Monitoring (RUM)
+### Integración de Código Fuente {#source-code-integration}
-Para habilitar la funcionalidad de RUM completa, necesitas [inyectar encabezados compatibles][2] para correlacionar RUM y trazas.
+Para lenguajes no soportados en configuraciones de OpenTelemetry, [configure el etiquetado de telemetría][5] para vincular datos a un commit específico.
-### Cloud Network Monitoring (CNM)
+## Niveles de soporte {#support-levels}
-La monitorización a nivel de tramo o endpoint **no** es compatible.
+Datadog proporciona diferentes niveles de soporte para componentes y configuraciones de OpenTelemetry:
-Para más información, consulta [Configuración de Cloud Network Monitoring][3].
+- **Componentes Soportados por Datadog**: Componentes de propiedad de Datadog como el [Conector de Datadog][39], [Exportador de Datadog][40] y [Procesador de Atributos de Infraestructura][41]. Estos componentes son mantenidos por Datadog, reciben actualizaciones regulares y tienen prioridad para correcciones de errores y mejoras de características.
-### Integración del código fuente
+- **Componentes Soportados por la Comunidad**: Componentes de OpenTelemetry [incluidos con el DDOT Collector][42] por defecto. Datadog ayuda a garantizar que estos componentes sean seguros, estables y compatibles.
-Para lenguajes no compatibles en configuraciones de OpenTelemetry, [configura el etiquetado de telemetría][5] para vincular los datos a una confirmación específica.
+- **Componentes personalizados**: Componentes o configuraciones de OpenTelemetry que no están incluidos por defecto, como [componentes de Collector personalizados][43] o [instrumentación de entornos no soportados][44]. Datadog proporciona orientación y documentación como punto de partida, pero no apoya directamente la funcionalidad de estos componentes. Para problemas con componentes personalizados, interactúe con la [comunidad de OpenTelemetry][45] o con los mantenedores de los componentes.
-## Soporte de plataformas y entornos
+## Soporte de plataforma y entorno {#platform-and-environment-support}
-Aunque el OpenTelemetry Collector puede desplegarse en muchos entornos, algunas plataformas tienen limitaciones o requisitos de compatibilidad específicos.
+Si bien el Collector de OpenTelemetry se puede implementar en muchos entornos, ciertas plataformas tienen limitaciones específicas o requisitos de soporte.
-* **AWS EKS Fargate**: Este entorno **aún no es compatible** y dará lugar a una facturación incorrecta del host de infraestructura cuando se utilice con el OpenTelemetry Collector. El soporte oficial está previsto para una futura versión. Consulta la [guía de configuración del recopilador][7] para obtener información más actualizada.
+* **AWS EKS Fargate**: Este entorno **no está actualmente soportado** y resultará en una facturación incorrecta del servidor de infraestructura cuando se use con el OpenTelemetry Collector. Se planea soporte oficial para una futura versión. Consulte la [guía de configuración del Collector][7] para obtener la información más actualizada.
-## Prácticas recomendadas
+## Mejores prácticas {#best-practices}
-Cuando se utiliza Datadog y OpenTelemetry juntos, Datadog recomienda las siguientes mejores prácticas para garantizar un rendimiento óptimo y evitar posibles problemas:
+Al usar Datadog y OpenTelemetry juntos, Datadog recomienda las siguientes mejores prácticas para garantizar un rendimiento óptimo y evitar problemas potenciales:
-- **Evita la instrumentación mixta**: En la mayoría de los casos, no debes utilizar un SDK Datadog junto a un SDK OpenTelemetry en la misma aplicación, ya que esto conduce a un comportamiento indefinido.
- - **Excepción**: La compatibilidad con algunos lenguajes, como Python, requiere la instalación del SDK Datadog y del SDK OpenTelemetry.
- - Sigue siempre la [documentación de instrumentación específica del lenguaje][8] para asegurarte de que estás utilizando la configuración correcta y compatible.
-- **Evita tener un Agent y un recopilador separado en el mismo host**: no ejecutes el Agent y un OpenTelemetry Collector separado en el mismo host, ya que esto puede causar problemas. Sin embargo, puedes ejecutar Agents y recopiladores en diferentes hosts dentro de la misma flota.
+- **Evite la instrumentación mixta**: En la mayoría de los casos, no debe usar tanto un SDK de Datadog como un SDK de OpenTelemetry en la misma aplicación, ya que esto conduce a un comportamiento indefinido.
+ - **Excepción**: El soporte para algunos lenguajes, como Python, requiere que tanto el SDK de Datadog como el SDK de OpenTelemetry estén instalados.
+ - Siempre siga la documentación de instrumentación específica para [cada lenguaje][8] para asegurarse de que está utilizando la configuración correcta y soportada.
+- **Avoid Agent and separate Collector on same host**: Evite el Datadog Agent y el OpenTelemetry Collector separado en el mismo servidor: No ejecute el Datadog Agent y un OpenTelemetry Collector separado en el mismo servidor, ya que esto puede causar problemas. Sin embargo, puede ejecutar Datadog Agents y OpenTelemetry Collectors en diferentes servidores dentro de la misma flota.
-## Referencias adicionales
+## Lectura adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
@@ -143,4 +152,11 @@ Cuando se utiliza Datadog y OpenTelemetry juntos, Datadog recomienda las siguien
[35]: /es/opentelemetry/instrument/api_support/go/
[36]: /es/opentelemetry/instrument/api_support/ruby/
[37]: /es/opentelemetry/instrument/api_support/php/
-[38]: /es/llm_observability/instrumentation/otel_instrumentation/
\ No newline at end of file
+[38]: /es/llm_observability/instrumentation/otel_instrumentation/
+[39]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/connector/datadogconnector/README.md
+[40]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/datadogexporter/README.md
+[41]: https://github.com/DataDog/datadog-agent/tree/main/comp/otelcol/otlp/components/processor/infraattributesprocessor#readme
+[42]: /es/opentelemetry/setup/ddot_collector/#opentelemetry-collector-components
+[43]: /es/opentelemetry/setup/ddot_collector/custom_components
+[44]: /es/opentelemetry/guide/instrument_unsupported_runtimes
+[45]: https://opentelemetry.io/community/
\ No newline at end of file
diff --git a/content/es/real_user_monitoring/application_monitoring/browser/_index.md b/content/es/real_user_monitoring/application_monitoring/browser/_index.md
index 7b4a5a88d17..a734637fe69 100644
--- a/content/es/real_user_monitoring/application_monitoring/browser/_index.md
+++ b/content/es/real_user_monitoring/application_monitoring/browser/_index.md
@@ -1,37 +1,45 @@
---
aliases:
- /es/real_user_monitoring/browser/
-description: Monitoriza datos reales de usuarios y el rendimiento del frontend con
- el kit de desarrollo de software (SDK) del navegador de Datadog RUM para optimizar
- las experiencias web e identificar problemas en toda la pila.
+description: Realice seguimiento de los datos reales de usuario y del rendimiento
+ del frontend con Datadog RUM Browser SDK para optimizar las experiencias web e identificar
+ problemas en toda la pila.
further_reading:
- link: /real_user_monitoring/explorer/
tag: Documentación
- text: Más información sobre el Explorador RUM
+ text: Aprenda sobre RUM Explorer.
- link: /logs/log_collection/javascript/
tag: Documentación
- text: Información sobre el SDK del navegador para logs de Datadog
-title: Monitorización del Navegador RUM
+ text: Aprenda sobre Datadog Browser SDK for Logs.
+- link: https://learn.datadoghq.com/courses/intro-to-rum
+ tag: Centro de aprendizaje
+ text: Introducción a RUM (Real User Monitoring)
+title: Seguimiento del navegador RUM
---
+## Visión general {#overview}
-## Información general
+Datadog Real User Monitoring (RUM) le permite visualizar y analizar el rendimiento en tiempo real y los recorridos de los usuarios individuales de su aplicación.
-Datadog Real User Monitoring (RUM) te permite visualizar y analizar el rendimiento en tiempo real y los recorridos de cada usuario de tu aplicación.
+## Comience a hacer seguimiento de aplicaciones de navegador {#start-monitoring-browser-applications}
-## Iniciar la monitorización de las aplicaciones del navegador
-
-Para empezar con RUM para el navegador, crea una aplicación y configura el SDK del navegador.
+Para comenzar con RUM for Browser, cree una aplicación y configure el Browser SDK.
{{< whatsnext desc="Esta sección incluye los siguientes temas:" >}}
- {{< nextlink href="real_user_monitoring/application_monitoring/browser/setup/client">}}Lado del cliente: instrumenta cada una de las aplicaciones web basadas en el navegador, despliega la aplicación y, a continuación, configura los parámetros de inicialización que deseas rastrear y utiliza la configuración avanzada para gestionar mejor los datos y contexto que recopila RUM.{{< /nextlink >}}
- {{< nextlink href="/real_user_monitoring/application_monitoring/browser/setup/server">}}Autoinstrumentación: inyecta un scriplet de RUM SDK JavaScript en las respuestas HTML de tus aplicaciones web enviadas a través de un servidor web o proxy.{{< /nextlink >}}
- {{< nextlink href="/real_user_monitoring/application_monitoring/browser/advanced_configuration">}}Configuración avanzada: configura el SDK de RUM Browser para modificar la recopilación de datos, anular los nombres de vistas, gestionar las sesiones de usuario y controlar el muestreo de las necesidades de tu aplicación.{{< /nextlink >}}
- {{< nextlink href="/real_user_monitoring/application_monitoring/browser/data_collected">}}Datos recopilados: revisa los datos que recopila el SDK del navegador.{{< /nextlink >}}
- {{< nextlink href="/real_user_monitoring/application_monitoring/browser/monitoring_page_performance">}}Monitorización del rendimiento de página: monitoriza los tiempos de vista para comprender el rendimiento de tu aplicación desde la perspectiva de un usuario. {{< /nextlink >}}
- {{< nextlink href="/real_user_monitoring/application_monitoring/browser/optimizing_performance">}}Optimización del rendimiento: usa la página de optimización de RUM para identificar y resolver problemas de rendimiento del navegador con un análisis de Core Web Vitals y visualización de experiencia del usuario.{{< /nextlink >}}
- {{< nextlink href="/real_user_monitoring/application_monitoring/browser/monitoring_resource_performance">}}Monitorización de rendimiento del recurso: monitoriza el rendimiento del recurso de navegador y vincula los datos de RUM con trazas de backend para obtener una visibilidad integral.{{< /nextlink >}}
- {{< nextlink href="/real_user_monitoring/application_monitoring/browser/collecting_browser_errors">}}Recopilación de errores de navegador: conoce cómo recopilar y rastrear los errores de frontend desde varias fuentes usando el SDK de errors RUM Browser SDK, incluida la recopilación manual de errores y los límites de errores React.{{< /nextlink >}}
- {{< nextlink href="/real_user_monitoring/application_monitoring/browser/tracking_user_actions">}}Rastreo de acciones de usuario: rastrea y analiza las interacciones de usuario en tu aplicación de navegador con la detección de clics automática y la información de rendimiento de la acción.{{< /nextlink >}}
- {{< nextlink href="/real_user_monitoring/application_monitoring/browser/frustration_signals">}}Señales de frustración: identifica los puntos de fricción de usuarios con señales de frustración de RUM (incluidos clics repetidos, clic sin resultados y clics de error) para mejorar la experiencia del usuario y reducir el abandono.{{< /nextlink >}}
- {{< nextlink href="/real_user_monitoring/application_monitoring/browser/troubleshooting">}}Solución de problemas: soluciones comunes de problemas del SDK del navegador.{{< /nextlink >}}
-{{< /whatsnext >}}
\ No newline at end of file
+ {{< nextlink href="real_user_monitoring/application_monitoring/browser/setup/client">}}Client-Side: Instrumente cada una de sus aplicaciones web basadas en navegador, despliegue la aplicación, luego configure los parámetros de inicialización que desea rastrear y utilice la configuración avanzada para gestionar de forma más exhaustiva los datos y el contexto que RUM recopila.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/setup/server">}}Auto-Instrumentación: Inyecte un script JavaScript del SDK de RUM en las respuestas HTML de sus aplicaciones web que se sirven a través de un servidor web o proxy.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/agentic_onboarding/?tab=realusermonitoring">}}Agentic Onboarding: (En Vista Previa) Realice una configuración guiada por IA que detecte el marco de su proyecto y añada el SDK de RUM con un solo aviso. {{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/advanced_configuration">}}Configuración Avanzada: Configure el RUM Browser SDK para modificar la recopilación de datos, sobrescribir nombres de vistas, gestionar sesiones de usuario y controlar el muestreo según las necesidades de su aplicación.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/build_plugins">}}Build Plugins: Integre los build plugins de Datadog con su empaquetador de JavaScript para automatizar las cargas de mapas del código fuente, la desofuscación de nombres de acción y otras tareas de RUM en el momento de la construcción.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/data_collected">}}Datos Recopilados: Revise los datos que recopila el Browser SDK.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/monitoring_page_performance">}}Monitoring Page Performance: Haga seguimiento de los tiempos de visualización para entender el rendimiento de su aplicación desde la perspectiva del usuario. {{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/optimizing_performance">}}Optimizing Performance: Utilice la página de Optimización de RUM para identificar y solucionar problemas de rendimiento del navegador mediante el análisis de Core Web Vitals y la visualización de la experiencia del usuario.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/monitoring_resource_performance">}}Monitoring Resource Performance: Haga seguimiento del rendimiento de los recursos del navegador y vincule los datos de RUM con las trazas del backend para lograr una visibilidad completa de extremo a extremo.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/collecting_browser_errors">}}Collecting Browser Errors: Aprenda a recolectar y hacer seguimiento de los errores del frontend desde múltiples fuentes utilizando el RUM Browser SDK, incluyendo la recolección manual de errores y los límites de error de React.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/tracking_user_actions">}}Tracking User Actions: Rastree y analice las interacciones de los usuarios en su aplicación de navegador con detección automática de clics y análisis del rendimiento de las acciones.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/frustration_signals">}}Frustration Signals: Identifique los puntos de fricción del usuario con las señales de frustración de RUM (incluyendo clics de rabia, clics muertos y clics de error) para mejorar la experiencia del usuario y reducir el abandono.{{< /nextlink >}}
+ {{< nextlink href="/real_user_monitoring/application_monitoring/browser/troubleshooting">}}Troubleshooting: Problemas comunes del Browser SDK.{{< /nextlink >}}
+{{< /whatsnext >}}
+
+## Lectura adicional{#further-reading}
+
+{{< partial name="whats-next/whats-next.html" >}}
\ No newline at end of file
diff --git a/content/es/real_user_monitoring/application_monitoring/react_native/setup/_index.mdoc.md b/content/es/real_user_monitoring/application_monitoring/react_native/setup/_index.mdoc.md
new file mode 100644
index 00000000000..deb0586d320
--- /dev/null
+++ b/content/es/real_user_monitoring/application_monitoring/react_native/setup/_index.mdoc.md
@@ -0,0 +1,77 @@
+---
+aliases:
+- /es/real_user_monitoring/react-native/
+- /es/real_user_monitoring/reactnative/
+- /es/real_user_monitoring/mobile_and_tv_monitoring/setup/reactnative
+- /es/real_user_monitoring/mobile_and_tv_monitoring/react_native/setup
+- /es/real_user_monitoring/mobile_and_tv_monitoring/react_native/setup/reactnative/
+- /es/real_user_monitoring/application_monitoring/react_native/setup/expo/
+- /es/real_user_monitoring/reactnative/expo/
+- /es/real_user_monitoring/reactnative-expo/
+- /es/real_user_monitoring/mobile_and_tv_monitoring/setup/expo
+- /es/real_user_monitoring/mobile_and_tv_monitoring/expo/setup
+- /es/real_user_monitoring/mobile_and_tv_monitoring/react_native/setup/expo/
+content_filters:
+- label: Setup Method
+ option_group_id: rum_react_native_framework_options
+ trait_id: platform
+description: Recopile datos de RUM y Error Tracking de sus proyectos de React Native.
+further_reading:
+- link: /real_user_monitoring/application_monitoring/react_native/advanced_configuration
+ tag: Documentación
+ text: Configuración avanzada de RUM para React Native
+- link: https://github.com/DataDog/dd-sdk-reactnative
+ tag: Código fuente
+ text: Código fuente para dd-sdk-reactnative
+- link: https://www.datadoghq.com/blog/react-native-monitoring/
+ tag: Blog
+ text: Monitoree aplicaciones de React Native
+- link: real_user_monitoring/guide/monitor-hybrid-react-native-applications
+ tag: Documentación
+ text: Monitoree aplicaciones híbridas de React Native
+- link: real_user_monitoring/explorer/
+ tag: Documentación
+ text: Aprenda cómo explorar sus datos de RUM
+title: Configuración de monitoreo de React Native
+---
+Esta página describe cómo instrumentar sus aplicaciones para [Real User Monitoring (RUM)][1] con el React Native SDK. RUM incluye Error Tracking por defecto, pero si ha adquirido Error Tracking como un producto independiente, consulte la [guía de configuración de Error Tracking][2] para pasos específicos.
+
+La versión mínima soportada para el SDK de React Native es React Native v0.65+. La compatibilidad con versiones anteriores no está garantizada de forma predeterminada.
+
+## Configuración {% #setup %}
+
+
+{% if equals($platform, "react_native") %}
+{% partial file="sdk/setup/react-native.mdoc.md" /%}
+{% /if %}
+
+
+{% if equals($platform, "expo") %}
+{% partial file="sdk/setup/react-native-expo.mdoc.md" /%}
+{% /if %}
+
+## Enviando datos cuando el dispositivo está desconectado {% #sending-data-when-device-is-offline %}
+
+El SDK de React Native ayuda a que los datos estén disponibles cuando el dispositivo del usuario está desconectado. En casos de áreas con baja red, o cuando la batería del dispositivo está demasiado baja, todos los eventos se almacenan primero en el dispositivo local en lotes. Se envían tan pronto como la red está disponible y la batería es lo suficientemente alta para que el SDK de React Native no afecte la experiencia del usuario final. Si la red no está disponible con su aplicación ejecutándose en primer plano, o si una carga de datos falla, el lote se mantiene hasta que se pueda enviar con éxito.
+
+Esto significa que incluso si los usuarios abren su aplicación mientras están desconectados, no se pierde ningún dato.
+
+**Nota**: Los datos en el disco se eliminan automáticamente si se vuelven demasiado antiguos para que el SDK de React Native no use demasiado espacio en disco.
+
+## Rastree eventos en segundo plano {% #track-background-events %}
+
+{% alert level="info" %}
+El seguimiento de eventos en segundo plano puede llevar a sesiones adicionales, lo que puede afectar la facturación. Para preguntas, [contacte al soporte de Datadog][12].
+{% /alert %}
+
+Puede rastrear eventos como fallos y solicitudes de red cuando su aplicación está en segundo plano (por ejemplo, cuando no hay una visualización activa disponible).
+
+Agregue el siguiente fragmento durante la inicialización en su configuración de Datadog:
+
+```javascript
+rumConfiguration.trackBackgroundEvents = true;
+```
+
+[1]: /es/real_user_monitoring/
+[2]: /es/error_tracking/
+[12]: https://docs.datadoghq.com/es/help/
\ No newline at end of file
diff --git a/content/es/real_user_monitoring/correlate_with_other_telemetry/apm/_index.md b/content/es/real_user_monitoring/correlate_with_other_telemetry/apm/_index.md
new file mode 100644
index 00000000000..7ed82f29c2f
--- /dev/null
+++ b/content/es/real_user_monitoring/correlate_with_other_telemetry/apm/_index.md
@@ -0,0 +1,759 @@
+---
+algolia:
+ tags:
+ - rum traces
+aliases:
+- /es/real_user_monitoring/connect_rum_and_traces
+- /es/real_user_monitoring/platform/connect_rum_and_traces/
+description: Conecte los datos de RUM del frontend con las trazas de APM del backend
+ para obtener visibilidad de extremo a extremo a través de su pila de aplicaciones
+ y el recorrido del usuario.
+further_reading:
+- link: https://www.datadoghq.com/blog/real-user-monitoring-with-datadog/
+ tag: Blog
+ text: RUM
+- link: https://www.datadoghq.com/blog/modern-frontend-monitoring/
+ tag: Blog
+ text: Comience a monitorear aplicaciones de una sola página
+- link: /logs/guide/ease-troubleshooting-with-cross-product-correlation/
+ tag: Guía
+ text: Facilite la solución de problemas con la correlación entre productos
+- link: /tracing/
+ tag: Documentación
+ text: APM y trazado distribuido
+- link: /real_user_monitoring
+ tag: Documentación
+ text: RUM y Reproducción de Sesiones
+- link: https://www.datadoghq.com/blog/troubleshoot-with-session-replay-developer-tools/
+ tag: Blog
+ text: Solucione problemas con las herramientas de desarrollo del navegador de Reproducción
+ de Sesiones
+- link: https://www.datadoghq.com/blog/correlate-traces-datadog-rum-otel/
+ tag: Blog
+ text: Correlacione los eventos de RUM de Datadog con las trazas de aplicaciones
+ instrumentadas con OpenTelemetry
+- 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: Conecte RUM y Trazos
+---
+{{< img src="real_user_monitoring/connect_rum_and_traces/rum-trace-tab.png" alt="RUM y Trazos" style="width:100%;">}}
+
+## Resumen {#overview}
+
+La integración de APM con RUM le permite vincular solicitudes de sus aplicaciones web y móviles con sus trazas de backend correspondientes. Esta combinación le permite ver todos sus datos de frontend y backend a través de una sola lente.
+
+Utilice los datos de frontend de RUM, así como la información de backend, infraestructura y log de la inyección de ID de traza para identificar problemas en cualquier parte de su pila y comprender lo que están experimentando sus usuarios.
+
+Para comenzar a enviar solo las trazas de su aplicación iOS a Datadog, consulte [Colección de Trazas de iOS][1].
+
+## Uso {#usage}
+
+### Requisitos previos {#prerequisites}
+
+- Has configurado [trazado de APM][2] en los servicios dirigidos por tus aplicaciones RUM.
+- Tus servicios utilizan un servidor HTTP.
+- Tus servidores HTTP están utilizando [una biblioteca que soporta trazado distribuido](#supported-libraries).
+- Tienes lo siguiente configurado basado en tu SDK:
+ - Con el **SDK de Navegador**, has agregado los recursos XMLHttpRequest (XHR) o Fetch en el Explorador RUM a tu `allowedTracingUrls`.
+ - Con el **SDK Móvil**, has agregado el Native o XMLHttpRequest (XHR) a tu `firstPartyHosts`.
+- Tienes una traza correspondiente para las solicitudes a `allowedTracingUrls` o `firstPartyHosts`.
+
+### Configura RUM {#setup-rum}
+
+**Nota:** Configurar RUM y Trazas utiliza datos de APM de pago en RUM, lo que puede afectar tu facturación de APM.
+
+{{< tabs >}}
+{{% tab "RUM de Navegador" %}}
+
+1. Configura [Monitoreo de Navegador RUM][1].
+
+2. Inicializa el SDK de RUM. Configura el `allowedTracingUrls` parámetro de inicialización con la lista de orígenes internos y de primera parte llamados por tu aplicación de navegador.
+
+ Para **npm install**:
+ ```javascript
+ import { datadogRum } from '@datadog/browser-rum'
+
+ datadogRum.init({
+ clientToken: '',
+ applicationId: '',
+ site: 'datadoghq.com',
+ // service: 'my-web-application',
+ // env: 'production',
+ // version: '1.0.0',
+ allowedTracingUrls: [
+ "https://api.example.com",
+ // Matches any subdomain of my-api-domain.com, such as https://foo.my-api-domain.com
+ /^https:\/\/[^\/]+\.my-api-domain\.com/,
+ // You can also use a function for advanced matching:
+ (url) => url.startsWith("https://api.example.com")
+ ],
+ sessionSampleRate: 100,
+ sessionReplaySampleRate: 100, // if not specified, defaults to 100
+ trackResources: true,
+ trackLongTasks: true,
+ trackUserInteractions: true,
+ })
+ ```
+
+ Para **instalación CDN**:
+
+ ```javascript
+ window.DD_RUM.init({
+ clientToken: '',
+ applicationId: '',
+ site: 'datadoghq.com',
+ // service: 'my-web-application',
+ // env: 'production',
+ // version: '1.0.0',
+ allowedTracingUrls: [
+ "https://api.example.com",
+ // Matches any subdomain of my-api-domain.com, such as https://foo.my-api-domain.com
+ /^https:\/\/[^\/]+\.my-api-domain\.com/,
+ // You can also use a function for advanced matching:
+ (url) => url.startsWith("https://api.example.com")
+ ],
+ sessionSampleRate: 100,
+ sessionReplaySampleRate: 100, // if not included, the default is 100
+ trackResources: true,
+ trackLongTasks: true,
+ trackUserInteractions: true,
+ })
+ ```
+
+ To connect RUM to Traces, you need to specify your browser application in the `service` field.
+
+ `allowedTracingUrls` matches the full URL (`://[:]/[?][#]`). It accepts the following types:
+ - `string`: matches any URL that starts with the value, so `https://api.example.com` matches `https://api.example.com/v1/resource`.
+ - `RegExp`: matches if any substring of the URL matches the provided RegExp. For example, `/^https:\/\/[^\/]+\.my-api-domain\.com/` matches URLs like `https://foo.my-api-domain.com/path`, but not `https://notintended.com/?from=guess.my-api-domain.com`. **Note:** The RegExp is not anchored to the start of the URL unless you use `^`. Be careful, as overly broad patterns can unintentionally match unwanted URLs and cause CORS errors.
+ - `function`: evaluates with the URL as parameter. Returning a `boolean` set to `true` indicates a match.
+
+Al usar RegExp, el patrón se prueba contra toda la URL como una subcadena, no solo el prefijo. Para evitar coincidencias no intencionadas, ancla tu RegExp con `^` y sé lo más específico posible.
+
+3. _(Opcional)_ Configura el parámetro de inicialización `traceSampleRate` para mantener un porcentaje definido de los rastros del backend. Si no se establece, el 100 % de las trazas provenientes de solicitudes del navegador se envían a Datadog. Para mantener el 20 % de las trazas del backend, por ejemplo:
+
+ ```javascript
+ import { datadogRum } from '@datadog/browser-rum'
+
+ datadogRum.init({
+ ...otherConfig,
+ traceSampleRate: 20
+ })
+ ```
+
+**Nota**: `traceSampleRate` **no** impacta el muestreo de sesiones RUM. Solo se muestrean los rastros del backend.
+
+4. _(Opcional)_ Si configuras un `traceSampleRate`, para asegurar que las decisiones de muestreo de los servicios del backend aún se apliquen, configura el parámetro de inicialización `traceContextInjection` a `sampled` (configurado a `sampled` por defecto).
+
+ Por ejemplo, si configuras el `traceSampleRate` al 20% en el SDK del Navegador:
+ - Cuando `traceContextInjection` se establece en `all`, **el 20 %** de las trazas del backend se mantienen y **el 80 %** de las trazas del backend se descartan.
+
+ {{< img src="real_user_monitoring/connect_rum_and_traces/traceContextInjection_all-2.png" alt="traceContextInjection configurado a todos" style="width:90%;">}}
+
+ - When `traceContextInjection` is set to `sampled`, **20%** of backend traces are kept. For the remaining **80%**, the browser SDK **does not inject** a sampling decision. The decision is made on the server side and is based on the SDK head-based sampling [configuration][2]. In the example below, the backend sample rate is set to 40%, and therefore 32% of the remaining backend traces are kept.
+
+ {{< img src="real_user_monitoring/connect_rum_and_traces/traceContextInjection_sampled-3.png" alt="traceContextInjection configurado a muestreados" style="width:90%;">}}
+
+El trazado de extremo a extremo está disponible para las solicitudes realizadas después de que se inicializa el SDK del Navegador. El trazado de extremo a extremo del documento HTML inicial y de las primeras solicitudes del navegador no es compatible.
+
+[1]: /es/real_user_monitoring/application_monitoring/browser/
+[2]: /es/tracing/trace_pipeline/ingestion_mechanisms/#head-based-sampling
+{{% /tab %}}
+{{% tab "Android RUM" %}}
+
+1. Configura [Monitoreo RUM Android][1].
+2. Configura [Colección de Rastreo Android][2].
+3. Agrega la dependencia de Gradle a la biblioteca `dd-sdk-android-okhttp` en el archivo `build.gradle` a nivel de módulo:
+
+ ```groovy
+ dependencies {
+ implementation "com.datadoghq:dd-sdk-android-okhttp:x.x.x"
+ }
+ ```
+
+4. Configura el interceptor `OkHttpClient` con la lista de orígenes internos de primera parte llamados por tu aplicación de Android.
+ ```kotlin
+ val tracedHosts = listOf("example.com", "example.eu")
+
+ val okHttpClient = OkHttpClient.Builder()
+ .addInterceptor(DatadogInterceptor.Builder(tracedHosts).build())
+ .addNetworkInterceptor(TracingInterceptor.Builder(tracedHosts).build())
+ .eventListenerFactory(DatadogEventListener.Factory())
+ .build()
+ ```
+
+ By default, all subdomains of listed hosts are traced. For instance, if you add `example.com`, you also enable the tracing for `api.example.com` and `foo.example.com`.
+
+3. _(Opcional)_ Configura el parámetro `traceSampleRate` para mantener un porcentaje definido de las trazas del backend. Si no se establece, el 100 % de las trazas provenientes de las solicitudes de la aplicación se envían a Datadog. Para mantener el 20 % de las trazas del backend:
+
+ ```kotlin
+ val tracedHosts = listOf("example.com")
+
+ val okHttpClient = OkHttpClient.Builder()
+ .addInterceptor(
+ DatadogInterceptor.Builder(tracedHosts)
+ .setTraceSampleRate(20f)
+ .build()
+ )
+ .build()
+ ```
+
+**Nota**:
+* `traceSampleRate` **no** impacta en el muestreo de sesiones RUM. Solo se muestrean las trazas del backend.
+* Si defines tipos de encabezados de traza personalizados en la configuración de Datadog y estás utilizando un trazador registrado con `GlobalTracer`, asegúrate de que los mismos tipos de encabezados de traza estén configurados para el SDK en uso.
+
+[1]: /es/real_user_monitoring/android/
+[2]: /es/tracing/trace_collection/dd_libraries/android/?tab=kotlin
+{{% /tab %}}
+{{% tab "RUM de iOS" %}}
+
+1. Configura [Monitoreo RUM iOS][1].
+
+2. Habilita `RUM` e instrumentación de URLSession con la configuración `urlSessionTracking` y el parámetro `firstPartyHostsTracing`:
+ ```swift
+ RUM.enable(
+ with: RUM.Configuration(
+ applicationID: "",
+ urlSessionTracking: .init(
+ firstPartyHostsTracing: .trace(
+ hosts: [
+ "example.com",
+ "api.yourdomain.com"
+ ]
+ )
+ )
+ )
+ )
+ ```
+
+ Por defecto, todos los subdominios de los hosts listados son trazados. Por ejemplo, si agregas `example.com`, también habilitas el trazado para `api.example.com` y `foo.example.com`.
+
+ La inyección de ID de traza funciona cuando proporcionas un `URLRequest` al `URLSession`. El trazado distribuido no funciona cuando utilizas un objeto `URL`.
+
+3. _(Opcional)_ Para un desglose detallado del tiempo (resolución DNS, apretón de manos SSL, tiempo hasta el primer byte, tiempo de conexión y duración de la descarga), habilita `URLSessionInstrumentation` para tu tipo de `SessionDelegate`:
+ ```swift
+ URLSessionInstrumentation.enableDurationBreakdown(
+ with: .init(
+ delegateClass: .self
+ )
+ )
+
+ let session = URLSession(
+ configuration: ...,
+ delegate: (),
+ delegateQueue: ...
+ )
+ ```
+
+ El trazado distribuido funciona automáticamente, pero los tiempos de traza son más precisos después de habilitar `URLSessionInstrumentation`.
+
+4. _(Opcional)_ Establece el parámetro `sampleRate` para mantener un porcentaje definido de las trazas del backend. Si no se establece, el 100% de las trazas provenientes de las solicitudes de la aplicación se envían a Datadog.
+
+ Para mantener el 20% de las trazas del backend:
+ ```swift
+ RUM.enable(
+ with: RUM.Configuration(
+ applicationID: "",
+ urlSessionTracking: .init(
+ firstPartyHostsTracing: .trace(
+ hosts: [
+ "example.com",
+ "api.yourdomain.com"
+ ],
+ sampleRate: 20
+ )
+ )
+ )
+ )
+ ```
+**Nota**: `sampleRate` **no** impacta el muestreo de sesiones RUM. Solo se muestrean las trazas del backend.
+
+[1]: /es/real_user_monitoring/ios/
+{{% /tab %}}
+{{% tab "React Native RUM" %}}
+
+1. Configura [RUM React Native Monitoring][1].
+
+2. Establece el parámetro de inicialización `firstPartyHosts` para definir la lista de orígenes internos y de primera parte llamados por tu aplicación React Native:
+ ```javascript
+ const config = new DatadogProviderConfiguration(
+ // ...
+ );
+ config.firstPartyHosts = ["example.com", "api.yourdomain.com"];
+ ```
+
+ By default, all subdomains of listed hosts are traced. For instance, if you add `example.com`, you also enable tracing for `api.example.com` and `foo.example.com`.
+
+3. _(Opcional)_ Establece el parámetro de inicialización `resourceTracingSamplingRate` para mantener un porcentaje definido de las trazas del backend. Si no se establece, el 100% de las trazas provenientes de las solicitudes de la aplicación se envían a Datadog.
+
+ Para mantener el 20% de las trazas del backend:
+ ```javascript
+ const config = new DatadogProviderConfiguration(
+ // ...
+ );
+ config.resourceTracingSamplingRate = 20;
+ ```
+
+ **Note**: `resourceTracingSamplingRate` **does not** impact RUM sessions sampling. Only backend traces are sampled out.
+
+[1]: /es/real_user_monitoring/reactnative/
+{{% /tab %}}
+{{% tab "Flutter RUM" %}}
+
+1. Configura [RUM Flutter Monitoring][1].
+
+2. Sigue las instrucciones en [Rastrear recursos automáticamente][2] para incluir el paquete del cliente HTTP de Datadog y habilitar el rastreo HTTP. Esto incluye los siguientes cambios en tu inicialización para agregar una lista de orígenes internos y de primera parte llamados por tu aplicación Flutter:
+ ```dart
+ final configuration = DatadogConfiguration(
+ // ...
+ // added configuration
+ firstPartyHosts: ['example.com', 'api.yourdomain.com'],
+ )..enableHttpTracking()
+ ```
+
+[1]: /es/real_user_monitoring/application_monitoring/flutter/setup/
+[2]: /es/real_user_monitoring/application_monitoring/flutter/advanced_configuration#automatically-track-resources
+{{% /tab %}}
+
+
+{{% tab "Roku RUM" %}}
+
+{{< site-region region="gov,gov2" >}}
+RUM para Roku no está disponible en el {{< region-param key="dd_datacenter" >}} sitio de Datadog.
+{{< /site-region >}}
+
+1. Configura [RUM Roku Monitoring][1].
+
+2. Utiliza el componente `datadogroku_DdUrlTransfer` para realizar tus solicitudes de red.
+ ```brightscript
+ ddUrlTransfer = datadogroku_DdUrlTransfer(m.global.datadogRumAgent)
+ ddUrlTransfer.SetUrl(url)
+ ddUrlTransfer.EnablePeerVerification(false)
+ ddUrlTransfer.EnableHostVerification(false)
+ result = ddUrlTransfer.GetToString()
+ ```
+
+[1]: /es/real_user_monitoring/application_monitoring/roku/setup/
+
+
+{{% /tab %}}
+{{% tab "Kotlin Multiplatform RUM" %}}
+
+1. Configura [RUM Kotlin Multiplatform Monitoring][1].
+2. Configura [instrumentación de Ktor][2].
+
+3. Establece el parámetro de inicialización `tracedHosts` en la configuración del plugin de Datadog Ktor para definir la lista de orígenes internos y de primera parte llamados por tu aplicación Kotlin Multiplatform:
+ ```kotlin
+ val ktorClient = HttpClient {
+ install(
+ datadogKtorPlugin(
+ tracedHosts = mapOf(
+ "example.com" to setOf(TracingHeaderType.DATADOG),
+ "example.eu" to setOf(TracingHeaderType.DATADOG)
+ ),
+ traceSampleRate = 100f
+ )
+ )
+ }
+ ```
+
+ By default, all subdomains of listed hosts are traced. For instance, if you add `example.com`, you also enable tracing for `api.example.com` and `foo.example.com`.
+
+4. _(Opcional)_ Establece el parámetro de inicialización `traceSampleRate` para mantener un porcentaje definido de las trazas del backend. Si no se establece, el 20 % de las trazas provenientes de las solicitudes de la aplicación se envían a Datadog.
+
+ Para mantener el 100 % de las trazas del backend:
+ ```kotlin
+ val ktorClient = HttpClient {
+ install(
+ datadogKtorPlugin(
+ tracedHosts = mapOf(
+ "example.com" to setOf(TracingHeaderType.DATADOG),
+ "example.eu" to setOf(TracingHeaderType.DATADOG)
+ ),
+ traceSampleRate = 100f
+ )
+ )
+ }
+ ```
+
+ **Note**: `traceSampleRate` **does not** impact RUM sessions sampling. Only backend traces are sampled out.
+
+[1]: /es/real_user_monitoring/application_monitoring/kotlin_multiplatform/setup
+[2]: /es/real_user_monitoring/application_monitoring/kotlin_multiplatform/setup?tab=rum#initialize-the-rum-ktor-plugin-to-track-network-events-made-with-ktor
+{{% /tab %}}
+{{< /tabs >}}
+
+### Verificando la configuración {#verifying-setup}
+
+Para verificar que has configurado la integración de APM con RUM, sigue los pasos a continuación según el SDK que instalaste con RUM.
+
+
+{{< tabs >}}
+{{% tab "Navegador" %}}
+
+1. Visita una página en tu aplicación.
+2. En las herramientas de desarrollador de tu navegador, ve a la pestaña **Red**.
+3. Revisa los encabezados de la solicitud para una solicitud de recurso que esperas que esté correlacionada y contenga los [encabezados de correlación de Datadog][1].
+
+[1]: /es/real_user_monitoring/correlate_with_other_telemetry/apm?tab=browserrum#how-rum-resources-are-linked-to-traces
+
+{{% /tab %}}
+{{% tab "Android" %}}
+
+1. Ejecuta tu aplicación desde Android Studio.
+2. Visita una pantalla en tu aplicación.
+3. Abre el [Inspector de Red][1] de Android Studio.
+4. Revisa los encabezados de la solicitud para un recurso de RUM y verifica que los [encabezados requeridos estén configurados por el SDK][2].
+
+[1]: https://developer.android.com/studio/debug/network-profiler#network-inspector-overview
+[2]: /es/real_user_monitoring/correlate_with_other_telemetry/apm?tab=androidrum#how-rum-resources-are-linked-to-traces
+
+{{% /tab %}}
+{{% tab "iOS" %}}
+
+1. Ejecuta tu aplicación desde Xcode.
+2. Visita una pantalla en tu aplicación.
+3. Abre el [instrumento de Conexiones de Red y Tráfico HTTP][1] de Xcode.
+4. Revisa los encabezados de la solicitud para un recurso de RUM y verifica que los [encabezados requeridos estén configurados por el SDK][2].
+
+[1]: https://developer.apple.com/documentation/foundation/url_loading_system/analyzing_http_traffic_with_instruments
+[2]: /es/real_user_monitoring/correlate_with_other_telemetry/apm/?tab=iosrum#how-rum-resources-are-linked-to-traces
+
+{{% /tab %}}
+{{% tab "React Native" %}}
+
+1. Ejecuta tu aplicación desde Xcode (iOS) o Android Studio (Android).
+2. Visita una pantalla en tu aplicación.
+3. Abre el [instrumento de Conexiones de Red y Tráfico HTTP][1] de Xcode o el [Inspector de Red][2] de Android Studio.
+4. Revisa los encabezados de la solicitud para un recurso de RUM y verifica que los [encabezados requeridos estén configurados por el SDK][3].
+
+[1]: https://developer.apple.com/documentation/foundation/url_loading_system/analyzing_http_traffic_with_instruments
+[2]: https://developer.android.com/studio/debug/network-profiler#network-inspector-overview
+[3]: /es/real_user_monitoring/correlate_with_other_telemetry/apm/?tab=reactnativerum#how-rum-resources-are-linked-to-traces
+
+{{% /tab %}}
+{{% tab "Flutter" %}}
+
+1. Ejecuta tu aplicación utilizando tu IDE preferido o `flutter run`.
+2. Visita una pantalla en tu aplicación.
+3. Abre las [Herramientas de Desarrollo][1] de Flutter y navega a [Vista de Red][2].
+4. Verifica los encabezados de la solicitud para un recurso RUM y asegúrate de que los [encabezados requeridos estén configurados por el SDK][3].
+
+[1]: https://docs.flutter.dev/tools/devtools/overview
+[2]: https://docs.flutter.dev/tools/devtools/network
+[3]: /es/real_user_monitoring/correlate_with_other_telemetry/apm/?tab=reactnativerum#how-rum-resources-are-linked-to-traces
+
+{{% /tab %}}
+{{% tab "Kotlin Multiplatform" %}}
+
+1. Ejecuta tu aplicación desde Xcode (iOS) o Android Studio (Android).
+2. Visita una pantalla en tu aplicación.
+3. Abre el [instrumento de Conexiones de Red y Tráfico HTTP][1] de Xcode o el [Inspector de Red][2] de Android Studio.
+4. Revisa los encabezados de la solicitud para un recurso de RUM y verifica que los [encabezados requeridos estén configurados por el SDK][3].
+
+[1]: https://developer.apple.com/documentation/foundation/url_loading_system/analyzing_http_traffic_with_instruments
+[2]: https://developer.android.com/studio/debug/network-profiler#network-inspector-overview
+[3]: /es/real_user_monitoring/correlate_with_other_telemetry/apm/?tab=kotlinmultiplatformrum#how-rum-resources-are-linked-to-traces
+
+{{% /tab %}}
+{{< /tabs >}}
+
+## RUM Explorer a Trazas {#rum-explorer-to-traces}
+
+{{< img src="real_user_monitoring/connect_rum_and_traces/rum-trace-apm-link.png" alt="RUM y Trazas" style="width:100%;">}}
+
+Para ver las trazas desde el RUM Explorer:
+
+1. Navega a tu [lista de sesiones][22] y haz clic en una sesión que tenga trazas disponibles. También puedes consultar recursos con trazas usando`@_dd.trace_id:*`.
+
+Cuando seleccionas una sesión, el panel de sesión aparece con un desglose de la duración de la solicitud, un gráfico de llamas para cada tramo, y un enlace de **Ver Traza en APM**.
+
+## Trazas a RUM Explorer {#traces-to-rum-explorer}
+
+{{< img src="real_user_monitoring/connect_rum_and_traces/rum-traces-to-rum.png" alt="RUM y Trazas" style="width:100%;">}}
+
+Para ver el evento RUM desde Trazas:
+
+1. Dentro de una vista de traza, haz clic en **VER** para ver todas las trazas creadas durante la duración de la vista, o **RECURSO** para ver trazas asociadas con el recurso específico desde la pestaña de Resumen.
+1. Haz clic en **Ver Vista en RUM** o **Ver Recurso en RUM** para abrir el evento correspondiente en el RUM Explorer.
+
+## Bibliotecas soportadas {#supported-libraries}
+
+A continuación se muestra una lista de las bibliotecas de backend soportadas que deben estar en los servicios que reciben las solicitudes de red.
+
+| Biblioteca | Versión Mínima |
+| ---------------- | --------------- |
+| [Python][3] | [0.22.0][4] |
+| [Go][5] | [1.10.0][6] |
+| [Java][7] | [0.24.1][8] |
+| [Ruby][9] | [0.20.0][10] |
+| [JavaScript][11] | [0.10.0][12] |
+| [PHP][13] | [0.33.0][14] |
+| [.NET][15] | [1.18.2][16] |
+
+
+## Soporte de OpenTelemetry {#opentelemetry-support}
+
+RUM admite varios tipos de propagadores para conectar recursos con backends que están instrumentados con bibliotecas de OpenTelemetry.
+
+El estilo de inyección predeterminado es `tracecontext`, `Datadog`.
+
+{{< tabs >}}
+{{% tab "RUM para navegadores" %}}
+
+**Nota**: Si está utilizando un marco de backend como Next.js/Vercel que utiliza OpenTelemetry, siga estos pasos.
+
+1. Configure RUM para conectarse con APM como se describió anteriormente.
+
+2. Modifique `allowedTracingUrls` de la siguiente manera:
+ ```javascript
+ import { datadogRum } from '@datadog/browser-rum'
+
+ datadogRum.init({
+ ...otherConfig,
+ allowedTracingUrls: [
+ { match: "https://api.example.com", propagatorTypes: ["tracecontext"]}
+ ]
+ })
+ ```
+ `match` accepts the same parameter types (`string`, `RegExp` or `function`) as when used in its simple form, described above.
+
+ `propagatorTypes` accepts a list of strings for desired propagators:
+ - `datadog`: Datadog's propagator (`x-datadog-*`)
+ - `tracecontext`: [W3C Trace Context](https://www.w3.org/TR/trace-context/) (`traceparent`, `tracestate`)
+ - `b3`: [B3 single header](https://github.com/openzipkin/b3-propagation#single-header) (`b3`)
+ - `b3multi`: [B3 multiple headers](https://github.com/openzipkin/b3-propagation#multiple-headers) (`X-B3-*`)
+
+{{% /tab %}}
+{{% tab "RUM de iOS" %}}
+
+1. Configure RUM para conectarse con APM como se describió anteriormente.
+
+2. Utilice `.traceWithHeaders(hostsWithHeaders:sampleRate:)` en lugar de `.trace(hosts:sampleRate:)` de la siguiente manera:
+ ```swift
+ RUM.enable(
+ with: RUM.Configuration(
+ applicationID: "",
+ urlSessionTracking: .init(
+ firstPartyHostsTracing: .traceWithHeaders(
+ hostsWithHeaders: [
+ "api.example.com": [.tracecontext]
+ ],
+ sampleRate: 100
+ )
+ )
+ )
+ )
+ ```
+ `.traceWithHeaders(hostsWithHeaders:sampleRate:)` takes `Dictionary>` as a parameter, where the key is a host and the value is a list of supported tracing header types.
+
+ `TracingHeaderType` in an enum representing the following tracing header types:
+ - `.datadog`: Datadog's propagator (`x-datadog-*`)
+ - `.tracecontext`: [W3C Trace Context](https://www.w3.org/TR/trace-context/) (`traceparent`)
+ - `.b3`: [B3 single header](https://github.com/openzipkin/b3-propagation#single-header) (`b3`)
+ - `.b3multi`: [B3 multiple headers](https://github.com/openzipkin/b3-propagation#multiple-headers) (`X-B3-*`)
+{{% /tab %}}
+
+{{% tab "RUM para Android" %}}
+1. Configure RUM para conectarse con APM como se describió anteriormente.
+
+2. Configure el interceptor `OkHttpClient` con la lista de orígenes internos de primera parte y el tipo de encabezado de trazado a utilizar de la siguiente manera:
+ ```kotlin
+ val tracedHosts = mapOf("example.com" to setOf(TracingHeaderType.TRACECONTEXT),
+ "example.eu" to setOf(TracingHeaderType.DATADOG))
+
+ val okHttpClient = OkHttpClient.Builder()
+ .addInterceptor(DatadogInterceptor.Builder(tracedHosts).build())
+ .addNetworkInterceptor(TracingInterceptor.Builder(tracedHosts).build())
+ .eventListenerFactory(DatadogEventListener.Factory())
+ .build()
+ ```
+
+ `TracingHeaderType` is an enum representing the following tracing header types:
+ - `.DATADOG`: Datadog's propagator (`x-datadog-*`)
+ - `.TRACECONTEXT`: [W3C Trace Context](https://www.w3.org/TR/trace-context/) (`traceparent`)
+ - `.B3`: [B3 single header](https://github.com/openzipkin/b3-propagation#single-header) (`b3`)
+ - `.B3MULTI`: [B3 multiple headers](https://github.com/openzipkin/b3-propagation#multiple-headers) (`X-B3-*`)
+
+{{% /tab %}}
+
+{{% tab "RUM para React Native" %}}
+1. Configure RUM para [conectarse con APM](#setup-rum).
+
+2. Configure el SDK de RUM con la lista de orígenes internos de primera parte y el tipo de encabezado de trazado a utilizar de la siguiente manera:
+ ```javascript
+ const config = new DatadogProviderConfiguration(
+ // ...
+ );
+ config.firstPartyHosts = [{
+ match: "example.com",
+ propagatorTypes: [
+ PropagatorType.TRACECONTEXT,
+ PropagatorType.DATADOG
+ ]
+ }];
+ ```
+
+ `PropagatorType` is an enum representing the following tracing header types:
+ - `PropagatorType.DATADOG`: Datadog's propagator (`x-datadog-*`)
+ - `PropagatorType.TRACECONTEXT`: [W3C Trace Context](https://www.w3.org/TR/trace-context/) (`traceparent`)
+ - `PropagatorType.B3`: [B3 single header](https://github.com/openzipkin/b3-propagation#single-header) (`b3`)
+ - `PropagatorType.B3MULTI`: [B3 multiple headers](https://github.com/openzipkin/b3-propagation#multiple-headers) (`X-B3-*`)
+
+{{% /tab %}}
+
+{{% tab "RUM para Flutter" %}}
+1. Configure RUM para conectarse con APM como se describió anteriormente.
+
+2. Utilice `firstPartyHostsWithTracingHeaders` en lugar de `firstPartyHosts` de la siguiente manera:
+ ```dart
+ final configuration = DatadogConfiguration(
+ // ...
+ // added configuration
+ firstPartyHostsWithTracingHeaders: {
+ 'example.com': { TracingHeaderType.tracecontext },
+ },
+ )..enableHttpTracking()
+ ```
+
+ `firstPartyHostsWithTracingHeaders` takes `Map>` as a parameter, where the key is a host and the value is a list of supported tracing header types.
+
+ `TracingHeaderType` in an enum representing the following tracing header types:
+ - `TracingHeaderType.datadog`: Datadog's propagator (`x-datadog-*`)
+ - `TracingHeaderType.tracecontext`: [W3C Trace Context](https://www.w3.org/TR/trace-context/) (`traceparent`)
+ - `TracingHeaderType.b3`: [B3 single header](https://github.com/openzipkin/b3-propagation#single-header) (`b3`)
+ - `TracingHeaderType.b3multi`: [B3 multiple headers](https://github.com/openzipkin/b3-propagation#multiple-headers) (`X-B3-*`)
+
+{{% /tab %}}
+
+{{% tab "RUM para Kotlin Multiplatform" %}}
+1. Configure RUM para [conectarse con APM](#setup-rum).
+
+2. Configure el SDK de RUM con la lista de orígenes internos de primera parte y el tipo de encabezado de trazado a utilizar de la siguiente manera:
+ ```kotlin
+ val ktorClient = HttpClient {
+ install(
+ datadogKtorPlugin(
+ tracedHosts = mapOf(
+ "example.com" to setOf(TracingHeaderType.DATADOG),
+ "example.eu" to setOf(TracingHeaderType.DATADOG)
+ ),
+ traceSampleRate = 100f
+ )
+ )
+ }
+ ```
+
+ `TracingHeaderType` is an enum representing the following tracing header types:
+ - `TracingHeaderType.DATADOG`: Datadog's propagator (`x-datadog-*`)
+ - `TracingHeaderType.TRACECONTEXT`: [W3C Trace Context](https://www.w3.org/TR/trace-context/) (`traceparent`)
+ - `TracingHeaderType.B3`: [B3 single header](https://github.com/openzipkin/b3-propagation#single-header) (`b3`)
+ - `TracingHeaderType.B3MULTI`: [B3 multiple headers](https://github.com/openzipkin/b3-propagation#multiple-headers) (`X-B3-*`)
+
+{{% /tab %}}
+
+{{< /tabs >}}
+
+
+## Cómo se vinculan los recursos de RUM a las trazas {#how-rum-resources-are-linked-to-traces}
+
+Datadog utiliza el protocolo de traza distribuida y configura los encabezados HTTP a continuación. Por defecto, se utilizan tanto el contexto de traza como los encabezados específicos de Datadog.
+{{< tabs >}} {{% tab "Datadog" %}}
+`x-datadog-trace-id`
+: Generado a partir del SDK de Real User Monitoring. Permite a Datadog vincular la traza con el recurso de RUM.
+
+`x-datadog-parent-id`
+: Generado a partir del SDK de Real User Monitoring. Permite a Datadog generar el primer tramo a partir de la traza.
+
+`x-datadog-origin: rum`
+: Generado a partir del SDK de Real User Monitoring. Permite a Datadog detectar la fuente de la traza.
+
+`x-datadog-sampling-priority`
+: Establecido en `1` por el SDK de Real User Monitoring si la traza fue muestreada, o `0` si no lo fue.
+{{% /tab %}}
+{{% tab "Contexto de traza W3C" %}}
+
+`traceparent: [Versión]-[ID de traza]-[ID de padre]-[banderas de traza]`
+: `version`: La especificación actual asume que la versión está establecida en `00`.
+: `trace id`: ID de traza de 128 bits, hexadecimal en 32 caracteres. El ID de traza de origen es de 64 bits para mantener la compatibilidad con APM.
+: `parent id`: ID de tramo de 64 bits, hexadecimal en 16 caracteres.
+: `trace flags`: Muestreado (`01`) o no muestreado (`00`)
+
+**Conversión de ID de traza**: El ID de traza W3C de 128 bits se crea rellenando el ID de traza original de 64 bits con ceros a la izquierda. Esto asegura la compatibilidad con APM mientras se ajusta a la especificación del Contexto de traza W3C. El ID de traza original de 64 bits se convierte en los 64 bits inferiores del ID de traza W3C de 128 bits.
+
+`tracestate: dd=s:[sampling priority];o:[origin]`
+: `dd`: Prefijo de proveedor de Datadog.
+: `sampling priority`: Establecido en `1` si la traza fue muestreada, o `0` si no lo fue.
+: `origin`: Siempre configúrelo en `rum` para asegurarse de que las trazas generadas por Real User Monitoring no afecten los recuentos de APM Index Spans.
+
+**Ejemplos**:
+
+ID de traza de origen (64 bits): `8448eb211c80319c`
+
+Contexto de traza W3C (128 bits): `00000000000000008448eb211c80319c`
+
+La relación muestra que el ID de traza original de 64 bits `8448eb211c80319c` está complementado con 16 ceros a la izquierda (`0000000000000000`) para crear el ID de traza W3C de 128 bits.
+
+Ejemplo completo de traceparent:
+: `traceparent: 00-00000000000000008448eb211c80319c-b7ad6b7169203331-01`
+: `tracestate: dd=s:1;o:rum`
+
+{{% /tab %}}
+{{% tab "b3 / b3 Múltiples Encabezados" %}}
+`b3: [ID de traza]-[ID de tramo]-[muestreado]`
+: `trace id`: ID de traza de 64 bits, hexadecimal en 16 caracteres.
+: `span id`: ID de tramo de 64 bits, hexadecimal en 16 caracteres.
+: `sampled`: Verdadero (`1`) o Falso (`0`)
+
+Ejemplo para encabezado único b3:
+: `b3: 8448eb211c80319c-b7ad6b7169203331-1`
+
+Ejemplo para múltiples encabezados b3:
+: `X-B3-TraceId: 8448eb211c80319c`
+: `X-B3-SpanId: b7ad6b7169203331`
+: `X-B3-Sampled: 1`
+{{% /tab %}}
+{{< /tabs >}}
+
+Estos encabezados HTTP no están en la lista de seguridad CORS, por lo que debe [configurar Access-Control-Allow-Headers][17] en su servidor que maneja las solicitudes que el SDK está configurado para monitorear. El servidor también debe aceptar [solicitudes de preflight][18] (solicitudes OPTIONS), que son realizadas por el navegador antes de cada solicitud cuando se permite la traza en URLs de diferentes sitios.
+
+## Retención de trazas {#trace-retention}
+
+Las trazas ingeridas están disponibles durante 15 minutos en el explorador de [Live Search][19]. Para retener las trazas por un período de tiempo más largo, [cree filtros de retención de APM][20]. Aplique estos filtros de retención en cualquier etiqueta de tramo para retener trazas de páginas críticas y acciones de usuario.
+
+Si utiliza RUM Sin Límites, también puede usar [filtros de retención de productos cruzados][21] para retener trazas de APM asociadas a sesiones específicas de RUM, optimizando la correlación entre su frontend y su backend. Por defecto, el 1% de las [sesiones de RUM y sus trazas son retenidas automáticamente][23] sin costo adicional.
+
+## Efecto en las cuotas de APM {#effect-on-apm-quotas}
+
+Conectar RUM y trazas puede aumentar significativamente los volúmenes ingeridos por APM. Utilice el parámetro de inicialización `traceSampleRate` para controlar una parte de las trazas del backend comenzando desde las solicitudes del navegador y móviles para ingerir.
+
+Configurar filtros de retención de productos cruzados también puede aumentar los volúmenes indexados por APM. Utilice la tasa de retención de los filtros de retención de productos cruzados para controlar la parte de las trazas del backend a indexar.
+
+## Lecturas adicionales {#further-reading}
+
+{{< partial name="whats-next/whats-next.html" >}}
+
+[1]: /es/tracing/trace_collection/dd_libraries/ios/?tab=swiftpackagemanagerspm
+[2]: /es/tracing
+[3]: /es/tracing/trace_collection/dd_libraries/python/
+[4]: https://github.com/DataDog/dd-trace-py/releases/tag/v0.22.0
+[5]: /es/tracing/trace_collection/dd_libraries/go/
+[6]: https://github.com/DataDog/dd-trace-go/releases/tag/v1.10.0
+[7]: /es/tracing/trace_collection/dd_libraries/java/
+[8]: https://github.com/DataDog/dd-trace-java/releases/tag/v0.24.1
+[9]: /es/tracing/trace_collection/dd_libraries/ruby/
+[10]: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.20.0
+[11]: /es/tracing/trace_collection/dd_libraries/nodejs/
+[12]: https://github.com/DataDog/dd-trace-js/releases/tag/v0.10.0
+[13]: /es/tracing/trace_collection/dd_libraries/php/
+[14]: https://github.com/DataDog/dd-trace-php/releases/tag/0.33.0
+[15]: /es/tracing/trace_collection/dd_libraries/dotnet-core/
+[16]: https://github.com/DataDog/dd-trace-dotnet/releases/tag/v1.18.2
+[17]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers
+[18]: https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request
+[19]: /es/tracing/trace_explorer/#live-search-for-15-minutes
+[20]: /es/tracing/trace_pipeline/trace_retention/#retention-filters
+[21]: /es/real_user_monitoring/rum_without_limits/retention_filters/#cross-product-retention-filters
+[22]: https://app.datadoghq.com/rum/explorer
+[23]: /es/tracing/trace_pipeline/trace_retention/#one-percent-flat-sampling
\ No newline at end of file
diff --git a/content/es/real_user_monitoring/guide/upload-javascript-source-maps.md b/content/es/real_user_monitoring/guide/upload-javascript-source-maps.md
index cb3a346b0b9..2471be3b317 100644
--- a/content/es/real_user_monitoring/guide/upload-javascript-source-maps.md
+++ b/content/es/real_user_monitoring/guide/upload-javascript-source-maps.md
@@ -1,41 +1,43 @@
---
-description: Carga mapas fuente de JavaScript para mejorar el rastreo de errores con
- stack traces legibles y una mejor depuración del código minificado.
+description: Suba mapas del código fuente de JavaScript para mejorar el seguimiento
+ de errores con trazas de pila legibles y una mejor depuración para el código minificado.
further_reading:
- link: /real_user_monitoring/error_tracking
tag: Documentación
- text: Comenzar con rastreo de errores
+ text: Comience con el seguimiento de errores.
- link: /real_user_monitoring/error_tracking/explorer
tag: Documentación
- text: Visualización de tus datos de rastreo de errores en el Explorer
-- link: https://github.com/DataDog/datadog-ci/tree/master/packages/datadog-ci/src/commands/sourcemaps#sourcemaps-command
+ text: Visualice sus datos de seguimiento de errores en el Explorador.
+- link: https://github.com/DataDog/datadog-ci/tree/master/packages/base/src/commands/sourcemaps
tag: Código fuente
- text: Referencia del comando Sourcemaps
-title: Carga de mapas de fuente de JavaScript
+ text: Referencia de comandos de mapas del código fuente
+- link: https://learn.datadoghq.com/courses/tracking-errors-rum-javascript
+ tag: Centro de aprendizaje
+ text: Seguimiento de errores con RUM para aplicaciones web de JavaScript
+title: Suba mapas del código fuente de JavaScript.
---
+## Resumen {#overview}
-## Información general
+Si su código fuente de JavaScript del lado del cliente está minificado, suba sus mapas del código fuente a Datadog para desofuscar las trazas de pila. Para cualquier error dado, puede acceder a la ruta del archivo, al número de línea y al fragmento de código para cada marco de la traza de pila relacionada. Datadog también puede vincular los marcos de la pila a su código fuente en su repositorio.
-Si el código fuente de tu frontend JavaScript está minificado, carga tus mapas de fuente a Datadog para deenmascarar tus diferentes stack traces. Para cualquier error dado, puedes acceder a la ruta del archivo, el número de línea y el fragmento de código para cada marco del stack trace relacionado. Datadog también puede vincular marcos de stack a tu código fuente en tu repositorio.
+
-
+## Instrumenta su código {#instrument-your-code}
-## Instrumentar tu código
-
-Configura tu empaquetador de JavaScript para que, al minificar el código fuente,, genere mapas fuente que incluyan directamente el código fuente relacionado en el atributo `sourcesContent`.
+Configure su empaquetador de JavaScript de tal manera que, al minificar su código fuente, se generen mapas de origen que incluyan directamente el código fuente relacionado en el `sourcesContent` atributo.
-Asegúrate de que el tamaño de cada source map (mapa de fuentes) aumentado con el tamaño del archivo minificado relacionado no supere el límite de **500 MB**.
+Asegúrese de que el tamaño de cada mapa del código fuente aumentado con el tamaño del archivo minificado relacionado no exceda el límite de 500 MB.
-Consulta las siguientes configuraciones para los empaquetadores más populares de JavaScript.
+Consulta las siguientes configuraciones para empaquetadores de JavaScript populares.
{{< tabs >}}
{{% tab "WebpackJS" %}}
-Puedes generar mapas de fuente utilizando el complemento webpack integrado llamado [SourceMapDevToolPlugin][1].
+Puede generar mapas del código fuente utilizando el complemento incorporado de webpack llamado [SourceMapDevToolPlugin][1].
-Consulta el ejemplo de configuración en tu archivo `webpack.config.js`:
+Vea la configuración de ejemplo en su archivo `webpack.config.js`:
```javascript
// ...
@@ -59,20 +61,20 @@ module.exports = {
};
```
-**Nota**: Si utilizas TypeScript, establece `compilerOptions.sourceMap` en `true` en tu archivo `tsconfig.json`.
+**Nota**: Si está utilizando TypeScript, establezca `compilerOptions.sourceMap` en `true` en su archivo `tsconfig.json`.
[1]: https://webpack.js.org/plugins/source-map-dev-tool-plugin/
{{% /tab %}}
{{% tab "ParcelJS" %}}
-Parcel genera mapas de fuente por defecto cuando se ejecuta el comando build: `parcel build `.
+Parcel genera mapas del código fuente por defecto al ejecutar el comando de construcción: `parcel build `.
{{% /tab %}}
{{% tab "Vite" %}}
-Puedes generar source maps (mapas de fuentes) configurando la opción `build.sourcemap` en tu archivo `vite.config.js`.
+Puede generar mapas del código fuente configurando la opción `build.sourcemap` en su archivo `vite.config.js`.
-Consulta el ejemplo de configuración:
+Vea la configuración de ejemplo:
```javascript
// vite.config.js
@@ -86,14 +88,14 @@ export default defineConfig({
})
```
-**Nota**: Si estás utilizando TypeScript, asegúrate de que `compilerOptions.sourceMap` se configure en `true` en tu archivo `tsconfig.json`.
+**Nota**: Si está utilizando TypeScript, asegúrese de que `compilerOptions.sourceMap` esté establecido en `true` en su archivo `tsconfig.json`.
{{% /tab %}}
{{< /tabs >}}
-Tras compilar la aplicación, los empaquetadores generan un directorio (normalmente denominado `dist`) con los archivos JavaScript minificados junto con sus correspondientes mapas de fuente.
+Después de construir su aplicación, los empaquetadores generan un directorio (típicamente llamado `dist`) con archivos JavaScript minificados ubicados junto a sus correspondientes mapas del código fuente.
-Consulta el siguiente ejemplo:
+Vea el siguiente ejemplo:
```bash
./dist
@@ -105,17 +107,17 @@ Consulta el siguiente ejemplo:
```
-Si la suma del tamaño de los archivos
javascript.364758.min.js y
javascript.364758.js.map supera el límite de
500 MB, redúcelo configurando el empaquetador para dividir el código source (fuente) en varios fragmentos más pequeños. Para obtener más información, consulta
División del código con WebpackJS.
+Si la suma del tamaño del archivo para
javascript.364758.min.js y
javascript.364758.js.map excede el límite de
500 MB, redúzcalo configurando su empaquetador para dividir el código fuente en múltiples fragmentos más pequeños. Para más información, consulte
División de Código con WebpackJS.
-## Cargar tus mapas de fuente
+## Suba sus mapas del código fuente {#upload-your-source-maps}
-La mejor manera de cargar mapas de fuente es añadir un paso adicional en tu pipeline de CI y ejecutar el comando dedicado desde la [CLI de Datadog][1]. Explora el directorio `dist` y tus subdirectorios para cargar automáticamente los mapas de fuente con los archivos minificados pertinentes.
+La mejor manera de subir mapas del código fuente es agregar un paso adicional en su pipeline de CI y ejecutar el comando dedicado desde el [Datadog CLI][1]. Escanea el directorio `dist` y sus subdirectorios para cargar automáticamente los mapas del código fuente con los archivos minificados relevantes.
{{< site-region region="us" >}}
-1. Añade `@datadog/datadog-ci` a tu archivo `package.json` (asegúrate de estar utilizando la última versión).
-2. [Crea una clave de API dedicada de Datadog][1] y expórtala como una variable de entorno denominada `DATADOG_API_KEY`.
-3. Ejecuta el siguiente comando una vez por servicio en tu aplicación:
+1. Agregue `@datadog/datadog-ci` a su archivo `package.json` (asegúrese de estar utilizando la última versión).
+2. [Cree una clave API dedicada de Datadog][1] y expórtela como una variable de entorno llamada `DATADOG_API_KEY`.
+3. Ejecute el siguiente comando una vez por servicio en su aplicación:
```bash
datadog-ci sourcemaps upload /path/to/dist \
@@ -128,10 +130,10 @@ La mejor manera de cargar mapas de fuente es añadir un paso adicional en tu pip
[1]: https://app.datadoghq.com/organization-settings/api-keys
{{< /site-region >}}
-{{< site-region region="eu,us3,us5,gov,ap1,ap2" >}}
-1. Añade `@datadog/datadog-ci` a tu archivo `package.json` (asegúrate de estar utilizando la última versión).
-2. [Crea una clave de API dedicada de Datadog][1] y expórtala como una variable de entorno denominada `DATADOG_API_KEY`.
-3. Configura la CLI para cargar archivos al sitio {{}} exportando dos variables de entorno: `export DATADOG_SITE=`{{}} y `export DATADOG_API_HOST=api.`{{}}.
+{{< site-region region="eu,us3,us5,gov,gov2,ap1,ap2" >}}
+1. Agregue `@datadog/datadog-ci` a su archivo `package.json` (asegúrese de estar utilizando la última versión).
+2. [Cree una clave API dedicada de Datadog][1] y expórtela como una variable de entorno llamada `DATADOG_API_KEY`.
+3. Configure la CLI para cargar archivos en el {{}} sitio exportando dos variables de entorno: `export DATADOG_SITE=`{{}} y `export DATADOG_API_HOST=api.`{{}}.
4. Ejecuta el siguiente comando una vez por servicio en tu aplicación:
```bash
datadog-ci sourcemaps upload /path/to/dist \
@@ -144,43 +146,46 @@ La mejor manera de cargar mapas de fuente es añadir un paso adicional en tu pip
[1]: https://app.datadoghq.com/organization-settings/api-keys
{{< /site-region >}}
-Para minimizar la sobrecarga en el rendimiento de tu CI, la CLI está optimizada para cargar tantos mapas de fuente como necesites en un breve espacio de tiempo (normalmente unos segundos).
+Para minimizar la sobrecarga en el rendimiento de su CI, la CLI está optimizada para cargar tantos mapas del código fuente como necesite en un corto período de tiempo (típicamente unos pocos segundos).
+
+**Nota**: Volver a cargar un mapa del código fuente no reemplaza el existente si la versión no ha cambiado.
-**Nota**: Volver a cargar un mapa de fuente no anula el existente si la versión no ha cambiado.
+Los parámetros `--service` y `--release-version` deben coincidir con las etiquetas `service` y `version` en sus eventos de seguimiento de errores, eventos de RUM y registros del navegador. Para más información sobre cómo configurar estas etiquetas, consulta la [documentación de inicialización del SDK del navegador][2] o la [documentación de recopilación de registros del navegador][3].
-Los parámetros `--service` y `--release-version` deben coincidir con las etiquetas (tags) `service` y `version` de tus eventos de Error Tracking, eventos de RUM y logs del navegador. Para más información sobre cómo configurar estas etiquetas, consulta la [documentación inicial del SDK del navegador][2] o la [documentación de la recopilación de logs del navegador][3].
+Si ha definido múltiples servicios en su aplicación, ejecute el comando de CI tantas veces como servicios haya, incluso si tiene un conjunto de mapas de origen para toda la aplicación.
-Si has definido varios servicios en tu aplicación, ejecuta el comando CI tantas veces como haya servicios, incluso si tienes un conjunto de mapas fuente para toda la aplicación.
+Al ejecutar el comando contra el directorio de ejemplo `dist`, Datadog espera que su servidor o CDN entregue los archivos JavaScript en `https://hostname.com/static/js/javascript.364758.min.js` y `https://hostname.com/static/js/subdirectory/javascript.464388.min.js`.
-Al ejecutar el comando contra el directorio de ejemplo `dist`, Datadog espera que tu servidor o CDN entregue los archivos JavaScript en `https://hostname.com/static/js/javascript.364758.min.js` y `https://hostname.com/static/js/subdirectory/javascript.464388.min.js`.
+Solo los mapas del código fuente con la extensión `.js.map` funcionan para desminificar correctamente las trazas de pila. Los mapas del código fuente con otras extensiones como `.mjs.map` son aceptados pero no desminifican las trazas de pila.
-Solo los mapas de fuente con la extensión `.js.map` funcionan para desminificar correctamente los stack traces. Los mapas de fuente con otras extensiones como `.mjs.map` se aceptan, pero no desminifican los stack traces.
+Si está sirviendo los mismos archivos fuente de JavaScript desde diferentes subdominios, cargue el mapa del código fuente relacionado una vez y haga que funcione para múltiples subdominios utilizando la ruta de prefijo absoluto en lugar de la URL completa. Por ejemplo, especifique /static/js en lugar de https://hostname.com/static/js.
-Si estás proporcionando los mismos archivos fuente JavaScript desde diferentes subdominios, carga el mapa de fuente relacionado una vez y haz que funcione para múltiples subdominios utilizando la ruta de prefijo absoluta en lugar de la URL completa. Por ejemplo, especifica /static/js en lugar de https://hostname.com/static/js.
+Vea todos los símbolos subidos y administre sus mapas del código fuente en la página de [Explore RUM Debug Symbols][5].
-### Vincular los marcos de stack a tu código fuente
+### Vincule los marcos de pila a su código fuente {#link-stack-frames-to-your-source-code}
-Si ejecutas `datadog-ci sourcemaps upload` dentro de un directorio de trabajo de Git, Datadog recopila los metadatos del repositorio. El comando `datadog-ci` recopila la URL del repositorio, el hash de la confirmación actual y la lista de rutas de archivos en el repositorio que se relacionan con tus mapas de fuente. Para más detalles sobre la recopilación de metadatos de Git, consulta la [documentación de datadog-ci][4].
+Si ejecuta `datadog-ci sourcemaps upload` dentro de un directorio de trabajo de Git, Datadog recopila metadatos del repositorio. El comando `datadog-ci` recopila la URL del repositorio, el hash del commit actual y la lista de rutas de archivos en el repositorio que se relacionan con sus mapas del código fuente. Para más detalles sobre la recopilación de metadatos de Git, consulte la [documentación de datadog-ci][4].
-Datadog muestra enlaces a tu código fuente en marcos de stack sin minificar.
+Datadog muestra enlaces a su código fuente en marcos de pila no minificados.
-## Solucionar los errores con facilidad
+## Solucione errores con facilidad {#troubleshoot-errors-with-ease}
-Sin acceso a la ruta del archivo y al número de línea, un stack trace minificado no es útil para solucionar problemas de tu base de código. Además, el fragmento de código está minificado (lo que significa que hay una sola línea larga de código transformado), lo que dificulta el proceso de solución de problemas.
+Sin acceso a la ruta del archivo y al número de línea, un rastro de pila minificado no es útil para solucionar problemas en su base de código. Además, el fragmento de código está minificado (lo que significa que hay una línea larga de código transformado), lo que dificulta más el proceso de solución de problemas.
-El siguiente ejemplo muestra un stack trace minificado:
+El siguiente ejemplo muestra un rastro de pila minificado:
-{{< img src="real_user_monitoring/error_tracking/minified_stacktrace.png" alt="Rastreo de errores de stack trace minificado" >}}
+{{< img src="real_user_monitoring/error_tracking/minified_stacktrace.png" alt="Error Tracking Minified Stack Trace" >}}
-Por otro lado, un stack trace sin minificar te proporciona todo el contexto que necesitas para solucionar problemas de forma rápida y fluida. Para los marcos de stack relacionados con tu código fuente, Datadog también genera un enlace directo a tu repositorio:
+Por otro lado, un rastro de pila no minificado le proporciona todo el contexto que necesita para una solución de problemas rápida y sin inconvenientes. Para los marcos de pila que se relacionan con su código fuente, Datadog también genera un enlace directo a su repositorio:
-{{< img src="real_user_monitoring/error_tracking/unminified_stacktrace.png" alt="Rastreo de errores de stack trace sin minificar" >}}
+{{< img src="real_user_monitoring/error_tracking/unminified_stacktrace.png" alt="Error Tracking Unminified Stack Trace" >}}
-## Referencias adicionales
+## Lectura Adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
-[1]: https://github.com/DataDog/datadog-ci/tree/master/packages/datadog-ci/src/commands/sourcemaps
+[1]: https://github.com/DataDog/datadog-ci/tree/master/packages/base/src/commands/sourcemaps
[2]: https://docs.datadoghq.com/es/real_user_monitoring/application_monitoring/browser/setup/#initialization-parameters
[3]: https://docs.datadoghq.com/es/logs/log_collection/javascript/#initialization-parameters
-[4]: https://github.com/DataDog/datadog-ci/tree/master/packages/datadog-ci/src/commands/sourcemaps#link-errors-with-your-source-code
\ No newline at end of file
+[4]: https://github.com/DataDog/datadog-ci/tree/master/packages/base/src/commands/sourcemaps#link-errors-with-your-source-code
+[5]: https://app.datadoghq.com/source-code/setup/rum
\ No newline at end of file
diff --git a/content/es/security/code_security/static_analysis/setup/_index.md b/content/es/security/code_security/static_analysis/setup/_index.md
index 8179c13dab0..3f94c7eefdd 100644
--- a/content/es/security/code_security/static_analysis/setup/_index.md
+++ b/content/es/security/code_security/static_analysis/setup/_index.md
@@ -1,61 +1,65 @@
---
algolia:
tags:
- - análisis estático
- - reglas de static analysis
- - tests de seguridad de aplicaciones estáticas
+ - static analysis
+ - static analysis rules
+ - static application security testing
- SAST
aliases:
- /es/continuous_integration/static_analysis
- /es/static_analysis
- /es/security/code_security/static_analysis/circleci_orbs/
-description: Obtén información acerca de Datadog Static Code Analysis para analizar
+- /es/code_analysis/static_analysis/setup/
+description: Aprenda sobre el Análisis de Código Estático de Datadog para escanear
el código en busca de problemas de calidad y vulnerabilidades de seguridad antes
- de que tu código llegue a producción.
+ de que su código llegue a producción.
is_beta: false
-title: Configurar Static Code Analysis (SAST)
+title: Configure el Análisis de Código Estático (SAST)
---
-
-{{% site-region region="gov" %}}
+{{% site-region region="gov,gov2" %}}
- Code Security no está disponible en el sitio {{< region-param key="dd_site_name" >}}.
+ Code Security no está disponible para el {{< region-param key="dd_site_name" >}} sitio.
{{% /site-region %}}
-## Información general
-Para configurar Datadog SAST en la aplicación, ve a [**Seguridad** > **Code Security**][1].
+## Descripción general {#overview}
+Para configurar SAST de Datadog en la aplicación, navegue a [**Seguridad** > **Code Security**][1].
-## Seleccionar dónde realizar análisis de Static Code Analysis
+## Seleccione dónde ejecutar los escaneos de Análisis de Código Estático {#select-where-to-run-static-code-analysis-scans}
+### Escanear con escaneo alojado en Datadog {#scan-with-datadog-hosted-scanning}
-### Analizar utilizando análisis alojados en Datadog
+Puede ejecutar escaneos de Análisis de Código Estático (SAST) de Datadog directamente en la infraestructura de Datadog. Los tipos de repositorios compatibles incluyen:
+- [GitHub][18] (excluyendo repositorios que utilizan [Git Large File Storage][17])
+- [GitLab.com and GitLab Self-Managed][20]
+- [Azure DevOps][19]
-En repositorios GitHub, puedes ejecutar análisis de Datadog Static Code Analysis directamente en la infraestructura de Datadog. Para empezar, ve a la [página de **Code Security**][1].
+Para comenzar, navegue a la página de [**Code Security**][1].
-### Analizar en pipelines CI
-Datadog Static Code Analysis se ejecuta en tus pipelines CI utilizando la [CLI `datadog-ci`][8].
+### Escanear en pipelines de CI {#scan-in-ci-pipelines}
+El Análisis de Código Estático de Datadog se ejecuta en sus pipelines de CI utilizando el [`datadog-ci` CLI][8].
-Primero, configura tu API y tus claves de aplicación Datadog. Añade `DD_APP_KEY` y `DD_API_KEY` como secretos. Asegúrate de que tu clave de aplicación Datadog tiene el contexto `code_analysis_read`.
+Primero, configure sus claves de API y de aplicación de Datadog. Agregue `DD_APP_KEY` y `DD_API_KEY` como secretos. Por favor, asegúrese de que su clave de aplicación de Datadog tenga el `code_analysis_read` contexto.
-Luego, ejecuta Static Code Analysis siguiendo las instrucciones de tu proveedor de CI elegido a continuación.
+A continuación, ejecute el Análisis de Código Estático siguiendo las instrucciones para su proveedor de CI elegido a continuación.
-{{< whatsnext desc="Consulta las instrucciones en función de tu proveedor de CI:">}}
- {{< nextlink href="security/code_security/static_analysis/github_actions" >}}GitHub Actions{{< /nextlink >}}
- {{< nextlink href="security/code_security/static_analysis/generic_ci_providers" >}}Proveedores de CI genéricos{{< /nextlink >}}
+{{< whatsnext desc="Vea las instrucciones según su proveedor de CI:">}}
+ {{< nextlink href="security/code_security/static_analysis/setup/github_actions" >}}GitHub Actions{{< /nextlink >}}
+ {{< nextlink href="security/code_security/static_analysis/setup/generic_ci_providers" >}}Proveedores de CI Genéricos{{< /nextlink >}}
{{< /whatsnext >}}
-## Seleccionar tu proveedor de gestión de código fuente
-Datadog Static Code Analysis admite todos los proveedores de gestión de código fuente, con compatibilidad nativa para GitHub, GitLab y Azure DevOps.
+## Seleccione su proveedor de gestión de código fuente {#select-your-source-code-management-provider}
+El Análisis de Código Estático de Datadog es compatible con todos los proveedores de gestión de código fuente, con soporte nativo para GitHub, GitLab y Azure DevOps.
{{< tabs >}}
{{% tab "GitHub" %}}
-Si GitHub es tu proveedor de gestión de código fuente, debes configurar una aplicación GitHub utilizando el [cuadro de la integración GitHub][1] y la [integración del código fuente][2] para ver fragmentos de código en línea y habilitar los [comentarios en las solicitudes pull][3].
+Configure una GitHub App con el [GitHub integration tile][1] y configure la [integración de código fuente][2] para habilitar fragmentos de código en línea y [comentarios de solicitudes de extracción][3].
-Al instalar una aplicación GitHub, se requieren los siguientes permisos para habilitar ciertas funciones:
+Al instalar una Aplicación de GitHub, se requieren los siguientes permisos para habilitar ciertas funciones:
-- `Content: Read`, que te permite ver fragmentos de código en Datadog
-- `Pull Request: Read & Write`, que permite a Datadog añadir información sobre infracciones directamente en tus solicitudes pull utilizando [comentarios en las solicitudes pull][3], así como abrir solicitudes pull para [corregir vulnerabilidades][4]
-- `Checks: Read & Write`, que te permite crear checks de infracciones SAST para bloquear las solicitudes pull
+- `Content: Read`, que le permite ver fragmentos de código mostrados en Datadog
+- `Pull Request: Read & Write`, que permite a Datadog agregar comentarios sobre violaciones directamente en sus solicitudes de extracción utilizando [comentarios de solicitudes de extracción][3], así como abrir solicitudes de extracción para [corregir vulnerabilidades][4]
+- `Checks: Read & Write`, que le permite crear verificaciones sobre violaciones de SAST para bloquear solicitudes de extracción
[1]: /es/integrations/github/#link-a-repository-in-your-organization-or-personal-account
[2]: /es/integrations/guide/source-code-integration
@@ -65,524 +69,100 @@ Al instalar una aplicación GitHub, se requieren los siguientes permisos para ha
{{% /tab %}}
{{% tab "GitLab" %}}
-
-
-Si GitLab es tu proveedor de gestión de código fuente, antes de comenzar la instalación, debes solicitar acceso a la Vista previa cerrada utilizando el formulario anterior. Una vez concedido el acceso, sigue [estas instrucciones][1] para completar el proceso de instalación.
+Vea las [instrucciones de configuración del código fuente de GitLab][1] para conectar repositorios de GitLab a Datadog. Se admiten tanto GitLab.com como instancias Self-Managed.
-[1]: https://github.com/DataDog/gitlab-integration-setup
+[1]: /es/integrations/gitlab-source-code/#setup
{{% /tab %}}
{{% tab "Azure DevOps" %}}
-
-Los repositorios de Azure DevOps son compatibles con la Vista previa cerrada. Tus organizaciones Azure DevOps deben estar conectadas a un inquilino de Microsoft Entra.
Únete a la Vista previa.
-
+**Nota:** Sus integraciones de Azure DevOps deben estar conectadas a un inquilino de Microsoft Entra. Azure DevOps Server **no** es compatible.
-Si Azure DevOps es tu proveedor de gestión de código fuente, antes de comenzar la instalación, debes solicitar acceso a la vista previa cerrada utilizando el formulario anterior. Una vez concedido el acceso, sigue las siguientes instrucciones para completar el proceso de configuración.
-
-**Nota:** Azure DevOps Server no es compatible.
-
-### Crear y registrar una aplicación Microsoft Entra
-Si eres administrador en tu portal de Azure, puedes configurar aplicaciones Entra para conectar tu inquilino a Datadog.
-
-1. Ve a la [configuración de Code Security][1].
-2. En **Activar el análisis de tus repositorios**, haz clic en **Manage Repositories** (Gestionar repositorios).
-3. Selecciona **Pipelines CI**.
-4. Selecciona los tipos de análisis que quieres utilizar.
-5. Selecciona **Azure DevOps** como tu proveedor de gestión de código fuente.
-6. Si es la primera vez que conectas una organización Azure DevOps a Datadog, haz clic en **Connect Azure DevOps Account** (Conectar cuenta de Azure DevOps).
-7. Al conectar un inquilino Microsoft Entra por primera vez, tendrás que ir a tu [portal Azure][2] para registrar una nueva aplicación. Durante este proceso de creación, asegúrate de:
- 1. Seleccionar **Cuentas sólo en este directorio organizativo (Datadog, Inc. solo - Inquilino único)** como tipo de cuenta.
- 2. Definir el URI de redirección como **Web** y pegar el URI que se le indica en las instrucciones.
-8. Copiar los valores de **ID de aplicación (cliente)** y **ID de directorio (inquilino)** y pegarlos en Datadog.
-9. En el portal Azure para el registro de tu aplicación, ve a **Gestión > Certificados y secretos** y cambia a **Secretos de cliente**.
-10. Haz clic en **New client secret** (Nuevo secreto de cliente) y crea un secreto con la descripción y los valores de caducidad que quieres utilizar.
-11. Copia y pega la cadena en la columna **Valor** de tu nuevo secreto.
-12. Pega el secreto en Datadog y haz clic en **Create Configuration** (Crear Configuración) para completar la conexión entre tu inquilino Entra y Datadog.
-13. Añade una o más organizaciones Azure DevOps pegando el slug de la organización en Datadog y luego añadiendo tu servicio principal como usuario yendo a **Parámetros de organización > Usuarios > Añadir usuarios**.
- 1. Tu servicio principal necesitará el nivel de acceso **Básico** y al menos el grupo de seguridad **Colaborador del proyecto**.
-14. Haz clic en **Submit Organization** (Enviar organización).
-
-### Configurar hooks de servicio en proyectos
-
-Para activar todas las funciones de Code Security en Azure DevOps, deberás utilizar una [clave de API Datadog][3] para configurar hooks de servicio para tus proyectos.
-
-En primer lugar, configura las variables de entorno (nota: la interfaz de usuario de Datadog rellena estos valores):
-```shell
-export AZURE_DEVOPS_TOKEN="..." # Client Secret Value
-export DD_API_KEY="..." # Datadog API Key
-```
-
-A continuación, sustituye los parámetros del script siguiente por tu [sitio Datadog][5] y el nombre de la organización Azure DevOps para configurar los hooks de servicio necesarios en los proyectos de tu organización:
-```shell
-curl https://raw.githubusercontent.com/DataDog/azdevops-sci-hooks/refs/heads/main/setup-hooks.py > setup-hooks.py && chmod a+x ./setup-hooks.py
-./setup-hooks.py --dd-site="" --az-devops-org=""
-```
-
-Haz clic [aquí][4] para ver nuestra CLI que automatiza este proceso.
+Consulte las [instrucciones de configuración del código fuente de Azure][4] para conectar los repositorios de Azure DevOps a Datadog.
[1]: https://app.datadoghq.com/security/configuration/code-security/setup
[2]: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade
[3]: https://app.datadoghq.com/organization-settings/api-keys
-[4]: https://github.com/DataDog/azdevops-sci-hooks
+[4]: /es/integrations/azure-devops-source-code/#setup
[5]: /es/getting_started/site/
{{% /tab %}}
-{{% tab "Other" %}}
+{{% tab "Otro" %}}
-Si estás utilizando otro proveedor de gestión de código fuente, configura Static Code Analysis para que se ejecute en tus pipelines CI utilizando la herramienta CLI `datadog-ci` y [carga los resultados](#upload-third-party-static-analysis-results-to-datadog) en Datadog.
-**Debes** ejecutar un análisis de tu repositorio en la rama por defecto antes de que los resultados puedan empezar a aparecer en la página **Code Security**.
+Si está utilizando otro proveedor de gestión de código fuente, configure el Análisis de Código Estático para ejecutarse en sus pipelines de CI utilizando la herramienta `datadog-ci` CLI y [ subir los resultados](#upload-third-party-static-analysis-results-to-datadog) a Datadog.
+Usted **debe** ejecutar un análisis de su repositorio en la rama predeterminada antes de que los resultados puedan comenzar a aparecer en la página de **Code Security**.
{{% /tab %}}
{{< /tabs >}}
-## Personalizar tu configuración
-
-Por defecto, Datadog Static Code Analysis analiza tus repositorios utilizando [conjuntos de reglas predeterminadas de Datadog][6] para tu(s) lenguaje(s) de programación. Puedes personalizar qué reglas o conjuntos de reglas ejecutar o ignorar, además de otros parámetros. Puedes personalizar estos ajustes de forma local en tu repositorio o dentro de la aplicación Datadog.
-
-### Localizaciones de configuración
-
-Datadog Static Code Analysis puede configurarse dentro de Datadog o utilizando un archivo dentro del **directorio raíz** de tu repositorio.
-
-Existen tres niveles de configuración:
-
-* Configuración a nivel de organización (Datadog)
-* Configuración a nivel de repositorio (Datadog)
-* Configuración a nivel de repositorio (archivo de repositorio)
-
-Las tres localizaciones utilizan el mismo formato YAML para la configuración. Estas configuraciones se fusionan **en orden** utilizando un método de fusión por superposición/parche. Por ejemplo, veamos estos dos archivos YAML de ejemplo:
-
-```yaml
-rulesets:
- - A
- rules:
- foo:
- ignore: ["**"]
- args: ["my_arg1", "my_arg2"]
-```
-
-```yaml
-rulesets:
- - A
- rules:
- foo:
- ignore: ["my_ignored_file.file"]
- bar:
- only: ["the_only_file.file"]
- - B
-
-```
-
-Si estos archivos YAML se fusionaran en orden, el primer archivo con el segundo, la fusión de estos archivos YAML con un método de superposición/parche sería la siguiente:
-
-```yaml
-rulesets:
- - A
- rules:
- foo:
- ignore: ["my_ignored_file.file"]
- args: ["my_arg1", "my_arg2"]
- bar:
- only: ["the_only_file.file"]
- - B
-
-
-```
-
-Como puedes ver, al campo `ignore: ["**"]` del primer archivo se le superpuso el campo `ignore: ["my_ignored_file.file"]`. Esto sucedió porque hubo un conflicto y el valor del segundo archivo tuvo la prioridad debido al orden de fusión. El campo `args` del primer archivo se mantiene porque no hay ningún valor conflictivo en el segundo archivo.
-
-#### Configuración a nivel de organización
-
-{{< img src="/security/code_security/org-wide-configuration2.png" alt="Regla creada" style="width:100%;" >}}
-
-Las configuraciones a nivel de organización se aplican a todos los repositorios que se están analizando y es un buen lugar para definir las reglas que deben ejecutarse o rutas/archivos globales que deben ignorarse.
-
-#### Configuración a nivel de repositorio
-
-{{< img src="/security/code_security/org-wide-configuration2.png" alt="Regla creada" style="width:100%;" >}}
-
-Las configuraciones a nivel de repositorio sólo se aplican al repositorio seleccionado. Estas configuraciones se fusionan con la configuración de la organización y la configuración del repositorio tiene prioridad. Las configuraciones a nivel de repositorio son un buen lugar para definir anulaciones de detalles específicos del repositorio o para añadir reglas que sean específicas sólo para ese repositorio, por ejemplo.
-
-#### Configuración a nivel de repositorio (archivo)
-
-Además de las configuraciones proporcionadas para el nivel de organización y de repositorio, también puedes definir una configuración en la raíz de tu repositorio en la forma de ``static-analysis.datadog.yml``. Este archivo tiene prioridad sobre la configuración a nivel de repositorio definida en Datadog. Las configuraciones de archivos a nivel de repositorio son un método útil para cambiar configuraciones de reglas e iterar en la configuración y los tests.
-
-### Formato de configuración
-
-El siguiente formato de configuración se aplica a todas las localizaciones de configuración: Nivel de organización, Nivel de repositorio y Nivel de repositorio (archivo).
-
-La estructura completa de una configuración es la siguiente:
-
-```yaml
-rulesets:
- - ruleset-name # A ruleset we want to run with default configurations
- - ruleset-name:
- # Only apply this ruleset to the following paths/files
- only:
- - "path/example"
- - "**/*.file"
- # Do not apply this ruleset in the following paths/files
- ignore:
- - "path/example"
- - "**/*.file"
- - ruleset-name:
- rules:
- rule-name:
- # Only apply this rule to the following paths/files
- only:
- - "path/example"
- - "**/*.file"
- # Do not apply this rule to the following paths/files
- ignore:
- - "path/example"
- - "**/*.file"
- arguments:
- # Set the rule's argument to value.
- argument-name: value
- rule-name:
- arguments:
- # Set different argument values in different subtrees
- argument-name:
- # Set the rule's argument to value_1 by default (root path of the repo)
- /: value_1
- # Set the rule's argument to value_2 for specific paths
- path/example: value_2
-# Only analyze any ruleset in the following paths/files
-only:
- - "path/example"
- - "**/*.file"
-# Do not analyze any ruleset in the following paths/files
-ignore:
- - "path/example"
- - "**/*.file"
-```
-
-
-
-
-El archivo de configuración YAML admite las siguientes claves de nivel superior:
-
-| **Propiedad** | **Tipo** | **Descripción** | **Por defecto** |
-| ------------------ | -------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
-| `rulesets` | Matriz | Lista de conjuntos de reglas para analizar. Cada elemento puede ser un nombre de conjunto de reglas (cadena) o un objeto con una configuración detallada. | *Obligatorio* |
-| `only` | Matriz | Lista de rutas de archivos o patrones glob. Si se proporcionan, sólo se analizan los archivos coincidentes en todos los conjuntos de reglas. | Ninguno |
-| `ignore` | Matriz | Lista de rutas de archivos o patrones glob para excluir del análisis en todos los conjuntos de reglas. | Ninguno |
-
-*Nota:* Las claves `only` y `ignore` actúan aquí como filtros de archivo que se aplican a todo el archivo de configuración.
-
----
-
-## Configuración de conjuntos de reglas
-
-Cada entrada de la matriz `rulesets` puede definirse de dos maneras:
-
-1. **Declaración simple del conjunto de reglas:** Una cadena simple (por ejemplo, `ruleset-name`) indica que el conjunto de reglas debe ejecutarse con su configuración predeterminada.
-2. **Objeto de conjunto de reglas detallado:** Un objeto cuya clave es el nombre del conjunto de reglas y cuyo valor es un objeto que contiene una configuración adicional. Las propiedades disponibles para un conjunto de reglas detallado son:
-
-| **Propiedad** | **Tipo** | **Descripción** | **Por defecto** |
-| ------------------ | -------------- | --------------------------------------------------------------------------------------------------- | ----------------- |
-| `only` | Matriz | Rutas de archivos o patrones glob. Sólo los archivos que coinciden con estos patrones son procesados por este conjunto de reglas. | Ninguno |
-| `ignore` | Matriz | Rutas de archivos o patrones glob a excluir del análisis para este conjunto de reglas. | Ninguno |
-| `rules` | Objeto | Asignación de nombres de reglas individuales a sus objetos de configuración. | Ninguno |
-
----
-
-## Configuración de una regla
-
-Dentro de la propiedad `rules` de un conjunto de reglas, cada regla se define por su nombre y configuración. Las propiedades disponibles para cada regla son:
-
-| **Propiedad** | **Tipo** | **Descripción** | **Por defecto** |
-| ------------------ | -------------- | -------------------------------------------------------------------------------------------------- | ----------------- |
-| `only` | Matriz | Rutas de archivos o patrones glob. La regla sólo se aplica a los archivos que coinciden con estos patrones. | Ninguno |
-| `ignore` | Matriz | Rutas de archivos o patrones glob para excluir de la aplicación de la regla. | Ninguno |
-| `arguments` | Objeto | Parámetros y valores de la regla. Los valores pueden ser escalares o especificarse por ruta. | Ninguno |
-
----
-
-## Configuración de un argumento
-
-Los argumentos de las reglas pueden definirse en uno de estos dos formatos:
-
-1. **Valor estático:** Asigna directamente un valor a un argumento.
-
- ```yaml
- arguments:
- argument-name: value
- ```
-2. **Asignación de rutas específicas:**
- Define diferentes valores en función de las rutas de los archivos. Utiliza la clave especial `/` para denotar el valor por defecto (aplicable en la raíz del repositorio).
-
- ```yaml
- arguments:
- argument-name:
- /: value_default
- path/example: value_specific
- ```
-
-| **Clave** | **Tipo** | **Descripción** | **Por defecto** |
-| ----------------- | -------------- | ------------------------------------------------------------------------- | ----------------- |
-| `/` | Cualquiera | El valor por defecto del argumento cuando no se encuentra ninguna ruta específica. | Ninguno |
-| `specific path` | Cualquiera | El valor del argumento de los archivos que coinciden con la ruta especificada o el patrón glob. | Ninguno |
-
----
-
-
-
-Ejemplo de configuración:
-
-```yaml
-rulesets:
- - python-best-practices
- - python-security
- - python-code-style:
- rules:
- max-function-lines:
- # Do not apply the rule max-function-lines to the following files
- ignore:
- - "src/main/util/process.py"
- - "src/main/util/datetime.py"
- arguments:
- # Set the max-function-lines rule's threshold to 150 lines
- max-lines: 150
- max-class-lines:
- arguments:
- # Set different thresholds for the max-class-lines rule in different subtrees
- max-lines:
- # Set the rule's threshold to 200 lines by default (root path of the repo)
- /: 200
- # Set the rule's threshold to 100 lines in src/main/backend
- src/main/backend: 100
- - python-inclusive
- - python-django:
- # Only apply the python-django ruleset to the following paths
- only:
- - "src/main/backend"
- - "src/main/django"
- # Do not apply the python-django ruleset in files matching the following pattern
- ignore:
- - "src/main/backend/util/*.py"
-# Only analyze source files
-only:
- - "src/main"
- - "src/tests"
- - "**/*.py"
-# Do not analyze third-party or generated files
-ignore:
- - "lib/third_party"
- - "**/*.generated.py"
- - "**/*.pb.py"
-```
-
-
-| Nombre | Descripción | Obligatorio | Valor predeterminado |
-| -------------------- | ------------------------------------------------------------------------------------------- | --------- | --------- |
-| `rulesets` | Lista de nombres de conjuntos de reglas y configuraciones. [Consultar todos los conjuntos de reglas disponibles][6]. | `true` | |
-| `ignore` | Lista de prefijos de ruta y patrones glob para ignorar. Los archivos que coinciden no se analizan. | `false` | |
-| `only` | Lista de prefijos de ruta y patrones glob para analizar. Sólo se analizan los archivos que coinciden. | `false` | |
-| `ignore-gitignore` | No utilices las rutas que figuran en el archivo `.gitignore` para omitir el análisis de determinados archivos. | `false` | `false` |
-| `max-file-size-kb` | Ignora los archivos de tamaño superior al especificado (en unidades kB). | `false` | `200` |
-
-Puedes incluir las siguientes opciones de **conjunto de reglas** en el archivo `static-analysis.datadog.yml`:
-
-| Nombre | Descripción | Obligatorio |
-| ---------- | --------------------------------------------------------------------------------------------------------------------- | --------- |
-| `rules` | Lista de configuraciones de reglas para las reglas pertenecientes al conjunto de reglas. | `false` |
-| `ignore` | Lista de prefijos de ruta y patrones glob para ignorar en este conjunto de reglas específico. No se analizan los archivos que coinciden. | `false` |
-| `only` | Lista de prefijos de ruta y patrones glob para analizar en este conjunto de reglas específico. Sólo se analizan los archivos que coinciden. | `false` |
-
-Puedes incluir las siguientes opciones de **regla** en el archivo `static-analysis.datadog.yml`:
-
-| Nombre | Descripción | Obligatorio |
-| ------------- | ------------------------------------------------------------------------------------------------------------------ | --------- |
-| `ignore` | Lista de prefijos de ruta y patrones glob para ignorar en esta regla específica. Los archivos que coinciden no se analizan. | `false` |
-| `only` | Lista de prefijos de ruta y patrones glob para analizar en esta regla específica. Sólo se analizan los archivos que coinciden. | `false` |
-| `arguments` | Mapa de valores de las reglas que admiten argumentos personalizables. | `false` |
-
-El mapa del campo `arguments` utiliza el nombre de un argumento como su clave, y los valores son cadenas o mapas:
-
-* Para definir un valor para todo el repositorio, puedes especificarlo como una cadena.
-* Para definir diferentes valores para diferentes subárboles en el repositorio, puedes especificarlos como un mapa desde un prefijo de subárbol con el valor que tendrá el argumento dentro de ese subárbol.
-
-### Ignorar las infracciones
-
-#### Ignorar un repositorio
-Añade una regla de ignorar en tu archivo `static-analysis.Datadog.yml`. El siguiente ejemplo ignora la regla `javascript-express/reduce-server-fingerprinting` para todos los directorios.
-
-```
-rulesets:
- - javascript-express:
- rules:
- reduce-server-fingerprinting:
- ignore:
- - "**"
-```
-
-#### Ignorar un archivo o directorio
-Añade una regla de ignorar en tu archivo `static-analysis.datadog.yml`. El siguiente ejemplo ignora la regla `javascript-express/reduce-server-fingerprinting` para este archivo. Para obtener más información sobre cómo ignorar por ruta, consulta la sección [Personalizar tu configuración](#customize-your-configuration).
-
-```
-rulesets:
- - javascript-express:
- rules:
- reduce-server-fingerprinting:
- ignore:
- - "ad-server/src/app.js"
-```
-
-#### Ignorar una instancia específica
-
-Para ignorar una instancia específica de infracción, comenta `no-dd-sa` encima de la línea de código que quieres ignorar. Esto evita que esa línea genere una infracción. Por ejemplo, en el siguiente fragmento de código Python, la línea `foo = 1` sería ignorada por los análisis de Static Code Analysis.
-
-```python
-#no-dd-sa
-foo = 1
-bar = 2
-```
-
-También puedes utilizar `no-dd-sa` para ignorar sólo una regla concreta en lugar de ignorar todas las reglas. Para ello, especifica el nombre de la regla que quieres ignorar en lugar de `` utilizando esta plantilla:
-
-`no-dd-sa:`
-
-Por ejemplo, en el siguiente fragmento de código JavaScript, la línea `my_foo = 1` es analizado por todas las reglas, excepto por la regla `javascript-code-style/assignment-name`, que indica al desarrollador que utilice [camelCase][6] en lugar de [snake_case][7].
-
-```javascript
-// no-dd-sa:javascript-code-style/assignment-name
-my_foo = 1
-myBar = 2
-```
-
-## Vincular resultados a servicios y equipos de Datadog
-### Vincular resultados a servicios
-Datadog asocia el código estático y los resultados del análisis de la librería con los de servicios mediante los siguientes mecanismos:
-
-1. [Identificación de la localización del código asociado a un servicio mediante el Catálogo de software](#identifying-the-code-location-in-the-software-catalog)
-2. [Detección de patrones de uso de archivos en productos adicionales de Datadog.](#detecting-file-usage-patterns)
-3. [Búsqueda del nombre del servicio en la ruta del archivo o el repositorio](#detecting-service-name-in-paths-and-repository-names)
-
-Si un método tiene éxito, no se realizan más intentos de asignación. A continuación se detalla cada método de asignación.
-
-#### Identificación de la localización del código en el Catálogo de software
+## Personalice su configuración {#customize-your-configuration}
-La [versión del esquema `v3`][14] y posteriores del Catálogo de software te permiten añadir la asignación de la localización de tu código para tu servicio. La sección `codeLocations` especifica la localización del repositorio que contiene el código y sus rutas asociadas.
+Por defecto, el Análisis de Código Estático de Datadog (SAST) escanea sus repositorios con [los conjuntos de reglas predeterminados de Datadog][6] para cada lenguaje de programación. Puede personalizar qué conjuntos de reglas o reglas se ejecutan, junto con otros parámetros, en Datadog o en un `code-security.datadog.yaml` archivo. Para la referencia completa de configuración, consulte [Configuración del Análisis de Código Estático (SAST)][27].
-El atributo `paths` es una lista de globs que deben coincidir con las rutas del repositorio.
+## Vincule hallazgos a los servicios y equipos de Datadog {#link-findings-to-datadog-services-and-teams}
-{{< code-block lang="yaml" filename="entity.datadog.yaml" collapsible="true" >}}
-apiVersion: v3
-kind: service
-metadata:
- name: my-service
-datadog:
- codeLocations:
- - repositoryURL: https://github.com/myorganization/myrepo.git
- paths:
- - path/to/service/code/**
-{{< /code-block >}}
+{{% security-products/link-findings-to-datadog-services-and-teams %}}
-Si quieres que todos los archivos de un repositorio estén asociados a un servicio, puedes utilizar el glob `**` de la siguiente manera:
+## Escaneo consciente de diferencias {#diff-aware-scanning}
-{{< code-block lang="yaml" filename="entity.datadog.yaml" collapsible="true" >}}
-apiVersion: v3
-kind: service
-metadata:
- name: my-service
-datadog:
- codeLocations:
- - repositoryURL: https://github.com/myorganization/myrepo.git
- paths:
- - "**"
-{{< /code-block >}}
+El escaneo consciente de diferencias permite que el analizador estático de Datadog solo escanee los archivos modificados por un commit en una rama de características. Acelera significativamente el tiempo de escaneo al no tener que ejecutar el análisis en cada archivo del repositorio para cada escaneo. Para habilitar el escaneo consciente de diferencias en su pipeline de CI, siga estos pasos:
-#### Detección de patrones de uso de archivos
+1. Asegúrese de que sus variables `DD_APP_KEY`, `DD_SITE` y `DD_API_KEY` estén configuradas en su pipeline de CI.
+2. Agregue una llamada a `datadog-ci git-metadata upload` antes de invocar el analizador estático. Este comando asegura que los metadatos de Git estén disponibles para el backend de Datadog. Se requieren los metadatos de Git para calcular el número de archivos a analizar.
+3. Asegúrese de que el analizador estático de datadog se invoque con la bandera `--diff-aware`.
-Datadog detecta el uso de archivos en productos adicionales como Error Tracking y asocia
-archivos al servicio de tiempo de ejecución. Por ejemplo, si un servicio llamado `foo` tiene
-una entrada de log o una traza (trace) de stack tecnológico que contiene un archivo con una ruta `/modules/foo/bar.py`,
-se asocian los archivos `/modules/foo/bar.py` al servicio `foo`.
+Ejemplo de secuencia de comandos (estos comandos deben ser invocados en su repositorio de Git):
-#### Detección de nombres de servicios en rutas y nombres de repositorios
-
-Datadog detecta nombres de servicios en rutas y nombres de repositorios y asocia el archivo al servicio, si se encuentra una coincidencia.
-
-Para una coincidencia de repositorios, si existe un servicio llamado `myservice` y
-la URL del repositorio es `https://github.com/myorganization/myservice.git`,
-se asocia `myservice` a todos los archivos del repositorio.
-
-Si no se encuentra ninguna coincidencia en el repositorio, Datadog intenta encontrar una coincidencia en la
-`path` del archivo. Si hay un servicio llamado `myservice` y la ruta es `/path/to/myservice/foo.py`, el archivo se asocia a `myservice` porque el nombre servicio forma parte de la ruta. Si hay dos servicios
-en la ruta, se selecciona el nombre de servicio más cercano al nombre del archivo.
-
-### Vincular resultados a equipos
-
-Datadog asocia automáticamente el equipo adjunto a un servicio cuando se detecta una infracción o vulnerabilidad. Por ejemplo, si el archivo `domains/ecommerce/apps/myservice/foo.py`
-está asociado a `myservice`, entonces el equipo `myservice` se asociará a cualquier infracción
-detectada en este archivo.
-
-Si no se encuentra ningún servicio o equipo, Datadog utiliza el archivo `CODEOWNERS` de tu repositorio. El archivo `CODEOWNERS` determina a qué equipo pertenece un archivo en tu proveedor Git.
-
-**Nota**: Para que esta característica funcione correctamente, debes asignar con precisión tus equipos de proveedores Git a tus [equipos de Datadog][10].
-
-## Análisis diferenciado
-
-El análisis diferenciado permite al analizador estático de Datadog analizar únicamente los archivos modificados por un commit en una rama de características. Acelera significativamente el tiempo de análisis al no tener que ejecutar el análisis en cada archivo del repositorio durante cada análisis. Para habilitar el análisis diferenciado en tu pipeline CI, sigue estos pasos:
-
-1. Asegúrate de que las variables `DD_APP_KEY`, `DD_SITE` y `DD_API_KEY` están configuradas en tu pipeline CI.
-2. Añade una llamada a `datadog-ci git-metadata upload` antes de invocar al analizador estático. Este comando asegura que los metadatos Git están disponibles para el backend Datadog. Los metadatos Git son necesarios para calcular el número de archivos a analizar.
-3. Asegúrate de que el analizador estático de Datadog se invoca con la marca `--diff-aware`.
-
-Ejemplo de secuencia de comandos (estos comandos deben invocarse en tu repositorio Git):
```bash
datadog-ci git-metadata upload
datadog-static-analyzer -i /path/to/directory -g -o sarif.json -f sarif –-diff-aware <...other-options...>
```
-**Nota:** Cuando no se puede completar un análisis diferenciado, se analiza todo el directorio.
+**Nota:** Cuando no se puede completar un escaneo consciente de diferencias, se escanea todo el directorio.
-## Cargar resultados de análisis estáticos de terceros en Datadog
+## Suba los resultados del análisis estático de terceros a Datadog {#upload-third-party-static-analysis-results-to-datadog}
- La importación de SARIF ha sido probada para Snyk, CodeQL, Semgrep, Checkov, Gitleaks y Sysdig. Si tienes algún problema con otras herramientas compatibles con SARIF, ponte en contacto con el
servicio de asistencia de Datadog.
+ La importación de SARIF ha sido probada para Snyk, CodeQL, Semgrep, Gitleaks y Sysdig. Póngase en contacto con
Soporte de Datadog si experimenta algún problema con otras herramientas compatibles con SARIF.
-Puedes enviar resultados de herramientas de análisis estático de terceros a Datadog, siempre que estén en el formato interoperable [Static Analysis Results Interchange Format (SARIF)][2]. Se requiere Node.js versión 14 o posterior.
+Puede enviar resultados de herramientas de análisis estático de terceros a Datadog, siempre que estén en el formato interoperable [Formato de Intercambio de Resultados de Análisis Estático (SARIF)][2]. Se requiere la versión 14 o posterior de Node.js.
-Para cargar un informe en SARIF:
+Para subir un informe SARIF:
-1. Asegúrate de que [se hayan definido las variables `DD_API_KEY` y `DD_APP_KEY`][4].
-2. Opcionalmente, establece una [variable `DD_SITE`][7] (por defecto es `datadoghq.com`).
-3. Instala la utilidad `datadog-ci`:
+1. Asegúrese de que las variables [`DD_API_KEY` y `DD_APP_KEY` estén definidas][4].
+2. Opcionalmente, establezca una [`DD_SITE` variable][7] (esto tiene como valor predeterminado `datadoghq.com`).
+3. Instale la utilidad `datadog-ci`:
```bash
npm install -g @datadog/datadog-ci
```
-4. Ejecuta la herramienta de análisis estático de terceros en tu código y genera los resultados en formato SARIF.
-5. Carga los resultados en Datadog:
+4. Ejecute la herramienta de análisis estático de terceros en su código y genere los resultados en el formato SARIF.
+5. Suba los resultados a Datadog:
```bash
datadog-ci sarif upload $OUTPUT_LOCATION
```
-## Directrices de compatibilidad de SARIF
+## Directrices de Soporte de SARIF {#sarif-support-guidelines}
-Datadog admite la ingestión de archivos SARIF de terceros que cumplan [el esquema SARIF 2.1.0][15]. El esquema SARIF
-es utilizado de forma diferente por las herramientas del analizador estático. Si quieres enviar archivos SARIF de terceros a Datadog,
-asegúrate de que cumplen los siguientes detalles:
+Datadog admite la ingestión de archivos SARIF de terceros que son compatibles con [el esquema SARIF 2.1.0][15]. El SARIF
+El esquema se utiliza de manera diferente por las herramientas de análisis estático. Si desea enviar archivos SARIF de terceros a Datadog, por favor
+asegúrese de que cumplan con los siguientes detalles:
- - La localización de la infracción se especifica a través del objeto `physicalLocation` de un resultado.
- - La `artifactLocation` y su `uri` **deben ser relativos** a la raíz del repositorio.
- - El objeto `region` es la parte del código resaltada en la interfaz de usuario Datadog.
- - `partialFingerprints` se utiliza para identificar de forma única un hallazgo en un repositorio.
+ - La ubicación de la violación se especifica a través del objeto `physicalLocation` de un resultado.
+ - El `artifactLocation` y su `uri` **deben ser relativos** a la raíz del repositorio.
+ - El objeto `region` es la parte del código resaltada en la interfaz de usuario de Datadog.
+ - El `partialFingerprints` se utiliza para identificar de manera única un hallazgo en un repositorio.
- `properties` y `tags` añaden más información:
- - La etiqueta (tag) `DATADOG_CATEGORY` especifica la categoría del hallazgo. Los valores aceptables son `SECURITY`, `PERFORMANCE`, `CODE_STYLE`, `BEST_PRACTICES`, `ERROR_PRONE`.
- - Las infracciones anotadas con la categoría `SECURITY` aparecen en el Explorador de vulnerabilidades y en la pestaña Seguridad de la vista del repositorio.
+ - La etiqueta `DATADOG_CATEGORY` especifica la categoría del hallazgo. Los valores aceptables son `SECURITY`, `PERFORMANCE`, `CODE_STYLE`, `BEST_PRACTICES`, `ERROR_PRONE`.
+ - Las violaciones anotadas con la categoría `SECURITY` se muestran en el explorador de vulnerabilidades y en la pestaña de seguridad de la vista del repositorio.
- La sección `tool` debe tener una sección `driver` válida con atributos `name` y `version`.
-Por ejemplo, he aquí un ejemplo de archivo SARIF procesado por Datadog:
+Por ejemplo, aquí hay un ejemplo de un archivo SARIF procesado por Datadog:
```json
@@ -654,30 +234,33 @@ Por ejemplo, he aquí un ejemplo de archivo SARIF procesado por Datadog:
}
```
-## Asignación de gravedad de SARIF a CVSS
+## Mapeo de severidad de SARIF a CVSS {#sarif-to-cvss-severity-mapping}
-El [formato SARIF][15] define cuatro gravedades: ninguna, nota, advertencia y error.
-Sin embargo, Datadog informa de la gravedad de las infracciones y vulnerabilidades utilizando el [Common Vulnerability Scoring System][16] (CVSS),
-que define cinco gravedades: crítica, alta, media, baja y ninguna.
+El [formato SARIF][15] define cuatro severidades: ninguna, nota, advertencia y error.
+Sin embargo, Datadog informa sobre la severidad de violaciones y vulnerabilidades utilizando el [Sistema Común de Puntuación de Vulnerabilidades][16] (CVSS),
+que define cinco severidades: crítica, alta, media, baja y ninguna.
-Cuando se ingieren archivos SARIF, Datadog asigna las gravedades SARIF como gravedades CVSS utilizando las reglas de asignación que se indican a continuación.
+Al ingerir archivos SARIF, Datadog mapea las severidades de SARIF a las severidades de CVSS utilizando las reglas de mapeo a continuación.
-| Gravedad SARIF | Gravedad CVSS |
+| Severidad SARIF | Severidad CVSS |
|----------------|---------------|
-| Error | Imprescindible |
-| Advertencia | Alto |
+| Error | Crítica |
+| Advertencia | Alta |
| Nota | Medio |
| Ninguno | Bajo |
+## Retención de datos {#data-retention}
+
+Datadog almacena hallazgos de acuerdo con nuestros [Períodos de retención de datos](https://docs.datadoghq.com/es/data_security/data_retention_periods/). Datadog no almacena ni retiene el código fuente del cliente.
-
[1]: https://app.datadoghq.com/security/configuration/code-security/setup
[2]: https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sarif
-[3]: /es/developers/ide_plugins/idea/#static-analysis
+[3]: /es/ide_plugins/idea/#static-analysis
[4]: /es/account_management/api-app-keys/
[6]: /es/security/code_security/static_analysis/static_analysis_rules
[7]: /es/getting_started/site/
@@ -687,6 +270,16 @@ Cuando se ingieren archivos SARIF, Datadog asigna las gravedades SARIF como grav
[11]: /es/security/code_security/dev_tool_int/github_pull_requests
[12]: /es/security/code_security/dev_tool_int/github_pull_requests#fixing-a-vulnerability-directly-from-datadog
[13]: https://docs.github.com/en/actions/security-for-github-actions/security-guides
-[14]: https://docs.datadoghq.com/es/software_catalog/service_definitions/v3-0/
[15]: https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html
[16]: https://www.first.org/cvss/
+[17]: https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-git-large-file-storage
+[18]: /es/security/code_security/static_analysis/setup/?tab=github#select-your-source-code-management-provider
+[19]: /es/security/code_security/static_analysis/setup/?tab=azuredevops#select-your-source-code-management-provider
+[20]: /es/security/code_security/static_analysis/setup/?tab=gitlab#select-your-source-code-management-provider
+[22]: https://docs.datadoghq.com/es/internal_developer_portal/software_catalog/entity_model/?tab=v30#migrating-to-v30
+[24]: https://docs.datadoghq.com/es/account_management/teams/
+[25]: https://github.com/DataDog/datadog-static-analyzer/blob/main/doc/legacy_config.md
+[27]: /es/security/code_security/static_analysis/configuration/
+[101]: https://docs.datadoghq.com/es/software_catalog/service_definitions/v3-0/
+[102]: https://docs.datadoghq.com/es/internal_developer_portal/software_catalog/entity_model/?tab=v30#codelocations
+[103]: https://docs.datadoghq.com/es/data_security/data_retention_periods/
\ No newline at end of file
diff --git a/content/es/serverless/aws_lambda/configuration.md b/content/es/serverless/aws_lambda/configuration.md
index 9a578f1027c..b8923fe55df 100644
--- a/content/es/serverless/aws_lambda/configuration.md
+++ b/content/es/serverless/aws_lambda/configuration.md
@@ -11,74 +11,76 @@ further_reading:
text: Instalar Serverless Monitoring para AWS Lambda
- link: /serverless/troubleshooting/
tag: Documentación
- text: Solucionar problemas relacionados con Serverless Monitoring para AWS Lambda
+ text: Solucionar problemas de Serverless Monitoring para AWS Lambda
- link: /integrations/github
tag: Documentación
- text: Integración de GitHub para Datadog
+ text: Integración de Datadog con GitHub
+- link: https://learn.datadoghq.com/courses/visibility-aws-lambda
+ tag: Centro de Aprendizaje
+ text: Configurar AWS Lambda para Serverless Monitoring con Datadog
title: Configurar Serverless Monitoring para AWS Lambda
---
+Primero, [instala][1] Serverless Monitoring de Datadog para comenzar a recopilar métricas, trazas y registros. Una vez que la instalación esté completa, consulta los siguientes temas para configurar tu instalación según tus necesidades de monitoreo.
-Primero, [instala][1] Datadog Serverless Monitoring para comenzar a recopilar métricas, trazas (traces) y logs. Cuando la instalación se complete, consulta los siguientes temas y configura la instalación según tus necesidades de monitorización.
-
-- [Conectar la telemetría mediante etiquetas (tags)](#connect-telemetry-using-tags)
+- [Conectar telemetría usando etiquetas](#connect-telemetry-using-tags)
- [Recopilar las cargas útiles de solicitud y respuesta](#collect-the-request-and-response-payloads)
-- [Recopilar trazas procedentes de recursos distintos de Lambda](#collect-traces-from-non-lambda-resources)
-- [Configurar el rastreador de Datadog](#configure-the-datadog-tracer)
-- [Seleccionar las frecuencias de muestreo para la ingesta de tramos (spans) de APM](#select-sampling-rates-for-ingesting-apm-spans)
-- [Filtrar o borrar información confidencial de las trazas](#filter-or-scrub-sensitive-information-from-traces)
-- [Habilitar y deshabilitar la recopilación de trazas](#enabledisable-trace-collection)
-- [Conectar logs y trazas](#connect-logs-and-traces)
-- [Vincular errores al código fuente](#link-errors-to-your-source-code)
+- [Recopilar trazas de recursos que no son Lambda](#collect-traces-from-non-lambda-resources)
+- [Configurar el SDK de Datadog](#configure-the-datadog-sdk)
+- [Seleccionar tasas de muestreo para la ingestión de spans de APM](#select-sampling-rates-for-ingesting-apm-spans)
+- [Filtrar o eliminar información sensible de las trazas](#filter-or-scrub-sensitive-information-from-traces)
+- [Habilitar/deshabilitar la recopilación de trazas](#enabledisable-trace-collection)
+- [Conectar registros y trazas](#connect-logs-and-traces)
+- [Vincular errores a tu código fuente](#link-errors-to-your-source-code)
- [Enviar métricas personalizadas][27]
-- [Recopilar datos de perfiles](#collect-profiling-data)
-- [Enviar la telemetría a través de PrivateLink o un proxy](#send-telemetry-over-privatelink-or-proxy)
-- [Enviar la telemetría a varias organizaciones de Datadog](#send-telemetry-to-multiple-datadog-organizations)
-- [Activar el cumplimiento de FIPS](#enable-fips-compliance)
-- [Propagar el contexto de las trazas en los recursos de AWS](#propagate-trace-context-over-aws-resources)
-- [Fusionar las trazas de X-Ray y Datadog](#merge-x-ray-and-datadog-traces)
-- [Habilitar la firma de código para AWS Lambda](#enable-aws-lambda-code-signing)
-- [Migrar a la Datadog Lambda Extension](#migrate-to-the-datadog-lambda-extension)
-- [Migrar de x86 a arm64 con la Datadog Lambda Extension](#migrating-between-x86-to-arm64-with-the-datadog-lambda-extension)
-- [Configurar la Datadog Lambda Extension para hacer tests locales](#configure-the-datadog-lambda-extension-for-local-testing)
-- [Instrumentar AWS Lambda con la API de OpenTelemetry](#Instrumentar-AWS-lambda-with-the-opentelemetry-api)
-- [Uso de Datadog Lambda Extension v67+](#using-datadog-lambda-extension-v67)
-- [Configuración del enlace automático para PutItem de DynamoDB](#configure-auto-linking-for-dynamodb-putitem)
-- [Visualización y modelado correcto de los servicios de AWS](#visualize-and-model-aws-services-by-resource-name)
-- [Enviar logs a Observability Pipelines](#send-logs-to-observability-pipelines)
-- [Recargar periódicamente el secreto de la clave de API](#reload-api-key-secret-periodically)
-- [Solucionar problemas](#troubleshoot)
-- [Referencias adicionales](#further-reading)
-
-
-## Habilitar la detección de amenazas para observar los intentos de ataque
-
-Recibe alertas sobre los atacantes que apuntan a tus aplicaciones sin servidor y responde rápidamente.
-
-Para empezar, asegúrate de tener el [rastreo habilitado][43] para tus funciones.
-
-Para habilitar la monitorización de amenazas, añade las siguientes variables de entorno a tu despliegue:
+- [Recopilar datos de perfilado](#collect-profiling-data)
+- [Envía telemetría a través de PrivateLink o proxy](#send-telemetry-over-privatelink-or-proxy)
+- [Envía telemetría a múltiples organizaciones de Datadog](#send-telemetry-to-multiple-datadog-organizations)
+- [Habilita el cumplimiento de FIPS](#enable-fips-compliance)
+- [Propaga el contexto de trazas a través de los recursos de AWS](#propagate-trace-context-over-aws-resources)
+- [Fusiona las trazas de X-Ray y Datadog](#merge-x-ray-and-datadog-traces)
+- [Habilita la firma de código de AWS Lambda](#enable-aws-lambda-code-signing)
+- [Migra a la extensión de Datadog Lambda](#migrate-to-the-datadog-lambda-extension)
+- [Migrando de x86 a arm64 con la extensión de Datadog Lambda](#migrating-between-x86-to-arm64-with-the-datadog-lambda-extension)
+- [Configura la extensión de Datadog Lambda para pruebas locales](#configure-the-datadog-lambda-extension-for-local-testing)
+- [Instrumenta AWS Lambda con la API de OpenTelemetry](#instrument-aws-lambda-with-the-opentelemetry-api)
+- [Usando la extensión de Datadog Lambda v67+](#using-datadog-lambda-extension-v67)
+- [Configura el enlace automático para DynamoDB PutItem](#configure-auto-linking-for-dynamodb-putitem)
+- [Visualiza y modela los servicios de AWS correctamente](#visualize-and-model-aws-services-by-resource-name)
+- [Envía registros a los Pipelines de Observabilidad](#send-logs-to-observability-pipelines)
+- [Recarga el secreto de la clave API periódicamente](#reload-api-key-secret-periodically)
+- [Soluciona problemas](#troubleshoot)
+- [Lectura adicional](#further-reading)
+
+
+## Habilita la detección de amenazas para observar intentos de ataque{#enable-threat-detection-to-observe-attack-attempts}
+
+Recibe alertas sobre atacantes que apuntan a tus aplicaciones sin servidor y responde rápidamente.
+
+Para comenzar, primero asegúrate de que tienes [traza habilitada][43] para tus funciones.
+
+Para habilitar el seguimiento de amenazas, agregue las siguientes variables de entorno a su implementación:
```yaml
environment:
DD_SERVERLESS_APPSEC_ENABLED: true
AWS_LAMBDA_EXEC_WRAPPER: /opt/datadog_wrapper
```
-Vuelve a desplegar la función e invócala. Al cabo de unos minutos, aparece en las [vistas AAP][49].
+Vuelva a implementar la función e invóquela. Después de unos minutos, aparece en [vistas de AAP][49].
-Para ver en acción la detección de amenazas a las aplicaciones y las API, envía patrones de ataque conocidos a tu aplicación. Por ejemplo, envía una cabecera HTTP con el valor `acunetix-product` para activar un intento de [ataque al analizador de seguridad][44]:
+Para ver la detección de amenazas de Protección de Aplicaciones y API en acción, envíe patrones de ataque conocidos a su aplicación. Por ejemplo, envíe un encabezado HTTP con el valor `acunetix-product` para activar un intento de [ataque de escáner de seguridad][44]:
```sh
curl -H 'My-AAP-Test-Header: acunetix-product' https:///
```
-Unos minutos después de habilitar tu aplicación y enviar los patrones de ataque, **la información sobre las amenazas aparece en el [Application Signals Explorer][41]**.
+Unos minutos después de habilitar su aplicación y enviar los patrones de ataque, **aparece información de amenazas en el [Explorador de Señales de Aplicación][41]**.
-## Conectar la telemetría mediante etiquetas
+## Conecte la telemetría utilizando etiquetas {#connect-telemetry-using-tags}
-Conecta la telemetría de Datadog a través del uso de etiquetas personalizadas y de etiquetas reservadas (`env`, `service` y `version`). Puedes utilizarlas para navegar fácilmente por métricas, trazas y logs. Añade los parámetros adicionales que se indican a continuación en función de tu método de instalación.
+Conecte la telemetría de Datadog a través del uso de etiquetas reservadas (`env`, `service` y `version`) y etiquetas personalizadas. Puede usar estas etiquetas para navegar sin problemas a través de métricas, trazas y registros. Agregue los parámetros adicionales a continuación para el método de instalación que utiliza.
{{< tabs >}}
{{% tab "Datadog CLI" %}}
-Asegúrate de usar la última versión de la [Datadog CLI][1] y ejecuta el comando `datadog-ci lambda instrument` con los argumentos adicionales adecuados. Por ejemplo:
+Asegúrese de estar utilizando la última versión del [Datadog CLI][1] y ejecute el comando `datadog-ci lambda instrument` con los argumentos adicionales apropiados. Por ejemplo:
```sh
datadog-ci lambda instrument \
@@ -86,39 +88,39 @@ datadog-ci lambda instrument \
--service web \
--version v1.2.3 \
--extra-tags "team:avengers,project:marvel"
- # ... otros argumentos obligatorios, como los nombres de las funciones
+ # ... other required arguments, such as function names
```
[1]: https://docs.datadoghq.com/es/serverless/serverless_integrations/cli
{{% /tab %}}
{{% tab "Serverless Framework" %}}
-Asegúrate de usar la última versión del [complemento sin servidor Datadog][1] y aplica las etiquetas con los parámetros `env`, `service`, `version` y `tags`. Por ejemplo:
+Asegúrese de estar utilizando la última versión del [plugin sin servidor de Datadog][1] y aplique las etiquetas utilizando los parámetros `env`, `service`, `version` y `tags`. Por ejemplo:
```yaml
custom:
datadog:
- # ... otros parámetros obligatorios, como el sitio de Datadog y la clave de la API
+ # ... other required parameters, such as the Datadog site and API key
env: dev
service: web
version: v1.2.3
tags: "team:avengers,project:marvel"
```
-De forma predeterminada, si no defines `env` y `service`, el complemento utiliza automáticamente los valores `stage` y `service` de la definición de la aplicación serverless. Para deshabilitar esta característica, define`enableTags` como `false`.
+Por defecto, si no define `env` y `service`, el plugin utiliza automáticamente los valores `stage` y `service` de la definición de la aplicación sin servidor. Para deshabilitar esta función, establezca `enableTags` en `false`.
[1]: https://docs.datadoghq.com/es/serverless/serverless_integrations/plugin
{{% /tab %}}
{{% tab "AWS SAM" %}}
-Asegúrate de usar la última versión de la [macro serverless de Datadog][1] y aplica las etiquetas con los parámetros `env`, `service`, `version` y `tags`. Por ejemplo:
+Asegúrate de estar utilizando la última versión del [macro sin servidor de Datadog][1] y aplica las etiquetas utilizando los parámetros `env`, `service`, `version` y `tags`. Por ejemplo:
```yaml
Transform:
- AWS::Serverless-2016-10-31
- Name: DatadogServerless
Parameters:
- # ... otros parámetros obligatorios, como el sitio de Datadog y la clave de la API
+ # ... other required parameters, such as the Datadog site and API key
env: dev
service: web
version: v1.2.3
@@ -129,7 +131,7 @@ Transform:
{{% /tab %}}
{{% tab "AWS CDK" %}}
-Asegúrate de usar la última versión de la [construcción del CDK serverless de Datadog][1] y aplica las etiquetas con los parámetros `env`, `service`, `version` y `tags`. Por ejemplo:
+Asegúrate de estar utilizando la última versión del [constructo CDK sin servidor de Datadog][1] y aplica las etiquetas utilizando los parámetros `env`, `service`, `version` y `tags`. Por ejemplo:
```typescript
const datadog = new DatadogLambda(this, "Datadog", {
@@ -146,54 +148,54 @@ datadog.addLambdaFunctions([]);
{{% /tab %}}
{{% tab "Otros" %}}
-Si vas a recopilar la telemetría de tus funciones de Lambda mediante la [Datadog Lambda Extension][1], define las siguientes variables de entorno en tus funciones de Lambda. Por ejemplo:
+Si estás recopilando telemetría de tus funciones Lambda utilizando la [extensión Lambda de Datadog][1], establece las siguientes variables de entorno en tus funciones Lambda. Por ejemplo:
- DD_ENV: dev
- DD_SERVICE: web
- DD_VERSION: v1.2.3
- DD_TAGS: team:avengers,project:marvel
-Si quieres recopilar la telemetría de tus funciones de Lambda mediante la [Función de Lambda del Datadog Forwarder][2], define `env`, `service`, `version` y las etiquetas adicionales como etiquetas de recursos de AWS en tus funciones de Lambda. Asegúrate de que la opción `DdFetchLambdaTags` esté definida como `true` en el stack tecnológico de CloudFormation de tu Datadog Forwarder. De forma predeterminada, el valor de esta opción es true desde la versión 3.19.0.
+Si estás recopilando telemetría de tus funciones Lambda utilizando la [función Lambda Forwarder de Datadog][2], establece las variables `env`, `service`, `version` y etiquetas adicionales como etiquetas de recurso de AWS en tus funciones Lambda. Asegúrate de que la opción `DdFetchLambdaTags` esté configurada en `true` en la pila de CloudFormation para tu Forwarder de Datadog. Esta opción tiene como valor predeterminado verdadero desde la versión 3.19.0.
[1]: /es/serverless/libraries_integrations/extension/
[2]: /es/serverless/libraries_integrations/forwarder/
{{% /tab %}}
{{< /tabs >}}
-Datadog también puede enriquecer la telemetría recopilada con las etiquetas de recursos de AWS definidas en tus funciones de Lambda con un retraso de unos minutos.
+Datadog también puede enriquecer la telemetría recopilada con las etiquetas de recurso de AWS existentes definidas en tus funciones Lambda con un retraso de unos minutos.
-- Si quieres recopilar la telemetría de tus funciones de Lambda mediante la [Datadog Lambda Extension][2], habilita la [Integración de AWS para Datadog][3]. Esta característica se creó para enriquecer la telemetría con etiquetas **personalizadas**. Las etiquetas reservadas de Datadog (`env`, `service` y `version`) deben definirse en las variables de entorno correspondientes (`DD_ENV`, `DD_SERVICE` y `DD_VERSION` respectivamente). Las etiquetas reservadas también pueden definirse mediante los parámetros que ofrecen las integraciones de Datadog con las herramientas de desarrollo serverless. Esta característica no es compatible con funciones de Lambda implementadas con imágenes de contenedor.
+- Si estás recopilando telemetría de tus funciones Lambda utilizando la [extensión Lambda de Datadog][2], habilita la [integración de AWS de Datadog][3]. Esta función está destinada a enriquecer tu telemetría con etiquetas **personalizadas**. Las etiquetas reservadas de Datadog (`env`, `service` y `version`) deben establecerse a través de las variables de entorno correspondientes (`DD_ENV`, `DD_SERVICE` y `DD_VERSION` respectivamente). Las etiquetas reservadas también se pueden establecer con los parámetros proporcionados por las integraciones de Datadog con las herramientas de desarrollo sin servidor. Esta función no funciona para las funciones de Lambda desplegadas con imágenes de contenedor.
-- Si quieres recopilar la telemetría de tus funciones de Lambda mediante la [Función de Lambda del Datadog Forwarder][4], define la opción `DdFetchLambdaTags` como `true` en el stack tecnológico de CloudFormation de tu Datadog Forwarder. De forma predeterminada, el valor de esta opción es true desde la versión 3.19.0.
+- Si está recopilando telemetría de sus funciones de Lambda utilizando la [función Lambda de Datadog Forwarder][4], establezca la opción `DdFetchLambdaTags` en `true` en la pila de CloudFormation para su Datadog Forwarder. Esta opción tiene como valor predeterminado verdadero desde la versión 3.19.0.
-## Recopilar las cargas útiles de solicitud y respuesta
+## Recopila las cargas útiles de solicitud y respuesta {#collect-the-request-and-response-payloads}
-Esta característica es compatible con Python, Node.js, Go, Java y .NET.
+Esta función es compatible con Python, Node.js, Go, Java y .NET.
-Datadog puede [recopilar y visualizar las cargas útiles de solicitud y respuesta JSON de las funciones de AWS Lambda][5]. Esto te dará más datos sobre tus aplicaciones serverless y te ayudará a solucionar los errores de tu función de Lambda.
+Datadog puede [recopilar y visualizar las cargas útiles de solicitud y respuesta en JSON de las funciones de AWS Lambda][5], brindándole una visión más profunda de sus aplicaciones sin servidor y ayudando a solucionar fallas en las funciones de Lambda.
-Esta característica está deshabilitada de forma predeterminada. Sigue las instrucciones que se indican a continuación en función del método de instalación que utilices.
+Esta función está deshabilitada por defecto. Sigue las instrucciones a continuación para el método de instalación que utilizas.
{{< tabs >}}
{{% tab "Datadog CLI" %}}
-Asegúrate de usar la última versión de la [Datadog CLI][1] y ejecuta el comando `datadog-ci lambda instrument` con el argumento adicional `--capture-lambda-payload`. Por ejemplo:
+Asegúrate de estar utilizando la última versión de la [Datadog CLI][1] y ejecuta el comando `datadog-ci lambda instrument` con el argumento adicional `--capture-lambda-payload`. Por ejemplo:
```sh
datadog-ci lambda instrument \
--capture-lambda-payload true
- # ... otros argumentos obligatorios, como los nombres de las funciones
+ # ... other required arguments, such as function names
```
[1]: https://docs.datadoghq.com/es/serverless/serverless_integrations/cli
{{% /tab %}}
{{% tab "Serverless Framework" %}}
-Asegúrate de usar la última versión del [Datadog Serverless Plugin][1] y define `captureLambdaPayload` como `true`. Por ejemplo:
+Asegúrate de estar utilizando la última versión del [plugin sin servidor de Datadog][1] y establece el `captureLambdaPayload` en `true`. Por ejemplo:
```yaml
custom:
datadog:
- # ... otros parámetros obligatorios, como el sitio de Datadog y la clave de la API
+ # ... other required parameters, such as the Datadog site and API key
captureLambdaPayload: true
```
@@ -201,14 +203,14 @@ custom:
{{% /tab %}}
{{% tab "AWS SAM" %}}
-Asegúrate de usar la última versión de la [macro serverless de Datadog][1] y define el parámetro `captureLambdaPayload` como `true`. Por ejemplo:
+Asegúrate de estar utilizando la última versión de la [macro sin servidor de Datadog][1] y establece el parámetro `captureLambdaPayload` en `true`. Por ejemplo:
```yaml
Transform:
- AWS::Serverless-2016-10-31
- Name: DatadogServerless
Parameters:
- # ... otros parámetros obligatorios, como el sitio de Datadog y la clave de la API
+ # ... other required parameters, such as the Datadog site and API key
captureLambdaPayload: true
```
@@ -216,7 +218,7 @@ Transform:
{{% /tab %}}
{{% tab "AWS CDK" %}}
-Asegúrate de usar la última versión de la [construcción del CDK serverless de Datadog][1] y define el parámetro `captureLambdaPayload` como `true`. Por ejemplo:
+Asegúrate de estar utilizando la última versión del [constructo CDK sin servidor de Datadog][1] y establece el parámetro `captureLambdaPayload` en `true`. Por ejemplo:
```typescript
const datadog = new DatadogLambda(this, "Datadog", {
@@ -230,33 +232,33 @@ datadog.addLambdaFunctions([]);
{{% /tab %}}
{{% tab "Otros" %}}
-Define la variable de entorno `DD_CAPTURE_LAMBDA_PAYLOAD` como `true` en tus funciones de Lambda.
+Establece la variable de entorno `DD_CAPTURE_LAMBDA_PAYLOAD` en `true` en tus funciones de Lambda.
{{% /tab %}}
{{< /tabs >}}
-Para evitar que se envíe a Datadog información confidencial incluida en objetos JSON de solicitud o respuesta, puedes borrar parámetros específicos.
+Para evitar que se envíen datos sensibles dentro de los objetos JSON de solicitud o respuesta a Datadog, puede eliminar parámetros específicos.
-Para hacerlo, añade un archivo `datadog.yaml` nuevo a la misma carpeta del código de tu función de Lambda. Podrás enmascarar los campos en la carga útil de Lambda mediante [el bloque replace_tags][6] dentro de los parámetros de `apm_config` en el archivo `datadog.yaml`:
+Para hacer esto, agregue un nuevo archivo `datadog.yaml` en la misma carpeta que el código de su función Lambda. La ofuscación de campos en la carga útil de Lambda está disponible a través del [bloque replace_tags][6] dentro de la configuración de `apm_config` en `datadog.yaml`:
```yaml
apm_config:
replace_tags:
- # Reemplaza "foobar" cada vez que aparezca en cualquier etiqueta por "REDACTED":
+ # Replace all the occurrences of "foobar" in any tag with "REDACTED":
- name: "*"
pattern: "foobar"
repl: "REDACTED"
- # Reemplaza "auth" en los encabezados de solicitud por una cadena vacía
+ # Replace "auth" from request headers with an empty string
- name: "function.request.headers.auth"
pattern: "(?s).*"
repl: ""
- # Reemplaza "apiToken" en la carga útil de respuesta por "****"
+ # Replace "apiToken" from response payload with "****"
- name: "function.response.apiToken"
pattern: "(?s).*"
repl: "****"
```
-Como alternativa, puedes rellenar la variable de entorno `DD_APM_REPLACE_TAGS` en tu función de Lambda para enmascarar campos específicos:
+Como alternativa, también puede poblar la variable de entorno `DD_APM_REPLACE_TAGS` en su función Lambda para ofuscar campos específicos:
```yaml
DD_APM_REPLACE_TAGS=[
@@ -278,40 +280,40 @@ DD_APM_REPLACE_TAGS=[
]
```
-Para recopilar cargas útiles de los servicios de AWS, consulta [Capturar solicitudes y respuestas de los servicios de AWS][54].
+Para recopilar cargas útiles de servicios de AWS, consulte [Capturar Solicitudes y Respuestas de Servicios de AWS][54].
-## Recopilar trazas procedentes de recursos distintos de Lambda
+## Recopile trazas de recursos que no son de Lambda {#collect-traces-from-non-lambda-resources}
-Datadog puede inferir tramos de APM en función de los eventos de Lambda entrantes para los recursos gestionados de AWS que activan la función de Lambda. Esto puede ayudarte a visualizar la relación entre los recursos gestionados de AWS e identificar problemas de rendimiento en tus aplicaciones serverless. Consulta [más detalles sobre el producto][12].
+Datadog puede inferir los spans de APM basándose en los eventos de Lambda entrantes para los recursos administrados por AWS que activan la función de Lambda. Esto puede ayudar a visualizar la relación entre los recursos administrados por AWS e identificar problemas de rendimiento en sus aplicaciones Serverless. Consulte [detalles adicionales del producto][12].
-Los siguientes recursos son compatibles en estos momentos:
+Los siguientes recursos son actualmente compatibles:
- API Gateway (API REST, API HTTP y WebSocket)
-- URL de funciones
+- URLs de función
- SQS
- SNS (los mensajes de SNS entregados a través de SQS también son compatibles)
-- Flujos (streams) de Kinesis (si los datos son una cadena JSON o una cadena JSON codificada en base64)
+- Kinesis Streams (si los datos son una cadena JSON o una cadena JSON codificada en base64)
- EventBridge (eventos personalizados, donde `Details` es una cadena JSON)
- S3
- DynamoDB
-Para deshabilitar esta característica, define `DD_TRACE_MANAGED_SERVICES` como `false`.
+Para desactivar esta función, establezca `DD_TRACE_MANAGED_SERVICES` en `false`.
-### DD_SERVICE_MAPPING
+### DD_SERVICE_MAPPING {#dd-service-mapping}
-`DD_SERVICE_MAPPING` es una variable de entorno que cambia los [nombres de los servicios][46] distintos de Lambda anteriores. Opera con pares `old-service:new-service`.
+`DD_SERVICE_MAPPING` es una variable de entorno que renombra los nombres de [servicios upstream no Lambda][46]. Funciona con `old-service:new-service` pares.
-#### Sintaxis
+#### Sintaxis {#syntax}
`DD_SERVICE_MAPPING=key1:value1,key2:value2`...
Hay dos formas de interactuar con esta variable:
-#### Cambiar el nombre de todos los servicios de un tipo
+#### Renombrar todos los servicios de un tipo {#rename-all-services-of-a-type}
-Para cambiar el nombre de todos los servicios anteriores asociados a una integración de AWS Lambda, utiliza estos identificadores:
+Para renombrar todos los servicios upstream asociados con una integración de AWS Lambda, utilice estos identificadores:
| Integración de AWS Lambda | Valor de DD_SERVICE_MAPPING |
|---|---|
@@ -325,62 +327,62 @@ Para cambiar el nombre de todos los servicios anteriores asociados a una integra
| `lambda_url` | `"lambda_url:newServiceName"` |
| `lambda_msk` | `"lambda_msk:newServiceName"` |
-#### Cambiar el nombre de servicios específicos
+#### Renombrar servicios específicos {#rename-specific-services}
-Para un enfoque más granular, utiliza estos identificadores específicos de los servicios:
+Para un enfoque más granular, utilice estos identificadores específicos de servicio:
| Servicio | Identificador | Valor de DD_SERVICE_MAPPING |
|---|---|---|
-| API Gateway | ID de la API | `"r3pmxmplak:newServiceName"` |
+| API Gateway | API ID | `"r3pmxmplak:newServiceName"` |
| SNS | Nombre del tema | `"ExampleTopic:newServiceName"` |
| SQS | Nombre de la cola | `"MyQueue:newServiceName"` |
| S3 | Nombre del bucket | `"example-bucket:newServiceName"` |
-| EventBridge | Origen del evento | `"eventbridge.custom.event.sender:newServiceName"` |
-| Kinesis | Nombre del flujo | `"MyStream:newServiceName"` |
+| EventBridge | Fuente del evento | `"eventbridge.custom.event.sender:newServiceName"` |
+| Kinesis | Nombre del stream | `"MyStream:newServiceName"` |
| DynamoDB | Nombre de la tabla | `"ExampleTableWithStream:newServiceName"` |
-| URL de Lambda | ID de la API | `"a8hyhsshac:newServiceName"` |
+| Lambda URLs | API ID | `"a8hyhsshac:newServiceName"` |
| MSK | Nombre del clúster | `"ExampleCluster:newServiceName"` |
-#### Ejemplos con descripción
+#### Ejemplos con descripción {#examples-with-description}
| Comando | Descripción |
|---|---|
-| `DD_SERVICE_MAPPING="lambda_api_gateway:new-service-name"` | Cambia el nombre de todos los servicios anteriores `lambda_api_gateway` a `new-service-name` |
-| `DD_SERVICE_MAPPING="08se3mvh28:new-service-name"` | Cambia el nombre del servicio anterior específico `08se3mvh28.execute-api.eu-west-1.amazonaws.com` a `new-service-name` |
+| `DD_SERVICE_MAPPING="lambda_api_gateway:new-service-name"` | Renombra todos los `lambda_api_gateway` servicios upstream a `new-service-name` |
+| `DD_SERVICE_MAPPING="08se3mvh28:new-service-name"` | Renombra el servicio upstream específico `08se3mvh28.execute-api.eu-west-1.amazonaws.com` a `new-service-name` |
-Para cambiar el nombre de los servicios posteriores, consulta `DD_SERVICE_MAPPING` en la [documentación de configuración del rastreador][45].
+Para renombrar servicios descendentes, consulte `DD_SERVICE_MAPPING` en la [documentación de configuración del rastreador][45].
-## Configurar el rastreador de Datadog
+## Configurar el SDK de Datadog {#configure-the-datadog-sdk}
-Para ver qué bibliotecas y frameworks instrumenta de forma automática el cliente de Datadog APM, consulta los [Requisitos de compatibilidad para APM][15]. Para instrumentar las aplicaciones personalizadas, consulta la guía de Datadog APM en la sección sobre [instrumentación personalizada][16].
+Para ver qué bibliotecas y marcos están instrumentados automáticamente por el cliente APM de Datadog, consulte [Requisitos de compatibilidad para APM][15]. Para instrumentar aplicaciones personalizadas, consulte la guía de APM de Datadog para [instrumentación personalizada][16].
-## Seleccionar las frecuencias de muestreo para la ingesta de tramos de APM
+## Seleccione tasas de muestreo para la ingestión de spans de APM {#select-sampling-rates-for-ingesting-apm-spans}
-Para gestionar la [frecuencia de muestreo de invocaciones de APM rastreadas][17] de las funciones sin servidor, configura la variable de entorno `DD_TRACE_SAMPLING_RULES` en la función con un valor entre 0.000 (sin rastreo de invocaciones de funciones Lambda) y 1.000 (con rastreo de todas las invocaciones de funciones Lambda).
+Para gestionar la [tasa de muestreo de invocación rastreada por APM][17] para funciones Serverless, establezca la variable de entorno `DD_TRACE_SAMPLING_RULES` en un valor entre 0.000 (sin rastreo de invocaciones de funciones Lambda) y 1.000 (rastrear todas las invocaciones de funciones Lambda).
**Notas**:
- - El uso de `DD_TRACE_SAMPLE_RATE` está obsoleto. Utiliza `DD_TRACE_SAMPLING_RULES` en su lugar. Por ejemplo, si ya configuraste `DD_TRACE_SAMPLE_RATE` como `0.1`, configura `DD_TRACE_SAMPLING_RULES` como `[{"sample_rate":0.1}]` en su lugar.
- - Las métricas de tráfico globales como `trace (traza)..hits` se calculan en función de las invocaciones muestreadas *sólo* en Lambda.
+ - El uso de `DD_TRACE_SAMPLE_RATE` está en desuso. Utilice `DD_TRACE_SAMPLING_RULES` en su lugar. Por ejemplo, si ya configuró `DD_TRACE_SAMPLE_RATE` a `0.1`, configure `DD_TRACE_SAMPLING_RULES` a `[{"sample_rate":0.1}]` en su lugar.
+ - Las métricas de tráfico generales, como `trace..hits`, se calculan en función de las invocaciones muestreadas *solo* en Lambda.
-Para los servicios de alto rendimiento, normalmente no es necesario que recopiles todas las solicitudes, porque los datos de las trazas son muy repetitivos. Los problemas suficientemente graves siempre deberían poder detectarse en varias trazas. Los [controles de ingesta][18] te permiten solucionar los problemas sin salirte del presupuesto.
+Para servicios de alto rendimiento, generalmente no es necesario que recoja cada solicitud individual, ya que los datos de trazas son muy repetitivos; un problema lo suficientemente importante siempre debería mostrar síntomas en múltiples trazas. [Los controles de ingestión][18] le ayudan a tener la visibilidad que necesita para solucionar problemas mientras se mantiene dentro del presupuesto.
-El mecanismo de muestreo predeterminado para la ingesta se denomina [head-based sampling][19] (muestreo basado en la fase inicial). La decisión sobre si se debe mantener o eliminar una traza se toma al inicio de la traza, cuando comienza el tramo raíz. Luego, esta decisión se propaga a otros servicios como parte de su contexto de solicitud, por ejemplo, un encabezado de solicitud HTTP. Como la decisión se toma al inicio de la traza y luego se transmite al resto de la traza, debes configurar la frecuencia de muestreo en el servicio raíz para que surta efecto.
+El mecanismo de muestreo predeterminado para la ingestión se llama [head-based sampling][19]. La decisión de mantener o descartar una traza se toma al principio de la traza, al inicio del span raíz. Esta decisión se propaga a otros servicios como parte de su contexto de solicitud, por ejemplo, como un encabezado de solicitud HTTP. Debido a que la decisión se toma al inicio de la traza y luego se transmite a todas las partes de la traza, debe configurar la tasa de muestreo en el servicio raíz para que tenga efecto.
-Cuando Datadog ingiere los tramos, el filtro de retención inteligente de Datadog indexa una proporción de trazas que contribuye a la monitorización del estado de tus aplicaciones. También puedes definir [filtros de retención][20] personalizados para indexar los datos de trazas que quieras mantener durante más tiempo para ayudar a alcanzar los objetivos de tu organización.
+Después de que los spans han sido ingeridos por Datadog, el Filtro de Retención Inteligente de Datadog indexa una proporción de trazas para ayudarle a monitorear la salud de sus aplicaciones. También puede definir [filtros de retención][20] personalizados para indexar los datos de trazas que desea conservar por más tiempo para apoyar los objetivos de su organización.
-Obtén más información acerca del [Datadog Trace Pipeline][21].
+Aprenda más sobre la [Canalización de Trazas de Datadog][21].
-## Filtrar o borrar información confidencial de las trazas
+## Filtrar o eliminar información sensible de las trazas {#filter-or-scrub-sensitive-information-from-traces}
-Para filtrar las trazas antes de enviarlas a Datadog, consulta [Ignorar los recursos no deseados en APM][22].
+Para filtrar trazas antes de enviarlas a Datadog, consulte [Ignorando Recursos No Deseados en APM][22].
-Para borrar atributos de trazas por razones de seguridad de los datos, consulta [Configurar el Datadog Agent o su rastreador para la seguridad de los datos][23].
+Para eliminar atributos de trazas por seguridad de datos, consulte [Configurar el Agente de Datadog o el Rastreador para Seguridad de Datos][23].
-## Habilitar y deshabilitar la recopilación de trazas
+## Habilitar/deshabilitar la recolección de trazas {#enabledisable-trace-collection}
-La recopilación de trazas (traces) a través de la extensión Datadog Lambda está activada por defecto.
+La recolección de trazas a través de la extensión de Lambda de Datadog está habilitada por defecto.
-Si quieres empezar a recopilar las trazas de tus funciones de Lambda, aplica las configuraciones que se indican a continuación:
+Si desea comenzar a recolectar trazas de sus funciones de Lambda, aplique las configuraciones a continuación:
{{< tabs >}}
{{% tab "Datadog CLI" %}}
@@ -388,7 +390,7 @@ Si quieres empezar a recopilar las trazas de tus funciones de Lambda, aplica las
```sh
datadog-ci lambda instrument \
--tracing true
- # ... otros argumentos obligatorios, como los nombres de las funciones
+ # ... other required arguments, such as function names
```
{{% /tab %}}
{{% tab "Serverless Framework" %}}
@@ -396,7 +398,7 @@ datadog-ci lambda instrument \
```yaml
custom:
datadog:
- # ... otros parámetros obligatorios, como el sitio de Datadog y la clave de la API
+ # ... other required parameters, such as the Datadog site and API key
enableDDTracing: true
```
@@ -408,7 +410,7 @@ Transform:
- AWS::Serverless-2016-10-31
- Name: DatadogServerless
Parameters:
- # ... otros parámetros obligatorios, como el sitio de Datadog y la clave de la API
+ # ... other required parameters, such as the Datadog site and API key
enableDDTracing: true
```
@@ -426,14 +428,14 @@ datadog.addLambdaFunctions([]);
{{% /tab %}}
{{% tab "Otros" %}}
-Define la variable de entorno `DD_TRACE_ENABLED` como `true` en tus funciones de Lambda.
+Establece la variable de entorno `DD_TRACE_ENABLED` en `true` en sus funciones de Lambda.
{{% /tab %}}
{{< /tabs >}}
-#### Deshabilitar la recopilación de trazas
+#### Deshabilitar la recolección de trazas {#disable-trace-collection}
-Si quieres dejar de recopilar las trazas de tus funciones de Lambda, aplica las configuraciones que se indican a continuación:
+Si desea dejar de recolectar trazas de sus funciones de Lambda, aplique las configuraciones a continuación:
{{< tabs >}}
{{% tab "Datadog CLI" %}}
@@ -441,7 +443,7 @@ Si quieres dejar de recopilar las trazas de tus funciones de Lambda, aplica las
```sh
datadog-ci lambda instrument \
--tracing false
- # ... otros argumentos obligatorios, como los nombres de las funciones
+ # ... other required arguments, such as function names
```
{{% /tab %}}
{{% tab "Serverless Framework" %}}
@@ -449,7 +451,7 @@ datadog-ci lambda instrument \
```yaml
custom:
datadog:
- # ... otros parámetros obligatorios, como el sitio de Datadog y la clave de la API
+ # ... other required parameters, such as the Datadog site and API key
enableDDTracing: false
```
@@ -461,7 +463,7 @@ Transform:
- AWS::Serverless-2016-10-31
- Name: DatadogServerless
Parameters:
- # ... otros parámetros obligatorios, como el sitio de Datadog y la clave de la API
+ # ... other required parameters, such as the Datadog site and API key
enableDDTracing: false
```
@@ -479,19 +481,19 @@ datadog.addLambdaFunctions([]);
{{% /tab %}}
{{% tab "Otros" %}}
-Define la variable de entorno `DD_TRACE_ENABLED` como `false` en tus funciones de Lambda.
+Establece la variable de entorno `DD_TRACE_ENABLED` en `false` en sus funciones de Lambda.
{{% /tab %}}
{{< /tabs >}}
-## Conectar logs y trazas
+## Conecte registros y trazas {#connect-logs-and-traces}
-Si usas la [extensión de Lambda][2] para recopilar trazas y logs, Datadog añade automáticamente el ID de solicitud de AWS Lambda al tramo `aws.lambda` en la etiqueta `request_id`. Además, los logs de Lambda para la misma solicitud se añaden en el atributo `lambda.request_id`. Las vistas de trazas y logs de Datadog se vinculan mediante el uso del ID de solicitud de AWS Lambda.
+Si está utilizando la [extensión de Lambda][2] para recolectar trazas y registros, Datadog agrega automáticamente el ID de solicitud de AWS Lambda al `aws.lambda` span bajo la etiqueta `request_id`. Además, los registros de Lambda para la misma solicitud se agregan bajo el atributo `lambda.request_id`. Las vistas de trazas y registros de Datadog están conectadas utilizando el ID de solicitud de AWS Lambda.
-Si estás utilizando la [función del Forwarder Lambda][4] para recopilar trazas y logs, `dd.trace_id` se inyecta automáticamente en logs (habilitado por defecto con la variable de entorno `DD_LOGS_INJECTION`). Las vistas de traza y log de Datadog se conectan utilizando el ID de traza de Datadog. Esta característica es compatible con la mayoría de las aplicaciones que utilizan un tiempo de ejecución y un registrador populares (ver [compatibilidad por tiempo de ejecución][24]).
+Si está utilizando la [función Lambda Forwarder][4] para recopilar trazas y registros, `dd.trace_id` se inyecta automáticamente en los registros (habilitado por defecto con la variable de entorno `DD_LOGS_INJECTION`). Las vistas de trazas y registros de Datadog están conectadas utilizando el ID de traza de Datadog. Esta función es compatible con la mayoría de las aplicaciones que utilizan un runtime y un registrador populares (consulte el [soporte por runtime][24]).
-Si usas un tiempo de ejecución o un logger personalizado no compatible, sigue estos pasos:
-- Al generar logs en JSON, debes obtener el ID de traza de Datadog mediante `dd-trace` y añadirlo a tus logs en el campo `dd.trace_id`:
+Si está utilizando un runtime o un registrador personalizado que no es compatible, siga estos pasos:
+- Al registrar en JSON, necesita obtener el ID de traza de Datadog utilizando `dd-trace` y agregarlo a sus registros bajo el campo `dd.trace_id`:
```javascript
{
"message": "This is a log",
@@ -501,40 +503,40 @@ Si usas un tiempo de ejecución o un logger personalizado no compatible, sigue e
// ... the rest of your log
}
```
-- Para generar logs de texto sin formato, tienes que hacer lo siguiente:
- 1. Obtén el ID de traza de Datadog mediante `dd-trace` y añádelo a tu log.
- 2. Clona el pipeline de logs de Lambda predeterminado, que es de solo lectura.
- 3. Habilita el pipeline clonado y deshabilita el predeterminado.
- 4. Actualiza las reglas del [analizador Grok][25] del pipeline clonado para analizar el ID de traza de Datadog en el atributo `dd.trace_id`. Por ejemplo, utiliza la regla `my_rule \[%{word:level}\]\s+dd.trace_id=%{word:dd.trace_id}.*` para los logs que tengan este aspecto `[INFO] dd.trace_id=4887065908816661012 My log message`.
+- Al registrar en texto plano, necesita:
+ 1. Obtener el ID de traza de Datadog utilizando `dd-trace` y agregarlo a su registro.
+ 2. Clonar la canalización de registro de Lambda predeterminada, que es de solo lectura.
+ 3. Habilitar la canalización clonada y deshabilitar la predeterminada.
+ 4. Actualizar las reglas del [parser Grok][25] de la canalización clonada para analizar el ID de traza de Datadog en el atributo `dd.trace_id`. Por ejemplo, utilice la regla `my_rule \[%{word:level}\]\s+dd.trace_id=%{word:dd.trace_id}.*` para registros que se vean como `[INFO] dd.trace_id=4887065908816661012 My log message`.
-## Vincular errores al código fuente
+## Vincule errores a su código fuente {#link-errors-to-your-source-code}
-La [integración del código fuente de Datadog][26] te permite vincular tu telemetría (como trazas de stack tecnológico) al código fuente de tus funciones Lambda en tus repositorios Git.
+La [integración del código fuente de Datadog][26] le permite vincular su telemetría (como trazas de pila) al código fuente de sus funciones Lambda en sus repositorios de Git.
-Para obtener instrucciones sobre cómo configurar la integración del código fuente en tus aplicaciones serverless, consulta la [sección Integrar información de Git en los artefactos de compilación][101].
+Para obtener instrucciones sobre cómo configurar la integración del código fuente en sus aplicaciones sin servidor, consulte la sección [Incrustar información de Git en sus artefactos de construcción][101].
[101]: /es/integrations/guide/source-code-integration/?tab=go#serverless
-## Recopilar datos de perfiles
+## Recopilar datos de perfilado {#collect-profiling-data}
-El [Continuous Profiler][42] de Datadog está disponible en Vista Previa para Python versión 4.62.0 y para la capa versión 62 y anteriores. Esta función opcional se activa configurando la variable de entorno `DD_PROFILING_ENABLED` como `true`.
+El [Profiler Continuo][42] de Datadog está disponible en Vista Previa para la versión 4.62.0 del tracer de Python y la versión 62 de la capa y anteriores. Esta función opcional se habilita configurando la variable de entorno `DD_PROFILING_ENABLED` a `true`.
-Continuous Profiler genera un subproceso que toma periódicamente 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`.
+El Profiler Continuo funciona generando un hilo que toma periódicamente una instantánea de la CPU y el heap de todo el código Python en ejecución. Esto puede incluir el propio profiler. Si deseas que el profiler se ignore a sí mismo, establece `DD_PROFILING_IGNORE_PROFILER` en `true`.
-## Enviar la telemetría a través de PrivateLink o un proxy
+## Envía telemetría a través de PrivateLink o proxy {#send-telemetry-over-privatelink-or-proxy}
-La Datadog Lambda extension necesita acceder a la red pública de Internet para enviar datos a Datadog. Si tus funciones de Lambda están desplegadas en una VPC sin acceso a una red pública, puedes [enviar datos a través de AWS PrivateLink][28] al [sitio de Datadog][29] `datadoghq.com` o [a través de un proxy][30] para cualquier otro sitio.
+La Extensión de Lambda de Datadog necesita acceso a internet público para enviar datos a Datadog. Si tus funciones de Lambda están desplegadas en una VPC sin acceso a internet público, puedes [enviar datos a través de AWS PrivateLink][28] al `datadoghq.com` [sitio de Datadog][29], o [enviar datos a través de un proxy][30] para todos los demás sitios.
-Si usas el Datadog Forwarder, sigue estas [instrucciones][31].
+Si estás utilizando el Forwarder de Datadog, sigue estas [instrucciones][31].
-## Enviar la telemetría a varias organizaciones de Datadog
+## Envía telemetría a múltiples organizaciones de Datadog {#send-telemetry-to-multiple-datadog-organizations}
-Si quieres enviar datos a varias organizaciones, puedes habilitar el envío múltiple con una clave de API de texto sin formato, AWS Secrets Manager o AWS KMS.
+Si deseas enviar datos a múltiples organizaciones, puedes habilitar el envío dual utilizando una clave API en texto plano, AWS Secrets Manager o AWS KMS.
{{< tabs >}}
-{{% tab "Plaintext API Key" %}}
+{{% tab "Clave API en texto plano" %}}
-Puedes habilitar el envío múltiple con una clave de API de texto sin formato al configurar las siguientes variables de entorno en tu función de Lambda.
+Puedes habilitar el envío dual utilizando una clave API en texto plano configurando las siguientes variables de entorno en tu función Lambda.
```bash
# Enable dual shipping for metrics
@@ -551,55 +553,55 @@ DD_LOGS_CONFIG_ADDITIONAL_ENDPOINTS=[{"api_key": "", "Host": "ag
{{% /tab %}}
{{% tab "AWS Secrets Manager" %}}
-La extensión de Datadog es compatible con la recuperación automática de valores de [AWS Secrets Manager][1] para cualquier variable de entorno con el prefijo `_SECRET_ARN`. Puedes utilizar esta estrategia para almacenar de forma segura tus variables de entorno en Secrets Manager y aprovechar la característica de envío múltiple de Datadog.
+La Extensión de Datadog admite la recuperación automática de valores de [AWS Secrets Manager][1] para cualquier variable de entorno que comience con `_SECRET_ARN`. Puedes usar esto para almacenar de manera segura tus variables de entorno en Secrets Manager y enviar datos de manera dual con Datadog.
-1. Establece la variable de entorno `DD_LOGS_CONFIG_FORCE_USE_HTTP` en tu función de Lambda.
-2. Añade el permiso `secretsmanager:GetSecretValue` a los permisos del rol de IAM de tu función de Lambda.
-3. Crea un secreto nuevo en Secrets Manager para almacenar la variable de entorno de las métricas de envío múltiple. El contenido debe ser similar a este: `{"https://app.datadoghq.com": ["", ""], "https://app.datadoghq.eu": [""]}`.
-4. Define la variable de entorno `DD_ADDITIONAL_ENDPOINTS_SECRET_ARN` en tu función de Lambda como el ARN del secreto antes mencionado.
-5. Crea un secreto nuevo en Secrets Manager para almacenar la variable de entorno de APM (trazas) de envío múltiple. El contenido debe ser **similar** a este: `{"https://trace.agent.datadoghq.com": ["", ""], "https://trace.agent.datadoghq.eu": [""]}`.
-6. Define la variable de entorno `DD_APM_ADDITIONAL_ENDPOINTS_SECRET_ARN` en tu función de Lambda para que sea igual que el ARN del secreto antes mencionado.
-7. Crea un secreto nuevo en Secrets Manager para almacenar la variable de entorno de APM (creación de perfiles) de envío múltiple. El contenido debe ser **similar** a este: `{"https://trace.agent.datadoghq.com": ["", ""], "https://trace.agent.datadoghq.eu": [""]}`.
-8. Define la variable de entorno `DD_APM_PROFILING_ADDITIONAL_ENDPOINTS_SECRET_ARN` en tu función de Lambda para que coincida con el ARN del secreto antes mencionado.
-9. Crea un secreto nuevo en Secrets Manager para almacenar la variable de entorno de los logs de envío múltiple. El contenido debe ser **similar** a este: `[{"api_key": "", "Host": "agent-http-intake.logs.datadoghq.com", "Port": 443, "is_reliable": true}]`.
-10. Define la variable de entorno `DD_LOGS_CONFIG_ADDITIONAL_ENDPOINTS_SECRET_ARN` en tu función de Lambda para que coincida con el ARN del secreto antes mencionado.
+1. Establece la variable de entorno `DD_LOGS_CONFIG_FORCE_USE_HTTP` en tu función Lambda.
+2. Agrega el permiso `secretsmanager:GetSecretValue` a los permisos del rol IAM de tu función Lambda.
+3. Crea un nuevo secreto en Secrets Manager para almacenar la variable de entorno de métricas de envío dual. El contenido debe ser similar a `{"https://app.datadoghq.com": ["", ""], "https://app.datadoghq.eu": [""]}`.
+4. Establece la variable de entorno `DD_ADDITIONAL_ENDPOINTS_SECRET_ARN` en tu función Lambda al ARN del secreto mencionado anteriormente.
+5. Crea un nuevo secreto en Secrets Manager para almacenar la variable de entorno de APM (trazas) de envío dual. El contenido debe ser **similar** a `{"https://trace.agent.datadoghq.com": ["", ""], "https://trace.agent.datadoghq.eu": [""]}`.
+6. Establece la variable de entorno `DD_APM_ADDITIONAL_ENDPOINTS_SECRET_ARN` en tu función Lambda igual al ARN del secreto mencionado anteriormente.
+7. Crea un nuevo secreto en Secrets Manager para almacenar la variable de entorno de APM (perfilado) de envío dual. El contenido debe ser **similar** a `{"https://trace.agent.datadoghq.com": ["", ""], "https://trace.agent.datadoghq.eu": [""]}`.
+8. Establece la variable de entorno `DD_APM_PROFILING_ADDITIONAL_ENDPOINTS_SECRET_ARN` en tu función Lambda igual al ARN del secreto mencionado anteriormente.
+9. Crea un nuevo secreto en Secrets Manager para almacenar la variable de entorno de registros de envío dual. El contenido debe ser **similar** a `[{"api_key": "", "Host": "agent-http-intake.logs.datadoghq.com", "Port": 443, "is_reliable": true}]`.
+10. Establece la variable de entorno `DD_LOGS_CONFIG_ADDITIONAL_ENDPOINTS_SECRET_ARN` en tu función Lambda igual al ARN del secreto mencionado anteriormente.
[1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html
{{% /tab %}}
{{% tab "AWS KMS" %}}
-La extensión de Datadog es compatible con el descifrado automático de valores de [AWS KMS][41] para cualquier variable de entorno con el prefijo `_KMS_ENCRYPTED`. Puedes utilizar esta estrategia para almacenar de forma segura tus variables de entorno en KMS y aprovechar la característica de envío múltiple de Datadog.
+La extensión de Datadog admite el descifrado de valores de [AWS KMS][41] automáticamente para cualquier variable de entorno que comience con `_KMS_ENCRYPTED`. Puedes usar esto para almacenar de manera segura tus variables de entorno en KMS y enviar de manera dual con Datadog.
-1. Establece la variable de entorno `DD_LOGS_CONFIG_FORCE_USE_HTTP=true` en tu función de Lambda.
-2. Añade los permisos `kms:GenerateDataKey` y `kms:Decrypt` a los permisos del rol de IAM de tu función de Lambda.
-3. Para habilitar el envío múltiple de las métricas, cifra `{"https://app.datadoghq.com": ["", ""], "https://app.datadoghq.eu": [""]}` con KMS y define la variable de entorno `DD_ADDITIONAL_ENDPOINTS_KMS_ENCRYPTED` de modo que coincida con su valor.
-4. Para habilitar el envío múltiple de las trazas, cifra `{"https://trace.agent.datadoghq.com": ["", ""], "https://trace.agent.datadoghq.eu": [""]}` con KMS y define la variable de entorno `DD_APM_ADDITIONAL_KMS_ENCRYPTED` de modo que coincida con su valor.
-5. Para habilitar el envío múltiple de la creación de perfiles, cifra`{"https://trace.agent.datadoghq.com": ["", ""], "https://trace.agent.datadoghq.eu": [""]}` con KMS y define la variable de entorno `DD_APM_PROFILING_ADDITIONAL_ENDPOINTS_KMS_ENCRYPTED` de modo que coincida con su valor.
-5. Para habilitar el envío múltiple de los logs, cifra`[{"api_key": "", "Host": "agent-http-intake.logs.datadoghq.com", "Port": 443, "is_reliable": true}]` con KMS y define la variable de entorno `DD_LOGS_CONFIG_ADDITIONAL_ENDPOINTS_KMS_ENCRYPTED` de modo que coincida con su valor.
+1. Establece la variable de entorno `DD_LOGS_CONFIG_FORCE_USE_HTTP=true` en tu función Lambda.
+2. Agrega los permisos `kms:GenerateDataKey` y `kms:Decrypt` a los permisos del rol IAM de tu función Lambda.
+3. Para métricas de envío dual, encripta `{"https://app.datadoghq.com": ["", ""], "https://app.datadoghq.eu": [""]}` usando KMS y establece la variable de entorno `DD_ADDITIONAL_ENDPOINTS_KMS_ENCRYPTED` igual a su valor.
+4. Para trazas de envío dual, encripta `{"https://trace.agent.datadoghq.com": ["", ""], "https://trace.agent.datadoghq.eu": [""]}` usando KMS y establece la variable de entorno `DD_APM_ADDITIONAL_KMS_ENCRYPTED` igual a su valor.
+5. Para perfilado de envío dual, encripta `{"https://trace.agent.datadoghq.com": ["", ""], "https://trace.agent.datadoghq.eu": [""]}` usando KMS y establece la variable de entorno `DD_APM_PROFILING_ADDITIONAL_ENDPOINTS_KMS_ENCRYPTED` igual a su valor.
+5. Para registros de envío dual, encripta `[{"api_key": "", "Host": "agent-http-intake.logs.datadoghq.com", "Port": 443, "is_reliable": true}]` usando KMS y establece la variable de entorno `DD_LOGS_CONFIG_ADDITIONAL_ENDPOINTS_KMS_ENCRYPTED` igual a su valor.
[41]: https://docs.aws.amazon.com/kms/
{{% /tab %}}
{{< /tabs >}}
-Para obtener información sobre un uso más avanzado, consulta la [guía de Envío múltiple][32].
+Para un uso más avanzado, consulta la [guía de envío dual][32].
-## Habilitar el cumplimiento FIPS
+## Habilita la conformidad con FIPS {#enable-fips-compliance}
-
+
-Para habilitar el cumplimiento de FIPS de las funciones AWS Lambda, sigue estos pasos:
+Para habilitar la conformidad con FIPS para funciones de AWS Lambda, sigue estos pasos:
-1. Utiliza una capa de extensión que cumpla con FIPS haciendo referencia al ARN apropiado:
+1. Usa una capa de extensión compatible con FIPS haciendo referencia al ARN apropiado:
{{< tabs >}}
-{{% tab "AWS GovCLoud" %}}
+{{% tab "AWS GovCloud" %}}
```sh
arn:aws-us-gov:lambda::002406178527:layer:Datadog-Extension-FIPS:{{< latest-lambda-layer-version layer="extension" >}}
arn:aws-us-gov:lambda::002406178527:layer:Datadog-Extension-ARM-FIPS:{{< latest-lambda-layer-version layer="extension" >}}
```
{{% /tab %}}
-{{% tab "AWS Commercial" %}}
+{{% tab "AWS Comercial" %}}
```sh
arn:aws:lambda::464622532012:layer:Datadog-Extension-FIPS:{{< latest-lambda-layer-version layer="extension" >}}
arn:aws:lambda::464622532012:layer:Datadog-Extension-ARM-FIPS:{{< latest-lambda-layer-version layer="extension" >}}
@@ -607,132 +609,133 @@ Para habilitar el cumplimiento de FIPS de las funciones AWS Lambda, sigue estos
{{% /tab %}}
{{< /tabs >}}
-2. Para las funciones Lambda que utilizan Python, JavaScript o Go, configura la variable de entorno `DD_LAMBDA_FIPS_MODE` como `true`. Esta variable de entorno:
- - En el modo FIPS, las funciones auxiliares para métricas de Lambda requieren la extensión que cumpla con FIPS para el envío de métricas
- - Utiliza endpoints AWS FIPS para la búsqueda de claves de API
- - Está activado por defecto en los entornos GovCloud
+2. Para funciones de Lambda que utilizan Python, JavaScript o Go, establece la variable de entorno `DD_LAMBDA_FIPS_MODE` en `true`. Esta variable de entorno:
+ - En modo FIPS, las funciones auxiliares de métricas de Lambda requieren la extensión compatible con FIPS para la presentación de métricas
+ - Utiliza puntos de conexión FIPS de AWS para búsquedas de claves API
+ - Está habilitado por defecto en entornos de GovCloud
-3. Para las funciones Lambda que utilizan Ruby, .NET o Java, no es necesario configurar ninguna variable de entorno adicional.
+3. Para funciones de Lambda que utilizan Ruby, .NET o Java, no se necesita configuración adicional de la variable de entorno.
-4. Para un cumplimiento de FIPS completo de extremo a extremo, configura tu función Lambda para utilizar el sitio US1-FED de Datadog:
- - Configura `DD_SITE` en `ddog-gov.com` (necesario para el cumplimiento de FIPS de extremo a extremo).
- **Nota**: Aunque los componentes Lambda que cumplen con FIPS funcionan con cualquier sitio de Datadog, sólo el sitio US1-FED dispone de endpoints de entrada que cumplen con FIPS.
+4. Para cumplir completamente con FIPS, configure su función de Lambda para usar un sitio de Datadog para Gobierno:
+ - Establezca `DD_SITE` en `ddog-gov.com` (US1-FED) o `us2.ddog-gov.com` (US2-FED)
+ **Nota**: Si bien los componentes de Lambda compatibles con FIPS funcionan con cualquier sitio de Datadog, solo los sitios de Datadog para Gobierno tienen puntos finales de recepción compatibles con FIPS.
-## Propagar el contexto de las trazas en los recursos de AWS
+## Propague el contexto de traza a través de recursos de AWS {#propagate-trace-context-over-aws-resources}
-Datadog inyecta de forma automática el contexto de las trazas en las solicitudes de AWS SDK salientes y extrae el contexto de las trazas del evento de Lambda. Esto le permite rastrear una solicitud o transacción a través de servicios distribuidos. Consulta [Propagación de trazas serverless][33].
+Datadog inyecta automáticamente el contexto de traza en las solicitudes salientes del SDK de AWS y extrae el contexto de traza del evento de Lambda. Esto permite a Datadog rastrear una solicitud o transacción a través de servicios distribuidos. Vea [Propagación de Traza Serverless][33].
-## Fusionar las trazas de X-Ray y Datadog
+## Fusionar traza de X-Ray y Datadog {#merge-x-ray-and-datadog-traces}
-AWS X-Ray es compatible con el rastreo a través de determinados servicios gestionados de AWS, como AppSync y Step Functions, que no son compatibles con Datadog APM de forma nativa. Puedes habilitar la [integración de X-Ray para Datadog][34] y fusionar las trazas de X-Ray con las trazas nativas de Datadog. Consulta [más información al respecto][35].
+AWS X-Ray admite el seguimiento a través de ciertos servicios administrados por AWS, como AppSync y Step Functions, lo cual no es compatible de forma nativa con Datadog APM. Puede habilitar la [integración de Datadog X-Ray][34] y fusionar la traza de X-Ray con la traza nativa de Datadog. Vea [detalles adicionales][35].
-## Habilitar la firma de código para AWS Lambda
+## Habilite la firma de código de AWS Lambda {#enable-aws-lambda-code-signing}
-[La firma de código para AWS Lambda][36] ayuda a garantizar que solo el código de confianza procedente de tus funciones de Lambda se despliega en AWS. Cuando habilitas la firma de código en tus funciones, AWS comprueba que todo el código de tus despliegues contenga una firma de un origen conocido, que tú defines en la configuración de la firma de código.
+[La firma de código para AWS Lambda][36] ayuda a garantizar que solo se implemente código de confianza desde sus funciones Lambda a AWS. Cuando habilita la firma de código en sus funciones, AWS valida que todo el código en sus implementaciones esté firmado por una fuente confiable, que usted define en su configuración de firma de código.
-Si tus funciones de Lambda están configuradas para utilizar una firma de código, debes añadir el ARN del perfil de firma de Datadog a la configuración de firma de código de tu función antes de poder desplegar tus funciones de Lambda mediante el uso de las capas de Lambda que publica Datadog.
+Si sus funciones Lambda están configuradas para usar la firma de código, debe agregar el ARN del Perfil de Firma de Datadog a la configuración de firma de código de su función antes de poder implementar funciones Lambda utilizando las Capas de Lambda publicadas por Datadog.
-ARN del perfil de firma de Datadog:
+ARN del Perfil de Firma de Datadog:
```
arn:aws:signer:us-east-1:464622532012:/signing-profiles/DatadogLambdaSigningProfile/9vMI9ZAGLc
```
-## Migrar a la Datadog Lambda Extension
+## Migre a la extensión de Datadog Lambda {#migrate-to-the-datadog-lambda-extension}
-Datadog puede recopilar los datos de monitorización de tus funciones de Lambda mediante la [función de Lambda del Forwarder][4] o la [extensión de Lambda][2]. Datadog recomienda utilizar la extensión para las instalaciones nuevas. Si no lo tienes claro, consulta [Decidir migrar a la Datadog Lambda Extension][37].
+Datadog puede recopilar los datos de monitoreo de sus funciones Lambda utilizando ya sea la [función Lambda Forwarder][4] o la [extensión Lambda][2]. Datadog recomienda la extensión Lambda para nuevas instalaciones. Si no está seguro, consulte [Decidir migrar a la extensión de Datadog Lambda][37].
-Para proceder con la migración, compara las [instrucciones de instalación de la Datadog Lambda Extension][1] con las [instrucciones del Datadog Forwarder][38]. Las principales diferencias se resumen a continuación:
+Para migrar, compare las [instrucciones de instalación utilizando la Extensión de Datadog Lambda][1] con las [instrucciones utilizando el Forwarder de Datadog][38]. Para su conveniencia, las diferencias clave se resumen a continuación.
-**Nota**: Datadog recomienda migrar las aplicaciones de desarrollo y de prueba primero y las aplicaciones de producción una por una.
+**Nota**: Datadog recomienda migrar primero sus aplicaciones de desarrollo y pruebas y migrar las aplicaciones de producción una por una.
-La extensión Datadog Lambda permite la recopilación de logs de forma predeterminada. Si estás migrando del Forwarder a la extensión, asegúrate de eliminar tu suscripción a logs. De lo contrario, es posible que veas logs duplicados.
+La extensión de Datadog Lambda habilita la recopilación de registros por defecto. Si está migrando del Forwarder a la extensión, asegúrese de eliminar su suscripción de registros. De lo contrario, puede ver registros duplicados.
{{< tabs >}}
{{% tab "Datadog CLI" %}}
-1. Actualiza `@datadog/datadog-ci` a la última versión.
-2. Actualiza el argumento `--layer-version` y configúralo con la última versión de tu tiempo de ejecución.
-3. Configura el argumento `--extension-version` con la última versión de la extensión, que es `{{< latest-lambda-layer-version layer="extension" >}}`.
-4. Define las variables de entorno obligatorias `DATADOG_SITE` y `DATADOG_API_KEY_SECRET_ARN`.
-5. Elimina el argumento `--forwarder`.
-6. Si configuraste tu integración de AWS para Datadog de modo que suscriba automáticamente los grupos de logs del Forwarder a Lambda, deshabilita esta característica cuando migres _todas_ las funciones de Lambda de esa región.
+1. Actualice `@datadog/datadog-ci` a la última versión
+2. Actualice el argumento `--layer-version` y configúrelo a la última versión para su entorno de ejecución.
+3. Establezca el argumento `--extension-version` a la última versión de la extensión. La última versión de la extensión es `{{< latest-lambda-layer-version layer="extension" >}}`.
+4. Set the required environment variables `DATADOG_SITE` and `DATADOG_API_KEY_SECRET_ARN`.
+5. Remove the `--argumento `forwarder`.
+6. Si configuraste la integración de Datadog AWS para suscribir automáticamente el Forwarder a los grupos de registros de Lambda, desactívalo después de migrar _todas_ las funciones de Lambda en esa región.
{{% /tab %}}
{{% tab "Serverless Framework" %}}
-1. Actualiza `serverless-plugin-datadog` a la última versión, que instala de forma predeterminada la Datadog Lambda Extension, a no ser que hayas definido `addExtension` como `false`.
-2. Define los parámetros obligatorios `site` y `apiKeySecretArn`.
-3. Define los parámetros `env`, `service` y `version` si antes los definiste como etiquetas de recursos de Lambda. El complemento los definirá automáticamente en las variables de entorno reservadas de Datadog, como `DD_ENV`, al utilizar la extensión.
-4. Elimina el parámetro `forwarderArn`, a no ser que quieras que el Forwarder continúe recopilando logs procedentes de recursos distintos de Lambda y tengas `subscribeToApiGatewayLogs`, `subscribeToHttpApiLogs` o `subscribeToWebsocketLogs` definidos como `true`.
-5. Si configuraste tu integración de AWS para Datadog de modo que suscriba automáticamente los grupos de logs del Forwarder a Lambda, deshabilita esta característica cuando migres _todas_ las funciones de Lambda de esa región.
+1. Actualiza `serverless-plugin-datadog` a la última versión, que instala la Extensión de Lambda de Datadog por defecto, a menos que configures `addExtension` a `false`.
+2. Establece los parámetros requeridos `site` y `apiKeySecretArn`.
+3. Establece los parámetros `env`, `service` y `version` si los configuraste previamente como etiquetas de recurso de Lambda. El complemento los establecerá automáticamente a través de las variables de entorno reservadas de Datadog en su lugar, como `DD_ENV`, al usar la extensión.
+4. Elimina el parámetro `forwarderArn`, a menos que desees mantener el Forwarder para recopilar registros de recursos que no son de Lambda y tengas `subscribeToApiGatewayLogs`, `subscribeToHttpApiLogs` o `subscribeToWebsocketLogs` configurados a `true`.
+5. Si configuraste la integración de Datadog AWS para suscribir automáticamente el Forwarder a los grupos de registros de Lambda, desactívalo después de migrar _todas_ las funciones de Lambda en esa región.
{{% /tab %}}
{{% tab "AWS SAM" %}}
-1. Actualiza el stack tecnológico de CloudFormation `datadog-serverless-macro` de modo que seleccione la última versión.
-2. Configura el parámetro `extensionLayerVersion` con la última versión de la extensión, que es `{{< latest-lambda-layer-version layer="extension" >}}`.
-3. Define los parámetros obligatorios `site` y `apiKeySecretArn`.
-4. Elimina el parámetro `forwarderArn`.
-5. Si configuraste tu integración de AWS para Datadog de modo que suscriba automáticamente los grupos de logs del Forwarder a Lambda, deshabilita esta característica cuando migres _todas_ las funciones de Lambda de esa región.
+1. Actualiza la pila de CloudFormation `datadog-serverless-macro` para recoger la última versión.
+2. Establece el parámetro `extensionLayerVersion` a la última versión de la extensión. La última versión de la extensión es `{{< latest-lambda-layer-version layer="extension" >}}`.
+3. Set the required parameters `site` and `apiKeySecretArn`.
+4. Remove the `parámetro arnForwarder`.
+5. Si configuraste la integración de Datadog AWS para suscribir automáticamente el Forwarder a los grupos de registros de Lambda, desactívalo después de migrar _todas_ las funciones de Lambda en esa región.
{{% /tab %}}
{{% tab "AWS CDK" %}}
1. Actualiza `datadog-cdk-constructs` o `datadog-cdk-constructs-v2` a la última versión.
-2. Configura el parámetro `extensionLayerVersion` con la última versión de la extensión, que es `{{< latest-lambda-layer-version layer="extension" >}}`.
-3. Define los parámetros obligatorios `site` y `apiKeySecretArn`.
-4. Define los parámetros `env`, `service` y `version` si antes los definiste como etiquetas de recursos de Lambda. La construcción los definirá en las variables de entorno reservadas de Datadog, como `DD_ENV`, al utilizar la extensión.
-5. Elimina el parámetro `forwarderArn`.
-6. Si configuraste tu integración de AWS para Datadog de modo que suscriba automáticamente los grupos de logs del Forwarder a Lambda, deshabilita esta característica cuando migres _todas_ las funciones de Lambda de esa región.
+2. Establece el parámetro `extensionLayerVersion` a la última versión de la extensión. La última versión de la extensión es `{{< latest-lambda-layer-version layer="extension" >}}`.
+3. Set the required parameters `sitio` and `arnClaveSecretaApi`.
+4. Set the `env`, `servicio`, and `versión` parameters if you previously set them as Lambda resource tags. The construct will automatically set them through the Datadog reserved environment variables instead, such as `DD_ENV`, when using the extension.
+5. Remove the `parámetro arnForwarder`.
+6. Si configuraste la integración de Datadog AWS para suscribir automáticamente el Forwarder a los grupos de registros de Lambda, desactívalo después de migrar _todas_ las funciones de Lambda en esa región.
{{% /tab %}}
{{% tab "Otros" %}}
-1. Actualiza la capa de la biblioteca Lambda de Datadog de tu tiempo de ejecución a la última versión.
-2. Instala la última versión de la Datadog Lambda Extension.
-3. Define las variables de entorno obligatorias `DD_SITE` y `DD_API_KEY_SECRET_ARN`.
-3. Define las variables de entorno `DD_ENV`, `DD_SERVICE` y `DD_VERSION` si antes las definiste como etiquetas de recursos de Lambda.
-4. Elimina el filtro de suscripción que transmite logs procedentes del grupo de logs de tu función de Lambda al Datadog Forwarder.
-5. Si configuraste tu integración de AWS para Datadog de modo que suscriba automáticamente los grupos de logs del Forwarder a Lambda, deshabilita esta característica cuando migres _todas_ las funciones de Lambda de esa región.
+1. Actualiza la capa de la biblioteca de Lambda de Datadog para tu entorno de ejecución a la última versión.
+2. Instala la última versión de la extensión Datadog Lambda.
+3. Establece las variables de entorno requeridas `DD_SITE` y `DD_API_KEY_SECRET_ARN`.
+3. Establece las variables de entorno `DD_ENV`, `DD_SERVICE` y `DD_VERSION` si las configuraste previamente como etiquetas de recursos de Lambda.
+4. Elimina el filtro de suscripción que transmite registros desde el grupo de registros de tu función Lambda al Datadog Forwarder.
+5. Si configuraste la integración de Datadog AWS para suscribir automáticamente el Forwarder a los grupos de registros de Lambda, desactívalo después de migrar _todas_ las funciones de Lambda en esa región.
{{% /tab %}}
{{< /tabs >}}
-## Migrar de x86 a arm64 con la Datadog Lambda Extension
+## Migrando de x86 a arm64 con la extensión Datadog Lambda {#migrating-between-x86-to-arm64-with-the-datadog-lambda-extension}
-La extensión de Datadog es un archivo binario compilado, disponible en x86 y arm64. Si vas a migrar una función de Lambda de x86 a arm64 (o de arm64 a x86) mediante una herramienta de despliegue como el CDK, Serverless Framework o SAM, asegúrate de que la integración de tu servicio (como API Gateway, SNS o Kinesis) esté configurada para utilizar versiones o alias de una función de Lambda. De lo contrario, la función no estará disponible durante unos diez segundos durante el despliegue.
+La extensión Datadog es un binario compilado, disponible en variantes x86 y arm64. Si estás migrando una función Lambda x86 a arm64 (o de arm64 a x86) utilizando una herramienta de despliegue como CDK, Serverless Framework o SAM, asegúrate de que tu integración de servicio (como API Gateway, SNS o Kinesis) esté configurada para usar las versiones o alias de la función Lambda, de lo contrario, la función puede no estar disponible durante aproximadamente diez segundos durante el despliegue.
-Esto ocurre porque migrar una función de Lambda de x86 a arm64 se hace mediante dos llamadas paralelas a la API, `updateFunction` y `updateFunctionConfiguration`. Durante estas llamadas, existe un breve periodo en el que la llamada de Lambda `updateFunction` y el código se actualizan para utilizar la arquitectura nueva, pero la llamada`updateFunctionConfiguration` aún no se completa, por lo que la arquitectura antigua sigue configurada para la extensión.
+Esto sucede porque migrar una función Lambda de x86 a arm64 consiste en dos llamadas API paralelas, `updateFunction` y `updateFunctionConfiguration`. Durante estas llamadas, hay una breve ventana donde la llamada `updateFunction` de Lambda se ha completado y el código se actualiza para usar la nueva arquitectura, mientras que la llamada `updateFunctionConfiguration` aún no se ha completado, por lo que la antigua arquitectura sigue configurada para la extensión.
-Si no puedes usar versiones de capa, Datadog recomienda configurar el [Datadog Forwarder][38] durante el proceso de migración de la arquitectura.
+Si no puedes usar versiones de capas, Datadog recomienda configurar el [Datadog Forwarder][38] durante el proceso de migración de arquitectura.
-## Configurar la Datadog Lambda Extension para hacer tests locales
+## Configura la extensión Datadog Lambda para pruebas locales {#configure-the-datadog-lambda-extension-for-local-testing}
-No todos los emuladores Lambda son compatibles con la API de telemetría de AWS Lambda. Para probar la imagen de contenedor de tu función Lambda de forma local con la extensión Datadog Lambda instalada, necesitas configurar `DD_SERVERLESS_FLUSH_STRATEGY` en `periodically,1` en tu entorno de test local. De lo contrario, la extensión esperará las respuestas de la API de telemetría de AWS Lambda y bloqueará la invocación.
+No todos los emuladores de Lambda son compatibles con la API de Telemetría de AWS Lambda. Para probar la imagen de contenedor de tu función Lambda localmente con la extensión Datadog Lambda instalada, necesitas establecer `DD_SERVERLESS_FLUSH_STRATEGY` en `periodically,1` en tu entorno de pruebas local. De lo contrario, la extensión espera respuestas de la API de Telemetría de AWS Lambda y bloquea la invocación.
-## Instrumentar AWS Lambda con la API de OpenTelemetry
+## Instrumenta AWS Lambda con la API de OpenTelemetry {#instrument-aws-lambda-with-the-opentelemetry-api}
-La biblioteca de rastreo de Datadog, que se incluye en la Datadog Lambda Extension tras su instalación, acepta los tramos y trazas generados a partir del código instrumentado por OpenTelemetry, procesa la telemetría y la envía a Datadog.
+El SDK de Datadog, que se incluye en la extensión Datadog Lambda al instalarla, acepta los spans y trazas generados por el código instrumentado con OpenTelemetry, procesa la telemetría y la envía a Datadog.
-Puedes utilizar este enfoque si, por ejemplo, tu código ya se instrumentó con la API de OpenTelemetry. También puedes utilizar este enfoque si quieres instrumentar mediante código agnóstico del proveedor con la API de OpenTelemetry sin dejar de obtener los beneficios de utilizar las bibliotecas de rastreo de Datadog.
+Puedes usar este enfoque si, por ejemplo, tu código ya ha sido instrumentado con la API de OpenTelemetry. También puedes usar este enfoque si deseas instrumentar utilizando código independiente del proveedor con la API de OpenTelemetry mientras sigues obteniendo los beneficios de usar los SDK de Datadog.
-Para instrumentar AWS Lambda con la API de OpenTelemetry, define la variable de entorno `DD_TRACE_OTEL_ENABLED` como `true`. Consulta [Instrumentación personalizada con la API de OpenTelemetry][48] para obtener más detalles.
+Para instrumentar AWS Lambda con la API de OpenTelemetry, establece la variable de entorno `DD_TRACE_OTEL_ENABLED` en `true`. Consulte [Instrumentación personalizada con la API de OpenTelemetry][48] para más detalles.
-## Uso de Datadog Lambda Extension v67+
-La versión 67+ de [Datadog Extension][53] está optimizada para reducir significativamente la duración del arranque en frío.
-Para utilizar la extensión optimizada, establece la variable de entorno `DD_SERVERLESS_APPSEC_ENABLED` en `false`.
-Cuando la variable de entorno `DD_SERVERLESS_APPSEC_ENABLED` se establece en `true`, la Datadog Extension utiliza por defecto la versión anterior totalmente compatible. También puedes forzar a tu extensión a utilizar la versión anterior configurando `DD_EXTENSION_VERSION` en `compatibility`. Datadog te anima a informar de cualquier comentario o error añadiendo una [incidencia en GitHub][54] y etiquetando tu incidencia con `version/next`.
+## Uso de Lambda Extension de Datadog v67+ {#using-datadog-lambda-extension-v67}
+La versión 67+ de [la Extensión de Datadog][53] está optimizada para reducir significativamente la duración del inicio en frío.
+Para usar la extensión optimizada, establezca la variable de entorno `DD_SERVERLESS_APPSEC_ENABLED` en `false`.
+Cuando la variable de entorno `DD_SERVERLESS_APPSEC_ENABLED` está establecida en `true`, la Extensión de Datadog predetermina a la versión anterior completamente compatible. También puede forzar a su extensión a usar la versión anterior estableciendo `DD_EXTENSION_VERSION` en `compatibility`. Datadog le anima a reportar cualquier comentario o error añadiendo un [problema en GitHub][54] y etiquetando su problema con `version/next`.
-## Configuración del enlace automático para PutItem de DynamoDB
-Disponible para los tiempos de ejecución de Python y Node.js.
-Cuando los segmentos de tus solicitudes asíncronas no pueden propagar el contexto de traza, la función [enlace automático de tramos][55] de Datadog detecta automáticamente los tramos vinculados.
-Para habilitar el enlace automático de tramos para la operación `PutItem` de [DynamoDB Change Streams][56], configura nombres de clave primaria para tus tablas.
+## Configure el enlace automático para DynamoDB PutItem {#configure-auto-linking-for-dynamodb-putitem}
+_Disponible para entornos de Python y Node.js_.
+Cuando los segmentos de sus solicitudes asíncronas no pueden propagar el contexto de traza, la función de [Enlace automático de tramos][55] de Datadog detecta automáticamente los tramos vinculados.
+Para habilitar el enlace automático de Span para la operación `PutItem` de [DynamoDB Change Streams][56], configure los nombres de las claves primarias para sus tablas.
{{< tabs >}}
{{% tab "Python" %}}
+
```python
ddtrace.config.botocore['dynamodb_primary_key_names_for_tables'] = {
'table_name': {'key1', 'key2'},
@@ -741,6 +744,7 @@ ddtrace.config.botocore['dynamodb_primary_key_names_for_tables'] = {
```
{{% /tab %}}
{{% tab "Node.js" %}}
+
```js
// Initialize the tracer with the configuration
const tracer = require('dd-trace').init({
@@ -753,7 +757,8 @@ const tracer = require('dd-trace').init({
})
```
{{% /tab %}}
-{{% tab "Environment variable" %}}
+{{% tab "Variable de entorno" %}}
+
```sh
export DD_BOTOCORE_DYNAMODB_TABLE_PRIMARY_KEYS='{
"table_name": ["key1", "key2"],
@@ -763,13 +768,13 @@ export DD_BOTOCORE_DYNAMODB_TABLE_PRIMARY_KEYS='{
{{% /tab %}}
{{< /tabs >}}
-Esto permite instrumentar las llamadas `PutItem` a DynamoDB con punteros a tramo. Muchas llamadas a la API de DynamoDB no incluyen los campos de clave principal del elemento como valores independientes, por lo que deben proporcionarse al rastreador por separado. La configuración anterior está estructurada como un diccionario (`dict`) u objeto cuya clave son los nombres de tabla como cadenas (`str`). Cada valor es el conjunto de nombres de campo de clave primaria (como cadenas) para la tabla asociada. El conjunto puede tener exactamente uno o dos elementos, dependiendo del esquema de clave primaria de la tabla.
+Esto permite que las llamadas a DynamoDB `PutItem` sean instrumentadas con punteros de tramo. Muchas llamadas a la API de DynamoDB no incluyen los campos de clave primaria del ítem como valores separados, por lo que deben proporcionarse al SDK por separado. La configuración anterior está estructurada como un diccionario (`dict`) u objeto con claves que son los nombres de las tablas como cadenas (`str`). Cada valor es el conjunto de nombres de campos de clave primaria (como cadenas) para la tabla asociada. El conjunto puede tener exactamente uno o dos elementos, dependiendo del esquema de clave primaria de la tabla.
-## Visualización y modelado de los servicios de AWS por nombre de recurso
+## Visualice y modele los servicios de AWS por nombre de recurso {#visualize-and-model-aws-services-by-resource-name}
-Estas versiones de las capas Lambda de [Node.js][50], [Python][51] y [Java][52] lanzaron cambios para nombrar, modelar y visualizar correctamente los servicios gestionados de AWS.
+Estas versiones de las capas Lambda de [Node.js][50], [Python][51] y [Java][52] lanzaron cambios para nombrar, modelar y visualizar correctamente los servicios administrados de AWS.
-Los nombres de los servicios reflejan el nombre real del recurso de AWS y no solo el servicio de AWS:
+Los nombres de los servicios reflejan el nombre real del recurso de AWS en lugar de solo el servicio de AWS:
* `aws.lambda` → `[function_name]`
* `aws.dynamodb` → `[table_name]`
* `aws.sns` → `[topic_name]`
@@ -778,29 +783,29 @@ Los nombres de los servicios reflejan el nombre real del recurso de AWS y no sol
* `aws.s3` → `[bucket_name]`
* `aws.eventbridge` → `[event_name]`
-Es posible que prefieras el modelo de representación de servicios anterior si tus dashboards y monitores dependen de la convención de nomenclatura heredada. Para restaurar el comportamiento anterior, establece la variable de entorno: `DD_TRACE_AWS_SERVICE_REPRESENTATION_ENABLED=false`
+Puede preferir el modelo de representación de servicio anterior si sus dashboards y monitors dependen de la convención de nombres heredada. Para restaurar el comportamiento anterior, establezca la variable de entorno: `DD_TRACE_AWS_SERVICE_REPRESENTATION_ENABLED=false`
-Se recomienda la configuración actualizada del modelado de servicios.
+Se recomienda la configuración de modelado de servicio actualizada.
-## Envío de logs a Observability Pipelines
+## Envía registros a Observability Pipelines {#send-logs-to-observability-pipelines}
{{% observability_pipelines/lambda_extension_source %}}
-Para obtener más información, consulta [Enviar logs del reenviador de la extensión Lambda de Datadog a Observability Pipelines][58].
+Consulte [Enviar registros de Datadog Lambda Extension Forwarder a Observability Pipelines][58] para más información.
-## Recargar periódicamente el secreto de la clave de API
+## Recargue el secreto de la clave de API periódicamente {#reload-api-key-secret-periodically}
-Si especificas la clave de API de Datadog utilizando `DD_API_KEY_SECRET_ARN`, también puedes configurar `DD_API_KEY_SECRET_RELOAD_INTERVAL` para que recargue periódicamente el secreto. Por ejemplo, si configuras `DD_API_KEY_SECRET_RELOAD_INTERVAL` en `43200`, el secreto se recarga cuando se necesita la clave de API para enviar datos y han pasado más de 43200 segundos desde la última carga.
+Si especifica la clave de API de Datadog usando `DD_API_KEY_SECRET_ARN`, también puede establecer `DD_API_KEY_SECRET_RELOAD_INTERVAL` para recargar periódicamente el secreto. Por ejemplo, si establece `DD_API_KEY_SECRET_RELOAD_INTERVAL` en `43200`, entonces el secreto se recarga cuando se necesita la clave de API para enviar datos, y ha pasado más de 43200 segundos desde la última carga.
-Ejemplo de caso de uso: por seguridad, cada día (86400 segundos), la clave de API se rota y el secreto se actualiza a la nueva clave, y la clave de API antigua se mantiene válida durante otro día como periodo de gracia. En este caso, se puede establecer `DD_API_KEY_SECRET_RELOAD_INTERVAL` en `43200`, por lo que la clave de API se recarga durante el periodo de gracia de la clave antigua.
+Caso de uso de ejemplo: Por seguridad, cada día (86400 segundos), la clave de API se rota y el secreto se actualiza a la nueva clave, y la clave de API anterior se mantiene válida por otro día como período de gracia. En este caso, puede establecer `DD_API_KEY_SECRET_RELOAD_INTERVAL` en `43200`, de modo que la clave de API se recargue durante el período de gracia de la clave anterior.
-Está disponible para la versión 88+ de la extensión de Datadog Lambda.
+Esto está disponible para la versión 88+ de la Datadog Lambda Extension.
-## Solucionar problemas
+## Solucionar problemas {#troubleshoot}
-Si tienes problemas para configurar tus instalaciones, define la variable de entorno `DD_LOG_LEVEL` como `debug` en los logs de depuración. Para obtener más consejos sobre cómo solucionar problemas, consulta la [guía de solución de problemas de la monitorización serverless][39].
+Si tiene problemas configurando sus instalaciones, establezca la variable de entorno `DD_LOG_LEVEL` en `debug` para los registros de depuración. Para obtener consejos adicionales de solución de problemas, consulte la [guía de solución de problemas de monitoreo sin servidor][39].
-## Referencias adicionales
+## Lectura adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
diff --git a/content/es/serverless/aws_lambda/instrumentation/python.md b/content/es/serverless/aws_lambda/instrumentation/python.md
new file mode 100644
index 00000000000..4f8de51d4a8
--- /dev/null
+++ b/content/es/serverless/aws_lambda/instrumentation/python.md
@@ -0,0 +1,488 @@
+---
+algolia:
+ tags:
+ - python lambda traces
+aliases:
+- /es/serverless/datadog_lambda_library/python/
+- /es/serverless/guide/python/
+- /es/serverless/installation/python
+- /es/serverless/aws_lambda/installation/python
+further_reading:
+- link: /serverless/configuration
+ tag: Documentación
+ text: Configurar Serverless Monitoring
+- 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 en Python
+---
+La versión 67+ de la Extensión de Datadog Lambda 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" %}}
+Puedes instrumentar tu aplicación AWS Lambda en Python directamente dentro de Datadog. Navega a la página [Serverless > AWS Lambda][2] y selecciona [**Instrumentar Funciones**][3].
+
+Para más información, consulta [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 el monitoreo serverless 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 permanentemente en tus aplicaciones de producción, omite este paso y sigue los restantes para ejecutar el comando de la CLI de Datadog en tus canalizaciones 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 API de Datadog
+
+ Datadog recomienda guardar la clave 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 blob JSON). Asegúrate de que tus funciones Lambda tengan el permiso `secretsmanager:GetSecretValue` 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="python" >}} -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" %}}
+
+El [Plugin Serverless de Datadog][1] configura automáticamente tus 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, sigue estos pasos:
+
+1. Instala el complemento sin servidor de Datadog:
+
+ ```sh
+ serverless plugin install --name serverless-plugin-datadog
+ ```
+
+2. Actualiza tu `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).
+ - Reemplaza `` 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 blob JSON). Se requiere el permiso `secretsmanager:GetSecretValue`. Para pruebas rápidas, puedes usar `apiKey` y establecer la clave de 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 tu plantilla de aplicación SAM para instalar Datadog en tus funciones utilizando capas de Lambda, y configura tus funciones para enviar métricas, trazas y registros a Datadog a través de la [Extensión de Lambda de Datadog][2].
+
+1. Instala el macro de CloudFormation de Datadog
+
+ Ejecuta el siguiente comando con tus [credenciales de AWS][3] para desplegar una pila de CloudFormation que instala el recurso macro de AWS. Solo necesitas instalar el macro **una** vez para una región dada en tu cuenta. Reemplaza `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. Instrumenta tus funciones Lambda
+
+ Agrega la transformación `DatadogServerless` **después** de la transformación `AWS::Serverless` en la sección `Transform` de tu archivo `template.yml` para SAM.
+
+ ```yaml
+ Transform:
+ - AWS::Serverless-2016-10-31
+ - Name: DatadogServerless
+ Parameters:
+ stackName: !Ref "AWS::StackName"
+ pythonLayerVersion: {{< latest-lambda-layer-version layer="python" >}}
+ 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).
+ - Reemplaza `` con el ARN del secreto de AWS donde tu [clave de API de Datadog][4] está almacenada de forma segura. La clave debe ser almacenada como una cadena de texto sin formato (no un blob JSON). Se requiere el permiso `secretsmanager:GetSecretValue`. Para pruebas rápidas, puedes usar `apiKey` en su lugar y establecer la clave de 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="python" layer="python" layerParamTypescript="pythonLayerVersion" layerParamPython="python_layer_version">}}
+
+{{% /tab %}}
+{{% tab "Imagen de contenedor" %}}
+
+1. Instala la biblioteca de Lambda de Datadog
+
+ Si estás implementando tu función Lambda como una imagen de contenedor, no puedes usar la biblioteca Datadog Lambda como una capa de Lambda. En su lugar, debes instalar la biblioteca Datadog Lambda como una dependencia de tu función dentro de la imagen.
+
+ ```sh
+ pip install datadog-lambda
+ ```
+
+ Note that the minor version of the `datadog-lambda` package always matches the layer version. For example, `datadog-lambda v0.5.0` matches the content of layer version 5.
+
+2. Instala la Extensión Datadog Lambda
+
+ Agrega la Extensión Datadog Lambda 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. Redirige la función manejadora
+
+ - Establece el valor de `CMD` de tu imagen a `datadog_lambda.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.
+ - Establece la variable de entorno `DD_LAMBDA_HANDLER` a tu manejador original, por ejemplo, `myfunc.handler`.
+
+ **Nota**: Si estás utilizando una herramienta de seguridad o monitoreo de terceros que es incompatible con la redirección del manejador Datadog, puedes [aplicar el envoltorio de Datadog en el código de tu función][2] en su lugar.
+
+4. Configura el sitio de Datadog, la clave de API y el trazado en tu Dockerfile
+
+ - Establece 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).
+ - Establece la variable de entorno `DD_API_KEY_SECRET_ARN` con el ARN del secreto de AWS donde se almacena de forma segura tu [clave API de Datadog][3]. La clave debe ser almacenada como una cadena de texto sin formato (no un blob 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.
+ - Establece la variable de entorno `DD_TRACE_ENABLED` a `true`.
+
+
+[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 tu función Lambda para el monitoreo Serverless 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_python_layer_version = {{< latest-lambda-layer-version layer="python" >}}
+
+ # aws_lambda_function arguments
+}
+```
+
+1. Reemplaza el recurso `aws_lambda_function` con el módulo de Terraform `lambda-datadog`. Luego, especifica el `source` y el `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`. Consulta [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 se almacena de forma segura su clave API de Datadog. La clave debe ser almacenada como una cadena de texto sin formato (no un blob 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 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 Python Lambda que desea utilizar. Si se deja en blanco, se utilizarán las versiones más recientes de la capa.
+
+```
+ datadog_extension_layer_version = {{< latest-lambda-layer-version layer="extension" >}}
+ datadog_python_layer_version = {{< latest-lambda-layer-version layer="python" >}}
+```
+
+[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: "lambda_function.lambda_handler",
+ runtime: "python3.13",
+ 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="python" >}}`
+ ]
+ });
+ ```
+
+ 1. Configure the Datadog Lambda Library and Datadog Lambda Extension layers
+
+ - The available `` options are: {{< latest-lambda-layer-version layer="python-versions" >}}.
+
+ 2. Complete los marcadores de posición de las variables de entorno:
+ - Reemplace `` con el ARN del secreto de AWS donde se almacena de forma segura su clave API de Datadog. La clave debe ser almacenada como una cadena de texto sin formato (no un blob JSON). Se requiere el permiso `secretsmanager:GetSecretValue`. Para pruebas rápidas, puedes usar en su lugar la variable de entorno `DD_API_KEY` y establecer tu 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
+
+ 3. [Aplique el envoltorio de Datadog en el código de su 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 Serverless Framework o AWS CDK, Datadog le recomienda encarecidamente instrumentar sus aplicaciones Serverless con el
Datadog CLI.
+
+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 Python.
+
+ La versión menor del `datadog-lambda` paquete siempre coincide con la versión de la capa. Por ejemplo, datadog-lambda 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 utilizando 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-:{{< latest-lambda-layer-version layer="python" >}}
+
+ # Use this format for arm64-based Lambda deployed in AWS commercial regions
+ arn:aws:lambda::464622532012:layer:Datadog--ARM:{{< latest-lambda-layer-version layer="python" >}}
+
+ # Use this format for x86-based Lambda deployed in AWS GovCloud regions
+ arn:aws-us-gov:lambda::002406178527:layer:Datadog-:{{< latest-lambda-layer-version layer="python" >}}
+
+ # Use this format for arm64-based Lambda deployed in AWS GovCloud regions
+ arn:aws-us-gov:lambda::002406178527:layer:Datadog--ARM:{{< latest-lambda-layer-version layer="python" >}}
+ ```
+
+ Replace `` with a valid AWS region, such as `us-east-1`. The available `` options are: {{< latest-lambda-layer-version layer="python-versions" >}}.
+
+ - Option B: If you cannot use the prebuilt Datadog Lambda layer, alternatively install the `datadog-lambda` package and its dependencies locally to your function project folder using your favorite Python package manager, such as `pip`.
+
+ ```sh
+ pip install datadog-lambda -t ./
+ ```
+
+ **Note**: `datadog-lambda` depends on `ddtrace`, which uses native extensions; therefore it must be installed and compiled in a Linux environment on the right architecture (`x86_64` or `arm64`). For example, you can use [dockerizePip][2] for the Serverless Framework and [--use-container][3] for AWS SAM. For more details, see [how to add dependencies to your function deployment package][4].
+
+ See the [latest release][5].
+
+2. Instale la Lambda Extension de Datadog
+
+ [Configure las capas][1] para su función Lambda utilizando 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 `datadog_lambda.handler.handler`.
+ - Establezca la variable de entorno `DD_LAMBDA_HANDLER` a su manejador original, por ejemplo, `myfunc.handler`.
+
+ **Nota**: Si está utilizando una herramienta de seguridad o monitoreo de terceros que es incompatible con la redirección del manejador de Datadog, puede [Aplique el envoltorio de Datadog en el código de su función][6] en su lugar.
+
+4. Configure el sitio de Datadog, la clave de API y el rastreo
+
+ - 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][7] está almacenada de forma segura. La clave necesita ser almacenada como una cadena de texto sin formato, en lugar de estar dentro de un blob 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 sin formato.
+ - Establezca la variable de entorno `DD_TRACE_ENABLED` a `true`.
+
+5. (Solo AWS Chalice) Registre el middleware
+
+ Si está utilizando [AWS Chalice][8], debe instalar `datadog-lambda` usando `pip`, y registrar `datadog_lambda_wrapper` como un [middleware][9] en su `app.py`:
+
+ ```python
+ from chalice import Chalice, ConvertToMiddleware
+ from datadog_lambda.wrapper import datadog_lambda_wrapper
+
+ app = Chalice(app_name='hello-chalice')
+
+ app.register_middleware(ConvertToMiddleware(datadog_lambda_wrapper))
+
+ @app.route('/')
+ def index():
+ return {'hello': 'world'}
+ ```
+
+[1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html
+[2]: https://github.com/UnitedIncome/serverless-python-requirements#cross-compiling
+[3]: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-build.html
+[4]: https://docs.aws.amazon.com/lambda/latest/dg/python-package.html#python-package-dependencies
+[5]: https://pypi.org/project/datadog-lambda/
+[6]: https://docs.datadoghq.com/es/serverless/guide/handler_wrapper
+[7]: https://app.datadoghq.com/organization-settings/api-keys
+[8]: https://aws.github.io/chalice/
+[9]: https://aws.github.io/chalice/topics/middleware.html
+{{% /tab %}}
+{{< /tabs >}}
+
+{{% svl-tracing-env %}}
+
+## 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 Monitoreo Serverless para AWS Lambda][3] para más capacidades
+
+### Seguimiento de la lógica de negocio personalizada {#monitor-custom-business-logic}
+
+Para el seguimiento de su lógica de negocio personalizada, envíe una métrica o un span personalizado utilizando el código de muestra a continuación. Para opciones adicionales, consulte [el envío de métricas personalizadas para aplicaciones serverless][4] y la guía de APM para [instrumentación personalizada][5].
+
+```python
+import time
+from ddtrace import tracer
+from datadog_lambda.metric import lambda_metric
+
+def lambda_handler(event, context):
+ # add custom tags to the lambda function span,
+ # does NOT work when X-Ray tracing is enabled
+ current_span = tracer.current_span()
+ if current_span:
+ current_span.set_tag('customer.id', '123456')
+
+ # submit a custom span
+ with tracer.trace("hello.world"):
+ print('Hello, World!')
+
+ # submit a custom metric
+ lambda_metric(
+ metric_name='coffee_house.order_value',
+ value=12.45,
+ tags=['product:latte', 'order:online']
+ )
+
+ return {
+ 'statusCode': 200,
+ 'body': get_message()
+ }
+
+# trace a function
+@tracer.wrap()
+def get_message():
+ return 'Hello from serverless!'
+```
+
+## 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/aws_lambda/metrics/?code-lang=python
+[5]: /es/tracing/custom_instrumentation/python/
+[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/tracing/code_origin/_index.md b/content/es/tracing/code_origin/_index.md
index cb0e275acbd..1182ca6ed90 100644
--- a/content/es/tracing/code_origin/_index.md
+++ b/content/es/tracing/code_origin/_index.md
@@ -2,135 +2,168 @@
aliases:
- /es/tracing/code_origins/
- /es/tracing/guide/code_origins/
-description: Más información sobre cómo utilizar Code Origin para entender dónde
- se originan tus tramos en tu código base
+description: Aprende a usar Code Origin para entender de dónde provienen tus tramos
+ en tu base de código.
further_reading:
- link: /tracing/glossary/
tag: Documentación
- text: Más información sobre términos y conceptos de APM
+ text: Aprende sobre términos y conceptos de APM
- link: /tracing/trace_collection/
tag: Documentación
- text: Aprende a configurar APM tracing con su aplicación
+ text: Aprende a configurar el trazado de APM con tu aplicación
- link: /tracing/services/service_page/
tag: Documentación
- text: Más información sobre servicios en Datadog
+ text: Aprende más sobre los servicios en Datadog
- link: /tracing/services/resource_page/
tag: Documentación
- text: Profundizar en el rendimiento de tus recursos y trazas
+ text: Profundiza en el rendimiento de tus recursos y trazas
- link: /tracing/live_debugger/
tag: Documentación
- text: Más información sobre cómo depurar servicios de producción con Live Debugger
+ text: Aprende a depurar servicios en producción con Live Debugger
- link: /dynamic_instrumentation/
tag: Documentación
- text: Más información sobre cómo añadir tramos personalizados con Dynamic Instrumentation
-title: Code Origin para tramos (spans)
+ text: Aprende a agregar tramos personalizados con Instrumentación Dinámica
+title: Code Origin para Tramos
---
+## Resumen {#overview}
-{{< beta-callout url="#" btn_hidden="true" >}}
-Code Origin está actualmente en Vista previa. Para unirte a la vista previa, sigue las siguientes instrucciones para activar la función en tus servicios compatibles.
-
-Para enviar preguntas, comentarios o solicitudes relacionadas con Code Origin, rellena este formulario con tus datos.
-{{< /beta-callout >}}
-
-## Información general
-
-Code Origin detecta las localizaciones exactas en tu código base donde se crean tramos APM. Cuando se activa en un servicio compatible, añade automáticamente la ruta del archivo, el número de la línea y el nombre de la función a cada [tramo de entrada de servicios][12], lo que facilita:
+Code Origin captura las ubicaciones exactas en tu base de código donde se crean los tramos de APM. Cuando está habilitado en un servicio compatible, agrega automáticamente la ruta del archivo, el número de línea y el nombre de la función a cada [tramo de entrada del servicio][12], facilitando así:
- Depurar problemas de rendimiento
- Entender el flujo de ejecución del código
- Identificar cuellos de botella en el rendimiento
-En el Explorador de trazas, selecciona un tramo de un servicio habilitado para ver detalles de Code Origin en la pestaña Información general:
+En Trace Explorer, selecciona un tramo de un servicio habilitado para ver los detalles de Code Origin en la pestaña Resumen:
{{< img src="tracing/code_origin/code_origin_details_spotlight.png" alt="Detalles de Code Origin" style="width:100%;">}}
-## Empezando
+## Introducción {#getting-started}
-### Requisitos previos
+### Requisitos previos {#prerequisites}
- [Datadog APM][6] está configurado para capturar tramos.
-- La [integración del código fuente][7] (necesaria para la vista previa del código) está habilitada.
-- Tu servicio cumple los [requisitos de compatibilidad](#compatibility-requirements).
+- [Integración de código fuente][7] está habilitada (requerida para las vistas previas de código).
+- Su servicio cumple con los [requisitos de compatibilidad](#compatibility-requirements).
+
+### Requisitos de compatibilidad {#compatibility-requirements}
+
+{{% tabs %}}
+
+{{% tab "Java" %}}
+
+| Versión del SDK | Frameworks |
+|---|---|
+| 1.47.0+ | Spring Boot/Data, servidores gRPC, Micronaut 4, consumidores de Kafka |
+
+**Limitación:** En JDK 18 y versiones anteriores, las clases compiladas con la `-parameters` bandera pueden no ser compatibles. Spring 6+, Spring Boot 3+ y Scala utilizan esta bandera por defecto.
+
+{{% /tab %}}
+
+{{% tab "Python" %}}
+
+| Versión del SDK | Frameworks |
+|---|---|
+| 2.15.0+ | Django, Flask, Starlette y derivados |
-### Requisitos de compatibilidad
+{{% /tab %}}
-| Lenguaje en tiempo de ejecución | Versión de librería de rastreo | Marcos |
-|---|---|---|
-| Java | 1.47.0 o posterior | Spring Boot/Data, servidores gRPC, Micronaut 4, consumidores Kafka|
-| Python | 2.15.0+ | Django, Flask, Starlette y derivados|
-| Node.js | 4.49.0 o posterior | Fastify|
-| .NET | 3.15.0 o posterior | ASP.NET, ASP.NET Core|
+{{% tab "Node.js" %}}
-### Activar Code Origin
+| Versión del SDK | Frameworks |
+|---|---|
+| 4.49.0+ | Fastify |
+| 5.54.0+ | Express |
-Ejecuta tu servicio con la siguiente variable de entorno:
+**Nota:** NestJS no es compatible, aunque el marco subyacente sea Express o Fastify.
+
+{{% /tab %}}
+
+{{% tab ".NET" %}}
+
+| Versión del SDK | Frameworks |
+|---|---|
+| 3.15.0+ | ASP.NET, ASP.NET Core |
+
+{{% /tab %}}
+
+{{% tab "PHP" %}}
+
+| Versión del SDK | Frameworks |
+|---|---|
+| 1.11.0+ | Todos los frameworks web compatibles |
+
+{{% /tab %}}
+
+{{% /tabs %}}
+
+### Habilitar origen de código {#enable-code-origin}
+
+Ejecute su servicio con la siguiente variable de entorno:
```shell
export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
```
- En aplicaciones Node.js transpiladas (por ejemplo, TypeScript), asegúrate de generar y publicar mapas de fuentes con la aplicación desplegada y de ejecutar Node.js con el marcador
--enable-source-maps. De lo contrario, las vistas previas del código no funcionarán. Para ver más detalles, consulta la documentación de la
integración del código fuente de Node.js.
+ Para aplicaciones de Node.js transpileadas (por ejemplo, TypeScript), asegúrese de generar y publicar mapas del código fuente con la aplicación desplegada, ejecute Node.js con el
--enable-source-mapsla bandera, y use la versión 5.59.0 o más reciente del rastreador de Node.js. De lo contrario, las vistas previas de código no funcionan. Consulte la documentación de
Integración de Código Fuente de Node.js para más detalles.
-## Uso de Code Origin
-
-### En el Explorador de trazas
+## Usando el Origen de Código {#using-code-origin}
-1. Ve al [Explorador de trazas][1].
-1. Busca "tramos de entrada de servicios" desde tus servicios habilitados para Code Origin.
+### En el Explorador de Trazas {#in-the-trace-explorer}
- {{< img src="tracing/code_origin/code_origin_service_entry_spans_filter.png" alt="Code Origin - Buscar tramos de entrada de servicios" style="width:100%;">}}
+1. Navegue hasta el [Explorador de Trazas][1].
+1. Busque "Service Entry Spans" de sus servicios habilitados para Origen de Código.
-1. Haz clic en un tramo para ver los detalles.
-1. En el panel lateral de detalles de la traza, busca la sección "Code Origin".
+ {{< img src="tracing/code_origin/code_origin_service_entry_spans_filter.png" alt="Origen de Código - Buscar Service Entry Spans" style="width:100%;">}}
- {{< img src="tracing/code_origin/code_origin_details_spotlight.png" alt="Detalles de Code Origin en el Explorador de trazas" style="width:100%;">}}
+1. Haga clic en un tramo para ver sus detalles.
+1. En el panel lateral de detalles de la traza, busque la sección "Origen de Código".
-1. De la sección Code Origin:
- - Inicia una sesión de [Live Debugger][11] en el servicio en ejecución haciendo clic en "Start Debug Session" (Empezar la sesión de depuración), para capturar logs en la localización del método de Code Origin. O bien, selecciona un punto de interrupción en el gutter de la vista previa del código, para capturar logs en la línea de código seleccionada.
+ {{< img src="tracing/code_origin/code_origin_details_spotlight.png" alt="Detalles del Origen de Código en el Explorador de Trazas" style="width:100%;">}}
- {{< img src="tracing/code_origin/code_origin_start_debug_session.png" alt="Code Origin - Iniciar sesión de Live Debugger" style="width:100%;">}}
+1. Desde la sección de Origen de Código:
+ - Inicie una sesión de [Depurador en Vivo][11] en el servicio en ejecución haciendo clic en "Iniciar Sesión de Depuración" para capturar registros en la ubicación del método de Origen de Código. O, seleccione un punto de interrupción en el margen de la vista previa de código para capturar registros en la línea de código seleccionada.
- - Haz clic en las variables del código fuente para añadirlas como atributos a tramos futuros con [Dynamic Instrumentation][5].
+ {{< img src="tracing/code_origin/code_origin_start_debug_session.png" alt="Origen de Código - Iniciar Sesión de Depurador en Vivo" style="width:100%;">}}
- {{< img src="tracing/code_origin/code_origin_add_span_tag_spotlight.png" alt="Code Origin - Añadir span tags con Dynamic Instrumentation" style="width:100%;">}}
+ - Click on source code variables to add them as attributes to future spans with [Dynamic Instrumentation][5].
+ {{< img src="tracing/code_origin/code_origin_add_span_tag_spotlight.png" alt="Origen de Código - Agregar etiqueta de tramo con Instrumentación Dinámica" style="width:100%;">}}
-### En tu IDE
-1. Configura tu [integración Datadog IDE][4].
- - IDE compatibles: IntelliJ, VS Code
- - Lenguajes admitidos: Java, Python
-2. Visualiza las métricas RED (Solicitudes, Errores y Duración) como anotaciones en línea de tus métodos de endpoint.
+### En su IDE {#in-your-ide}
- {{< img src="tracing/code_origin/code_origin_ide_details.png" alt="Detalles de Code Origin en IDE" style="width:100%;">}}
+1. Configura tu [Integración de IDE de Datadog][4].
+ - IDEs soportados: IntelliJ, VS Code
+ - Lenguajes soportados: Java, Python
+2. Visualiza métricas RED (Solicitudes, Errores y Duración) como anotaciones en línea sobre tus métodos de endpoint.
-## Solucionar problemas
+ {{< img src="tracing/code_origin/code_origin_ide_details.png" alt="Detalles de Origen del Código en IDE" style="width:100%;">}}
-### Falta sección Code Origin
+## Solución de problemas {#troubleshooting}
-- Verifica que Code Origin está [habilitado](#enable-code-origin) en la configuración de tu biblioteca de rastreo.
-- Confirma que tu servicio cumple todos los [requisitos de compatibilidad](#compatibility-requirements) (es decir, lenguaje del servicio, marcos compatibles y versión mínima del rastreador).
-- En la mayoría de los servicios, los datos de Code Origin se capturan sólo para [tramos de entrada de servicios][12]. Puedes filtrar por "tramos de entrada de servicios" en el [Explorador de trazas APM][1].
+### Falta la sección de Origen del Código {#code-origin-section-is-missing}
- {{< img src="tracing/code_origin/code_origin_service_entry_spans_filter.png" alt="Code Origin - Buscar tramos de entrada de servicios" style="width:100%;">}}
+- Verifica que el Origen del Código esté [habilitado](#enable-code-origin) en la configuración de tu SDK.
+- Confirma que tu servicio cumpla con todos los [requisitos de compatibilidad](#compatibility-requirements) (es decir, lenguaje del servicio, frameworks soportados y versión mínima del tracer).
+- Para la mayoría de los servicios, los datos de Origen del Código se capturan solo para [tramos de entrada del servicio][12]. Puedes filtrar a "Tramos de Entrada del Servicio" en el [Explorador de Trazas APM][1].
-- Para buscar todos los tramos que incluyan Code Origin, utiliza la consulta `@_dd.code_origin.type:*` en el [Explorador de trazas APM][1].
+ {{< img src="tracing/code_origin/code_origin_service_entry_spans_filter.png" alt="Origen de Código - Buscar Service Entry Spans" style="width:100%;">}}
-### La vista previa del código no es visible o no se encuentra el archivo
+### La vista previa del código no es visible o el archivo no se encuentra {#code-preview-is-not-visible-or-the-file-is-not-found}
-- Asegúrate de que se cumplen todos los requisitos de configuración de la [integración del código fuente][7] y de que tus variables de entorno de `DD_GIT_*` están configuradas con los valores correctos.
-- En aplicaciones Node.js transpiladas (por ejemplo, TypeScript), asegúrate de generar y publicar mapas de fuentes con la aplicación desplegada y de ejecutar Node.js con el marcador [`--enable-source-maps`][10]. De lo contrario, las vistas previas del código no funcionarán. Para ver más detalles, consulta la documentación de la [integración del código fuente][9] de Node.js.
-- Code Origin está diseñado para referenciar únicamente códigos de usuario, pero en algunos casos pueden colarse referencias a códigos de terceros. Puedes informar de estos casos al [servicio de asistencia de Datadog][13] y ayudar a mejorar estas referencias.
+- Asegúrate de que se cumplan todos los requisitos de configuración de [Integración de Código Fuente][7], incluyendo que tus `DD_GIT_*` variables de entorno estén configuradas con los valores correctos.
+- Para aplicaciones de Node.js transpileadas (por ejemplo, TypeScript), asegúrate de generar y publicar mapas del código fuente con la aplicación desplegada, ejecuta Node.js con la bandera [`--enable-source-maps`][10] y utiliza la versión 5.59.0 o más reciente del tracer de Node.js. De lo contrario, las vistas previas del código no funcionarán. Consulta la documentación de [Integración de Código Fuente][9] de Node.js para más detalles.
+- El Origen del Código está diseñado para referenciar solo el código del usuario, pero en algunos casos, las referencias de código de terceros pueden pasar desapercibidas. Puedes reportar estos casos a [soporte de Datadog][13] y ayudar a mejorar estas referencias.
-## Referencias adicionales
+## Lectura Adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
[1]: https://app.datadoghq.com/apm/traces
[2]: /es/tracing/services/service_page/
[3]: /es/tracing/services/resource_page/
-[4]: /es/developers/ide_plugins/
+[4]: /es/ide_plugins/
[5]: /es/dynamic_instrumentation/
[6]: /es/tracing/trace_collection/
[7]: /es/integrations/guide/source-code-integration/
@@ -139,4 +172,4 @@ export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
[10]: https://nodejs.org/docs/latest/api/cli.html#--enable-source-maps
[11]: /es/tracing/live_debugger/
[12]: /es/glossary/#service-entry-span
-[13]: https://www.datadoghq.com/support/
+[13]: https://www.datadoghq.com/support/
\ No newline at end of file
diff --git a/content/es/tracing/other_telemetry/connect_logs_and_traces/_index.md b/content/es/tracing/other_telemetry/connect_logs_and_traces/_index.md
index e531311ce78..9d0643b71ad 100644
--- a/content/es/tracing/other_telemetry/connect_logs_and_traces/_index.md
+++ b/content/es/tracing/other_telemetry/connect_logs_and_traces/_index.md
@@ -1,27 +1,30 @@
---
algolia:
tags:
- - logs y trazas
+ - logs and traces
aliases:
- /es/tracing/advanced/connect_logs_and_traces/
- /es/tracing/connect_logs_and_traces/
-description: Conecta tus logs y trazas (traces) para correlacionarlos en Datadog.
-title: Correlacionar logs y trazas
+description: Conecte sus registros y trazas para correlacionarlos en Datadog.
+title: Correlacione registros y trazas
type: multi-code-lang
---
+{{< img src="tracing/connect_logs_and_traces/logs-trace-correlation.png" alt="Registros en Trazas" style="width:100%;">}}
-{{< img src="tracing/connect_logs_and_traces/trace_id_injection.png" alt="Logs en trazas" style="width:100%;">}}
+La correlación entre Datadog APM y Datadog Log Management se mejora mediante la inyección de IDs de traza, IDs de tramo, `env`, `service` y `version` como atributos en sus registros. Con estos campos, puede encontrar los registros exactos asociados con un servicio y versión específicos, o todos los registros correlacionados con una [traza][1] observada.
-La correlación entre Datadog APM y Datadog Log Management se mejora mediante la inyección de IDs de traza, IDs de tramo, `env`, `service` y `version` como atributos en tus logs. Con estos campos puedes encontrar los logs exactos asociados a un servicio y versión específicos, o todos los logs correlacionados con una [traza][1] observada.
+Se recomienda configurar el rastreador de su aplicación con `DD_ENV`, `DD_SERVICE` y `DD_VERSION`. Esto proporcionará la mejor experiencia para agregar `env`, `service` y `version`. Consulte la documentación de [unified service tagging][2] para más detalles.
-Es recomendado configurar el rastreador de tu aplicación con `DD_ENV`, `DD_SERVICE` y `DD_VERSION`. Esto proporcionará la mejor experiencia para añadir `env`, `service`, y `version`. Consulta la documentación [etiquetado de servicios unificado][2] para más detalles.
+Antes de correlacionar trazas con registros, asegúrese de que sus registros se envíen como JSON, o [analizados por el procesador de registros del nivel de lenguaje adecuado][3]. Sus registros del nivel de lenguaje _ deben _ convertirse en atributos de Datadog para que la correlación de trazas y registros funcione.
-Antes de correlacionar trazas con logs, asegúrate de que tus logs se envían como JSON, o [que los analiza el procesador de log en el nivel de lenguaje correcto][3]. Tus logs de nivel de lenguaje _deben_ convertirse en atributos de Datadog para que la correlación de trazas y logs funcione.
+**Nota**: Las trazas y los registros se muestrean de manera independiente. Incluso después de que la correlación esté configurada, un registro puede contener un ID de traza que se refiere a una traza que no fue ingerida o no se retuvo debido al [muestreo de traza][4]. Esto no indica un error de configuración. Para más información, consulte [El registro tiene un ID de traza pero la traza asociada está ausente][5].
-Para obtener más información sobre la conexión automática o manual de tus logs a tus trazas, selecciona tu lenguaje a continuación:
+Para aprender más sobre cómo conectar automáticamente o manualmente sus registros a sus trazas, seleccione su idioma a continuación:
{{< partial name="apm/apm-connect-logs-and-traces.html" >}}
[1]: /es/tracing/glossary/#trace
[2]: /es/getting_started/tagging/unified_service_tagging
-[3]: /es/agent/logs/#enabling-log-collection-from-integrations
\ No newline at end of file
+[3]: /es/agent/logs/#enabling-log-collection-from-integrations
+[4]: /es/tracing/trace_pipeline/ingestion_controls/
+[5]: /es/logs/troubleshooting/#log-has-a-trace-id-but-the-associated-trace-is-missing
\ No newline at end of file
diff --git a/content/es/tracing/services/deployment_tracking.md b/content/es/tracing/services/deployment_tracking.md
index b876432e814..91932723750 100644
--- a/content/es/tracing/services/deployment_tracking.md
+++ b/content/es/tracing/services/deployment_tracking.md
@@ -2,68 +2,68 @@
aliases:
- /es/tracing/version_tracking
- /es/tracing/deployment_tracking/
-description: Utiliza Datadog para hacer seguimiento de tus despliegues a través de
- etiquetas de versión.
+description: Utilice Datadog para hacer seguimiento de sus despliegues mediante etiquetas
+ de versión
further_reading:
- link: getting_started/tagging/unified_service_tagging/
tag: Documentación
- text: Aprende sobre Unified Service Tagging y etiquetas reservadas.
+ text: Aprende sobre Unified Service Tagging y etiquetas reservadas
- link: tracing/app_analytics
tag: Documentación
text: Utiliza la versión como una dimensión en tus consultas de Análisis de Aplicaciones
-title: Seguimiento de despliegues
+title: Seguimiento de Despliegues
---
## La etiqueta de versión {#the-version-tag}
-La etiqueta `version` está reservada dentro de Unified Service Tagging. Se aplica a métricas de infraestructura (host, contenedor, proceso y verificaciones de NPM), métricas de traza, trazas, perfiles y registros.
+La etiqueta `version` está reservada dentro de Unified Service Tagging. Se aplica a métricas de infraestructura (servidor, contenedor, proceso y verificaciones de NPM), métricas de traza, trazas, perfiles y registros.
-Puedes usar la etiqueta `version` para hacer seguimiento de los despliegues y del comportamiento del servicio en apoyo a tu estrategia de despliegue de software.
+Puede usar la etiqueta `version` para hacer seguimiento de despliegues y del comportamiento del servicio en apoyo de su estrategia de implementación de software
-Si no has configurado la etiqueta `version`, consulta la [Unified Service Tagging documentation][1] para obtener información sobre la configuración.
+Si no ha configurado la etiqueta `version`, consulte la [documentación de Unified Service Tagging][1] para obtener información sobre la configuración
## Uso de etiquetas de versión en la página de Servicio {#using-version-tags-on-the-service-page}
{{< img src="tracing/deployment_tracking/ServicePageRequestsErrorsByVersion.png" alt="Versiones en la página de Servicio" style="width:100%;">}}
-En la página de Servicio, si la etiqueta `version` está disponible, puedes limitar el widget de Solicitudes a:
+En la página de Servicio, si la etiqueta `version` está disponible, puede limitar el widget de Solicitudes a:
-- Solicitudes Totales por Versión, o
+- Total de Solicitudes por Versión, o
- Solicitudes Por Segundo por Versión
Puedes limitar el widget de errores a:
-- Errores Totales por Versión
+- Total de Errores por Versión
- Errores Por Segundo por Versión, o
- % Tasa de Error por Versión
-Los widgets de Solicitudes y Errores pueden ser exportados a tableros y monitores.
+Los widgets de Solicitudes y Errores pueden ser exportados a Dashboards y Monitors
## Usando etiquetas de versión para la detección automática de despliegues defectuosos {#using-version-tags-for-automatic-faulty-deployment-detection}
-Configurar tus servicios con la etiqueta `version` habilita [Detección Automática de Despliegues Defectuosos][4].
+Configurar sus servicios con la etiqueta `version` habilita [Detección Automática de Despliegues Defectuosos][4].
-Puedes configurar un monitor para recibir notificaciones automáticamente sobre todos los despliegues potencialmente defectuosos. Para hacerlo, navega a la página New Monitors y elige Eventos, e incluye `tags:deployment_analysis` en la consulta de búsqueda que define el monitor.
+Puedes configurar un monitor para recibir notificaciones automáticamente sobre todos los despliegues potencialmente defectuosos. Para hacerlo, navega a la página de Nuevo Monitor y elige Eventos, e incluye `tags:deployment_analysis` en la consulta de búsqueda que define el monitor.
## Versiones desplegadas {#versions-deployed}
-Un servicio configurado con etiquetas `version` tiene una sección de versiones en tu página de Servicio, debajo de los gráficos principales de salud del servicio. La sección de versiones muestra todas las versiones del servicio que estuvieron activas durante el intervalo de tiempo seleccionado, con los servicios activos en la parte superior.
+Un servicio configurado con `version` etiquetas tiene una sección de versiones en su página de Servicio, debajo de los gráficos principales de salud del servicio. La sección de versiones muestra todas las versiones del servicio que estuvieron activas durante el intervalo de tiempo seleccionado, con los servicios activos en la parte superior.
-Por defecto, verás:
+Por defecto, verá:
- Los nombres de las versiones desplegadas para este servicio durante el periodo de tiempo.
- Los momentos en los que se vieron por primera y última vez las trazas que corresponden a esta versión.
- Un indicador de Tipos de Errores, que muestra cuántos tipos de errores aparecen en cada versión que no aparecieron en la versión inmediatamente anterior.
- > **Nota:** Este indicador muestra errores que no se vieron en las trazas de la versión anterior. No significa que esta versión necesariamente haya introducido estos errores. Investigar nuevos tipos de errores puede ser una excelente manera de comenzar a investigar errores.
+ > **Nota:** Este indicador muestra errores que no se vieron en las trazas de la versión anterior. No significa que esta versión necesariamente introdujo estos errores. Investigar nuevos tipos de errores puede ser una excelente manera de comenzar a investigar errores.
- Solicitudes por segundo.
- Tasa de error como un porcentaje del total de solicitudes.
-Puedes agregar columnas o eliminar columnas de esta tabla de resumen y tus selecciones se guardarán. Las columnas adicionales disponibles son:
+Puede agregar columnas o eliminar columnas de esta tabla de resumen y sus selecciones se guardarán. Las columnas adicionales disponibles son:
-- Puntos de conexión que están activos en una versión que no estaban en la versión anterior.
+- Puntos de conexión que están activos en una versión que no estaban en la versión anterior
- Tiempo activo, mostrando la duración desde la primera traza hasta la última traza enviada a Datadog para esa versión.
- Número total de solicitudes.
- Número total de errores.
@@ -73,61 +73,61 @@ Puedes agregar columnas o eliminar columnas de esta tabla de resumen y tus selec
**Nota:** La sección de versiones aparece solo si hay más de una versión reportando durante el intervalo de tiempo seleccionado en la parte superior de la página.
-## Comparación de despliegues {#deployment-comparison}
+## Comparación de despliegue {#deployment-comparison}
-Haz clic en cualquier fila de versión en la tabla de resumen de versiones para abrir una página de comparación de versiones, lo que te permite comparar dos versiones del mismo servicio. Por defecto, la versión seleccionada se comparará con la versión inmediatamente anterior, pero puedes cambiarla para comparar cualquier par de versiones dentro de los últimos 30 días.
+Haga clic en cualquier fila de versión en la tabla de resumen de versiones para abrir una página de comparación de versiones, lo que le permite comparar dos versiones del mismo servicio. Por defecto, la versión seleccionada se comparará con la versión inmediatamente anterior, pero puede cambiarla para comparar cualquier par de versiones dentro de los últimos 30 días.
-Puedes encontrar la siguiente información en la página de comparación de versiones:
+Puede encontrar la siguiente información en la página de comparación de versiones:
- [Gráficas de comparación](#comparison-graphs): Una visualización de solicitudes y errores a servicios, útil para observar varios tipos de [despliegues](#deployment-strategies).
- [Comparación de errores](#error-comparison): Errores que pueden haber sido introducidos o resueltos por una versión.
-- [Comparación de puntos de conexión](#endpoint-comparison): Cómo se desempeñan la latencia y las tasas de error de los puntos de conexión en cada versión.
+- [Comparación de puntos de conexión](#endpoint-comparison): Cómo se desempeñan la latencia y las tasas de error de los puntos de conexión en cada versión
### Gráficas de comparación {#comparison-graphs}
-Similar a las gráficas en la página del servicio, las gráficas de solicitudes y errores muestran una visión general de un despliegue o picos en las tasas de error. En esta página, las gráficas destacan las versiones seleccionadas para comparación y dejan todas las demás versiones en gris para contexto adicional.
+Similar a las gráficas en la página de Servicio, las gráficas de solicitudes y errores muestran una visión general de un despliegue o picos en las tasas de error En esta página, las gráficas destacan las versiones seleccionadas para comparación y dejan todas las demás versiones en gris para contexto adicional.
-{{< img src="tracing/deployment_tracking/ComparisonGraphs.png" alt="Gráficas de comparación de despliegues" style="width:100%;">}}
+{{< img src="tracing/deployment_tracking/ComparisonGraphs.png" alt="Gráficas de comparación de despliegue" style="width:100%;">}}
-Si [Continuous Profiler está habilitado][5], también verás comparaciones de métricas clave de rendimiento, como el tiempo de CPU o la memoria asignada, desglosadas por recurso APM. Desde allí, puedes pivotar a la [página de comparación de perfiles][6]:
+Si [el perfilador continuo está habilitado][5], también verá comparaciones de métricas clave de rendimiento, como el tiempo de CPU o la memoria asignada, desglosadas por recurso APM. Desde allí, puede pivotar a la [página de comparación de perfiles][6]:
-{{< img src="tracing/deployment_tracking/DeploymentTrackingProfileComparison.png" alt="Gráficas de comparación de perfilado de despliegues" style="width:100%;">}}
+{{< img src="tracing/deployment_tracking/DeploymentTrackingProfileComparison.png" alt="Gráficas de comparación de perfilado de despliegue" style="width:100%;">}}
### Comparación de errores {#error-comparison}
Esta sección lista las diferencias en los tipos de errores detectados para cada una de las dos versiones, destacando:
- - Tipos de errores que aparecen solo en la versión fuente, útiles para solucionar problemas;
- - Tipos de errores que ya no aparecen en la versión fuente, útiles para validar correcciones; y
+ - Tipos de errores que aparecen solo en la versión de origen, útiles para solucionar problemas;
+ - Tipos de errores que ya no aparecen en la versión de origen, útiles para validar correcciones; y
- Tipos de errores activos en ambas.
A partir de esta tabla, puedes pivotar hacia trazas en vivo o históricas correspondientes al error seleccionado para una investigación más profunda.
-**Nota:** La comparación de errores se basa en _tipos de errores_ observados. Si un tipo de error es raro, podría estar listado como ya no apareciendo solo porque no se ha visto _todavía_.
+**Nota:** La comparación de errores se basa en los tipos de errores _observados_. Si un tipo de error es raro, podría estar listado como ya no apareciendo solo porque no se ha visto _aún_.
{{< img src="tracing/deployment_tracking/ErrorComparison.mp4" alt="Comparación de Errores" video=true style="width:100%;">}}
### Comparación de puntos de conexión {#endpoint-comparison}
-Esta sección te permite comparar el rendimiento (solicitudes, latencia y errores) de cada punto de conexión en el servicio. Ordena la tabla por Value para validar que los puntos de conexión con mayor rendimiento siguen siendo saludables después de un despliegue, o por % Change para detectar grandes cambios en la latencia o tasas de error.
+Esta sección te permite comparar el rendimiento (solicitudes, latencia y errores) de cada punto de conexión en el servicio. Ordena la tabla por Valor para validar que los puntos de conexión de mayor rendimiento siguen siendo saludables después de un despliegue, o por % Cambio para detectar grandes cambios en la latencia o tasas de error.
{{< img src="tracing/deployment_tracking/EndpointComparison.png" alt="Comparación de puntos de conexión" style="width:100%;">}}
## Estrategias de despliegue {#deployment-strategies}
-El seguimiento de despliegues de Datadog te brinda visibilidad sobre el rendimiento del código desplegado cuando utilizas las siguientes estrategias de despliegue (u otras) para detectar despliegues de código defectuosos, contener el impacto de los cambios y responder más rápido a incidentes.
+El seguimiento de despliegues de Datadog te brinda visibilidad sobre el rendimiento del código desplegado cuando utilizas las siguientes estrategias de despliegue (u otras) para detectar despliegues de código defectuoso, contener el impacto de los cambios y responder más rápido a incidentes.
### Despliegues en rolling {#rolling-deploys}
-Los despliegues en rolling proporcionan cero tiempo de inactividad al dirigir el tráfico a otras instancias mientras se despliega una nueva versión a servidores o contenedores uno por uno.
+Los despliegues en rolling proporcionan cero tiempo de inactividad al dirigir el tráfico a otras instancias mientras se despliega una nueva versión a servidores o contenedores uno por uno
-Usando Datadog, puedes monitorear tus despliegues en rolling y detectar cualquier aumento en los errores resultantes.
+Usando Datadog, puedes hacer seguimiento de tus despliegues en rolling y detectar cualquier aumento en los errores resultantes.
-{{< img src="tracing/deployment_tracking/rolling.png" alt="Despliegue en Rolling" style="width:100%;">}}
+{{< img src="tracing/deployment_tracking/rolling.png" alt="Despliegue en rolling" style="width:100%;">}}
-### Despliegues azul/verde {#blue-and-green-deploys}
+### Despliegues azul y verde {#blue-and-green-deploys}
-Los despliegues azul/verde (o cualquier otra combinación de colores) reducen el tiempo de inactividad al ejecutar dos clústeres de servicios que aceptan tráfico, o al mantener uno en espera, listo para ser activado si hay problemas con el otro.
+Los despliegues azul y verde (o cualquier otra combinación de colores) reducen el tiempo de inactividad al ejecutar dos clústeres de servicios que están aceptando tráfico, o manteniendo uno en espera, listo para ser activado si hay problemas con el otro.
Configurar y visualizar las etiquetas `version` para estos servicios te permite comparar solicitudes y errores para detectar si uno de los clústeres tiene una tasa de errores más alta que el otro clúster, si un clúster no está cumpliendo con los SLO, o si un clúster que no debería estar recibiendo tráfico lo está.
@@ -135,19 +135,19 @@ Configurar y visualizar las etiquetas `version` para estos servicios te permite
### Despliegues Canary {#canary-deploys}
-Con los despliegues canary, un servicio se despliega en un número limitado de servidores o para una fracción de clientes, para probar un nuevo despliegue con un impacto limitado.
+Con los despliegues canary, un servicio se despliega en un número limitado de servidores o para una fracción de clientes, para probar un nuevo despliegue con un impacto limitado
-Usar etiquetas `version` dentro de Datadog te permite comparar tasas de error, trazas y comportamiento del servicio para el despliegue canary.
+Usar `version` etiquetas dentro de Datadog te permite comparar tasas de error, trazas y comportamiento del servicio para el despliegue canary.
-Por ejemplo, puedes ver en la siguiente imagen que se desplegó una versión canary, tuvo algunos errores y fue retirada, con trazas correspondientes a esa versión disponibles para investigación sin ningún impacto adicional.
+Por ejemplo, puedes ver en la siguiente imagen que se desplegó una versión canary, tuvo algunos errores y fue eliminada, con trazas correspondientes a esa versión disponibles para investigación sin ningún impacto adicional.
-{{< img src="tracing/deployment_tracking/canarydeployment.png" alt="Despliegue Canary" style="width:100%;">}}
+{{< img src="tracing/deployment_tracking/canarydeployment.png" alt="Despliegue canary" style="width:100%;">}}
### Despliegues Shadow {#shadow-deploys}
En un despliegue shadow, una versión candidata a lanzamiento se despliega junto a la versión de producción, y el tráfico entrante se envía a ambos servicios, con los usuarios viendo los resultados solo de producción, pero permitiéndote recopilar datos de ambos.
-Los despliegues shadow te permiten probar un posible lanzamiento contra tráfico de producción real. Etiquetar sombras con una etiqueta `version` te permite comparar tasas de error, trazas y comportamiento del servicio entre las dos versiones para determinar si la versión shadow debe ser lanzada.
+Los despliegues shadow te permiten probar un posible lanzamiento contra tráfico de producción real. Etiquetar sombras con una `version` etiqueta te permite comparar tasas de error, trazas y comportamiento del servicio entre las dos versiones para determinar si la versión shadow debe ser lanzada.
## Usando etiquetas de versión en otros lugares dentro de Datadog {#using-version-tags-elsewhere-within-datadog}
@@ -164,23 +164,23 @@ En la página de recursos, si la etiqueta de versión está disponible, el widge
El widget de errores puede ser limitado a una de tres opciones que involucran la etiqueta `version`:
-- Errores Totales por Versión
+- Total de Errores por Versión
- Errores por segundo por Versión
-- % Tasa de error por versión
+- % Tasa de error por Versión
-Todos estos pueden ser exportados a tableros y seguimientos.
+Todos estos pueden ser exportados a dashboards y monitors.
### Búsqueda de trazas y análisis {#trace-search-and-analytics}
-{{< img src="tracing/deployment_tracking/AnalyticsErrorsByVersion.mp4" alt="Versión en análisis de aplicaciones" video=true style="width:100%;">}}
+{{< img src="tracing/deployment_tracking/AnalyticsErrorsByVersion.mp4" alt="Versión en App Analytics" video=true style="width:100%;">}}
-Cuando esté disponible, `version` puede usarse como una etiqueta tanto para la búsqueda de trazas como para análisis, ya sea para filtrar el modo de búsqueda en vivo y las trazas indexadas, o para filtrar o agrupar consultas de análisis.
+Cuando esté disponible, `version` puede ser utilizado como una etiqueta tanto para la búsqueda de trazas como para análisis, ya sea para filtrar el modo de búsqueda en vivo y las trazas indexadas, o para filtrar o agrupar consultas de análisis.
-Los análisis, incluyendo el filtrado en la etiqueta `version`, pueden ser exportados a tableros y seguimientos.
+Los análisis, incluyendo el filtrado en la etiqueta `version`, pueden ser exportados a dashboards y monitors.
-### Perfiles por versión {#profiles-by-version}
+### Perfiles por Versión {#profiles-by-version}
-Puedes buscar perfiles que correspondan a una versión particular. También puedes hacer clic en **View Profiles** en la parte superior derecha de la página [Comparación de Despliegues](#deployment-comparison) para abrir el Continuous Profiler limitado a cualquiera de las versiones que se están comparando.
+Puede buscar perfiles que correspondan a una versión particular. También puede hacer clic en **View Profiles** en la parte superior derecha de la página [Deployment Comparison](#deployment-comparison) para abrir el Continuous Profiler limitado a cualquiera de las versiones que se están comparando.
{{< img src="tracing/deployment_tracking/VersionProfiler.png" alt="Filtrar Perfiles por Versión" style="width:100%;">}}
@@ -188,31 +188,31 @@ Puedes buscar perfiles que correspondan a una versión particular. También pued
## La métrica del tiempo entre despliegues {#the-time-between-deployments-metric}
-Cada vez que se detecta un nuevo despliegue de un servicio, el Seguimiento de Despliegues calcula un valor para la métrica `time_between_deployments`, calculado como la duración en segundos entre el nuevo despliegue y el despliegue de la versión más reciente anterior a ese.
+Cada vez que se detecta un nuevo despliegue de un servicio, Deployment Tracking calcula un valor para la métrica `time_between_deployments`, calculado como la duración en segundos entre el nuevo despliegue y el despliegue de la versión más reciente anterior a ese.
### Definición de métrica {#metric-definition}
`datadog.service.time_between_deployments{env, service, second_primary_tag}`
-: **Requisito previo:** Esta métrica existe para cualquier servicio APM con etiquetado de versión habilitado a través de [Unified Service Tagging][1].
+: **Requisito previo:** Esta métrica existe para cualquier servicio APM con version tagging habilitado a través de [unified service tagging][1].
**Descripción:** El tiempo en segundos transcurrido entre un despliegue de un servicio y el despliegue de la versión más reciente anterior a ese.
-**Tipo de métrica:** [Distribución][2]
-**Etiquetas:** La métrica está etiquetada con `env` del servicio, `service`, y [second primary tag][3].
+**Tipo de métrica:** [Distribution][2]
+**Etiquetas:** La métrica está etiquetada con el `env` del servicio, `service`, y [second primary tag][3].
### Ejemplos {#examples}
-Si tienes un servicio que despliega la versión A en el tiempo = 0 y la versión B en el tiempo = 10, entonces el valor de la métrica `datadog.service.time_between_deployments` es 10:
+Si tiene un servicio que despliega la versión A en el tiempo = 0 y la versión B en el tiempo = 10, entonces el valor de la métrica `datadog.service.time_between_deployments` es 10:
Tiempo = 0
-: `{service: foo, env: prod, nombre-del-clúster: dev-shopist, versión: A}`
+: `{service: foo, env: prod, clúster: dev-shopist, Versión: A}`
Tiempo = 10
-: `{service: foo, env: prod, nombre_del_clúster: dev-shopist, versión: B}`
+: `{service: foo, env: prod, clúster: dev-shopist, Versión: B}`
Tiempo entre despliegues
: `datadog.service.time_between_deployments{env: prod, cluster_name: dev-shopist} = 10`
-Si despliegas la versión X en el tiempo = 20 en el clúster `dev-shopist`, la versión Y en el tiempo = 30 en el clúster `us-staging`, y la versión Y nuevamente en el tiempo = 45 en el clúster `dev-shopist`, el valor `max` de la métrica `datadog.service.time_between_deployments` para cualquier clúster es 25 (el tiempo de la Y más reciente menos la última X):
+Si despliega la versión X a tiempo = 20 en el clúster `dev-shopist`, la versión Y a tiempo = 30 en el clúster `us-staging`, y la versión Y nuevamente a tiempo = 45 en el clúster `dev-shopist`, el valor `max` de la métrica `datadog.service.time_between_deployments` para cualquier clúster es 25 (el tiempo de la Y más reciente menos la última X):
Tiempo = 20
: `{service: foo, env: staging, cluster-name: dev-shopist, version: X}`
diff --git a/content/es/tracing/trace_collection/dd_libraries/dotnet-framework.md b/content/es/tracing/trace_collection/dd_libraries/dotnet-framework.md
new file mode 100644
index 00000000000..7ec0b5009fe
--- /dev/null
+++ b/content/es/tracing/trace_collection/dd_libraries/dotnet-framework.md
@@ -0,0 +1,300 @@
+---
+algolia:
+ tags:
+ - C#
+ - APM
+aliases:
+- /es/tracing/dotnet
+- /es/tracing/languages/dotnet
+- /es/tracing/setup/dotnet
+- /es/tracing/setup_overview/dotnet
+- /es/agent/apm/dotnet/
+- /es/tracing/dotnet-framework
+- /es/tracing/languages/dotnet-framework
+- /es/tracing/setup/dotnet-framework
+- /es/agent/apm/dotnet-framework/
+- /es/tracing/setup_overview/dotnet-framework
+- /es/tracing/setup_overview/setup/dotnet
+- /es/tracing/setup_overview/setup/dotnet-framework
+- /es/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-framework
+code_lang: dotnet-framework
+code_lang_weight: 70
+further_reading:
+- link: /tracing/other_telemetry/connect_logs_and_traces/dotnet/
+ tag: Documentación
+ text: Conectar los registros de la aplicación .NET a las trazas
+- link: /tracing/metrics/runtime_metrics/dotnet/
+ tag: Documentación
+ text: Métricas de tiempo de ejecución
+- link: /serverless/azure_app_services/
+ tag: Documentación
+ text: Extensión de Microsoft Azure App Service
+- link: /tracing/glossary/
+ tag: Documentación
+ text: Explora tus servicios, recursos y trazas
+- link: https://www.datadoghq.com/blog/net-monitoring-apm/
+ tag: Blog
+ text: .NET monitoreo con Datadog APM y trazado distribuido
+- link: https://www.datadoghq.com/blog/asp-dotnet-core-monitoring/
+ tag: Blog
+ text: Monitorea aplicaciones ASP.NET Core en contenedores
+- link: https://www.datadoghq.com/blog/deploy-dotnet-core-aws-fargate/
+ tag: Blog
+ text: Monitorea aplicaciones ASP.NET Core en contenedores en AWS Fargate
+- link: https://www.datadoghq.com/blog/dotnet-datadog-continuous-profiler/
+ tag: Blog
+ text: Optimiza el rendimiento de tu aplicación .NET con el Continuous Profiler de
+ Datadog
+- link: https://github.com/DataDog/dd-trace-dotnet/tree/master/tracer/samples
+ tag: Código fuente
+ text: Ejemplos de instrumentación personalizada
+- link: https://github.com/DataDog/dd-trace-dotnet
+ tag: Código fuente
+ text: Código fuente
+title: Trazado de aplicaciones .NET Framework
+type: multi-code-lang
+---
+## Requisitos de compatibilidad {#compatibility-requirements}
+
+### Runtimes de .NET Framework soportados {#supported-net-framework-runtimes}
+
+El trazador .NET soporta instrumentación en .NET Framework >= 4.6.1.
+
+Para una lista completa de la biblioteca de .NET Framework de Datadog y el soporte de arquitectura de procesador (incluyendo versiones heredadas y de mantenimiento), consulta [Requisitos de Compatibilidad][1].
+
+## Instalación y primeros pasos {#installation-and-getting-started}
+
+
+ Para configurar Datadog APM en entornos Serverless, como AWS Lambda o Azure Functions, consulte
Serverless.
+
+
+
+ Nota: La instrumentación automática de Datadog se basa en la API de perfilado de .NET CLR. Esta API permite solo un suscriptor (por ejemplo, Datadog APM). Para garantizar la máxima visibilidad, ejecute solo una solución APM en su entorno de aplicación.
+
+
+### Instalación {#installation}
+
+Antes de comenzar, asegúrese de haber [instalado y configurado el Agente][12].
+
+1. [Instale el SDK.](#install-the-sdk)
+3. [Habilite el SDK para su servicio.](#enable-the-sdk-for-your-service)
+4. [Vea sus datos en vivo.](#view-your-live-data)
+
+### Instale el SDK {#install-the-sdk}
+
+Después de instalar y configurar su Agente de Datadog, el siguiente paso es agregar el SDK directamente en la aplicación para instrumentarla. Lea más sobre [información de compatibilidad][1].
+
+Instale el trazador de Datadog .NET a nivel de máquina para que todos los servicios en la máquina estén instrumentados o a nivel de aplicación, para que los desarrolladores puedan gestionar la instrumentación a través de las dependencias de la aplicación. Para ver las instrucciones de instalación a nivel de máquina, haga clic en la pestaña de Windows. Para ver las instrucciones de instalación por aplicación, haga clic en la pestaña de NuGet.
+
+{{< tabs >}}
+
+{{% tab "Windows" %}}
+
+Para instalar el trazador .NET a nivel de máquina:
+
+1. Descargue el [.NET Tracer MSI installer][1]. Utilice el instalador MSI x64 si está ejecutando Windows de 64 bits; esto puede instrumentar tanto aplicaciones de 64 bits como de 32 bits. Solo elige el instalador x86 si estás ejecutando Windows de 32 bits. A partir de la versión 3.0.0, solo se proporciona el instalador x64, ya que no soportamos sistemas operativos de 32 bits.
+
+2. Ejecuta el instalador MSI de .NET Tracer con privilegios de administrador.
+
+También puedes automatizar la configuración de MSI ejecutando lo siguiente en PowerShell: `Start-Process -Wait msiexec -ArgumentList '/qn /i datadog-apm.msi'`
+
+[1]: https://github.com/DataDog/dd-trace-dotnet/releases
+{{% /tab %}}
+
+{{% tab "NuGet" %}}
+
+
+ Nota: Esta instalación no instrumenta aplicaciones que se ejecutan en IIS. Para aplicaciones que se ejecutan en IIS, sigue el proceso de instalación a nivel de máquina de Windows.
+
+
+Para instalar el .NET Tracer por aplicación:
+
+1. Agrega el `Datadog.Trace.Bundle` [paquete de NuGet][1] a tu aplicación.
+
+
+[1]: https://www.nuget.org/packages/Datadog.Trace.Bundle
+{{% /tab %}}
+
+{{< /tabs >}}
+
+### Habilita el SDK para tu servicio {#enable-the-sdk-for-your-service}
+
+Para habilitar el .NET Tracer para tu servicio, establece las variables de entorno requeridas y reinicia la aplicación.
+
+Para información sobre los diferentes métodos para establecer variables de entorno, consulta [Configuración de variables de entorno del proceso](#configuring-process-environment-variables).
+
+{{< tabs >}}
+
+{{% tab "Windows" %}}
+
+#### Servicios de Información de Internet (IIS) {#internet-information-services-iis}
+
+1. El instalador MSI de .NET Tracer agrega todas las variables de entorno requeridas. No hay variables de entorno que necesites configurar.
+
+2. Para instrumentar automáticamente aplicaciones alojadas en IIS, detén y reinicia IIS completamente ejecutando los siguientes comandos como administrador:
+
+ ```cmd
+ net stop /y was
+ net start w3svc
+ # Also, start any other services that were stopped when WAS was shut down.
+ ```
+
+
+ Nota: Siempre utiliza los comandos anteriores para detener y reiniciar completamente IIS para habilitar el SDK. Evita usar la aplicación GUI del Administrador de IIS o iisreset.exe.
+
+
+
+#### Servicios fuera de IIS {#services-outside-iis}
+
+
+ Nota: El runtime de .NET intenta cargar la biblioteca de .NET en cualquier proceso de .NET que se inicie con estas variables de entorno configuradas. Deberías limitar la instrumentación solo a las aplicaciones que necesitan ser instrumentadas. No configures estas variables de entorno globalmente, ya que esto causa que todos los procesos de .NET en el servidor sean instrumentados.
+
+
+1. Configura las siguientes variables de entorno requeridas para que la instrumentación automática se adjunte a tu aplicación:
+
+ ```
+ COR_ENABLE_PROFILING=1
+ ```
+2. Para aplicaciones independientes y servicios de Windows, reinicia manualmente la aplicación.
+
+{{% /tab %}}
+
+{{% tab "NuGet" %}}
+
+Sigue las instrucciones en el archivo readme del paquete, también disponible en [`dd-trace-dotnet` repositorio][1].
+Los ejemplos de Docker también están disponibles en el [repositorio][2].
+
+[1]: https://github.com/DataDog/dd-trace-dotnet/blob/master/docs/Datadog.Trace.Bundle/README.md
+[2]: https://github.com/DataDog/dd-trace-dotnet/tree/master/tracer/samples/NugetDeployment
+
+{{% /tab %}}
+
+{{< /tabs >}}
+
+### Ve tus datos en vivo {#view-your-live-data}
+
+Después de habilitar el .NET Tracer para tu servicio:
+
+1. Reinicia tu servicio.
+
+2. Crea carga de aplicación.
+
+3. En Datadog, navega a [**APM** > **Trazas de APM**][3].
+
+## Configuración {#configuration}
+
+Si es necesario, configura el SDK para enviar datos de telemetría de rendimiento de la aplicación, incluyendo la configuración de Unified Service Tagging. Lee [Configuración de la Biblioteca][4] para más detalles.
+
+## Instrumentación personalizada {#custom-instrumentation}
+
+La instrumentación personalizada depende de su instrumentación automática e incluye pasos adicionales según el método:
+
+{{< tabs >}}
+
+{{% tab "Windows" %}}
+
+
+Nota: A partir de la versión 3.0.0, la instrumentación personalizada requiere que también utilice la instrumentación automática. Debería esforzarse por mantener sincronizadas las versiones de los paquetes de instrumentación automática y personalizada (por ejemplo: MSI y NuGet), y asegurarse de no mezclar versiones principales de los paquetes.
+
+
+Para utilizar la instrumentación personalizada en su aplicación .NET:
+
+1. Instrumente su aplicación utilizando la instrumentación automática.
+2. Agregue el `Datadog.Trace` [paquete de NuGet][1] a su aplicación.
+3. En el código de su aplicación, acceda al rastreador global a través de la propiedad `Datadog.Trace.Tracer.Instance` para crear nuevos tramos.
+
+[1]: https://www.nuget.org/packages/Datadog.Trace
+
+{{% /tab %}}
+
+{{% tab "NuGet" %}}
+
+Para utilizar la instrumentación personalizada en su aplicación .NET:
+
+1. En el código de su aplicación, acceda al rastreador global a través de la propiedad `Datadog.Trace.Tracer.Instance` para crear nuevos tramos.
+
+{{% /tab %}}
+
+{{< /tabs >}}
+
+Para obtener más información sobre cómo agregar tramos y etiquetas para la instrumentación personalizada, consulte la [.NET Documentación de Instrumentación Personalizada][5].
+
+## Configurando variables de entorno del proceso {#configuring-process-environment-variables}
+
+Para adjuntar la instrumentación automática a su servicio, establezca las variables de entorno requeridas antes de iniciar la aplicación. Consulte la sección [Habilitar el SDK para su servicio](#enable-the-sdk-for-your-service) para identificar qué variables de entorno establecer según su método de instalación del Tracer .NET y siga los ejemplos a continuación para configurar correctamente las variables de entorno según el entorno de su servicio instrumentado.
+
+
+ Nota: El runtime de .NET intenta cargar la biblioteca de .NET en cualquier proceso de .NET que se inicie con estas variables de entorno configuradas. Deberías limitar la instrumentación solo a las aplicaciones que necesitan ser instrumentadas. No configures estas variables de entorno globalmente, ya que esto causa que todos los procesos de .NET en el host sean instrumentados.
+
+
+#### Servicios de Windows {#windows-services}
+
+{{< tabs >}}
+
+{{% tab "Editor del Registro" %}}
+
+En el Editor del Registro, cree un valor de cadena múltiple llamado `Environment` en la clave `HKLM\System\CurrentControlSet\Services\` y establezca los datos del valor en:
+
+```text
+COR_ENABLE_PROFILING=1
+```
+
+{{< img src="tracing/setup/dotnet/RegistryEditorFramework.png" alt="Usando el Editor del Registro para crear variables de entorno para un servicio de Windows" >}}
+
+{{% /tab %}}
+
+{{% tab "PowerShell" %}}
+
+```powershell
+Set-ItemProperty HKLM:SYSTEM\CurrentControlSet\Services\ -Name Environment -Value 'COR_ENABLE_PROFILING=1'
+```
+{{% /tab %}}
+
+{{< /tabs >}}
+
+#### IIS {#iis}
+
+Después de instalar el MSI, no se necesita configuración adicional para instrumentar automáticamente sus sitios de IIS. Para establecer variables de entorno adicionales que son heredadas por todos los sitios de IIS, realice los siguientes pasos:
+
+1. Abra el Editor del Registro, busque el valor de cadena múltiple llamado `Environment` en la clave `HKLM\System\CurrentControlSet\Services\WAS`, y agregue las variables de entorno, una por línea. Por ejemplo, para agregar inyección de registros y métricas de tiempo de ejecución, agregue las siguientes líneas a los datos del valor:
+ ```text
+ DD_LOGS_INJECTION=true
+ DD_RUNTIME_METRICS_ENABLED=true
+ ```
+2. Ejecute los siguientes comandos para reiniciar IIS:
+ ```cmd
+ net stop /y was
+ net start w3svc
+ # Also, start any other services that were stopped when WAS was shut down.
+ ```
+
+{{< img src="tracing/setup/dotnet/RegistryEditorIIS.png" alt="Usando el Editor del Registro para crear variables de entorno para todos los sitios de IIS" >}}
+
+#### Aplicaciones de consola {#console-applications}
+
+Para instrumentar automáticamente una aplicación de consola, establezca las variables de entorno desde un archivo por lotes antes de iniciar su aplicación:
+
+```bat
+rem Set required environment variables
+SET COR_ENABLE_PROFILING=1
+
+rem (Optionally) Set additional Datadog environment variables, for example:
+SET DD_LOGS_INJECTION=true
+SET DD_RUNTIME_METRICS_ENABLED=true
+
+rem Start application
+dotnet.exe example.dll
+```
+
+## Lectura adicional {#further-reading}
+
+{{< partial name="whats-next/whats-next.html" >}}
+
+
+[1]: /es/tracing/compatibility_requirements/dotnet-framework
+[2]: /es/agent/
+[3]: https://app.datadoghq.com/apm/traces
+[4]: /es/tracing/trace_collection/library_config/dotnet-framework/
+[5]: /es/tracing/trace_collection/custom_instrumentation/dotnet/
+[11]: /es/tracing/trace_collection/library_injection_local/
+[12]: /es/tracing/trace_collection/automatic_instrumentation/?tab=datadoglibraries#install-and-configure-the-agent
\ No newline at end of file
diff --git a/content/es/tracing/trace_collection/dd_libraries/go.md b/content/es/tracing/trace_collection/dd_libraries/go.md
new file mode 100644
index 00000000000..329bd26ffb1
--- /dev/null
+++ b/content/es/tracing/trace_collection/dd_libraries/go.md
@@ -0,0 +1,298 @@
+---
+aliases:
+- /es/tracing/go/
+- /es/tracing/languages/go
+- /es/agent/apm/go/
+- /es/tracing/setup/go
+- /es/tracing/setup_overview/go
+- /es/tracing/setup_overview/setup/go
+- /es/tracing/trace_collection/automatic_instrumentation/dd_libraries/go
+code_lang: go
+code_lang_weight: 20
+further_reading:
+- link: https://github.com/DataDog/dd-trace-go/tree/v1
+ tag: Código fuente
+ text: Código fuente del SDK
+- link: https://pkg.go.dev/github.com/DataDog/dd-trace-go/v2/ddtrace
+ tag: Sitio externo
+ text: Documentación de la API del SDK
+- link: https://pkg.go.dev/github.com/DataDog/dd-trace-go/v2/ddtrace
+ tag: Sitio externo
+ text: Documentación de la API del SDK para v2
+- link: https://github.com/DataDog/orchestrion
+ tag: Código fuente
+ text: Código fuente de Orchestrion
+- link: /tracing/glossary/
+ tag: Documentación
+ text: Explora tus servicios, recursos y trazas
+title: Trazando aplicaciones Go
+type: multi-code-lang
+---
+## Requisitos de compatibilidad {#compatibility-requirements}
+
+El rastreador de Go requiere Go `1.18+` y el Agente de Datadog `>= 5.21.1`. Para una lista completa de las versiones de Go y el soporte de frameworks de Datadog (incluyendo versiones heredadas y de mantenimiento), consulta la página de [Requisitos de Compatibilidad][1].
+
+{{% tracing-go-v2 %}}
+
+## Introducción {#getting-started}
+
+Antes de comenzar, asegúrate de haber [instalado y configurado el Agente][5].
+
+Hay dos formas de instrumentar tu aplicación Go:
+
+1. **Instrumentación en tiempo de compilación**:
+ - Asegura la máxima cobertura de tu instrumentación de trazado.
+ - No requiere modificaciones en el código fuente, lo que lo hace ideal para integrar a nivel de CI/CD.
+1. **Instrumentación manual**:
+
+ Utiliza dd-trace-go junto con nuestros paquetes de integración para generar automáticamente tramos sobre las bibliotecas que elijas. Esta opción:
+ - Te brinda control total sobre qué partes de tu aplicación son rastreadas.
+ - Requiere modificar el código fuente de la aplicación.
+
+Consulta las instrucciones en la sección correspondiente a tu preferencia a continuación:
+
+{{< tabs >}}
+
+{{% tab "Instrumentación en tiempo de compilación" %}}
+
+### Descripción general {#overview}
+
+[Orchestrion][6] agrega automáticamente instrumentación a las aplicaciones de Go durante la compilación, eliminando la necesidad de cambios en el código. Proporciona una cobertura de rastreo integral y habilita características de seguridad exclusivas:
+
+- Cobertura de rastreo integral:
+ - Instrumenta tu código y todas las dependencias, incluida la biblioteca estándar de Go
+ - Instrumenta tu código durante la compilación, previniendo brechas en la cobertura de rastreo debido a la instrumentación manual pasada por alto
+- Protección exclusiva [App y API][7] **Prevención de explotación** característica. [Prevención de explotación][15] es una implementación de Protección de Aplicaciones en Tiempo de Ejecución (RASP) e incluye métodos RASP como Inclusión de Archivos Locales (LFI).
+
+### Requisitos {#requirements}
+
+- Soporta las dos últimas versiones de tiempo de ejecución de Go (de acuerdo con [la política de lanzamiento oficial de Go][8]).
+- Las aplicaciones deben ser gestionadas utilizando [módulos de Go][10]. Se admite la venta de módulos.
+
+
+### Instalar Orchestrion {#install-orchestrion}
+
+Para instalar y configurar Orchestrion:
+
+1. Instalar Orchestrion:
+ ```sh
+ go install github.com/DataDog/orchestrion@latest
+ ```
+ Asegúrate de que $(go env GOBIN) o $(go env GOPATH)/bin está en tu $PATH.
+
+1. Registra Orchestrion en el `go.mod` de tu proyecto:
+ ```sh
+ orchestrion pin
+ ```
+ Consulta la salida de `orchestrion pin -help` para obtener más información sobre las opciones de personalización disponibles.
+1. Confirma los cambios en tu sistema de control de versiones (a menos que estés integrando `orchestrion` directamente en tu canalización de CI/CD):
+ ```sh
+ git add go.mod go.sum orchestrion.tool.go
+ git commit -m "chore: enable orchestrion"
+ ```
+
+ Ahora puedes gestionar tu dependencia de `orchestrion` como cualquier otra dependencia utilizando el archivo `go.mod`.
+
+### Uso {#usage}
+
+Utiliza uno de estos métodos para habilitar Orchestrion en tu proceso de construcción:
+
+#### Anteponer `orchestrion` a tus comandos habituales de `go`: {#prepend-orchestrion-to-your-usual-go-commands}
+ ```sh
+ orchestrion go build .
+ orchestrion go run .
+ orchestrion go test ./...
+ ```
+#### Agrega el argumento `-toolexec="orchestrion toolexec"` a tus comandos de `go`: {#add-the-toolexecorchestrion-toolexec-argument-to-your-go-commands}
+ ```sh
+ go build -toolexec="orchestrion toolexec" .
+ go run -toolexec="orchestrion toolexec" .
+ go test -toolexec="orchestrion toolexec" ./...
+ ```
+#### Modifica la variable de entorno `$GOFLAGS` para inyectar Orchestrion, y utiliza los comandos `go` normalmente: {#modify-the-goflags-environment-variable-to-inject-orchestrion-and-use-go-commands-normally}
+ ```sh
+ # Make sure to include the quotes as shown below, as these are required for
+ # the Go toolchain to parse GOFLAGS properly!
+ export GOFLAGS="${GOFLAGS} '-toolexec=orchestrion toolexec'"
+ go build .
+ go run .
+ go test ./...
+ ```
+
+### Personalización de trazas {#trace-customization}
+
+#### Configurando el etiquetado de servicio unificado {#setting-up-unified-service-tagging}
+
+Las aplicaciones instrumentadas por `orchestrion` soportan el Etiquetado de Servicio Unificado (UST). Puedes establecer etiquetas UST para tus trazas configurando la variable de entorno correspondiente en el entorno de **ejecución** de tu aplicación:
+
+| Entorno de Etiquetas Unificadas | |
+|-------------|--------------|
+| `env` | `DD_ENV` |
+| `service` | `DD_SERVICE` |
+| `version` | `DD_VERSION` |
+
+Para más información, consulta la [documentación de Etiquetado de Servicio Unificado][14].
+
+#### Configuración del trazador {#tracer-configuration}
+
+Consulta [Configuración de la Biblioteca][16] para instrucciones de configuración.
+
+#### Crea tramos de traza personalizados {#create-custom-trace-spans}
+
+Los tramos de traza personalizados pueden ser creados automáticamente para cualquier función anotada con el comentario de directiva `//dd:span`:
+
+{{}}
+//dd:span custom_tag:tag_value
+func CriticalPathFunction() {
+ // ... implementation details ...
+}
+{{}}
+
+Esto también funciona con expresiones literales de función:
+
+{{}}
+//dd:span custom_tag:tag_value
+handler := func(w http.ResponseWriter, r *http.Request) {
+ // ... implementation details ...
+}
+{{}}
+
+#### Nombre de la Operación {#operation-name}
+
+El nombre de la operación (`span.name`) se determina automáticamente utilizando la siguiente precedencia:
+1. Una etiqueta `span.name:customOperationName` explícita especificada como un argumento de directiva
+2. El nombre declarado de la función (esto no se aplica a expresiones literales de función, que son anónimas)
+3. El valor de la primera etiqueta proporcionada a la lista de argumentos de directiva
+
+{{}}
+//dd:span tag-name:spanName other-tag:bar span.name:operationName
+func tracedFunction() {
+ // This function will be represented as a span named "operationName"
+}
+
+//dd:span tag-name:spanName other-tag:bar
+func otherTracedFunction() {
+ // This function will be represented as a span named "otherTracedFunction"
+}
+
+//dd:span tag-name:spanName other-tag:bar
+tracedFunction := func() {
+ // This function will be represented as a span named "spanName"
+}
+{{}}
+
+#### Resultados de Error {#error-results}
+
+Si la función anotada devuelve un `error` resultado, cualquier error devuelto por la función se adjuntará automáticamente al intervalo de traza correspondiente:
+
+{{}}
+//dd:span
+func failableFunction() (any, error) {
+ // This span will have error information attached automatically.
+ return nil, errors.ErrUnsupported
+}
+{{}}
+
+#### Prevenga la instrumentación de algún código {#prevent-instrumentation-of-some-code}
+
+Puede usar la directiva `//orchestrion:ignore` para evitar que `orchestrion` realice _cualquier_ modificación en el código anotado.
+
+Esto se puede usar para evitar que la instrumentación del lado del llamador se aplique a ubicaciones específicas:
+
+{{}}
+import "database/sql"
+
+// Caller-side instrumentation normally happens within this function...
+func normal() {
+ // The following assignment will NOT be modified to add any caller-side
+ // instrumentation as it is opted out by the orchestrion:ignore directive:
+ //orchestrion:ignore
+ db, err := sql.Open("driver-name", "database=example")
+ // ...
+}
+
+// Caller-side instrumentation will NOT happen in the following function
+// as it is annotated with orchestrion:ignore.
+//orchestrion:ignore
+func excluded() {
+ // The following assignment will NOT be modified to add any caller-side
+ // instrumentation as the surrounding context is excluded by an
+ // orchestrion:ignore directive:
+ db, err := sql.Open("driver-name", "database=example")
+ // ...
+}
+{{}}
+
+Parte de la instrumentación realizada por `orchestrion` se hace del lado del llamado (o del lado de la biblioteca), lo que significa que la integración se agrega directamente dentro de la dependencia misma. En tales casos, no es posible optar localmente por no participar en tales integraciones.
+
+#### Use el SDK {#use-the-sdk}
+
+Puede usar el [SDK][4] en su aplicación construida con Orchestrion. Esto es útil para instrumentar marcos que aún no son compatibles con Orchestrion. Sin embargo, tenga en cuenta que esto puede resultar en tramos de traza duplicados en el futuro a medida que se expanda el soporte de Orchestrion. Revise las [notas de la versión][11] al actualizar su dependencia `orchestrion` para mantenerse informado sobre nuevas características y ajustar su instrumentación manual según sea necesario.
+
+#### Utilice el perfilador continuo {#use-the-continuous-profiler}
+
+Su aplicación construida con Orchestrion incluye instrumentación de [perfilador continuo][12].
+Para habilitar el perfilador, establezca la variable de entorno `DD_PROFILING_ENABLED=true` en tiempo de ejecución.
+
+#### Elimine integraciones {#remove-integrations}
+
+Puede eliminar integraciones modificando las importaciones en el archivo `orchestrion.tool.go`.
+También puede crear su propio archivo `orchestrion.tool.go` antes de ejecutar `orchestrion`.
+Podría hacer esto si no desea una integración,
+o si desea reducir el número de dependencias transitivas para integraciones que su programa no utiliza.
+Por defecto, Orchestrion importa `github.com/DataDog/dd-trace-go/orchestrion/all/v2`,
+que importa cada biblioteca para la cual hay una integración de Orchestrion.
+Puede reemplazar esta importación con importaciones de solo las integraciones que desea utilizar.
+Consulte [el código fuente del SDK][17] para la lista de integraciones compatibles.
+
+**Nota**: Si elige importar integraciones específicas, debe actualizar manualmente `orchestrion.tool.go` cada vez que desee agregar una nueva integración.
+
+### Construyendo con Docker {#building-with-docker}
+
+Para obtener más información sobre cómo crear una imagen de Docker adecuada, consulte [Creando un Dockerfile para APM para Go][18].
+
+### Solución de problemas {#troubleshooting}
+
+Para solucionar problemas de compilaciones que `orchestrion` gestiona, consulte [Solución de problemas de instrumentación en tiempo de compilación de Go][13].
+
+[4]: https://pkg.go.dev/github.com/DataDog/dd-trace-go/v2/ddtrace
+[6]: https://github.com/DataDog/orchestrion
+[7]: /es/security/application_security/exploit-prevention
+[8]: https://go.dev/doc/devel/release#policy
+[10]: https://pkg.go.dev/cmd/go#hdr-Modules__module_versions__and_more
+[11]: https://github.com/DataDog/orchestrion/releases
+[12]: /es/profiler
+[13]: /es/tracing/troubleshooting/go_compile_time/
+[14]: /es/getting_started/tagging/unified_service_tagging/
+[15]: /es/security/application_security/exploit-prevention/
+[16]: /es/tracing/trace_collection/library_config/go/#traces
+[17]: https://github.com/DataDog/dd-trace-go/blob/main/orchestrion/all/orchestrion.tool.go
+[18]: /es/tracing/guide/orchestrion_dockerfile/
+
+{{% /tab %}}
+
+{{% tab "Instrumentación manual" %}}
+
+### Agrega el SDK a tu aplicación {#add-the-sdk-to-your-application}
+
+Primero, importa e inicia el SDK en tu código siguiendo la documentación de [Configuración de la Biblioteca][3]. Consulta la [documentación de la API][6] (o la [documentación de la API v1][4]) para obtener instrucciones de configuración y detalles sobre el uso de la API.
+
+### Activa las integraciones de Go para crear tramos {#activate-go-integrations-to-create-spans}
+
+Activa las [integraciones de Go][1] para generar tramos. Datadog cuenta con una serie de paquetes plugables que proporcionan soporte inmediato para instrumentar una serie de bibliotecas y frameworks. Una lista de estos paquetes se puede encontrar en la página de [Requisitos de Compatibilidad][1]. Importa estos paquetes en tu aplicación y sigue las instrucciones de configuración que se enumeran junto a cada integración.
+
+[1]: /es/tracing/compatibility_requirements/go
+[3]: /es/tracing/trace_collection/library_config/go/
+[4]: https://pkg.go.dev/gopkg.in/DataDog/dd-trace-go.v1/ddtrace
+[6]: https://pkg.go.dev/github.com/DataDog/dd-trace-go/v2/ddtrace
+
+{{% /tab %}}
+
+{{< /tabs >}}
+
+## Lectura adicional {#further-reading}
+
+{{< partial name="whats-next/whats-next.html" >}}
+
+[1]: /es/tracing/compatibility_requirements/go
+[5]: /es/tracing/trace_collection/automatic_instrumentation/?tab=datadoglibraries#install-and-configure-the-agent
\ No newline at end of file
diff --git a/content/es/tracing/trace_collection/dd_libraries/php.md b/content/es/tracing/trace_collection/dd_libraries/php.md
index 31c6f7f4e50..a15362835a9 100644
--- a/content/es/tracing/trace_collection/dd_libraries/php.md
+++ b/content/es/tracing/trace_collection/dd_libraries/php.md
@@ -2,7 +2,7 @@
aliases:
- /es/tracing/languages/php
- /es/agent/apm/php/
-- /es/tracing/PHP/
+- /es/tracing/php/
- /es/tracing/setup/php
- /es/tracing/setup_overview/php
- /es/tracing/setup_overview/setup/php
@@ -13,33 +13,33 @@ code_lang_weight: 40
further_reading:
- link: /tracing/guide/trace-php-cli-scripts/
tag: Guía
- text: Rastreo de scripts de CLI PHP
+ text: Trazado de scripts CLI de PHP
- link: https://www.datadoghq.com/blog/monitor-php-performance/
tag: Blog
- text: Monitorización PHP con Datadog APM y rastreo distribuido
+ text: Monitoreo de PHP con Datadog APM y trazado distribuido
- link: https://github.com/DataDog/dd-trace-php
tag: Código fuente
- text: Código de origen
+ text: Código fuente
- link: https://github.com/DataDog/dd-trace-php/blob/master/CONTRIBUTING.md
tag: Código fuente
- text: Contribuir al proyecto de código abierto
+ text: Contribuyendo al proyecto de código abierto
- link: /tracing/glossary/
tag: Documentación
- text: Explorar tus servicios, recursos y trazas (traces)
+ text: Explora tus servicios, recursos y trazas
title: Rastreo de aplicaciones PHP
type: multi-code-lang
---
-## Requisitos de compatibilidad
+## Requisitos de compatibilidad {#compatibility-requirements}
-El requisito mínimo de versión de PHP para la última versión de `dd-trace-php` es PHP 7. Si estás utilizando PHP 5, puedes seguir utilizando el rastreador PHP hasta la versión [0.99](https://github.com/DataDog/dd-trace-php/releases/tag/0.99.0). PHP 5 es EOL a partir de la versión 1.0 de PHP biblioteca.
+El requisito mínimo de versión de PHP para la última versión de `dd-trace-php` es PHP 7. Si estás usando PHP 5, aún puedes usar el rastreador de PHP hasta la versión [0.99](https://github.com/DataDog/dd-trace-php/releases/tag/0.99.0). PHP 5 está al final de su vida útil desde la versión 1.0 de la biblioteca PHP.
-Para ver la lista completa de compatibilidad de versiones PHP y de frameworks de Datadog (incluidas las versiones heredadas y de mantenimiento), consulta la página de [requisitos de compatibilidad][1].
+Para una lista completa de la versión de PHP y el soporte de frameworks de Datadog (incluyendo versiones heredadas y de mantenimiento), consulta la página de [Requisitos de Compatibilidad][1].
-## Empezando
+## Comenzando {#getting-started}
-Antes de empezar, asegúrate de haber [instalado y configurado el Agent][14].
+Antes de comenzar, asegúrate de haber [instalado y configurado el Agente][14].
-### Instalación de la extensión
+### Instala la extensión {#install-the-extension}
Descarga el instalador oficial:
@@ -47,7 +47,7 @@ Descarga el instalador oficial:
curl -LO https://github.com/DataDog/dd-trace-php/releases/latest/download/datadog-setup.php
```
-Si utilizas Alpine Linux, debes instalar `libgcc_s` antes de ejecutar el instalador:
+En caso de que estés usando Alpine Linux, necesitas instalar `libgcc_s` antes de ejecutar el instalador:
```shell
apk add libgcc
@@ -70,96 +70,96 @@ php datadog-setup.php --php-bin=all --enable-profiling
```
-Nota: Solo APM es compatible con Windows. No uses las opciones --enable-appsec y --enable-profiling cuando rastreas aplicaciones PHP en Windows.
+Nota: Solo APM es compatible en Windows. No utilice el --enable-appsec y --enable-profiling banderas al rastrear aplicaciones PHP en Windows.
-Este comando instala la extensión a todos los binarios PHP que se encuentran en el host o el contenedor. Si `--PHP-bin` se omite, el instalador ejecuta el modo interactivo y pide al usuario que seleccione los binarios para la instalación. El valor de `--PHP-bin` puede ser una ruta a un binario específico en caso de que `dd-rastrear-PHP` sólo deba instalarse en dichos binarios.
+Este comando instala la extensión en todos los binarios de PHP encontrados en el host o contenedor. Si se omite `--php-bin`, el instalador se ejecuta en modo interactivo y le pide al usuario que seleccione los binarios para la instalación. El valor de `--php-bin` puede ser una ruta a un binario específico en caso de que `dd-trace-php` deba instalarse solo en dicho binario.
-Reinicia PHP (PHP-FPM o SAPI de Apache) y visita un endpoint de tu aplicación, habilitado para el rastreo. Para ver las trazas generadas, ve a la [página de trazas APM][4].
+Reinicie PHP (PHP-FPM o el SAPI de Apache) y visite un punto de conexión habilitado para trazado de su aplicación. Para ver las trazas generadas, vaya a la [página de trazas de APM][4].
-Cuando no especificas `--enable-appsec`, la extensión AppSec se carga poco después del inicio y no está activada por defecto. Se cortocircuita inmediatamente, causando una sobrecarga de rendimiento insignificante.
+Cuando no especifique `--enable-appsec`, la extensión de AppSec se carga brevemente al inicio y no está habilitada por defecto. Se interrumpe inmediatamente, causando una sobrecarga de rendimiento negligible.
-Pueden pasar algunos minutos hasta que aparezcan las trazas en la interfaz de usuario. Si las trazas siguen sin aparecer después de unos minutos, crea una página
phpinfo() desde la máquina host y desplázate hasta `ddtrace`. Los checks de diagnóstico fallidos aparecen en esta sección para ayudarte a identificar cualquier problema.
+Puede tardar unos minutos antes de que las trazas aparezcan en la interfaz de usuario. Si las trazas aún no aparecen después de unos minutos, cree un
phpinfo() página desde la máquina host y desplácese hacia abajo hasta el `ddtrace`. Las comprobaciones de diagnóstico fallidas aparecen en esta sección para ayudar a identificar cualquier problema.
Apache ZTS:
-Si el binario CLI PHP se ha creado como NTS (no seguro para subprocesos), mientras que Apache utiliza una versión ZTS (seguro para subprocesos Zend) de PHP, necesitas cambiar manualmente la carga de extensión del binario ZTS. Ejecuta /path/to/php-zts --ini para ver dónde se encuentra el archivo .ini de Datadog, y luego añade el sufijo -zts del nombre del archivo. Por ejemplo, de extension=ddtrace-20210902.so a extension=ddtrace-20210902-zts.so.
+Si el binario de PHP CLI se compila como NTS (no seguro para hilos), mientras que Apache utiliza una versión ZTS (segura para hilos de Zend) de PHP, necesita cambiar manualmente la carga de la extensión para el binario ZTS. Ejecutar /path/to/php-zts --ini encontrar dónde se encuentra el archivo de Datadog, luego agregar el .ini sufijo del nombre del archivo. -zts Por ejemplo, de a extension=ddtrace-20210902.so . extension=ddtrace-20210902-zts.soSELinux:
-SELinux:
-Si las políticas de SELinux httpd están configuradas en el host, la funcionalidad del rastreador puede verse limitada, a menos que la escritura y ejecución de archivos temporales esté explícitamente permitida en la configuración de SELinux:
+Si las políticas de SELinux de httpd están configuradas en el host, la funcionalidad del SDK puede estar limitada, a menos que se permita explícitamente la escritura y ejecución de archivos temporales en la configuración de SELinux:
+Si las políticas de SELinux de httpd están configuradas en el servidor, la funcionalidad del SDK puede estar limitada, a menos que se permita explícitamente la escritura y ejecución de archivos temporales en la configuración de SELinux.
`allow httpd_t httpd_tmpfs_t:file { execute execute_no_trans };`
-## Instrumentación automática
+## Instrumentación automática {#automatic-instrumentation}
-El rastreo se activa automáticamente por defecto. Una vez instalada la extensión, **ddtrace** rastrea tu aplicación y envía trazas al Agent.
+El trazado se habilita automáticamente por defecto. Una vez que la extensión está instalada, **ddtrace** traza su aplicación y envía trazas al Agente.
-Datadog es compatible con todos los frameworks de trabajo web listos para utilizar. La instrumentación automática funciona modificando el tiempo de ejecución de PHP para envolver ciertas funciones y métodos para rastrearlas. El rastreador PHP admite la instrumentación automática para varias bibliotecas.
+La instrumentación automática funciona modificando el entorno de ejecución de PHP para envolver ciertas funciones y métodos y así poder trazarlos. El rastreador de PHP admite instrumentación automática para varias bibliotecas. La instrumentación automática captura:
-Capturas de instrumentación automática:
+Tiempo de ejecución del método
-* Tiempo de ejecución del método
-* Datos de rastreo pertinentes, como códigos de respuesta URL y de estado para solicitudes web o consultas SQL para el acceso a bases de datos.
-* Excepciones no controladas, incluyendo trazas de stacks tecnológicos, si están disponibles
-* Recuento total de trazas (por ejemplo, solicitudes web) que circulan por el sistema
+* Datos de traza relevantes, como URL y códigos de respuesta de estado para solicitudes web o consultas SQL para acceso a bases de datos
+* Excepciones no controladas, incluidos los rastros de pila si están disponibles
+* Un conteo total de trazas (por ejemplo, solicitudes web) fluyendo a través del sistema
+* Configuración
-## Configuración
+## {#configuration}
-Si es necesario, configura la biblioteca de rastreo para enviar datos de telemetría del rendimiento de la aplicación, según tus necesidades, incluyendo la configuración del etiquetado unificado de servicios. Para obtener más detalles, consulta la [configuración de bibliotecas][6].
+Si es necesario, configure el SDK para enviar datos de telemetría de rendimiento de la aplicación según lo requiera, incluyendo la configuración de la Etiquetación de Servicio Unificada. Lea [Configuración de la Biblioteca][6] para más detalles.
-Para controlar la ingesta de trazas por servicio o recurso (incluido el uso de comodines en los nombres de los recursos), consulta [Control de la ingesta de trazas con muestreo basado en recursos][15].
+Para controlar la ingestión de trazas por servicio o recurso (incluyendo el uso de comodines en los nombres de recursos), consulte [Controlar la ingestión de trazas con muestreo basado en recursos][15].
-## Rastreo de scripts de CLI de corta y larga ejecución
+## Trazando scripts de CLI de corta y larga duración {#tracing-short-and-long-running-cli-scripts}
-Se requieren pasos adicionales para instrumentar scripts de CLI. Para obtener más información, consulta [Rastreo de scripts de CLI PHP][7].
+Se requieren pasos adicionales para instrumentar scripts de CLI. Lea [Traza de Scripts PHP CLI][7] para más información.
-## Actualización
+## Actualizando {#upgrading}
-Para actualizar el rastreador PHP, [descarga la última versión][5] y sigue los mismos pasos que para [instalar la extensión](#install-the-extension).
+Para actualizar el rastreador de PHP, [descargue la última versión][5] y siga los mismos pasos que [instalando la extensión](#install-the-extension).
-Una vez finalizada la instalación, reinicia PHP (PHP-FPM o SAPI de Apache).
+Una vez completada la instalación, reinicie PHP (PHP-FPM o el SAPI de Apache).
-**Nota**: Si estás utilizando caché de segundo nivel en OPcache configurando el parámetro `opcache.file_cache`, elimina la carpeta de caché.
+**Nota**: Si está utilizando caché de segundo nivel en OPcache configurando el parámetro `opcache.file_cache`, elimine la carpeta de caché.
-## Eliminación
+## Eliminando {#removing}
-Para eliminar el rastreador PHP:
+Para eliminar el rastreador de PHP:
-1. Para php-fpm, detén el servicio php-fpm, si no, detén el servidor web Apache.
-2. Desvincula los archivos `98-ddtrace.ini` y `99-ddtrace-custom.ini` de tu carpeta de configuración PHP.
-3. Para php-fpm, reinicia el servicio php-fpm, si no, reinicia el servidor web Apache.
+1. Para php-fpm, detenga el servicio php-fpm, de lo contrario, detenga el servidor web Apache.
+2. Desvincule los archivos `98-ddtrace.ini` y `99-ddtrace-custom.ini` de su carpeta de configuración de PHP.
+3. Para php-fpm, reinicie el servicio php-fpm, de lo contrario, reinicie el servidor web Apache.
-**Nota**: Si estás utilizando caché de segundo nivel en OPcache configurando el parámetro `opcache.file_cache`, elimina la carpeta de caché.
+**Nota**: Si está utilizando caché de segundo nivel en OPcache configurando el parámetro `opcache.file_cache`, elimine la carpeta de caché.
-## Solucionar problemas de fallos de una aplicación
+## Resolviendo un fallo de aplicación {#troubleshooting-an-application-crash}
-En el caso inusual de un fallo de la aplicación causado por el rastreador PHP, normalmente debido a un fallo de segmentación, lo mejor es lograr un volcado de núcleo o una traza Valgrind y ponerse en contacto con el servicio de asistencia de Datadog.
+En el inusual evento de un fallo de aplicación causado por el rastreador de PHP, típicamente debido a un fallo de segmentación, lo mejor que se puede hacer es obtener un volcado de núcleo o un trazo de Valgrind y contactar al soporte de Datadog.
-### Instalación de símbolos de depuración
+### Instalar símbolos de depuración {#install-debug-symbols}
-Para que los volcados de núcleo sean legibles, los símbolos de depuración de los binarios PHP deben estar instalados en el sistema que ejecuta PHP.
+Para que los volcados de núcleo sean legibles, los símbolos de depuración para los binarios de PHP deben estar instalados en el sistema que ejecuta PHP.
-Para comprobar si están instalados los símbolos de depuración para PHP o PHP-FPM, utiliza `gdb`.
+Para verificar si los símbolos de depuración están instalados para PHP o PHP-FPM, use `gdb`.
-Instala `gdb`:
+Instale `gdb`:
```
apt|yum install -y gdb
```
-Ejecuta `gdb` con el binario de interés. Por ejemplo, para PHP-FPM:
+Ejecute `gdb` con el binario de interés. Por ejemplo, para PHP-FPM:
```
gdb php-fpm
```
-Si el resultado de `gdb` contiene una línea similar al texto siguiente, entonces los símbolos de depuración ya están instalados.
+Si la salida de `gdb` contiene una línea similar al texto a continuación, entonces los símbolos de depuración ya están instalados.
```
...
@@ -167,7 +167,7 @@ Reading symbols from php-fpm...Reading symbols from /usr/lib/debug/path/to/some/
...
```
-Si el resultado de `gdb` contiene una línea similar al texto siguiente, entonces los símbolos de depuración deben instalarse.
+Si la salida de `gdb` contiene una línea similar al texto a continuación, entonces es necesario instalar los símbolos de depuración:
```
...
@@ -176,48 +176,48 @@ Reading symbols from php-fpm...(no debugging symbols found)...done.
```
-#### CentOS
+#### Centos {#centos}
-Instala el paquete `yum-utils` que proporciona el programa `debuginfo-install`:
+Instale el paquete `yum-utils` que proporciona el programa `debuginfo-install`:
```
yum install -y yum-utils
```
-Busca el nombre de paquete de tus binarios PHP. Puede variar dependiendo del método de instalación de PHP:
+Encuentre el nombre del paquete para sus binarios de PHP, puede variar dependiendo del método de instalación de PHP:
```
yum list installed | grep php
```
-Instala los símbolos de depuración. Por ejemplo, para el paquete `php-fpm` :
+Instale los símbolos de depuración. Por ejemplo, para el paquete `php-fpm`:
```
debuginfo-install -y php-fpm
```
-**Nota**: Si el repositorio que proporciona los binarios PHP no está habilitado por defecto, puede habilitarse al ejecutar el comando `debuginfo-install`. Por ejemplo:
+**Nota**: Si el repositorio que proporciona los binarios de PHP no está habilitado por defecto, se puede habilitar al ejecutar el comando `debuginfo-install`. Por ejemplo:
```
debuginfo-install --enablerepo=remi-php74 -y php-fpm
```
-#### Debian
+#### Debian {#debian}
-##### PHP instalado desde el DPA Debian Sury
+##### PHP instalado desde el DPA de Sury Debian {#php-installed-from-the-sury-debian-dpa}
-Si PHP se ha instalado desde el [DPA Debian Sury][8], los símbolos de depuración ya están disponibles en el DPA. Por ejemplo, para PHP-FPM 7.2:
+Si PHP fue instalado desde el [DPA de Sury Debian][8], los símbolos de depuración ya están disponibles desde el DPA. Por ejemplo, para PHP-FPM 7.2:
```
apt update
apt install -y php7.2-fpm-dbgsym
```
-##### PHP instalado desde un paquete diferente
+##### PHP instalado desde un paquete diferente {#php-installed-from-a-different-package}
-El proyecto Debian tiene una página wiki con las [instrucciones para instalar símbolos de depuración][9].
+El proyecto Debian mantiene una página wiki con [instrucciones para instalar símbolos de depuración][9].
-Edita el archivo `/etc/apt/sources.list`:
+Edite el archivo `/etc/apt/sources.list`:
```
# ... leave here all the pre-existing packages
@@ -227,13 +227,13 @@ Edita el archivo `/etc/apt/sources.list`:
deb http://deb.debian.org/debian-debug/ buster-debug main
```
-Actualiza `apt`:
+Actualizar `apt`:
```
apt update
```
-Prueba primero nombres canónicos de paquetes para los símbolos de depuración. Por ejemplo, si el nombre del paquete es `php7.2-fpm`, intenta:
+Intente nombres de paquetes canónicos para los símbolos de depuración, primero. Por ejemplo, si el nombre del paquete es `php7.2-fpm`, intenta:
```
apt install -y php7.2-fpm-dbgsym
@@ -243,29 +243,29 @@ apt install -y php7.2-fpm-dbgsym
apt install -y php7.2-fpm-dbg
```
-Si no encuentras símbolos de depuración, utiliza la herramienta `find-dbgsym-packages`. Instala el binario:
+Si no se pueden encontrar los símbolos de depuración, utiliza la herramienta de utilidad `find-dbgsym-packages`. Instala el binario:
```
apt install -y debian-goodies
```
-Intenta encontrar símbolos de depuración desde la ruta completa al binario o desde el identificador de procesos de un proceso en ejecución:
+Intenta encontrar los símbolos de depuración desde la ruta completa al binario o el id del proceso de un proceso en ejecución:
```
find-dbgsym-packages /usr/sbin/php-fpm7.2
```
-Instala el nombre de paquete resultante, si lo encuentras:
+Instala el nombre del paquete resultante, si se encuentra:
```
apt install -y php7.2-fpm-{package-name-returned-by-find-dbgsym-packages}
```
-#### Ubuntu
+#### Ubuntu {#ubuntu}
-##### PHP instalado desde `ppa:ondrej/php`
+##### PHP instalado desde `ppa:ondrej/php` {#php-installed-from-ppaondrejphp}
-Si PHP se ha instalado desde [`ppa:ondrej/php`][10], edita el archivo fuente apt `/etc/apt/sources.list.d/ondrej-*.list` añadiendo el componente `main/debug`.
+Si PHP fue instalado desde el [`ppa:ondrej/php`][10], edita el archivo de origen de apt `/etc/apt/sources.list.d/ondrej-*.list` añadiendo el componente `main/debug`.
Antes:
@@ -275,23 +275,23 @@ Después:
```deb http://ppa.launchpad.net/ondrej/php/ubuntu main main/debug```
-Actualiza e instale los símbolos de depuración. Por ejemplo, para PHP-FPM 7.2:
+Actualiza e instala los símbolos de depuración. Por ejemplo, para PHP-FPM 7.2:
```
apt update
apt install -y php7.2-fpm-dbgsym
```
-##### PHP instalado desde un paquete diferente
+##### PHP instalado desde un paquete diferente {#php-installed-from-a-different-package-1}
-Busca el nombre de paquete de tus binarios PHP. Puede variar dependiendo del método de instalación de PHP:
+Encuentre el nombre del paquete para sus binarios de PHP, puede variar dependiendo del método de instalación de PHP:
```
apt list --installed | grep php
```
-**Nota**: En algunos casos `php-fpm` puede ser un metapaquete que hace referencia al paquete real, por ejemplo `php7.2-fpm` en el caso de PHP-FPM 7.2. En este caso, el nombre de paquete es este último.
+**Nota**: En algunos casos `php-fpm` puede ser un metapaquete que se refiere al paquete real, por ejemplo `php7.2-fpm` en el caso de PHP-FPM 7.2. En este caso, el nombre del paquete es el último.
-Prueba primero nombres canónicos de paquetes para los símbolos de depuración. Por ejemplo, si el nombre del paquete es `php7.2-fpm`, intenta:
+Intente nombres de paquetes canónicos para los símbolos de depuración, primero. Por ejemplo, si el nombre del paquete es `php7.2-fpm`, intenta:
```
apt install -y php7.2-fpm-dbgsym
@@ -301,9 +301,9 @@ apt install -y php7.2-fpm-dbgsym
apt install -y php7.2-fpm-dbg
```
-Si los paquetes `-dbg` y `-dbgsym` no se pueden encontrar, habilita los respositorios `ddebs`. Para obtener información detallada sobre cómo [instalar símbolos de depuración][11] desde los `ddebs`, consulta la documentación de Ubuntu.
+Si no se pueden encontrar los paquetes `-dbg` y `-dbgsym`, habilita los repositorios `ddebs`. Se puede encontrar información detallada sobre cómo [instalar símbolos de depuración][11] desde el `ddebs` en la documentación de Ubuntu.
-Por ejemplo, para Ubuntu v18.04 y posterior, habilita el repositorio `ddebs`:
+Por ejemplo, para Ubuntu 18.04+, habilite el repositorio `ddebs`:
```
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | tee -a /etc/apt/sources.list.d/ddebs.list
@@ -311,7 +311,7 @@ echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe mu
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse" | tee -a /etc/apt/sources.list.d/ddebs.list
```
-Importa la clave de firma (asegúrate de que la [clave de firma es correcta][12]):
+Importe la clave de firma (asegúrese de que la [clave de firma sea correcta][12]):
```
apt install ubuntu-dbgsym-keyring
@@ -319,7 +319,7 @@ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys exited on signal 11 (SIGSEGV - core dumped) after seconds from start`.
- - Busca `(SIGSEGV)`, ya que un mensaje como éste indica que el núcleo no ha sido volcado: `WARNING: [pool www] child exited on signal 11 (SIGSEGV) after seconds from start`.
-1. Localiza el volcado de núcleo ejecutando `cat /proc/sys/kernel/core_pattern`. El valor por defecto suele ser `core`, lo que significa que se generará un archivo llamado `core` en la carpeta raíz de la web.
+1. Determine si PHP-FPM generó un volcado de núcleo revisando el registro de errores de la aplicación:
+ - Busque `(SIGSEGV - core dumped)` porque un mensaje como este significa que se ha volcado: `WARNING: [pool www] child exited on signal 11 (SIGSEGV - core dumped) after seconds from start`.
+ - Busque `(SIGSEGV)` porque un mensaje como este indica que el núcleo no fue volcado: `WARNING: [pool www] child exited on signal 11 (SIGSEGV) after seconds from start`.
+1. Localice el volcado de núcleo ejecutando `cat /proc/sys/kernel/core_pattern`. El valor predeterminado es típicamente `core`, lo que significa que se generará un archivo llamado `core` en la carpeta raíz del servidor web.
-Si no se ha generado ningún volcado de núcleo, comprueba las siguientes configuraciones y cámbielas, si es necesario:
+Si no se generó un volcado de núcleo, verifique las siguientes configuraciones y cámbielas según sea necesario:
-1. Si `/proc/sys/kernel/core_pattern` contiene una ruta que incluye directorios anidados, asegúrate de que existe la ruta completa del directorio.
-1. Si el usuario que ejecuta el pool de trabajadores PHP-FPM no es `root` (un nombre de usuario común es `www-data`), proporciónale permisos de escritura en el directorio de volcados de núcleo.
-1. Asegúrate de que el valor de `/proc/sys/fs/suid_dumpable` no es `0`. Configúralo en `1` o `2`, a menos que ejecutes pool de trabajadores PHP-FPM como `root`. Consulta tus opciones con el administrador del sistema.
-1. Asegúrate de que tienes un `rlimit_core` adecuado en la sección de configuración del pool PHP-FPM. Puedes configurarlo como ilimitado: `rlimit_core = unlimited`.
-1. Asegúrate de que dispones de un conjunto `ulimit` en tu sistema. Puedes configurarlo como ilimitado: `ulimit -c unlimited`.
-1. Si tu aplicación se ejecuta en un contenedor Docker, los cambios en `/proc/sys/*` deben realizarse en la máquina host. Ponte en contacto con el administrador del sistema para conocer las opciones disponibles. Si puedes, intenta recrear la incidencia en tus entornos de test o de staging.
+1. Si `/proc/sys/kernel/core_pattern` contiene una ruta que incluye directorios anidados, asegúrese de que la ruta completa del directorio exista.
+1. Si el usuario que ejecuta los trabajadores del grupo PHP-FPM es algo diferente a `root` (un nombre de usuario común es `www-data`), otorgue a ese usuario permisos de escritura en el directorio de volcados de núcleo.
+1. Asegúrese de que el valor de `/proc/sys/fs/suid_dumpable` no sea `0`. Establezca el valor en `1` o `2` a menos que ejecute el grupo de trabajadores PHP-FPM como `root`. Consulte sus opciones con su administrador del sistema.
+1. Asegúrese de tener un `rlimit_core` adecuado en la sección de configuración del grupo PHP-FPM. Puede establecerlo en ilimitado: `rlimit_core = unlimited`.
+1. Asegúrese de tener un `ulimit` adecuado configurado en su sistema. Puede configurarlo como ilimitado: `ulimit -c unlimited`.
+1. Si su aplicación se ejecuta en un contenedor Docker, los cambios en `/proc/sys/*` deben realizarse en la máquina host. Contacte a su administrador del sistema para conocer las opciones disponibles para usted. Si puede, intente recrear la incidencia en sus entornos de prueba o de preparación.
-### Obtener un volcado de núcleo desde dentro de un contenedor Docker
+### Obteniendo un volcado de núcleo desde dentro de un contenedor Docker {#obtaining-a-core-dump-from-within-a-docker-container}
-Utiliza la siguiente información para ayudarte a obtener un volcado de núcleo en un contenedor Docker:
+Utilice la información a continuación para ayudar a obtener un volcado de núcleo en un contenedor Docker:
+
+1. El contenedor Docker necesita ejecutarse como un contenedor privilegiado, y el valor `ulimit` para los archivos de núcleo debe establecerse en su máximo, como se muestra en los ejemplos a continuación.
+ - Si usa el comando `docker run`, agregue los argumentos `--privileged` y `--ulimit core=99999999999`
+ - Si usa `docker compose`, agregue lo siguiente al archivo `docker-compose.yml`:
-1. El contenedor Docker necesita ejecutarse como contenedor privilegiado y el valor `ulimit` para los archivos del núcleo necesita ser ajustado a su máximo, como se muestra en los siguientes ejemplos.
- - Si utilizas el comando `docker run`, añade los argumentos `--privileged` y `--ulimit core=99999999999`.
- - Si utilizas `docker compose`, añade los siguiente al archivo `docker-compose.yml`:
```yaml
privileged: true
ulimits:
core: 99999999999
```
-2. Cuando ejecutes el contenedor (y antes de iniciar la aplicación PHP), debes ejecutar los siguientes comandos:
+2. Al ejecutar el contenedor (y antes de iniciar la aplicación PHP) debe ejecutar los siguientes comandos:
+
```
ulimit -c unlimited
echo '/tmp/core' > /proc/sys/kernel/core_pattern
echo 1 > /proc/sys/fs/suid_dumpable
```
-### Obtener una traza Valgrind
+### Obteniendo una traza de Valgrind {#obtaining-a-valgrind-trace}
-Para obtener más detalles sobre el fallo, ejecuta la aplicación con Valgrind. A diferencia de los volcados de núcleo, este método siempre opera en un contenedor sin privilegios.
+Para obtener más detalles sobre el fallo, ejecute la aplicación con Valgrind. A diferencia de los volcados de núcleo, este enfoque siempre funciona en un contenedor no privilegiado.
-Nota: Una aplicación que se ejecuta a través de Valgrind es órdenes de magnitud más lenta que cuando se ejecuta de forma nativa. Este método se recomienda para entornos que no sean de producción.
+Nota: Una aplicación que se ejecuta a través de Valgrind es órdenes de magnitud más lenta que cuando se ejecuta de forma nativa. Este método se recomienda para entornos no productivos.
-Instala Valgrind con tu gestor de paquetes. Ejecuta la aplicación con Valgrind lo suficiente para generar unas cuantas solicitudes.
+Instale Valgrind con su gestor de paquetes. Ejecute la aplicación con Valgrind lo suficiente como para generar algunas solicitudes.
-For a CLI application, run:
+Para una aplicación CLI, ejecute:
{{< code-block lang=shell >}}
USE_ZEND_ALLOC=0 valgrind -- php path/to/script.php
{{< /code-block >}}
-When running `php-fpm` run:
+Al ejecutar `php-fpm`, ejecute:
{{< code-block lang="shell" >}}
USE_ZEND_ALLOC=0 valgrind --trace-children=yes -- php-fpm -F --fpm-config
{{< /code-block >}}
-When using Apache, run:
+Al usar Apache, ejecute:
{{< code-block lang="shell" >}}
(. /etc/apache2/envvars; USE_ZEND_ALLOC=0 valgrind --trace-children=yes -- apache2 -X)`
{{< /code-block >}}
-La traza de Valgrind resultante se imprime por defecto en el error estándar. Para imprimir en un destino diferente, consulta la [documentación oficial][13]. El resultado esperado es similar al ejemplo siguiente para un proceso PHP-FPM:
+La traza de Valgrind resultante se imprime por defecto en el error estándar, consulte la [documentación oficial][13] para imprimir en un destino diferente. La salida esperada es similar al ejemplo a continuación para un proceso PHP-FPM:
```
==322== Conditional jump or move depends on uninitialised value(s)
@@ -448,32 +450,32 @@ La traza de Valgrind resultante se imprime por defecto en el error estándar. Pa
==322== ERROR SUMMARY: 18868 errors from 102 contexts (suppressed: 0 from 0)
```
-### Obtener un strace
+### Obteniendo un strace {#obtaining-a-strace}
-Algunos problemas son causados por factores externos, por lo que puede ser valioso disponer de un `strace`.
+Algunos problemas son causados por factores externos, por lo que puede ser valioso tener un `strace`.
-Nota: Una aplicación que se ejecuta a través de strace es órdenes de magnitud más lenta que cuando se ejecuta de forma nativa. Este método se recomienda para entornos que no sean de producción.
+Nota: Una aplicación que se ejecuta a través de strace es órdenes de magnitud más lenta que cuando se ejecuta de forma nativa. Este método se recomienda para entornos no productivos.
-Instala el `strace` con tu gestor de paquetes. Cuando generes un `strace` para enviarlo al servicio de asistencia de Datadog, asegúrate de utilizar la opción `-f` para seguir a procesos secundarios.
+Instale `strace` con su gestor de paquetes. Al generar un `strace` para enviar al soporte de Datadog, asegúrese de usar la opción `-f` para seguir los procesos secundarios.
-Para una aplicación de CLI, ejecuta:
+Para una aplicación CLI, ejecute:
{{< code-block lang="shell" >}}
strace -f php path/to/script.php
{{< /code-block >}}
Para `php-fpm`, ejecute:
{{< code-block lang="shell" >}}
-strace -f PHP-fpm -F --fpm-config
+strace -f php-fpm -F --fpm-config
{{< /code-block >}}
-Para Apache, ejecuta:
+Para Apache, ejecute:
{{< code-block lang="shell" >}}
(. /etc/apache2/envvars; strace -f apache2 -X)
{{< /code-block >}}
-## Referencias adicionales
+## Lectura adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
diff --git a/content/es/tracing/trace_pipeline/ingestion_controls.md b/content/es/tracing/trace_pipeline/ingestion_controls.md
index e2afcb75496..a3c86165ee0 100644
--- a/content/es/tracing/trace_pipeline/ingestion_controls.md
+++ b/content/es/tracing/trace_pipeline/ingestion_controls.md
@@ -6,145 +6,144 @@ aliases:
- /es/tracing/app_analytics/
- /es/tracing/guide/ingestion_control_page/
- /es/tracing/trace_ingestion/ingestion_controls
-description: Aprende a controlar las velocidades de consumo con APM.
+description: Aprende a controlar las tasas de ingestión con APM.
further_reading:
- link: /tracing/trace_pipeline/ingestion_mechanisms/
tag: Documentación
- text: Mecanismos de consumo
+ text: Mecanismos de Ingestión
- link: /tracing/trace_pipeline/metrics/
tag: Documentación
- text: Métricas de uso
-title: Controles del consumo
+ text: Métricas de Uso
+title: Controles de Ingestión
---
+{{< img src="tracing/apm_lifecycle/ingestion_sampling_rules.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Reglas de Muestreo de Ingestión" >}}
-{{< img src="tracing/apm_lifecycle/ingestion_sampling_rules.png" style="width:100%; background:none; border:none; box-shadow:none;" alt="Reglas para el muestreo del consumo" >}}
+Los controles de ingestión afectan qué trazas son enviadas por tus aplicaciones a Datadog. Las [Métricas de APM][1] siempre se calculan en función de todas las trazas y no se ven afectadas por los controles de ingestión.
-Los controles de ingesta afectan a qué trazas envían tus aplicaciones a Datadog. Las [métricas de APM][1] siempre se calculan basándose en todas las trazas y no se ven afectadas por los controles de ingesta.
+La página de Ingestion Control proporciona visibilidad sobre la configuración de ingestión de tus aplicaciones y servicios. Desde la [página de Ingestion Control][2]:
-La página de Ingestion Control proporciona visibilidad de la configuración de ingesta de tus aplicaciones y servicios. Desde la [página de Ingestion Control][2]:
+- Obtén visibilidad sobre la configuración de ingestión a nivel de servicio.
+- Ajusta las tasas de muestreo de trazas para servicios o puntos finales de alto rendimiento para gestionar mejor el presupuesto de ingestión.
+- Ajusta las tasas de muestreo de trazas para servicios o puntos finales de bajo rendimiento y tráfico raro para aumentar la visibilidad.
+- Entiende cuáles [mecanismos de ingestión][11] son responsables de muestrear la mayoría de tus trazas.
+- Investiga y actúa sobre posibles problemas de configuración de ingestión, como recursos limitados de CPU o RAM para el Agente.
-- Obtén visibilidad de tu configuración de ingesta a nivel de servicio.
-- Ajusta las tasas de muestreo de traza para los endpoints o servicios de alto rendimiento con el fin de gestionar mejor el presupuesto de ingesta.
-- Ajusta las tasas de muestreo de trazas en caso de bajo rendimiento, servicios de tráfico poco frecuente o endpoints para aumentar la visibilidad.
-- Comprende qué [mecanismos de ingesta][11] son responsables de la toma de muestras de la mayor parte de tus trazas.
-- Investigar y actuar ante posibles problemas de configuración del consumo, como recursos limitados de la CPU o la RAM para el Agent.
+{{< img src="tracing/trace_indexing_and_ingestion/ingestion_control_page.png" style="width:100%;" alt="Descripción General de la Página de Control de Ingestión" >}}
-{{< img src="tracing/trace_indexing_and_ingestion/ingestion_control_page.png" style="width:100%;" alt="Información general de la página de Ingestion Control" >}}
+## Entendiendo tu configuración de ingestión {#understanding-your-ingestion-configuration}
-## Comprender tu configuración de ingesta
+Utiliza los datos en el encabezado de control de ingestión para monitorear tu ingestión de trazas. El encabezado muestra la cantidad total de datos ingeridos en la última hora, tu uso mensual estimado y el porcentaje de tu límite mensual de ingestión asignado, calculado en función de tu infraestructura activa de APM (como hosts, tareas de Fargate y funciones sin servidor).
-Utiliza los datos del encabezado de control de ingesta para monitorizar tu ingesta de trazas. El encabezado muestra la cantidad total de datos ingeridos durante la última hora, tu uso mensual estimado y el porcentaje de tu límite de ingesta mensual asignado, calculado en función de tu infraestructura activa de APM (como hosts, tareas de Fargate y funciones sin servidor).
+Si el uso mensual está por debajo de `100%`, los datos ingeridos proyectados se ajustan dentro de tu asignación mensual. Un valor de uso mensual superior a `100%` significa que se proyecta que los datos ingeridos mensualmente superen su asignación mensual.
-Si el uso mensual es inferior a `100%`, los datos ingeridos proyectados se ajustan a tu asignación mensual. Un valor de uso mensual superior a `100%` significa que se prevé que los datos mensuales ingeridos superen tu asignación mensual.
+### Niveles de ingestión por servicio {#ingestion-levels-by-service}
-### Niveles de ingesta por servicio
-
-La tabla de servicios contiene información sobre los volúmenes consumidos y la configuración del consumo, desglosada por servicio:
+La tabla de servicios contiene información sobre los volúmenes ingeridos y la configuración de ingestión, desglosada por servicio:
Tipo
: El tipo de servicio: servicio web, base de datos, caché, navegador, etc...
Nombre
-: El nombre de cada servicio que envía trazas a Datadog. La tabla contiene servicios raíz y no raíz para los que se consumieron datos en la última hora.
+: El nombre de cada servicio que envía trazas a Datadog. La tabla contiene servicios raíz y no raíz para los cuales se ingirió datos en la última hora.
-Trazas/s consumidas
-: Número promedio de trazas por segundo consumidas partiendo del servicio durante la última hora.
+Trazas ingeridas/s
+: Número promedio de trazas por segundo ingeridas desde el servicio en la última hora.
-Bytes/s ingeridos
-: número medio de bytes por segundo ingeridos en servicio durante la última hora.
+Bytes ingeridos/s
+: Número promedio de bytes por segundo ingeridos para el servicio en la última hora.
-Bytes/s de bajada
-: número medio de bytes por segundo ingeridos para los que el servicio _toma la decisión de muestreo_. Esto incluye los bytes de todos los tramos de servicio descendentes en el stack tecnológico de llamadas que siguen a la decisión tomada en el encabezado de la traza. Los datos de esta columna se basan en la dimensión `sampling_service`, establecida en las métricas `datadog.estimated_usage.apm.ingested_bytes`. Para obtener más información, lee [métricas de uso de APM][15].
+Bytes descendentes/s
+: Número promedio de bytes por segundo ingeridos para los cuales el servicio _toma la decisión de muestreo_. Esto incluye los bytes de todos los spans de servicios descendentes en la pila de llamadas que siguen la decisión tomada al inicio de la traza. Los datos de esta columna se basan en la dimensión `sampling_service`, establecida en las métricas `datadog.estimated_usage.apm.ingested_bytes`. Para más información, lea [métricas de uso de APM][15].
Desglose del tráfico
-: Un desglose detallado del tráfico muestreado y no muestreado para trazas partiendo del servicio. Consulta [Desglose del tráfico](#traffic-breakdown) para obtener más información.
+: Un desglose detallado del tráfico muestreado y no muestreado para trazas que comienzan desde el servicio. Vea [Desglose del tráfico](#traffic-breakdown) para más información.
-Configuración de ingesta
-: muestra `Automatic` si se aplica el [mecanismo de muestreo por defecto basado en encabezados][4] del Agent. Si la ingesta se configuró con [reglas de muestreo de trazas][8], el servicio se marca como `Configured`; se establece una etiqueta `Local` cuando la regla de muestreo se aplica desde la configuración en la biblioteca de rastreo, se establece una etiqueta `Remote` cuando la regla de muestreo se aplica de forma remota, desde la interfaz de usuario. Para obtener más información sobre la configuración de la ingesta para un servicio, lee sobre [cambiar la tasa de ingesta predeterminada](#configure-the-service-ingestion-rate).
+Configuración de Ingesta
+: Muestra `Automatic` si el [mecanismo de muestreo basado en el encabezado por defecto][4] del Datadog Agent se aplica. Si la ingesta fue configurada con [reglas de muestreo de trazas][8], el servicio se marca como `Configured`; se establece una etiqueta `Local` cuando la regla de muestreo se aplica desde la configuración en el SDK, y se establece una etiqueta `Remote` cuando la regla de muestreo se aplica de forma remota, desde la interfaz de usuario. Para más información sobre cómo configurar la ingesta para un servicio, lee sobre [cambiar la tasa de ingesta por defecto](#configure-the-service-ingestion-rate).
Infraestructura
-: Hosts, contenedores y funciones en los cuales se ejecuta el servicio.
+: Hosts, contenedores y funciones en los que se está ejecutando el servicio.
Estado del servicio
-: Muestra `Limited Resource` cuando se descartan algunos tramos debido a que el Datadog Agent alcanza los límites de la CPU o de la RAM configurados [en su configuración][9], `Legacy Setup` cuando algunos tramos se consumen a través del [mecanismo de App Analytics][7] legacy o `OK` de otro modo.
+: Muestra `Limited Resource` cuando algunos spans son descartados debido a que el Datadog Agent alcanza los límites de CPU o RAM establecidos [en su configuración][9], `Legacy Setup` cuando algunos spans son ingeridos a través del antiguo [mecanismo de App Analytics][7], o `OK` de otra manera.
-Filtra la página por el entorno, la configuración y el estado para ver los servicios para los cuales necesitas tomar una decisión. Para reducir el volumen del consumo global, ordena la tabla por la columna `Downstream Bytes/s` para ver los servicios responsables de la mayor parte de tu consumo.
+Filtra la página por entorno, configuración y estado para ver los servicios para los cuales necesitas tomar una acción. Para reducir el volumen global de ingesta, ordena la tabla por la `Downstream Bytes/s` columna para ver los servicios responsables de la mayor parte de tu ingesta.
-**Nota**: La tabla tiene la tecnología de las [métricas de uso][10] `datadog.estimated_usage.apm.ingested_spans` y `datadog.estimated_usage.apm.ingested_bytes`. Estas métricas están etiquetadas por `service`, `env` y `ingestion_reason`.
+**Nota**: La tabla está alimentada por las [métricas de uso][10] `datadog.estimated_usage.apm.ingested_spans` y `datadog.estimated_usage.apm.ingested_bytes`. Estas métricas están etiquetadas por `service`, `env` y `ingestion_reason`.
-#### Desglose del tráfico
+#### Desglose de tráfico {#traffic-breakdown}
-La columna Desglose del tráfico desglosa el destino de todas las trazas a partir del servicio. Te ofrece una estimación de la parte del tráfico que se ingiere y se abandona, y por qué motivos.
+La columna de Desglose de Tráfico desglosa el destino de todas las trazas que comienzan desde el servicio. Te da una estimación de la parte del tráfico que es ingerido y descartado, y por qué razones.
-{{< img src="tracing/trace_indexing_and_ingestion/service_traffic_breakdown.png" style="width:100%;" alt="Desglose del tráfico del consumo de trazas" >}}
+{{< img src="tracing/trace_indexing_and_ingestion/service_traffic_breakdown.png" style="width:100%;" alt="Desglose de tráfico de la ingesta de trazas" >}}
El desglose se compone de las siguientes partes:
-- **Trazas completas consumidas** (azul): El porcentaje de las trazas consumidas por Datadog.
-- **Trazas completas no retenidas** (gris): el porcentaje de trazas que no han sido ingeridas por Datadog. Algunas trazas pueden ser descartadas porque:
+- **Trazas completas ingeridas** (azul): El porcentaje de trazas que han sido ingeridas por Datadog.
+- **Trazas completas no retenidas** (gris): El porcentaje de trazas que no han sido ingeridas por Datadog. Algunas trazas pueden ser descartadas porque:
- 1. Por defecto, el [Agent establece automáticamente una tasa de muestreo][4] en servicios, en función del tráfico de servicio.
- 2. El servicio está configurado para ingerir un determinado porcentaje de trazas mediante [reglas de muestreo][8].
+ 1. Por defecto, el [Agente establece automáticamente una tasa de muestreo][4] en los servicios, dependiendo del tráfico del servicio.
+ 2. El servicio está configurado para ingerir un cierto porcentaje de trazas utilizando [reglas de muestreo][8].
-- **Trazas completas eliminadas por el limitador de tasa del rastreador** (naranja): cuando eliges establecer manualmente la tasa de ingesta de servicio como un porcentaje con las reglas de muestreo de trazas, se habilita automáticamente un limitador de tasa, establecido en 100 trazas por segundo de forma predeterminada. Consulta la documentación [limitador de tasa][8] para cambiar esta tasa.
+- **Trazas completas descartadas por el limitador de tasa del SDK** (naranja): Cuando eliges establecer manualmente la tasa de ingesta del servicio como un porcentaje con reglas de muestreo de trazas, un limitador de tasa se habilita automáticamente, configurado por defecto a 100 trazas por segundo. Consulta la documentación del [limitador de tasa][8] para cambiar esta tasa.
-- **Trazas descartadas debido al límite de la CPU o la RAM del Agent** (rojo): Con este mecanismo se pueden descartar tramos y crear trazas incompletas. Para solucionarlo, aumenta la asignación de la CPU y la memoria para la infraestructura en la cual se ejecuta el Agent.
+- **Trazas descartadas debido al límite de CPU o RAM del Agente** (rojo): Este mecanismo puede descartar tramos y crear trazas incompletas. Para solucionar esto, aumenta la asignación de CPU y memoria para la infraestructura en la que se ejecuta el Agente.
-## Configuración de la ingesta para un servicio
+## Configurando la ingestión para un servicio {#configuring-ingestion-for-a-service}
-Haz clic en servicio para ver el resumen de ingesta de servicio, que ofrece información práctica y opciones de configuración para gestionar la ingestión de trazas del servicio.
+Haz clic en cualquier servicio para ver el Resumen de Ingestión del Servicio, que proporciona información útil y opciones de configuración para gestionar la ingestión de trazas de ese servicio.
-### Configuración de ingesta para un servicio
+### Configuración de ingestión para un servicio {#ingestion-configuration-for-a-service}
-#### Tasas de muestreo por recurso
+#### Tasas de muestreo por recurso {#sampling-rates-by-resource}
-La tabla enumera las tasas de muestreo aplicadas por recurso del servicio.
+La tabla lista las tasas de muestreo aplicadas por recurso del servicio.
{{< img src="/tracing/trace_indexing_and_ingestion/resource_sampling_rates.png" alt="Tabla de tasas de muestreo por recurso" style="width:100%;">}}
-- La columna `Ingested bytes` muestra los bytes ingeridos de tramos (spans) del servicio y el recurso, mientras que la columna `Downstream bytes` muestra los bytes ingeridos desde tramos en los que la decisión de muestreo se toma a partir de ese servicio y recurso, incluidos los bytes de los servicios de descarga en la cadena de llamadas.
-- La columna `Configuration` muestra desde dónde se está aplicando la frecuencia de muestreo de recursos:
- - `Automatic` si se aplica el [mecanismo de muestreo por defecto basado en el encabezado][4] del Agent.
- - `Local Configured` si se ha establecido localmente una [regla de muestreo][8] en la biblioteca de rastreo.
- - `Remote Configured` si se ha configurado una regla de muestreo remota desde la interfaz de usuario de Datadog. Para saber cómo configurar reglas de muestreo desde la página de Ingestion Control, lee la sección sobre [configuración remota de reglas de muestreo](#configure-the-service-ingestion-rates-by-resource).
+- La columna `Ingested bytes` muestra los bytes ingeridos de los tramos del servicio y recurso, mientras que la columna `Downstream bytes` muestra los bytes ingeridos de los tramos donde se toma la decisión de muestreo comenzando desde ese servicio y recurso, incluyendo bytes de servicios descendentes en la cadena de llamadas.
+- La columna `Configuration` muestra de dónde se está aplicando la tasa de muestreo del recurso:
+ - `Automatic` si se aplica el [mecanismo de muestreo basado en cabeza por defecto][4] del Agente.
+ - `Local Configured` si se estableció una [regla de muestreo][8] localmente en el SDK.
+ - `Remote Configured` si se estableció una regla de muestreo remota desde la interfaz de usuario de Datadog. Para aprender a configurar reglas de muestreo desde la página de Control de Ingestión, lee la sección sobre [configuración remota de reglas de muestreo](#configure-the-service-ingestion-rates-by-resource).
-**Nota**: Si el servicio no toma decisiones de muestreo, los recursos de servicio se colapsarán bajo la fila `Resources not making sampling decisions`.
+**Nota**: Si el servicio no está tomando decisiones de muestreo, los recursos del servicio se colapsarán bajo la fila `Resources not making sampling decisions`.
-**Nota**: En periodos cortos (1-4 horas), la tasa de muestreo efectiva puede mostrarse por debajo del 100 % incluso cuando está configurada al 100 %. Este es un comportamiento esperado debido a los cálculos estadísticos que necesitan más puntos de datos para converger. Todas las trazas se siguen capturando correctamente. Para una visualización más precisa, consulta las tasas de muestreo en periodos más largos.
+**Nota**: En intervalos de tiempo cortos (1-4 horas), la Tasa de Muestreo Efectiva puede mostrar menos del 100% incluso cuando está configurada al 100%. Este es un comportamiento esperado debido a cálculos estadísticos que necesitan más puntos de datos para converger. Todos los rastros aún se están capturando correctamente. Para la visualización más precisa, observe las tasas de muestreo durante períodos de tiempo más largos.
-#### Motivos de ingesta y responsables del muestreo
+#### Razones de ingestión y tomadores de decisiones de muestreo {#ingestion-reasons-and-sampling-decision-makers}
-Explora el **Desglose de motivos del consumo** para ver qué mecanismos son responsables del consumo de tu servicio. Cada motivo del consumo está relacionado con un [mecanismo de consumo][11] específico. Después de cambiar tu configuración del consumo del servicio, puedes observar el aumento o la disminución de los bytes y tramos consumidos en esta gráfica de series temporales basado en los datos consumidos en la última hora.
+Explore el **desglose de razones de ingestión** para ver qué mecanismos son responsables de la ingestión de su servicio. Cada razón de ingestión se relaciona con un mecanismo de ingestión específico [mecanismo de ingestión][11]. Después de cambiar la configuración de ingestión de su servicio, puede observar el aumento o disminución de bytes y tramos ingeridos en este gráfico de series temporales basado en la última hora de datos ingeridos.
-Si la mayor parte de tu volumen de consumo del servicio se debe a decisiones tomadas por servicios upstream, investiga el detalle de la lista principal de los **Tomadores de decisiones de muestreo**. Por ejemplo, si tu servicio es no raíz, (lo que significa que **nunca decide** muestrear trazas), observa todos los servicios upstream responsables de tu consumo del servicio no raíz. Configura los servicios raíz upstream para reducir tu volumen total de consumo.
+Si la mayor parte del volumen de ingestión de su servicio se debe a decisiones tomadas por servicios ascendentes, investigue el detalle de la lista de los **tomadores de decisiones de muestreo**. Por ejemplo, si su servicio no es raíz (es decir, que **nunca decide** muestrear trazas), observe todos los servicios ascendentes responsables de la ingestión de ese servicio. Configure los servicios raíz ascendentes para reducir su volumen total de ingestión.
-Para investigar más a fondo, utiliza [APM Trace - Dashboard de uso estimado][12], que ofrece información sobre el consumo global, así como gráficas de desglose por el `service`, la `env` y el `ingestion reason`.
+Para investigaciones adicionales, utilice el [tablero de Uso Estimado de APM traza][12], que proporciona información global de ingestión así como gráficos de desglose por `service`, `env` y `ingestion reason`.
-#### Versiones del Agent y de las bibliotecas de rastreo
+#### Versiones de Datadog Agent y SDK {#agent-and-sdk-versions}
-Consulta las versiones del **Datadog Agent y de las bibliotecas de rastreo** que utiliza tu servicio. Compara las versiones en uso con las últimas versiones publicadas para asegurarte de estar ejecutando Agents y bibliotecas actualizadas.
+Vea las **versiones de Datadog Agent y SDK** que su servicio está utilizando. Compare las versiones en uso con las versiones más recientes lanzadas para asegurarse de que está utilizando Datadog Agents y bibliotecas recientes y actualizadas.
-{{< img src="tracing/trace_indexing_and_ingestion/agent_tracer_version.png" style="width:90%;" alt="Versiones del Agent y de las bibliotecas de rastreo" >}}
+{{< img src="tracing/trace_indexing_and_ingestion/agent_tracer_version.png" style="width:90%;" alt="Versiones de Agente y SDK" >}}
-### Gestión de las tasas de muestreo de los servicios
+### Gestionando las tasas de muestreo de los servicios {#managing-services-sampling-rates}
-Para controlar las tasas de muestreo de un servicio, es posible que desees utilizar:
-- **Muestreo adaptativo**: ajusta automáticamente las tasas de muestreo para que coincidan con un presupuesto de volumen de ingesta mensual configurado.
-- **Muestreo basado en recursos**: establece manualmente tasas de muestreo explícitas por recurso.
+Para controlar las tasas de muestreo de un servicio, puede que desee utilizar:
+- **Muestreo adaptativo**: Ajustar automáticamente las tasas de muestreo para coincidir con un presupuesto de volumen de ingestión mensual configurado.
+- **Muestreo basado en recursos**: Establecer manualmente tasas de muestreo explícitas por recurso.
-Las configuraciones de estas estrategias pueden aplicarse **de forma remota** a través de la interfaz de usuario de Datadog. Este método permite que los cambios surtan efecto inmediatamente sin necesidad de volver a desplegar el servicio. Para el **muestreo basado en recursos**, también tienes la opción de aplicar las configuraciones **localmente** actualizando los archivos de configuración de tu servicio y volviendo a desplegarlo.
+Las configuraciones para estas estrategias se pueden aplicar **Remotamente** a través de la interfaz de usuario de Datadog. Este método permite que los cambios surtan efecto de inmediato sin necesidad de volver a implementar su servicio. Para **Muestreo basado en recursos**, también tiene la opción de aplicar configuraciones **localmente** actualizando los archivos de configuración de su servicio y volviendo a implementar.
-El uso de **Remote Configuration** para las tasas de ingesta de servicios tiene requisitos específicos.
+El uso de **Configuración Remota** para las tasas de ingestión del servicio tiene requisitos específicos.
-{{% collapse-content title="Requisitos de Remote Configuration" level="h4" expanded="false" id="remote-configuration-requirements" %}}
+{{% collapse-content title="Requisitos de Configuración Remota" level="h4" expanded="false" id="remote-configuration-requirements" %}}
-- Datadog Agent [7.41.1][19] o posterior.
-- [Configuración remota][3] activada para tu Agent.
-- [Permisos] `APM Remote Configuration Write`[20]. Si no tienes estos permisos, pide a tu administrador de Datadog que actualice tus permisos desde Parámetros de organización.
+- Datadog Agent [7.41.1][19] o superior.
+- [Configuración Remota][3] habilitada para su Datadog Agent.
+- `APM Remote Configuration Write` [permisos][20]. Si no tiene estos permisos, pida a su administrador de Datadog que actualice sus permisos desde la configuración de su organización.
-A continuación, se indica la versión mínima de biblioteca de rastreo necesaria para esta función:
+Encuentre a continuación la versión mínima del SDK requerida para la función:
-| Lenguaje | Versión mínima requerida |
+| Idioma | Versión mínima requerida |
|----------|--------------------------|
| Java | v1.34.0 |
| Go | v1.64.0 |
@@ -157,93 +156,93 @@ A continuación, se indica la versión mínima de biblioteca de rastreo necesari
{{% /collapse-content %}}
-#### Muestreo adaptativo
+#### Muestreo adaptativo {#adaptive-sampling}
-Utiliza el muestreo adaptativo para que Datadog gestione las tasas de muestreo de los servicios en tu nombre. Especifica un volumen de ingesta mensual objetivo para uno o varios servicios sin perder de vista todos los servicios y endpoints.
+Utiliza el muestreo adaptativo para permitir que Datadog gestione las tasas de muestreo de los servicios en tu nombre. Especifica un volumen de ingestión mensual objetivo para uno o varios servicios mientras mantienes visibilidad sobre todos los servicios y puntos de conexión.
Para configurar el muestreo adaptativo:
-1. Navega hasta la página [Ingestion Control][2].
-2. Haz clic en un servicio para ver el **Service Ingestion Summary** (Resumen de ingesta de servicios).
-3. Haz clic en **Manage Ingestion Rate** (Gestionar tasa de ingesta).
-4. Elige **Datadog adaptive sampling rates** (Tasas de muestreo adaptativo de Datadog) como estrategia de muestreo de tu servicio.
-5. Haz clic en **Apply** (Aplicar).
+1. Navega a la página de [Ingestion Control][2].
+2. Haz clic en un servicio para ver el **Resumen de Ingestión del Servicio**.
+3. Haz clic en **Gestionar Tasa de Ingestión**.
+4. Elige **tasas de muestreo adaptativo de Datadog** como la estrategia de muestreo de tu servicio.
+5. Haz clic en **Aplicar**.
-
+
-Para más información, consulta [Muestreo adaptativo][17].
+Para más información, consulta [Muestreo Adaptativo][17].
-#### Muestreo basado en recursos
+#### Muestreo basado en recursos {#resource-based-sampling}
Para configurar tasas de muestreo personalizadas para el servicio por nombre de recurso:
-1. Navega hasta la página [Ingestion Control][2].
-2. Haz clic en un servicio para ver el **Service Ingestion Summary** (Resumen de ingesta de servicios).
-3. Haz clic en **Manage Ingestion Rate** (Gestionar tasa de ingesta).
-4. Haz clic en **Custom sampling rates only** (Solo tasas de muestreo personalizadas).
-5. Haz clic en **Add new rule** (Añadir nueva regla) para establecer tasas de muestreo para algunos recursos.
- **Nota**: Las reglas de muestreo utilizan la coincidencia de patrones glob, por lo que puedes utilizar comodines (`*`) para coincidir con varios recursos al mismo tiempo.
- {{< img src="/tracing/trace_indexing_and_ingestion/sampling_configuration_custom.png" alt="Modal de configuración" style="width:100%;">}}
+1. Navega a la página de [Ingestion Control][2].
+2. Haz clic en un servicio para ver el **Resumen de Ingestión del Servicio**.
+3. Haz clic en **Gestionar tasa de ingestión**.
+4. Haz clic en **Solo tasas de muestreo personalizadas**.
+5. Haz clic en **Agregar nueva regla** para establecer tasas de muestreo para algunos recursos.
+ **Nota**: Las reglas de muestreo utilizan coincidencia de patrones globos, por lo que puedes usar comodines (`*`) para coincidir con múltiples recursos al mismo tiempo.
+ {{< img src="/tracing/trace_indexing_and_ingestion/sampling_configuration_custom.png" alt="Modal de Configuración" style="width:100%;">}}
6. Aplica la configuración **Remotamente** o **Localmente**:
{{< tabs >}}
-{{% tab "Remotely" %}}
+{{% tab "Remotamente" %}}
-Esta opción aplica la configuración mediante Remote Configurtion, por lo que **no es necesario** volver a desplegar el servicio para que el cambio surta efecto. Puedes observar los cambios de configuración desde [Live Search Explorer][100].
+Esta opción aplica la configuración utilizando Configuración Remota, por lo que **no necesitas** volver a implementar el servicio para que el cambio surta efecto. Puedes observar los cambios de configuración desde el [Explorador de Búsqueda en Vivo][100].
-Haz clic en **Apply** (Aplicar) para guardar la configuración.
+Haz clic en **Aplicar** para guardar la configuración.
-Los recursos que se han configurado remotamente aparecen como `Configured Remote` en la columna **Configuration** (Configuración).
+Los recursos que han sido configurados de forma remota se muestran como `Configured Remote` en la columna de **Configuración**.
-
+
[100]: /es/tracing/trace_explorer/?tab=listview#live-search-for-15-minutes
{{% /tab %}}
-{{% tab "Locally" %}}
+{{% tab "Localmente" %}}
-Esta opción genera la configuración para que la apliques manualmente.
+Esta opción genera configuración para que la apliques manualmente.
1. Aplica la configuración generada a tu servicio.
- **Nota**: El valor del nombre del servicio distingue mayúsculas y minúsculas. Debe coincidir con el nombre de tu servicio.
-1. Vuelve a desplegar el servicio.
-1. Confirma que se ha aplicado el nuevo porcentaje consultando la columna **Traffic Breakdown** (Desglose del tráfico). Los recursos que se han configurado localmente aparecen como `Configured Local` en la columna **Configuration** (Configuración).
+ **Nota**: El valor del nombre del servicio es sensible a mayúsculas y minúsculas. Debería coincidir con el caso de tu nombre de servicio.
+1. Vuelve a implementar el servicio.
+1. Confirma que el nuevo porcentaje ha sido aplicado revisando la columna de **Desglose de Tráfico**. Los recursos que han sido configurados localmente se muestran como `Configured Local` en la columna de **Configuración**.
{{% /tab %}}
{{< /tabs >}}
-## Gestión de la configuración de la ingesta del Datadog Agent
+## Gestionando la configuración de ingesta del Agente de Datadog {#managing-datadog-agent-ingestion-configuration}
-Haz clic en **Configure Datadog Agent Ingestion** (Configurar la ingesta del Datadog Agent) para gestionar las tasas de muestreo por defecto basadas en encabezados, el muestreo de errores y el muestreo poco frecuente.
+Haz clic en **Configurar la Ingesta del Agente de Datadog** para gestionar las tasas de muestreo basadas en encabezados por defecto, muestreo de errores y muestreo raro.
-{{< img src="tracing/trace_indexing_and_ingestion/agent_level_configurations_modal.png" style="width:70%;" alt="Modalidad de configuración en el nivel del Agent" >}}
+{{< img src="tracing/trace_indexing_and_ingestion/agent_level_configurations_modal.png" style="width:70%;" alt="Modal de Configuración a Nivel de Agente" >}}
-- **[Head-based sampling][4]** (Muestreo basado en la fase inicial): Cuando no se establecen reglas para el muestreo de un servicio, el Datadog Agent calcula automáticamente las frecuencias de muestreo que se aplicarán a tus servicios con un objetivo de **10 trazas por segundo por Agent**. Cambia este número de destino de trazas en Datadog o configura `DD_APM_MAX_TPS` localmente en el nivel del Agent.
-- **[Muestreo de tramos (spans) de error][5]**: Para las trazas no capturadas por el muestreo basado en la fase inicial, el Datadog Agent captura trazas de error locales **hasta 10 trazas por segundo por Agent**. Cambia este número de destino de trazas en Datadog o configura `DD_APM_ERROR_TPS` localmente en el nivel del Agent.
-- **[Muestreo de tramos poco frecuentes][6]**: Para las trazas no capturadas por el muestreo basado en la fase inicial, el Datadog Agent captura trazas poco frecuentes locales **hasta 5 trazas por segundo por Agent**. Esta opción está desactivada por defecto. Habilita la recopilación de trazas poco frecuentes en Datadog o configura `DD_APM_ENABLE_RARE_SAMPLER` localmente en el nivel del Agent.
+- **[Muestreo basado en encabezado][4]**: Cuando no se establecen reglas de muestreo para un servicio, el Agente de Datadog calcula automáticamente las tasas de muestreo que se aplicarán a tus servicios, apuntando a **10 trazas por segundo por Agente**. Cambia este número objetivo de trazas en Datadog, o configúralo `DD_APM_TARGET_TPS` localmente a nivel de Agente.
+- **[Muestreo de errores en trazas][5]**: Para las trazas que no son capturadas por el muestreo basado en encabezado, el Agente de Datadog captura trazas de errores locales **hasta 10 trazas por segundo por Agente**. Cambia este número objetivo de trazas en Datadog, o establece `DD_APM_ERROR_TPS` localmente a nivel del Agente.
+- **[Muestreo de trazas raras][6]**: Para trazas que no son capturadas por el muestreo basado en encabezado, el Agente de Datadog captura trazas raras locales **hasta 5 trazas por segundo por Agente**. Esta configuración está deshabilitada por defecto. Habilita la recolección de trazas raras en Datadog, o establece `DD_APM_ENABLE_RARE_SAMPLER` localmente a nivel del Agente.
-Con la configuración remota, no es necesario reiniciar el Agent para actualizar estos parámetros. Haz clic en `Apply` para guardar los cambios de configuración, y la nueva configuración entrará en vigor inmediatamente. La configuración remota de los parámetros de muestreo del Agent está disponible si utilizas el Agent versión [7.42.0][13] o posterior.
+Con la configuración remota, no es necesario reiniciar el Agente para actualizar estos parámetros. Haz clic en `Apply` para guardar los cambios de configuración, y la nueva configuración entra en efecto de inmediato. La configuración remota para los parámetros de muestreo del Agente está disponible si estás utilizando la versión del Agente [7.42.0][13] o superior.
-**Nota**: La sección `Other Ingestion Reasons` (gris) del gráfico circular representa otros motivos de ingesta que _no son configurables_ en el nivel del Datadog Agent.
+**Nota**: La sección `Other Ingestion Reasons` (gris) del gráfico circular representa otras razones de ingestión que _no son configurables_ a nivel del Agente de Datadog.
-**Nota**: Los parámetros configurados en forma remota tienen prioridad sobre las configuraciones locales como las variables de entorno y la configuración de `datadog.yaml`.
+**Nota**: Los parámetros configurados de forma remota tienen prioridad sobre las configuraciones locales, como las variables de entorno y `datadog.yaml` la configuración.
-## Precedencia de las reglas de muestreo
+## Prioridad de las reglas de muestreo {#sampling-rules-precedence}
-Si las reglas de muestreo se establecen en varias ubicaciones, se aplican las siguientes reglas de precedencia en orden, donde las reglas que aparecen en primer lugar en la lista pueden anular las reglas de precedencia inferior:
+Si se establecen reglas de muestreo en múltiples ubicaciones, se aplican las siguientes reglas de prioridad en orden, donde las reglas que aparecen primero en la lista pueden anular las reglas de menor prioridad:
-1. Reglas de muestreo configuradas remotamente, establecidas a través de [muestreo basado en recursos](#configure-the-service-ingestion-rates-by-resource)
+1. Reglas de muestreo configuradas de forma remota, establecidas a través de [muestreo basado en recursos](#configure-the-service-ingestion-rates-by-resource)
1. [Reglas de muestreo adaptativo][17]
1. [Reglas de muestreo configuradas localmente][8] (`DD_TRACE_SAMPLING_RULES`)
-1. [Tasa de muestreo global configurada remotamente][8]
+1. [Tasa de muestreo global configurada de forma remota][8]
1. [Tasa de muestreo global configurada localmente][8] (`DD_TRACE_SAMPLE_RATE`)
-1. [Tasas del trace agent controladas indirectamente con la configuración del Agent](#managing-datadog-agent-ingestion-configuration) de forma remota o local (`DD_APM_MAX_TPS`)
+1. [Tasas del agente de traza controladas indirectamente con configuraciones del Agent](#managing-datadog-agent-ingestion-configuration) de forma remota o local (`DD_APM_TARGET_TPS`)
-En otras palabras, Datadog utiliza las siguientes reglas de precedencia:
-- Configuración del rastreador > configuración del Agent
+Dicho de otra manera, Datadog utiliza las siguientes reglas de precedencia:
+- Configuraciones del trazador > Configuraciones del Agent
- Reglas de muestreo > Tasa de muestreo global
- Remoto > Local
-## Referencias adicionales
+## Lectura adicional {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
diff --git a/content/fr/account_management/billing/custom_metrics.md b/content/fr/account_management/billing/custom_metrics.md
index 957159f3d89..f915ac0861b 100644
--- a/content/fr/account_management/billing/custom_metrics.md
+++ b/content/fr/account_management/billing/custom_metrics.md
@@ -1,116 +1,117 @@
---
+algolia:
+ tags:
+ - custom metrics billing
aliases:
- /fr/integrations/faq/what-standard-integrations-emit-custom-metrics/
further_reading:
-- link: /observability_pipelines/guide/custom-metrics-governance
+- link: /metrics/custom_metrics/
tag: Documentation
- text: Utiliser des pipelines d'observabilité pour contrôler vos métriques custom
+ text: En savoir plus sur les métriques personnalisées
+- link: /metrics/guide/custom_metrics_governance/
+ tag: Guide
+ text: Meilleures pratiques pour la gouvernance des métriques personnalisées
title: Facturation des métriques custom
---
+## Aperçu {#overview}
-Si une métrique n'est pas envoyée depuis l'une des [plus de {{< translate key="integration_count" >}} intégrations Datadog][1], elle est considérée comme une [métrique custom][2][(1)](#integrations-standard).
+Si une métrique n'est pas soumise par l'une des [plus de {{< translate key="integration_count" >}} intégrations Datadog][1], elle est considérée comme une [métrique personnalisée][2]. Certaines intégrations standard peuvent également potentiellement émettre des métriques personnalisées. Pour plus d'informations, voir [métriques personnalisées et intégrations standard][14].
-**Une métrique custom correspond à une combinaison unique de nom de métrique et de valeurs de tag (y compris le tag du host)**. En général, les métriques envoyées par [DogStatsD][25] ou via un [check d'Agent custom][26] sont des métriques custom.
+**Une métrique personnalisée est identifiée de manière unique par une combinaison d'un nom de métrique et de valeurs de balise (y compris la balise hôte)**. En général, toute métrique que vous envoyez en utilisant [DogStatsD][3] ou via un [Agent Check personnalisé][4] est une métrique personnalisée.
-Le nombre de métriques custom mensuelles facturables (qui est indiqué sur la page Usage) est calculé à partir de la formule suivante : Total de métriques custom distinctes pour chaque heure d'un mois donné / nombre d'heures du mois. Cette formule permet d'obtenir une moyenne mensuelle.
+Votre utilisation mensuelle des métriques personnalisées facturables (réflétée sur la page d'utilisation) est calculée en prenant le total de toutes les métriques personnalisées distinctes (également connues sous le nom de séries temporelles) pour chaque heure d'un mois donné, et en le divisant par le nombre d'heures dans le mois pour obtenir une valeur moyenne mensuelle. Votre utilisation facturable n'est pas impactée par la fréquence de soumission des points de données ou le nombre de requêtes que vous exécutez sur vos métriques.
-Les utilisateurs de Metrics without Limits™ peuvent consulter les volumes mensuels facturables pour les métriques custom _ingérées_ et _indexées_ sur leur page Usage. En savoir plus sur les métriques custom ingérées et indexées et sur la solution [Metrics without Limits™][3].
+Les utilisateurs de Metrics without Limits™ voient les volumes mensuels facturables pour _ingérés_ et _indexés_ des métriques personnalisées sur leur page d'utilisation. En savoir plus sur les métriques personnalisées ingérées et indexées et [Metrics without Limits™][5].
-## Calcul du nombre de métriques custom
+## Comptage des métriques personnalisées {#counting-custom-metrics}
-Le nombre de métriques custom associées à un nom de métrique donné dépend du [type de métrique envoyé][4]. Vous trouverez ci-dessous des exemples de calculs basés sur le scénario suivant :
+Le nombre de métriques personnalisées associées à un nom de métrique particulier dépend de son [type de soumission de métrique][6]. Voici des exemples de la façon de compter vos métriques personnalisées en fonction du scénario suivant :
-Une métrique intitulée `request.Latency` est envoyée à partir de deux hosts (`host:A`,`host:B`) afin de mesurer la latence des requêtes envoyées à vos endpoints. Vous envoyez cette métrique avec deux clés de tag :
+Supposons que vous soumettiez une métrique, `request.Latency`, depuis deux hôtes (`host:A`,`host:B`), qui mesure la latence de vos requêtes d'endpoint. Vous soumettez cette métrique avec deux clés de balise :
-- `endpoint`, qui a pour valeur `endpoint:X` ou `endpoint:Y` ;
-- `status`, qui a pour valeur `status:200` ou `status:400`.
+- `endpoint`, qui a la valeur `endpoint:X` ou `endpoint:Y`.
+- `status`, qui a la valeur `status:200` ou `status:400`.
-Imaginons que dans vos données, `endpoint:X` est pris en charge par les deux hosts mais échoue uniquement pour `host:B`. Imaginons également que les requêtes envoyées à `endpoint:Y` réussissent toujours et apparaissent uniquement pour `host:B`, comme illustré ci-dessous :
+Supposons que dans vos données, `endpoint:X` soit pris en charge par les deux hôtes, mais échoue uniquement sur `host:B`. Supposons également que les demandes à `endpoint:Y` soient toujours réussies et n'apparaissent que sur `host:B` comme indiqué ci-dessous :
-{{< img src="account_management/billing/custom_metrics/request_latency.png" alt="Latence des requêtes" style="width:80%;">}}
+{{< img src="account_management/billing/custom_metrics/request_latency.png" alt="Latence de la demande" style="width:80%;">}}
{{< tabs >}}
-{{% tab "Count, Rate"%}}
+{{% tab "Nombre, Taux"%}}
La même logique est appliquée pour calculer le nombre de métriques custom pour les métriques de type [COUNT][1] et [RATE][2].
-Le nombre de combinaisons de valeurs de tag uniques envoyées pour une métrique RATE avec ce schéma de tagging est de **quatre** :
+Le nombre de combinaisons de valeurs de balises uniques soumises pour une métrique de TAUX avec ce schéma de balisage est **quatre** :
- `host:A`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:400`
- `host:B`, `endpoint:Y`, `status:200`
-Ici, la métrique `request.Latency` envoie donc **quatre métriques custom**.
+Cela se traduit par `request.Latency` rapportant **quatre métriques personnalisées**.
-### Conséquences de l'ajout de tags
+### Effet de l'ajout de balises {#effect-of-adding-tags}
-L'ajout de tags **n'augmente pas forcément** le nombre de métriques custom. Le nombre de métriques custom dépend généralement du tag le plus granulaire ou le plus détaillé. Imaginons que vous mesurez la température aux États-Unis et que votre métrique `temperature` est taguée en fonction du pays et de la région. Vous envoyez ce qui suit à Datadog :
+L'ajout de balises **peut ne pas** entraîner plus de métriques personnalisées. Votre nombre de métriques personnalisées évolue généralement avec la balise la plus granulaire ou détaillée. Supposons que vous mesuriez la température aux États-Unis, et que vous ayez étiqueté votre `temperature` métrique par pays et région. Vous soumettez ce qui suit à Datadog :
-| Nom de la métrique | Valeurs de tag |
+| Nom de la métrique | Valeurs de balises |
|---------------|------------------------------------|
| `temperature` | `country:USA`, `region: Northeast` |
| `temperature` | `country:USA`, `region: Southeast` |
-Imaginons que vous souhaitiez ajouter le tag `city`, qui prend trois valeurs différentes : `NYC`, `Miami` et `Orlando`. Comme le montre le tableau ci-dessous, l'ajout de ce tag augmente le nombre de métriques custom étant donné qu'il rend vos données plus granulaires :
+Supposons que vous souhaitiez ajouter la balise `city` qui a trois valeurs : `NYC`, `Miami` et `Orlando`. L'ajout de cette balise augmente le nombre de métriques personnalisées car elle fournit plus de détails et de granularité à votre ensemble de données comme indiqué ci-dessous :
-| Nom de la métrique | Valeurs de tag |
+| Nom de la métrique | Valeurs de balises |
|---------------|-----------------------------------------------------|
| `temperature` | `country:USA`, `region: Northeast`, `city: NYC` |
| `temperature` | `country:USA`, `region: Southeast`, `city: Orlando` |
| `temperature` | `country:USA`, `region: Southeast`, `city: Miami` |
-Le nombre de métriques custom envoyées par la métrique `temperature` dépend du tag le plus granulaire, c'est-à-dire `city`.
+Le nombre de métriques personnalisées rapportées par `temperature` évolue avec le tag le plus granulaire, `city`.
-Imaginons que vous souhaitiez appliquer le tag `state` à votre métrique `temperature`, et que ce tag prenne deux valeurs : `NY` et `Florida`. La température est alors associée aux tags suivants : `country`, `region`, `state` et `city`. La granularité du tag `state` n'étant pas supérieure à celle du tag `city`, l'ajout de ce tag n'augmente pas la granularité de vos données.
+Supposons que vous souhaitiez également taguer votre métrique de température par `state` (qui a deux valeurs : `NY` et `Florida`). Cela signifie que vous taguez la température par les tags : `country`, `region`, `state` et `city`. Ajouter le tag d'état n'augmente pas le niveau de granularité déjà présent dans votre ensemble de données fourni par le tag de la ville.
Pour connaître la température en Floride, vous pouvez combiner les métriques custom suivantes :
- `temperature{country:USA, state:Florida, city:Orlando}`
- `temperature{country:USA, state:Florida, city:Miami}`
-**Remarque** : l'ordre des tags n'a pas d'influence sur le nombre de métriques custom. Les combinaisons suivantes correspondent à la même métrique custom :
+**Remarque** : Le réordonnancement des valeurs de tag n'ajoute pas d'unicité. Les combinaisons suivantes sont la même métrique personnalisée :
- `temperature{country:USA, state:Florida, city:Miami}`
- `temperature{state:Florida, city:Miami, country:USA}`
-### Configurer des tags et des agrégations avec Metrics without Limits™
-
-La configuration de tags et d'agrégations à l'aide de [Metrics without Limits™][3] peut avoir une incidence sur les volumes de métriques custom. Metrics without Limits™ dissocie les coûts d'ingestion des coûts d'indexation. Ainsi, vous pouvez continuer à envoyer toutes vos données à Datadog (toutes les informations sont ingérées) et ajouter des tags à une liste d'autorisation afin que seuls ces tags puissent être interrogés sur la plateforme Datadog. Comme le volume de données ingérées par Datadog pour les métriques que vous avez configurées est maintenant différent du volume de données indexées, qui est plus petit, deux volumes distincts s'affichent sur votre page Usage et sur la page Metrics Summary.
+### Configurer des tags avec Metrics without Limits™ {#configure-tags-with-metrics-without-limits}
-- **Ingested Custom Metrics** : le volume initial de métriques custom basé sur tous les tags ingérés (qui ont été envoyés par le code).
-- **Indexed Custom Metrics** : le volume de métriques custom pouvant être interrogées sur la plateforme Datadog (en fonction des configurations Metrics without Limits™).
+Les volumes de métriques personnalisées peuvent être impactés par la configuration des tags en utilisant [Metrics without Limits™][3]. Metrics without Limits™ découple les coûts d'ingestion des coûts d'indexation -- vous pouvez continuer à envoyer à Datadog toutes vos données (tout est ingéré) et vous pouvez spécifier une liste blanche de tags que vous souhaitez garder interrogeables sur la plateforme Datadog. Étant donné que le volume de données que Datadog ingère pour vos métriques configurées diffère maintenant du volume plus petit restant que vous avez indexé, vous verrez deux volumes distincts sur votre page d'utilisation ainsi que sur la page de résumé des métriques.
+
+- **Métriques personnalisées ingérées** : Le volume original de métriques personnalisées basé sur tous les tags ingérés (envoyés par code)
+- **Métriques personnalisées indexées** : Le volume de métriques personnalisées qui reste interrogeable sur la plateforme Datadog (basé sur toute configuration de Metrics without Limits™)
-**Remarque : seules les métriques configurées rentrent en compte dans le calcul du volume des métriques custom.** Si vous n'avez pas configuré Metrics without Limits™ pour une métrique, seul le volume des métriques custom indexées vous est facturé.
+**Remarque : Seules les métriques configurées contribuent à votre volume de métriques personnalisées ingérées.** Si une métrique n'est pas configurée avec Metrics without Limits™, vous ne payez que pour son volume de métriques personnalisées indexées.
-#### Dans quels cas les métriques custom ingérées ou indexées vous sont-elles facturées ?
-Pour les métriques non configurées avec Metrics without Limits™, vous payez pour les métriques custom indexées.
+#### Quand êtes-vous facturé pour les métriques ingérées par rapport aux métriques indexées ? {#when-are-you-charged-for-ingested-vs-indexed-custom-metrics}
+Pour les métriques non configurées avec Metrics without Limits™, vous payez pour les métriques personnalisées indexées.
-| | Métriques custom indexées
(en fonction du nombre moyen mensuel de métriques custom par heure) |
+| | Métriques personnalisées indexées
(basées sur le nombre moyen mensuel de métriques personnalisées par heure) |
|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Quota de l'abonnement | - Pro : 100 métriques custom indexées par host
- Enterprise : 200 métriques custom indexées par host |
-| Dépassement du quota | Si vous dépassez le quota de votre abonnement, chaque palier de 100 métriques custom indexées supplémentaires vous est facturé le montant indiqué dans votre contrat actuel. |
+| Allocation de compte | - Pro : 100 métriques personnalisées indexées par hôte
- Entreprise : 200 métriques personnalisées indexées par hôte |
+| Utilisation supérieure à l'allocation de compte | Pour chaque 100 métriques personnalisées ingérées au-delà de l'allocation de compte, vous payez 0,10 $. Pour chaque 100 métriques personnalisées indexées au-delà de l'allocation de compte, vous payez un montant spécifié dans votre contrat actuel. |
-Pour les métriques configurées avec Metrics without Limits™ (des tags/agrégations sont configurés), vous payez pour les métriques custom ingérées et les métriques custom indexées.
+Pour les métriques configurées avec Metrics without Limits™ (les balises sont configurées), vous payez pour les métriques personnalisées ingérées et les métriques personnalisées indexées.
-| | Métriques custom ingérées | Indexed Custom Metrics |
+| | Métriques personnalisées ingérées | Métriques personnalisées indexées |
|--------------------------------------|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Quota de l'abonnement | - Pro : 100 métriques custom ingérées par host
- Enterprise : 200 métriques custom ingérées par host | - Pro : 100 métriques custom indexées par host
- Enterprise : 200 métriques custom indexées par host |
-| Dépassement du quota | Si vous dépassez le quota de votre abonnement, chaque palier de 100 métriques custom ingérées supplémentaires vous est facturé 0,10 $. | Si vous dépassez le quota de votre abonnement, chaque palier de 100 métriques custom indexées supplémentaires vous est facturé le montant indiqué dans votre contrat actuel. |
+| Allocation de compte | - Pro : 100 métriques personnalisées ingérées par hôte
- Entreprise : 200 métriques personnalisées ingérées par hôte | - Pro : 100 métriques personnalisées indexées par hôte
- Entreprise : 200 métriques personnalisées indexées par hôte |
+| Utilisation supérieure à l'allocation de compte | Pour chaque 100 métriques personnalisées ingérées au-delà de l'allocation de compte, vous payez 0,10 $. | Pour chaque 100 métriques personnalisées indexées au-delà de l'allocation de compte, vous payez un montant spécifié dans votre contrat actuel. |
-Imaginons que vous souhaitiez utiliser Metrics without Limits™ pour réduire le volume de votre métrique `request.Latency` en conservant uniquement les tags `endpoint` et `status`. Vous obtenez les trois combinaisons de tags uniques suivantes :
+Supposons que vous souhaitiez utiliser Metrics without Limits™ pour réduire la taille de votre `request.Latency` métrique en ne conservant que les balises `endpoint` et `status`. Cela donne les trois combinaisons de balises uniques suivantes :
- `endpoint:X`, `status:200`
- `endpoint:X`, `status:400`
- `endpoint:Y`, `status:200`
-Une ces tags configurés, la métrique `request.Latency` envoie **3 métriques custom indexées** au total. En se basant sur les tags envoyés initialement sur cette métrique, le volume initial de métriques custom **ingérées** pour la métrique `request.Latency` est de **4 métriques custom ingérées**.
-
-Par défaut, Datadog stocke la combinaison des agrégations les plus souvent interrogées en fonction du type de métrique afin d'assurer la précision mathématique de la requête associée à la métrique que vous avez configurée.
-
-- Les métriques count/rate configurées peuvent être interrogées à l'aide d'agrégations temporelles/spatiales de type `SUM`.
-
-Vous pouvez ajouter d'autres agrégations en cas de besoin. Le nombre de métriques custom indexées dépend du nombre d'agrégations activées.
+En raison de la configuration des balises, `request.Latency` rapportant un total de **3 métriques personnalisées indexées** . Sur la base des balises d'origine envoyées sur cette métrique, le volume original de **métriques personnalisées ingérées** de `request.Latency` est **4 métriques personnalisées ingérées**.
En savoir plus sur [Metrics without Limits™][3].
@@ -119,25 +120,25 @@ En savoir plus sur [Metrics without Limits™][3].
[3]: /fr/metrics/metrics-without-limits
{{% /tab %}}
{{% tab "Gauge" %}}
-Le nombre de combinaisons de valeurs de tag uniques envoyées pour une métrique GAUGE avec ce schéma de tagging est de **quatre** :
+Le nombre de combinaisons de valeurs de balises uniques soumises pour une métrique GAUGE avec ce schéma de balisage est **quatre** :
- `host:A`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:400`
- `host:B`, `endpoint:Y`, `status:200`
-Ici, la métrique `request.Latency` envoie donc **quatre métriques custom**.
+Cela se traduit par `request.Latency` rapportant **quatre métriques personnalisées**.
-### Conséquences de l'ajout de tags
+### Effet de l'ajout de balises {#effect-of-adding-tags-1}
-L'ajout de tags **n'augmente pas forcément** le nombre de métriques custom. Le nombre de métriques custom dépend généralement du tag le plus granulaire ou le plus détaillé. Imaginons que vous mesurez la température aux États-Unis et que votre métrique `temperature` est taguée en fonction du pays et de la région. Vous envoyez ce qui suit à Datadog :
+L'ajout de balises **peut ne pas** entraîner plus de métriques personnalisées. Votre nombre de métriques personnalisées évolue généralement avec la balise la plus granulaire ou détaillée. Supposons que vous mesuriez la température aux États-Unis, et que vous ayez étiqueté votre `temperature` métrique par pays et région. Vous soumettez ce qui suit à Datadog :
-| Nom de la métrique | Valeurs de tag |
+| Nom de la métrique | Valeurs de balises |
|---------------|------------------------------------|
| `temperature` | `country:USA`, `region: Northeast` |
| `temperature` | `country:USA`, `region: Southeast` |
-Imaginons que vous souhaitiez ajouter le tag `city`, qui prend trois valeurs différentes : `NYC`, `Miami` et `Orlando`. Comme le montre le tableau ci-dessous, l'ajout de ce tag augmente le nombre de métriques custom étant donné qu'il rend vos données plus granulaires :
+Supposons que vous souhaitiez ajouter la balise `city` qui a trois valeurs : `NYC`, `Miami` et `Orlando`. L'ajout de ce tag augmente le nombre de métriques personnalisées car il fournit plus de détail et de granularité à votre ensemble de données, comme indiqué ci-dessous :
| Nom de la métrique | Valeurs de tag |
|---------------|-----------------------------------------------------|
@@ -145,49 +146,55 @@ Imaginons que vous souhaitiez ajouter le tag `city`, qui prend trois valeurs dif
| `temperature` | `country:USA`, `region: Southeast`, `city: Orlando` |
| `temperature` | `country:USA`, `region: Southeast`, `city: Miami` |
-Le nombre de métriques custom envoyées par la métrique `temperature` dépend du tag le plus granulaire, c'est-à-dire `city`.
+Le nombre de métriques personnalisées rapportées par `temperature` évolue avec le tag le plus granulaire, `city`.
-Imaginons que vous souhaitiez appliquer le tag `state` à votre métrique `temperature`, et que ce tag prenne deux valeurs : `NY` et `Florida`. La température est alors associée aux tags suivants : `country`, `region`, `state` et `city`. La granularité du tag `state` n'étant pas supérieure à celle du tag `city`, l'ajout de ce tag n'augmente pas la granularité de vos données.
+Supposons que vous souhaitiez également étiqueter votre métrique de température par `state` (qui a deux valeurs : `NY` et `Florida`). Cela signifie que vous étiquetez la température par `country`, `region`, `state`, et `city`. Ajouter le tag état n'augmente pas le niveau de granularité déjà présent dans votre ensemble de données fourni par le tag ville.
Pour connaître la température en Floride, vous pouvez combiner les métriques custom suivantes :
- `temperature{country:USA, state:Florida, city:Orlando}`
- `temperature{country:USA, state:Florida, city:Miami}`
-**Remarque** : l'ordre des tags n'a pas d'influence sur le nombre de métriques custom. Les combinaisons suivantes correspondent à la même métrique custom :
+**Remarque **: Le réordonnancement des valeurs de tag n'ajoute pas d'unicité. Les combinaisons suivantes sont la même métrique personnalisée :
- `temperature{country:USA, state:Florida, city:Miami}`
- `temperature{state:Florida, city:Miami, country:USA}`
-### Configurer des tags et des agrégations avec Metrics without Limits™
-
-La configuration de tags et d'agrégations à l'aide de [Metrics without Limits™][3] peut avoir une incidence sur les volumes de métriques custom. Metrics without Limits™ dissocie les coûts d'ingestion des coûts d'indexation. Ainsi, vous pouvez continuer à envoyer toutes vos données à Datadog (toutes les informations sont ingérées) et ajouter des tags à une liste d'autorisation afin que seuls ces tags puissent être interrogés sur la plateforme Datadog. Comme le volume de données ingérées par Datadog pour les métriques que vous avez configurées est maintenant différent du volume de données indexées, qui est plus petit, deux volumes distincts s'affichent sur votre page Usage et sur la page Metrics Summary.
+### Configurer des tags avec Metrics without Limits™ {#configure-tags-with-metrics-without-limits-1}
-- **Ingested Custom Metrics** : le volume initial de métriques custom basé sur tous les tags ingérés (qui ont été envoyés par le code).
-- **Indexed Custom Metrics** : le volume de métriques custom pouvant être interrogées sur la plateforme Datadog (en fonction des configurations Metrics without Limits™).
+Les volumes de métriques personnalisées peuvent être impactés par la configuration des tags utilisant [Metrics without Limits™][4]. Metrics without Limits™ découple les coûts d'ingestion des coûts d'indexation -- vous pouvez donc continuer à envoyer à Datadog toutes vos données (tout est ingéré) et vous pouvez spécifier une liste blanche de tags que vous souhaitez garder interrogeables sur la plateforme Datadog. Étant donné que le volume de données que Datadog ingère pour vos métriques configurées diffère maintenant du volume plus petit restant que vous avez indexé, vous verrez deux volumes distincts sur votre page d'utilisation ainsi que sur la page de résumé des métriques.
+
+- **Métriques personnalisées ingérées** : Le volume original de métriques personnalisées basé sur tous les tags ingérés (envoyés par code)
+- **Métriques personnalisées indexées** : Le volume de métriques personnalisées qui reste interrogeable sur la plateforme Datadog (basé sur toute configuration de Metrics without Limits™)
-**Remarque : seules les métriques configurées rentrent en compte dans le calcul du volume des métriques custom.** Si vous n'avez pas configuré Metrics without Limits™ pour une métrique, seul le volume des métriques custom indexées vous est facturé.
+**Remarque : Seules les métriques configurées contribuent à votre volume de métriques personnalisées ingérées.** Si une métrique n'est pas configurée avec Metrics without Limits™, vous ne payez que pour son volume de métriques personnalisées indexées.
-#### Dans quels cas les métriques custom ingérées ou indexées vous sont-elles facturées ?
-Pour les métriques non configurées avec Metrics without Limits™, vous payez pour les métriques custom indexées.
+#### Quand êtes-vous facturé pour les métriques ingérées par rapport aux métriques indexées ? {#when-are-you-charged-for-ingested-vs-indexed-custom-metrics-1}
+Pour les métriques non configurées avec Metrics without Limits™, vous payez pour les métriques personnalisées indexées.
-| | Métriques custom indexées
(en fonction du nombre moyen mensuel de métriques custom par heure) |
+| | Métriques personnalisées indexées
(basées sur le nombre moyen mensuel de métriques personnalisées par heure) |
|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Quota de l'abonnement | - Pro : 100 métriques custom indexées par host
- Enterprise : 200 métriques custom indexées par host |
-| Dépassement du quota | Si vous dépassez le quota de votre abonnement, chaque palier de 100 métriques custom indexées supplémentaires vous est facturé le montant indiqué dans votre contrat actuel. |
+| Allocation de compte | - Pro : 100 métriques personnalisées indexées par hôte
- Entreprise : 200 métriques personnalisées indexées par hôte |
+| Utilisation supérieure à l'allocation de compte | Pour chaque 100 métriques personnalisées indexées au-delà de l'allocation de compte, vous payez un montant spécifié dans votre contrat actuel. |
-Pour les métriques configurées avec Metrics without Limits™ (des tags/agrégations sont configurés), vous payez pour les métriques custom ingérées et les métriques custom indexées.
+Pour les métriques configurées avec Metrics without Limits™ (les tags sont configurés), vous payez pour les métriques personnalisées ingérées et les métriques personnalisées indexées.
-| | Métriques custom ingérées | Indexed Custom Metrics |
+| | Métriques personnalisées ingérées | Métriques personnalisées indexées |
|--------------------------------------|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Quota de l'abonnement | - Pro : 100 métriques custom ingérées par host
- Enterprise : 200 métriques custom ingérées par host | - Pro : 100 métriques custom indexées par host
- Enterprise : 200 métriques custom indexées par host |
-| Dépassement du quota | Si vous dépassez le quota de votre abonnement, chaque palier de 100 métriques custom ingérées supplémentaires vous est facturé 0,10 $. | Si vous dépassez le quota de votre abonnement, chaque palier de 100 métriques custom indexées supplémentaires vous est facturé le montant indiqué dans votre contrat actuel. |
-
-Par défaut, Datadog stocke de la façon suivante la combinaison des agrégations les plus souvent interrogées en fonction du type de métrique afin d'assurer la précision mathématique de la requête associée à la métrique que vous avez configurée :
+| Allocation de compte | - Pro : 100 métriques personnalisées ingérées par hôte
- Entreprise : 200 métriques personnalisées ingérées par hôte | - Pro : 100 métriques personnalisées indexées par hôte
- Entreprise : 200 métriques personnalisées indexées par hôte |
+| Utilisation supérieure à l'allocation de compte | Pour chaque 100 métriques personnalisées ingérées au-delà de l'allocation de compte, vous payez 0,10 $. | Pour chaque 100 métriques personnalisées indexées au-delà de l'allocation de compte, vous payez un montant spécifié dans votre contrat actuel. |
-- Les métriques gauge configurées peuvent être interrogées à l'aide d'agrégations temporelles/spatiales de type `AVG/AVG`.
+Par défaut, les agrégations suivantes peuvent être utilisées pour les requêtes :
+- grouper par `SUM` et rollup par `AVG`
+- grouper par `MAX` et rollup par `AVG`
+- grouper par `MIN` et rollup par `AVG`
+- grouper par `AVG` et rollup par `SUM`
+- grouper par `SUM` et rollup par `SUM`
+- grouper par `MAX` et rollup par `MAX`
+- grouper par `MIN` et rollup par `MIN`
+- grouper par `SUM` et rollup par `COUNT`
-Vous pouvez ajouter d'autres agrégations en cas de besoin. Le nombre de métriques custom indexées dépend du nombre d'agrégations activées.
+Votre nombre de métriques personnalisées indexées **n'évolue pas** avec le nombre d'agrégations activées.
En savoir plus sur [Metrics without Limits™][1].
@@ -195,83 +202,83 @@ En savoir plus sur [Metrics without Limits™][1].
{{% /tab %}}
{{% tab "Histogram" %}}
-**Par défaut, une métrique HISTOGRAM génère cinq métriques custom pour chaque combinaison unique de nom de métrique et de valeurs de tag**, ce qui correspond aux agrégations effectuées côté Agent (`max`, `median`, `avg`, `95pc` et `count`). [En savoir plus sur les métriques HISTOGRAM][1].
+**Une métrique HISTOGRAM génère par défaut cinq métriques personnalisées pour chaque combinaison unique de nom de métrique et de valeurs de tag** pour prendre en charge les agrégations côté Agent `max`, `median`, `avg`, `95pc` et `count`. [En savoir plus sur le type de métrique HISTOGRAM][1].
-Le nombre de combinaisons de valeurs de tag uniques envoyées pour une métrique HISTOGRAM avec ce schéma de tagging est de **quatre** :
+Le nombre de combinaisons de valeurs de tag uniques soumises pour une métrique HISTOGRAM avec ce schéma de tagging est **quatre** :
- `host:A`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:400`
- `host:B`, `endpoint:Y`, `status:200`
-Par défaut, l'Agent génère cinq métriques custom pour chacune des quatre combinaisons de valeur de tag uniques d'origine, soit une métrique custom [pour chaque agrégation activée côté Agent][2] : `avg`, `count`, `median`, `95percentile` et `max`. Ainsi, `request.Latency` envoie **4\*5 = 20 métriques custom** au total.
+Par défaut, l'Agent génère cinq métriques personnalisées pour chacune des quatre combinaisons uniques de valeurs de tag d'origine pour tenir compte [de chaque agrégation côté Agent activée][2] : `avg`, `count`, `median`, `95percentile` et `max`. Par conséquent, `request.Latency` rapporte un total de **4\*5 = 20 métriques personnalisées**.
-**Remarque** : l'ajout d'agrégations à vos métriques HISTOGRAM augmente le nombre de métriques custom distinctes envoyées. La désactivation d'agrégations réduit le nombre de métriques custom envoyées.
+**Remarque** : Ajouter des agrégations à vos métriques HISTOGRAM augmente le nombre de métriques personnalisées distinctes rapportées. La suppression des agrégations diminue le nombre de métriques personnalisées rapportées.
-- Configurez les agrégations que vous souhaitez envoyer à Datadog à l'aide du paramètre `histogram_aggregates` dans votre [fichier de configuration datadog.yaml][3]. Par défaut, seules les agrégations `max`, `median`, `avg` et `count` sont envoyées à Datadog. Les agrégations `sum` et `min` sont également disponibles si vous le souhaitez.
-- Configurez les agrégations par centile que vous souhaitez envoyer à Datadog à l'aide du paramètre `histogram_percentiles` dans votre [fichier de configuration datadog.yaml][2]. Par défaut, seul le 95e centile, `95percentile`, est envoyé à Datadog.
+- Configurez l'agrégation que vous souhaitez envoyer à Datadog avec le paramètre `histogram_aggregates` dans votre [fichier de configuration datadog.yaml][3]. Par défaut, seules les agrégations `max`, `median`, `avg` et `count` sont envoyées à Datadog. `sum` et `min` sont également disponibles si désiré.
+- Configurez l'agrégation de percentile que vous souhaitez envoyer à Datadog avec le paramètre `histogram_percentiles` dans votre [fichier de configuration datadog.yaml][3]. Par défaut, seul le percentile `95percentile`, le 95e percentile, est envoyé à Datadog.
[1]: /fr/metrics/types/?tab=histogram#metric-types
[2]: /fr/metrics/types/?tab=histogram#definition
-[3]: /fr/agent/guide/agent-configuration-files/#agent-main-configuration-file
+[3]: /fr/agent/configuration/agent-configuration-files/#agent-main-configuration-file
{{% /tab %}}
{{% tab "Distribution" %}}
-**Par défaut, une métrique DISTRIBUTION génère cinq métriques custom pour chaque combinaison unique de nom de métrique et de valeurs de tag**, ce qui correspond à la distribution statistique globale des valeurs. Ces cinq métriques custom reflètent les agrégations effectuées côté serveur, `count`, `sum`, `min`, `max` et `avg`. [En savoir plus sur les métriques de type DISTRIBUTION][1].
+**Une métrique de DISTRIBUTION génère par défaut cinq métriques personnalisées pour chaque combinaison unique de nom de métrique et de valeurs de tag** afin de représenter la distribution statistique globale des valeurs. Ces cinq métriques personnalisées représentent des agrégations côté serveur de `count`, `sum`, `min`, `max` et `avg`. [En savoir plus sur le type de métrique DISTRIBUTION][1].
-Le nombre de combinaisons de valeurs de tag uniques envoyées pour une métrique DISTRIBUTION avec ce schéma de tagging est de **quatre**.
+Le nombre de combinaisons uniques de valeurs de tag soumises pour une métrique de DISTRIBUTION avec ce schéma de tagging est **quatre**.
- `host:A`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:200`
- `host:B`, `endpoint:X`, `status:400`
- `host:B`, `endpoint:Y`, `status:200`
-Le nombre de métriques custom envoyées par une [métrique DISTRIBUTION][1] correspond au nombre de combinaisons uniques de nom de métrique et de valeurs de tag multiplié par cinq. Ainsi, la métrique `request.Latency` envoie **5\*4 = 20 métriques custom** au total.
+Le nombre de métriques personnalisées d'une [métrique de DISTRIBUTION][1] est cinq fois la combinaison unique de nom de métrique et de valeurs de tag. Cela donne `request.Latency` un total de **5\*4 = 20 métriques personnalisées**.
-##### Ajout d'agrégations par centile
+##### Ajout d'agrégations de percentile {#adding-percentile-aggregations}
-Vous pouvez ajouter des agrégations par centile (`p50`, `p75`, `p90`, `p95` et `p99`) pour votre métrique de distribution, afin d'obtenir cinq fois plus de combinaisons uniques nom de métrique/valeur de tag (**5 \* 4 = 20 métriques customs**). Avec les agrégations par centile, le nombre total de métriques custom généré par cette métrique de distribution atteint 40 (**2 * (5 \* 4) = 40**).
+Vous pouvez inclure des agrégations de percentile (`p50`, `p75`, `p90`, `p95` et `p99`) sur votre métrique de distribution. L'inclusion de ces agrégations de percentile supplémentaires entraîne un volume supplémentaire de cinq fois la combinaison unique de nom de métrique et de valeurs de tag (**5\*4 = 20 métriques personnalisées**). Par conséquent, le nombre total de métriques personnalisées émises par cette métrique de distribution avec des agrégations de percentile est **2 * (5\*4) = 40 métriques personnalisées**.
-Le tableau ci-dessous résume l'impact de l'ajout d'agrégations par centile pour une distribution de métrique.
+Le tableau ci-dessous résume l'impact de l'ajout d'agrégations par centile pour une distribution de métrique.
-| Métriques | Nombre de métriques custom facturables |
+| Métriques | Nombre de métriques personnalisées facturables |
|-------------------------------------------------------------------------------------------|-----------------------------------|
-| Nombre de métriques custom générées par une distribution standard (count, sum, min, max et avg) | `5 * (combinaisons de valeurs de tag)` |
-| Nombre de métriques custom générées par l'ajout des agrégations par centile (p50, p75, p90, p95 et p99) | `5 * (combinaisons de valeurs de tag)` |
-| Total | `2 * 5(combinaisons de valeurs de tag)` |
+| Nombre de métriques personnalisées d'une distribution de base (compte, somme, min, max, avg) | `5*(tag value combinations)` |
+| Nombre de métriques personnalisées incluant des agrégations de percentile (p50, p75, p90, p95, p99) | `5*(tag value combinations)` |
+| Total | `2*5(tag value combinations)` |
-### Configurer des tags avec Metrics without Limits™
+### Configurer des tags avec Metrics without Limits™ {#configure-tags-with-metrics-without-limits-2}
-La configuration de tags et d'agrégations à l'aide de [Metrics without Limits™][3] peut avoir une incidence sur les volumes de métriques custom. Metrics without Limits™ dissocie les coûts d'ingestion des coûts d'indexation. Ainsi, vous pouvez continuer à envoyer toutes vos données à Datadog (toutes les informations sont ingérées) et ajouter des tags à une liste d'autorisation afin que seuls ces tags puissent être interrogés sur la plateforme Datadog. Comme le volume de données ingérées par Datadog pour les métriques que vous avez configurées est maintenant différent du volume de données indexées, qui est plus petit, deux volumes distincts s'affichent sur votre page Usage et sur la page Metrics Summary.
+Les volumes de métriques personnalisées peuvent être affectés par la configuration des tags et des agrégations en utilisant [Metrics without Limits™][2]. Metrics without Limits™ découple les coûts d'ingestion des coûts d'indexation -- vous pouvez continuer à envoyer à Datadog toutes vos données (tout est ingéré) et vous pouvez spécifier une liste blanche de tags que vous souhaitez garder interrogeables sur la plateforme Datadog. Étant donné que le volume de données que Datadog ingère pour vos métriques configurées diffère maintenant du volume plus petit restant que vous avez indexé, vous verrez deux volumes distincts sur votre page d'utilisation ainsi que sur la page de résumé des métriques.
+
+- **Métriques personnalisées ingérées** : Le volume original de métriques personnalisées sur toutes les balises ingérées (envoyées par code)
+- **Métriques personnalisées indexées** : Le volume de métriques personnalisées qui reste interrogeable sur la plateforme Datadog (en fonction de toute configuration Metrics without Limits™)
-- **Ingested Custom Metrics** : le volume initial de métriques custom basé sur tous les tags ingérés (qui ont été envoyés par le code).
-- **Indexed Custom Metrics** : le volume de métriques custom pouvant être interrogées sur la plateforme Datadog (en fonction des configurations Metrics without Limits™).
+**Remarque : Seules les métriques configurées contribuent à votre volume de métriques personnalisées ingérées.** Si une métrique n'est pas configurée avec Metrics without Limits™, vous ne payez que pour son volume de métriques personnalisées indexées.
-**Remarque : seules les métriques configurées rentrent en compte dans le calcul du volume des métriques custom.** Si vous n'avez pas configuré Metrics without Limits™ pour une métrique, seul le volume des métriques custom indexées vous est facturé.
+#### Quand êtes-vous facturé pour les métriques personnalisées ingérées par rapport aux métriques personnalisées indexées ? {#when-are-you-charged-for-ingested-vs-indexed-custom-metrics-2}
+Pour les métriques non configurées avec Metrics without Limits™, vous payez pour les métriques personnalisées indexées.
-#### Dans quels cas les métriques custom ingérées ou indexées vous sont-elles facturées ?
-Pour les métriques non configurées avec Metrics without Limits™, vous payez pour les métriques custom indexées.
-
-| | Métriques custom indexées
(en fonction du nombre moyen mensuel de métriques custom par heure) |
+| | Métriques personnalisées indexées
(basé sur le nombre moyen mensuel de métriques personnalisées par heure) |
|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Quota de l'abonnement | - Pro : 100 métriques custom indexées par host
- Enterprise : 200 métriques custom indexées par host |
-| Dépassement du quota | Si vous dépassez le quota de votre abonnement, chaque palier de 100 métriques custom indexées supplémentaires vous est facturé le montant indiqué dans votre contrat actuel. |
+| Allocation de compte | - Pro : 100 métriques personnalisées indexées par hôte
- Entreprise : 200 métriques personnalisées indexées par hôte |
+| Utilisation supérieure à l'allocation de compte | Pour chaque 100 métriques personnalisées indexées au-delà de l'allocation de compte, vous payez un montant spécifié dans votre contrat actuel. |
-Pour les métriques configurées avec Metrics without Limits™ (des tags/agrégations sont configurés), vous payez pour les métriques custom ingérées et les métriques custom indexées.
+Pour les métriques configurées avec Metrics without Limits™ (les balises/agrégations sont configurées), vous payez pour les métriques personnalisées ingérées et les métriques personnalisées indexées.
-| | Métriques custom ingérées | Indexed Custom Metrics |
+| | Métriques personnalisées ingérées | Métriques personnalisées indexées |
|--------------------------------------|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
-| Quota de l'abonnement | - Pro : 100 métriques custom ingérées par host
- Enterprise : 200 métriques custom ingérées par host | - Pro : 100 métriques custom indexées par host
- Enterprise : 200 métriques custom indexées par host |
-| Dépassement du quota | Si vous dépassez le quota de votre abonnement, chaque palier de 100 métriques custom ingérées supplémentaires vous est facturé 0,10 $. | Si vous dépassez le quota de votre abonnement, chaque palier de 100 métriques custom indexées supplémentaires vous est facturé le montant indiqué dans votre contrat actuel. |
+| Allocation de compte | - Pro : 100 métriques personnalisées ingérées par hôte
- Entreprise : 200 métriques personnalisées ingérées par hôte | - Pro : 100 métriques personnalisées indexées par hôte
- Entreprise : 200 métriques personnalisées indexées par hôte |
+| Utilisation supérieure à l'allocation de compte | Pour chaque 100 métriques personnalisées ingérées au-delà de l'allocation de compte, vous payez 0,10 $. | Pour chaque 100 métriques personnalisées indexées au-delà de l'allocation de compte, vous payez un montant spécifié dans votre contrat actuel. |
-Imaginons que vous souhaitiez conserver uniquement les tags `endpoint` et `status` associés à la métrique `request.Latency`. Vous obtenez alors les trois combinaisons de tags uniques suivantes :
+Supposons que vous souhaitiez conserver uniquement les balises `endpoint` et `status` associées à la métrique `request.Latency`. Cela donne les trois combinaisons de balises uniques suivantes :
- `endpoint:X`, `status:200`
- `endpoint:X`, `status:400`
- `endpoint:Y`, `status:200`
-Le nombre de métriques custom envoyées par une [métrique DISTRIBUTION][1] correspond au nombre de combinaisons uniques de nom de métrique et de valeurs de tag multiplié par cinq. Une fois les tags configurés, la métrique `request.Latency` envoie **5\*3 = 15 métriques custom indexées** au total. En se basant sur les tags envoyés initialement sur cette métrique, le volume initial de métriques custom **ingérées** pour la métrique `request.Latency` est de **20 métriques custom ingérées**.
+Le nombre de métriques personnalisées d'une [métrique de DISTRIBUTION][1] est cinq fois la combinaison unique de nom de métrique et de valeurs de tag. En raison de la personnalisation des balises, `request.Latency` rapportant un total de **5\*3 = 15 métriques personnalisées indexées**. Basé sur les balises originales envoyées sur cette métrique, le volume original de métriques personnalisées **ingérées** de `request.Latency` est **20 métriques personnalisées ingérées**.
En savoir plus sur [Metrics without Limits™][2].
@@ -280,72 +287,45 @@ En savoir plus sur [Metrics without Limits™][2].
{{% /tab %}}
{{< /tabs >}}
-## Suivi des métriques custom
-
-Les administrateurs (c'est-à-dire les utilisateurs disposant du rôle [Admin de Datadog][5]) peuvent consulter le nombre moyen mensuel de métriques custom **ingérées** et **indexées** par heure. Le tableau des principales métriques custom affiche également le nombre moyen de métriques custom **indexées** sur la [page des détails d'utilisation][6]. Consultez la documentation sur les [détails d'utilisation][7] pour en savoir plus.
-
-Pour suivre en temps réel le nombre de métriques custom associées à un nom de métrique donné, accédez à la [page Résumé des métriques][8] et cliquez sur le nom de métrique souhaité. Vous pouvez visualiser le nombre de métriques custom **ingérées** et **indexées** dans le volet latéral des détails de la métrique.
-{{< img src="account_management/billing/custom_metrics/mwl_sidepanel_ingested.jpg" alt="Volet latéral affichant le résumé des métriques" style="width:80%;">}}
+## Suivi des métriques personnalisées {#tracking-custom-metrics}
+Les utilisateurs administratifs (ceux ayant [des rôles d'administrateur Datadog][7]) peuvent voir le nombre moyen mensuel de **métriques personnalisées ingérées** et **indexées** par heure. Le tableau des métriques personnalisées les plus importantes indique également le nombre moyen de **métriques personnalisées indexées** sur la [page des détails d'utilisation][8]. Consultez la documentation [Détails d'utilisation][9] pour plus d'informations.
-## Allocation
+Pour un suivi en temps réel du nombre de métriques personnalisées pour un nom de métrique particulier, cliquez sur le nom de la métrique sur la [page de résumé des métriques][10]. Vous pouvez voir le nombre de **métriques personnalisées ingérées** et **indexées** sur le panneau latéral des détails de la métrique.
-Vous avez droit à un certain quota de métriques custom **ingérées** et **indexées** en fonction de votre abonnement Datadog :
+{{< img src="account_management/billing/custom_metrics/mwl_sidepanel_ingested_3142025.jpg" alt="Panneau latéral du résumé des métriques" style="width:80%;">}}
-- Pro : 100 métriques custom ingérées par host et 100 métriques custom indexées par host
-- Enterprise : 200 métriques custom ingérées par host et 200 métriques custom indexées par host
-Ces quotas sont calculés pour l'ensemble de votre infrastructure. Par exemple, si vous utilisez l'offre Pro avec 3 hosts, 300 métriques custom indexées vous sont attribuées. Ces 300 métriques custom indexées peuvent être réparties équitablement entre chaque host ou toutes être attribuées à un seul host. Pour cet exemple, le graphique ci-dessous illustre des scénarios respectant le quota de métriques custom autorisé :
+## Allocation {#allocation}
-{{< img src="account_management/billing/custom_metrics/host_custom_metrics.png" alt="Quotas pour les métriques custom" >}}
+Un certain nombre de **métriques personnalisées ingérées** et **indexées** vous est alloué en fonction de votre plan tarifaire Datadog :
-Le nombre de métriques custom facturables est calculé en fonction du nombre moyen de métriques custom (pour tous les hosts facturés) par heure et sur un mois donné. Le nombre de métriques custom ingérées facturables augmente uniquement si vous avez utilisé Metrics without Limits™ pour configurer votre métrique. Contactez le [service commercial][9] ou votre [chargé de compte][10] pour discuter de vos métriques custom ou pour acheter un forfait de métriques custom supplémentaire.
+- Pro : 100 métriques personnalisées ingérées par hôte et 100 métriques personnalisées indexées par hôte
+- Entreprise : 200 métriques personnalisées ingérées par hôte et 200 métriques personnalisées indexées par hôte
-## Intégrations standard
+Ces allocations sont comptées sur l'ensemble de votre infrastructure. Par exemple, si vous êtes sur le plan Pro et licencié pour trois hôtes, 300 métriques personnalisées indexées sont allouées. Les 300 métriques personnalisées indexées peuvent être réparties également entre chaque hôte, ou les 300 métriques personnalisées indexées peuvent être utilisées par un seul hôte. Pour cet exemple, le graphique ci-dessous indique des scénarios respectant le nombre de métriques custom attribuées :
-Les intégrations standard suivantes peuvent potentiellement générer des métriques custom.
+{{< img src="account_management/billing/custom_metrics/host_custom_metrics.png" alt="Allocations pour les métriques personnalisées" >}}
-| Types d'intégrations | Intégrations |
-|------------------------------------------------|------------------------------------------------------------------------------------|
-| Limitées à 350 métriques custom par défaut. | [ActiveMQ XML][11] / [Go-Expvar][12] / [Java-JMX][13] |
-| Aucune limite appliquée à la collecte de métriques custom par défaut. | [Nagios][14] / [Check PDH][15] / [OpenMetrics][16] / [Windows Services][17] / [WMI][18] / [Prometheus][27] |
-| Peuvent être configurées pour collecter des métriques custom. | [MySQL][19] / [Oracle][20] / [Postgres][21] / [SQL Server][22] |
-| Métriques custom envoyées depuis des intégrations cloud | [AWS][23] |
+Le nombre facturable de métriques personnalisées indexées est basé sur le nombre moyen de métriques personnalisées (provenant de tous les hôtes payants) par heure sur un mois donné. Le nombre facturable de métriques personnalisées ingérées n'augmente que si vous avez utilisé Metrics without Limits™ pour configurer votre métrique. Contactez [Ventes][11] ou votre [Responsable du succès client][12] pour discuter des métriques personnalisées pour votre compte ou pour acheter un package supplémentaire de métriques personnalisées.
-## Dépannage
+## Dépannage {#troubleshooting}
-Pour toute question technique, contactez [l'assistance Datadog][24].
+Pour des questions techniques, contactez [le support Datadog][13].
-Pour toute question concernant la facturation, contactez votre [chargé de compte][10].
-
-## Pour aller plus loin
-
-{{< partial name="whats-next/whats-next.html" >}}
+Pour des questions de facturation, contactez votre [Responsable du succès client][12].
[1]: /fr/integrations/
[2]: /fr/metrics/custom_metrics/
-[3]: /fr/metrics/metrics-without-limits
-[4]: /fr/metrics/types/#metric-types
-[5]: /fr/account_management/users/default_roles/
-[6]: https://app.datadoghq.com/billing/usage
-[7]: /fr/account_management/billing/usage_details/
-[8]: https://app.datadoghq.com/metric/summary
-[9]: mailto:sales@datadoghq.com
-[10]: mailto:success@datadoghq.com
-[11]: /fr/integrations/activemq/#activemq-xml-integration
-[12]: /fr/integrations/go_expvar/
-[13]: /fr/integrations/java/
-[14]: /fr/integrations/nagios/
-[15]: /fr/integrations/pdh_check/
-[16]: /fr/integrations/openmetrics/
-[17]: /fr/integrations/windows_service/
-[18]: /fr/integrations/wmi_check/
-[19]: /fr/integrations/mysql/
-[20]: /fr/integrations/oracle/
-[21]: /fr/integrations/postgres/
-[22]: /fr/integrations/sqlserver/
-[23]: /fr/integrations/amazon_web_services/
-[24]: /fr/help/
-[25]: /fr/metrics/custom_metrics/dogstatsd_metrics_submission/
-[26]: /fr/metrics/custom_metrics/agent_metrics_submission/
-[27]: /fr/integrations/prometheus
\ No newline at end of file
+[3]: /fr/metrics/custom_metrics/dogstatsd_metrics_submission/
+[4]: /fr/metrics/custom_metrics/agent_metrics_submission/
+[5]: /fr/metrics/metrics-without-limits
+[6]: /fr/metrics/types/#metric-types
+[7]: /fr/account_management/users/default_roles/
+[8]: https://app.datadoghq.com/billing/usage
+[9]: /fr/account_management/plan_and_usage/usage_details/
+[10]: https://app.datadoghq.com/metric/summary
+[11]: mailto:sales@datadoghq.com
+[12]: mailto:success@datadoghq.com
+[13]: /fr/help/
+[14]: /fr/metrics/custom_metrics/#standard-integrations
\ No newline at end of file
diff --git a/content/fr/containers/kubernetes/_index.md b/content/fr/containers/kubernetes/_index.md
index 1fb340d35a0..c60017b376a 100644
--- a/content/fr/containers/kubernetes/_index.md
+++ b/content/fr/containers/kubernetes/_index.md
@@ -10,14 +10,18 @@ aliases:
- /fr/integrations/faq/container-integration-event/
- /fr/integrations/faq/why-is-the-kubernetes-check-failing-with-a-connecttimeout-error-to-port-10250/
- /fr/agent/kubernetes/
+description: Installez et configurez l'Agent Datadog sur Kubernetes
further_reading:
+- link: https://learn.datadoghq.com/courses/getting-started-k8s
+ tag: Centre d'apprentissage
+ text: Introduction à l'observabilité de Kubernetes
- link: https://app.datadoghq.com/release-notes?category=Container%20Monitoring
tag: Notes de version
text: Découvrez les dernières versions des conteneurs Datadog (connexion à l'application
requise).
- 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/guide/docker-deprecation
tag: Documentation
text: Dépréciation du runtime Docker dans Kubernetes
@@ -25,36 +29,73 @@ further_reading:
tag: Validation des bases
text: Participer à une session interactive pour obtenir des informations grâce sur
la surveillance Kubernetes
+- link: https://www.datadoghq.com/blog/watermark-pod-autoscaler/
+ tag: Blog
+ text: Un guide pour mettre à l'échelle vos pods Kubernetes avec le Watermark Pod
+ Autoscaler
+- link: https://www.datadoghq.com/blog/kubernetes-operator-performance
+ tag: Blog
+ text: Surveillez vos opérateurs Kubernetes pour garantir le bon fonctionnement des
+ applications
title: Kubernetes
---
+{{< 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=Kubernetes">}}
+ Cette session de formation de base se concentrera sur la manière dont Datadog peut surveiller Kubernetes. Apprenez à configurer Datadog pour Kubernetes et comment commencer. Explorez les différentes vues et outils que Datadog propose pour visualiser et analyser les métriques, les traces et les journaux de votre cluster et de vos applications.
+{{< /learning-center-callout >}}
-## Présentation
+## Installation de l'Agent {#agent-installation}
-Exécutez l'Agent Datadog dans votre cluster Kubernetes pour commencer à recueillir les métriques, traces et logs issus de votre cluster et de vos applications.
+Vous pouvez installer l'Agent en utilisant soit le [Datadog Operator][4] soit le Helm chart en suivant le [guide d'installation dans l'application de Fleet Automation][5]. Cette interface guidée vous permet de :
+- Sélectionnez votre distribution Kubernetes (par exemple EKS, AKS ou GKE)
+- Générez des commandes Helm et kubectl avec votre clé API préremplie
+- Activez des fonctionnalités telles que APM, la gestion des journaux, l’étiquetage et d’autres fonctionnalités de télémétrie via une configuration basée sur l’interface utilisateur
-**Remarque** : l'Agent v6.0+ prend uniquement en charge Kubernetes v1.7.6+. Pour les versions antérieures de Kubernetes, consultez la section [Versions antérieures de Kubernetes][1].
-Pour les commandes de l'Agent, consultez les [guides sur les commandes de l'Agent][2].
+{{< img src="agent/basic_agent_usage/agent_install_k8.png" alt="Étapes d'installation dans l'application pour l'Agent Datadog sur Kubernetes." style="width:90%;">}}
-Pour en savoir plus sur lʼAgent de cluster Datadog, qui propose une approche simplifiée de la collecte des données de surveillance au niveau du cluster, consultez la section [Agent de cluster pour Kubernetes][3].
-{{< whatsnext desc="Cette section aborde les sujets suivants :">}}
- {{< nextlink href="/agent/kubernetes/installation">}}Installation : Installer l'Agent Datadog dans un environnement Kubernetes.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/configuration">}}Configuration supplémentaire : Recueillir des événements, remplacer les paramètres de proxy, envoyer des métriques custom avec DogStatsD, configurer des listes d'inclusion et d'exclusion de conteneurs, et consulter la liste complète des variables d'environnement disponibles.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/distributions">}}Distributions : Passer en revue les configurations de base pour les principales distributions Kubernetes, y compris AWS Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), Red Hat OpenShift, Rancher et Oracle Container Engine for Kubernetes (OKE).{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/apm">}}APM : Configurer la collecte de traces : configurer l'Agent pour qu'il accepte les traces, configurer vos pods pour qu'ils communiquent avec l'Agent, et configurer vos traceurs d'application pour qu'ils génèrent des traces.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/log">}}Collecte de logs : Configurer la collecte de logs dans un environnement Kubernetes.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/tag">}}Extraction de tags : Configurer l'Agent afin de créer et d'attribuer des tags à l'ensemble des métriques, traces et logs générés par un conteneur, pod ou nœud, en fonction d'étiquettes ou d'annotations Kubernetes.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/integrations">}}Intégrations et Autodiscovery : Configurer des intégrations dans un environnement Kubernetes avec la fonctionnalité Autodiscovery de Datadog.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/prometheus">}}Prometheus et OpenMetrics : Recueillir vos métriques Prometheus et OpenMetrics exposées à partir d'une application exécutée dans Kubernetes.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/control_plane">}}Surveillance du plan de contrôle : Surveiller le serveur d'API Kubernetes, le controller manager, le scheduler et etcd.{{< /nextlink >}}
- {{< nextlink href="/agent/kubernetes/data_collected">}}Données collectées : Consulter la liste des métriques collectées par l'Agent lorsqu'il est déployé sur votre cluster Kubernetes.{{< /nextlink >}}
+Le flux Datadog Operator installe le Datadog Operator et utilise des ressources personnalisées pour configurer votre couverture d'observabilité.
+
+Le flux Helm Chart installe les composants Datadog de manière plus directe et offre des options similaires pour les fonctionnalités d'observabilité.
+
+Les deux options vous permettent de gérer une configuration : le Datadog Operator ou le Helm chart crée le DaemonSet de l'Agent Datadog, le déploiement du Cluster Agent et toutes leurs dépendances pour votre surveillance basée sur Kubernetes
+
+Voir [Versions prises en charge][6] pour la liste complète des versions de Kubernetes prises en charge par l'Agent Datadog.
+
+
+### Installation manuelle {#manual-installation}
+
+L'[outil d'installation dans l'application de Fleet Automation][5] fournit un moyen guidé de construire vos configurations. Vous pouvez également consulter la [documentation d'installation de Kubernetes][7] pour les étapes sur la façon de déployer et de configurer manuellement le Datadog Operator ou le Helm chart Datadog dans votre environnement
+
+Datadog recommande d'utiliser le Datadog Operator ou le Helm chart Datadog pour déployer toutes les ressources Kubernetes pour vous Si vous devez déployer tous les manifests directement, consultez la [documentation complète d'installation manuelle de Kubernetes][8].
+
+Pour les commandes de l'Agent, consultez les [guides des commandes de l'Agent][9]. Pour des informations sur le Datadog Cluster Agent et son rôle, consultez [Cluster Agent for Kubernetes][3].
+
+{{< whatsnext desc="Cette section comprend les sujets suivants :">}}
+ {{< nextlink href="/agent/kubernetes/installation">}}Installation : Installez l'Agent Datadog dans un environnement Kubernetes.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/configuration">}}Configuration supplémentaire : Collectez des événements, remplacez les paramètres du proxy, envoyez des métriques personnalisées avec DogStatsD, configurez des listes blanches et des listes noires de conteneurs, et consultez la liste complète des variables d'environnement disponibles.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/distributions">}}Distributions : Examinez les configurations de base pour les principales distributions Kubernetes, y compris AWS Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), Red Hat OpenShift, Rancher et Oracle Container Engine for Kubernetes (OKE).{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/apm">}}APM : Configurez la collecte de traces : configurez l'Agent pour accepter les traces, configurez vos Pods pour communiquer avec l'Agent, et configurez vos SDK d'application pour émettre des traces.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/appsec">}}Protection des applications et des API : Activez automatiquement la protection des applications et des API pour vos proxys d'entrée et passerelles Kubernetes afin de détecter les menaces et de protéger les API à la périphérie.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/csi">}}Pilote CSI : Installez et configurez le pilote CSI Datadog, et montez le socket UDS de DogStatsD et de l'Agent de traces en utilisant les volumes CSI Datadog.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/log">}}Collecte de journaux : Configurez la collecte de journaux dans un environnement Kubernetes.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/tag">}}Extraction de balises : Configurez l'Agent pour créer et attribuer des balises à toutes les métriques, traces et journaux émis par un conteneur, un Pod ou un nœud, en fonction des étiquettes ou des annotations Kubernetes.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/integrations">}}Intégrations et autodécouverte : Pour configurer des intégrations dans un environnement Kubernetes, utilisez la fonctionnalité d'autodécouverte de Datadog.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/prometheus">}}Prometheus et OpenMetrics : Collectez vos métriques Prometheus et OpenMetrics exposées depuis votre application s'exécutant à l'intérieur de Kubernetes.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/control_plane">}}Surveillance du plan de contrôle : Surveillez le serveur API Kubernetes, le gestionnaire de contrôleur, le planificateur et etcd.{{< /nextlink >}}
+ {{< nextlink href="/agent/kubernetes/data_collected">}}Données collectées : Consultez la liste des métriques collectées par l'Agent lorsqu'il est déployé sur votre cluster Kubernetes.{{< /nextlink >}}
{{< /whatsnext >}}
-## Pour aller plus loin
+## Lectures complémentaires {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
[1]: /fr/agent/faq/kubernetes-legacy/
[2]: /fr/agent/configuration/agent-commands/
-[3]: /fr/containers/cluster_agent/
\ No newline at end of file
+[3]: /fr/containers/cluster_agent/
+[4]: https://docs.datadoghq.com/fr/containers/datadog_operator/
+[5]: https://app.datadoghq.com/fleet/install-agent/latest?platform=kubernetes
+[6]: /fr/containers/kubernetes/installation?tab=datadogoperator#minimum-kubernetes-and-datadog-agent-versions
+[7]: /fr/containers/kubernetes/installation
+[8]: https://docs.datadoghq.com/fr/containers/guide/kubernetes_daemonset/
+[9]: /fr/agent/configuration/agent-commands/
\ No newline at end of file
diff --git a/content/fr/database_monitoring/_index.md b/content/fr/database_monitoring/_index.md
index 8c27ed8f277..a1aca2dc6d8 100644
--- a/content/fr/database_monitoring/_index.md
+++ b/content/fr/database_monitoring/_index.md
@@ -8,15 +8,29 @@ cascade:
rank: 70
description: En savoir plus sur la solution Database Monitoring et se lancer
further_reading:
+- link: https://www.datadoghq.com/blog/analyzing-roundtrip-query-latency
+ tag: Blog
+ text: Analyse de la latence des requêtes aller-retour
+- link: https://www.datadoghq.com/blog/database-monitoring-recommendations/
+ tag: Blog
+ text: Améliorez les performances de vos hosts de base de données et de vos requêtes
+ grâce aux recommandations de Database Monitoring (en anglais)
- link: https://www.datadoghq.com/blog/database-performance-monitoring-datadog
tag: Blog
- text: Surveiller et visualiser les performances de vos bases de données
+ text: Surveillez et visualisez les performances de vos bases de données
- link: https://www.datadoghq.com/blog/sql-server-and-azure-managed-services-database-monitoring/
tag: Blog
text: Surveiller des bases de données gérées par SQL Server et Azure avec Database Monitoring
+- link: https://www.datadoghq.com/blog/mongodb-database-monitoring/
+ tag: Blog
+ text: Suivre et dépanner les performances de MongoDB avec Datadog Database Monitoring
+- link: https://www.datadoghq.com/blog/datadog-database-research/
+ tag: Blog
+ text: Comment les architectures de microservices ont façonné l'utilisation des technologies
+ de base de données ?
- link: /database_monitoring/data_collected/
tag: Documentation
- text: Données collectées
+ text: Data Collected
- link: /database_monitoring/troubleshooting/
tag: Documentation
text: Dépannage
@@ -24,84 +38,118 @@ further_reading:
tag: Validation des bases
text: Prenez part à une session interactive pour améliorer la solution Database
Monitoring
+- link: https://learn.datadoghq.com/courses/database-monitoring
+ tag: Centre d'apprentissage
+ text: Surveillance d'une base de données Postgres avec Datadog DBM
title: Database Monitoring
---
+{{< learning-center-callout header="Rejoindre une session de webinaire d'initiation" hide_image="true" btn_title="Inscrivez-vous" btn_url="https://www.datadoghq.com/technical-enablement/sessions/?tags.topics-0=Database">}}
+ Avec la surveillance de base de données, apprenez à identifier rapidement les requêtes coûteuses et lentes. Plongez dans les détails d'exécution précis pour résoudre les goulets d'étranglement.
+{{< /learning-center-callout >}}
-{{< img src="database_monitoring/dbm-overview.png" alt="Database Monitoring" style="width:100%;">}}
-
-La solution Database Monitoring de Datadog vous permet d'analyser en détail vos bases de données parmi l'ensemble de vos hosts. Consultez les métriques de performance de vos requêtes, les plans d'exécution et les métriques issues de vos hosts depuis une plateforme centralisée afin de mieux surveiller la santé et les performances de vos bases de données tout en traitant chaque problème dès qu'il est détecté.
+La surveillance de base de données Datadog offre une visibilité approfondie sur les bases de données de tous vos hôtes. Explorez les métriques de performance des requêtes historiques, les plans d'explication et les métriques au niveau de l'hôte, le tout en un seul endroit, pour comprendre la santé et la performance de vos bases de données et résoudre les problèmes au fur et à mesure qu'ils surviennent.
-## Prise en main
+## Commencer {#getting-started}
-La solution Database Monitoring Datadog prend en charge la surveillance des versions cloud gérées et auto-hébergées de **Postgres**, **MySQL**, **Oracle** et **SQL Server**. Pour commencer à utiliser cette fonctionnalité, configurez votre base de données et installez l'Agent Datadog. Suivez les instructions de configuration correspondant à votre type de base de données :
+La surveillance des bases de données Datadog prend en charge les versions auto-hébergées et gérées dans le cloud de **Postgres**, **MySQL**, **Oracle**, **SQL Server**, **MongoDB**, **Amazon DocumentDB** et **ClickHouse**. Pour commencer avec la surveillance de base de données Datadog, configurez votre base de données et installez l'Agent Datadog. Pour les instructions d'installation, sélectionnez votre technologie de base de données :
-### Postgres
+### Postgres {#postgres}
{{< partial name="dbm/dbm-setup-postgres" >}}
-### MySQL
+### MySQL {#mysql}
{{< partial name="dbm/dbm-setup-mysql" >}}
-### Oracle
+### Oracle {#oracle}
{{< partial name="dbm/dbm-setup-oracle" >}}
-### SQL Server
+### SQL Server {#sql-server}
{{< partial name="dbm/dbm-setup-sql-server" >}}
-## Explorer la solution Database Monitoring Datadog
+### MongoDB {#mongodb}
-Accédez à Database Monitoring en cliquant sur **[APM > Databases][1]** depuis l'interface.
+{{< partial name="dbm/dbm-setup-mongodb" >}}
+
-### Analyser en détail les métriques de performance de vos requêtes
+### Amazon DocumentDB {#amazon-documentdb}
+
+{{< partial name="dbm/dbm-setup-documentdb" >}}
+
+
+### ClickHouse {#clickhouse}
+
+{{< partial name="dbm/dbm-setup-clickhouse" >}}
+
-La [vue Query Metrics][2] affiche l'historique des performances de vos requêtes normalisées. Visualisez les tendances de performance en fonction d'une infrastructure ou de tags personnalisés spécifiques, tels que la zone de disponibilité du centre de données, et définissez des alertes pour être informé en cas d'anomalie.
+## Explorez la surveillance de base de données Datadog {#explore-datadog-database-monitoring}
-- Identifiez les requêtes lentes et celles qui sollicitent le plus longtemps votre base de données.
-- Visualisez les métriques de base de données non capturées par APM, comme le nombre de lignes mises à jour et renvoyées.
-- Filtrez et regroupez vos requêtes en fonction de dimensions arbitraires, comme une équipe, un utilisateur, un cluster ou un host.
+Accédez à [Database Monitoring][1] dans Datadog.
+
+### Plongez dans les métriques de performance des requêtes {#dig-into-query-performance-metrics}
+
+La vue [Métriques de requêtes][2] montre la performance historique des requêtes normalisées. Visualisez les tendances de performance par infrastructure ou par balises personnalisées telles que la zone de disponibilité du centre de données, et définissez des alertes pour les anomalies.
+
+- Identifiez les requêtes lentes et celles qui consomment le plus de temps.
+- Affichez les métriques au niveau de la base de données non capturées par l'APM, telles que les lignes mises à jour/retournées.
+- Filtrez et regroupez les requêtes par dimensions arbitraires telles que l'équipe, l'utilisateur, le cluster et l'hôte.
{{< img src="database_monitoring/dbm-query-metrics-2.png" alt="Database Monitoring" style="width:100%;">}}
-### Explorer des exemples de requête
+### Explorez des échantillons de requêtes {#explore-query-samples}
-La [vue Query Samples][3] vous aide à identifier les requêtes qui s'exécutent à un instant donné. Comparez chaque exécution aux performances moyennes de la requête et de requêtes connexes.
+La vue [Échantillons de requêtes][3] vous aide à comprendre quelles requêtes s'exécutent à un moment donné. Comparez chaque exécution à la performance moyenne de la requête et des requêtes connexes.
-- Identifiez les requêtes anormalement lentes mais peu fréquentes qui ne sont pas capturées par les métriques.
-- Identifiez les anomalies dans les temps et les coûts d'exécution de vos requêtes.
-- Attribuez l'exécution d'une requête spécifique à un utilisateur, une application ou un host client.
+- Identifiez les requêtes anormalement lentes mais peu fréquentes non capturées par les métriques.
+- Trouvez des valeurs aberrantes dans le temps d'exécution ou le coût d'exécution d'une requête.
+- Attribuez une exécution de requête spécifique à un utilisateur, une application ou un hôte client.
{{< img src="database_monitoring/dbm-query-sample-2.png" alt="Database Monitoring" style="width:100%;">}}
-### Consulter chaque opération d'une requête avant son exécution
+### Comprenez avant d'exécuter {#understand-before-you-run}
-Les [plans d'exécution][4] vous aident à comprendre comment la base de données compte exécuter vos requêtes.
+Les [plans d'exécution][4] vous permettent de déterminer comment une base de données va exécuter vos requêtes.
-- Visualisez en détail chaque opération pour identifier les goulots d'étranglement.
-- Améliorez l'efficacité de vos requêtes et limitez les analyses séquentielles de vastes tables pour réduire vos coûts.
-- Consultez l'évolution du plan d'une requête.
+- Passez en revue chaque opération pour identifier les goulets d'étranglement.
+- Améliorez l'efficacité des requêtes et économisez sur les analyses séquentielles coûteuses sur de grandes tables.
+- Voyez comment le plan d'une requête évolue au fil du temps.
{{< img src="database_monitoring/dbm-explain-plan-3.png" alt="Database Monitoring" style="width:100%;">}}
-### Visualiser toutes vos données dans des dashboards enrichis
+### Collectez des métriques personnalisées {#collect-custom-metrics}
+
+Utilisez [`custom_queries`][7] pour collecter des métriques de vos propres tables de base de données — état de l'application, compteurs d'affaires, profondeurs de file d'attente, ou toute donnée que vous souhaitez corréler avec la performance des requêtes.
+
+### Visualisez tout sur des tableaux de bord enrichis {#visualize-everything-on-enriched-dashboards}
-Identifiez rapidement vos problèmes en visualisant vos métriques de base de données et vos métriques système au sein de dashboards d'intégration détaillés pour les instances auto-hébergées et celles gérées dans le cloud. Dupliquez des dashboards pour les personnaliser et les enrichir avec vos propres métriques. Cliquez sur le lien **Dashboards** en haut des pages Query Metrics et Query Samples pour accéder aux dashboards Database Monitoring.
+Identifiez rapidement les zones problématiques en visualisant ensemble les métriques de la base de données et du système sur des tableaux de bord d'intégration enrichis pour les instances auto-hébergées et gérées dans le cloud. Clonez les tableaux de bord pour les personnaliser et les améliorer avec vos propres métriques personnalisées. Cliquez sur le lien {{< ui >}}Dashboards{{< /ui >}} en haut des pages Métriques de requête et Échantillons de requête pour accéder aux tableaux de bord de surveillance de la base de données.
{{< img src="database_monitoring/dbm-dashboard-postgres.png" alt="Database Monitoring" style="width:100%;">}}
-### Optimiser les performances et la santé des hosts
+### Optimisez la santé et la performance de l'hôte {#optimize-host-health-and-performance}
+
+Sur la [page des bases de données][1], vous pouvez évaluer la santé et l'activité de vos hôtes de base de données. Triez et filtrez la liste pour prioriser les hôtes avec des alertes déclenchées, un volume de requêtes élevé et d'autres critères. Cliquez sur un hôte individuel pour voir des détails tels que sa configuration, les requêtes de blocage courantes et les services appelants. Voir [Explorer les hôtes de base de données][5] pour plus de détails.
+
+{{< img src="database_monitoring/databases-list.png" alt="La page des bases de données dans Datadog" style="width:90%;" >}}
+
+### Voir les recommandations d'optimisation {#view-optimization-recommendations}
+
+La [page des recommandations][6] met en évidence les problèmes et les opportunités d'optimisation, vous aidant à gagner du temps en priorisant ce qui est le plus important. Sélectionnez une recommandation pour voir les détails, y compris un résumé du problème, ainsi que les étapes potentielles à suivre pour résoudre le problème.
+
+{{< img src="database_monitoring/recommendations-page.png" alt="La page des recommandations dans Datadog" style="width:90%;" >}}
-Depuis la [page Databases][1], vous pouvez évaluer la santé et l'activité des hosts de vos bases de données. Triez et filtrez la liste pour mettre en avant les hosts pour lesquels des alertes ont été déclenchées, ceux avec un important volume de requête, etc. Cliquez sur un host spécifique pour afficher ses détails, notamment sa configuration, ses principales requêtes bloquées et les services appelés. Consultez la section [Explorer les hosts de base de données][5] pour en savoir plus.
-{{< img src="database_monitoring/databases-list.png" alt="La page Databases dans Datadog" style="width:90%;" >}}
+## Lectures complémentaires {#further-reading}
-## Pour aller plus loin
+{{< learning-center-callout header="Essayez de surveiller une base de données Postgres avec Datadog DBM dans le Centre d'apprentissage" btn_title="Inscrivez-vous maintenant" btn_url="https://learn.datadoghq.com/courses/database-monitoring">}}
+ Le Centre d'apprentissage Datadog est rempli de cours pratiques pour vous aider à en apprendre davantage sur ce sujet. Inscrivez-vous gratuitement pour identifier les inefficacités et optimiser votre base de données Postgres.
+{{< /learning-center-callout >}}
{{< partial name="whats-next/whats-next.html" >}}
@@ -109,4 +157,6 @@ Depuis la [page Databases][1], vous pouvez évaluer la santé et l'activité des
[2]: /fr/database_monitoring/query_metrics/
[3]: /fr/database_monitoring/query_samples/
[4]: /fr/database_monitoring/query_metrics/#explain-plans
-[5]: /fr/database_monitoring/database_hosts/
\ No newline at end of file
+[5]: /fr/database_monitoring/database_hosts/
+[6]: /fr/database_monitoring/recommendations/
+[7]: /fr/database_monitoring/custom_metrics/
\ No newline at end of file
diff --git a/content/fr/database_monitoring/guide/aurora_autodiscovery.md b/content/fr/database_monitoring/guide/aurora_autodiscovery.md
index e8128e24ba6..7e99a226a75 100644
--- a/content/fr/database_monitoring/guide/aurora_autodiscovery.md
+++ b/content/fr/database_monitoring/guide/aurora_autodiscovery.md
@@ -1,37 +1,37 @@
---
aliases:
- /fr/database_monitoring/aurora_autodiscovery
-title: Configurer Database Monitoring pour les clusters Amazon Aurora DB
+title: Configuration de la surveillance de base de données pour les clusters de bases
+ de données Amazon Aurora
---
+Ce guide suppose que vous avez configuré la surveillance de base de données pour vos bases de données Amazon Aurora [Postgres][1] ou [MySQL][11].
-Ce guide part du principe que vous avez configuré Database Monitoring pour vos bases de données Amazon Aurora [Postgres][1] ou [MySQL][11].
-
-## Avant de commencer
+## Avant de commencer {#before-you-begin}
Bases de données prises en charge
: Postgres, MySQL
-Versions de l'Agent prises en charge
+Versions d'agent prises en charge
: 7.53.0+
-## Présentation
+## Aperçu {#overview}
-La fonctionnalité [Autodiscovery][4] de Datadog vous permet de configurer la surveillance dans des infrastructures dynamiques. Utilisez cette fonctionnalité pour surveiller vos clusters Aurora sans avoir à lister les endpoints individuels des hosts de base de données (par exemple, `postgres.d/conf.yaml`). Cela est particulièrement utile pour les clusters qui utilisent [Aurora Auto Scaling][6], qui ajuste dynamiquement le nombre de réplicas Aurora en fonction des variations de connectivité ou de charge de travail. Autodiscovery découvre et surveille automatiquement les instances des endpoints primaires et des réplicas.
+L'[Autodécouverte][4] de Datadog vous permet de configurer la surveillance dans des infrastructures dynamiques. Vous pouvez utiliser cette fonctionnalité pour surveiller vos clusters Aurora sans avoir à lister les points de terminaison des hôtes de base de données individuels (par exemple, `postgres.d/conf.yaml`). Cela est particulièrement utile pour les clusters qui utilisent [Aurora Auto Scaling][6], qui ajuste dynamiquement le nombre d'Aurora Replicas en réponse aux variations de connectivité ou de charge de travail. L'autodécouverte découvre et surveille automatiquement les instances d'endpoint primary et replica.
-Avec Autodiscovery et Database Monitoring, définissez des modèles de configuration pour les checks Postgres ou MySQL et spécifiez les clusters auxquels appliquer chaque check.
+Avec l'autodécouverte et la surveillance de base de données, vous pouvez définir des modèles de configuration pour les checks Postgres ou MySQL et spécifier à quels clusters appliquer chaque check.
-## Activer Autodiscovery pour les clusters Aurora
+## Activation de l'autodécouverte pour les clusters Aurora {#enabling-autodiscovery-for-aurora-clusters}
-1. [Accorder des autorisations AWS](#accorder-des-autorisations-aws)
-2. [Configurer les tags Aurora](#configurer-les-tags-aurora)
-3. [Configurer l'Agent Datadog](#configurer-lagent-datadog)
-4. [Créer un modèle de configuration](#créer-un-modèle-de-configuration)
+1. [Accorder des autorisations AWS](#grant-aws-permissions)
+2. [Configurer les balises Aurora](#configure-aurora-tags)
+3. [Configurer le Datadog Agent](#configure-the-datadog-agent)
+4. [Créer un modèle de configuration](#create-a-configuration-template)
-### Accorder des autorisations AWS
+### Accorder des autorisations AWS {#grant-aws-permissions}
-L'Agent Datadog doit disposer de l'autorisation d'exécuter `rds:DescribeDBClusters` et `rds:DescribeDBInstances` dans votre compte AWS. Datadog recommande d'attacher une politique de rôle IAM à l'instance EC2 sur laquelle l'Agent s'exécute.
+Le Datadog Agent nécessite l'autorisation d'exécuter `rds:DescribeDBClusters` et `rds:DescribeDBInstances` dans votre compte AWS. Datadog recommande d'attacher une politique de rôle IAM à l'instance EC2 sur laquelle le Datadog Agent s'exécute.
-Exemple de politique accordant ces autorisations :
+Un exemple de politique qui accorde ces autorisations :
```json
{
@@ -54,17 +54,17 @@ Exemple de politique accordant ces autorisations :
Vous pouvez également attacher la politique [`AmazonRDSReadOnlyAccess`][3].
-### Configurer les tags Aurora
+### Configurer les balises Aurora {#configure-aurora-tags}
-Le listener découvre tous les clusters Aurora du compte et de la région où l'Agent s'exécute et auxquels le tag `datadoghq.com/scrape:true` est appliqué. Vous pouvez également configurer l'Agent pour découvrir les clusters avec des tags spécifiques.
+Le listener découvre tous les clusters Aurora dans le compte et la région où l'Agent est en cours d'exécution et qui ont la balise `datadoghq.com/scrape:true` appliquée. Vous pouvez également configurer le Datadog Agent pour découvrir des clusters avec des balises spécifiques.
-Appliquez ces tags au cluster DB (rôle : `Regional cluster`). Pour plus d'informations sur l'application de tags aux ressources RDS, consultez la section [documentation AWS][7].
+Vous devez appliquer ces balises au cluster de base de données (Rôle : `Regional cluster`). Pour plus d'informations sur l'étiquetage des ressources RDS, consultez la [documentation AWS][7].
-Si vous configurez `tags` comme un tableau vide, Autodiscovery découvrira tous les clusters du compte et de la région.
+Si vous configurez `tags` comme un tableau vide, l'Autodécouverte découvrira tous les clusters dans le compte et la région.
-### Configurer l'Agent Datadog
+### Configurer le Datadog Agent {#configure-the-datadog-agent}
-Autodiscovery utilise un listener de service de l'Agent qui découvre tous les endpoints des hosts de base de données dans un cluster Aurora et transfère les endpoints découverts au pipeline de planification des checks de l'Agent existant. Configurez le listener dans le fichier `datadog.yaml` :
+L'autodécouverte utilise un listener de service du Datadog Agent, qui découvre tous les endpoints des hôtes de base de données dans un cluster Aurora et transmet les endpoints découverts au pipeline de planification des checks existants. Vous pouvez configurer le listener dans le fichier `datadog.yaml` :
```yaml
database_monitoring:
@@ -73,7 +73,7 @@ database_monitoring:
enabled: true
```
-**Remarque** : l'Agent ne découvre que les instances Aurora s'exécutant dans la même région que l'Agent. Pour déterminer la région de l'instance, l'Agent utilise [IMDS (Instance Metadata Service)][8]. Si votre instance EC2 requiert `IMDSv2`, configurez l'Agent pour utiliser `IMDSv2` en définissant `ec2_prefer_imdsv2: true` dans `datadog.yaml`, comme indiqué ci-dessous :
+**Remarque** : Le Datadog Agent ne découvre que les instances Aurora s'exécutant dans la même région où il s'exécute. Pour déterminer la région de l'instance, le Datadog Agent utilise [IMDS (Instance Metadata Service)][8]. Si votre instance EC2 nécessite `IMDSv2`, vous devez configurer le Datadog Agent pour utiliser `IMDSv2` en définissant `ec2_prefer_imdsv2: true` dans `datadog.yaml`, comme indiqué ci-dessous :
``` yaml {hl_lines=[1]}
ec2_prefer_imdsv2: true
@@ -81,11 +81,12 @@ database_monitoring:
autodiscovery:
aurora:
enabled: true
+
```
-Par défaut, le listener ne découvre que les clusters Aurora du compte et de la région où l'Agent s'exécute, et uniquement ceux portant le tag `datadoghq.com/scrape:true`. Vous pouvez également configurer le listener pour découvrir les clusters avec des tags spécifiques.
+By default, the listener only discovers Aurora clusters in the account and region where the Agent is running, and only those with the `datadoghq.com/scrape:true` tag. You can also configure the listener to discover clusters with specific tags.
-Pour spécifier des tags personnalisés pour la découverte de clusters Aurora dans le fichier `datadog.yaml` :
+To specify custom tags for Aurora cluster discovery in the `datadog.yaml` file:
``` yaml {hl_lines=["5-6"]}
database_monitoring:
@@ -96,7 +97,7 @@ database_monitoring:
- "my-cluster-tag-key:value"
```
-Pour surveiller tous les clusters du compte et de la région :
+To monitor all clusters in the account and region:
``` yaml {hl_lines=["5"]}
database_monitoring:
@@ -104,9 +105,10 @@ database_monitoring:
aurora:
enabled: true
tags: []
+
```
-Le listener interroge l'API AWS pour obtenir la liste des hosts en boucle. La fréquence à laquelle le listener interroge l'API AWS, en secondes, est configurable dans le fichier `datadog.yaml` :
+The listener queries the AWS API for the list of hosts in a loop. The frequency with which the listener queries the AWS API, in seconds, is configurable in the `datadog.yaml` file:
``` yaml {hl_lines=["5"]}
database_monitoring:
@@ -116,7 +118,7 @@ database_monitoring:
discovery_interval: 300
```
-Le listener fournit une variable `%%extra_dbm%%` qui peut être utilisée pour activer ou désactiver DBM pour l'instance. Cette valeur est par défaut `true` si le tag `datadoghq.com/dbm:true` est présent. Pour spécifier un tag personnalisé pour cette valeur, utilisez `dbm_tag` :
+The listener provides an `%%extra_dbm%%` variable that can be used to enable or disable DBM for the instance. This value defaults to `true` if the tag `datadoghq.com/dbm:true` is present. To specify a custom tag for this value use `dbm_tag`:
``` yaml {hl_lines=["5"]}
database_monitoring:
@@ -124,11 +126,12 @@ database_monitoring:
aurora:
enabled: true
dbm_tag: "use_dbm:true"
+
```
-La valeur `%%extra_dbm%%` est true si le tag est présent, et false dans le cas contraire. Elle ne prend pas la valeur du tag.
+The `%%extra_dbm%%` value is true if the tag is present, and false otherwise. It does not set its value to the value of the tag.
-Le listener fournit une variable `%%extra_global_view_db%%` qui peut être utilisée pour définir le `global_view_db` de l'instance. Cette valeur est par défaut celle du tag `datadoghq.com/global_view_db`. Pour spécifier un tag personnalisé pour cette valeur, utilisez `global_view_db_tag` :
+The listener provides an `%%extra_global_view_db%%` variable that can be used to set the `global_view_db` for the instance. This value defaults to the value of the tag `datadoghq.com/global_view_db`. To specify a custom tag for this value use `global_view_db_tag`:
``` yaml {hl_lines=["5"]}
database_monitoring:
@@ -138,21 +141,21 @@ database_monitoring:
global_view_db_tag: "my_db_tag"
```
-### Créer un modèle de configuration
+### Create a configuration template
-L'Agent Datadog prend en charge les modèles de configuration pour les intégrations Postgres et MySQL. Définissez un modèle de configuration pour les clusters Aurora que vous souhaitez surveiller.
+The Datadog Agent supports configuration templates for the Postgres and MySQL integrations. Define a configuration template for the Aurora clusters you wish to monitor.
{{< tabs >}}
{{% tab "Postgres" %}}
-Commencez par ajouter un `ad_identifier` pour Postgres géré par Aurora dans votre fichier de modèle de configuration (`postgres.d/conf_aws_aurora.yaml`) :
+Tout d'abord, ajoutez un `ad_identifier` pour Postgres géré par Aurora à votre modèle de configuration (`postgres.d/conf_aws_aurora.yaml`) :
```yaml
ad_identifiers:
- _dbm_postgres_aurora
```
-Définissez ensuite le reste du modèle. Utilisez des [variables de modèle](#variables-de-modèle-prises-en-charge) pour les paramètres susceptibles de changer, comme `host` et `port`.
+Ensuite, définissez le reste du modèle. Utilisez [les variables de modèle](#supported-template-variables) pour les paramètres qui peuvent changer, tels que `host` et `port`.
```yaml
ad_identifiers:
@@ -173,17 +176,17 @@ instances:
- "region:%%extra_region%%"
```
-Dans cet exemple, les variables de modèle `%%host%%`, `%%port%%`, `%%extra_dbclusteridentifier%%`, `%%extra_dbm%%` et `%%extra_region%%` sont dynamiquement renseignées avec les informations du cluster Aurora.
+Dans cet exemple, les variables de modèle `%%host%%`, `%%port%%`, `%%extra_dbclusteridentifier%%`, `%%extra_dbm%%` et `%%extra_region%%` sont peuplées dynamiquement avec des informations provenant du cluster Aurora.
-#### Authentification
+#### Authentification {#authentication}
-Si vous utilisez un mot de passe pour l'authentification, notez que le mot de passe fourni dans ce fichier de modèle sera utilisé pour chaque base de données découverte.
+Si vous utilisez un mot de passe pour l'authentification, notez que le mot de passe fourni dans ce fichier modèle sera utilisé dans chaque base de données découverte.
-{{% collapse-content title="Stocker votre mot de passe de manière sécurisée" level="h5" id="securely-store-your-password" %}}
-##### Stocker votre mot de passe de manière sécurisée
+{{% collapse-content title="Stockez votre mot de passe en toute sécurité" level="h5" id="securely-store-your-password" %}}
+##### Stockez votre mot de passe en toute sécurité {#securely-store-your-password}
{{% dbm-secret %}}
-Le modèle de configuration exemple suivant est appliqué à chaque instance découverte dans le cluster Aurora :
+Le modèle de configuration d'exemple suivant est appliqué à chaque instance découverte dans le cluster Aurora :
``` yaml {hl_lines=[8]}
ad_identifiers:
@@ -201,13 +204,14 @@ instances:
tags:
- "dbclusteridentifier:%%extra_dbclusteridentifier%%"
- "region:%%extra_region%%"
+
```
{{% /collapse-content %}}
-{{% collapse-content title="Authentification IAM" level="h5" id="iam-authentication" %}}
-##### Authentification IAM
+{{% collapse-content title="IAM Authentication" level="h5" id="iam-authentication" %}}
+##### IAM Authentication
-Pour utiliser l'[authentification IAM][2] afin de vous connecter à votre cluster Aurora, utilisez le modèle suivant :
+To use [IAM authentication][2] to connect to your Aurora cluster, use the following template:
``` yaml {hl_lines=["12-13"]}
ad_identifiers:
@@ -228,14 +232,14 @@ instances:
- "region:%%extra_region%%"
```
-La variable de modèle `%%extra_managed_authentication_enabled%%` prend la valeur `true` si l'instance utilise l'authentification IAM.
+The template variable `%%extra_managed_authentication_enabled%%` resolves to `true` if the instance is using IAM authentication.
[2]: /fr/database_monitoring/guide/managed_authentication/?tab=aurora#configure-iam-authentication
{{% /collapse-content %}}
{{% collapse-content title="Custom global_view_db (7.75.0+)" level="h5" id="global-view-db" %}}
-##### Base de données de vue globale personnalisée
+##### Custom global_view_db {#custom-global-view-database}
-Pour définir une base de données de vue globale personnalisée pour la découverte automatique de bases de données, assurez-vous d'utiliser la version 7.75.0 ou ultérieure de l'Agent et utilisez le modèle suivant :
+Pour définir un Custom global_view_db pour l'autodécouverte de base de données, assurez-vous d'utiliser le Datadog Agent version 7.75.0 ou supérieure et utilisez le modèle suivant :
``` yaml {hl_lines=["11"]}
ad_identifiers:
@@ -248,26 +252,27 @@ instances:
dbm: true
database_autodiscovery:
enabled: true
- global_view_db: "%%global_view_db%%"
+ global_view_db: "%%extra_global_view_db%%"
aws:
instance_endpoint: "%%host%%"
region: "%%extra_region%%"
tags:
- "dbclusteridentifier:%%extra_dbclusteridentifier%%"
- "region:%%extra_region%%"
+
```
{{% /collapse-content %}}
{{% /tab %}}
{{% tab "MySQL" %}}
-Commencez par ajouter un `ad_identifier` pour MySQL géré par Aurora dans votre fichier de modèle de configuration (`mysql.d/conf_aws_aurora.yaml`) :
+First, add an `ad_identifier` for Aurora-managed MySQL to your configuration template (`mysql.d/conf_aws_aurora.yaml`) file:
```yaml
ad_identifiers:
- _dbm_mysql_aurora
```
-Définissez ensuite le reste du modèle. Utilisez des [variables de modèle](#variables-de-modèle-prises-en-charge) pour les paramètres susceptibles de changer, comme `host` et `port`.
+Then, define the remainder of the template. Use [template variables](#supported-template-variables) for parameters that may change, such as `host` and `port`.
```yaml
ad_identifiers:
@@ -286,17 +291,17 @@ instances:
- "region:%%extra_region%%"
```
-Dans cet exemple, les variables de modèle `%%host%%`, `%%port%%`, `%%extra_dbclusteridentifier%%`, `%%extra_dbm%%` et `%%extra_region%%` sont dynamiquement renseignées avec les informations du cluster Aurora.
+In this example, the template variables `%%host%%`, `%%port%%`, `%%extra_dbclusteridentifier%%`, `%%extra_dbm%%`, and `%%extra_region%%` are dynamically populated with information from the Aurora cluster.
-#### Authentification
+#### Authentication
-Si vous utilisez un mot de passe pour l'authentification, notez que le mot de passe fourni dans ce fichier de modèle sera utilisé pour chaque base de données découverte.
+If you are using password for authentication note that the password provided in this template file will be used across every database discovered.
-{{% collapse-content title="Stocker votre mot de passe de manière sécurisée" level="h5" id="securely-store-your-password" %}}
-##### Stocker votre mot de passe de manière sécurisée
+{{% collapse-content title="Stockez votre mot de passe en toute sécurité" level="h5" id="securely-store-your-password" %}}
+##### Stockez votre mot de passe en toute sécurité {#securely-store-your-password-1}
{{% dbm-secret %}}
-Le modèle de configuration exemple suivant est appliqué à chaque instance découverte dans le cluster Aurora :
+Le modèle de configuration d'exemple suivant est appliqué à chaque instance découverte dans le cluster Aurora :
``` yaml {hl_lines=[8]}
ad_identifiers:
@@ -314,13 +319,14 @@ instances:
tags:
- "dbclusteridentifier:%%extra_dbclusteridentifier%%"
- "region:%%extra_region%%"
+
```
{{% /collapse-content %}}
-{{% collapse-content title="Authentification IAM (7.67.0+)" level="h5" id="iam-authentication" %}}
-##### Authentification IAM
+{{% collapse-content title="IAM Authentication (7.67.0+)" level="h5" id="iam-authentication" %}}
+##### IAM Authentication
-Pour utiliser l'[authentification IAM][2] afin de vous connecter à votre instance RDS, assurez-vous d'utiliser la version 7.67.0 ou ultérieure de l'Agent et utilisez le modèle suivant :
+To use [IAM authentication][2] to connect to your RDS instance, make sure that you are using Agent version 7.67.0 or above and use the following template:
``` yaml {hl_lines=["12-13"]}
ad_identifiers:
@@ -341,26 +347,26 @@ instances:
- "region:%%extra_region%%"
```
-La variable de modèle `%%extra_managed_authentication_enabled%%` prend la valeur `true` si l'instance utilise l'authentification IAM.
+The template variable `%%extra_managed_authentication_enabled%%` resolves to `true` if the instance is using IAM authentication.
[2]: /fr/database_monitoring/guide/managed_authentication/?tab=aurora#configure-iam-authentication
{{% /collapse-content %}}
{{% /tab %}}
{{< /tabs >}}
-Pour plus d'informations sur la configuration d'Autodiscovery avec des intégrations, consultez la section [documentation Autodiscovery][5].
+Pour plus d'informations sur la configuration de l'autodécouverte avec des intégrations, consultez la [documentation sur l'autodécouverte][5].
-#### Template variables utilisables
+#### Variables de modèle prises en charge {#supported-template-variables}
-| Template variable | Source |
+| Variable de modèle | Source |
|:-----------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------|
| %%host%% | L'endpoint de l'instance Aurora |
| %%port%% | Le port de l'instance Aurora |
-| %%extra_region%% | La région AWS où l'instance est hébergée |
-| %%extra_dbclusteridentifier%% | L'identifiant du cluster Aurora découvert |
-| %%extra_dbm%% | Indique si DBM est activé sur le cluster. Déterminé par la présence de `dbm_tag`, dont la valeur par défaut est `datadoghq.com/dbm:true`. |
-| %%extra_managed_authentication_enabled%% | Indique si l'authentification IAM est activée sur le cluster.
Utilisé pour déterminer si l'authentification gérée doit être utilisée pour la connexion. |
-| %%global_view_db%% | La valeur de `global_view_db_tag`, dont la valeur par défaut est `datadoghq.com/global_view_db`. |
+| %%extra_region%% | La région AWS où se trouve l'instance |
+| %%extra_dbclusteridentifier%% | L'identifiant du cluster de l'Aurora découvert |
+| %%extra_dbm%% | Indique si DBM est activé sur le cluster. Déterminé par la présence de `dbm_tag`, qui par défaut est `datadoghq.com/dbm:true`. |
+| %%extra_managed_authentication_enabled%% | Indique si l'authentification IAM est activée sur le cluster.
Ceci est utilisé pour déterminer si l'authentification gérée doit être utilisée pour la connexion. |
+| %%extra_global_view_db%% | La valeur de `global_view_db_tag`, qui par défaut est `datadoghq.com/global_view_db`. |
[1]: /fr/database_monitoring/setup_postgres/aurora/?tab=postgres10
[3]: https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSReadOnlyAccess.html
diff --git a/content/fr/database_monitoring/setup_sql_server/rds.md b/content/fr/database_monitoring/setup_sql_server/rds.md
index d41f8042350..df94eed359f 100644
--- a/content/fr/database_monitoring/setup_sql_server/rds.md
+++ b/content/fr/database_monitoring/setup_sql_server/rds.md
@@ -1,6 +1,6 @@
---
-description: Installer et configurer Database Monitoring pour SQL Server géré sur
- RDS.
+description: Installez et configurez la surveillance de la base de données pour SQL
+ Server géré sur RDS.
further_reading:
- link: /integrations/sqlserver/
tag: Documentation
@@ -10,40 +10,41 @@ further_reading:
text: Résoudre les problèmes courants
- link: /database_monitoring/guide/sql_deadlock/
tag: Documentation
- text: Configurer la surveillance des deadlocks
+ text: Configurez la surveillance des blocages.
- link: /database_monitoring/guide/sql_extended_events/
tag: Documentation
- text: Configurer la collecte des fins de requêtes et des erreurs de requêtes
+ text: Configurez la collecte de l'achèvement des requêtes et des erreurs de requête.
- link: /database_monitoring/guide/parameterized_queries/
tag: Documentation
- text: Capture des valeurs de paramètres de requêtes SQL
-title: Configuration de Database Monitoring pour SQL Server sur Amazon RDS
+ text: Capturez les valeurs des paramètres de requête SQL.
+title: Configuration de la surveillance de la base de données pour SQL Server sur
+ Amazon RDS.
---
+La solution Database Monitoring vous permet de bénéficier d'une visibilité complète sur vos bases de données Microsoft SQL Server, en exposant des métriques de requête, des échantillons de requête, des plans d'exécution, des états, des failovers et des événements de base de données.
-La solution Database Monitoring vous permet de bénéficier d'une visibilité complète sur vos bases de données Microsoft SQL Server, en exposant des métriques de requête, des échantillons de requête, des plans d'exécution, ainsi que des états, des failovers et des événements de base de données.
+Pour activer la solution Database Monitoring pour votre base de données, suivez les étapes ci-dessous :
-Pour activer la solution Database Monitoring pour votre base de données, suivez les étapes ci-dessous :
+1. [Configurez l'intégration AWS](#configure-the-aws-integration)
+1. [Accordez l'accès à l'Agent](#grant-the-agent-access)
+1. [Installez l'Agent](#install-the-agent)
+1. [Installez l'intégration RDS](#install-the-rds-integration)
-1. [Configurer l'intégration AWS](#configurer-lintegration-aws)
-1. [Accorder un accès à l'Agent](#accorder-un-acces-a-l-agent)
-1. [Installer l'Agent](#installer-l-agent)
-1. [Installer l'intégration RDS](#installer-l-integration-rds)
+## Avant de commencer {#before-you-begin}
-## Avant de commencer
-
-Versions de SQL Server prises en charge : 2014, 2016, 2017, 2019, 2022
+Versions de SQL Server prises en charge
+: 2014, 2016, 2017, 2019, 2022
{{% dbm-sqlserver-before-you-begin %}}
-## Configurer l'intégration AWS
+## Configurez l'intégration AWS {#configure-the-aws-integration}
-Activez la **collecte standard** dans la section **Collecte de ressources** de votre [carré d'intégration Amazon Web Services][2].
+Activez {{< ui >}}Standard Collection{{< /ui >}} dans la section {{< ui >}}Resource Collection{{< /ui >}} de votre [tuile d'intégration Amazon Web Services][2].
-## Accorder un accès à l'Agent
+## Accordez l'accès à l'Agent {#grant-the-agent-access}
-L'Agent Datadog requiert un accès en lecture seule au serveur de la base de données, afin de pouvoir recueillir les statistiques et requêtes.
+L'Agent Datadog requiert un accès en lecture seule pour le serveur de la base de données, afin de pouvoir recueillir les statistiques et requêtes.
-Créez une connexion en lecture seule pour vous connecter au serveur et attribuez les autorisations requises :
+Créez une connexion en lecture seule pour vous connecter au serveur en attribuant les autorisations requises :
```SQL
USE [master];
@@ -67,26 +68,27 @@ GRANT VIEW ANY DEFINITION to datadog;
GO
```
-Créez l'utilisateur `datadog` dans chaque base de données de l'application supplémentaire :
+Créez l'utilisateur `datadog` dans chaque base de données d'application supplémentaire :
+
```SQL
USE [database_name];
CREATE USER datadog FOR LOGIN datadog;
```
-Cela est nécessaire car RDS n'autorise pas l'octroi de `CONNECT ANY DATABASE`. L'Agent Datadog doit se connecter à chaque base de données pour collecter les statistiques d'E/S de fichiers spécifiques à chaque base de données.
+Ceci est requis car RDS ne permet pas d'accorder `CONNECT ANY DATABASE`. L'Agent Datadog doit se connecter à chaque base de données pour collecter des statistiques spécifiques aux fichiers I/O de la base de données.
-### Stocker votre mot de passe de manière sécurisée
+### Stockez votre mot de passe de manière sécurisée {#securely-store-your-password}
{{% dbm-secret %}}
-## Installer l'Agent
+## Installez l'Agent {#install-the-agent}
-AWS n'accordant pas d'accès direct à l'hôte, l'Agent Datadog doit être installé sur un hôte distinct depuis lequel il peut communiquer avec l'hôte SQL Server. Plusieurs options sont disponibles pour installer et exécuter l'Agent.
+Parce qu'AWS ne permet pas l'accès direct à l'hôte, l'Agent Datadog doit être installé sur un hôte séparé où il peut communiquer avec l'hôte SQL Server. Il existe plusieurs options pour installer et exécuter l'Agent.
{{< tabs >}}
-{{% tab "Windows Host" %}}
+{{% tab "Hôte Windows" %}}
{{% dbm-alwayson-cloud-hosted %}}
-Pour commencer à collecter des données de télémétrie SQL Server, [installez l'Agent Datadog][1], puis créez le fichier de configuration de l'Agent SQL Server à l'emplacement `C:\ProgramData\Datadog\conf.d\sqlserver.d\conf.yaml`. Consultez le [fichier de configuration d'exemple][2] pour obtenir toutes les options de configuration disponibles.
+Pour commencer à collecter la télémétrie SQL Server, [installez l'Agent Datadog][1], puis créez le fichier de configuration de l'Agent SQL Server à `C:\ProgramData\Datadog\conf.d\sqlserver.d\conf.yaml`. Référez-vous au [fichier de configuration d'exemple][2] pour toutes les options de configuration disponibles.
```yaml
init_config:
@@ -105,25 +107,26 @@ instances:
instance_endpoint: ''
```
-Pour utiliser l'[authentification Windows][4], définissez `connection_string: "Trusted_Connection=yes"` et ne remplissez pas les champs `username` et `password`.
+Pour utiliser [l'authentification Windows][4], définissez `connection_string: "Trusted_Connection=yes"` et omettez les champs `username` et `password`.
+
+Utilisez les balises `service` et `env` pour lier votre télémétrie de base de données à d'autres télémétries via un schéma de balisage commun. Consultez [Balisage de service unifié][5] pour des détails sur l'utilisation de ces balises dans Datadog.
-Utilisez les tags `service` et `env` pour associer vos données de télémétrie de base de données à d'autres données de télémétrie via un schéma de tagging commun. Consultez la section [Tagging de service unifié][5] pour en savoir plus sur l'utilisation de ces tags dans Datadog.
+### Pilotes pris en charge {#supported-drivers}
-### Pilotes compatibles
+#### Microsoft ADO {#microsoft-ado}
-#### Microsoft ADO
+Le fournisseur [ADO][6] recommandé est le [Pilote OLE DB de Microsoft][7]. Assurez-vous que le pilote est installé sur l'hôte où l'Agent fonctionne.
-Le fournisseur [ADO][6] recommandé est [Microsoft OLE DB Driver][7]. Vérifiez que le pilote est installé sur l'hôte sur lequel l'Agent s'exécute.
```yaml
connector: adodbapi
-adoprovider: MSOLEDBSQL19 # Remplacer cette valeur par MSOLEDBSQL pour la version 18 et les versions antérieures
+adoprovider: MSOLEDBSQL19 # Replace with MSOLEDBSQL for versions 18 and lower
```
Les deux autres fournisseurs, `SQLOLEDB` et `SQLNCLI`, sont considérés comme obsolètes par Microsoft et ne doivent pas être utilisés.
-#### ODBC
+#### ODBC {#odbc}
-Le pilote ODBC recommandé est [Microsoft ODBC Driver][8]. À partir de l'Agent 7.51, ODBC Driver 18 for SQL Server est inclus par défaut dans l'Agent Linux. Pour Windows, vérifiez que le pilote est installé sur l'hôte sur lequel l'Agent s'exécute.
+Le pilote ODBC recommandé est le [Pilote ODBC de Microsoft][8]. À partir de l'Agent 7.51, le Pilote ODBC 18 pour SQL Server est inclus par défaut dans l'Agent Linux. Pour Windows, assurez-vous que le pilote est installé sur l'hôte où l'Agent fonctionne.
```yaml
connector: odbc
@@ -132,9 +135,9 @@ driver: 'ODBC Driver 18 for SQL Server'
Une fois la configuration de l'Agent terminée, [redémarrez l'Agent Datadog][9].
-### Validation
+### Valider {#validate}
-[Lancez la sous-commande status de l'Agent][10] et cherchez `sqlserver` dans la section **Checks**. Accédez à la page [Databases][11] dans Datadog pour commencer le processus de validation.
+[Exécutez la sous-commande d'état de l'Agent][10] et recherchez `sqlserver` sous la section **Vérifications**. Naviguez vers la page [Databases][11] dans Datadog pour commencer.
[1]: https://app.datadoghq.com/account/settings/agent/latest?platform=windows
[2]: https://github.com/DataDog/integrations-core/blob/master/sqlserver/datadog_checks/sqlserver/data/conf.yaml.example
@@ -149,16 +152,16 @@ Une fois la configuration de l'Agent terminée, [redémarrez l'Agent Datadog][9]
[11]: https://app.datadoghq.com/databases
{{% /tab %}}
-{{% tab "Linux Host" %}}
+{{% tab "Hôte Linux" %}}
{{% dbm-alwayson-cloud-hosted %}}
Pour commencer à recueillir des données de télémétrie pour SQL Server, commencez par [installer l'Agent Datadog][1].
-Sur Linux, vous devez également installer un pilote ODBC SQL Server, tel que [Microsoft ODBC Driver][2]. Une fois l'installation terminée, copiez les fichiers `odbc.ini` et `odbcinst.ini` dans le dossier `/opt/datadog-agent/embedded/etc`.
+Sur Linux, vous devez également installer un pilote ODBC pour SQL Server, tel que [le pilote ODBC de Microsoft][2]. Après l'installation, copiez les fichiers `odbc.ini` et `odbcinst.ini` dans le dossier `/opt/datadog-agent/embedded/etc`.
-Utilisez le connecteur `odbc` et spécifiez le bon pilote, tel qu'indiqué dans le fichier `odbcinst.ini`.
+Utilisez le connecteur `odbc` et spécifiez le pilote approprié comme indiqué dans le fichier `odbcinst.ini`.
-Créez le fichier conf de l'Agent SQL Server `/etc/datadog-agent/conf.d/sqlserver.d/conf.yaml`. Consultez l'[exemple de fichier conf][3] pour découvrir toutes les options de configuration disponibles.
+Créez le fichier de configuration de l'Agent SQL Server `/etc/datadog-agent/conf.d/sqlserver.d/conf.yaml`. Consultez le [fichier de configuration d'exemple][3] pour toutes les options de configuration disponibles.
```yaml
init_config:
@@ -177,13 +180,13 @@ instances:
instance_endpoint: ''
```
-Utilisez les tags `service` et `env` pour associer vos données de télémétrie de base de données à d'autres données de télémétrie via un schéma de tagging commun. Consultez la section [Tagging de service unifié][5] pour en savoir plus sur l'utilisation de ces tags dans Datadog.
+Utilisez les balises `service` et `env` pour lier votre télémétrie de base de données à d'autres télémétries via un schéma de balisage commun. Consultez [Balisage de service unifié][5] pour des détails sur l'utilisation de ces balises dans Datadog.
Une fois la configuration de l'Agent terminée, [redémarrez l'Agent Datadog][6].
-### Validation
+### Valider {#validate-1}
-[Lancez la sous-commande status de l'Agent][7] et cherchez `sqlserver` dans la section **Checks**. Accédez à la page [Databases][8] dans Datadog pour commencer le processus de validation.
+[Exécutez la sous-commande d'état de l'Agent][7] et recherchez `sqlserver` dans la section **Vérifications**. Naviguez vers la page [Databases][8] dans Datadog pour commencer.
[1]: https://app.datadoghq.com/account/settings/agent/latest
[2]: https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
@@ -200,9 +203,9 @@ Une fois la configuration de l'Agent terminée, [redémarrez l'Agent Datadog][6]
Pour configurer l'Agent Database Monitoring qui s'exécute dans un conteneur Docker, définissez des [modèles d'intégration Autodiscovery][1] en tant qu'étiquettes Docker sur le conteneur de votre Agent.
-**Remarque** : pour que le processus de découverte automatique des étiquettes fonctionne, l'Agent doit être autorisé à lire le socket Docker.
+**Remarque** : L'Agent doit avoir l'autorisation de lecture sur le socket Docker pour que l'Autodécouverte des étiquettes fonctionne.
-Remplacez les valeurs afin qu'elles correspondent à votre compte et votre environnement. Consultez l'[exemple de fichier conf][2] pour découvrir toutes les options de configuration disponibles.
+Remplacez les valeurs pour correspondre à votre compte et à votre environnement. Consultez le [fichier de configuration d'exemple][2] pour toutes les options de configuration disponibles.
```bash
export DD_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@@ -230,11 +233,11 @@ docker run -e "DD_API_KEY=${DD_API_KEY}" \
registry.datadoghq.com/agent:${DD_AGENT_VERSION}
```
-Utilisez les tags `service` et `env` pour lier la télémétrie de votre base de données à d'autres données de télémétrie, par l'intermédiaire d'un schéma de tagging commun. Consultez la section [Tagging de service unifié][4] pour découvrir comment ces tags sont exploités dans l'ensemble de la plateforme Datadog.
+Utilisez les balises `service` et `env` pour lier votre télémétrie de base de données à d'autres télémétries via un schéma de balisage commun. Consultez [l'étiquetage de service unifié][4] pour des informations sur l'utilisation de ces balises dans Datadog.
-### Validation
+### Valider {#validate-2}
-[Lancez la sous-commande status de l'Agent][5] et cherchez `sqlserver` dans la section **Checks**. Sinon, accédez à la page [Databases][6] dans Datadog pour commencer le processus de validation.
+[Exécutez la sous-commande d'état de l'Agent][5] et recherchez `sqlserver` dans la section **Vérifications**. Alternativement, naviguez vers la page [Databases][6] dans Datadog pour commencer.
[1]: /fr/agent/faq/template_variables/
[2]: https://github.com/DataDog/integrations-core/blob/master/sqlserver/datadog_checks/sqlserver/data/conf.yaml.example
@@ -247,13 +250,13 @@ Utilisez les tags `service` et `env` pour lier la télémétrie de votre base de
{{% tab "Kubernetes" %}}
{{% dbm-alwayson-cloud-hosted %}}
-Si vous exécutez un cluster Kubernetes, utilisez l'[Agent de cluster de Datadog][1] pour activer Database Monitoring. Si les checks de cluster ne sont pas déjà activés, [suivez ces instructions][2] pour les activer avant de continuer.
+Si vous exécutez un cluster Kubernetes, utilisez [l'Agent de cluster Datadog][1] pour activer la surveillance des bases de données. Si les vérifications de cluster ne sont pas déjà activées, [suivez ces instructions][2] pour les activer avant de continuer.
-### Operator
+### Opérateur {#operator}
-Suivez les étapes ci-dessous pour configurer l'intégration SQL Server en vous appuyant sur les [instructions relatives à l'Operator dans Kubernetes et les intégrations][6] comme référence.
+Suivez les étapes ci-dessous pour configurer l'intégration SQL Server, en utilisant les [instructions de l'Opérateur dans Kubernetes et Intégrations][6] comme référence.
-1. Créez ou mettez à jour le fichier `datadog-agent.yaml` avec la configuration suivante :
+1. Créez ou mettez à jour le fichier `datadog-agent.yaml` avec la configuration suivante :
```yaml
apiVersion: datadoghq.com/v2alpha1
@@ -301,18 +304,18 @@ Suivez les étapes ci-dessous pour configurer l'intégration SQL Server en vous
instance_endpoint:
```
-2. Appliquez les modifications à l'Operator Datadog à l'aide de la commande suivante :
+2. Appliquez les modifications à l'Opérateur Datadog en utilisant la commande suivante :
```shell
kubectl apply -f datadog-agent.yaml
```
-### Helm
+### Helm {#helm}
-Suivez les étapes ci-dessous pour installer l'[Agent de cluster de Datadog][1] sur votre cluster Kubernetes. Remplacez les valeurs pour qu'elles correspondent à votre compte et à votre environnement.
+Complétez les étapes suivantes pour installer le [Datadog Cluster Agent][1] sur votre cluster Kubernetes. Remplacez les valeurs pour correspondre à votre compte et à votre environnement.
-1. Suivez les [instructions d'installation de l'Agent Datadog][3] pour Helm.
-2. Mettez à jour votre fichier de configuration YAML (`datadog-values.yaml` dans les instructions d'installation de l'Agent de cluster) pour y inclure les éléments suivants :
+1. Complétez les [instructions d'installation de l'Agent Datadog][3] pour Helm.
+2. Mettez à jour votre fichier de configuration YAML (`datadog-values.yaml` dans les instructions d'installation du Cluster Agent) pour inclure ce qui suit :
```yaml
clusterAgent:
confd:
@@ -344,12 +347,12 @@ Suivez les étapes ci-dessous pour installer l'[Agent de cluster de Datadog][1]
```
-Pour Windows, ajoutez --set targetSystem=windows à la commande helm install.
+Pour Windows, ajoutez --set targetSystem=windows au helm install commande.
-### Configuration avec des fichiers montés
+### Configurez avec des fichiers montés {#configure-with-mounted-files}
-Pour configurer un check de cluster avec un fichier de configuration monté, montez le fichier de configuration dans le conteneur de l'Agent de cluster à l'emplacement suivant : `/conf.d/sqlserver.yaml`.
+Pour configurer un contrôle de cluster avec un fichier de configuration monté, montez le fichier de configuration dans le conteneur du Cluster Agent sur le chemin : `/conf.d/sqlserver.yaml`.
```yaml
cluster_check: true # Required for cluster checks
@@ -370,9 +373,9 @@ instances:
instance_endpoint:
```
-### Configuration avec les annotations de service Kubernetes
+### Configurez avec des annotations de service Kubernetes {#configure-with-kubernetes-service-annotations}
-Plutôt que de monter un fichier, vous pouvez déclarer la configuration de l'instance en tant que service Kubernetes. Pour configurer ce check pour un Agent s'exécutant sur Kubernetes, créez un service avec la syntaxe suivante :
+Au lieu de monter un fichier, vous pouvez déclarer la configuration de l'instance en tant que Service Kubernetes. Pour configurer ce contrôle pour un Agent fonctionnant sur Kubernetes, créez un service en utilisant la syntaxe suivante :
```yaml
apiVersion: v1
@@ -405,11 +408,11 @@ spec:
name: sqlserver
```
-Consultez les [spécifications de l'intégration SQL Server][4] pour en savoir plus sur la définition des champs `deployment_type` et `name`.
+Consultez la [spécification d'intégration SQL Server][4] pour des informations supplémentaires sur la définition des champs `deployment_type` et `name` :
L'Agent de cluster enregistre automatiquement cette configuration et commence à exécuter le check SQL Server.
-Pour éviter d'exposer le mot de passe de l'utilisateur `datadog` en clair, utilisez le [package de gestion des secrets][5] de l'Agent et déclarez le mot de passe à l'aide de la syntaxe `ENC[]`.
+Pour éviter d'exposer le mot de passe de l'utilisateur `datadog` en texte clair, utilisez le [package de gestion des secrets][5] de l'Agent et déclarez le mot de passe en utilisant la syntaxe `ENC[]`.
[1]: /fr/agent/cluster_agent
@@ -423,14 +426,14 @@ Pour éviter d'exposer le mot de passe de l'utilisateur `datadog` en clair, util
{{< /tabs >}}
-## Exemples de configuration de l'Agent
+## Exemples de configurations d'Agent {#example-agent-configurations}
{{% dbm-sqlserver-agent-config-examples %}}
-## Installer l'intégration RDS
+## Installez l'intégration RDS {#install-the-rds-integration}
-Pour collecter des métriques de base de données et des logs plus complets depuis AWS, installez l'[intégration RDS][1].
+Pour collecter des métriques et des journaux de base de données plus complets d'AWS, installez l'[intégration RDS][1].
-## Pour aller plus loin
+## Lectures complémentaires {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
diff --git a/content/fr/database_monitoring/setup_sql_server/selfhosted.md b/content/fr/database_monitoring/setup_sql_server/selfhosted.md
index 4f0ce3b5f4c..9bbb121d09c 100644
--- a/content/fr/database_monitoring/setup_sql_server/selfhosted.md
+++ b/content/fr/database_monitoring/setup_sql_server/selfhosted.md
@@ -9,13 +9,13 @@ further_reading:
text: Résoudre les problèmes courants
- link: /database_monitoring/guide/sql_deadlock/
tag: Documentation
- text: Configurer la surveillance des deadlocks
+ text: Configurer la surveillance des blocages
- link: /database_monitoring/guide/sql_extended_events/
tag: Documentation
- text: Configurer la collecte des fins de requêtes et des erreurs de requêtes
+ text: Configurer la collecte des complétions et des erreurs de requêtes
- link: /database_monitoring/guide/parameterized_queries/
tag: Documentation
- text: Capturer les valeurs des paramètres de requêtes SQL
+ text: Capturer les valeurs des paramètres de requête SQL
- link: https://www.datadoghq.com/blog/migrate-sql-workloads-to-azure-with-datadog/
tag: Blog
text: Planifier votre migration Azure pour les workloads SQL avec Datadog
@@ -25,28 +25,28 @@ further_reading:
Monitoring Datadog
title: Configuration de Database Monitoring pour SQL Server auto-hébergé
---
+La solution Database Monitoring vous permet de bénéficier d'une visibilité complète sur vos bases de données Microsoft SQL Server, en exposant des métriques de requête, des échantillons de requête, des plans d'exécution, des états, des failovers et des événements de base de données.
-La solution Database Monitoring vous permet de bénéficier d'une visibilité complète sur vos bases de données Microsoft SQL Server, en exposant des métriques de requête, des échantillons de requête, des plans d'exécution, ainsi que des états, des failovers et des événements de base de données.
+Pour activer la solution Database Monitoring pour votre base de données, suivez les étapes ci-dessous :
-Pour activer la solution Database Monitoring pour votre base de données, suivez les étapes ci-dessous :
+1. [Accorder l'accès à l'Agent](#grant-the-agent-access)
+1. [Installer l'Agent](#install-the-agent)
-1. [Accorder un accès à l'Agent](#accorder-un-acces-a-l-agent)
-1. [Installer l'Agent](#installer-l-agent)
+## Avant de commencer {#before-you-begin}
-## Avant de commencer
-
-Versions de SQL Server prises en charge : 2012, 2014, 2016, 2017, 2019, 2022
+Versions de SQL Server prises en charge
+: 2012, 2014, 2016, 2017, 2019, 2022, 2025 (nécessite l'Agent 7.79+)
{{% dbm-sqlserver-before-you-begin %}}
-## Accorder un accès à l'Agent
+## Accorder l'accès à l'Agent {#grant-the-agent-access}
-L'Agent Datadog requiert un accès en lecture seule pour le serveur de base de données, afin de pouvoir recueillir les statistiques et requêtes.
+L'Agent Datadog requiert un accès en lecture seule au serveur de base de données afin de pouvoir recueillir les statistiques et requêtes.
-Créez une connexion en lecture seule pour vous connecter au serveur et attribuez les autorisations requises :
+Créez une connexion en lecture seule pour vous connecter au serveur en attribuant les autorisations requises :
{{< tabs >}}
-{{% tab "SQL Server 2014 et versions ultérieures" %}}
+{{% tab "SQL Server 2014+" %}}
```SQL
CREATE LOGIN datadog WITH PASSWORD = '';
@@ -61,7 +61,7 @@ CREATE USER datadog FOR LOGIN datadog;
GRANT SELECT to datadog;
```
{{% /tab %}}
-{{% tab "SQL Server 2012" %}}
+{{% tab "SQL Server 2012" %}}
```SQL
CREATE LOGIN datadog WITH PASSWORD = '';
@@ -75,7 +75,8 @@ CREATE USER datadog FOR LOGIN datadog;
GRANT SELECT to datadog;
```
-Créez l'utilisateur `datadog` dans chaque base de données de l'application supplémentaire :
+Créer le `datadog` utilisateur dans chaque base de données d'application supplémentaire :
+
```SQL
USE [database_name];
CREATE USER datadog FOR LOGIN datadog;
@@ -83,27 +84,27 @@ CREATE USER datadog FOR LOGIN datadog;
{{% /tab %}}
{{< /tabs >}}
-### Stocker votre mot de passe en toute sécurité
+### Stockez votre mot de passe de manière sécurisée {#securely-store-your-password}
{{% dbm-secret %}}
-## Installer l'Agent
+## Installer l'Agent {#install-the-agent}
Il est conseillé d'installer directement l'Agent sur le host SQL Server. En effet, cette approche permet à l'Agent de recueillir de nombreuses données de télémétrie système (processeur, mémoire, disque, réseau), en plus des données de télémétrie propres à SQL Server.
{{< tabs >}}
-{{% tab "Windows Host" %}}
+{{% tab "Hôte Windows" %}}
{{% dbm-alwayson %}}
{{% dbm-sqlserver-agent-setup-windows %}}
{{% /tab %}}
-{{% tab "Linux Host" %}}
+{{% tab "Hôte Linux" %}}
{{% dbm-alwayson %}}
{{% dbm-sqlserver-agent-setup-linux %}}
{{% /tab %}}
{{< /tabs >}}
-## Exemples de configuration de l'Agent
+## Exemples de configurations d'Agent {#example-agent-configurations}
{{% dbm-sqlserver-agent-config-examples %}}
-## 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/events/pipelines_and_processors/grok_parser.md b/content/fr/events/pipelines_and_processors/grok_parser.md
new file mode 100644
index 00000000000..837dc19ebbc
--- /dev/null
+++ b/content/fr/events/pipelines_and_processors/grok_parser.md
@@ -0,0 +1,665 @@
+---
+aliases:
+- /fr/service_management/events/pipelines_and_processors/grok_parser/
+description: Créez des règles grok personnalisées pour analyser le message complet
+ ou des attributs spécifiques des événements bruts en données structurées
+title: Parser Grok
+---
+## Aperçu {#overview}
+
+Créez des règles grok personnalisées pour analyser le message complet ou un attribut spécifique de votre événement brut. En tant que meilleure pratique, il est recommandé d'utiliser au maximum 10 règles d'analyse dans un processeur grok.
+
+
+{{< img src="service_management/events/grok-parser.png" alt="Exemple d'analyse 1" style="width:80%;">}}
+
+
+Cliquez sur **Analyser mes événements** pour démarrer un ensemble de trois règles d'analyse pour les événements circulant dans le pipeline sous-jacent. Affinez la nomination des attributs à partir de là, et ajoutez de nouvelles règles pour d'autres types d'événements si nécessaire. Cette fonctionnalité nécessite que les événements correspondants soient indexés et effectivement en cours de traitement ; vous pouvez temporairement désactiver ou réduire les filtres d'exclusion pour que cela fonctionne pour vous.
+
+Cliquez sur un échantillon pour le sélectionner et déclencher son évaluation par rapport à la règle de parsing. Le résultat s'affiche alors en bas de l'écran.
+
+Jusqu'à cinq échantillons peuvent être enregistrés avec le processeur, et chaque échantillon peut avoir jusqu'à 5000 caractères de longueur. Tous les échantillons affichent un statut (correspondance ou non correspondance), ce qui met en évidence si l'une des règles d'analyse du parseur grok correspond à l'échantillon.
+
+
+### Syntaxe Grok {#grok-syntax}
+
+Le parseur Grok extrait des attributs de messages texte semi-structurés. Grok est livré avec des modèles réutilisables pour analyser des entiers, des adresses IP, des noms d'hôtes, et plus encore. Ces valeurs doivent être envoyées au parseur grok sous forme de chaînes.
+
+Vous pouvez écrire des règles d'analyse avec la syntaxe `%{MATCHER:EXTRACT:FILTER}` :
+
+* **Correspondant** : Une règle (éventuellement une référence à une autre règle de jeton) qui décrit ce à quoi s'attendre (nombre, mot, non espace, etc.).
+
+* **Extraire** (optionnel) : Un identifiant représentant la destination de capture pour le morceau de texte correspondant au *Correspondant*.
+
+* **Filtre** (optionnel) : Un post-traitement de la correspondance pour la transformer.
+
+Exemple pour un événement non structuré classique :
+
+```text
+john connected on 11/08/2017
+```
+
+Avec la règle de parsing suivante :
+
+```text
+MyParsingRule %{word:user} connected on %{date("MM/dd/yyyy"):date}
+```
+
+Après traitement, l'événement structuré suivant est généré :
+
+{{< img src="logs/processing/processors/_parser.png" alt="Exemple d'analyse 1" style="width:80%;">}}
+
+**Remarque** :
+
+* Si vous avez plusieurs règles d'analyse dans un seul parseur Grok :
+ * Une seule peut correspondre à un événement donné. La première qui correspond, de haut en bas, est celle qui effectue l'analyse.
+ * Chaque règle peut référencer des règles d'analyse définies au-dessus d'elle dans la liste.
+* Vous devez avoir des noms de règles uniques au sein du même parseur Grok.
+* Le nom de la règle doit contenir uniquement : des caractères alphanumériques, `_` et `.`. Il doit commencer par un caractère alphanumérique.
+* Les propriétés avec des valeurs nulles ou vides ne sont pas affichées.
+* Le matcher regex applique un `^` implicite, pour correspondre au début d'une chaîne, et un `$`, pour correspondre à la fin d'une chaîne.
+* Certains événements peuvent produire de grands espaces vides. Utilisez `\n` et `\s+` pour tenir compte des nouvelles lignes et des espaces vides.
+
+### Correspondant et filtre {#matcher-and-filter}
+
+Voici la liste de tous les matchers et de tous les filtres implémentés en natif par Datadog :
+
+{{< tabs >}}
+{{% tab "Correspondants" %}}
+
+`date("pattern"[, "timezoneId"[, "localeId"]])`
+: Correspond à une date avec le modèle spécifié et l'analyse pour produire un timestamp Unix. [Voir les exemples du Correspondant de date](#parsing-dates).
+
+`regex("pattern")`
+: Correspond à une regex. [Vérifiez les exemples du Correspondant regex](#regex).
+
+`notSpace`
+: Correspond à toute chaîne jusqu'à l'espace suivant.
+
+`boolean("truePattern", "falsePattern")`
+: Correspond et analyse un booléen, définissant éventuellement les modèles vrai et faux (par défaut à `true` et `false`, en ignorant la casse).
+
+`numberStr`
+: Correspond à un nombre décimal à virgule flottante et l'analyse comme une chaîne.
+
+`number`
+: Correspond à un nombre décimal à virgule flottante et l'analyse comme un nombre à double précision.
+
+`numberExtStr`
+: Correspond à un nombre à virgule flottante (avec prise en charge de la notation scientifique) et l'analyse comme une chaîne.
+
+`numberExt`
+: Correspond à un nombre à virgule flottante (avec prise en charge de la notation scientifique) et l'analyse comme un nombre à double précision.
+
+`integerStr`
+: Correspond à un nombre entier et l'analyse comme une chaîne.
+
+`integer`
+: Correspond à un nombre entier et l'analyse comme un nombre entier.
+
+`integerExtStr`
+: Correspond à un nombre entier (avec prise en charge de la notation scientifique) et l'analyse comme une chaîne.
+
+`integerExt`
+: Correspond à un nombre entier (avec prise en charge de la notation scientifique) et l'analyse comme un nombre entier.
+
+`word`
+: Correspond à des caractères de a-z, A-Z, 0-9, y compris le caractère _ (soulignement).
+
+`doubleQuotedString`
+: Correspond à une chaîne entre guillemets doubles.
+
+`singleQuotedString`
+: Correspond à une chaîne entre guillemets simples.
+
+`quotedString`
+: Correspond à une chaîne entre guillemets doubles ou simples.
+
+`uuid`
+: Correspond à un UUID.
+
+`mac`
+: Correspond à une adresse MAC.
+
+`ipv4`
+: Correspond à un IPV4.
+
+`ipv6`
+: Correspond à un IPV6.
+
+`ip`
+: Correspond à une IP (v4 ou v6).
+
+`hostname`
+: Correspond à un nom d'hôte.
+
+`ipOrHost`
+: Correspond à un nom d'hôte ou à une IP.
+
+`port`
+: Correspond à un numéro de port.
+
+`data`
+: Correspond à toute chaîne, y compris les espaces et les nouvelles lignes. Équivalent à `.*` en regex. Utilisez lorsque aucun des modèles ci-dessus n'est approprié.
+
+{{% /tab %}}
+{{% tab "Filtres" %}}
+
+`number`
+: Analyse une correspondance en tant que nombre à double précision.
+
+`integer`
+: Analyse une correspondance en tant que nombre entier.
+
+`boolean`
+: Analyse les chaînes 'true' et 'false' en tant que booléens en ignorant la casse.
+
+`nullIf("value")`
+: Renvoie null si la correspondance est égale à la valeur fournie.
+
+`json`
+: Analyse le JSON correctement formaté.
+
+`rubyhash`
+: Analyse un hash Ruby correctement formaté tel que `{name => "John", "job" => {"company" => "Big Company", "title" => "CTO"}}`.
+
+`useragent([decodeuricomponent:true/false])`
+: Analyse un agent utilisateur et renvoie un objet JSON contenant l'appareil, le système d'exploitation et le navigateur représentés par l'agent. [Vérifiez le processeur d'agent utilisateur][1].
+
+`querystring`
+: Extrait toutes les paires clé-valeur dans une chaîne de requête d'URL correspondante (par exemple, `?productId=superproduct&promotionCode=superpromo`).
+
+`decodeuricomponent`
+: Décode les composants URI. Par exemple, il transforme `%2Fservice%2Ftest` en `/service/test`.
+
+`lowercase`
+: Renvoie la chaîne en minuscules.
+
+`uppercase`
+: Renvoie la chaîne en majuscules.
+
+`keyvalue([separatorStr[, characterAllowList[, quotingStr[, delimiter]]]])`
+: Extrait le motif clé-valeur et renvoie un objet JSON. Voir les [exemples de filtre clé-valeur](#key-value-or-logfmt).
+
+`xml`
+: Analyse le XML correctement formaté. Voir les [exemples de filtre XML](#parsing-xml).
+
+`csv(headers[, separator[, quotingcharacter]])`
+: Analyse correctement les lignes CSV ou TSV formatées. Voir les [exemples de filtre CSV](#parsing-csv).
+
+`scale(factor)`
+: Multiplie la valeur numérique attendue par le facteur fourni.
+
+`array([[openCloseStr, ] separator][, subRuleOrFilter)`
+: Analyse une séquence de chaînes de tokens et la renvoie sous forme de tableau. Voir l'exemple de [liste à tableau](#list-to-array).
+
+`url`
+: Analyse une URL et renvoie tous les membres tokenisés (domaine, paramètres de requête, port, etc.) dans un objet JSON.
+{{% /tab %}}
+{{< /tabs >}}
+
+## Paramètres avancés {#advanced-settings}
+
+En bas de vos tuiles de processeur Grok, il y a une section **Paramètres avancés** :
+
+{{< img src="logs/processing/parsing/advanced_settings.png" alt="Paramètres avancés" style="width:80%;">}}
+
+### Analyse d'un attribut de texte spécifique {#parsing-a-specific-text-attribute}
+
+Utilisez le champ **Extraire de** pour appliquer votre processeur Grok sur un attribut de texte donné au lieu de l'attribut par défaut `message`.
+
+Par exemple, considérez un événement contenant un `command.line` attribut qui doit être analysé comme une paire clé-valeur. Vous pourriez analyser cet événement comme suit :
+
+{{< img src="logs/processing/parsing/parsing_attribute.png" alt="Analyse de la ligne de commande" style="width:80%;">}}
+
+### Utilisation de règles d'aide pour factoriser plusieurs règles d'analyse {#using-helper-rules-to-factorize-multiple-parsing-rules}
+
+Utilisez le champ **Règles d'aide** pour définir des tokens pour vos règles d'analyse. Les règles d'aide vous aident à factoriser les motifs Grok à travers vos règles d'analyse. Ceci est utile lorsque vous avez plusieurs règles dans le même parseur Grok qui utilisent les mêmes tokens.
+
+Exemple pour un événement non structuré classique :
+
+```text
+john id:12345 connected on 11/08/2017 on server XYZ in production
+```
+
+Utilisez la règle de parsing suivante :
+
+```text
+MyParsingRule %{user} %{connection} %{server}
+```
+
+Avec les auxiliaires suivants :
+
+```text
+user %{word:user.name} id:%{integer:user.id}
+connection connected on %{date("MM/dd/yyyy"):connect_date}
+server on server %{notSpace:server.name} in %{notSpace:server.env}
+```
+
+{{< img src="logs/processing/parsing/helper_rules.png" alt="règles d'aide" style="width:80%;">}}
+
+## Exemples {#examples}
+
+Voici des exemples d'utilisation des parsers :
+
+* [Valeur clé ou logfmt](#key-value-or-logfmt)
+* [Analyse des dates](#parsing-dates)
+* [Modèles alternés](#alternating-pattern)
+* [Attribut optionnel](#optional-attribute)
+* [JSON imbriqué](#nested-json)
+* [Regex](#regex)
+* [Listes et tableaux](#list-to-array)
+* [ Format Glog](#glog-format)
+* [XML](#parsing-xml)
+* [CSV](#parsing-csv)
+
+### Valeur clé ou logfmt {#key-value-or-logfmt}
+
+Ceci est le filtre de base clé-valeur : `keyvalue([separatorStr[, characterAllowList[, quotingStr[, delimiter]]]])` où :
+
+* `separatorStr` : définit le séparateur entre les clés et les valeurs. Par défaut, c'est `=`.
+* `characterAllowList` : définit des caractères de valeur supplémentaires non échappés en plus de la valeur par défaut `\\w.\\-_@`. Utilisé uniquement pour les valeurs non citées (par exemple, `key=@valueStr`).
+* `quotingStr` : définit les guillemets, remplaçant la détection par défaut des guillemets : `<>`, `""`, `''`.
+* `delimiter` : définit le séparateur entre les différentes paires clé-valeur (par exemple, `|` est le délimiteur dans `key1=value1|key2=value2`). Par défaut, c'est ` ` (espace normal), `,` et `;`.
+
+Utilisez des filtres tels que **keyvalue** pour mapper plus facilement des chaînes à des attributs pour les formats keyvalue ou logfmt :
+
+**Événement :**
+
+```text
+user=john connect_date=11/08/2017 id=123 action=click
+```
+
+**Règle :**
+
+```text
+rule %{data::keyvalue}
+```
+
+{{< img src="logs/processing/parsing/parsing_example_2.png" alt="Exemple de parsing 2" style="width:80%;">}}
+
+Vous n'avez pas besoin de spécifier le nom de vos paramètres car ils sont déjà contenus dans l'événement.
+Si vous ajoutez un attribut **extract** `my_attribute` dans votre modèle de règle, vous verrez :
+
+{{< img src="logs/processing/parsing/parsing_example_2_bis.png" alt="Exemple de parsing 2 bis" style="width:80%;">}}
+
+Si `=` n'est pas le séparateur par défaut entre vos clés et valeurs, ajoutez un paramètre dans votre règle de parsing avec un séparateur.
+
+**Événement :**
+
+```text
+user: john connect_date: 11/08/2017 id: 123 action: click
+```
+
+**Règle :**
+
+```text
+rule %{data::keyvalue(": ")}
+```
+
+{{< img src="logs/processing/parsing/key_value_parser.png" alt="Analyseur clé-valeur" style="width:80%;" >}}
+
+Si l'événement contient des caractères spéciaux dans une valeur d'attribut, comme `/` dans une URL par exemple, ajoutez-le à la liste blanche dans la règle de parsing :
+
+**Événement :**
+
+```text
+url=https://app.datadoghq.com/event/stream user=john
+```
+
+**Règle :**
+
+```text
+rule %{data::keyvalue("=","/:")}
+```
+
+{{< img src="logs/processing/parsing/key_value_allowlist.png" alt="Liste blanche des clés et valeurs" style="width:80%;" >}}
+
+Autres exemples :
+
+| **Chaîne brute** | **Règle de parsing** | **Résultat** |
+|:-----------------------------|:------------------------------------------------------|:--------------------------------------|
+| key=valueStr | `%{data::keyvalue}` | {"key": "valueStr"} |
+| key=\ | `%{data::keyvalue}` | {"key": "valueStr"} |
+| "key"="valueStr" | `%{data::keyvalue}` | {"key": "valueStr"} |
+| key:valueStr | `%{data::keyvalue(":")}` | {"key": "valueStr"} |
+| key:"/valueStr" | `%{data::keyvalue(":", "/")}` | {"key": "/valueStr"} |
+| /key:/valueStr | `%{data::keyvalue(":", "/")}` | {"/key": "/valueStr"} |
+| key:={valueStr} | `%{data::keyvalue(":=", "", "{}")}` | {"key": "valueStr"} |
+| key1=value1\|key2=value2 | %{data::keyvalue("=", "", "", "|")} | {"key1": "value1", "key2": "value2"} |
+| key1="value1"\|key2="value2" | %{data::keyvalue("=", "", "", "|")} | {"key1": "value1", "key2": "value2"} |
+
+**Exemple de chaîne de citation multiple** : Lorsque plusieurs chaînes de citation sont définies, le comportement par défaut est remplacé par un caractère de citation défini.
+La clé-valeur correspond toujours aux entrées sans aucun caractère de citation, quel que soit ce qui est spécifié dans `quotingStr`. Lorsque des caractères de citation sont utilisés, le `characterAllowList` est ignoré car tout ce qui se trouve entre les caractères de citation est extrait.
+
+**Événement :**
+
+ ```text
+ key1:=valueStr key2:= key3:="valueStr3"
+ ```
+
+**Règle :**
+
+ ```text
+ rule %{data::keyvalue(":=","","<>")}
+ ```
+
+**Résultat :**
+
+ ```json
+ {"key1": "valueStr", "key2": "/valueStr2"}
+ ```
+
+**Remarque** :
+
+* Les valeurs vides (`key=`) ou les valeurs `null` (`key=null`) ne sont pas affichées dans le JSON de sortie.
+* Si vous définissez un filtre *clévaleur* sur un `data` objet, et que ce filtre n'est pas respecté, alors un JSON vide `{}` est retourné (par exemple, entrée : `key:=valueStr`, règle de parsing : `rule_test %{data::keyvalue("=")}`, sortie : `{}`).
+* Définir `""` comme `quotingStr` conserve la configuration par défaut pour la citation.
+
+### Parsing des dates {#parsing-dates}
+
+Le date matcher transforme votre horodatage au format EPOCH (unité de mesure **millisecondes**).
+
+| **Chaîne brute** | **Règle de parsing** | **Résultat** |
+|:-------------------------------------|:----------------------------------------------------------|:------------------------|
+| 14:20:15 | `%{date("HH:mm:ss"):date}` | {"date": 51615000} |
+| 02:20:15 PM | `%{date("hh:mm:ss a"):date}` | {"date": 51615000} |
+| 11/10/2014 | `%{date("dd/MM/yyyy"):date}` | {"date": 1412978400000} |
+| Jeu Jun 16 08:29:03 2016 | `%{date("EEE MMM dd HH:mm:ss yyyy"):date}` | {"date": 1466065743000} |
+| Mar Nov 1 08:29:03 2016 | `%{date("EEE MMM d HH:mm:ss yyyy"):date}` | {"date": 1466065743000} |
+| 06/Mar/2013:01:36:30 +0900 | `%{date("dd/MMM/yyyy:HH:mm:ss Z"):date}` | {"date": 1362501390000} |
+| 2016-11-29T16:21:36.431+0000 | `%{date("yyyy-MM-dd'T'HH:mm:ss.SSSZ"):date}` | {"date": 1480436496431} |
+| 2016-11-29T16:21:36.431+00:00 | `%{date("yyyy-MM-dd'T'HH:mm:ss.SSSZZ"):date}` | {"date": 1480436496431} |
+| 06/Feb/2009:12:14:14.655 | `%{date("dd/MMM/yyyy:HH:mm:ss.SSS"):date}` | {"date": 1233922454655} |
+| 2007-08-31 19:22:22.427 ADT | `%{date("yyyy-MM-dd HH:mm:ss.SSS z"):date}` | {"date": 1188598942427} |
+| Jeu 16 juin 2016 08:29:031 | `%{date("EEE MMM dd HH:mm:ss yyyy","Europe/Paris"):date}` | {"date": 1466058543000} |
+| Jeu 16 juin 2016 08:29:031 | `%{date("EEE MMM dd HH:mm:ss yyyy","UTC+5"):date}` | {"date": 1466047743000} |
+| Jeu 16 juin 2016 08:29:031 | `%{date("EEE MMM dd HH:mm:ss yyyy","+3"):date}` | {"date": 1466054943000} |
+
+1 Utilisez le `timezone` paramètre si vous effectuez vos propres localisations et que vos horodatages ne sont _pas_ en UTC.
+Les formats pris en charge pour les fuseaux horaires sont :
+
+* `GMT`, `UTC`, `UT` ou `Z`
+* `+h`, `+hh`, `+hh:mm`, `-hh:mm`, `+hhmm`, `-hhmm`, `+hh:mm:ss`, `-hh:mm:ss`, `+hhmmss` ou `-hhmmss`. La plage maximale prise en charge est de +18:00 à -18:00 inclus.
+* Les fuseaux horaires commençant par `UTC+`, `UTC-`, `GMT+`, `GMT-`, `UT+` ou `UT-`. La plage maximale prise en charge est de +18:00 à -18:00 inclus.
+* Identifiants de fuseaux horaires extraits de la base de données TZ. Pour plus d'informations, consultez [noms de la base de données TZ][2].
+
+**Remarque** : L'analyse d'une date **ne** définit pas sa valeur comme la date officielle de l'événement. Pour cela, utilisez le [Remappeur de date d'événement][3] dans un processeur ultérieur.
+
+### Modèle alternatif {#alternating-pattern}
+
+Si vous avez des événements avec deux formats possibles qui diffèrent par un seul attribut, définissez une règle unique en utilisant l'alternance avec `(|)`. Cette règle est équivalente à un OU booléen.
+
+**Événement** :
+
+```text
+john connected on 11/08/2017
+12345 connected on 11/08/2017
+```
+
+**Règle** :
+Notez que "id" est un entier et non une chaîne.
+
+```text
+MyParsingRule (%{integer:user.id}|%{word:user.firstname}) connected on %{date("MM/dd/yyyy"):connect_date}
+```
+
+**Résultats** :
+
+{{< img src="logs/processing/parsing/parsing_example_4.png" alt="Exemple de parsing 4" style="width:80%;" >}}
+
+{{< img src="logs/processing/parsing/parsing_example_4_bis.png" alt="Exemple de parsing 4 bis" style="width:80%;" >}}
+
+### Attribut optionnel {#optional-attribute}
+
+Certains événements contiennent des valeurs qui n'apparaissent qu'une partie du temps. Dans ce cas, rendez l'extraction d'attributs optionnelle avec `()?`.
+
+**Événement** :
+
+```text
+john 1234 connected on 11/08/2017
+```
+
+**Règle** :
+
+```text
+MyParsingRule %{word:user.firstname} (%{integer:user.id} )?connected on %{date("MM/dd/yyyy"):connect_date}
+```
+
+**Remarque** : Une règle ne correspondra pas si vous incluez un espace après le premier mot dans la section optionnelle.
+
+{{< img src="logs/processing/parsing/parsing_example_5.png" alt="Exemple de parsing 5" style="width:80%;" >}}
+
+{{< img src="logs/processing/parsing/parsing_example_5_bis.png" alt="Exemple de parsing 5 bis" style="width:80%;" >}}
+
+### JSON imbriqué {#nested-json}
+
+Utilisez le filtre `json` pour analyser un objet JSON imbriqué après un préfixe de texte brut :
+
+**Événement** :
+
+```text
+Sep 06 09:13:38 vagrant program[123]: server.1 {"method":"GET", "status_code":200, "url":"https://app.datadoghq.com/logs/pipelines", "duration":123456}
+```
+
+**Règle** :
+
+```text
+parsing_rule %{date("MMM dd HH:mm:ss"):timestamp} %{word:vm} %{word:app}\[%{number:logger.thread_id}\]: %{notSpace:server} %{data::json}
+```
+
+{{< img src="logs/processing/parsing/nested_json.png" alt="Exemple de parsing de JSON imbriqué" style="width:80%;" >}}
+
+### Regex {#regex}
+
+**Événement** :
+
+```text
+john_1a2b3c4 connected on 11/08/2017
+```
+
+**Règle** :
+
+```text
+MyParsingRule %{regex("[a-z]*"):user.firstname}_%{regex("[a-zA-Z0-9]*"):user.id} .*
+```
+
+{{< img src="logs/processing/parsing/regex_parsing.png" alt="Exemple de parsing 6" style="width:80%;" >}}
+
+### Liste en tableau {#list-to-array}
+
+Utilisez le filtre `array([[openCloseStr, ] separator][, subRuleOrFilter)` pour extraire une liste dans un tableau dans un seul attribut. Le `subRuleOrFilter` est optionnel et accepte ces [filtres][4].
+
+**Événement** :
+
+```text
+Users [John, Oliver, Marc, Tom] have been added to the database
+```
+
+**Règle** :
+
+```text
+myParsingRule Users %{data:users:array("[]",",")} have been added to the database
+```
+
+{{< img src="logs/processing/parsing/array_parsing.png" alt="Exemple de parsing 6" style="width:80%;" >}}
+
+**Événement** :
+
+```text
+Users {John-Oliver-Marc-Tom} have been added to the database
+```
+
+**Règle** :
+
+```text
+myParsingRule Users %{data:users:array("{}","-")} have been added to the database
+```
+
+**Règle utilisant `subRuleOrFilter`** :
+
+```text
+myParsingRule Users %{data:users:array("{}","-", uppercase)} have been added to the database
+```
+
+### Format Glog {#glog-format}
+
+Les composants Kubernetes enregistrent parfois au format `glog` ; cet exemple provient de l'élément Kube Scheduler dans la bibliothèque Pipeline.
+
+Exemple d'événement :
+
+```text
+W0424 11:47:41.605188 1 authorization.go:47] Authorization is disabled
+```
+
+Règles de parsing :
+
+```text
+kube_scheduler %{regex("\\w"):level}%{date("MMdd HH:mm:ss.SSSSSS"):timestamp}\s+%{number:logger.thread_id} %{notSpace:logger.name}:%{number:logger.lineno}\] %{data:msg}
+```
+
+JSON extrait :
+
+```json
+{
+ "level": "W",
+ "timestamp": 1587728861605,
+ "logger": {
+ "thread_id": 1,
+ "name": "authorization.go"
+ },
+ "lineno": 47,
+ "msg": "Authorization is disabled"
+}
+```
+
+### Analyse XML {#parsing-xml}
+
+Le parser de XML permet de transformer des messages au format XML en JSON.
+
+**Événement :**
+
+```text
+
+ Harry Potter
+ J K. Rowling
+ 2005
+
+```
+
+**Règle :**
+
+```text
+rule %{data::xml}
+```
+
+**Résultat :**
+
+ ```json
+{
+ "book": {
+ "year": "2005",
+ "author": "J K. Rowling",
+ "category": "CHILDREN",
+ "title": {
+ "lang": "en",
+ "value": "Harry Potter"
+ }
+ }
+}
+ ```
+
+**Notes** :
+
+* Si le XML contient des balises ayant à la fois un attribut et une valeur de chaîne entre les deux balises, un attribut `value` est généré. Par exemple : `Harry Potter` est converti en `{"title": {"lang": "en", "value": "Harry Potter" } }`.
+* Les balises répétées sont automatiquement converties en tableaux. Par exemple : `Harry PotterEveryday Italian` est converti en `{ "bookstore": { "book": [ "Harry Potter", "Everyday Italian" ] } }`.
+
+### Parsing CSV {#parsing-csv}
+
+Utilisez le filtre **CSV** pour associer plus facilement les chaînes aux attributs lorsqu'elles sont séparées par un caractère donné (`,` par défaut).
+
+Le filtre CSV est défini comme `csv(headers[, separator[, quotingcharacter]])` où :
+
+* `headers` : Définit les noms de clés séparés par `,`. Les noms de clés doivent commencer par un caractère alphabétique et peuvent contenir tout caractère alphanumérique en plus de `_`.
+* `separator` : Définit les séparateurs utilisés pour séparer les différentes valeurs. Un seul caractère est accepté. Par défaut : `,`. **Remarque** : Utilisez `tab` pour le `separator` afin de représenter le caractère de tabulation pour les TSV.
+* `quotingcharacter` : Définit le caractère de citation. Un seul caractère est accepté. Par défaut : `"`
+
+**Remarque** :
+
+* Les valeurs contenant un caractère séparateur doivent être citées.
+* Les valeurs entre guillemets contenant un caractère de citation doivent être échappées avec un caractère de citation. Par exemple, `""` dans une valeur citée représente `"`.
+* Si l'événement ne contient pas le même nombre de valeurs que le nombre de clés dans l'en-tête, le parseur CSV associera les premières.
+* Les entiers et les doubles sont automatiquement convertis si possible.
+
+**Événement** :
+
+{{< code-block lang="text" >}}
+John,Doe,120,Jefferson St.,Riverside
+{{< /code-block >}}
+
+**Règle** :
+
+{{< code-block lang="text" >}}
+myParsingRule %{data:user:csv("first_name,name,st_nb,st_name,city")}
+{{< /code-block >}}
+
+**Résultat :**
+
+{{< code-block lang="json" >}}
+{
+ "user": {
+ "first_name": "John",
+ "name": "Doe",
+ "st_nb": 120,
+ "st_name": "Jefferson St.",
+ "city": "Riverside"
+ }
+}
+{{< /code-block >}}
+
+Autres exemples :
+
+| **Chaîne brute** | **Règle de parsing** | **Résultat** |
+|:-----------------------------|:-------------------------------------------------------------------------|:------------------------------------------------|
+| `John,Doe` | `%{data::csv("firstname,name")}` | {"firstname": "John", "name":"Doe"} |
+| `"John ""Da Man""",Doe` | `%{data::csv("firstname,name")}` | {"firstname": "John \"Da Man\"", "name":"Doe"} |
+| `'John ''Da Man''',Doe` | `%{data::csv("firstname,name",",","'")}` | {"firstname": "John 'Da Man'", "name":"Doe"} |
+| John|Doe | %{data::csv("firstname,name","|")} | {"firstname": "John", "name":"Doe"} |
+| `value1,value2,value3` | `%{data::csv("key1,key2")}` | {"key1": "value1", "key2":"value2"} |
+| `value1,value2` | `%{data::csv("key1,key2,key3")}` | {"key1": "value1", "key2":"value2"} |
+| `value1,,value3` | `%{data::csv("key1,key2,key3")}` | {"key1": "value1", "key3":"value3"} |
+| Value1 Value2 Value3 (TSV) | `%{data::csv("key1,key2,key3","tab")}` | {"key1": "value1", "key2": "value2", "key3":"value3"} |
+
+### Utilisez le data matcher pour éliminer le texte inutile {#use-data-matcher-to-discard-unneeded-text}
+
+Si vous avez un événement où, après avoir analysé ce qui est nécessaire et sachant que le texte après ce point peut être éliminé, vous pouvez utiliser le data matcher pour le faire. Pour l'exemple d'événement suivant, vous pouvez utiliser le `data` matcher pour éliminer le `%` à la fin.
+
+**Événement** :
+
+```
+Usage: 24.3%
+```
+
+**Règle** :
+
+```
+MyParsingRule Usage\:\s+%{number:usage}%{data:ignore}
+```
+
+**Résultat** :
+
+```
+{
+ "usage": 24.3,
+ "ignore": "%"
+}
+```
+
+### Caractères de contrôle ASCII {#ascii-control-characters}
+
+Si vos événements contiennent des caractères de contrôle ASCII, ils sont sérialisés lors de l'ingestion. Ceci peut être géré en échappant explicitement la valeur sérialisée dans votre parseur grok.
+
+
+[1]: https://github.com/google/re2/wiki/Syntax
+[2]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
+[3]: /fr/events/pipelines_and_processors/date_remapper
+[4]: /fr/events/pipelines_and_processors/grok_parser/?tab=filters&tabs=filters#matcher-and-filter
\ No newline at end of file
diff --git a/content/fr/getting_started/tracing/_index.md b/content/fr/getting_started/tracing/_index.md
index 24433d9b48e..7a799101411 100644
--- a/content/fr/getting_started/tracing/_index.md
+++ b/content/fr/getting_started/tracing/_index.md
@@ -1,6 +1,9 @@
---
aliases:
- /fr/getting_started/tracing/distributed-tracing
+description: Configurez la surveillance des performances des applications (APM) pour
+ identifier les goulets d'étranglement, résoudre les problèmes et envoyer des traces
+ à Datadog.
further_reading:
- link: /tracing/
tag: Documentation
@@ -19,30 +22,29 @@ further_reading:
text: Participer à une session interactive pour maîtriser la solution APM
title: Débuter avec le tracing APM
---
-
-## Présentation
+## Aperçu {#overview}
La solution Application Performance Monitoring (APM) de Datadog vous permet dʼanalyser vos applications en détail, et ainsi d'identifier les goulets d'étranglement, de résoudre les problèmes et d'optimiser vos services.
Ce guide explique comment bien débuter avec lʼAPM et envoyer votre première trace à Datadog :
-1. Configurez la solution APM de Datadog pour envoyer des traces à Datadog.
+1. Configurez Datadog APM pour envoyer des traces à Datadog.
1. Exécutez votre application pour générer des données.
1. Explorez les données collectées dans Datadog.
-## Prérequis
+## Conditions préalables {#prerequisites}
Pour compléter ce guide, vous avez besoin des éléments suivants :
-1. [Créez un compte Datadog][1] si vous ne l'avez pas encore fait.
-1. Recherchez ou créez une [clé dʼAPI Datadog][2].
-1. Démarrez un host ou une VM Linux.
+1. [Créez un compte Datadog][1] si vous ne l'avez pas déjà fait.
+1. Trouvez ou créez une [clé API Datadog][2].
+1. Démarrez un hôte ou une VM Linux.
-## Créer une application
+## Créez une application {#create-an-application}
Pour créer une application à observer dans Datadog :
-1. Sur votre host ou VM Linux, créez une nouvelle application Python nommée `hello.py`. Par exemple, `nano hello.py`.
+1. Sur votre hôte ou VM Linux, créez une nouvelle application Python nommée `hello.py`. Par exemple, `nano hello.py`.
1. Ajoutez le code suivant à `hello.py` :
{{< code-block lang="python" filename="hello.py" collapsible="true" disable_copy="false" >}}
@@ -50,23 +52,23 @@ Pour créer une application à observer dans Datadog :
import random
app = Flask(__name__)
-
+
quotes = [
- « Ne vous efforcez pas de réussir, mais plutôt d'être utile. - Albert Einstein »,
- « Avoir confiance en nos capacités est la moitié du travail. - Theodore Roosevelt »,
- « L'avenir appartient à ceux qui croient en la beauté de leurs rêves. - Eleanor Roosevelt »
+ "Strive not to be a success, but rather to be of value. - Albert Einstein",
+ "Believe you can and you're halfway there. - Theodore Roosevelt",
+ "The future belongs to those who believe in the beauty of their dreams. - Eleanor Roosevelt"
]
-
+
@app.route('/')
def index():
quote = random.choice(quotes)+"\n"
return quote
-
+
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5050)
{{< /code-block >}}
-## Configurer l'APM Datadog
+## Configurez Datadog APM {#set-up-datadog-apm}
Pour configurer la solution APM de Datadog sans avoir à modifier le code de votre application ni le processus de déploiement, utilisez lʼinstrumentation APM en une étape. Vous pouvez aussi configurer la solution APM à l'aide des bibliothèques de [traçage de Datadog][8].
@@ -74,13 +76,13 @@ Pour configurer la solution APM de Datadog sans avoir à modifier le code de vot
1. Exécutez la commande d'installation :
```shell
- DD_API_KEY= DD_SITE="" DD_APM_INSTRUMENTATION_ENABLED=host DD_APM_INSTRUMENTATION_LIBRARIES=python:3 DD_ENV= bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
+ DD_API_KEY= DD_SITE="" DD_APM_INSTRUMENTATION_ENABLED=host DD_APM_INSTRUMENTATION_LIBRARIES=python:4 DD_ENV= bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
```
+
+ Replace `` with your [Datadog API key][2], `` with your [Datadog site][7], and `` with the environment your Agent is installed on (for example, `development`).
- Remplacez `` par votre [clé dʼAPI Datadog][2], `` par votre [site Datadog][7] et `` par lʼenvironnement sur lequel votre Agent est installé (par exemple, `development`).
-
-1. Redémarrez les services sur votre host ou VM.
-1. Vérifiez que lʼAgent est exécuté :
+1. Redémarrez les services sur votre hôte ou VM.
+1. Vérifiez que l'Agent fonctionne :
```shell
sudo datadog-agent status
@@ -88,19 +90,19 @@ Pour configurer la solution APM de Datadog sans avoir à modifier le code de vot
Cette approche permet dʼinstaller automatiquement lʼAgent Datadog, dʼactiver lʼAPM Datadog et [dʼinstrumenter][5] votre application au moment de l'exécution.
-## Exécuter l'application
+## Exécutez l'application {#run-the-application}
Lorsque vous configurez lʼAPM Datadog avec lʼinstrumentation en une étape, Datadog instrumente automatiquement votre application au moment de l'exécution.
Pour exécuter `hello.py` :
-1. Créez un environnement Python virtuel dans le répertoire actuel :
+1. Créez un environnement virtuel Python dans le répertoire courant :
```shell
python3 -m venv ./venv
```
-1. Activez lʼenvironnement virtuel `venv` :
+1. Activez l'environnement virtuel `venv` :
```shell
source ./venv/bin/activate
@@ -113,14 +115,14 @@ Pour exécuter `hello.py` :
pip install flask
```
-1. Nommez le service et exécutez `hello.py` :
+1. Définissez le nom du service et exécutez `hello.py` :
```shell
export DD_SERVICE=hello
python3 hello.py
```
-## Tester l'application
+## Testez l'application {#test-the-application}
Testez l'application pour envoyer des traces à Datadog :
@@ -129,43 +131,43 @@ Testez l'application pour envoyer des traces à Datadog :
```shell
curl http://0.0.0.0:5050/
```
-1. Confirmer qu'une citation aléatoire est renvoyée.
+1. Confirmez qu'une citation aléatoire est renvoyée.
```text
Believe you can and you're halfway there. - Theodore Roosevelt
```
Chaque fois que vous exécutez la commande `curl`, une nouvelle trace est envoyée à Datadog.
-## Explorez les traces dans Datadog
+## Explorez les traces dans Datadog {#explore-traces-in-datadog}
-1. Dans Datadog, accédez à [**APM** > **Services**][3]. Vous devriez voir un service Python nommé `hello` :
+1. Dans Datadog, allez à [**APM** > **Services**][3]. Vous devriez voir un service Python nommé `hello` :
- {{< img src="/getting_started/apm/service-catalog.png" alt="Le Software Catalog affiche le nouveau service Python." style="width:100%;" >}}
+ {{< img src="/getting_started/apm/service-catalog.png" alt="Le catalogue de logiciels montre le nouveau service Python." style="width:100%;" >}}
-1. Sélectionnez le service pour afficher ses métriques de performances, telles que la latence, le débit et les taux d'erreur.
-1. Accédez à [**APM** > **Traces**][4]. Vous devriez voir une trace pour le service `hello` :
+1. Sélectionnez le service pour voir ses métriques de performance, telles que la latence, le débit et les taux d'erreur.
+1. Allez à [**APM** > **Traces**][4]. Vous devriez voir une trace pour le service `hello` :
- {{< img src="/getting_started/apm/trace-explorer.png" alt="Le Trace explorer affiche la trace correspondant au service hello." style="width:100%;" >}}
+ {{< img src="/getting_started/apm/trace-explorer.png" alt="L'explorateur de traces montre la trace pour le service hello." style="width:100%;" >}}
-1. Sélectionnez une trace pour en voir les détails, y compris le flame graph, qui permet d'identifier les goulets d'étranglement en matière de performances.
+1. Sélectionnez une trace pour voir ses détails, y compris le graphique de flamme, qui aide à identifier les goulets d'étranglement de performance.
-## Configuration avancée de l'APM
+## Configuration avancée de l'APM {#advanced-apm-setup}
-Jusqu'à ce stade, vous avez laissé Datadog instrumenter automatiquement l'application `hello.py` à l'aide de l'instrumentation en une seule étape. Cette approche est conseillée si vous souhaitez capturer les traces essentielles dans les bibliothèques et langages courants sans toucher au code ni installer des bibliothèques manuellement.
+Jusqu'à présent, vous avez laissé Datadog instrumenter automatiquement l'application `hello.py` en utilisant Single Step Instrumentation. Cette approche est recommandée si vous souhaitez capturer des traces essentielles à travers des bibliothèques et des langages courants sans toucher au code ou installer manuellement des bibliothèques.
Toutefois, si vous avez besoin de recueillir des traces à partir d'un code personnalisé ou si vous souhaitez un contrôle plus précis, vous pouvez ajouter [l'instrumentation personnalisée][6].
-Pour illustrer ceci, vous allez importer la bibliothèque de tracing Python de Datadog dans `hello.py` et créer une span et un tag de span personnalisés.
+Pour illustrer cela, vous allez importer le SDK Python de Datadog dans `hello.py` et créer un span personnalisé ainsi qu'une balise de span personnalisée.
Pour ajouter des instrumentations personnalisées :
-1. Installez la bibliothèque de tracing Datadog :
+1. Installez le SDK Datadog :
```shell
pip install ddtrace
```
-1. Ajoutez les lignes surlignées au code dans `hello.py` pour créer un tag de span personnalisé `get_quote` et un tag de span personnalisé `quote` :
+1. Ajoutez les lignes surlignées au code dans `hello.py` pour créer une balise de span personnalisée `get_quote` et une balise de span personnalisée `quote` :
{{< highlight python "hl_lines=3 15 17" >}}
from flask import Flask
@@ -175,9 +177,9 @@ Pour ajouter des instrumentations personnalisées :
app = Flask(__name__)
quotes = [
- « Ne vous efforcez pas de réussir, mais plutôt d'être utile. - Albert Einstein »,
- « Avoir confiance en nos capacités est la moitié du travail. - Theodore Roosevelt »,
- « L'avenir appartient à ceux qui croient en la beauté de leurs rêves. - Eleanor Roosevelt »
+ "Strive not to be a success, but rather to be of value. - Albert Einstein",
+ "Believe you can and you're halfway there. - Theodore Roosevelt",
+ "The future belongs to those who believe in the beauty of their dreams. - Eleanor Roosevelt"
]
@app.route('/')
@@ -191,24 +193,35 @@ Pour ajouter des instrumentations personnalisées :
app.run(host='0.0.0.0', port=5050)
{{< /highlight >}}
-1. Exécutez `hello.py` dans lʼenvironnement virtuel mentionné plus haut :
+1. Exécutez `hello.py` dans l'environnement virtuel mentionné précédemment :
```shell
ddtrace-run python hello.py
```
-1. Exécutez quelques commandes `curl` dans une invite de commande distincte :
+1. Exécutez quelques commandes `curl` dans une invite de commande séparée :
```shell
curl http://0.0.0.0:5050/
```
-1. Dans Datadog, accédez à [**APM** > **Traces**][4].
+1. Dans Datadog, allez à [**APM** > **Traces**][4].
1. Sélectionnez la trace **hello**.
-1. Recherchez la nouvelle span personnalisée `get_quote` dans le flame graph et survolez-la :
+1. Trouvez le nouveau span personnalisé `get_quote` dans le graphique de flamme et survolez-le :
+
+ {{< img src="/getting_started/apm/custom-instrumentation.png" alt="Le span personnalisé get_quote s'affiche dans le graphique de flamme. Au survol, la balise de span quote est affichée. " style="width:100%;" >}}
+
+1. Remarquez que la balise de span personnalisée `quote` s'affiche dans l'onglet **Info**.
+
+## Quelle est la prochaine étape ? {#whats-next}
+
+Après avoir configuré le traçage et que votre application envoie des données à Datadog, explorez des fonctionnalités APM supplémentaires :
+
+### Catalogue de logiciels {#software-catalog}
- {{< img src="/getting_started/apm/custom-instrumentation.png" alt="La span personnalisée get_quote sʼaffiche dans le flame graph. Lorsquʼon la survole, le tag de span de la citation sʼaffiche. " style="width:100%;" >}}
+[Catalogue de logiciels][9] fournit une vue consolidée de vos services, combinant des métadonnées de propriété, des informations de performance, une analyse de sécurité et une allocation des coûts en un seul endroit. Configurez [les métadonnées de service][10] à l'aide de balises, d'annotations ou d'un fichier `service.datadog.yaml` pour enrichir vos services avec des informations de propriété, des runbooks et des liens de documentation.
-1. Remarquez que le tag de span personnalisé `quote` s'affiche dans lʼonglet **Info**.
+### Ingestion et conservation des traces {#trace-ingestion-and-retention}
+Contrôlez les coûts et gérez le volume de données en configurant [les contrôles d'ingestion][11] et [les filtres de conservation][12]. Les contrôles d'ingestion vous permettent de personnaliser les taux d'échantillonnage au niveau de l'Agent Datadog ou du SDK, tandis que les filtres de conservation déterminent quels spans sont indexés pour la recherche et l'analyse.
-## Pour aller plus loin
+## Lectures complémentaires {#further-reading}
{{< partial name="whats-next/whats-next.html" >}}
@@ -219,4 +232,8 @@ Pour ajouter des instrumentations personnalisées :
[5]: /fr/tracing/glossary/#instrumentation
[6]: /fr/tracing/trace_collection/custom_instrumentation/
[7]: /fr/getting_started/site/
-[8]: /fr/tracing/trace_collection/automatic_instrumentation/dd_libraries/
\ No newline at end of file
+[8]: /fr/tracing/trace_collection/automatic_instrumentation/dd_libraries/
+[9]: /fr/internal_developer_portal/software_catalog/
+[10]: /fr/internal_developer_portal/software_catalog/entity_model/
+[11]: /fr/tracing/trace_pipeline/ingestion_controls/
+[12]: /fr/tracing/trace_pipeline/trace_retention/
\ No newline at end of file
diff --git a/content/fr/incident_response/status_pages/_index.md b/content/fr/incident_response/status_pages/_index.md
new file mode 100644
index 00000000000..94f3caf1557
--- /dev/null
+++ b/content/fr/incident_response/status_pages/_index.md
@@ -0,0 +1,226 @@
+---
+aliases:
+- /fr/service_management/status_pages/
+further_reading:
+- link: https://www.datadoghq.com/blog/status-pages
+ tag: Blog
+ text: Tenez les parties prenantes informées avec les pages de statut Datadog
+- link: /incident_response/incident_management/
+ tag: Documentation
+ text: En savoir plus sur la gestion des incidents
+- link: /incident_response/on-call/
+ tag: Documentation
+ text: En savoir plus sur la planification des astreintes
+- link: /incident_response/incident_management/integrations/status_pages
+ tag: Documentation
+ text: Intégrez les pages de statut Datadog avec la gestion des incidents
+title: Pages de statut
+---
+## Aperçu {#overview}
+
+{{< img src="service_management/status_pages/shopist_status_page2.png" alt="Exemple de page de statut montrant les composants de service avec leur statut actuel et les mises à jour récentes des incidents" style="width:100%;" >}}
+
+Les pages de statut font partie de la suite de réponse aux incidents de Datadog, aux côtés de l'astreinte et de la gestion des incidents. Cela permet à votre équipe de communiquer de manière proactive **la disponibilité des services**, **les incidents** et **la maintenance planifiée** avec les clients ou les parties prenantes internes via une page web partageable.
+
+Utilisez les pages de statut pour :
+
+* Partager la disponibilité des systèmes et des fonctionnalités critiques
+* Communiquer clairement les interruptions de service pendant les incidents
+* Annoncer la maintenance programmée et les temps d'arrêt prévus à l'avance
+* Réduire le volume de support entrant avec des notifications par e-mail proactives
+
+## Configurer les autorisations {#configure-permissions}
+
+Il existe trois autorisations RBAC qui sont pertinentes pour les pages de statut. Les utilisateurs ayant le rôle d'administrateur Datadog disposent de toutes les autorisations nécessaires.
+
+Pour créer, mettre à jour ou publier des pages de statut, vous devez avoir les autorisations RBAC `status_pages_settings_read`, `status_pages_settings_write` et `status_pages_incident_write`. Pour plus d'informations, voir [Contrôle d'accès][1].
+
+
+
+
+ | Nom |
+ Description |
+ Rôle par défaut |
+
+
+
+
+ Paramètres des pages de statut en lecture
status_pages_settings_read |
+ Consultez la liste des pages de statut, les paramètres de chaque page de statut, leurs avis et les pages de statut internes lancées. |
+ Rôle en lecture seule Datadog |
+
+
+ Paramètres des pages de statut en écriture
status_pages_settings_write |
+ Créez et lancez de nouvelles pages de statut, et configurez les paramètres des pages de statut. |
+ Rôle administrateur Datadog |
+
+
+ Avis sur les pages de statut en écriture
status_pages_incident_write |
+ Publiez et mettez à jour les incidents. |
+ Rôle administrateur Datadog |
+
+
+
+
+## Créez une page de statut {#create-a-status-page}
+
+1. Dans Datadog, accédez à [**Status Pages**][2].
+1. Cliquez sur **Create Status Page** et suivez le processus d'intégration :
+
+ | Champ | Description |
+ | ----------------- | ----------- |
+ | **Type de page de statut** | Choisissez qui peut accéder à la page :
- **Public** - Quiconque ayant le lien peut voir
- **Interne** - Seuls les utilisateurs authentifiés au sein de votre organisation Datadog peuvent voir |
+ | **Nom de la page** | Affiché comme l'en-tête de la page (si aucun logo n'est téléchargé).
*Exemple : Plateforme Cloud Acme* |
+ | **Préfixe de domaine** | Utilisé comme préfixe de sous-domaine de votre page de statut. Pour plus d'informations sur les domaines personnalisés, consultez la section [Définir un domaine personnalisé](#set-a-custom-domain).
*Exemple : shopist → shopist.statuspage.datadoghq.com*
- Doit être **globalement unique**
- En minuscules, alphanumériques et avec des traits d’union
- Peut affecter les liens s'il est modifié ultérieurement |
+ | **Abonnements** *(facultatif)* | Permettre aux utilisateurs de recevoir des notifications par e-mail concernant les mises à jour de la page de statut. Lorsque les abonnements sont activés, les utilisateurs peuvent s'inscrire pour être informés des nouveaux avis et mises à jour. Vous pouvez activer ou désactiver les abonnements pour chaque page de statut. **Remarque** : [Les abonnements par e-mail](#email-subscriptions) sont à double opt-in, l'e-mail doit être confirmé. |
+ | **Logo de l'entreprise, Favicon ou image d'en-tête d'e-mail** *(facultatif)* | Téléchargez un logo, un favicon ou une image pour personnaliser l'apparence de votre page de statut et des notifications par e-mail. |
+1. (Facultatif) [Ajoutez des composants](#add-components) pour montrer l'état des services individuels.
+1. Cliquez sur **Save Settings**.
+ Une page de statut
n'est pas Live après avoir enregistré vos paramètres. Pour rendre la page disponible,
publish your status page.
+
+## Ajoutez des composants {#add-components}
+
+{{< img src="/service_management/status_pages/status_page_components.png" alt="Configuration des composants de la page de statut avec un panneau d'aperçu en direct" style="width:100%;" >}}
+
+Les composants sont les éléments constitutifs de votre page de statut. Chacun représente un service ou une fonctionnalité qui intéresse vos utilisateurs. Quelques exemples de composants incluent :
+- Passerelle API
+- Tableau de bord Web
+- Cluster de bases de données
+- Services de la région des États-Unis
+
+Vous pouvez ajouter des composants à votre page de statut soit lors de la configuration initiale, soit via les paramètres de la page de statut :
+
+1. Depuis votre page de statut, cliquez sur **Settings** et sélectionnez l'onglet **Components**.
+1. Créez des composants individuels ou un groupe de composants connexes. Vous pouvez associer [des avis](#add-a-notice) à ces composants pour refléter l'impact sur votre page de statut.
+1. Sélectionnez un type de visualisation :
+ 1. Bars and Uptime Percentage
+ 1. Bars Only
+ 1. Component Name Only
+
+### Component hierarchy {#component-hierarchy}
+
+Si plusieurs avis affectent le même composant, l'avis ayant le plus grand impact prévaut :
+Major Outage > Partial Outage > Degraded Performance > Maintenance > Operational
+
+## Publish your status page {#publish-your-status-page}
+
+Après avoir enregistré les paramètres de votre page de statut, cliquez sur **Launch Status Page** pour rendre la page disponible à son URL.
+
+Si vous avez sélectionné :
+- **Public**, la page est immédiatement accessible à tous les visiteurs.
+- **Internal**, l'accès est limité aux utilisateurs Datadog authentifiés de votre organisation.
+
+## Add a notice {#add-a-notice}
+
+Les avis sont des messages publiés sur une page de statut pour communiquer l'état du système. Les pages de statut prennent en charge deux types d'avis : **degradations** pour un impact de service non planifié et **maintenance windows** pour un temps d'arrêt planifié.
+
+{{< img src="service_management/status_pages/select_notice_type_status_page.png" alt="Sélecteur de type d'avis de page de statut avec options « degradations » et « maintenance windows »." style="width:60%;" >}}
+
+### Publish a degradation {#publish-a-degradation}
+
+{{< img src="service_management/status_pages/shopist_status_page_degradations.png" alt="Exemple de page de statut montrant que les composants de service subissent une dégradation" style="width:100%;" >}}
+
+Les avis de dégradation communiquent **unplanned service impact**, tels que des incidents ou des interruptions de service. Utilisez des avis de dégradation pour tenir les utilisateurs informés pendant qu'un problème est examiné, atténué et résolu.
+
+Depuis une page de statut, cliquez sur **Publish Notice** et sélectionnez **Degradation**, puis fournissez :
+
+| Champ | Description |
+| ---- | ---- |
+| **Notice title** | Short, clear description of the issue
*Example: Increased error rates in US region* |
+| **Status** | Current state of the issue:
- Investigating
- Identified
- Monitoring
- Resolved |
+| **Message** | Additional details for your users
*Example: We are aware of the issue and are actively working on a fix.* |
+| **Components impacted** | One or more components affected by the degradation |
+| **Impact** | Impact level per component:
- Operational
- Degraded Performance
- Partial Outage
- Major Outage |
+| **Notify subscribers** | Toggle to send updates to subscribed users |
+
+{{< img src="service_management/status_pages/publish_status_page_degradation.png" alt="Exemple de modal de publication d'avis pour les dégradations" style="width:60%;" >}}
+
+Après qu'un avis de dégradation a été examiné et publié, il :
+- Appears on the **Status Pages List** under Active Notices.
+- Updates the uptime bars for impacted components.
+- Is visible in the notice history timeline.
+
+Vous pouvez publier des mises à jour au fil du temps et marquer l'avis comme **Resolved** lorsque le problème est entièrement atténué.
+
+### Backfill a degradation {#backfill-a-degradation}
+
+Les dégradations renseignées rétroactivement permettent de documenter rétroactivement les interruptions de service qui n'ont pas été annoncées auparavant. Chaque mise à jour peut se voir attribuer son horodatage d'origine, de sorte que la chronologie des incidents apparaisse avec précision dans votre historique de disponibilité.
+
+Depuis une page de statut, sélectionnez le menu déroulant à côté de **Publish Notice**, sélectionnez **Publish Backfilled Notice** > **Degradation**, puis fournissez :
+
+| Field| Description|
+| ---- | ---- |
+| **Notice title** | Short, clear description of the incident
*Example: Increased error rates in US region* |
+| **Mises à jour** | Exactement deux mises à jour horodatées représentant le début et la fin de la dégradation. Chaque mise à jour nécessite un horodatage de début, un statut (En cours d'investigation ou Résolu), une description et les composants affectés. |
+
+{{< img src="service_management/status_pages/publish_status_page_backfill_degradation.png" alt="Exemple de modal de publication d'avis rétroactif pour les dégradations" style="width:60%;" >}}
+
+### Planifier une fenêtre de maintenance {#schedule-a-maintenance-window}
+
+{{< img src="service_management/status_pages/shopist_maintenance_example.png" alt="Exemple de page d'état montrant les composants de service en cours de maintenance" style="width:100%;" >}}
+
+Les fenêtres de maintenance vous permettent de communiquer de manière proactive sur les temps d'arrêt ou l'impact sur le service prévus avant qu'ils ne se produisent. Contrairement aux dégradations qui sont utilisées pour des incidents imprévus, les fenêtres de maintenance sont planifiées à l'avance pour des mises à niveau d'infrastructure, de la maintenance système, des migrations de bases de données et d'autres travaux prévus. Cela vous permet de tenir les clients informés et de réduire le volume de support.
+
+Depuis la page d'état, cliquez sur **Planifier la maintenance**, ou cliquez sur **Publier un avis** et sélectionnez **Maintenance planifiée**. Ensuite, fournissez les détails suivants :
+
+| Champ | Description |
+| ---- | ---- |
+| **Titre de l'avis** | Description claire de l'activité de maintenance
*Exemple : Mise à niveau de l'infrastructure de la base de données* |
+| **Fenêtre de maintenance** | Heure de début et de fin prévue pour la maintenance |
+| **Messages** | Messages qui sont publiés automatiquement au fur et à mesure de l'avancement de la maintenance |
+| **Composants impactés** | Composants affectés pendant la fenêtre de maintenance |
+| **Notifier les abonnés** | Basculer pour envoyer une notification préalable aux abonnés |
+
+{{< img src="service_management/status_pages/publish_status_page_maintenance.png" alt="Exemple de modal de publication d'avis pour les fenêtres de maintenance" style="width:60%;" >}}
+
+Après révision et planification, la fenêtre de maintenance :
+- Apparaît sous **Maintenance à venir** sur la page d'état
+- Met automatiquement à jour le statut des composants à **Maintenance** lorsque la fenêtre commence
+- Renvoie les composants à **Opérationnel** lorsque la fenêtre se termine (sauf si contourné manuellement)
+
+Vous pouvez publier des mises à jour si les plans changent ou reprogrammer la fenêtre de maintenance si nécessaire.
+
+### Remplir une fenêtre de maintenance {#backfill-a-maintenance-window}
+
+Les fenêtres de maintenance rétroactives vous permettent de documenter rétroactivement les temps d'arrêt prévus qui n'avaient pas été annoncés auparavant. Chaque mise à jour peut se voir attribuer son horodatage d'origine, de sorte que la chronologie de maintenance apparaisse avec précision dans votre historique de disponibilité.
+
+Depuis une page d'état, sélectionnez le menu déroulant à côté de **Publier un avis**, sélectionnez **Publier un avis rétroactif** > **Maintenance planifiée**, puis fournissez :
+
+| Champ | Description |
+| ---- | ---- |
+| **Titre de l'avis** | Description claire de l'activité de maintenance
*Exemple : Mise à niveau de l'infrastructure de base de données* |
+| **Mises à jour** | Exactement deux mises à jour horodatées représentant le début et la fin de la fenêtre de maintenance. Chaque mise à jour nécessite un horodatage de début, un statut (En cours ou Terminé), une description et les composants affectés. |
+
+{{< img src="service_management/status_pages/publish_status_page_backfill_maintenance.png" alt="Exemple de modal de publication d'avis rétroactif pour les fenêtres de maintenance" style="width:60%;" >}}
+
+## Abonnements par e-mail {#email-subscriptions}
+
+Les abonnements par e-mail sur les pages d'état sont **double opt-in**. Après avoir saisi un e-mail pour s'abonner, les utilisateurs reçoivent un e-mail de confirmation et doivent cliquer sur le lien de confirmation pour activer leur abonnement. Au cours de ce processus, les utilisateurs peuvent choisir de recevoir des notifications pour l'ensemble de la page d'état ou sélectionner des composants spécifiques qu'ils souhaitent surveiller. Un fuseau horaire préféré peut être configuré pour le formatage des horodatages dans les notifications. Les utilisateurs peuvent gérer leurs préférences et mettre à jour leurs abonnements à tout moment via le lien de gestion des abonnements inclus dans les e-mails de notification.
+
+Pour les pages d'état **internes**, le processus d'abonnement est le même, mais les utilisateurs doivent se connecter à la même organisation Datadog pour confirmer leur abonnement et recevoir des notifications.
+
+{{< img src="/service_management/status_pages/status_pages_subscription_1.png" alt="Capture d'écran du modal d'abonnement à la page d'état avec les champs remplis" style="width:70%;" >}}
+
+## Définir un domaine personnalisé {#set-a-custom-domain}
+
+Pour correspondre à votre image de marque, vous avez la possibilité de mapper votre page d'état à un domaine personnalisé comme `status.acme.com`.
+
+1. Depuis votre page de statut, cliquez sur **Paramètres**.
+1. Sélectionnez **Domaine personnalisé**.
+1. Suivez les instructions pour entrer votre domaine et ajouter des enregistrements DNS.
+1. Datadog détecte automatiquement la configuration DNS et provisionne un certificat SSL.
+
+Les domaines personnalisés nécessitent un accès à votre fournisseur DNS pour ajouter un enregistrement CNAME ou A.
+
+**Remarque** :
+
+- La propagation DNS peut prendre plusieurs minutes.
+- Vous pouvez revenir au domaine par défaut de Datadog à tout moment.
+- Assurez-vous que les modifications DNS sont effectuées par quelqu'un ayant accès à votre registraire de domaine.
+
+## Lectures complémentaires {#further-reading}
+
+{{< partial name="whats-next/whats-next.html" >}}
+
+[1]: /fr/account_management/rbac/
+[2]: https://app.datadoghq.com/status-pages
\ No newline at end of file
diff --git a/content/fr/llm_observability/instrumentation/otel_instrumentation.md b/content/fr/llm_observability/instrumentation/otel_instrumentation.md
new file mode 100644
index 00000000000..f3710aabb6a
--- /dev/null
+++ b/content/fr/llm_observability/instrumentation/otel_instrumentation.md
@@ -0,0 +1,571 @@
+---
+description: Instrumentez les applications LLM avec OpenTelemetry en utilisant les
+ conventions sémantiques GenAI et envoyez les traces à Datadog LLM Observability
+ sans le SDK Datadog.
+title: 'Instrumentation OpenTelemetry :'
+---
+## Aperçu {#overview}
+En utilisant les conventions sémantiques standardisées d'OpenTelemetry pour les opérations d'IA générative, vous pouvez instrumenter vos applications LLM avec n'importe quelle bibliothèque ou framework compatible OpenTelemetry et visualiser les traces dans LLM Observability.
+
+LLM Observability prend en charge l'ingestion des traces OpenTelemetry qui suivent les [conventions sémantiques OpenTelemetry 1.37+ pour l'IA générative][1]. Cela vous permet d'envoyer des traces LLM directement depuis des applications instrumentées avec OpenTelemetry à Datadog sans nécessiter le SDK Datadog LLM Observability ou un Datadog Agent.
+
+## Prérequis {#prerequisites}
+
+- Une [clé API Datadog][2]
+- Une application instrumentée avec OpenTelemetry qui émet des traces suivant les [conventions sémantiques OpenTelemetry 1.37+ pour l'IA générative][1]
+
+Pour envoyer des évaluations externes directement à l'API pour les spans OpenTelemetry, vous devez inclure le source:otel tag dans l'évaluation. Lors de la référence aux spans, fournissez span_id et trace_id sous forme de chaînes décimales. OpenTelemetry utilise des identifiants hexadécimaux nativement, donc convertissez-les en décimal avant de soumettre les évaluations. Par exemple, utilisez la fonction de Python int(hex_span_id, 16) pour convertir un identifiant de span hexadécimal en son équivalent décimal.
+
+Pour des informations sur l'utilisation du suivi des invites avec les spans OpenTelemetry, consultez Suivi des invites - Instrumentation OpenTelemetry.
+
+Vous pouvez également utiliser des spans OpenTelemetry à l'intérieur de Expériences LLM Observability. En définissant DD_TRACE_OTEL_ENABLED=1, les spans OTel créés à l'intérieur d'une tâche d'expérience apparaissent automatiquement comme des enfants du span d'expérience.
+
+## Configuration {#setup}
+
+Pour envoyer des traces OpenTelemetry à LLM Observability, configurez votre exportateur OpenTelemetry avec les paramètres suivants :
+
+### Configuration {#configuration}
+
+Définissez les variables d'environnement suivantes dans votre application :
+
+```
+OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf
+OTEL_EXPORTER_OTLP_TRACES_ENDPOINT={{< region-param key="otlp_trace_endpoint" code="true" >}}
+OTEL_EXPORTER_OTLP_TRACES_HEADERS=dd-api-key=,dd-otlp-source=llmobs
+```
+
+Remplacez `` par votre [clé API Datadog][2].
+
+Si votre framework prenait auparavant en charge une version de spécification OpenTelemetry antérieure à 1.37, vous devez également définir :
+
+```
+OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental
+```
+
+Cette variable d'environnement active les traces OpenTelemetry conformes à la version 1.37+ pour les frameworks qui prennent désormais en charge les conventions sémantiques de la version 1.37+, mais qui prenaient auparavant en charge des versions plus anciennes (comme [strands-agents][5]).
+
+**Remarque** :
+* Si vous utilisez une bibliothèque OpenTelemetry autre que le SDK OpenTelemetry par défaut, vous devrez peut-être configurer l'endpoint, le protocole et les en-têtes différemment selon l'API de la bibliothèque. Consultez la documentation de votre bibliothèque pour la méthode de configuration appropriée.
+* Lors de l'utilisation de l'instrumentation OpenTelemetry, certaines données envoyées à LLM Observability peuvent également être écrites dans les traces APM correspondantes. Si vous protégez des données sensibles, envisagez également de configurer un ensemble de données restreint sur APM pour correspondre à vos contrôles d'accès LLM Observability. Consultez [Contrôle d'accès aux données][8] pour plus d'informations.
+
+#### Utilisation de strands-agents {#using-strands-agents}
+
+Si vous utilisez la [`strands-agents` bibliothèque][5], vous devez définir une variable d'environnement supplémentaire pour activer les traces conformes à OpenTelemetry v1.37+ :
+
+```
+OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental
+```
+
+Cette variable d'environnement garantit que `strands-agents` émet des traces suivant les conventions sémantiques OpenTelemetry v1.37+ pour l'IA générative, qui sont requises par LLM Observability.
+
+### Instrumentation {#instrumentation}
+
+Pour générer des traces compatibles avec LLM Observability, choisissez l'une des méthodes suivantes :
+
+- Utilisez une bibliothèque OpenTelemetry ou un package d'instrumentation qui émet des spans suivant les [conventions sémantiques OpenTelemetry 1.37+ pour l'IA générative][1].
+- Créez une instrumentation OpenTelemetry personnalisée qui produit des spans avec les attributs `gen_ai.*` requis, tels que définis dans les conventions sémantiques.
+
+Après le démarrage de votre application, les traces apparaissent automatiquement dans la page [**Traces d'observabilité LLM**][3]. Pour rechercher vos traces dans l'interface utilisateur, utilisez l'attribut `ml_app`, qui est automatiquement défini sur la valeur de l'attribut `service` de votre span racine OpenTelemetry.
+
+
+
+ OpenLLMetry version 0.47+ est pris en charge. Consultez l'exemple OpenLLMetry.
+ OpenInference n'est pas pris en charge.
+ Il peut y avoir un délai de 3 à 5 minutes entre l'envoi des traces et leur apparition sur la page des Traces d'observabilité LLM. Si vous avez APM activé, les traces apparaissent immédiatement sur la page des Traces APM.
+
+
+
+## Frameworks et bibliothèques testés {#tested-frameworks-and-libraries}
+
+Ces frameworks et bibliothèques ont été testés avec Datadog LLM Observability. Tout framework qui émet des spans conformes à la [convention sémantique OpenTelemetry 1.37+ GenAI][1] est pris en charge.
+
+{{< tabs >}}
+{{% tab "Python" %}}
+| Framework | Instrumentation | Versions prises en charge |
+|-----------|----------------|--------------------|
+| [OpenAI][20] | [`opentelemetry-instrumentation-openai-v2`][21] | >= 1.26.0 |
+| [Anthropic][22] | [`opentelemetry-instrumentation-anthropic`][23] | >= 0.51.0 |
+| [Google GenAI][24] | [`opentelemetry-instrumentation-google-genai`][25] | >= 1.32.0 |
+| [Google Vertex AI][26] | [`opentelemetry-instrumentation-vertexai`][27] | >= 1.64.0 |
+| [AWS Bedrock][28] | [`opentelemetry-instrumentation-botocore`][29] | >= 1.31.57 |
+| [LangChain][30] | [`opentelemetry-instrumentation-langchain`][31] | >= 0.3.21 |
+| [LlamaIndex][32] | [`opentelemetry-instrumentation-llamaindex`][33] | >= 0.14.12 |
+| [Strands Agents][5] | Natif | >= 1.11.0 |
+| [OpenLLMetry][34] | [`traceloop-sdk`][35] | >= 0.47.0 |
+
+[5]: https://pypi.org/project/strands-agents/
+[20]: https://platform.openai.com/docs/api-reference/introduction
+[21]: https://pypi.org/project/opentelemetry-instrumentation-openai-v2/
+[22]: https://docs.anthropic.com/en/api/
+[23]: https://pypi.org/project/opentelemetry-instrumentation-anthropic/
+[24]: https://ai.google.dev/gemini-api/docs
+[25]: https://pypi.org/project/opentelemetry-instrumentation-google-genai/
+[26]: https://cloud.google.com/vertex-ai/generative-ai/docs/overview
+[27]: https://pypi.org/project/opentelemetry-instrumentation-vertexai/
+[28]: https://docs.aws.amazon.com/bedrock/latest/userguide/
+[29]: https://pypi.org/project/opentelemetry-instrumentation-botocore/
+[30]: https://python.langchain.com/docs/introduction/
+[31]: https://pypi.org/project/opentelemetry-instrumentation-langchain/
+[32]: https://docs.llamaindex.ai/
+[33]: https://pypi.org/project/opentelemetry-instrumentation-llamaindex/
+[34]: https://www.traceloop.com/openllmetry
+[35]: https://pypi.org/project/traceloop-sdk/
+{{% /tab %}}
+{{% tab "Node.js" %}}
+| Framework | Instrumentation | Versions prises en charge |
+|-----------|----------------|--------------------|
+| [OpenAI][40] | [`@opentelemetry/instrumentation-openai`][41] | >= 4.19.0 |
+
+[40]: https://platform.openai.com/docs/api-reference/introduction
+[41]: https://www.npmjs.com/package/@opentelemetry/instrumentation-openai
+{{% /tab %}}
+{{% tab "Java" %}}
+| Framework | Instrumentation | Versions prises en charge |
+|-----------|----------------|--------------------|
+| [Spring AI][50] | Native (via [Micrometer][51]) | >= 1.0.0 |
+| [LangChain4j][52] | Native (module OpenTelemetry) | >= 0.31.0 |
+| [AWS Bedrock][53] | [OpenTelemetry Java Agent][54] | AWS SDK >= 2.2 |
+
+[50]: https://docs.spring.io/spring-ai/reference/
+[51]: https://micrometer.io/
+[52]: https://docs.langchain4j.dev/
+[53]: https://docs.aws.amazon.com/bedrock/latest/userguide/
+[54]: https://opentelemetry.io/docs/zero-code/java/agent/
+{{% /tab %}}
+{{< /tabs >}}
+
+## Exemples {#examples}
+
+### Utilisation des agents Strands {#using-strands-agents-1}
+
+L'exemple suivant démontre une application complète utilisant [Strands Agents][7] avec l'intégration OpenTelemetry. Cette même approche fonctionne avec tout framework qui prend en charge les conventions sémantiques OpenTelemetry version 1.37+ pour l'IA générative.
+
+```python
+from strands import Agent
+from strands_tools import calculator, current_time
+from strands.telemetry.config import StrandsTelemetry
+import os
+
+# Configure AWS credentials for Bedrock access
+os.environ["AWS_PROFILE"] = ""
+os.environ["AWS_DEFAULT_REGION"] = ""
+
+# Enable latest GenAI semantic conventions (1.37)
+os.environ["OTEL_SEMCONV_STABILITY_OPT_IN"] = "gen_ai_latest_experimental"
+
+# Configure OTLP endpoint to send traces to Datadog LLM Observability
+os.environ["OTEL_EXPORTER_OTLP_TRACES_PROTOCOL"] = "http/protobuf"
+os.environ["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] = "{{< region-param key="otlp_trace_endpoint" code="true" >}}"
+os.environ["OTEL_EXPORTER_OTLP_TRACES_HEADERS"] = f"dd-api-key={os.getenv('DD_API_KEY')},dd-otlp-source=llmobs"
+
+# Initialize telemetry with OTLP exporter
+telemetry = StrandsTelemetry()
+telemetry.setup_otlp_exporter()
+
+# Create agent with tools
+agent = Agent(tools=[calculator, current_time])
+
+# Run the agent
+if __name__ == "__main__":
+ result = agent("I was born in 1993, what is my age?")
+ print(f"Agent: {result}")
+```
+
+### Instrumentation OpenTelemetry personnalisée {#custom-opentelemetry-instrumentation}
+
+L'exemple suivant démontre comment instrumenter votre application LLM en utilisant du code OpenTelemetry personnalisé. Cette approche vous donne un contrôle total sur les traces et les spans émis par votre application.
+
+```python
+import os
+import json
+from opentelemetry import trace
+from opentelemetry.sdk.trace import TracerProvider
+from opentelemetry.sdk.trace.export import BatchSpanProcessor
+from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
+from opentelemetry.sdk.resources import Resource, SERVICE_NAME
+from openai import OpenAI
+
+# Configure OpenTelemetry to send traces to Datadog
+os.environ["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] = "{{< region-param key="otlp_trace_endpoint" code="true" >}}"
+os.environ["OTEL_EXPORTER_OTLP_TRACES_HEADERS"] = "dd-api-key=,dd-otlp-source=llmobs"
+os.environ["OTEL_SEMCONV_STABILITY_OPT_IN"] = "gen_ai_latest_experimental"
+
+# Initialize OpenTelemetry SDK
+resource = Resource(attributes={SERVICE_NAME: "simple-llm-example"})
+provider = TracerProvider(resource=resource)
+provider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))
+trace.set_tracer_provider(provider)
+
+tracer = trace.get_tracer(__name__)
+
+# Make LLM call with OpenTelemetry tracing
+with tracer.start_as_current_span(
+ "chat gpt-4o",
+ kind=trace.SpanKind.CLIENT,
+) as span:
+ model = "gpt-4o"
+ max_tokens = 1024
+ temperature = 0.7
+ messages = [{"role": "user", "content": "Explain OpenTelemetry in one sentence."}]
+
+ # Set request attributes
+ span.set_attribute("gen_ai.provider.name", "openai")
+ span.set_attribute("gen_ai.request.model", model)
+ span.set_attribute("gen_ai.operation.name", "chat")
+ span.set_attribute("gen_ai.request.max_tokens", max_tokens)
+ span.set_attribute("gen_ai.request.temperature", temperature)
+
+ # Add input messages as event
+ input_messages_parts = []
+ for msg in messages:
+ input_messages_parts.append({
+ "role": msg["role"],
+ "parts": [{"type": "text", "content": msg["content"]}]
+ })
+
+ span.add_event(
+ "gen_ai.client.inference.operation.details",
+ {
+ "gen_ai.input.messages": json.dumps(input_messages_parts)
+ }
+ )
+
+ # Make actual LLM call
+ client = OpenAI(api_key="")
+ response = client.chat.completions.create(
+ model=model,
+ max_tokens=max_tokens,
+ temperature=temperature,
+ messages=messages
+ )
+
+ # Set response attributes from actual data
+ span.set_attribute("gen_ai.response.id", response.id)
+ span.set_attribute("gen_ai.response.model", response.model)
+ span.set_attribute("gen_ai.response.finish_reasons", [response.choices[0].finish_reason])
+ span.set_attribute("gen_ai.usage.input_tokens", response.usage.prompt_tokens)
+ span.set_attribute("gen_ai.usage.output_tokens", response.usage.completion_tokens)
+
+ # Add output messages as event
+ output_text = response.choices[0].message.content
+ span.add_event(
+ "gen_ai.client.inference.operation.details",
+ {
+ "gen_ai.output.messages": json.dumps([{
+ "role": "assistant",
+ "parts": [{"type": "text", "content": output_text}],
+ "finish_reason": response.choices[0].finish_reason
+ }])
+ }
+ )
+
+ print(f"Response: {output_text}")
+
+# Flush spans before exit
+provider.force_flush()
+```
+
+Après avoir exécuté cet exemple, recherchez `ml_app:simple-llm-example` dans l'interface utilisateur d'observabilité LLM pour trouver la trace générée.
+
+### Utilisation d'OpenLLMetry {#using-openllmetry}
+
+L'exemple suivant démontre l'utilisation de [OpenLLMetry](https://github.com/traceloop/openllmetry) pour instrumenter automatiquement les appels OpenAI avec OpenTelemetry.
+
+```python
+from opentelemetry import trace
+from opentelemetry.sdk.trace import TracerProvider
+from opentelemetry.sdk.trace.export import BatchSpanProcessor
+from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
+from opentelemetry.instrumentation.openai import OpenAIInstrumentor
+import openai
+from opentelemetry.sdk.resources import Resource
+
+resource = Resource.create({
+ "service.name": "simple-openllmetry-test",
+})
+
+provider = TracerProvider(resource=resource)
+trace.set_tracer_provider(provider)
+
+exporter = OTLPSpanExporter(
+ endpoint="{{< region-param key="otlp_trace_endpoint" code="true" >}}",
+ headers={
+ "dd-api-key": "",
+ "dd-ml-app": "simple-openllmetry-test",
+ "dd-otlp-source": "llmobs",
+ },
+)
+
+provider.add_span_processor(BatchSpanProcessor(exporter))
+
+OpenAIInstrumentor().instrument()
+
+# Make OpenAI call (automatically traced)
+client = openai.OpenAI(api_key="")
+client.chat.completions.create(
+ model="gpt-3.5-turbo",
+ messages=[{"role": "user", "content": "What is 15 multiplied by 7?"}]
+)
+
+provider.force_flush(timeout_millis=5000)
+```
+
+Après avoir exécuté cet exemple, recherchez `ml_app:simple-openllmetry-test` dans l'interface utilisateur d'observabilité LLM pour trouver la trace générée.
+
+## Référence de mappage d'attributs {#attribute-mapping-reference}
+
+Cette section fournit le mappage entre les conventions sémantiques OpenTelemetry GenAI (v1.37+) ainsi qu'OpenLLMetry au schéma de span d'observabilité LLM de Datadog.
+
+
+
+### Mappages d'attributs OpenTelemetry 1.37+ {#opentelemetry-137-attribute-mappings}
+
+#### Attributs de base des spans {#base-span-attributes}
+
+| Champ OTLP | Champ d'observabilité LLM | Remarques |
+|------------|--------------|-------|
+| `resource.attributes.service.name` | `ml_app`, `tags.service` | |
+| `name` | `name` | Remplacé par `gen_ai.tool.name` si présent |
+| `parent_span_id` | `parent_id` | |
+| `start_time_unix_nano` | `start_ns` | |
+| `end_time_unix_nano` | `duration` | Calculé : fin - début |
+| `status.code` | `status` | `error` si > 0, sinon `ok` |
+| `status.message` | `meta.error.message` | |
+| `attributes.error.type` | `meta.error.type` | |
+
+#### Résolution du type de span {#span-kind-resolution}
+
+| `gen_ai.operation.name` | Observabilité LLM `span.kind` |
+|-------------------------|-------------------|
+| `generate_content`, `chat`, `text_completion`, `completion` | `llm` |
+| `embeddings`, `embedding` | `embedding` |
+| `execute_tool` | `tool` |
+| `invoke_agent`, `create_agent` | `agent` |
+| `rerank`, `unknown`, *(par défaut)* | `workflow` |
+
+#### Informations sur le modèle {#model-information}
+
+| Attribut OTel | Champ d'observabilité LLM | Notes |
+|----------------|--------------|-------|
+| `gen_ai.operation.name` | `meta.span.kind` | Voir le tableau de résolution ci-dessus |
+| `gen_ai.provider.name` | `meta.model_provider` | Revient à `gen_ai.system`, puis `custom` |
+| `gen_ai.response.model` | `meta.model_name` | |
+| `gen_ai.request.model` | `meta.model_name` | Solution de repli lorsque `response.model` est absent |
+
+#### Métriques d'utilisation des jetons {#token-usage-metrics}
+
+| Attribut OTel | Champ d'observabilité LLM |
+|----------------|--------------|
+| `gen_ai.usage.input_tokens` | `metrics.input_tokens` |
+| `gen_ai.usage.output_tokens` | `metrics.output_tokens` |
+| `gen_ai.usage.prompt_tokens` | `metrics.prompt_tokens` |
+| `gen_ai.usage.completion_tokens` | `metrics.completion_tokens` |
+| `gen_ai.usage.total_tokens` | `metrics.total_tokens` |
+
+#### Paramètres de requête {#request-parameters}
+
+Tous `gen_ai.request.*` les paramètres correspondent à `meta.metadata.*` avec le préfixe supprimé.
+
+| Attribut OTel | Champ d'observabilité LLM |
+|----------------|--------------|
+| `gen_ai.request.seed` | `metadata.seed` |
+| `gen_ai.request.frequency_penalty` | `metadata.frequency_penalty` |
+| `gen_ai.request.max_tokens` | `metadata.max_tokens` |
+| `gen_ai.request.stop_sequences` | `metadata.stop_sequences` |
+| `gen_ai.request.temperature` | `metadata.temperature` |
+| `gen_ai.request.top_k` | `metadata.top_k` |
+| `gen_ai.request.top_p` | `metadata.top_p` |
+| `gen_ai.request.choice.count` | `metadata.choice.count` |
+
+#### Attributs de l'outil {#tool-attributes}
+
+| Attribut OTel | Champ d'observabilité LLM | Notes |
+|----------------|--------------|-------|
+| `gen_ai.tool.name` | `name` | Nom du span remplacé |
+| `gen_ai.tool.call.id` | `metadata.tool_id` | |
+| `gen_ai.tool.description` | `metadata.tool_description` | |
+| `gen_ai.tool.type` | `metadata.tool_type` | |
+| `gen_ai.tool.definitions` | `meta.tool_definitions` | Tableau JSON analysé |
+| `gen_ai.tool.call.arguments` | `input.value` | |
+| `gen_ai.tool.call.result` | `output.value` | |
+
+#### Session et conversation {#session-and-conversation}
+
+| Attribut OTel | Champ d'observabilité LLM | Notes |
+|----------------|--------------|-------|
+| `gen_ai.conversation.id` | `session_id` | Également ajouté à `metadata.conversation_id` et étiquettes |
+
+#### Attributs de réponse {#response-attributes}
+
+| Attribut OTel | Champ d'observabilité LLM |
+|----------------|--------------|
+| `gen_ai.response.model` | `meta.model_name` |
+| `gen_ai.response.finish_reasons` | `metadata.finish_reasons` |
+
+#### Messages d'entrée et de sortie {#input-and-output-messages}
+
+Les messages d'entrée et de sortie sont extraits des sources suivantes, par ordre de priorité :
+
+1. Attributs directs : `gen_ai.input.messages`, `gen_ai.output.messages`, `gen_ai.system_instructions`
+2. Span events (`meta["events"]`) with name `gen_ai.client.inference.operation.details`
+
+| OTel Source | Champ d'observabilité LLM | Remarques |
+|-------------|--------------|-------|
+| `gen_ai.input.messages` | `meta.input.messages` (llm) / `meta.input.value` (autres) | |
+| `gen_ai.output.messages` | `meta.output.messages` (llm) / `meta.output.value` (autres) | |
+| `gen_ai.system_instructions` | Préfixé à l'entrée | Ajouté en tant que messages de rôle système |
+
+##### Embedding spans {#embedding-spans}
+
+| OTel Source | Champ d'observabilité LLM |
+|-------------|--------------|
+| `gen_ai.input.messages` | `meta.input.documents` |
+| N/A | `meta.output.value` = `[N embedding(s) returned]` |
+
+#### Étiquettes {#tags}
+
+Les étiquettes sont placées directement sur le span :
+
+- Les attributs non-`gen_ai.*` sont convertis en balises `key:value`
+- Les clés inconnues `gen_ai.*` sont ajoutées avec le préfixe supprimé
+- Filtrés : `_dd.*`, `llm.*`, `ddtags`, `events`, et les clés `gen_ai.*` déjà spécifiquement mappées
+
+Tout gen_ai.* Les attributs qui ne sont pas explicitement mappés aux champs de portée d'observabilité LLM sont placés dans les étiquettes de la portée LLM, avec une limite de 256 caractères par valeur. Les valeurs dépassant cette limite sont tronquées. Tous les autres non-gen_ai attributs sont supprimés.
+
+### Mappages d'attributs OpenLLMetry {#openllmetry-attribute-mappings}
+
+Cette section documente les mappages d'attributs spécifiques à OpenLLMetry qui diffèrent ou étendent les conventions sémantiques standard d'OpenTelemetry GenAI.
+
+#### Résolution du type de portée {#span-kind-resolution-1}
+
+`llm.request.type` est utilisé comme solution de repli lorsque `gen_ai.operation.name` est absent.
+
+| `llm.request.type` | Observabilité LLM `span.kind` |
+|--------------------|-------------------|
+| `chat` | `llm` |
+| `completion` | `llm` |
+| `embedding` | `embedding` |
+| `rerank` | `workflow` |
+| `unknown`, *(par défaut)* | `workflow` |
+
+#### Informations sur le modèle {#model-information-1}
+
+| OpenLLMetry Attribute | LLM Observability Field | Notes |
+|-----------------------|--------------|-------|
+| `gen_ai.system` | `meta.model_provider` | Solution de repli lorsque `gen_ai.provider.name` est absent |
+
+#### Métriques d'utilisation des jetons {#token-usage-metrics-1}
+
+| OpenLLMetry Attribute | LLM Observability Field | Notes |
+|-----------------------|--------------|-------|
+| `llm.usage.total_tokens` | `metrics.total_tokens` | Solution de repli lorsque `gen_ai.usage.total_tokens` est absent |
+
+#### Messages d'entrée et de sortie {#input-and-output-messages-1}
+
+OpenLLMetry utilise des attributs indexés au lieu de tableaux JSON. Ce sont les sources de la plus basse priorité et ne sont utilisées que lorsque aucune source standard OTel n'existe.
+
+##### Attributs de prompt (entrée) {#prompt-attributes-input}
+
+| Attribut OpenLLMetry | Description |
+|-----------------------|-------------|
+| `gen_ai.prompt..role` | Rôle du message (utilisateur, système, assistant, outil) |
+| `gen_ai.prompt..content` | Contenu du message |
+| `gen_ai.prompt..tool_call_id` | ID d'appel d'outil pour les messages de réponse d'outil |
+
+##### Attributs de complétion (sortie) {#completion-attributes-output}
+
+| Attribut OpenLLMetry | Description |
+|-----------------------|-------------|
+| `gen_ai.completion..role` | Rôle du message |
+| `gen_ai.completion..content` | Contenu du message |
+| `gen_ai.completion..finish_reason` | Raison de la fin de la complétion |
+
+##### Mapping {#mapping}
+
+Les messages sont convertis au format compatible OTel et traités normalement :
+
+| OpenLLMetry Source | LLMObs Field |
+|--------------------|--------------|
+| `gen_ai.prompt.*` | `meta.input.messages` (llm) / `meta.input.value` (autres) |
+| `gen_ai.completion.*` | `meta.output.messages` (llm) / `meta.output.value` (autres) |
+
+#### Appels d'outils {#tool-calls}
+
+Les appels d'outils sont imbriqués dans les attributs de complétion.
+
+| Attribut OpenLLMetry | Correspond à |
+|-----------------------|---------|
+| `gen_ai.completion..tool_calls.