Je souhaite résoudre les erreurs liées à la diffusion sur Amazon CloudWatch dans un environnement AWS Elastic Beanstalk.
Brève description
Le transfert de vos journaux vers CloudWatch peut vous aider à protéger vos données. Par exemple, si votre environnement Elastic Beanstalk est confronté à une instance Elastic Compute Cloud (Amazon EC2) résiliée, vous pouvez tout de même récupérer vos journaux depuis CloudWatch. Vous pouvez également utiliser la rotation des journaux pour éviter la perte de données.
Si les journaux d'instance de votre environnement ne sont pas diffusés vers CloudWatch même après avoir activé le flux de journaux, vous rencontrez peut-être l'un des problèmes courants suivants :
- Votre rôle de profil d'instance IAM ne dispose pas des autorisations IAM requises.
- Vous avez lancé votre environnement dans une région AWS qui ne prend pas en charge les journaux CloudWatch.
- L'un de vos fichiers journaux personnalisés n'existe pas dans le chemin que vous avez spécifié.
Solution
1. Vérifiez que votre rôle de profil d'instance d'environnement Elastic Beanstalk dispose des autorisations suivantes :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams"
],
"Resource": [
"*"
]
}
]
}
2. Si vous diffusez des journaux personnalisés, utilisez un fichier de configuration pour installer directement l'agent CloudWatch Logs et configurer les fichiers. Vérifiez également le format et l'indentation de ce fichier de configuration. Consultez l'exemple de fichier de configuration pour en savoir plus sur la diffusion de journaux personnalisés vers CloudWatch.
3. Vérifiez le statut de l'agent CloudWatch et les journaux de l'agent pour identifier les causes des problèmes liés au flux de journaux.
Pour vérifier le statut et les journaux de l'ancien agent CloudWatch (awslogsd), procédez comme suit :
- statut de l'agent : statut systemctl awslogsd.service
- emplacement du journal de l'agent : /var/log/awslogs.log
Pour vérifier le statut et les journaux de l'agent CloudWatch (amazon-cloudwatch-agent), procédez comme suit :
- état de l'agent : statut systemctl amazon-cloudwatch-agent.service
- emplacement des journaux de l'agent : /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
Reportez-vous àComment personnaliser mes fichiers journaux dans Elastic Beanstalk ? pour en savoir plus sur la personnalisation des fichiers journaux dans Elastic Beanstalk.
Informations connexes
Utilisation d'Elastic Beanstalk avec Amazon CloudWatch Logs
logs-streamtocloudwatch-linux.config