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.
Utilisation du pilote du journal awslogs
Par défaut, AWS Batch permet au pilote de awslogs
journal d'envoyer des informations de journal à CloudWatch Logs. Vous pouvez utiliser cette fonctionnalité pour afficher les différents journaux de vos conteneurs en un seul endroit pratique et éviter que les journaux de vos conteneurs n'occupent de l'espace disque sur vos instances de conteneurs. Cette rubrique vous aide à configurer le pilote de awslogs
journal dans vos définitions de tâches.
Note
Dans la AWS Batch console, vous pouvez configurer le pilote de awslogs
journal dans la section Configuration de la journalisation lorsque vous créez une définition de tâche.
Note
Le type d'informations enregistrées par les conteneurs dans le cadre de votre tâche dépend principalement de leur ENTRYPOINT
commande. Par défaut, les journaux capturés affichent la sortie de commande que vous voyez normalement dans un terminal interactif si vous avez exécuté le conteneur localement, à savoir les flux STDOUT
et d'STDERR
E/S. 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
Pour envoyer des journaux système depuis vos instances de conteneur vers CloudWatch Logs, consultezUtilisation CloudWatch des journaux avec AWS Batch. Pour plus d'informations sur CloudWatch les journaux, consultez la section Surveillance des fichiers journaux et CloudWatch des quotas de journaux dans le guide de l'utilisateur Amazon CloudWatch Logs.
Options du pilote du journal awslogs disponibles
Le pilote de awslogs
journal prend en charge les options suivantes dans les définitions de AWS Batch tâches. Pour plus d'informations, consultez la section Pilote de journalisation des CloudWatch journaux
awslogs-region
-
Obligatoire : non
Spécifiez la région dans laquelle le pilote de
awslogs
journal doit envoyer vos journaux Docker. Par défaut, la région utilisée est la même que celle de la tâche. Vous pouvez choisir d'envoyer tous vos journaux provenant de tâches situées dans différentes régions vers une seule région dans CloudWatch Logs. Cela leur permet d'être tous visibles à partir d'un seul endroit. Vous pouvez également les séparer par région pour une approche plus précise. Toutefois, lorsque vous choisissez cette option, assurez-vous que les groupes de journaux spécifiés existent dans la région que vous avez spécifiée. awslogs-group
-
Obligatoire : Facultatif
Avec
awslogs-group
cette option, vous pouvez spécifier le groupe de journaux auquel le pilote deawslogs
journal envoie ses flux de journaux. Si cela n'est pas spécifié,aws/batch/job
est utilisé. awslogs-stream-prefix
-
Obligatoire : Facultatif
Avec
awslogs-stream-prefix
cette option, vous pouvez associer un flux de journal au préfixe spécifié et à l'ID de tâche Amazon ECS de la AWS Batch tâche à laquelle appartient le conteneur. Si vous spécifiez un préfixe avec cette option, le format du flux de journaux est le suivant :prefix-name
/default/ecs-task-id
awslogs-datetime-format
-
Obligatoire : non
Cette option définit un modèle de démarrage à plusieurs lignes au format
strftime
Python. Un message de journal se compose d'une ligne qui correspond au modèle et de toutes les lignes suivantes qui ne correspondent pas au modèle. Ainsi, la ligne mise en correspondance est le délimiteur entre les messages de journalisation.Ce format peut, par exemple, servir à analyser une sortie comme une pile de vidage, laquelle pourrait, dans le cas contraire, être consignée en plusieurs entrées. Le modèle adéquat permet de la capturer dans une seule entrée.
Pour plus d'informations, consultez awslogs-datetime-format
. Cette option est toujours prioritaire si
awslogs-datetime-format
etawslogs-multiline-pattern
sont configurés.Note
La journalisation multiligne effectue l'analyse et la mise en correspondance des expressions régulières de tous les messages de journalisation. Cela peut avoir un impact négatif sur les performances de journalisation.
awslogs-multiline-pattern
-
Obligatoire : non
Cette option définit un modèle de démarrage à plusieurs lignes à l'aide d'une expression régulière. Un message de journal se compose d'une ligne qui correspond au modèle et de toutes les lignes suivantes qui ne correspondent pas au modèle. Ainsi, la ligne correspondante est le délimiteur entre les messages du journal.
Pour plus d'informations, consultez awslogs-multiline-pattern
la documentation Docker. Cette option est ignorée si
awslogs-datetime-format
est également configuré.Note
La journalisation multiligne effectue l'analyse et la mise en correspondance des expressions régulières de tous les messages de journalisation. Cela peut avoir un impact négatif sur les performances de journalisation.
awslogs-create-group
-
Obligatoire : non
Spécifiez si vous voulez que le groupe de journaux soit automatiquement créé. Si cette option n'est pas spécifiée, l'emplacement par défaut est
false
.Avertissement
Cette option n'est pas recommandée. Nous vous recommandons de créer le groupe de CloudWatch journaux à l'avance à l'aide de l'action Logs CreateLogGroupAPI car chaque tâche tente de créer le groupe de journaux, ce qui augmente le risque d'échec de la tâche.
Note
La politique IAM de votre rôle d'exécution doit inclure l'
logs:CreateLogGroup
autorisation avant toute tentative d'utilisationawslogs-create-group
.
Spécification d'une configuration de journal dans la définition de votre tâche
Par défaut, AWS Batch active le pilote de awslogs
journal. Cette section décrit comment personnaliser la configuration du awslogs
journal pour une tâche. Pour plus d'informations, consultez Création d'une définition de tâche à nœud unique .
Les extraits de code JSON de configuration de journal suivants contiennent un logConfiguration
objet spécifié pour chaque tâche. L'un concerne une WordPress tâche qui envoie des journaux à un groupe de journaux appeléawslogs-wordpress
, et l'autre concerne un conteneur MySQL qui envoie des journaux à un groupe de journaux appeléawslogs-mysql
. Les deux conteneurs utilisent le préfixe de flux de journal awslogs-example
.
"logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "
awslogs-wordpress
", "awslogs-stream-prefix": "awslogs-example
" } }
"logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "
awslogs-mysql
", "awslogs-stream-prefix": "awslogs-example
" } }
Dans la AWS Batch console, la configuration du journal pour la définition de wordpress
tâche est spécifiée comme indiqué dans l'image suivante.
![Configuration des journaux de la console](images/awslogs-console-config.png)
Après avoir enregistré une définition de tâche avec le pilote de awslogs
journal dans une configuration de journal de définition de tâche, vous pouvez soumettre une tâche avec cette définition de tâche pour commencer à envoyer des CloudWatch journaux à Logs. Pour plus d'informations, consultez Soumettre une offre d'emploi.