View a markdown version of this page

Guide de configuration (AWS CLI) - Amazon CloudWatch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Guide de configuration (AWS CLI)

Ce guide explique comment installer Enhanced Container Insights (Classic) sur un cluster Amazon EKS existant à l'aide du AWS CLI. Le module complémentaire déploie un CloudWatch agent DaemonSet qui collecte des métriques d'infrastructure, des journaux de conteneurs et des données de performance.

Mode de maintenance

Enhanced Container Insights (Classic) est en mode maintenance. Pour les nouveaux déploiements, nous vous recommandonsOTel Container Insights (recommandé).

Conditions préalables

Avant de commencer, vérifiez que vous répondez aux exigences suivantes.

  • Un cluster Amazon EKS existant exécutant Kubernetes version 1.25 ou ultérieure

  • Version de plateforme eks.1 ou ultérieure

  • AWS CLI version 2.12.0 ou ultérieure

  • kubectlconfiguré pour communiquer avec votre cluster cible

  • Autorisations IAM :eks:CreateAddon,eks:DescribeAddon, iam:CreateServiceLinkedRoleiam:CreateRole, et iam:AttachRolePolicy

  • Le module complémentaire EKS Pod Identity Agent installé sur votre cluster ou configuré les rôles IAM pour les comptes de service (IRSA)

  • Accès Internet sortant du cluster vers les points de terminaison CloudWatch

Étape 1 : création du rôle IAM

Créez un rôle IAM qui permet à l' CloudWatch agent d'envoyer des données à CloudWatch.

Pour créer le rôle IAM de l' CloudWatch agent
  1. Exécutez la commande suivante pour créer le rôle avec une politique de confiance pour EKS Pod Identity.

    aws iam create-role \ --role-name EKS-CloudWatch-Agent-Role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": ["sts:AssumeRole", "sts:TagSession"] }] }'
  2. Attachez la stratégie gérée par CloudWatchAgentServerPolicy au rôle.

    aws iam attach-role-policy \ --role-name EKS-CloudWatch-Agent-Role \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy

Étape 2 : Création de l'association Pod Identity

Associez le rôle IAM au compte de service de l' CloudWatch agent de votre cluster.

Pour créer l'association Pod Identity
  • Exécutez la commande suivante. cluster-nameRemplacez-le par le nom de votre cluster Amazon EKS et account-id par votre identifiant de AWS compte.

    aws eks create-pod-identity-association \ --cluster-name cluster-name \ --namespace amazon-cloudwatch \ --service-account cloudwatch-agent \ --role-arn arn:aws:iam::account-id:role/EKS-CloudWatch-Agent-Role

Étape 3 : Installation du module complémentaire Amazon CloudWatch Observability

Installez le amazon-cloudwatch-observability module complémentaire sur votre cluster.

Pour installer le module complémentaire
  • Exécutez la commande suivante. cluster-nameRemplacez-le par le nom de votre cluster Amazon EKS.

    aws eks create-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --addon-version v5.x.x-eksbuild.x

    Remplacez v5.x.x-eksbuild.x par la dernière version v5.x disponible. L'installation sans --addon-version installer entraîne l'installation de la dernière version (v6.2.0+), qui active le pipeline OTel au lieu de Classic.

Étape 4 : vérifier l'état du module complémentaire

Vérifiez que le module complémentaire a été correctement installé.

Pour vérifier l'état du module complémentaire
  • Exécutez la commande suivante. cluster-nameRemplacez-le par le nom de votre cluster Amazon EKS.

    aws eks describe-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --query "addon.status" \ --output text

    Le résultat attendu estACTIVE.

Étape 5 : vérifier que les modules d'agent sont en cours d'exécution

Vérifiez que les modules d' CloudWatch agent s'exécutent dans l'espace de amazon-cloudwatch noms.

Pour confirmer que les modules d'agent sont en cours d'exécution
  • Exécutez la commande suivante.

    kubectl get pods -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent

    Tous les modules d'agent doivent indiquer Running leur statut.

Vérifiez les données dans CloudWatch

Une fois la configuration terminée, les données de Container Insights apparaissent dans CloudWatch un délai de 3 à 5 minutes.

Pour vérifier les données de Container Insights
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le volet de navigation, choisissez Container Insights.

  3. Vérifiez que des métriques telles que node_cpu_utilization et pod_memory_utilization apparaissent pour votre cluster.

Résolution des problèmes

Suivez les instructions suivantes pour résoudre les problèmes courants lors de l'installation d'Enhanced Container Insights (Classic) sur Amazon EKS.

Add-on le statut indique CREATE_FAILED ou DEGRADED

Symptôme : Lorsque vous exécutezaws eks describe-addon, l'état indique CREATE_FAILED ouDEGRADED.

Cause : L'installation du module complémentaire a échoué en raison d'autorisations IAM insuffisantes ou d'une association Pod Identity manquante.

Solution : Procédez comme suit pour résoudre ce problème.

  1. Exécutez la commande suivante pour vérifier les informations d'erreur détaillées. Remplacez cluster-name par le nom de votre cluster.

    aws eks describe-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --query "addon.health"
  2. Vérifiez que le rôle IAM existe et qu'il est CloudWatchAgentServerPolicy associé.

  3. Vérifiez que l'association Pod Identity cible le bon espace de noms (amazon-cloudwatch) et le compte de service (cloudwatch-agent).

  4. Supprimez le module complémentaire défaillant et réinstallez-le une fois le problème résolu.

    aws eks delete-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability

Les métriques n'apparaissent pas CloudWatch après 5 minutes

Symptôme : les modules de l'agent affichent l'Runningétat, mais aucune métrique n'apparaît CloudWatch après 5 minutes.

Cause : L'agent ne peut pas envoyer de données à CloudWatch cause de restrictions réseau ou d'autorisations IAM incorrectes.

Solution : Procédez comme suit pour résoudre ce problème.

  1. Vérifiez que vos groupes de sécurité VPC et vos ACL réseau autorisent le trafic HTTPS sortant (port 443) vers les points de terminaison. CloudWatch

  2. Vérifiez les journaux de l'agent pour détecter les erreurs d'autorisation ou les délais de connexion.

    kubectl logs -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent --tail=100 | grep -i "error\|timeout\|denied"
  3. Vérifiez que la politique est attachée au rôle IAM et que la CloudWatchAgentServerPolicy politique de confiance le permetpods.eks.amazonaws.com.

Les modules d'agent sont bloqués dans Pending ou CrashLoopBackOff

Symptôme : Lorsque vous exécutezkubectl get pods -n amazon-cloudwatch, un ou plusieurs modules s'affichent Pending ou affichent CrashLoopBackOff leur état.

Cause : Les modules d'agent ne peuvent pas démarrer en raison de ressources de nœud insuffisantes, d'échecs d'extraction d'images ou d'autorisations manquantes.

Solution : Procédez comme suit pour résoudre ce problème.

  1. Consultez les événements du pod pour obtenir des messages d'erreur détaillés.

    kubectl describe pod -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent
  2. Vérifiez que vos nœuds disposent de suffisamment de processeur et de mémoire pour les modules d'agent.

  3. Vérifiez que le module complémentaire EKS Pod Identity Agent est installé et en cours d'exécution.

    kubectl get pods -n kube-system -l app.kubernetes.io/name=eks-pod-identity-agent

Étapes suivantes

Prêt pour la mise à niveau ? Pour obtenir des instructions étape par étape pour passer d'Enhanced Container Insights (Classic) à OTel Container Insights, voirMigrez d'Enhanced Container Insights (Classic) vers OTel Container Insights.