Pourquoi mon agent CloudWatch unifié n’envoie-t-il pas d’événements de journaux ?
Mon agent Amazon CloudWatch unifié n'envoie pas d'événements de journaux et je souhaite résoudre ce problème.
Résolution
La résolution suivante ne s’applique pas à CloudWatch Container Insights. Pour résoudre les problèmes liés à CloudWatch Container Insights, consultez la section Résolution de problèmes liés à Container Insights.
Métadonnées désynchronisées
Les métadonnées désynchronisées peuvent entraîner des problèmes avec votre agent CloudWatch.
Pour résoudre ce problème, procédez comme suit :
- Avant d'installer l'agent CloudWatch, créez une Amazon Machine Image (AMI) pour capturer des informations uniques à partir de l'instance d'origine.
- Utilisez AWS CloudFormation, AWS Systems Manager, les scripts de données utilisateur ou la ligne de commande pour installer l'agent CloudWatch au lancement.
- Pour les instances Windows, utilisez Sysprep lorsque vous travaillez avec une AMI.
Version obsolète de l’agent CloudWatch
Vérifiez la version de l'agent CloudWatch que vous utilisez actuellement. Si l'agent CloudWatch est obsolète, téléchargez et installez le package de l'agent CloudWatch avec la dernière version. La dernière version peut inclure des mises à jour qui permettent de résoudre votre problème.
Échec de connexion au point de terminaison CloudWatch Logs
Remarque : dans les commandes suivantes, remplacez example-region par votre région AWS.
Pour tester votre connexion au point de terminaison CloudWatch Logs, exécutez l’une des commandes suivantes :
telnet logs.example-region.amazonaws.com 443
nc -zv logs.example-region.amazonaws.com 443
Par défaut, netcat n'est pas installé sur les ordinateurs Windows. Exécutez plutôt la commande Test-NetConnection suivante sur Windows PowerShell :
Test-NetConnection -ComputerName logs.example-region.amazonaws.com -Port 443
Si la connexion échoue, effectuez les actions suivantes :
- Assurez-vous que le groupe de sécurité et les listes de contrôle d’accès au réseau (ACL réseau) autorisent la connexion.
- Pour les points de terminaison publics, utilisez une passerelle Internet ou une passerelle NAT pour votre instance.
- Si vous utilisez des points de terminaison Amazon Virtual Private Cloud (Amazon VPC), assurez-vous que le point de terminaison correspond à une adresse IP Amazon VPC. Assurez-vous également que le groupe de sécurité des points de terminaison autorise l’accès depuis l’instance source.
Configurations de compte, de région ou de groupe de journaux incorrectes
Pour le fichier de configuration de l'agent CloudWatch, assurez-vous que la région spécifiée correspond à la région de la console. Assurez-vous également de vérifier les journaux du compte AWS approprié.
Pour modifier les valeurs par défaut du système pour l’agent CloudWatch, utilisez les emplacements de fichiers common-config.toml suivants :
Linux :
/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml
/etc/amazon/amazon-cloudwatch-agent/common-config.toml
Windows :
$Env:ProgramData\Amazon\AmazonCloudWatchAgent\common-config.toml
Autorisations IAM insuffisantes
Pour envoyer les événements de journaux à CloudWatch, l'agent CloudWatch utilise les informations d'identification de l'utilisateur Gestion des identités et des accès AWS (AWS IAM) ou de la politique de rôle IAM.
Vérifiez que votre politique basée sur l'identité inclut les autorisations IAM suivantes :
- logs:CreateLogGroup
- logs:CreateLogStream
- logs:PutLogEvents
- logs:DescribeLogStreams
Ajoutez les autorisations IAM manquantes à la stratégie utilisateur ou à la stratégie de rôle.
Lorsque vous créez le rôle ou l'utilisateur IAM, il est recommandé d'utiliser la politique CloudWatchAgentServerPolicy ou CloudWatchAgentAdminPolicy.
S'il n’existe pas de groupe de journaux ou de flux de journaux, l’agent CloudWatch les crée. Avant de publier un événement de journal, créez un groupe de journaux et un flux de journaux.
Erreurs d’exécution de l’agent CloudWatch
Vérifiez que l’agent CloudWatch est en cours d’exécution. Si l’agent n’est pas en cours d’exécution, vérifiez que l’emplacement du fichier journal ne contient pas d’erreurs :
Pour Linux, l'emplacement du fichier journal est /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log.
Pour Windows, l'emplacement du fichier journal est $Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log.
Vous avez peut-être spécifié des journaux dans un emplacement de fichier journal personnalisé. Pour identifier les emplacements de journaux personnalisés, consultez le fichier de configuration de l’agent.
Utilisez le paramètre debug pour activer la journalisation détaillée du débogage dans le fichier de configuration. Si vous utilisez le paramètre run_as_user, vérifiez que l’utilisateur est autorisé à accéder à l’emplacement du journal. Si l’utilisateur ne dispose pas des autorisations nécessaires, CloudWatch ne peut pas écrire de journaux sur cet emplacement.
Si vous rencontrez des problèmes avec le système international de données matérielles (IMDS) lorsque vous démarrez l'agent CloudWatch, effectuez les actions suivantes :
- Vérifiez que vous pouvez accéder aux métadonnées de votre instance Amazon Elastic Compute Cloud (Amazon EC2). Vérifiez la connexion au point de terminaison des métadonnées.
- Dans les routes et les pare-feux au niveau de votre système d'exploitation (OS), vérifiez si vous avez créé des règles bloquant la connectivité au point de terminaison des métadonnées. Pour Linux, consultez la section Comment résoudre les problèmes de récupération des métadonnées d'instance sur mon instance Linux EC2 ? Pour Windows, consultez la section Comment résoudre l'erreur « Waiting for the metadata service » sur mon instance Windows Amazon EC2 ?
Problèmes d’horodatage
L’agent CloudWatch utilise l’opération d’API PutLogEvents pour publier les événements de journaux dans les groupes de journaux CloudWatch. Vérifiez que les événements de votre journal répondent aux contraintes de l’opération d’API PutLogEvents. Vérifiez également que vous avez correctement configuré le fuseau horaire de votre instance.
Valeur incorrecte dans le fichier d’état du journal
Pour corriger une valeur manquante ou incorrecte dans le fichier d’état du journal, procédez comme suit :
-
Assurez-vous que vos fichiers d'état se trouvent à l’emplacement correct :<br id=hardline_break/> Pour Linux, utilisez l'emplacement de fichier suivant :<br id=hardline_break/> /opt/aws/amazon-cloudwatch-agent/logs/state<br id=hardline_break/> Pour Windows, utilisez l'emplacement de fichier suivant :<br id=hardline_break/> C:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\state<br id=hardline_break/> Remarque : assurez-vous que les fichiers d'état précédents contiennent la même valeur de taille que le fichier journal afin que l'agent CloudWatch puisse lire et publier de nouvelles données dans les groupes de journaux CloudWatch.
-
Vérifiez la valeur de taille du fichier d’état :<br id=hardline_break/> Pour Linux, exécutez la commande sudo suivante :
sudo cat /opt/aws/amazon-cloudwatch-agent/logs/state/_var_log_httpd_access_logPour Windows, exécutez la commande Windows PowerShell suivante :
gc 'C:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\state\C__Program_Files_log.log'Remarque : la sortie des commandes précédentes contient une valeur numérique du décalage actuel. Par exemple, si la sortie est 34, le décalage actuel correspond au 34e octet du fichier journal. Les journaux CloudWatch sont lus sur l'octet identifié lorsque l'agent CloudWatch écrit de nouveaux journaux dans le fichier journal.
-
Vérifiez la valeur de taille du fichier journal.<br id=hardline_break/> Pour Linux, exécutez la commande suivante :
stat /var/log/httpd/access_log | grep Size | awk '{print $2}'Pour Windows, exécutez la commande suivante :
Get-Item 'C:\Program Files\log.log' | Format-List | findstr Length -
Vérifiez que vous obtenez les mêmes sorties lors des étapes 2 et 3.
Configuration incorrecte du fichier journal source
Pour résoudre les problèmes liés à une configuration incorrecte du fichier journal source, effectuez les actions suivantes :
- Vérifiez si la configuration de l’agent CloudWatch inclut le fichier journal que vous souhaitez surveiller.
- Assurez-vous que le format du fichier journal est correct et que les noms et emplacements appropriés sont utilisés.
- Dans la configuration actuelle, vérifiez que vous avez configuré les journaux à envoyer au même groupe de journaux et au même flux de journaux que ceux dont vous souhaitez récupérer les données.
- Consultez le fichier journal que vous surveillez sur votre instance. Vérifiez que le fichier journal source contient les données que vous souhaitez publier dans le groupe de journaux.
Valeur force_flush_interval élevée
Si la taille du journal atteint la mémoire tampon maximale de 1 Mo, CloudWatch reçoit immédiatement les journaux, quel que soit l'intervalle force_flush_interval que vous définissez. Pour en savoir plus, sélectionnez l’onglet Fichier de configuration de l'agent CloudWatch : section Métriques.
Si vous définissez l’intervalle sur une valeur élevée et que la taille du journal n'atteint pas 1 Mo, les journaux restent dans la mémoire tampon. L'agent CloudWatch envoie les journaux au serveur uniquement lorsque la mémoire tampon est pleine ou que l'intervalle est écoulé. Pendant cet intervalle, les journaux ne sont pas disponibles dans CloudWatch. Assurez-vous de régler la valeur de votre intervalle à la bonne taille. Il est recommandé de définir la valeur de votre intervalle en fonction de la taille du journal et des intervalles auxquels vous souhaitez les publier.
Informations connexes
- Balises
- Amazon CloudWatch
- Langue
- Français

Contenus pertinents
- demandé il y a 2 ans
- demandé il y a 3 ans
- demandé il y a 2 ans
- Réponse acceptéedemandé il y a 2 ans