Résolution des problèmes liés à l' CloudWatch agent - Amazon CloudWatch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes liés à l' CloudWatch agent

Vous pouvez utiliser les informations de cette section pour résoudre les problèmes que vous pourriez rencontrer avec l' CloudWatch agent.

CloudWatch paramètres de ligne de commande de l'agent

Pour voir la liste complète des paramètres pris en charge par l' CloudWatch agent, entrez ce qui suit sur la ligne de commande de l'ordinateur sur lequel l'agent est installé :

amazon-cloudwatch-agent-ctl -help

L'installation de l' CloudWatch agent à l'aide de la commande Exécuter échoue

Pour installer l' CloudWatch agent à l'aide de la commande Run de Systems Manager, l'SSMagent sur le serveur cible doit être la version 2.2.93.0 ou ultérieure de l'SSMagent Agent. Si la version de votre SSM agent n'est pas correcte, des erreurs peuvent s'afficher, notamment 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 SSM agent, consultez la section Installation et configuration de l'SSMagent dans le AWS Systems Manager Guide de l'utilisateur.

L' CloudWatch agent ne veut pas démarrer

Si l' CloudWatch agent ne démarre pas, il se peut qu'il y ait 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érifiez que l' CloudWatch agent est en cours d'exécution

Vous pouvez interroger l' CloudWatch agent pour savoir s'il est en cours d'exécution ou s'il est arrêté. Vous pouvez utiliser … AWS Systems Manager pour le faire à distance. Vous pouvez également utiliser la ligne de commande, mais uniquement pour vérifier le serveur local.

Pour demander l'état de l' CloudWatch agent à l'aide de la commande Exécuter
  1. Ouvrez la console Systems Manager à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. Dans le panneau de navigation, choisissez Run Command (Fonctionnalité Exécuter la commande).

    -ou-

    Si l'icône AWS Systems Manager la page d'accueil s'ouvre, faites défiler la page vers le bas et choisissez Explore Run Command.

  3. Sélectionnez Run Command (Exécuter la commande).

  4. Dans la liste du document de commande, cliquez sur le bouton situé à côté de AmazonCloudWatch- ManageAgent.

  5. Dans la liste Action, choisissez status (état).

  6. Pour Source de configuration facultative choisissez par défaut et laissez vide Emplacement de configuration facultatif.

  7. Dans la zone Cible, choisissez l'instance à vérifier.

  8. 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 demander l'état de l' CloudWatch agent localement à 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 status

    Sur un serveur exécutant Windows Server, entrez les informations suivantes en PowerShell tant qu'administrateur :

    & $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status

L' CloudWatch agent ne démarre pas et l'erreur mentionne une EC2 région Amazon

Si l'agent ne démarre pas et que le message d'erreur mentionne un point de terminaison de EC2 la région Amazon, vous avez peut-être configuré l'agent pour qu'il ait besoin d'accéder au point de EC2 terminaison Amazon sans accorder cet accès.

Par exemple, si vous spécifiez une valeur pour le append_dimensions paramètre dans le fichier de configuration de l'agent qui dépend des EC2 métadonnées Amazon et que vous utilisez des proxys, vous devez vous assurer que le serveur peut accéder au point de terminaison d'AmazonEC2. Pour plus d'informations sur ces points de terminaison, consultez Amazon Elastic Compute Cloud (AmazonEC2) dans le Référence générale d'Amazon Web Services.

L' CloudWatch agent ne démarre pas sous 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 de Windows Server, le démarrage de l' CloudWatch agent prend plus de 30 secondes. 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' CloudWatch agent est en cours d'exécution mais que vous ne trouvez pas les métriques collectées par celui-ci dans le AWS Management Console ou le AWS CLI, vérifiez 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 le package de l' CloudWatch agent pour la première fois, le fichier de configuration de l'agent estamazon-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 CloudWatch fichier de configuration de l'agent : section Metrics.

L' CloudWatch agent met du temps à s'exécuter dans un conteneur ou enregistre une erreur de limite de sauts

Lorsque vous exécutez l' CloudWatch agent en tant que service de conteneur et que vous souhaitez ajouter des dimensions EC2 métriques Amazon à 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 depuis un IMDSv2 conteneur sans limite de sauts 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 les nouveaux journaux dans la CloudWatch console

Si vous mettez à jour le fichier de configuration de votre CloudWatch agent, vous devrez utiliser l'fetch-configoption au prochain démarrage de l'agent. 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

CloudWatch fichiers et emplacements des agents

Le tableau suivant répertorie les fichiers installés et utilisés par l' CloudWatch agent, ainsi que leur emplacement 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.

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl ou /usr/bin/amazon-cloudwatch-agent-ctl

$Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1

Fichier journal dans lequel l'agent écrit. Vous devrez peut-être joindre ce document lorsque vous contactez AWS Support.

/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log ou /var/log/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log

Fichier de validation de la configuration de l'agent.

/opt/aws/amazon-cloudwatch-agent/logs/configuration-validation.log ou /var/log/amazon/amazon-cloudwatch-agent/configuration-validation.log

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\configuration-validation.log

Le JSON fichier utilisé pour configurer l'agent immédiatement après sa création par l'assistant. Pour de plus amples informations, veuillez consulter Création du fichier de configuration de CloudWatch l'agent.

/opt/aws/amazon-cloudwatch-agent/bin/config.json

$Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\config.json

Le JSON fichier utilisé pour configurer l'agent si ce fichier de configuration a été téléchargé depuis Parameter Store.

/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json ou /etc/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.json

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json

Le TOML fichier utilisé pour spécifier la région et les informations d'identification à utiliser par l'agent, en remplaçant les valeurs par défaut du système.

/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml ou /etc/amazon/amazon-cloudwatch-agent/common-config.toml

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\common-config.toml

Le TOML fichier qui contient le contenu converti du fichier JSON de configuration. Le script amazon-cloudwatch-agent-ctl génère ce fichier. Les utilisateurs ne doivent pas modifier directement ce fichier. Cela peut être utile pour vérifier que JSON la TOML traduction est réussie.

/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml ou /etc/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.toml

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.toml

Le YAML fichier qui contient le contenu converti du fichier JSON de configuration. Le script amazon-cloudwatch-agent-ctl génère ce fichier. Vous ne devez pas modifier directement ce fichier. Ce fichier peut être utile pour vérifier que la YAML traduction JSON en a été effectuée correctement.

/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.yaml or /etc/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.yaml

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.yaml

Recherche d'informations sur les versions des CloudWatch agents

Pour trouver le numéro de version de l' CloudWatch agent sur un serveur Linux, entrez la commande suivante :

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a status

Pour trouver le numéro de version de l' CloudWatch agent sur Windows Server, entrez 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 méthode pour trouver la version de l' CloudWatch agent. 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 README fichier concernant les dernières modifications apportées à l'agent, ainsi qu'un fichier indiquant le numéro de version actuellement disponible au téléchargement. Ces fichiers se trouvent aux emplacements suivants :

  • https://amazoncloudwatch-agent.s3.amazonaws.com/info/latest/RELEASE_NOTES ou https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/info/latest/RELEASE_NOTES

  • https://amazoncloudwatch-agent.s3.amazonaws.com/info/latest/CWAGENT_VERSION ou https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/info/latest/CWAGENT_VERSION

Journaux générés par l' CloudWatchagent

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 de l'agent, dans la agent section, définissez le debug champ surtrue, puis reconfigurez et redémarrez l' CloudWatch agent. 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, veuillez consulter Création ou modification manuelle du fichier de configuration de CloudWatch l'agent.

Dans les versions 1.247350.0 et ultérieures de l' CloudWatch agent, vous pouvez éventuellement définir le aws_sdk_log_level champ dans la agent section du fichier de configuration de l'agent sur une ou plusieurs des options suivantes. Séparez les différentes options avec le caractère |.

  • LogDebug

  • LogDebugWithSigning

  • LogDebugWithHTTPBody

  • LogDebugRequestRetries

  • LogDebugWithEventStreamBody

Pour plus d'informations sur ces options, consultez LogLevelType.

Arrêt et redémarrage de l'agent CloudWatch

Vous pouvez arrêter manuellement l' CloudWatch agent en utilisant l'un des moyens suivants : AWS Systems Manager ou la ligne de commande.

Pour arrêter l' CloudWatch agent à l'aide de la commande Exécuter
  1. Ouvrez la console Systems Manager à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. Dans le panneau de navigation, choisissez Run Command (Fonctionnalité Exécuter la commande).

    -ou-

    Si l'icône AWS Systems Manager la page d'accueil s'ouvre, faites défiler la page vers le bas et choisissez Explore Run Command.

  3. Sélectionnez Run Command (Exécuter la commande).

  4. Dans la liste du document de commande, choisissez AmazonCloudWatch- ManageAgent.

  5. Dans la zone Cibles, choisissez l'instance sur laquelle vous avez installé l' CloudWatch agent.

  6. Dans la liste Action, choisissez stop.

  7. Laissez les champs Optional Configuration Source (Source de configuration facultative) et Optional Configuration Location (Emplacement de configuration facultative) vides.

  8. Cliquez sur Exécuter.

Pour arrêter l' CloudWatch agent localement à 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 stop

    Sur un serveur exécutant Windows Server, entrez les informations suivantes en PowerShell 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) Modifiez la configuration commune et le profil nommé de CloudWatch l'agent.