Dépannage de l'agent CloudWatch
Vous pouvez utiliser les informations de cette section pour résoudre les problèmes que vous pourriez rencontrer avec l’agent CloudWatch.
Lorsque vous rencontrez des problèmes avec l’agent CloudWatch, vous pouvez utiliser le dossier d’exploitation d’automatisation AWSSupport-TroubleshootCloudWatchAgent. L’outil AWS de résolution des problèmes permet de :
-
Vérifier les autorisations IAM et les profils d’instance
-
Vérifier l’état de l’agent et analyser les journaux
-
Tester la connectivité des points de terminaison
-
Collecter et charger automatiquement les journaux pertinents vers Amazon S3
Pour obtenir des informations détaillées sur l’outil AWS de résolution des problèmes, consultez Dossier d’exploitation d’automatisation du support (SAW) – Résolution des problèmes de l’agent CloudWatch
Rubriques
Paramètres de ligne de commande de l'agent CloudWatch
Pour afficher la liste complète des paramètres pris en charge par l'agent CloudWatch, saisissez la commande suivante sur la ligne de commande d'un ordinateur sur lequel vous l'avez installé :
amazon-cloudwatch-agent-ctl -help
Installation de l’agent CloudWatch à l’aide de Run Command
Pour installer l’agent CloudWatch à l’aide de Systems Manager Run Command, l’agent SSM sur le serveur cible doit être en version 2.2.93.0 ou ultérieure. Si la version de votre agent SSM Agent n'est pas la bonne, des erreurs peuvent survenir et indiquer les messages suivants :
no latest version found for package AmazonCloudWatchAgent on platform linux
failed to download installation package reliably
Pour plus d'informations sur la mise à jour de la version de votre agent SSM, consultez Installation et configuration de l'agent SSM Agent dans le Guide de l'utilisateur AWS Systems Manager.
L'agent CloudWatch ne démarre pas
Si l'agent CloudWatch ne démarre pas, il peut y avoir un problème dans votre configuration. Les informations de configuration sont journalisées dans le fichier configuration-validation.log. Ce fichier se trouve dans /opt/aws/amazon-cloudwatch-agent/logs/configuration-validation.log sur les serveurs Linux et dans $Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\configuration-validation.log sur les serveurs exécutant Windows Server.
Vérification de l'exécution de l'agent CloudWatch
Vous pouvez interroger l'agent CloudWatch pour déterminer s'il est en cours d'exécution ou arrêté. Pour le faire à distance, vous pouvez utiliser AWS Systems Manager. Vous pouvez également utiliser la ligne de commande, mais uniquement pour vérifier le serveur local.
Pour vérifier l'état de l'agent CloudWatch à l'aide de la fonctionnalité Exécuter la commande
Ouvrez la console Systems Manager à l’adresse https://console.aws.amazon.com/systems-manager/
. Dans le panneau de navigation, choisissez Run Command (Fonctionnalité Exécuter la commande).
-ou-
Si la page d'accueil de AWS Systems Manager s'ouvre, faites défiler la page vers le bas et choisissez Explore Run Command (Explorer la commande d'exécution).
-
Sélectionnez Run Command (Exécuter la commande).
-
Dans la liste Command document (Document de commandes), sélectionnez le bouton en regard de AmazonCloudWatch-ManageAgent.
-
Dans la liste Action, choisissez status (état).
-
Pour Source de configuration facultative choisissez par défaut et laissez vide Emplacement de configuration facultatif.
-
Dans la zone Cible, choisissez l'instance à vérifier.
-
Cliquez sur Exécuter.
Si l'agent est en cours d'exécution, la sortie ressemble à ce qui suit.
{ "status": "running", "starttime": "2017-12-12T18:41:18", "version": "1.73.4" }
Si l'agent est arrêté, le champ "status" indique "stopped".
Pour vérifier l'état de l'agent CloudWatch en local à l'aide de la ligne de commande
-
Sur un serveur Linux, saisissez ce qui suit :
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a statusSur un serveur exécutant Windows Server, saisissez ce qui suit dans PowerShell en tant qu'administrateur :
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status
L'agent CloudWatch ne démarre pas et le message d'erreur évoque une région Amazon EC2
Si l'agent ne démarre pas et que le message d'erreur mentionne un point de terminaison dans la région Amazon EC2, il est possible que vous ayez configuré l'agent pour qu'il ait besoin de l'accès au point de terminaison Amazon EC2, mais que vous n'ayez pas accordé cet accès.
Par exemple, si vous spécifiez une valeur pour le paramètre append_dimensions du fichier de configuration de l'agent qui dépend des métadonnées Amazon EC2 et que vous utilisez des proxys, vous devez vous assurer que le serveur peut accéder au point de terminaison pour Amazon EC2. Pour plus d'informations sur ces points de terminaison, consultez la rubrique Amazon Elastic Compute Cloud (Amazon EC2) du document Référence générale d'Amazon Web Services.
L'agent CloudWatch ne démarre pas sur Windows Server
Sur Windows Server, l'erreur suivante peut s'afficher :
Start-Service : Service 'Amazon CloudWatch Agent (AmazonCloudWatchAgent)' cannot be started due to the following error: Cannot start service AmazonCloudWatchAgent on computer '.'. At C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1:113 char:12 + $svc | Start-Service + ~~~~~~~~~~~~~ + CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException + FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceCommand
Avant de résoudre ce problème, vérifiez que le service serveur est en cours d'exécution. Cette erreur peut être observée si l'agent essaie de démarrer lorsque le service serveur n'est pas en cours d'exécution.
Si le service serveur est déjà en cours d'exécution, le problème suivant peut être le suivant. Sur certaines installations Windows Server, l'agent CloudWatch met plus de 30 secondes à démarrer. Comme Windows Server n'accorde par défaut que 30 secondes aux services pour démarrer, cela provoque l'échec de l'agent avec une erreur similaire à la suivante :
Pour résoudre ce problème, augmentez le délai d'attente du service. Pour de plus amples informations, consultez Un service ne démarre pas et les événements 7000 et 7011 sont enregistrés dans le journal des événements Windows
Où sont les métriques ?
Si l'agent CloudWatch est en cours d'exécution mais que vous ne pouvez pas trouver les métriques collectées par celui-ci dans la AWS Management Console ou dans l'AWS CLI, confirmez que vous utilisez le bon espace de noms. L'espace de noms pour les métriques collectées par l'agent est CWAgent par défaut. Vous pouvez personnaliser cet espace de noms à l'aide du champ namespace dans la section metrics du fichier de configuration d'agent. Si vous ne voyez pas les métriques attendues, consultez le fichier de configuration pour confirmer l'espace de noms utilisé.
Lorsque vous téléchargez initialement le package d'agent CloudWatch, le fichier de configuration de l'agent est amazon-cloudwatch-agent.json. Ce fichier est situé dans le répertoire où vous avez exécuté l'assistant de configuration. Il se peut que vous l'ayez déplacé dans un autre répertoire. Si vous utilisez l'assistant de configuration, le fichier de configuration d'agent produit à partir de l'assistant est nommé config.json. Pour plus d'informations sur le fichier de configuration, y compris le champ namespace, consultez Fichier de configuration d'agent CloudWatch : section Metrics.
L'agent CloudWatch met beaucoup de temps à s'exécuter dans un conteneur ou enregistre une erreur de limite de saut
Lorsque vous exécutez l'agent CloudWatch en tant que service de conteneur et que vous souhaitez ajouter des dimensions de métriques Amazon EC2 à toutes les métriques collectées par l'agent, les erreurs suivantes peuvent s'afficher dans la version v1.247354.0 de l'agent :
2022-06-07T03:36:11Z E! [processors.ec2tagger] ec2tagger: Unable to retrieve Instance Metadata Tags. This plugin must only be used on an EC2 instance. 2022-06-07T03:36:11Z E! [processors.ec2tagger] ec2tagger: Please increase hop limit to 2 by following this document https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#configuring-IMDS-existing-instances. 2022-06-07T03:36:11Z E! [telegraf] Error running agent: could not initialize processor ec2tagger: EC2MetadataRequestError: failed to get EC2 instance identity document caused by: EC2MetadataError: failed to make EC2Metadata request status code: 401, request id: caused by:
Cette erreur peut s'afficher si l'agent essaie d'obtenir des métadonnées d'IMDSv2 à l'intérieur d'un conteneur sans limite de saut appropriée. Dans les versions de l'agent antérieures à la v1.247354.0, vous pouvez rencontrer ce problème sans voir le message du journal.
Pour résoudre ce problème, augmentez la limite de saut à 2 en suivant les instructions de Configurer les options de métadonnées d'instance.
J'ai mis à jour la configuration de mon agent mais je ne vois pas les nouvelles métriques ou journaux dans la console CloudWatch
Si vous mettez à jour votre fichier de configuration de l'agent CloudWatch, la prochaine fois que vous démarrez l'agent, vous devez utiliser l'option fetch-config. Par exemple, si vous avez stocké le fichier mis à jour sur l'ordinateur local, entrez la commande suivante :
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -s -m ec2 -c file:configuration-file-path
Fichiers et emplacements de l'agent CloudWatch
Le tableau suivant répertorie les fichiers installés par l'agent CloudWatch et utilisés avec celui-ci, ainsi que leurs emplacements sur les serveurs exécutant Linux ou Windows Server.
| Fichier | Emplacement Linux | Emplacement Windows Server |
|---|---|---|
|
Script de contrôle qui contrôle le démarrage, l'arrêt et le redémarrage de l'agent. |
|
|
|
Fichier journal dans lequel l'agent écrit. Il se peut que vous ayez besoin de l'attacher lorsque vous contactez AWS Support. |
|
|
|
Fichier de validation de la configuration de l'agent. |
|
|
|
Fichier JSON utilisé pour configurer l'agent immédiatement après sa création par l'Assistant. Pour de plus amples informations, consultez Créez le fichier de configuration d'agent CloudWatch. |
|
|
|
Fichier JSON utilisé pour configurer l'agent si ce fichier de configuration a été téléchargé à partir du Parameter Store. |
|
|
|
Le fichier TOML utilisé pour spécifier la région et les informations d'identification devant être utilisées par l'agent, à la place des valeurs par défaut du système. |
|
|
|
Le fichier TOML contenant le contenu converti du fichier de configuration JSON. Le script |
|
|
|
Le fichier YAML contenant le contenu converti du fichier de configuration JSON. Le script |
|
|
Recherche d'informations sur les versions d'agent CloudWatch
Pour rechercher le numéro de version de l'agent CloudWatch sur un serveur Linux, saisissez la commande suivante :
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a status
Pour rechercher le numéro de version de l'agent CloudWatch sur Windows Server, saisissez la commande suivante :
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status
Note
L'utilisation de cette commande est la bonne façon de trouver la version de l'agent CloudWatch. Si vous utilisez Programs and Features (Programmes et fonctionnalités) dans le Panneau de configuration, vous verrez un numéro de version incorrect.
Vous pouvez également télécharger un fichier README sur les dernières modifications apportées à l'agent, ainsi qu'un fichier qui indique le numéro de version actuellement disponible pour le téléchargement. Ces fichiers se trouvent aux emplacements suivants :
-
https://amazoncloudwatch-agent.s3.amazonaws.com/info/latest/RELEASE_NOTESouhttps://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/info/latest/RELEASE_NOTES -
https://amazoncloudwatch-agent.s3.amazonaws.com/info/latest/CWAGENT_VERSIONouhttps://amazoncloudwatch-agent-us-east-1.s3.us-east-1.amazonaws.com/info/latest/CWAGENT_VERSION
Journaux générés par l'agent CloudWatch
L'agent génère un journal pendant son exécution. Ce journal comprend des informations de dépannage. Ce journal est le fichier amazon-cloudwatch-agent.log. Ce fichier se trouve dans /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log sur les serveurs Linux et dans $Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log sur les serveurs exécutant Windows Server.
Vous pouvez configurer l'agent afin qu'il consigne des détails supplémentaires dans le fichier amazon-cloudwatch-agent.log. Dans le fichier de configuration d'agent, dans la section agent, définissez le champ debug sur true, puis reconfigurez et redémarrez l'agent CloudWatch. Pour désactiver la journalisation de ces informations supplémentaires, définissez le champ debug sur false. Ensuite, reconfigurez et redémarrez l'agent. Pour de plus amples informations, consultez Création ou édition manuelle du fichier de configuration d'agent CloudWatch.
Dans les versions 1.247350.0 et ultérieures de l'agent CloudWatch, vous pouvez éventuellement définir le champ aws_sdk_log_level dans la sectionagent du fichier de configuration d'agent pour accéder à une ou plusieurs des options suivantes. Séparez les différentes options avec le caractère |.
-
LogDebug -
LogDebugWithSigning -
LogDebugWithHTTPBody -
LogDebugRequestRetries -
LogDebugWithEventStreamBody
Pour de plus amples informations sur ces options, veuillez consulter LogLevelType.
Arrêt et redémarrage de l'agent CloudWatch
Vous pouvez arrêter manuellement l'agent CloudWatch en utilisant AWS Systems Manager ou la ligne de commande.
Pour arrêter l'agent CloudWatch à l'aide de la fonctionnalité Exécuter la commande
Ouvrez la console Systems Manager à l’adresse https://console.aws.amazon.com/systems-manager/
. Dans le panneau de navigation, choisissez Run Command (Fonctionnalité Exécuter la commande).
-ou-
Si la page d'accueil de AWS Systems Manager s'ouvre, faites défiler la page vers le bas et choisissez Explore Run Command (Explorer la commande d'exécution).
-
Sélectionnez Run Command (Exécuter la commande).
-
Dans la liste Command document (document de commandes), choisissez AmazonCloudWatch-ManageAgent.
-
Dans la zone Targets (Cibles), choisissez l'instance où vous avez installé l'agent CloudWatch.
-
Dans la liste Action, choisissez stop.
-
Laissez les champs Optional Configuration Source (Source de configuration facultative) et Optional Configuration Location (Emplacement de configuration facultative) vides.
-
Cliquez sur Exécuter.
Pour arrêter l'agent CloudWatch en local à l'aide de la ligne de commande
-
Sur un serveur Linux, saisissez ce qui suit :
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stopSur un serveur exécutant Windows Server, saisissez ce qui suit dans PowerShell en tant qu'administrateur :
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a stop
Pour redémarrer l'agent, suivez les instructions de la section (Facultatif) Modification de la configuration commune et du profil nommé pour l'agent CloudWatch.