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
- Accédez à la page de configuration de l’intégration AWS dans Datadog et cliquez sur Add AWS Account.
- Configurez les paramètres de l’intégration sous l’option Automatically using CloudFormation.
- Sélectionnez les régions AWS à intégrer.
- Ajoutez votre clé d’API Datadog.
- Optionnellement, envoyez des logs et d’autres données à Datadog avec le Datadog Forwarder Lambda.
- 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é.
- 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. - 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.
- Une fois la pile créée, retournez sur la tuile d’intégration AWS dans Datadog et cliquez sur Ready!
- 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 :
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 :
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 :
Une fois l’Agent installé, il est représenté graphiquement dans la Infrastructure List avec une icône en forme d’os :
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
Documentation, liens et articles supplémentaires utiles: