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 EC2 Amazon-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 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.
Aktivieren Sie Ihre EC2 Amazon-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
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.
Schritte
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 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). 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 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
).
Sie haben jetzt die Bearbeitung der JSON-Datei abgeschlossen. Sie werden sie in einem späteren Schritt verwenden.
Den Agenten starten
Um einer EC2 Amazon-Instance, auf der Windows Server 2012 oder Windows Server 2008 ausgeführt wird, das Senden von Protokollen an CloudWatch Logs zu ermöglichen, verwenden Sie den EC2 Config-Service (EC2Config.exe)
. Ihre Instanz sollte EC2 Config 4.0 oder höher haben, und Sie können dieses Verfahren verwenden.
So konfigurieren Sie CloudWatch mit EC2 Config 4.x
-
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\
. -
Starten oder starten Sie den SSM-Agenten (
AmazonSSMAgent.exe
) über die Systemsteuerung von Windows Services oder mit dem folgenden PowerShell Befehl neu: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.