Esta guía proporciona una descripción general del proceso para integrar una cuenta de Amazon Web Services (AWS) con Datadog mediante la plantilla CloudFormation de Datadog.
Sin entrar en detalles, esto implica la creación de una política asociada y de roles de IAM para que la cuenta de AWS de Datadog pueda hacer llamadas a la API de tu cuenta de AWS con el fin de recopilar o insertar datos. La plantilla también implementa la función lambda de Datadog Forwarder para enviar logs a Datadog. Si usas la plantilla de CloudFormation, dispondrás de todas las herramientas necesarias para enviar estos datos a tu cuenta de Datadog, y Datadog conservará la plantilla de CloudFormation para proporcionar la funcionalidad más reciente.
Una vez que esté establecida la conexión inicial, puedes habilitar las integraciones de servicios concretos de AWS que resulten pertinentes para tu entorno de AWS. Basta un solo clic para que Datadog envíe los recursos necesarios a tu cuenta de AWS y comience a consultar las métricas y eventos de los servicios que utilizas. En lo referente a los servicios populares que usas de AWS, Datadog provee dashboards predefinidos para que dispongas de una visibilidad inmediata y personalizable. Esta guía te muestra cómo configurar la integración e instalar el Datadog Agent en una instancia EC2 de Amazon Linux y, además, facilita información general sobre las funciones de la integración. Consulta la sección Habilitar las integraciones de servicios concretos de AWS para ver una lista con las subintegraciones disponibles.
Puedes repetir este proceso en todas las cuentas de AWS en las que sea necesario, aunque también puedes usar API, AWS CLI o Terraform para configurar varias cuentas a la vez. Para más información, lee la Guía de Datadog-Amazon CloudFormation.
Nota: La plantilla de CloudFormation de Datadog sólo admite la creación y eliminación de sus recursos definidos. Consulta Actualizar tu plantilla de stack tecnológico para obtener orientación sobre cómo aplicar actualizaciones a tu stack tecnológico.
Requisitos previos
Antes de empezar, asegúrate de que cumples los siguientes requisitos previos:
Tienes una cuenta de AWS. Tu usuario de AWS necesita los siguientes permisos de IAM para poder ejecutar correctamente la plantilla de CloudFormation:
- cloudformation:CreateStack
- cloudformation:CreateUploadBucket
- cloudformation:DeleteStack
- cloudformation:DescribeStacks
- cloudformation:DescribeStackEvents
- cloudformation:GetStackPolicy
- cloudformation:GetTemplateSummary
- cloudformation:ListStacks
- cloudformation:ListStackResources
- ec2:DescribeSecurityGroups
- ec2:DescribeSubnets
- ec2:DescribeVpcs
- iam:AttachRolePolicy
- iam:CreatePolicy
- iam:CreateRole
- iam:DeleteRole
- iam:DeleteRolePolicy
- iam:DetachRolePolicy
- iam:GetRole
- iam:GetRolePolicy
- iam:PassRole
- iam:PutRolePolicy
- iam:TagRole
- iam:UpdateAssumeRolePolicy
- kms:Decrypt
- lambda:AddPermission
- lambda:CreateFunction
- lambda:DeleteFunction
- lambda:GetCodeSigningConfig
- lambda:GetFunction
- lambda:GetFunctionCodeSigningConfig
- lambda:GetLayerVersion
- lambda:InvokeFunction
- lambda:PutFunctionConcurrency
- lambda:RemovePermission
- lambda:TagResource
- logs:CreateLogGroup
- logs:DeleteLogGroup
- logs:DescribeLogGroups
- logs:PutRetentionPolicy
- oam:ListSinks
- oam:ListAttachedLinks
- s3:CreateBucket
- s3:DeleteBucket
- s3:DeleteBucketPolicy
- s3:GetEncryptionConfiguration
- s3:GetObject
- s3:GetObjectVersion
- s3:PutBucketPolicy
- s3:PutBucketPublicAccessBlock
- s3:PutEncryptionConfiguration
- s3:PutLifecycleConfiguration
- secretsmanager:CreateSecret
- secretsmanager:DeleteSecret
- secretsmanager:GetSecretValue
- secretsmanager:PutSecretValue
- serverlessrepo:CreateCloudFormationTemplate
Configuración
Dirígete a la página de configuración de la integración de AWS en Datadog y haz clic en Add AWS Account (Añadir cuenta de AWS).
Configura los parámetros de la integración en la opción Automatically using CloudFormation (Usar CloudFormation automáticamente).
a. Selecciona las regiones de AWS que desees integrar.
b. Añade tu [clave de API] de Datadog9.
c. Opcionalmente, envía logs y otros datos a Datadog con la función Forwarder de Lambda de Datadog.
d. Opcionalmente, activa Errores de configuración de Cloud Security para escanear tu entorno de nube, hosts y contenedores en busca de errores de configuración y riesgos de seguridad.
Haz clic en Launch CloudFormation Template (Iniciar plantilla de CloudFormation) para abrir la consola de AWS y cargar stack de CloudFormation. Todos los parámetros estarán completados en función de lo que hayas seleccionado en el anterior formulario de Datadog, por lo que no tendrás que editarlos a menos que quieras hacerlo.
Nota: El parámetro DatadogAppKey
permite que el stack de CloudFormation haga llamadas a la API de Datadog para ampliar y editar la configuración de Datadog en esta cuenta de AWS. La clave se genera automáticamente y está vinculada a tu cuenta de Datadog.
Marca las casillas obligatorias de AWS y haz clic en Create stack (Crear stack). Se iniciará el proceso de creación del stack de Datadog y de tres stacks anidados. Eso podría tardar varios minutos. Asegúrate de que el stack se haya creado correctamente antes de continuar.
Una vez que hayas creado el stack, vuelve al cuadro de integración de AWS en Datadog y haz clic en Ready! (Listo).
La recopilación de datos podría tardar hasta 10 minutos en iniciarse. Después, consulta el dashboard de información general de AWS predefinido para ver las métricas enviadas por tus servicios e infraestructura de AWS:
Configuración
Habilitar las integraciones de servicios concretos de AWS
Consulta la página de integraciones para ver un listado completo de las subintegraciones disponibles. Muchas de estas integraciones se instalan de forma predeterminada cuando Datadog reconoce los datos procedentes de tu cuenta de AWS.
Utiliza la pestaña Metric Collection (Recopilación de métricas) en la página de la integración AWS para configurar de qué servicios recopilará métricas la integración Datadog.
Añadir regiones
En la pestaña General de la página de la integración AWS, puedes controlar las regiones de AWS en las que Datadog recopila métricas, eventos de CloudWatch y recursos.
Enviar logs
Existen dos formas de enviar los logs de los servicios de AWS a Datadog:
- Destino de Amazon Data Firehose: Utiliza el destino Datadog en tu flujo (stream) de entrega de Amazon Data Firehose para reenviar logs a Datadog. Se recomienda usar este enfoque cuando envías grandes volúmenes de logs desde CloudWatch.
- Función de Forwarder Lambda: despliega la función de Forwarder Lambda de Datadog, que se suscribe a los buckets de S3 o a tus grupos de logs de CloudWatch y reenvía logs a Datadog. Debes utilizar este enfoque para enviar trazas (traces), métricas mejoradas o métricas personalizadas desde funciones de Lambda de forma asíncrona a través de logs. Datadog también te recomienda usar este enfoque para enviar logs desde S3 u otros recursos que no puedan transmitir datos directamente a Kinesis.
Lee la sección Habilitar los logs en tu servicio de AWS para activar el flujo de logs en los servicios de AWS más utilizados.
Validación
Una vez que hayas habilitado los logs, los encontrarás en el Log Explorer con las facetas source
o service
del panel de facetas, tal y como se muestra en este ejemplo de S3:
Instala el Datadog Agent en EC2 para obtener mayor visibilidad
La integración de AWS con Datadog ya rastrea de forma predeterminada la API de CloudWatch para recopilar las métricas proporcionadas por AWS. No obstante, puedes disfrutar de una visibilidad aún mayor en tus instancias de EC2 con el Datadog Agent. El Agent es un daemon ligero que genera informes de métricas y eventos, aunque también se puede configurar para que lo haga con logs y trazas. En la sección Agent Installation (Instalación del Agent) de la aplicación de Datadog, encontrarás las instrucciones para instalar el Agent en una amplia variedad de sistemas operativos. Muchos sistemas operativos (como Amazon Linux) cuentan con comandos de instalación en un único paso que puedes ejecutar para instalar el Agent desde el terminal de la instancia:
Una vez que Agent esté instalado, se representará gráficamente en la lista de infraestructuras con un icono en forma de hueso:
La captura de pantalla anterior muestra el host con el Datadog Agent informando de los datos de los checks de Sistema y NTP. El check de sistema proporciona métricas en torno a CPU, memoria, sistema de archivos y E/S, y brinda información adicional sobre el host. Puedes activar integraciones adicionales para adaptarte al entorno y al caso de uso, o utilizar DogStatsD para enviar métricas personalizadas directamente a Datadog.
Consulta las FAQ sobre por qué deberías instalar el Datadog Agent en tus instancias de nube para obtener más información sobre las ventajas de este enfoque.
Usar el Datadog Agent con el Servicio de contenedores de Amazon
Puedes usar el Datadog Agent en entornos contenedorizados, independientemente de que estés gestionando tus instancias o utilizando Fargate en un entorno serverless.
ECS con un tipo de lanzamiento EC2
Utiliza la documentación sobre Amazon ECS para ejecutar el Datadog Docker Agent en las instancias EC2 de tu clúster de ECS. Revisa la documentación sobre la recopilación de datos de Amazon ECS para ver las métricas y eventos enviados a tu cuenta de Datadog.
ECS con un tipo de lanzamiento Fargate
Utiliza la documentación sobre Amazon ECS en AWS Fargate para ejecutar el Agent a modo de contenedor con la misma definición de tarea que tu aplicación. Nota: Se necesita la versión 6.1.1 (o posterior) del Datadog Agent para aprovechar al máximo la integración de Fargate.
AWS Batch con tipo de orquestación Fargate
Utiliza la documentación sobre Amazon ECS en AWS Fargate para AWS Batch para ejecutar el Agent a modo de contenedor con la misma definición de trabajo de AWS Batch que tu aplicación. Nota: Se necesita la versión 6.1.1 o posterior del Datadog Agent para aprovechar al máximo la integración de Fargate.
EKS
No necesitas llevar a cabo ninguna configuración concreta para Amazon Elastic Kubernetes Service (EKS), tal y como se menciona en la documentación sobre las distribuciones de Kubernetes. Utiliza la documentación específica sobre Kubernetes para implementar el Agent en tu clúster de EKS.
EKS con Fargate
Dado que AWS gestiona los pods de Fargate, no se realizan checks en los componentes del sistema del host, como la CPU y la memoria. Para recopilar los datos de tus pods de AWS Fargate, utiliza la documentación sobre Amazon EKS en AWS Fargate para ejecutar el Agent a modo de respaldo del pod de tu aplicación con control de acceso personalizado y basado en roles (RBAC). Nota: Se necesita la versión 7.17 (o posterior) del Datadog Agent.
EKS Anywhere
Utiliza la documentación sobre EKS Anywhere para los clústeres de Kubernetes on-premises.
Crea recursos adicionales de Datadog
Además de utilizar la interfaz de usuario o la API de Datadog, puedes crear muchos recursos de Datadog con el Registro de CloudFormation. Para obtener visibilidad y solucionar problemas, utiliza dashboards para mostrar datos clave, aplicar funciones y encontrar Correlaciones de métricas.
Para recibir notificaciones acerca de cualquier comportamiento no deseado o inesperado que se produzca en tu cuenta, crea monitores. Los monitores evalúan de forma constante los datos que recibe tu cuenta y envían notificaciones para garantizar que la información llegue a los miembros del equipo pertinentes. Revisa la lista de integraciones de notificación para descubrir todas las formas mediante las que puedes notificar a tu equipo.
Explora productos relacionados
Serverless
Puedes unificar las métricas, trazas (traces) y logs de las funciones de AWS Lambda que ejecutan aplicaciones serverless en Datadog. Dirígete a la sección Serverless para conocer cómo instrumentar tu aplicación, instalar bibliotecas e integraciones serverless, implementar trazas (traces) distribuidas con aplicaciones serverless o solucionar problemas en entornos serverless.
APM
Para conocer mejor y recopilar más datos de tus aplicaciones y servicios de AWS, habilita la recopilación distribuida de trazas (traces) desde la integración con AWS X-Ray o desde un host con el Datadog Agent mediante APM. A continuación, lee la documentación de APM para comprender mejor cómo utilizar estos datos para obtener información sobre el rendimiento de tu aplicación.
También puedes usar Watchdog, una función algorítmica para las métricas de infraestructura y rendimiento de APM. Su objetivo consiste en detectar automáticamente los posibles problemas de la aplicación y enviarte notificaciones al respecto.
Seguridad
Cloud SIEM
Revisa Empezando con Cloud SIEM para evaluar tus logs con respecto a las reglas de detección de logs predefinidas. Estas reglas se pueden personalizar y, cuando detectan alguna amenaza, generan avisos de seguridad a los que se puede acceder desde el Explorador de avisos de seguridad. Si quieres asegurarte de que se notifica al equipo correcto, utiliza las reglas de notificación para configurar las preferencias de notificación de varias reglas.
Cloud Security Misconfigurations
Utiliza la guía de Ajuste de errores de configuración de Cloud Security para aprender a detectar y evaluar los errores de configuración en tu entorno en la nube. Los datos de configuración de recursos se evalúan en función de las reglas de cumplimiento listas para usar de la nube y la infraestructura, a fin de detectar técnicas de ataque y posibles errores de configuración, y así lograr una respuesta y corrección rápidas.
Solucionar problemas
Si te encuentras con el error Datadog is not authorized to perform sts:AssumeRole
, consulta su página específica para Solucionar problemas. Para cualquier otro problema, consulta la Guía de solución de problemas de la integración con AWS.
Referencias adicionales
Más enlaces, artículos y documentación útiles: