Présentation

Ce guide vous accompagne dans l’intégration d’un compte Amazon Web Services (AWS) à Datadog à l’aide du modèle CloudFormation de Datadog. Une fois la configuration terminée, vous pouvez activer des intégrations de services AWS individuels, installer Datadog Agent sur des instances EC2 pour une visibilité accrue et configurer le transfert de logs.

Prérequis

Avant de commencer, assurez-vous de disposer d’un compte AWS. Le modèle CloudFormation crée un rôle IAM et une politique associée, permettant au compte AWS de Datadog d’effectuer des appels API vers votre compte AWS pour collecter et transférer des données. Votre utilisateur AWS doit disposer des autorisations IAM suivantes pour exécuter le modèle :

  • 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

Configuration

  1. Accédez à la page de configuration de l’intégration AWS dans Datadog et cliquez sur Add AWS Account.
  2. Configurez les paramètres de l’intégration sous l’option Automatically using CloudFormation.
    1. Sélectionnez les régions AWS à intégrer.
    2. Ajoutez votre clé d’API Datadog.
    3. Optionnellement, envoyez des logs et d’autres données à Datadog avec le Datadog Forwarder Lambda.
    4. Optionnellement, activez Cloud Security Misconfigurations pour analyser votre environnement cloud, vos hôtes et vos conteneurs à la recherche de mauvaises configurations et de risques de sécurité.
  3. Cliquez sur Launch CloudFormation Template. Cela ouvre la console AWS et charge la pile CloudFormation. Tous les paramètres sont renseignés en fonction de vos sélections dans le formulaire Datadog précédent, vous n’avez donc pas besoin de les modifier sauf si vous le souhaitez. Remarque : Le paramètre DatadogAppKey permet à la pile CloudFormation d’effectuer des appels API vers Datadog pour ajouter et modifier la configuration Datadog pour ce compte AWS. La clé est générée automatiquement et liée à votre compte Datadog.
  4. Cochez les cases requises par AWS et cliquez sur Create stack. Cela lance le processus de création de la pile Datadog ainsi que de trois piles imbriquées. Cela pourrait prendre plusieurs minutes. Assurez-vous que la pile est correctement créée avant de continuer.
  5. Une fois la pile créée, retournez sur la tuile d’intégration AWS dans Datadog et cliquez sur Ready!
  6. Attendez jusqu’à 10 minutes que la collecte des données commence, puis consultez le dashboard de présentation AWS prêt à l’emploi pour voir les métriques envoyées par vos services et votre infrastructure AWS :
    Le dashboard de présentation AWS dans le compte Datadog. À gauche se trouvent le logo AWS et un graphique des événements AWS indiquant « Aucune entrée correspondante trouvée ». Au centre se trouvent des graphiques relatifs aux volumes EBS avec des données numériques affichées et une carte thermique montrant des données cohérentes. Sur la droite se trouvent des graphiques relatifs aux ELB affichant des données numériques ainsi qu'une série temporelle montrant des données irrégulières provenant de trois sources.

Pour configurer plusieurs comptes à la fois, utilisez l’API, l’AWS CLI ou Terraform. Pour plus d’informations, consultez le guide Datadog-Amazon CloudFormation.

Remarque : Le modèle CloudFormation de Datadog prend uniquement en charge la création et la suppression des ressources qu’il définit. Consultez Mettre à jour votre modèle de stack pour obtenir des conseils sur l’application des mises à jour à votre stack.

À quoi s’attendre après la configuration

Une fois l’intégration correctement configurée, les données commencent à apparaître dans Datadog selon le calendrier suivant :

  • Métriques : Apparaissent en 10 minutes environ avec l’interrogation de l’API, ou en 2 à 3 minutes avec les flux de métriques CloudWatch. Tous les services ne transmettent pas les données à la même fréquence ; il est donc normal qu’un dashboard soit partiellement rempli au cours de la première heure.
  • Tags : Les tags de ressources AWS peuvent mettre plus de temps à se propager. Les modifications apportées aux tags dans AWS peuvent mettre de 15 minutes à plusieurs heures avant d’être répercutées dans Datadog.
  • Ressources : Découvertes lors du prochain cycle d’exploration des ressources après la configuration.
  • Logs : Nécessitent une configuration distincte. Consultez Envoyer des logs pour les instructions de configuration.
Datadog ne remplit pas les données de métriques historiques antérieures à l'activation de l'intégration. Les métriques commencent à circuler à partir du moment où l'intégration est configurée avec succès.

Configuration

Activer les intégrations pour des services AWS individuels

Consultez la page Intégrations pour obtenir une liste complète des sous-intégrations disponibles. Bon nombre de ces intégrations sont installées par défaut lorsque Datadog reconnaît les données provenant de votre compte AWS.

Utilisez l’onglet Metric Collection sur la page d’intégration AWS pour configurer les services à partir desquels l’intégration Datadog collecte des métriques.

Filtrer les métriques par nom de métrique

Utilisez l’onglet Metric Collection sur la page d’intégration AWS pour filtrer les métriques CloudWatch par espace de nom. Développez un espace de nom dans le tableau de collecte des métriques CloudWatch et choisissez un filtre Inclure ou Exclure :

  • Inclure : Collectez uniquement les noms de métriques Datadog qui correspondent aux modèles configurés pour cet espace de nom.
  • Exclure : Collectez tous les noms de métriques Datadog pour cet espace de nom, à l’exception de ceux qui correspondent aux modèles configurés.

Chaque espace de nom peut utiliser un seul mode de filtrage à la fois. Les modèles de filtrage prennent en charge les lettres minuscules, les chiffres, ., _ et *. Par exemple, aws.ec2.network_* correspond aux métriques réseau EC2. Le tableau prévisualise le nombre de métriques correspondant à chaque modèle avant que vous n’enregistriez les modifications.

Les filtres de noms de métriques s’appliquent par espace de nom et sont évalués une fois que l’espace de nom est activé pour la collecte de métriques.

Les filtres de noms de métriques ne peuvent pas supprimer aws.ec2.cpuutilization ou aws.lambda.invocations. Datadog collecte toujours ces métriques requises.

Pour gérer les filtres de noms de métriques par programmation, consultez Configurer les filtres de noms de métriques AWS avec l’API.

Ajouter des régions

Sous l’onglet General sur la page d’intégration AWS, vous pouvez contrôler les régions AWS où Datadog collecte des métriques, des événements CloudWatch et des ressources.

Envoyer des logs

Il existe deux façons d’envoyer des logs de service AWS à Datadog :

  • Amazon Data Firehose destination : Recommandé pour les logs CloudWatch à haut volume.
  • Forwarder Lambda function : Requis pour les traces, les métriques améliorées ou les métriques personnalisées provenant des fonctions Lambda. Également recommandé pour les logs provenant de S3 ou d’autres ressources qui ne peuvent pas être diffusés directement vers Amazon Data Firehose.

Consultez Activer la journalisation pour votre service AWS pour obtenir des instructions de configuration.

Validation

Une fois que vous avez activé les logs, retrouvez-les dans le Log Explorer en utilisant les facettes source ou service depuis le panneau des facettes, comme dans cet exemple provenant de S3 :

La page Log Explorer du compte Datadog. Sur la gauche, l'image affiche les facettes Source et Service, toutes deux cochées avec « s3 ». Sur la droite, certaines entrées de logs sont affichées sous forme de liste.

Tirez le meilleur parti de la plateforme Datadog

Une visibilité accrue avec Datadog Agent sur EC2

Par défaut, l’intégration AWS de Datadog explore l’API CloudWatch pour les métriques fournies par AWS, mais vous pouvez obtenir une visibilité encore plus approfondie sur vos instances EC2 avec Datadog Agent. L’Agent est un démon léger qui rapporte des métriques et des événements, et peut également être configuré pour les logs et les traces. La section Installation de l’Agent de l’application Datadog fournit des instructions pour installer l’Agent sur une grande variété de systèmes d’exploitation. De nombreux systèmes d’exploitation (par exemple, Amazon Linux) disposent de commandes d’installation en une étape que vous pouvez exécuter depuis le terminal de l’instance pour installer l’Agent :

La section 'Agent' de l'onglet 'Integrations' dans Datadog. Sur la gauche est affichée une liste des systèmes d'exploitation pris en charge pour Datadog Agent. «Amazon Linux» est mis en surbrillance dans cette liste. À droite s'affiche 'Use our easy one-step install'. La commande d'installation de l'Agent s'affiche en dessous, avec la section DD_API_KEY masquée.

Une fois l’Agent installé, il est représenté graphiquement dans la Infrastructure List avec une icône en forme d’os :

La liste d'infrastructure affichant deux hôtes sous forme de liste. Les deux hôtes affichent l'icône AWS pour l'intégration AWS et 'aws' dans un encadré bleu pour indiquer qu'ils sont associés à l'intégration AWS. Un hôte affiche également une icône en forme d'os et des encadrés bleus pour 'ntp' et 'system'.

La capture d’écran ci-dessus montre l’hôte avec Datadog Agent rapportant des données à partir des vérifications System et NTP. La vérification System fournit des métriques sur le CPU, la mémoire, le système de fichiers et les E/S, offrant des informations supplémentaires sur l’hôte. Vous pouvez activer des intégrations supplémentaires pour les adapter à votre environnement et à votre cas d’utilisation, ou utiliser en complément DogStatsD pour envoyer des métriques personnalisées directement à Datadog.

Consultez la FAQ sur l’installation de Datadog Agent sur des instances cloud pour en savoir plus sur les avantages de cette méthode.

Utilisation de Datadog Agent avec Amazon Container Services

Pour les environnements conteneurisés, vous pouvez utiliser Datadog Agent, que vous gériez vos instances ou que vous utilisiez Fargate pour un environnement serverless.

ECS avec type de lancement EC2

Utilisez la documentation Amazon ECS pour exécuter l’Agent Docker Datadog sur les instances EC2 de votre cluster ECS. Consultez la documentation sur la collecte de données Amazon ECS pour voir les métriques et les événements signalés à votre compte Datadog.

ECS avec type de lancement Fargate

Utilisez la documentation Amazon ECS sur AWS Fargate pour exécuter l’Agent en tant que conteneur dans la même définition de tâche que votre application. Remarque : la version 6.1.1 ou supérieure de Datadog Agent est nécessaire pour tirer pleinement parti de l’intégration Fargate.

AWS Batch avec type d’orchestration Fargate

Utilisez la documentation Amazon ECS sur AWS Fargate pour AWS Batch pour exécuter l’Agent en tant que conteneur dans la même définition de job AWS Batch que votre application. Remarque : la version 6.1.1 ou supérieure de Datadog Agent est nécessaire pour tirer pleinement parti de l’intégration Fargate.

EKS

Vous n’avez besoin d’aucune configuration spécifique pour Amazon Elastic Kubernetes Service (EKS), comme mentionné dans la documentation sur les distributions Kubernetes. Utilisez la documentation Kubernetes dédiée pour déployer l’Agent dans votre cluster EKS.

EKS avec Fargate

Comme les pods Fargate sont gérés par AWS, ils excluent les vérifications système basées sur l’hôte telles que le CPU et la mémoire. Pour collecter des données à partir de vos pods AWS Fargate, utilisez la documentation Amazon EKS sur AWS Fargate pour exécuter l’Agent en tant que sidecar de votre pod d’application avec un contrôle d’accès basé sur les rôles (RBAC) personnalisé. Remarque : Cela nécessite la version 7.17 ou supérieure de Datadog Agent.

EKS Anywhere

Référez-vous à la documentation relative à EKS Anywhere pour vos clusters Kubernetes sur site.

Créer des ressources Datadog supplémentaires 

En plus d’utiliser l’interface utilisateur ou l’API Datadog, vous pouvez créer de nombreuses ressources Datadog avec le registre CloudFormation. Pour la visibilité et le dépannage, utilisez des tableaux de bord pour afficher les données clés, appliquer des fonctions et trouver des corrélations de métriques.

Pour être averti de tout comportement indésirable ou inattendu sur votre compte, créez des monitors. Les monitors évaluent en permanence les données transmises à votre compte et envoient des notifications pour garantir que les bonnes informations parviennent aux bons membres de l’équipe. Consultez la liste des intégrations de notification pour connaître toutes les façons d’avertir votre équipe.

Serverless 

Pour surveiller les fonctions AWS Lambda avec Datadog, consultez Serverless pour obtenir des instructions sur l’instrumentation de votre application, l’installation de bibliothèques et intégrations Serverless, la mise en œuvre du tracing distribué avec des applications serverless ou le dépannage des problèmes serverless.

APM 

Pour collecter des traces distribuées à partir de vos applications et services AWS, utilisez Datadog Agent avec l’APM. Pour les fonctions AWS Lambda, instrumentez avec l’Datadog Lambda Extension. Consultez la documentation APM pour plus de détails sur l’analyse des données de performance des applications.

Vous pouvez également utiliser Watchdog, une fonctionnalité algorithmique pour les performances APM et les métriques d’infrastructure, pour détecter automatiquement les problèmes d’application potentiels et en être informé.

Sécurité

Cloud SIEM

Consultez Prise en main de Cloud SIEM pour évaluer vos logs par rapport aux règles de détection de logs prêtes à l’emploi. Ces règles sont personnalisables et, lorsque des menaces sont détectées, elles génèrent des signaux de sécurité accessibles dans l’Explorer de signaux de sécurité. Utilisez les règles de notification pour configurer les préférences de notification pour plusieurs règles.

Mauvaises configurations de Cloud Security

Utilisez le guide Setting Up Cloud Security Misconfigurations pour détecter et évaluer les mauvaises configurations dans votre environnement cloud. Les données de configuration des ressources sont évaluées par rapport aux règles de conformité Cloud et Infrastructure prêtes à l’emploi pour signaler les techniques d’attaquants et les mauvaises configurations potentielles.

Dépannage

Si vous rencontrez l’erreur Datadog is not authorized to perform sts:AssumeRole, consultez sa page de dépannage dédiée. Pour tout autre problème, consultez le guide de dépannage de l’intégration AWS.

Pour aller plus loin