Pourquoi ne puis-je pas transmettre les données des journaux vers CloudWatch Logs avec l’agent awslogs ?

Lecture de 4 minute(s)
0

Je ne parviens pas à transmettre les données des journaux vers Amazon CloudWatch Logs à l’aide de l’agent CloudWatch Logs (awslogs).

Résolution

Avant de commencer, vérifiez que l’agent awslogs peut se connecter au point de terminaison de l’API CloudWatch Logs.

Assurez-vous que votre configuration possède les attributs suivants :

  • Connectivité Internet
  • Configurations de groupes de sécurité valides
  • Listes de contrôle d’accès au réseau (ACL réseau) valides

Important : Cette référence concerne l’ancien agent CloudWatch Logs qui n’est plus pris en charge. Si vous utilisez le service de métadonnées d’instance version 2 (IMDSv2), vous devez utiliser le nouvel agent CloudWatch unifié. Même si vous n’utilisez pas IMDSv2, il est recommandé d’utiliser le nouvel agent CloudWatch unifié au lieu de l’agent de journalisation.

Problèmes liés à la prise d’empreintes

Vérifiez les lignes d’en-tête du fichier journal source. Vous définissez le chemin d’accès de ce fichier lorsque vous configurez les données à transférer vers CloudWatch.

  • Si les premières lignes sont vides ou contiennent des données non liées à des événements qui restent les mêmes, le hachage identifiant le journal peut poser problème.
  • Si les lignes d’en-tête sont identiques, mettez à jour l’option file_fingerprint_lines dans le fichier de configuration de l’agent. Assurez-vous de spécifier les lignes de chaque fichier qui sont utilisées pour générer le hachage d’identification.

Vérifiez si le fichier journal awslogs contient des erreurs

Consultez le fichier journal /var/log/awslogs.log. N’oubliez pas de noter tous les messages d’erreur.

Les erreurs relatives aux autorisations incluent :

  • Erreur d’absence d’informations d’identification (NoCredentialsError) : Impossible de localiser les informations d’identification : si vous n’avez pas ajouté de rôle AWS Identity and Access Management (IAM) à l’instance, créez et associez un rôle IAM. Si vous avez déjà ajouté un rôle IAM à l’instance, mettez à jour les informations d’identification utilisateur IAM dans le fichier /etc/awslogs/awscli.conf.
  • Erreur du client (ClientError) : Une erreur s’est produite (AccessDeniedException) lors de l’appel de l’opération PutLogEvents : L’utilisateur : arn:aws:iam::012345678910: / n’est pas autorisé à exécuter : logs:putLogEvents[...]Configurez le rôle ou l’utilisateur IAM avec les autorisations requises pour CloudWatch Logs.

Les erreurs d’horodatage incluent :

  • Revenir à l’heure de l’événement précédent : {'timestamp': 1492395793000, 'start_position': 17280L, 'end_position': 17389L}, previousEventTime: 1492395793000, raison : l’horodatage n’a pas pu être analysé à partir du message. — Vérifiez que les événements du journal commencent par un horodatage. Vérifiez si le datetime_format spécifié dans /etc/awslogs/awslogs.conf correspond au format d’horodatage des événements du journal. Modifiez le datetime_format pour qu’il corresponde au format d’horodatage selon vos besoins.
  • Aucun fichier n’a été trouvé avec le chemin donné ’ ’ : mettez à jour le chemin d’accès du fichier journal dans le fichier de configuration de l’agent avec le chemin d’accès correct.

Autres problèmes liés à awslogs

  • Si les journaux ont cessé de transmettre après une rotation des journaux, vérifiez les méthodes de rotation des journaux prises en charge. Pour plus d’informations, consultez la FAQ de l’agent CloudWatch Logs.
  • Si les journaux sont transmis brièvement uniquement après le redémarrage de l’agent awslogs, recherchez les doublons dans la section [logstream] du fichier de configuration de l’agent. Chaque section doit porter un nom unique.
  • Si le fichier journal awslogs.log occupe trop d’espace disque, recherchez les erreurs dans le fichier journal, puis corrigez-les. Si le fichier journal ne contient que des messages d’information, spécifiez un niveau de journalisation inférieur pour l’option logging_config_file dans le fichier de configuration de l’agent.

Résolution des problèmes approfondie

Pour une résolution des problèmes plus approfondie, notez l’identifiant de l’instance (instance-id) (l’ID de votre instance). Ensuite, collectez et examinez les éléments suivants en fonction de votre configuration.

Installations Yum :

  • Version yum
$ yum info awslogs
$ yum info aws-cli-plugin-cloudwatch-logs
  • Fichier /etc/awslogs/awslogs.conf
  • Fichier /etc/awslogs/awscli.conf
  • Autres fichiers pertinents dans /etc/awslogs/
  • Fichier /var/log/awslogs.log

Installations basées sur des scripts :

  • La version awslogs, obtenue avec la commande suivante :
$ /var/awslogs/bin/awslogs-version.sh
  • Fichier /var/awslogs/etc/awslogs.conf
  • Fichier /var/awslogs/etc/awscli.conf
  • Autres fichiers pertinents dans /var/awslogs/etc/
  • /var/log/awslogs.log
  • /var/log/awslogs-agent-setup.log

Pour les problèmes liés à la rotation, collectez et examinez :

  • Un extrait des journaux sources
  • Une liste du contenu du répertoire cible de surveillance. Utilisez la commande ls -la avec le chemin du répertoire pour obtenir ceci :
$ ls -la <Monitoring-Target-Directory-Path>

Informations connexes

Bien démarrer avec CloudWatch Logs

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an