Fehlerbehebung beim CloudWatch Agenten - Amazon CloudWatch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung beim CloudWatch Agenten

Verwenden Sie die folgenden Informationen, um Probleme mit dem CloudWatch Agenten zu beheben.

CloudWatch Befehlszeilenparameter für den Agenten

Um die vollständige Liste der vom CloudWatch Agenten unterstützten Parameter zu sehen, geben Sie in der Befehlszeile des Computers, auf dem der Agent installiert ist, Folgendes ein:

amazon-cloudwatch-agent-ctl -help

Die Installation des CloudWatch Agenten mithilfe von Run Command schlägt fehl

Um den CloudWatch Agenten mit Systems Manager Run Command zu installieren, muss der SSM-Agent auf dem Zielserver Version 2.2.93.0 oder höher sein. Wenn Ihr SSM Agent nicht die richtige Version aufweist, werden möglicherweise Fehler mit den folgenden Meldungen angezeigt:

no latest version found for package AmazonCloudWatchAgent on platform linux
failed to download installation package reliably

Informationen über das Installieren oder Aktualisieren der SSM-Agent-Version finden Sie unter Installieren und Konfigurieren des SSM-Agents in AWS Systems Manager -Benutzerhandbuch.

Der CloudWatch Agent wird nicht gestartet

Wenn der CloudWatch Agent nicht gestartet werden kann, liegt möglicherweise ein Problem in Ihrer Konfiguration vor. Konfigurationsinformationen werden in die Datei configuration-validation.log geschrieben. Diese Datei befindet sich auf Linux-Servern unter /opt/aws/amazon-cloudwatch-agent/logs/configuration-validation.log und auf Servern mit Windows Server unter $Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\configuration-validation.log.

Stellen Sie sicher, dass der CloudWatch Agent läuft

Sie können den CloudWatch Agenten abfragen, um herauszufinden, ob er läuft oder angehalten wurde. Sie können AWS Systems Manager verwenden, um dies fernbedient zu erledigen. Sie können auch die Befehlszeile verwenden, aber damit nur den lokalen Server überprüfen.

Um den Status des CloudWatch Agenten mit Run Command abzufragen
  1. Öffnen Sie die Systems Manager Manager-Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich Run Command aus.

    –oder–

    Wenn die AWS Systems Manager Startseite geöffnet wird, scrollen Sie nach unten und wählen Sie Explore Run Command.

  3. Wählen Sie Run Command (Befehl ausführen) aus.

  4. Wählen Sie in der Liste der Befehlsdokumente die Schaltfläche neben AmazonCloudWatch- ausManageAgent.

  5. Klicken Sie in der Liste Action auf Status.

  6. Wählen Sie für Optional Configuration Source (Optionale Konfigurationsquelle) den Standardwert aus und lassen Sie Optional Configuration Location (Optionaler Konfigurationsstandort) leer.

  7. Wählen Sie im Bereich Target die Instance, die Sie prüfen möchten.

  8. Wählen Sie Ausführen aus.

Wenn der Agent ausgeführt wird, sieht die Ausgabe etwa folgendermaßen aus.

{ "status": "running", "starttime": "2017-12-12T18:41:18", "version": "1.73.4" }

Wenn der Agent angehalten ist, wird im Feld "status" "stopped" angezeigt.

Um den Status des CloudWatch Agenten lokal über die Befehlszeile abzufragen
  • Geben Sie auf einem Linux-Server Folgendes ein:

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

    Geben Sie auf einem Server, auf dem Windows Server ausgeführt wird, PowerShell als Administrator Folgendes ein:

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

Der CloudWatch Agent startet nicht und der Fehler erwähnt eine Amazon EC2 EC2-Region

Wenn der Agent nicht startet und die Fehlermeldung einen Endpunkt einer Amazon-EC2-Region erwähnt, haben Sie den Agenten möglicherweise so konfiguriert, dass er Zugriff auf den Amazon-EC2-Endpunkt benötigt, ohne diesen Zugriff zu gewähren.

Beispiel: Wenn Sie einen Wert für den Parameter append_dimensions in der Agentenkonfigurationsdatei angeben, der von Amazon-EC2-Metadaten abhängt, und Sie Proxys verwenden, müssen Sie sicherstellen, dass der Server auf den Endpunkt für Amazon EC2 zugreifen kann. Weitere Informationen zu diesen Endpunkten finden Sie unter Amazon Elastic Compute Cloud (Amazon EC2) in der Allgemeine Amazon Web Services-Referenz.

Der CloudWatch Agent lässt sich auf Windows Server nicht starten

Unter Windows Server wird möglicherweise der folgende Fehler angezeigt:

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

Um dies zu beheben, stellen Sie zunächst sicher, dass der Serverservice ausgeführt wird. Dieser Fehler kann angezeigt werden, wenn der Agent versucht, zu starten, während der Serverservice nicht ausgeführt wird.

Wenn der Serverservice bereits ausgeführt wird, kann Folgendes sein: Bei einigen Windows Server-Installationen benötigt der CloudWatch Agent mehr als 30 Sekunden, um zu starten. Da Windows Server standardmäßig nur 30 Sekunden zum Starten von Services zulässt, führt dies dazu, dass der Agent mit einem Fehler wie dem folgenden fehlschlägt:

Um dieses Problem zu beheben, erhöhen Sie den Zeitüberschreitungswert für Services. Weitere Informationen finden Sie unter Ein Service wird nicht gestartet und die Ereignisse 7000 und 7011 werden im Windows-Ereignisprotokoll protokolliert.

Wo sind die Metriken?

Wenn der CloudWatch Agent ausgeführt wurde, Sie aber im AWS Management Console oder im keine von ihm gesammelten Messwerte finden können, vergewissern Sie sich AWS CLI, dass Sie den richtigen Namespace verwenden. Der Namespace für die vom Agent zu erfassenden Metriken ist standardmäßig CWAgent. Sie können diesen Namespace mit dem Feld namespace im Abschnitt metrics der Agentenkonfigurationsdatei anpassen. Wenn Sie die erwarteten Metriken nicht finden, prüfen Sie die Konfigurationsdatei, um festzustellen, welchen Namespace Sie verwenden.

Wenn Sie das CloudWatch Agentenpaket zum ersten Mal herunterladen, befindet amazon-cloudwatch-agent.json sich die Agenten-Konfigurationsdatei. Diese Datei befindet sich in dem Verzeichnis, in dem Sie den Konfigurationsassistenten ausgeführt haben. Möglicherweise haben Sie die Datei in ein anderes Verzeichnis verschoben. Wenn Sie den Konfigurations-Assistenten verwenden, wird die Ausgabe der Agent-Konfigurationsdatei vom Assistenten mit dem Namen config.json versehen. Weitere Informationen zur Konfigurationsdatei, einschließlich des Felds namespace, finden Sie unter CloudWatch Agenten-Konfigurationsdatei: Abschnitt „Metriken“.

Die Ausführung des CloudWatch Agenten in einem Container dauert lange oder protokolliert einen Hop-Limit-Fehler

Wenn Sie den CloudWatch Agenten als Container-Service ausführen und Amazon EC2-Metrikdimensionen zu allen vom Agenten gesammelten Metriken hinzufügen möchten, werden in Version v1.247354.0 des Agenten möglicherweise die folgenden Fehler angezeigt:

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:

Dieser Fehler kann auftreten, wenn der Agent versucht, Metadaten von IMDSv2 innerhalb eines Containers ohne entsprechendes Hop-Limit abzurufen. In Agentenversionen vor v1.247354.0 kann dieses Problem auftreten, ohne dass die Protokollmeldung angezeigt wird.

Erhöhen Sie zur Lösung dieses Problems das Hop-Limit auf „2“. Eine entsprechende Anleitung finden Sie unter Konfigurieren der Optionen für Instance-Metadaten.

Ich habe meine Agentenkonfiguration aktualisiert, sehe aber die neuen Metriken oder Protokolle nicht in der Konsole CloudWatch

Wenn Sie Ihre CloudWatch Agenten-Konfigurationsdatei aktualisieren, müssen Sie beim nächsten Start des Agenten die fetch-config Option verwenden. Wenn Sie beispielsweise die aktualisierte Datei auf dem lokalen Computer gespeichert haben, geben Sie den folgenden Befehl ein:

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -s -m ec2 -c file:configuration-file-path

CloudWatch Agentendateien und Speicherorte

In der folgenden Tabelle sind die vom CloudWatch Agenten installierten und mit ihm verwendeten Dateien sowie ihre Speicherorte auf Servern aufgeführt, auf denen Linux oder Windows Server ausgeführt werden.

Datei Linux-Speicherort Windows Server-Speicherort

Das Steuerskript, das das Starten, Anhalten und Neustarten des Agents kontrolliert.

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

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

Die Protokolldatei, in die der Agent schreibt. Möglicherweise müssen Sie dies bei der Kontaktaufnahme anhängen AWS Support.

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

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

Datei für die Auswertung der Agentenkonfiguration.

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

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

Die für die Konfiguration des Agenten verwendete JSON-Datei, sofort nach der Erstellung durch den Assistenten. Weitere Informationen finden Sie unter Erstellen Sie die CloudWatch Agent-Konfigurationsdatei.

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

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

Die für die Konfiguration des Agenten verwendete JSON-Datei, wenn diese Konfigurationsdatei aus Parameter Store heruntergeladen wurde.

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

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

Die TOML-Datei, mit der Regions- und Anmeldeinformationen angegeben werden, die vom Agenten verwendet werden sollen, wobei die Systemvorgaben überschrieben werden.

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

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

Die TOML-Datei, die den konvertierten Inhalt der JSON-Konfigurationsdatei enthält. Das amazon-cloudwatch-agent-ctl-Skript generiert diese Datei. Benutzer sollten diese Datei nicht direkt ändern. Sie kann nützlich sein, um zu überprüfen, ob die Übersetzung von JSON in TOML erfolgreich war.

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

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

Die YAML-Datei, die den konvertierten Inhalt der JSON-Konfigurationsdatei enthält. Das amazon-cloudwatch-agent-ctl-Skript generiert diese Datei. Sie sollten diese Datei nicht direkt ändern. Diese Datei kann nützlich sein, um zu überprüfen, ob die Übersetzung von JSON nach YAML erfolgreich war.

/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

Suchen Sie nach Informationen zu CloudWatch Agentenversionen

Geben Sie den folgenden Befehl ein, um die Versionsnummer des CloudWatch Agenten auf einem Linux-Server zu ermitteln:

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

Geben Sie den folgenden Befehl ein, um die Versionsnummer des CloudWatch Agenten auf Windows Server zu ermitteln:

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

Die Verwendung dieses Befehls ist der richtige Weg, um die Version des CloudWatch Agenten zu finden. Wenn Sie Programme und Feature nutzen, sehen Sie in der Systemsteuerung eine falsche Versionsnummer.

Sie können auch eine README-Datei über die neuesten Änderungen am Agenten sowie eine Datei mit der Versionsnummer herunterladen, die aktuell zum Download verfügbar ist. Diese Dateien befinden sich an den folgenden Speicherorten:

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

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

Vom CloudWatch Agenten generierte Protokolle

Der Agent generiert ein Protokoll, während es ausgeführt wird. Dieses Protokoll enthält Informationen zur Fehlerbehebung. Das Protokoll ist die Datei amazon-cloudwatch-agent.log. Diese Datei befindet sich auf Linux-Servern unter /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log und auf Servern mit Windows Server unter $Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log.

Sie können den Agenten so konfigurieren, dass zusätzliche Details in der Datei amazon-cloudwatch-agent.log protokolliert werden. Setzen Sie in der Agentenkonfigurationsdatei im agent Abschnitt das debug Feld auftrue, konfigurieren Sie den CloudWatch Agenten neu und starten Sie ihn neu. Um die Aufzeichnung dieser zusätzlichen Informationen zu deaktivieren, setzen Sie das Feld debug auf false. Konfigurieren Sie dann den Agenten neu und starten Sie ihn neu. Weitere Informationen finden Sie unter Erstellen oder bearbeiten Sie die CloudWatch Agenten-Konfigurationsdatei manuell.

In den Versionen 1.247350.0 und höher des CloudWatch Agenten können Sie das aws_sdk_log_level Feld im agent Abschnitt der Agenten-Konfigurationsdatei optional auf eine oder mehrere der folgenden Optionen festlegen. Trennen Sie mehrere Optionen mit dem |-Zeichen.

  • LogDebug

  • LogDebugWithSigning

  • LogDebugWithHTTPBody

  • LogDebugRequestRetries

  • LogDebugWithEventStreamBody

Weitere Informationen zu diesen Optionen finden Sie unter. LogLevelType

Den Agenten stoppen und neu starten CloudWatch

Sie können den CloudWatch Agenten manuell entweder über die Befehlszeile AWS Systems Manager oder über die Befehlszeile beenden.

Um den CloudWatch Agenten mit Run Command zu beenden
  1. Öffnen Sie die Systems Manager Manager-Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich Run Command aus.

    –oder–

    Wenn die AWS Systems Manager Startseite geöffnet wird, scrollen Sie nach unten und wählen Sie Explore Run Command.

  3. Wählen Sie Run Command (Befehl ausführen) aus.

  4. Wählen Sie in der Command-Dokumentliste die Option AmazonCloudWatch- ManageAgent.

  5. Wählen Sie im Bereich Ziele die Instanz aus, auf der Sie den CloudWatch Agenten installiert haben.

  6. Klicken Sie in der Liste Action auf stop.

  7. Lassen Sie Optional Configuration Source (Optionale Konfigurationsquelle) und Optional Configuration Location (Optionaler Konfigurationsstandort) leer.

  8. Wählen Sie Ausführen aus.

Um den CloudWatch Agenten lokal über die Befehlszeile zu beenden
  • Geben Sie auf einem Linux-Server Folgendes ein:

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stop

    Geben Sie auf einem Server, auf dem Windows Server ausgeführt wird, PowerShell als Administrator Folgendes ein:

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

Um den Agent neu zu starten, befolgen Sie die Anweisungen in Starten Sie den Agenten CloudWatch .