Envoyez les ECS journaux Amazon à CloudWatch - Amazon Elastic Container Service

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.

Envoyez les ECS journaux Amazon à CloudWatch

Vous pouvez configurer les conteneurs de vos tâches afin qu'ils envoient des informations de CloudWatch journaux à Logs. Si vous utilisez le type de lancement Fargate pour vos tâches, vous pouvez afficher les journaux de vos conteneurs. Si vous utilisez le type de EC2 lancement, vous pouvez afficher différents journaux de vos conteneurs dans un emplacement pratique, et cela empêche vos journaux de conteneur d'occuper de l'espace disque sur vos instances de conteneur.

Note

Le type des informations qui sont consignées par les conteneurs dans votre tâche dépend principalement de leur commande ENTRYPOINT. Par défaut, les journaux qui sont capturés affichent la sortie de la commande qui peuvent s'afficher normalement dans un terminal interactif si vous aviez exécuté le conteneur localement, c'est-à-dire les flux d'I/O STDOUT et STDERR. Le pilote de awslogs journal transmet simplement ces journaux de Docker à CloudWatch Logs. Pour plus d'informations sur la façon dont les journaux Docker sont traités, et notamment sur les autres façons de capturer différentes données de fichiers ou différents flux, consultez View logs for a container or service dans la documentation Docker.

Pour envoyer les journaux système de vos instances de ECS conteneur Amazon vers CloudWatch Logs, consultez la section Surveillance des fichiers journaux et CloudWatch des quotas de journaux dans le guide de l'utilisateur Amazon CloudWatch Logs.

Type de lancement Fargate

Si vous utilisez le type de lancement Fargate pour vos tâches, vous devez ajouter les paramètres logConfiguration requis à votre définition de tâche pour activer le pilote de journal awslogs. Pour de plus amples informations, veuillez consulter Exemple de définition de ECS tâche Amazon : acheminer les journaux vers CloudWatch.

Pour le conteneur Windows sur Fargate, effectuez l'une des options suivantes lorsque l'un des paramètres de définition de tâche comporte des caractères spéciaux tels que : & \ < > ^ |

  • Ajoutez un escape (\) avec des guillemets autour de la chaîne de paramètres entière

    Exemple

    "awslogs-multiline-pattern": "\"^[|DEBUG|INFO|WARNING|ERROR\"",
  • Ajoutez un caractère escape (^) autour de chaque caractère spécial

    Exemple

    "awslogs-multiline-pattern": "^^[^|DEBUG^|INFO^|WARNING^|ERROR",

Type de lancement EC2

Si vous utilisez le type de EC2 lancement pour vos tâches et que vous souhaitez activer le pilote de awslogs journal, vos instances de ECS conteneur Amazon nécessitent au moins la version 1.9.0 de l'agent de conteneur. Pour plus d'informations sur la vérification de la version de votre agent et la mise à jour à la dernière version, consultez Mise à jour de l'agent de ECS conteneur Amazon.

Note

Vous devez utiliser un package ECS optimisé pour Amazon AMI ou personnalisé AMI avec au moins une version 1.9.0-1 du ecs-init package. Lorsque vous utilisez une option personnaliséeAMI, vous devez spécifier que le pilote de awslogs journalisation est disponible sur l'EC2instance Amazon lorsque vous démarrez l'agent en utilisant la variable d'environnement suivante dans votre docker run instruction ou votre fichier de variable d'environnement.

ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"]

Vos instances de ECS conteneur Amazon nécessitent également une logs:CreateLogStream logs:PutLogEvents autorisation quant au IAM rôle avec lequel vous pouvez lancer vos instances de conteneur. Si vous avez créé votre rôle d'instance de ECS conteneur Amazon avant l'activation de la prise en charge du pilote du awslogs journal dans AmazonECS, vous devrez sans doute ajouter ces autorisations. ecsTaskExecutionRole est utilisé lorsqu'il est affecté à la tâche et contient probablement les autorisations appropriées. Pour plus d'informations sur le rôle d'exécution de tâche, consultezIAMRôle d'exécution des ECS tâches Amazon. Si vos instances de conteneur utilisent la IAM politique gérée pour les instances de conteneur, vos instances de conteneur disposent probablement des autorisations appropriées. Pour plus d'informations sur la IAM politique gérée pour les instances de conteneur, consultezIAMRôle de l'instance de ECS conteneur Amazon.