Schnellstart: Ermöglichen Sie Ihren EC2 Amazon-Instances, auf denen Windows Server 2016 ausgeführt wird, mithilfe des Logs-Agenten CloudWatch Logs Logs Logs an CloudWatch Logs zu senden - CloudWatch Amazon-Protokolle

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.

Schnellstart: Ermöglichen Sie Ihren EC2 Amazon-Instances, auf denen Windows Server 2016 ausgeführt wird, mithilfe des Logs-Agenten CloudWatch Logs Logs Logs an CloudWatch Logs zu senden

Tipp

CloudWatch beinhaltet einen neuen vereinheitlichten Agenten, der sowohl Protokolle als auch Messwerte von EC2 Instanzen und lokalen Servern sammeln kann. Wir empfehlen die Verwendung des neueren vereinheitlichten CloudWatch-Agents. Weitere Informationen finden Sie unter Erste Schritte mit CloudWatch Logs.

Im Rest dieses Abschnitts wird die Verwendung des älteren CloudWatch Logs-Agenten erklärt.

Ermöglichen Sie Ihren EC2 Amazon-Instances, auf denen Windows Server 2016 ausgeführt wird, mithilfe des älteren CloudWatch Logs-Agenten, CloudWatch Protokolle an Logs zu senden

Es gibt mehrere Methoden, mit denen Sie Instanzen, auf denen Windows Server 2016 ausgeführt wird, das Senden von Protokollen an CloudWatch Logs ermöglichen können. Die Schritte in diesem Abschnitt verwenden den Systems-Manager-Run-Command. Informationen zu den anderen möglichen Methoden finden Sie unter Protokolle, Ereignisse und Leistungsindikatoren an Amazon CloudWatch senden.

Herunterladen der Beispiel-Konfigurationsdatei

Laden Sie die folgenden Beispiel-Datei auf Ihren Computer herunter: AWS.EC2.Windows.CloudWatch.json.

Konfigurieren Sie die JSON-Datei für CloudWatch

Sie bestimmen, an welche Protokolle gesendet CloudWatch werden sollen, indem Sie Ihre Optionen in einer Konfigurationsdatei angeben. Das Erstellen dieser Datei und die Angabe Ihrer Auswahl können 30 Minuten oder mehr beanspruchen. Nachdem Sie diese Aufgabe abgeschlossen haben, können Sie die Konfigurationsdatei für alle Instances wiederverwenden.

Schritt 1: CloudWatch Protokolle aktivieren

Ändern Sie oben in der JSON-Datei "false" in "true" für IsEnabled:

"IsEnabled": true,

Schritt 2: Konfigurieren Sie die Einstellungen für CloudWatch

Geben Sie die Anmeldeinformationen, die Region, eine Protokollgruppennamen und einen Protokoll-Stream-Namespace ein. Dadurch kann die Instanz Protokolldaten an CloudWatch Logs senden. Um dieselben Protokolldaten an verschiedene Speicherorte zu senden, können Sie zusätzliche Abschnitte mit eindeutigen IDs (z. B. „CloudWatchLogs2" und CloudWatchLogs 3") und einer anderen Region für jede ID hinzufügen.

Um Einstellungen für das Senden von Protokolldaten an CloudWatch Logs zu konfigurieren
  1. Suchen Sie in der JSON-Datei nach dem Abschnitt CloudWatchLogs.

    { "Id": "CloudWatchLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "", "SecretKey": "", "Region": "us-east-1", "LogGroup": "Default-Log-Group", "LogStream": "{instance_id}" } },
  2. Lassen Sie die Felder AccessKey und SecretKey leer. Sie können Anmeldeinformationen mithilfe einer IAM-Rolle konfigurieren.

  3. Geben Sie für Region die Region ein, an die Sie die Protokolldaten senden möchten (z. B. us-east-2).

  4. Geben Sie in das Feld LogGroup den Namen Ihrer Protokollgruppe ein. Dieser Name wird auf dem Bildschirm Log Groups in der CloudWatch-Konsole angezeigt.

  5. Geben Sie für LogStream den Ziel-Protokoll-Stream ein. Dieser Name wird auf dem Bildschirm Protokollgruppen > Streams in der CloudWatch Konsole angezeigt.

    Wenn Sie {instance_id} verwenden, ist der Standard-Protokoll-Stream die Instance-ID dieser Instance.

    Wenn Sie einen Log-Stream-Namen angeben, der noch nicht existiert, erstellt CloudWatch Logs ihn automatisch für Sie. Sie können den Protokoll-Stream-Namen mithilfe einer Literalzeichenfolge oder den vordefinierten Variablen {instance_id}, {hostname} und {ip_address} oder einer Kombination aus beiden definieren.

Schritt 3: Konfigurieren der zu sendenden Daten

Sie können Ereignisprotokolldaten, ETW-Daten (Event Tracing for Windows) und andere Protokolldaten an CloudWatch Logs senden.

Um Ereignisprotokolldaten von Windows-Anwendungen an Logs zu senden CloudWatch
  1. Suchen Sie in der JSON-Datei nach dem Abschnitt ApplicationEventLog.

    { "Id": "ApplicationEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Application", "Levels": "1" } },
  2. Geben Sie für Levels den hochzuladenden Meldungstyp an. Sie können einen der folgenden Werte angeben:

    • 1 - Nur Fehlermeldungen hochladen.

    • 2 - Nur Warnmeldungen hochladen.

    • 4 - Nur Informationsmeldungen hochladen.

    Sie können Werte kombinieren, um mehr als einen Meldungstyp einzuschließen. Beispielsweise lädt ein Wert von 3 Fehlermeldungen (1) und Warnmeldungen (2) hoch. Ein Wert von 7 lädt Fehlermeldungen (1), Warnmeldungen (2) und Informationsmeldungen (4) hoch.

Um Sicherheitsprotokolldaten an CloudWatch Logs zu senden
  1. Suchen Sie in der JSON-Datei nach dem Abschnitt SecurityEventLog.

    { "Id": "SecurityEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Security", "Levels": "7" } },
  2. Geben Sie für Levels 7 ein, um alle Meldungen hochzuladen.

Um Daten aus dem Systemereignisprotokoll an CloudWatch Logs zu senden
  1. Suchen Sie in der JSON-Datei nach dem Abschnitt SystemEventLog.

    { "Id": "SystemEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "System", "Levels": "7" } },
  2. Geben Sie für Levels den hochzuladenden Meldungstyp an. Sie können einen der folgenden Werte angeben:

    • 1 - Nur Fehlermeldungen hochladen.

    • 2 - Nur Warnmeldungen hochladen.

    • 4 - Nur Informationsmeldungen hochladen.

    Sie können Werte kombinieren, um mehr als einen Meldungstyp einzuschließen. Beispielsweise lädt ein Wert von 3 Fehlermeldungen (1) und Warnmeldungen (2) hoch. Ein Wert von 7 lädt Fehlermeldungen (1), Warnmeldungen (2) und Informationsmeldungen (4) hoch.

Um andere Arten von Ereignisprotokolldaten an CloudWatch Logs zu senden
  1. Fügen Sie der JSON-Datei einen neuen Abschnitt hinzu. Jeder Abschnitt muss eine eindeutige Id haben.

    { "Id": "Id-name", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Log-name", "Levels": "7" } },
  2. Geben Sie für Id einen Namen für das hochzuladende Protokoll ein (z. B. WindowsBackup).

  3. Geben Sie für LogName den Namen des hochzuladenden Protokolls ein. Sie können den Namen des Protokolls wie folgt suchen.

    1. Öffnen Sie die Ereignisanzeige.

    2. Wählen Sie im Navigationsbereich Applications and Services Logs aus.

    3. Navigieren Sie zum Protokoll, und wählen Sie dann Actions und Properties aus.

  4. Geben Sie für Levels den hochzuladenden Meldungstyp an. Sie können einen der folgenden Werte angeben:

    • 1 - Nur Fehlermeldungen hochladen.

    • 2 - Nur Warnmeldungen hochladen.

    • 4 - Nur Informationsmeldungen hochladen.

    Sie können Werte kombinieren, um mehr als einen Meldungstyp einzuschließen. Beispielsweise lädt ein Wert von 3 Fehlermeldungen (1) und Warnmeldungen (2) hoch. Ein Wert von 7 lädt Fehlermeldungen (1), Warnmeldungen (2) und Informationsmeldungen (4) hoch.

Um Daten der Ereignisablaufverfolgung für Windows an Logs zu CloudWatch senden

ETW (Event Tracing for Windows) bietet einen effizienten und detaillierten Protokollierungsmechanismus, auf den Anwendungen Protokolle schreiben können. Jeder ETW wird über einen Session Manager gesteuert, der die Protokollierungssitzung starten und beenden kann. Jede Sitzung hat einen Anbieter und einen oder mehrere Verbraucher.

  1. Suchen Sie in der JSON-Datei nach dem Abschnitt ETW.

    { "Id": "ETW", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Microsoft-Windows-WinINet/Analytic", "Levels": "7" } },
  2. Geben Sie für LogName den Namen des hochzuladenden Protokolls ein.

  3. Geben Sie für Levels den hochzuladenden Meldungstyp an. Sie können einen der folgenden Werte angeben:

    • 1 - Nur Fehlermeldungen hochladen.

    • 2 - Nur Warnmeldungen hochladen.

    • 4 - Nur Informationsmeldungen hochladen.

    Sie können Werte kombinieren, um mehr als einen Meldungstyp einzuschließen. Beispielsweise lädt ein Wert von 3 Fehlermeldungen (1) und Warnmeldungen (2) hoch. Ein Wert von 7 lädt Fehlermeldungen (1), Warnmeldungen (2) und Informationsmeldungen (4) hoch.

Um benutzerdefinierte Protokolle (jede textbasierte Protokolldatei) an Logs zu senden CloudWatch
  1. Suchen Sie in der JSON-Datei nach dem Abschnitt CustomLogs.

    { "Id": "CustomLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogDirectoryPath": "C:\\CustomLogs\\", "TimestampFormat": "MM/dd/yyyy HH:mm:ss", "Encoding": "UTF-8", "Filter": "", "CultureName": "en-US", "TimeZoneKind": "Local", "LineCount": "5" } },
  2. Geben Sie für LogDirectoryPath den Pfad ein, auf dem die Protokolle auf Ihrer Instance gespeichert werden sollen.

  3. Geben Sie unter TimestampFormat das Zeitstempelformat ein, das Sie verwenden möchten. Weitere Informationen über unterstützte Werte finden Sie unter dem Thema Benutzerdefinierte Datums- und Zeitformat-Zeichenfolgen auf MSDN.

    Wichtig

    Die Quell-Protokolldatei muss zu Beginn jeder Protokollzeile einen Zeitstempel haben, und nach dem Zeitstempel muss eine Leerstelle folgen.

  4. Geben Sie für Encoding die zu verwendende Datei-Kodierung ein (z. B: UTF-8). Eine Liste der unterstützten Werte finden Sie unter dem Thema Encoding Class auf MSDN.

    Anmerkung

    Verwenden Sie den Kodierungsnamen, nicht den Anzeigenamen.

  5. (Optional) Geben Sie für Filter das Präfix des Protokollnamens ein. Lassen Sie diesen Parameter leer, um alle Dateien zu überwachen. Weitere Informationen zu unterstützten Werten finden Sie unter dem Thema FileSystemWatcherFilter Eigenschaften auf MSDN.

  6. (Optional) Geben Sie für CultureName das Gebietsschema ein, unter dem Zeitstempel protokolliert wird. Wenn CultureName leer ist, wird standardmäßig dasselbe Gebietsschema verwendet, das von der Windows-Instance verwendet wird. Weitere Informationen finden Sie in der Spalte Language tag in der Tabelle im Thema Produktverhalten in MSDN.

    Anmerkung

    Die Werte div, div-MV, hu und hu-HU werden nicht unterstützt.

  7. (Optional) Geben Sie für TimeZoneKind Local oder UTC ein. Sie können über diese Einstellung Zeitzoneninformationen bereitstellen, wenn der Zeitstempel Ihres Protokolls keine Zeitzoneninformationen enthält. Wenn dieser Parameter leer gelassen wird und Ihr Zeitstempel keine Zeitzoneninformationen enthält, verwendet CloudWatch Logs standardmäßig die lokale Zeitzone. Dieser Parameter wird ignoriert, wenn der Zeitstempel bereits Zeitzoneninformationen enthält.

  8. (Optional) Geben Sie für LineCount die Anzahl der Zeilen im Header ein, um die Protokolldatei zu identifizieren. Beispielsweise haben IIS-Protokolldateien praktisch identische Header. Sie können 5 eingeben, dann würden die ersten drei Zeilen des Headers der Protokolldatei gelesen, um diese zu identifizieren. In den IIS-Protokolldateien ist die dritte Zeile das Datum und der Zeitstempel, aber es ist nicht immer sichergestellt, dass der Zeitstempel von zwei verschiedenen Protokolldateien unterschiedlich ist. Aus diesem Grund empfehlen wir, mindestens eine Zeile der tatsächlichen Protokolldaten hinzuzufügen, so dass die Protokolldatei eindeutig identifizierbar ist.

Um IIS-Protokolldaten an Logs zu CloudWatch senden
  1. Suchen Sie in der JSON-Datei nach dem Abschnitt IISLog.

    { "Id": "IISLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogDirectoryPath": "C:\\inetpub\\logs\\LogFiles\\W3SVC1", "TimestampFormat": "yyyy-MM-dd HH:mm:ss", "Encoding": "UTF-8", "Filter": "", "CultureName": "en-US", "TimeZoneKind": "UTC", "LineCount": "5" } },
  2. Geben Sie für LogDirectoryPath das Verzeichnis an, in dem die IIS-Protokolldateien für einen individuellen Standort gespeichert sind (z. B. C:\inetpub\logs\LogFiles\W3SVCn).

    Anmerkung

    Es wird nur das W3C-Protokollformat unterstützt. IIS, NCSA und benutzerdefinierte Formate werden nicht unterstützt.

  3. Geben Sie unter TimestampFormat das Zeitstempelformat ein, das Sie verwenden möchten. Weitere Informationen über unterstützte Werte finden Sie unter dem Thema Benutzerdefinierte Datums- und Zeitformat-Zeichenfolgen auf MSDN.

  4. Geben Sie für Encoding die zu verwendende Datei-Kodierung ein (z. B: UTF-8). Weitere Informationen über unterstützte Werte finden Sie unter dem Thema Encoding Class auf MSDN.

    Anmerkung

    Verwenden Sie den Kodierungsnamen, nicht den Anzeigenamen.

  5. (Optional) Geben Sie für Filter das Präfix des Protokollnamens ein. Lassen Sie diesen Parameter leer, um alle Dateien zu überwachen. Weitere Informationen zu unterstützten Werten finden Sie unter dem Thema FileSystemWatcherFilter Eigenschaften auf MSDN.

  6. (Optional) Geben Sie für CultureName das Gebietsschema ein, unter dem Zeitstempel protokolliert wird. Wenn CultureName leer ist, wird standardmäßig dasselbe Gebietsschema verwendet, das von der Windows-Instance verwendet wird. Weitere Informationen über unterstützte Werte finden Sie in der Spalte Language tag in der Tabelle im Thema Produktverhalten in MSDN.

    Anmerkung

    Die Werte div, div-MV, hu und hu-HU werden nicht unterstützt.

  7. (Optional) Geben Sie für TimeZoneKind Local oder UTC ein. Sie können über diese Einstellung Zeitzoneninformationen bereitstellen, wenn der Zeitstempel Ihres Protokolls keine Zeitzoneninformationen enthält. Wenn dieser Parameter leer gelassen wird und Ihr Zeitstempel keine Zeitzoneninformationen enthält, verwendet CloudWatch Logs standardmäßig die lokale Zeitzone. Dieser Parameter wird ignoriert, wenn der Zeitstempel bereits Zeitzoneninformationen enthält.

  8. (Optional) Geben Sie für LineCount die Anzahl der Zeilen im Header ein, um die Protokolldatei zu identifizieren. Beispielsweise haben IIS-Protokolldateien praktisch identische Header. Sie können 5 eingeben, dann würden die ersten fünf Zeilen des Headers der Protokolldatei gelesen, um diese zu identifizieren. In den IIS-Protokolldateien ist die dritte Zeile das Datum und der Zeitstempel, aber es ist nicht immer sichergestellt, dass der Zeitstempel von zwei verschiedenen Protokolldateien unterschiedlich ist. Aus diesem Grund empfehlen wir, mindestens eine Zeile der tatsächlichen Protokolldaten hinzuzufügen, sodass die Protokolldatei eindeutig identifizierbar ist.

Schritt 4: Konfigurieren der Ablaufsteuerung

Jeder Datentyp muss ein entsprechendes Ziel im Bereich Flows haben. Um beispielsweise das benutzerdefinierte Protokoll, das ETW-Protokoll und das Systemprotokoll an CloudWatch Logs zu senden, fügen Sie dem Flows Abschnitt etwas (CustomLogs,ETW,SystemEventLog),CloudWatchLogs hinzu.

Warnung

Wenn Sie einen ungültigen Schritt hinzufügen, ist der Fluss blockiert. Wenn Sie beispielsweise einen Metrikschritt für eine Festplatte hinzufügen, Ihre Instance aber keine Festplatte hat, sind alle Schritte im Fluss blockiert.

Sie können dieselbe Protokolldatei an mehrere Ziele senden. Wenn Sie beispielsweise das Anwendungsprotokoll an zwei unterschiedliche Ziele senden möchten, die Sie im Abschnitt CloudWatchLogs definiert haben, fügen Sie dem Abschnitt Flows Folgendes hinzu: ApplicationEventLog,(CloudWatchLogs,CloudWatchLogs2).

So konfigurieren Sie die Flussteuerung:
  1. Suchen Sie in der Datei AWS.EC2.Windows.CloudWatch.json den Abschnitt Flows.

    "Flows": { "Flows": [ "PerformanceCounter,CloudWatch", "(PerformanceCounter,PerformanceCounter2), CloudWatch2", "(CustomLogs, ETW, SystemEventLog),CloudWatchLogs", "CustomLogs, CloudWatchLogs2", "ApplicationEventLog,(CloudWatchLogs, CloudWatchLogs2)" ] }
  2. Geben Sie für Flows jeden Datentyp ein, der hochgeladen werden soll (z. B. ApplicationEventLog) sowie sein Ziel (z. B. CloudWatchLogs).

Schritt 5: Speichern von JSON-Inhalten

Sie haben jetzt die Bearbeitung der JSON-Datei abgeschlossen. Speichern Sie sie und fügen Sie den Dateiinhalt in einem anderen Fenster in einen Texteditor ein. Sie benötigen den Dateiinhalt in einem späteren Schritt dieses Vorgangs.

Erstellen einer IAM-Rolle für Systems Manager

Sie benötigen eine IAM-Rolle für Instance-Anmeldeinformationen, wenn Sie den Systems-Manager-Run-Command verwenden. Diese Rolle ermöglicht es Systems Manager, Aktionen auf der Instance auszuführen. Weitere Informationen finden Sie unter Konfigurieren von Sicherheitsrollen für Systems Manager im AWS Systems Manager -Benutzerhandbuch. Informationen zum Anhängen einer IAM-Rolle an eine bestehende Instance finden Sie unter Anhängen einer IAM-Rolle an eine Instance im EC2 Amazon-Benutzerhandbuch.

Überprüfen der Voraussetzungen für Systems Manager

Bevor Sie Systems Manager Run Command verwenden, um die Integration mit CloudWatch Logs zu konfigurieren, stellen Sie sicher, dass Ihre Instances die Mindestanforderungen erfüllen. Weitere Informationen finden Sie unter Voraussetzungen für Systems Manager im AWS Systems Manager -Benutzerhandbuch.

Überprüfen des Internetzugangs

Ihre Amazon EC2 Windows Server-Instances und verwalteten Instances müssen über ausgehenden Internetzugang verfügen, um Protokoll- und Ereignisdaten an diese senden zu können CloudWatch. Weitere Informationen dazu, wie Sie den Internetzugang konfigurieren, finden Sie unter Internet-Gateways im Benutzerhandbuch zu Amazon VPC.

Aktivieren von CloudWatch Protokollen mithilfe des Systems Manager Manager-Befehls „Ausführen“

Run Command ermöglicht Ihnen die bedarfsgerechte Verwaltung der Konfiguration Ihrer Instances. Sie geben ein Systems-Manager-Dokument und Parameter an und führen Sie den Befehl auf einer oder mehreren Instances aus. Der SSM-Agent auf der Instance verarbeitet den Befehl und konfiguriert die Instance wie angegeben.

Um die Integration mit CloudWatch Logs mithilfe von Run Command zu konfigurieren
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Öffnen Sie die SSM-Konsole unter https://console.aws.amazon.com/systems-manager/.

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

  4. Wählen Sie die Option Run a command.

  5. Wählen Sie als Befehlsdokument AWS- ausConfigureCloudWatch.

  6. Wählen Sie für Target-Instances die Instances aus, die in CloudWatch Logs integriert werden sollen. Wenn keine Instance in der Liste angezeigt wird, ist möglicherweise für Run Command keine konfiguriert. Weitere Informationen finden Sie unter Voraussetzungen für Systems Manager im EC2 Amazon-Benutzerhandbuch.

  7. Wählen Sie für Status die Option Enabled.

  8. Für Properties kopieren Sie die JSON-Inhalte, die Sie in den vorherigen Schritten erstellt haben, und fügen Sie diese ein.

  9. Füllen Sie die verbleibenden optionalen Felder aus, und wählen Sie Run.

Gehen Sie wie folgt vor, um die Ergebnisse der Befehlsausführung in der EC2 Amazon-Konsole anzuzeigen.

So zeigen Sie die Befehlsausgabe in der Konsole an:
  1. Wählen Sie einen Befehl.

  2. Wählen Sie die Registerkarte Output aus.

  3. Wählen Sie View Output aus. Der Befehlsausgabeseite zeigt die Ergebnisse der Befehlsausführung an.