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

Utilisez les informations suivantes pour résoudre les problèmes liés à 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'agent SSM sur le serveur cible doit être de 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' 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é. 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 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 la page d' AWS Systems Manager 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 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' 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 qu'il a collectées 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 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 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 lors de la prise de contact 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

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

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

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

Fichier JSON utilisé pour configurer l'agent si ce fichier de configuration a été téléchargé à partir du 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 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.

/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 fichier TOML contenant le contenu converti du fichier de configuration JSON. 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 la traduction JSON vers TOML a été 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 fichier YAML contenant le contenu converti du fichier de configuration JSON. 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 traduction JSON vers YAML a été réussie.

/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 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_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

Logs 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 plus d’informations, consultez 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 l' CloudWatch agent manuellement à l'aide de l'un ou de l'autre AWS Systems Manager ou de 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 la page d' AWS Systems Manager 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 Démarrez l' CloudWatch agent.