Solucionar los problemas de la integración de AWS
Utiliza esta guía para solucionar problemas relacionados con la integración de AWS con Datadog.
Errores de permisos de IAM
Datadog no está autorizado para ejecutar sts:AssumeRole
El error de permiso sts:Assumerole
indica un problema con la política de confianza asociada con DatadogAWSIntegrationRole
. Consulta la documentación Error: Datadog no está autorizado para ejecutar sts:AssumeRole para conocer cómo puede resolver este problema.
Nota: Este error puede persistir en la interfaz de usuario de Datadog durante algunas horas mientras se propagan los cambios.
Discrepancias en los datos
Discrepancia entre tus datos en CloudWatch y Datadog
Hay dos distinciones importantes que hay que tener en cuenta:
Datadog muestra datos sin procesar de AWS en valores por segundo, independientemente del periodo de tiempo seleccionado en AWS. Por este motivo, el valor de Datadog podría aparecer más bajo.
min
, max
y avg
tienen un significado diferente en AWS que en Datadog. En AWS, la latencia promedio, la latencia mínima y la latencia máxima son tres métricas distintas que recopila AWS. Cuando Datadog obtiene métricas de AWS CloudWatch, la latencia promedio se recibe como una única serie temporal por Elastic Load Balancer (ELB). En Datadog, cuando seleccionas min
, max
o avg
, estás controlando cómo se combinan varias series temporales. Por ejemplo, al solicitar system.cpu.idle
sin ningún filtro, se devuelve una serie para cada host que informa esa métrica, y esas series deben combinarse para ser graficadas. Si, en cambio, solicitaste system.cpu.idle
desde un solo host, no es necesaria ninguna agregación y alternar entre promedio y máximo arroja el mismo resultado.
Métricas
Métricas con retraso
Al utilizar la integración de AWS, Datadog obtiene sus métricas a través de la API de CloudWatch. Es posible que notes un pequeño retraso en las métricas de AWS debido a algunas limitaciones que existen para su API.
La API de CloudWatch solo ofrece un rastreo métrica por métrica para extraer datos. Las API de CloudWatch tienen un límite de velocidad que varía en función de la combinación de credenciales de autenticación, región y servicio. AWS pone a disposición las métricas según el nivel de cuenta. Por ejemplo, si pagas por “métricas detalladas” dentro de AWS, estarán disponibles más rápidamente. Este nivel de servicio para métricas detalladas también se aplica a la granularidad, ya que algunas métricas están disponibles por minuto y otras cada cinco minutos.
Instala el Datadog Agent en el host para evitar retrasos en las métricas. Consulta la documentación del Datadog Agent para comenzar. Datadog tiene la capacidad de priorizar ciertas métricas dentro de una cuenta para extraerlas más rápido, según las circunstancias. Contacta con el soporte de Datadog para obtener información adicional.
Métricas faltantes
La API de CloudWatch solo devuelve métricas con puntos de datos, por lo que, por ejemplo, si un ELB no tiene instancias adjuntas, no se verán métricas relacionadas con este ELB en Datadog.
Recuento incorrecto de aws.elb.healthy_host_count
Cuando la opción de balanceo de carga entre zonas está habilitada en un ELB, todas las instancias que se adjuntan al ELB se consideran parte de todas las zonas de disponibilidad (del lado de CloudWatch). Por ejemplo, si tienes dos instancias en 1a
y tres instancias en ab
, la métrica muestra cinco instancias por zona de disponibilidad.
Como esto puede resultar contraintuitivo, las métricas aws.elb.healthy_host_count_deduped y aws.elb.un_healthy_host_count_deduped muestran el recuento de instancias en buen estado y en mal estado por zona de disponibilidad, independientemente de si esta opción de balanceo de carga entre zonas está habilitada o no.
Aplicación Datadog
Hosts duplicados al instalar el Agent
Al instalar el Agent en un host de AWS, es posible que veas hosts duplicados en la página de infraestructura de Datadog durante algunas horas si configuras manualmente el nombre de host en la configuración del Agent. Los hosts duplicados desaparecen luego de unas horas y no afectan tu facturación.
Datadog Agent
En entornos en contenedores, el problema podría ser que hayas bloqueado el endpoint de metadatos de EC2 mediante la asignación de roles/credenciales de IAM a los pods que se ejecutan en el clúster de Kubernetes. Kube2IAM
y kiam
son herramientas comunes que se utilizan para hacer esto. Para resolverlo, actualiza tu configuración Kube2IAM
y kiam
para permitir el acceso a este endpoint.
IMDSv2, en su configuración predeterminada, rechaza las conexiones con un conteo de saltos de IP mayor que uno, es decir, conexiones que hayan pasado por una puerta de enlace de IP. Esto puede causar problemas cuando el Agent se ejecuta en un contenedor con una red distinta a la red del host, ya que el tiempo de ejecución reenvía el tráfico del contenedor a través de una puerta de enlace de IP virtual. Esto es común en las implementaciones de ECS. Las siguientes opciones pueden solucionar este problema:
Nombre de host EC2 con IMDS
Versiones del Agent anteriores a la v7.64.0
En algunas situaciones, la configuración del IMDSv2 EC2 puede imposibilitar el acceso del Agent a los metadatos necesarios. Esto puede hacer que Agent vuelva al proveedor de nombres de host os
, en lugar de aws
, como se ve en el resultado de agent status
.
La API de AWS permite deshabilitar IMDSv1, que el Agent utiliza de forma predeterminada. Si este es el caso, pero IMDSv2 está habilitado y es accesible, configura el parámetro ec2_prefer_imdsv2
en true
(el valor predeterminado es false
) en tu configuración del Agent. Consulta la documentación Transición al uso de Instance Metadata Service versión 2 para obtener más detalles.
La actualización del Datadog Agent a la v7.64.0 o posterior debería resolver estos problemas, ya que las versiones más recientes del Agent utilizan IMDSv2 por defecto.
Versión 7.64.0 o posterior del Agent
A partir de la versión 7.64.0, el Datadog Agent utiliza por defecto IMDSv2 y vuelve a IMDSv1 en caso de fallo. Para volver al comportamiento anterior, configura ec2_imdsv2_transition_payload_enabled
como false
en la configuración de tu host.
Para obtener más información, consulta la documentación Transición al uso de Instance Metadata Service, versión 2.
Los hosts aún tienen etiquetas de AWS después de eliminar la integración de Amazon EC2
Puedes usar la integración de AWS para recopilar datos de CloudWatch o instalar un Datadog Agent directamente en cada instancia de EC2 para obtener datos y etiquetas. Si has optado por utilizar ambos métodos para recopilar datos, el backend de Datadog fusiona los datos de la integración y del Datadog Agent en un único objeto de host.
Si eliminaste la integración de AWS, pero continúas ejecutando un Datadog Agent en tus instancias de EC2, los hosts de tu cuenta de Datadog seguirán teniendo asociadas las etiquetas de host antiguas que se recopilaron de AWS. Este es el comportamiento previsto y no indica que la integración de AWS o la de Amazon EC2 aún estén habilitadas.
Puedes verificar que la integración esté habilitada marcando “Apps Running” para ese host en la lista de infraestructura o verificando el resumen de métricas y creando un notebook acotado a ese host.
Por defecto, las etiquetas de nivel de host permanecen adjuntas a hosts AWS. Si quieres eliminar permanentemente las etiquetas de host de AWS de un host, puedes hacerlo mediante los siguientes métodos: