AWS CloudWatch · 6 min read · Dec 02, 2025

Comment envoyer les journaux d'application Linux vers AWS CloudWatch

AWS CloudWatch est un service de surveillance fourni par le cloud AWS. AWS fournit une surveillance par défaut pour des paramètres de serveur tels que l’utilisation du CPU, le réseau entrant, le réseau sortant, etc. AWS CloudWatch peut être utilisé pour une surveillance personnalisée comme l’utilisation du disque et l’utilisation de la mémoire (RAM). Pour une surveillance personnalisée, nous devons suivre certaines étapes pour la configurer.

De la même manière, AWS CloudWatch peut être utilisé pour surveiller les journaux de serveur ou d’application. Comme ce n’est pas une fonctionnalité par défaut d’AWS pour des raisons évidentes, nous pouvons le configurer selon nos besoins. Cela dépendra de l’utilisateur des journaux que nous devons envoyer à AWS CloudWatch pour surveillance.

Pas limité aux ressources AWS

Même si AWS CloudWatch est un service AWS, cela ne signifie pas qu’il ne peut être utilisé que pour les instances EC2, il peut également être configuré pour envoyer des journaux d’application ou de serveur depuis des VM d’autres fournisseurs de cloud et également depuis des VM sur le disque physique.

Comment envoyer des journaux d’application ou de serveur à AWS CloudWatch

Pour envoyer les journaux d’application ou de serveur à AWS CloudWatch, nous devons installer l’agent CloudWatch sur le serveur respectif. Nous allons utiliser l’instance AWS EC2 pour atteindre notre objectif dans ce blog.

Étapes

  1. Rôle approprié à attacher à l’instance pour communiquer avec AWS CloudWatch
  2. Installation de l’agent AWS CloudWatch
  3. Configuration de l’agent AWS CloudWatch
  4. Test des journaux dans le portail AWS CloudWatch

Rôle IAM

Afin d’envoyer les journaux d’application ou de serveur à AWS CloudWatch, nous devons attacher un rôle à l’instance EC2 avec les autorisations appropriées. Le rôle permettra d’apporter des modifications dans AWS CloudWatch.

Il doit contenir les politiques ci-dessous.

  • CreateLogStream
  • DescribeLogStream
  • CreateLogGroup
  • PutLogEvents

Créons un rôle dans AWS IAM.

Allez dans la section IAM depuis la liste des Services sur la console AWS. Si vous n’avez pas encore de compte AWS, créez-en un ici.

Sélectionner IAM dans la liste des Services

Sur le tableau de bord IAM, allez dans Politique puis Créer une Politique.

Sur la page “Créer une Politique”, sélectionnez “JSON” dans l’onglet et collez la politique JSON ci-dessous en supprimant celle par défaut.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "arn:aws:logs:*:*:*"
      ]
    }
  ]
}

Votre politique devrait ressembler à ci-dessous. Une fois que vous avez terminé, cliquez sur le bouton “Examiner la Politique” en bas de la page.

Sur la page suivante, vous devez fournir un nom à la politique.

Une fois terminé, cliquez sur le bouton “Créer une Politique” en bas de la page.

Une fois que vous avez créé une politique, vous serez redirigé vers la page de rôle IAM. Comme nous avons déjà créé la politique requise, nous allons créer un rôle qui sera attaché à l’instance.

Sur la page “Créer un Rôle”, sélectionnez “EC2”. Comme nous allons attacher le rôle à l’instance EC2.

Cliquez sur le bouton “Suivant : Autorisations” en bas à gauche de la page.

Sur la page suivante, vous serez invité à attacher une politique au rôle. Recherchez le nom de la politique que vous avez fourni à l’étape précédente. Une fois trouvé, sélectionnez la politique dans la liste.

Une fois terminé, cliquez sur le bouton “Suivant : Étiquettes” en bas de la page.

Sur la page suivante, on vous demandera de donner quelques étiquettes au rôle. Comme c’est une étape optionnelle, je ne donne aucune étiquette au rôle et je passe cette étape.

Une fois que vous cliquez sur suivant, vous serez invité à donner un nom au rôle.

Votre rôle sera créé en quelques secondes.

Maintenant que nous avons terminé la configuration requise du côté de l’infrastructure, configurons l’agent AWS CloudWatch sur l’instance EC2.

Pour cette étape, vous avez besoin d’une instance EC2 en état de fonctionnement. Connectez-vous à l’instance comme vous le souhaitez. Il existe plusieurs façons de se connecter à l’instance. Vous pouvez les consulter ici.

Si vous avez une instance Amazon Linux, suivez les étapes mentionnées ci-dessous.

Si vous vous connectez à l’instance pour la première fois, assurez-vous d’exécuter la commande de mise à jour ci-dessous.

Les étapes suivantes peuvent être suivies pour les machines Amazon Linux.

sudo yum update -y

Une fois la mise à jour terminée, exécutez la commande ci-dessous pour installer le package awslogs.

sudo yum install -y awslogs

Une fois le package installé, vous pouvez changer la région dans le fichier /etc/awslogs/awscli.conf.

Maintenant, pour configurer les journaux que vous souhaitez envoyer sur AWS CloudWatch, ouvrez le fichier /etc/awslogs/awslogs.conf et vérifiez les lignes suivantes.

[/var/log/messages]  
datetime_format = %b %d %H:%M:%S  
file = /var/log/messages  
buffer_duration = 5000  
log_stream_name = {instance_id}  
initial_position = start_of_file  
log_group_name = Amazon-Linux-2

La configuration ci-dessus indique que le chemin du fichier journal de votre système /var/log/messages va être téléchargé sur AWS CloudWatch. La configuration ci-dessus créera un groupe de journaux dans AWS CloudWatch avec le nom mentionné dans le paramètre log_group_name. De plus, il aura la hiérarchie mentionnée dans le log_stream_name. Pour le temps de tampon, nous pouvons changer la valeur de buffer_duration. La valeur par défaut de buffer_duration est de 5000 ms.

Une fois que vous avez effectué les modifications, redémarrez l’application en exécutant la commande ci-dessous. Cela redémarrera l’application awslog et l’agent commencera à télécharger les journaux vers AWS CloudWatch.

$ sudo service awslogsd start

Pour installer et configurer l’agent AWS CloudWatch sur RHEL ou CentOS, vous pouvez suivre les étapes ci-dessous.

Exécutez la commande ci-dessous pour télécharger le package.

curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O

Vous trouverez un fichier nommé awslogs-agent-setup.py dans l’emplacement actuel. Comme le fichier téléchargé est un script python, vous devez avoir python installé sur votre machine pour l’étape suivante. Assurez-vous d’avoir un package python installé, puis exécutez la commande ci-dessous. Vous devez spécifier la région dans la commande ci-dessous. Vous pouvez également changer cela dans la configuration plus tard si vous le souhaitez.

python ./awslogs-agent-setup.py --region ap-south-1

Une fois que vous exécutez la commande ci-dessus, il vous demandera quelques entrées. Mentionnez-les selon les exigences.

Le script ci-dessus générera le fichier de configuration /var/awslogs/etc/awslogs.conf . Les détails que vous avez fournis dans le script seront enregistrés dans le fichier de configuration.

Vous pouvez toujours modifier le fichier de configuration selon vos besoins.

Une fois que vous avez terminé toutes les modifications, redémarrez l’agent en exécutant la commande ci-dessous.

# systemctl start awslogs

Vérifier la configuration mise en place

  1. Connectez-vous à nouveau à votre compte AWS.

  2. Recherchez CloudWatch dans la liste des Services.

  3. Choisissez l’option Groupe de Journaux dans les menus à gauche.

  4. Recherchez la valeur que vous avez fournie dans le paramètre log_stream_name dans la configuration.

  5. Vous verrez que les journaux sont envoyés du serveur vers AWS CloudWatch.

Conclusion

Vous pouvez configurer n’importe quel fichier journal de votre serveur pour être envoyé à AWS CloudWatch. Cela peut être configuré pour les serveurs qui ne sont pas sur le cloud AWS. Cela signifie que vous pouvez envoyer les journaux de n’importe lequel de vos serveurs hébergés sur Azure, GCP, ou tout autre fournisseur de cloud ou même un serveur sur site.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.