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.
Schritte
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.
Schritte
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
-
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}" } },
-
Lassen Sie die Felder
AccessKey
undSecretKey
leer. Sie können Anmeldeinformationen mithilfe einer IAM-Rolle konfigurieren. -
Geben Sie für
Region
die Region ein, an die Sie die Protokolldaten senden möchten (z. B.us-east-2
). -
Geben Sie in das Feld
LogGroup
den Namen Ihrer Protokollgruppe ein. Dieser Name wird auf dem Bildschirm Log Groups in der CloudWatch-Konsole angezeigt. -
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
-
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" } },
-
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 von7
lädt Fehlermeldungen (1
), Warnmeldungen (2
) und Informationsmeldungen (4
) hoch. -
Um Sicherheitsprotokolldaten an CloudWatch Logs zu senden
-
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" } },
-
Geben Sie für
Levels
7
ein, um alle Meldungen hochzuladen.
Um Daten aus dem Systemereignisprotokoll an CloudWatch Logs zu senden
-
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" } },
-
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 von7
lädt Fehlermeldungen (1
), Warnmeldungen (2
) und Informationsmeldungen (4
) hoch. -
Um andere Arten von Ereignisprotokolldaten an CloudWatch Logs zu senden
-
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" } }, -
Geben Sie für
Id
einen Namen für das hochzuladende Protokoll ein (z. B.WindowsBackup
). -
Geben Sie für
LogName
den Namen des hochzuladenden Protokolls ein. Sie können den Namen des Protokolls wie folgt suchen.-
Öffnen Sie die Ereignisanzeige.
-
Wählen Sie im Navigationsbereich Applications and Services Logs aus.
-
Navigieren Sie zum Protokoll, und wählen Sie dann Actions und Properties aus.
-
-
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 von7
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.
-
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" } },
-
Geben Sie für
LogName
den Namen des hochzuladenden Protokolls ein. -
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 von7
lädt Fehlermeldungen (1
), Warnmeldungen (2
) und Informationsmeldungen (4
) hoch. -
Um benutzerdefinierte Protokolle (jede textbasierte Protokolldatei) an Logs zu senden CloudWatch
-
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" } },
-
Geben Sie für
LogDirectoryPath
den Pfad ein, auf dem die Protokolle auf Ihrer Instance gespeichert werden sollen. -
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-Zeichenfolgenauf MSDN. Wichtig
Die Quell-Protokolldatei muss zu Beginn jeder Protokollzeile einen Zeitstempel haben, und nach dem Zeitstempel muss eine Leerstelle folgen.
-
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 Classauf MSDN. Anmerkung
Verwenden Sie den Kodierungsnamen, nicht den Anzeigenamen.
-
(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 Eigenschaftenauf MSDN. -
(Optional) Geben Sie für
CultureName
das Gebietsschema ein, unter dem Zeitstempel protokolliert wird. WennCultureName
leer ist, wird standardmäßig dasselbe Gebietsschema verwendet, das von der Windows-Instance verwendet wird. Weitere Informationen finden Sie in der SpalteLanguage tag
in der Tabelle im Thema Produktverhaltenin MSDN. Anmerkung
Die Werte
div
,div-MV
,hu
undhu-HU
werden nicht unterstützt. -
(Optional) Geben Sie für
TimeZoneKind
Local
oderUTC
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. -
(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önnen5
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
-
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" } },
-
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\W3SVC
).n
Anmerkung
Es wird nur das W3C-Protokollformat unterstützt. IIS, NCSA und benutzerdefinierte Formate werden nicht unterstützt.
-
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-Zeichenfolgenauf MSDN. -
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 Classauf MSDN. Anmerkung
Verwenden Sie den Kodierungsnamen, nicht den Anzeigenamen.
-
(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 Eigenschaftenauf MSDN. -
(Optional) Geben Sie für
CultureName
das Gebietsschema ein, unter dem Zeitstempel protokolliert wird. WennCultureName
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 SpalteLanguage tag
in der Tabelle im Thema Produktverhaltenin MSDN. Anmerkung
Die Werte
div
,div-MV
,hu
undhu-HU
werden nicht unterstützt. -
(Optional) Geben Sie für
TimeZoneKind
Local
oderUTC
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. -
(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önnen5
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:
-
Suchen Sie in der Datei
AWS.EC2.Windows.CloudWatch.json
den AbschnittFlows
."Flows": { "Flows": [ "PerformanceCounter,CloudWatch", "(PerformanceCounter,PerformanceCounter2), CloudWatch2", "(CustomLogs, ETW, SystemEventLog),CloudWatchLogs", "CustomLogs, CloudWatchLogs2", "ApplicationEventLog,(CloudWatchLogs, CloudWatchLogs2)" ] }
-
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
-
Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/
. Öffnen Sie die SSM-Konsole unter https://console.aws.amazon.com/systems-manager/
. -
Wählen Sie im Navigationsbereich Run Command aus.
-
Wählen Sie die Option Run a command.
-
Wählen Sie als Befehlsdokument AWS- ausConfigureCloudWatch.
-
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.
-
Wählen Sie für Status die Option Enabled.
-
Für Properties kopieren Sie die JSON-Inhalte, die Sie in den vorherigen Schritten erstellt haben, und fügen Sie diese ein.
-
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:
-
Wählen Sie einen Befehl.
-
Wählen Sie die Registerkarte Output aus.
-
Wählen Sie View Output aus. Der Befehlsausgabeseite zeigt die Ergebnisse der Befehlsausführung an.