Schnellstart: Aktivieren Sie Ihre Amazon EC2 EC2-Instances, auf denen Windows Server 2012 und Windows Server 2008 ausgeführt werden, um Protokolle an Logs zu CloudWatch 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: Aktivieren Sie Ihre Amazon EC2 EC2-Instances, auf denen Windows Server 2012 und Windows Server 2008 ausgeführt werden, um Protokolle an Logs zu CloudWatch senden

Tipp

CloudWatch beinhaltet einen neuen vereinheitlichten Agenten, der sowohl Protokolle als auch Messwerte von EC2-Instances und lokalen Servern sammeln kann. Wir empfehlen, den neueren Unified CloudWatch Agent zu verwenden. Weitere Informationen finden Sie unter Erste Schritte mit CloudWatch Logs.

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

Aktivieren Sie Ihre Amazon EC2 EC2-Instances, auf denen Windows Server 2012 und Windows Server 2008 ausgeführt werden, um Protokolle an Logs zu CloudWatch senden

Gehen Sie wie folgt vor, damit Ihre Instanzen, auf denen Windows Server 2012 und Windows Server 2008 ausgeführt werden, CloudWatch Protokolle an Logs senden können.

Herunterladen der Beispiel-Konfigurationsdatei

Laden Sie die folgende Beispiel-JSON-Datei auf Ihren Computer herunter: AWS.EC2.Windows.CloudWatch.json. Sie werden sie in den folgenden Schritten bearbeiten.

Konfigurieren Sie die JSON-Datei für CloudWatch

Sie bestimmen, an welche Protokolle gesendet CloudWatch werden sollen, indem Sie Ihre Optionen in der JSON-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 Logs 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 für jede ID eine andere Region 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 Protokollgruppen 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). 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 im 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 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).

Sie haben jetzt die Bearbeitung der JSON-Datei abgeschlossen. Sie werden sie in einem späteren Schritt verwenden.

Den Agenten starten

Um einer Amazon EC2 EC2-Instance, auf der Windows Server 2012 oder Windows Server 2008 ausgeführt wird, das Senden von Protokollen an Logs zu CloudWatch ermöglichen, verwenden Sie den Dienst EC2Config (. EC2Config.exe) Wenn Ihre Instance EC2Config-4.0 oder höher aufweist, können Sie diese Anleitung verwenden. Weitere Informationen zur Verwendung einer früheren Version von EC2Config finden Sie unter Verwenden von EC2Config 3.x oder früher zur Konfiguration CloudWatch im Amazon EC2 EC2-Benutzerhandbuch

So konfigurieren Sie mit EC2Config 4.x CloudWatch
  1. Prüfen Sie die Kodierung der Datei AWS.EC2.Windows.CloudWatch.json, die Sie zu einem früheren Zeitpunkt in dieser Anleitung bearbeitet haben. Es wird nur UTF-8 ohne BOM-Kodierung unterstützt. Speichern Sie die Datei in folgendem Verzeichnis auf Windows Server 2008 – 2012 R2-Instance: C:\Program Files\Amazon\SSM\Plugins\awsCloudWatch\.

  2. Starten oder starten Sie den SSM-Agenten (AmazonSSMAgent.exe) über die Systemsteuerung von Windows Services oder mit dem folgenden Befehl neu: PowerShell

    PS C:\> Restart-Service AmazonSSMAgent

Nach dem Neustart erkennt der SSM-Agent die Konfigurationsdatei und konfiguriert die Instanz für die Integration. CloudWatch Wenn Sie die Parameter und Einstellungen in der lokalen Konfigurationsdatei ändern, müssen Sie den SSM-Agent neu starten, damit die Änderungen übernommen werden. Um die CloudWatch Integration auf der Instanz zu deaktivieren, wechseln Sie IsEnabled zur Konfigurationsdatei false und speichern Sie Ihre Änderungen in der Konfigurationsdatei.