Diffusion d'informations sur l'état de l'environnement Elastic Beanstalk vers Amazon CloudWatch Logs - AWS Elastic Beanstalk

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.

Diffusion d'informations sur l'état de l'environnement Elastic Beanstalk vers Amazon CloudWatch Logs

Si vous activez les rapports améliorés sur l'état pour votre environnement, vous pouvez configurer ce dernier de sorte à diffuser des informations sur l'état vers CloudWatch Logs. Cette diffusion ne dépend pas de la diffusion des journaux d'instance Amazon EC2. Cette rubrique décrit la diffusion des informations d'intégrité d'environnement. Pour plus d'informations sur la diffusion des journaux d'instance, consultez Utilisation d'Elastic CloudWatch Beanstalk avec Amazon Logs.

Lorsque vous configurez la diffusion des informations sur l'état de l'environnement, Elastic Beanstalk crée un groupe de journaux CloudWatch Logs pour l'état de l'environnement. Le nom de ce groupe de journaux est /aws/elasticbeanstalk/environment-name/environment-health.log. Dans ce groupe de journaux, Elastic Beanstalk crée des flux de journaux nommés YYYY-MM-DD#<hash-suffix> (il peut y avoir plusieurs flux de journaux par date).

Lorsque l'état de santé de l'environnement change, Elastic Beanstalk ajoute un enregistrement au flux de journaux d'état. L'enregistrement représente la transition d'état d'intégrité, c'est-à-dire le nouveau statut et une description de la cause du changement. Par exemple, un statut d'environnement peut passer à Grave parce que l'équilibreur de charge est en panne. Pour obtenir une description des statuts d'intégrité améliorée, consultez Couleurs et états utilisés dans les rapports d'intégrité.

Conditions préalables pour la diffusion des informations sur l'état d'un environnement vers CloudWatch Logs

Pour activer la diffusion des informations sur l'état d'un environnement vers CloudWatch Logs, vous devez respecter les conditions suivantes :

  • Plateforme – Vous devez utiliser une version de plateforme qui prend en charge les rapports améliorés sur l'état.

  • Autorisations – Vous devez accorder certaines autorisations de journalisation à Elastic Beanstalk afin qu'il puisse agir en votre nom pour diffuser les informations sur l'état de votre environnement. Si votre environnement n'utilise pas un rôle de service créé pour lui par Elastic Beanstalk, aws-elasticbeanstalk-service-role ou le rôle lié à un service de votre compte, AWSServiceRoleForElasticBeanstalk, veillez à ajouter les autorisations suivantes à votre rôle de service personnalisé.

    { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*:log-stream:*" }

Diffusion des journaux d'état de l'environnement vers CloudWatch Logs

Vous pouvez activer la diffusion des informations d'état d'un environnement vers CloudWatch Logs à l'aide de la console Elastic Beanstalk, de l'interface de ligne de commande EB ou des options de configuration.

Diffusion des journaux d'état de l'environnement à l'aide de la console Elastic Beanstalk

Pour diffuser les journaux d'état de l'environnement vers CloudWatch Logs
  1. Ouvrez la console Elastic Beanstalk et, dans la liste Regions (Régions), sélectionnez votre Région AWS.

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. Dans la catégorie de configuration Monitoring (Surveillance), choisissez Edit (Modifier).

  5. Sous Rapports sur l'état de santé, assurez-vous que l'option de rapports Système est définie sur Amélioré.

  6. Sous Health event streaming to CloudWatch Logs (Diffusion d'événements de santé vers CloudWatch Logs)

    • Activez Streaming des journaux.

    • Définissez Conservation sur le nombre de jours de conservation des journaux.

    • Sélectionnez le paramètre de cycle de vie qui détermine si les journaux sont enregistrés une fois l'environnement résilié.

  7. Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.

Après avoir activé le streaming de journaux, vous pouvez revenir à la page ou à la catégorie de configuration Surveillance pour trouver le lien Groupe de journaux. Cliquez sur ce lien pour afficher les journaux d'état de votre environnement dans la console CloudWatch.

Diffusion des journaux d'intégrité d'environnement à l'aide de l'interface de ligne de commande EB

Pour activer la diffusion des journaux d'état de l'environnement vers CloudWatch Logs à l'aide de l'interface de ligne de commande EB, utilisez la commande eb logs.

$ eb logs --cloudwatch-logs enable --cloudwatch-log-source environment-health

Vous pouvez également utiliser la commande eb logs pour extraire des journaux à partir de CloudWatch Logs. Par exemple, la commande suivante extrait l'ensemble des journaux d'intégrité de votre environnement et les enregistre dans un répertoire sous .elasticbeanstalk/logs.

$ eb logs --all --cloudwatch-log-source environment-health

Diffusion des journaux d'intégrité d'environnement à l'aide de fichiers de configuration

Lorsque vous créez ou mettez à jour un environnement, vous pouvez utiliser un fichier de configuration pour installer et configurer la diffusion des journaux d'état de l'environnement vers CloudWatch Logs. Pour utiliser l'exemple ci-dessous, copiez le texte dans un fichier avec l'extension .config dans le répertoire .ebextensions au niveau supérieur du bundle de fichiers source de votre application. Cet exemple configure Elastic Beanstalk pour activer la diffusion des journaux d'état de l'environnement, conserver les journaux après l'arrêt de l'environnement et les enregistrer pendant 30 jours.

Exemple Fichier de configuration de diffusion des journaux sur l'état de santé
############################################################################ ## Sets up Elastic Beanstalk to stream environment health information ## to Amazon CloudWatch Logs. ## Works only for environments that have enhanced health reporting enabled. ############################################################################ option_settings: aws:elasticbeanstalk:cloudwatch:logs:health: HealthStreamingEnabled: true ### Settings below this line are optional. # DeleteOnTerminate: Delete the log group when the environment is # terminated. Default is false. If false, the health data is kept # RetentionInDays days. DeleteOnTerminate: false # RetentionInDays: The number of days to keep the archived health data # before it expires, if DeleteOnTerminate isn't set. Default is 7 days. RetentionInDays: 30

Pour obtenir les valeurs par défaut et les valeurs valides des options, consultez aws:elasticbeanstalk:cloudwatch:logs:health.