Comment résoudre le problème que mon agent CloudWatch unifié ne diffuse pas les événements de journal ?
Je souhaite résoudre le problème que mon agent Amazon CloudWatch unifié n’envoie pas d’événements de journal.
Brève description
Si votre agent CloudWatch unifié n’envoie pas d’événements de journal, les causes possibles sont les suivantes :
- Métadonnées désynchronisées
- Version obsolète de l’agent CloudWatch
- Échec de connexion au point de terminaison CloudWatch Logs
- Configuration incorrecte du compte, de la région AWS ou du groupe de journaux
- Autorisations AWS Identity and Access Management (IAM) insuffisantes
- Erreurs d’exécution de l’agent CloudWatch
- Problèmes d’horodatage
- Valeur manquante ou incorrecte dans le fichier d’état du journal
- Configuration incorrecte du fichier journal source
- Contraintes PutLogEvents
- Valeur force_flush_interval élevée
Remarque : la résolution suivante ne s’applique pas à CloudWatch Container Insights. Pour plus d’informations sur la résolution des problèmes liés à CloudWatch Container Insights, consultez les sections Résolution des problèmes liés à Container Insights et Comment résoudre les problèmes liés à l'état du pod dans Amazon EKS ?
Résolution
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
Métadonnées désynchronisées
Si vos métadonnées ne sont pas synchronisées, cela signifie que l’agent CloudWatch ne fonctionne pas comme prévu. Pour résoudre ce problème, procédez comme suit :
- Assurez-vous d’utiliser AWS CloudFormation, AWS Systems Manager Agent (SSM Agent), les scripts de données utilisateur ou l’interface de ligne de commande AWS pour installer l'agent CloudWatch au lancement.
- Assurez-vous de créer une AMI avant d’installer l’agent CloudWatch. Les AMI capturent des informations uniques à partir de l’instance d’origine.
- Pour les instances Windows, utilisez Sysprep lorsque vous travaillez avec une AMI. Pour plus d’informations, reportez-vous à Comment puis-je utiliser Sysprep pour créer et installer des AMI Windows personnalisées réutilisables ?
Version obsolète de l’agent CloudWatch
Si vous disposez d’une version obsolète de l’agent CloudWatch, téléchargez les notes de version du package de l'agent CloudWatch et le numéro de version le plus récent. 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
Pour tester votre connectivité au point de terminaison CloudWatch Logs, utilisez l’une des commandes suivantes :
Remarque : Remplacez example-region par la Region requise.
telnet logs.<example-region>.amazonaws.com 443
nc -zv logs.<example-region>.amazonaws.com 443
Si vous recevez des échecs de connexion, procédez comme suit :
- Assurez-vous que le groupe de sécurité et les listes de contrôle d’accès réseau (ACL réseau) autorisent la connectivité.
- 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 que les journaux sont enregistrés dans le bon compte.
Vous pouvez éventuellement utiliser les fichiers common-config.toml suivants pour modifier les valeurs par défaut du système pour l’agent CloudWatch :
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
L’agent CloudWatch utilise les informations d’identification de l’utilisateur IAM ou de la politique de rôle IAM pour transmettre les événements du journal au service CloudWatch. Avant de publier un événement de journal, créez un groupe de journaux et un flux de journaux. S'il n’existe pas de groupe de journaux ou de flux de journaux, l’agent CloudWatch les crée.
Vérifiez que votre politique inclut les autorisations IAM suivantes :
"logs:CreateLogGroup","logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams"
Ajoutez toutes les autorisations IAM manquantes à la politique utilisateur ou à la politique de rôle.
Remarque : lorsque vous créez des rôles IAM et des utilisateurs, il est recommandé d’utiliser les politiques CloudWatchAgentServerPolicy et CloudWatchAgentAdminPolicy créées par Amazon.
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 :
Linux :
/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
Windows :
$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log
Remarque : les journaux peuvent être spécifiés dans un emplacement de logfile personnalisé. Consultez le fichier de configuration de l’agent pour identifier les emplacements de journaux personnalisés.
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 constatez des problèmes liés à l’IMDS lorsque vous démarrez l’agent CloudWatch, procédez comme suit :
- Vérifiez si vous pouvez accéder au service de métadonnées. Vérifiez la connectivité au point de terminaison des métadonnées. Pour plus d’informations, consultez la section Récupérer les métadonnées de l’instance.
- Passez en revue les itinéraires et les pare-feux au niveau de votre système d’exploitation pour vérifier s’il existe des règles bloquant la connectivité au point de terminaison des métadonnées. Pour Linux, consultez la section Comment puis-je 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 Pourquoi mon instance Windows Amazon EC2 génère-t-elle le message d’erreur « En attente du service de métadonnées » ?
Problèmes d’horodatage
Vérifiez les horodatages des événements datant de plus de 14 jours ou de plus de deux heures dans le futur. La commande PutLogEvents n’autorise pas les lots de journaux pendant aucune des périodes. Vérifiez également que le service de temps système de l’instance est correctement configuré. Pour plus d’informations, consultez les sections Définir l’heure de votre instance Linux ou Définir l’heure de votre instance Windows.
Valeur manquante ou 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 au bon endroit :
Linux :/opt/aws/amazon-cloudwatch-agent/logs/state
Windows :
C:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\state
Remarque : assurez-vous que les fichiers d’état précédents contiennent la même valeur de taille que le fichier journal. Cela permet de lire et de publier de nouvelles données sur CloudWatch.
-
Vérifiez la valeur de taille du fichier d’état :
Linux :sudo cat /opt/aws/amazon-cloudwatch-agent/logs/state/_var_log_httpd_access_log
Windows :
gc 'C:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\state\C__Program_Files_log.log'
Remarque : la sortie des commandes précédentes est 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 sont lus à cet octet lorsque de nouveaux journaux sont écrits dans le fichier journal.
-
Vérifiez la valeur de taille du fichier journal :
Linux :stat /var/log/httpd/access_log | grep Size | awk '{print $2}'
Windows :
Get-Item 'C:\Program Files\log.log' | Format-List | findstr Length
-
Vérifiez que les résultats des étapes 2 et 3 précédentes sont identiques.
Configuration incorrecte du fichier journal source
Pour résoudre les problèmes liés à une configuration incorrecte du fichier journal source, procédez comme suit :
- 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 les journaux sont transmis 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.
Contraintes PutLogEvents
L’agent CloudWatch utilise l’API PutLogEvents pour publier les événements de journal dans les groupes de journaux CloudWatch. Assurez-vous de respecter les contraintes de cette API. Pour plus d’informations, consultez PutLogEvents.
Valeur force_flush_interval élevée
Le paramètre force_flush_interval indique la durée maximale pendant laquelle les journaux peuvent rester dans la mémoire tampon avant d'être envoyés au serveur. Si la taille des journaux atteint la mémoire tampon maximale de 1 Mo, les journaux sont immédiatement publiés sur CloudWatch. Les journaux sont publiés sur CloudWatch quel que soit l’intervalle défini par le paramètre force_flush_interval.
Si l’intervalle est défini sur une valeur élevée et que la taille du journal n'atteint pas 1 Mo, les journaux restent dans la mémoire tampon. Les journaux restent dans la mémoire tampon jusqu’à ce que celle-ci soit pleine ou que l’intervalle soit é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 qu’il soit publié.
Informations connexes
Contenus pertinents
- demandé il y a 2 anslg...
- demandé il y a 5 moislg...
- demandé il y a 7 moislg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a 6 mois
- AWS OFFICIELA mis à jour il y a 9 mois
- AWS OFFICIELA mis à jour il y a 9 mois