Amazon CloudWatch Logs mit AWS OpsWorks Stacks verwenden - AWS OpsWorks

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.

Amazon CloudWatch Logs mit AWS OpsWorks Stacks verwenden

Wichtig

Der AWS OpsWorks Stacks Service hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS Support Team auf AWS re:POST oder über den AWS Premium-Support.

Um die Überwachung von Protokollen auf mehreren Instances zu vereinfachen, unterstützt AWS OpsWorks Stacks Amazon CloudWatch Logs. Sie aktivieren CloudWatch Logs auf Layer-Ebene in AWS OpsWorks Stacks. CloudWatch Die Log-Integration funktioniert mit den Linux-basierten Stacks Chef 11.10 und Chef 12. Wenn Sie CloudWatch Logs aktivieren, fallen zusätzliche Gebühren an. Überprüfen Sie daher die CloudWatchAmazon-Preise, bevor Sie beginnen.

CloudWatch Logs überwacht ausgewählte Protokolle auf das Auftreten eines benutzerdefinierten Musters. Sie können die Überwachung beispielsweise auf Zeichenfolgen wie NullReferenceException oder die Häufigkeit solcher Ereignisse ausrichten. Nachdem Sie CloudWatch Logs in AWS OpsWorks Stacks aktiviert haben, sendet der AWS OpsWorks Stacks-Agent die Protokolle an Logs. CloudWatch Weitere Informationen zu CloudWatch Logs finden Sie unter Erste Schritte mit CloudWatch Logs.

Voraussetzungen

Bevor Sie CloudWatch Logs aktivieren können, müssen Ihre Instances Version 3444 oder höher des AWS OpsWorks Stacks-Agenten in Chef 11.10-Stacks und 4023 oder höher in Chef 12-Stacks ausführen. Sie müssen auch ein kompatibles Instanzprofil für alle Instanzen verwenden, die Sie mithilfe von Logs überwachen. CloudWatch

Wenn Sie ein benutzerdefiniertes Instanzprofil verwenden (eines, das AWS OpsWorks Stacks bei der Erstellung des Stacks nicht bereitgestellt hat), kann AWS OpsWorks Stacks das Instanzprofil nicht automatisch aktualisieren. Sie müssen die AWSOpsWorksCloudWatchLogsRichtlinie mithilfe von IAM manuell an Ihr Profil anhängen. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Verwaltung von IAM-Richtlinien.

Wenn Sie Ihre Agentenversion oder Ihr Instanzprofil aktualisieren müssen, zeigt AWS OpsWorks Stacks eine Erinnerung an, die dem folgenden Screenshot ähnelt, wenn Sie den Tab CloudWatch Logs auf der Layer-Seite öffnen.

CloudWatch Registerkarte „Logs“ auf der Layer-Seite

Es kann einige Zeit in Anspruch nehmen, den Agenten auf allen Instances eines Layers zu aktualisieren. Wenn Sie versuchen, CloudWatch Logs on a Layer zu aktivieren, bevor das Agent-Upgrade abgeschlossen ist, wird eine Meldung ähnlich der folgenden angezeigt.

CloudWatch Registerkarte „Protokolle“ auf der Layer-Seite

Aktivieren von CloudWatch Protokollen

  1. Nachdem alle erforderlichen Upgrades von Agenten- und Instanzprofilen abgeschlossen sind, können Sie CloudWatch Logs aktivieren, indem Sie den Schieberegler auf der Registerkarte CloudWatch Logs auf On setzen.

    CloudWatch Steuerung des Schiebereglers Protokolle
  2. Um Befehlsprotokolle zu streamen, verschieben Sie den Regler Stream command logs (Befehlsprotokolle streamen) auf On (Ein). Dadurch werden Protokolle der Chef-Aktivitäten und der vom Benutzer initiierten Befehle auf den Instanzen Ihres Layers an CloudWatch Logs gesendet.

    Die in diesen Protokollen enthaltenen Daten stimmen weitgehend mit dem überein, was Sie in den Ergebnissen eines DescribeCommandsVorgangs sehen, wenn Sie das Ziel der Protokoll-URL öffnen. Es enthält Daten zu setup, configure, deploy, undeploy, start, stop sowie zu Rezeptausführungsbefehlen.

  3. Um Protokolle zu Aktivitäten zu streamen, die an benutzerdefinierten Speicherorten auf den Instances des Layers gespeichert werden, z. B. /var/log/apache/myapp/mylog*, geben Sie den benutzerdefinierten Speicherort im Eingabefeld Stream custom logs (Befehlsprotokolle streamen) ein und klicken Sie auf Add (Hinzufügen) (+).

  4. Wählen Sie Speichern. Innerhalb weniger Minuten sollten die AWS OpsWorks Stacks-Protokollstreams in der CloudWatch Logs-Konsole sichtbar sein.

    CloudWatch Logs ist aktiviert

CloudWatch Protokolle ausschalten

Um CloudWatch Logs zu deaktivieren, bearbeiten Sie Ihre Layer-Einstellungen.

  1. Wählen Sie auf der Eigenschaftsseite des Layers Edit (Bearbeiten) aus.

    Schaltfläche "Edit (Bearbeiten)" auf der Layer-Seite "Properties (Eigenschaften)"
  2. Wählen Sie auf der Bearbeitungsseite die Registerkarte CloudWatch Protokolle aus.

  3. Deaktivieren Sie im Bereich CloudWatch Logs die Option Stream-Befehlsprotokolle. Wählen Sie gegebenenfalls bei benutzerdefinierten Protokollen X aus, um die Protokolle aus den Protokoll-Streams zu löschen.

  4. Wählen Sie Speichern.

Löschen von gestreamten Protokollen aus CloudWatch Protokollen

Nachdem Sie das Streaming von CloudWatch Protokollen aus AWS OpsWorks Stacks deaktiviert haben, sind vorhandene Protokolle weiterhin in der CloudWatch Logs-Verwaltungskonsole verfügbar. Es fallen weiterhin Gebühren für gespeicherte Protokolle an, es sei denn, Sie exportieren die Protokolle nach Amazon S3 oder löschen sie. Weitere Informationen zum Exportieren von Protokollen nach S3 finden Sie unter Exportieren von Protokolldaten nach Amazon S3.

Sie können Protokollstreams und Protokollgruppen in der CloudWatch Logs-Verwaltungskonsole oder durch Ausführen der delete-log-group AWS CLI Befehle delete-log-streamund löschen. Weitere Informationen zur Änderung der Aufbewahrungsfristen für Protokolle finden Sie unter Ändern der Aufbewahrung von Protokolldaten in CloudWatch Protokollen.

Verwaltung Ihrer Logs in CloudWatch Logs

Die Logs, die Sie streamen, werden in der CloudWatch Logs-Konsole verwaltet.

CloudWatch Protokollkonsole

AWS OpsWorks erstellt automatisch Standard-Protokollgruppen und Protokollstreams. Die Namen von Protokollgruppen für AWS OpsWorks  Stacks-Daten werden nach folgendem Muster erstellt:

stack_name/layer_name/chef_log_name

Namen für benutzerdefinierte Protokolle werden nach folgendem Muster generiert:

/stack_name/layer_short_name/file_path_name. Der Pfadname wird lesbarer, wenn Sie Sonderzeichen wie "*" entfernen.

Wenn Sie Ihre Logs in CloudWatch Logs gefunden haben, können Sie die Logs in Gruppen organisieren, Logs suchen und filtern, indem Sie Metrikfilter erstellen, und benutzerdefinierte Alarme erstellen.

Konfiguration von Chef 12.2 Windows-Layern für die Verwendung von Protokollen CloudWatch

CloudWatch Die automatische Integration von Protokollen wird für Windows-basierte Instanzen nicht unterstützt. Die Registerkarte CloudWatch Protokolle ist für Ebenen in Chef 12.2-Stacks nicht verfügbar. Gehen Sie wie folgt vor, um das Streaming in CloudWatch Logs für Windows-basierte Instanzen manuell zu aktivieren.

  • Aktualisieren Sie das Instanzprofil für Windows-basierte Instanzen, sodass der CloudWatch Logs-Agent über die entsprechenden Berechtigungen verfügt. Aus der AWSOpsWorksCloudWatchLogsRichtlinienerklärung geht hervor, welche Berechtigungen erforderlich sind.

    Normalerweise müssen Sie diese Aufgabe nur einmal ausführen. Sie können das aktualisierte Instance-Profil dann für alle Windows-Instances eines Layers verwenden.

  • Bearbeiten Sie die folgende JSON-Konfigurationsdatei auf jeder Instance. Diese Datei enthält Einstellungen für Protokoll-Streams, beispielsweise welche Protokolle überwacht werden sollen.

    %PROGRAMFILES%\Amazon\Ec2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json

Sie können die beiden vorherigen Aufgaben auch automatisieren. Erstellen Sie dafür benutzerdefinierte Rezepte für die erforderlichen Aufgaben und weisen Sie sie den Setup (Einrichtung)-Ereignissen des Chef 12.2-Layers zu. Jedes Mal, wenn Sie eine neue Instanz auf diesen Layern starten, führt AWS OpsWorks Stacks Ihre Rezepte automatisch aus, nachdem die Instanz gestartet ist, wodurch Logs aktiviert CloudWatch wird.

Um CloudWatch Logs auf Windows-basierten Instances zu deaktivieren, kehren Sie den Vorgang um. Deaktivieren Sie das Kontrollkästchen CloudWatch Logs-Integration aktivieren im Dialogfeld EC2-Diensteigenschaften, löschen Sie die Log-Stream-Einstellungen aus der AWS.EC2.Windows.CloudWatch.json Datei und beenden Sie die Ausführung aller Chef-Rezepte, die neuen Instanzen in Chef 12.2-Ebenen automatisch CloudWatch Logs-Berechtigungen zuweisen.