Quick Start : Installation et configuration de l'agent CloudWatch Logs sur une instance EC2 Linux au lancement - Amazon CloudWatch Logs

Quick Start : Installation et configuration de l'agent CloudWatch Logs sur une instance EC2 Linux au lancement

Astuce

L'agent CloudWatch Logs plus ancien décrit dans cette section sera bientôt obsolète. Nous vous recommandons vivement d'utiliser le nouvel agent CloudWatch unifié qui peut collecter à la fois les journaux et les métriques. En outre, l'ancien agent CloudWatch Logs nécessite Python 3.3 ou une version antérieure, et ces versions ne sont pas installées par défaut sur les nouvelles instances EC2. Pour plus d'informations sur l'agent CloudWatch unifié, consultez Installation de l'agent CloudWatch.

Le reste de cette section explique l'utilisation de l'ancien agent CloudWatch Logs.

Installation de l'ancien agent CloudWatch Logs sur une instance EC2 Linux au lancement

Vous pouvez utiliser les données utilisateur Amazon EC2, une fonctionnalité d'Amazon EC2 qui permet de transmettre les informations paramétriques à l'instance au moment du lancement, pour installer et configurer l'agent CloudWatch Logs sur cette instance. Pour transmettre les informations d'installation et de configuration de l'agent CloudWatch Logs à Amazon EC2, vous pouvez fournir le fichier de configuration dans un emplacement réseau, par exemple un compartiment Amazon S3.

La configuration de plusieurs sources de journal pour envoyer des données dans un flux de journal unique n'est pas prise en charge.

Prerequisite

Créez un fichier de configuration de l'agent qui décrit tous les groupes de journaux et les flux de journaux. Il s'agit d'un fichier de texte qui décrit les fichiers journaux à surveiller, ainsi que les groupes de journaux et les flux de journaux vers lesquels les charger. L'agent utilise ce fichier de configuration et commence à surveiller et charger tous les fichiers journaux qui y sont décrits. Pour plus d'informations sur les paramètres du fichier de configuration de l'agent, consultez Référence de l'agent CloudWatch Logs.

Voici un exemple de fichier de configuration d'agent pour Amazon Linux 2

[general] state_file = /var/lib/awslogs/state/agent-state [/var/log/messages] file = /var/log/messages log_group_name = /var/log/messages log_stream_name = {instance_id} datetime_format = %b %d %H:%M:%S

Voici un exemple de fichier de configuration d'agent pour Ubuntu

[general] state_file = /var/awslogs/state/agent-state [/var/log/syslog] file = /var/log/syslog log_group_name = /var/log/syslog log_stream_name = {instance_id} datetime_format = %b %d %H:%M:%S

Pour configurer votre rôle IAM

  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation, choisissez Policies, puis Create Policy.

  3. Sur la page Créer une stratégie, dans Créer votre propre stratégie, choisissez Sélectionner. Pour plus d'informations sur la création de politiques personnalisées, consultez Politiques IAM pour Amazon EC2 dans le Guide de l'utilisateur Amazon EC2 pour les instances Linux.

  4. Sur la page Review Policy, tapez un nom pour la stratégie dans Policy Name.

  5. Pour Policy Document, collez la stratégie suivante :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::myawsbucket/*" ] } ] }
  6. Choisissez Créer une stratégie.

  7. Dans le volet de navigation, choisissez Roles, puis Create New Role.

  8. Dans la page Set Role Name, saisissez le nom du rôle et sélectionnez Next Step.

  9. Sur la page Select Role Type, choisissez Select à côté d'Amazon EC2.

  10. Sur la page Attacher la stratégie, dans l'en-tête de la table, choisissez Type de stratégie, Géré par le client.

  11. Sélectionnez la politique IAM que vous avez créée, puis choisissez Next Step (Étape suivante).

  12. Choisissez Créer le rôle.

    Pour plus d'informations sur les utilisateurs et les politiques IAM, consultez Utilisateurs et groupes IAM et Gestion des politiques IAM dans le Guide de l'utilisateur IAM.

Pour lancer une nouvelle instance et activer CloudWatch Logs

  1. Ouvrez la console Amazon EC2 sur https://console.aws.amazon.com/ec2/.

  2. Choisissez Launch Instances.

    Pour plus d'informations, consultez Lancement d'une instance dans le Guide de l'utilisateur Amazon EC2 pour les instances Linux.

  3. Sur la page Step 1: Choose an Amazon Machine Image (AMI), sélectionnez le type d'instance Linux que vous souhaitez démarrer, puis sur la page Step 2: Choose an Instance Type, choisissez Next: Configure Instance Details.

    Vérifiez que la commande cloud-init est comprise dans Amazon Machine Image (AMI). Les AMI Amazon Linux et les AMI pour Ubuntu et RHEL incluent déjà cloud-init, mais cela peut ne pas être le cas pour CentOS et d'autres AMI d'AWS Marketplace.

  4. Sur la page Étape 3 : Configurer les détails de l'instance, dans IAM role (Rôle IAM), sélectionnez le rôle IAM que vous avez créé.

  5. Sous Détails avancés, dans Données utilisateur, collez le script ci-dessous. Mettez ensuite à jour ce script en changeant la valeur de l'option -c par l'emplacement du fichier de configuration de votre agent :

    #!/bin/bash curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O chmod +x ./awslogs-agent-setup.py ./awslogs-agent-setup.py -n -r us-east-1 -c s3://DOC-EXAMPLE-BUCKET1/my-config-file
  6. Apportez toutes les modifications nécessaires à l'instance, vérifiez vos paramètres de lancement et choisissez Launch.

  7. Le nouveau groupe de journaux et le nouveau flux de journal doivent être visibles dans la console CloudWatch une fois que l'agent s'exécute depuis quelques instants.

    Pour plus d'informations, consultez Affichage des données journal envoyées à CloudWatch Logs.