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.
Eine geplante Abfrage erstellen
Erstellen Sie eine geplante Abfrage, die automatisch CloudWatch Logs Insights-Abfragen ausführt und Ergebnisse an die von Ihnen ausgewählten Ziele liefert.
Voraussetzungen
Bevor Sie eine geplante Abfrage erstellen, stellen Sie sicher, dass Sie über Folgendes verfügen:
-
Protokollgruppen — Eine oder mehrere Protokollgruppen, die die Daten enthalten, die Sie analysieren möchten
-
Ausführungs-IAM-Rolle — Eine IAM-Rolle mit den folgenden Berechtigungen:
-
logs:StartQuery— Berechtigung zum Starten von CloudWatch Logs Insights-Abfragen
-
logs:GetQueryResults- Erlaubnis zum Abrufen von Abfrageergebnissen
-
logs:DescribeLogGroups- Berechtigung zum Zugriff auf Protokollgruppeninformationen. Dies ist nur für präfixbasierte Protokollgruppen zur Erkennung von Protokollgruppen erforderlich
-
Zielberechtigungen — Zusätzliche IAM-Berechtigungen für das von Ihnen gewählte Ziel:
-
Für AWS CLI und API-Nutzung — Konfigurierte AWS Anmeldeinformationen mit Berechtigungen zum Aufrufen von CloudWatch Logs APIs
Ausführliche Beispiele für IAM-Richtlinien finden Sie unterIdentitäts- und Zugriffsmanagement für Amazon CloudWatch Logs. Beachten Sie außerdem, dass Sie pro Konto nur 1000 geplante Abfragen haben können.
- Console
-
Um eine geplante Abfrage zu erstellen (Konsole)
-
Die CloudWatch Logs-Konsole zu https://us-east-1.console.aws.amazon.com/cloudwatch/Hause öffnen? region=us-east-1 #logsV2: Logs-Einblicke.
-
Wählen Sie im Navigationsbereich Logs Insights aus.
-
Wählen Sie Geplante Abfrage erstellen aus.
-
Gehen Sie im Abschnitt Abfragedefinition wie folgt vor:
-
Wählen Sie unter Abfragesprache die zu verwendende Abfragesprache aus der Liste aus.
-
Geben Sie als Abfragezeichenfolge Ihre CloudWatch Logs Insights-Abfrage in das Feld ein.
-
Wählen Sie für Protokollgruppen die abzufragenden Protokollgruppen aus der Liste aus.
-
Gehen Sie im Abschnitt Einrichtung des Zeitplans wie folgt vor:
-
Konfigurieren Sie für den Ausdruck Schedule, wann die Abfrage ausgeführt wird. Wählen Sie aus vordefinierten Optionen oder geben Sie einen benutzerdefinierten Cron-Ausdruck ein.
-
Geben Sie unter Gültig bei der Erstellung an, wann der Zeitplan aktiv wird. Wählen Sie mithilfe des YYYY/MM/DD Formats, ob der Start sofort oder an einem bestimmten Datum und zu einer bestimmten Uhrzeit erfolgen soll.
-
Geben Sie unter Zeitraum den Lookback-Zeitraum für jede Abfrageausführung an. Geben Sie die Dauer in Minuten ein, die definiert, wie weit die Abfrage von der Ausführungszeit zurückliegt.
-
Geben Sie für Auf unbestimmte Zeit fortsetzen an, wann der Zeitplan endet. Wählen Sie mithilfe des Formats, ob die Ausführung auf unbestimmte Zeit oder bis zu einem bestimmten Datum und einer bestimmten Uhrzeit erfolgen YYYY/MM/DD soll.
-
In der Konsole werden die nächsten drei geplanten Abfrageläufe basierend auf Ihrer Konfiguration angezeigt. Dabei werden die genauen Datums- und Uhrzeitangaben in UTC angezeigt, zu denen die Abfrage ausgeführt wird.
-
Im Abschnitt Abfrageergebnisse an S3 senden — optional (wenn Sie das S3-Ziel verwenden):
-
Wählen Sie für S3-Bucket Dieses Konto aus, wenn sich der Ziel-Bucket in demselben AWS Konto befindet, oder wählen Sie Anderes Konto aus, wenn sich der Bucket in einem anderen AWS Konto befindet, und geben Sie die Konto-ID des Kontos, das den Bucket besitzt, als Eingabe ein.
-
Geben Sie für Amazon S3 S3-URI den Amazon S3 S3-Bucket und das Präfix ein, in dem die Ergebnisse gespeichert werden (z. B.s3://my-bucket/query-results/). Wenn Sie Dieses Konto ausgewählt haben, können Sie Amazon S3 durchsuchen wählen, um zu einem vorhandenen Amazon S3 S3-Standort zu navigieren und diesen auszuwählen.
-
(Optional) Geben Sie für den KMS-Schlüssel-ARN den ARN eines vom Kunden verwalteten AWS KMS Schlüssels ein, um die Abfrageergebnisse mit SSE-KMS zu verschlüsseln. Der Schlüssel muss sich in derselben AWS Region wie der Amazon S3-Ziel-Bucket befinden.
-
Wählen Sie im Abschnitt IAM-Rolle für die Veröffentlichung von Abfrageergebnissen in Amazon S3 eine der folgenden Optionen aus:
-
Wählen Sie Neue Rolle mit Standardberechtigungen automatisch erstellen, um automatisch eine IAM-Rolle mit den erforderlichen Berechtigungen einzurichten, damit CloudWatch Logs Abfrageergebnisse an Amazon S3 liefern kann.
-
Wählen Sie Bestehende Rolle verwenden, um eine bestehende IAM-Rolle mit den erforderlichen Richtlinien für CloudWatch Logs auszuwählen, um Abfrageergebnisse an Amazon S3 zu liefern. Verwenden Sie das Suchfeld, um die entsprechende IAM-Rolle aus der Liste zu finden und auszuwählen.
-
Wählen Sie im Abschnitt IAM-Rolle für die geplante Abfrageausführung eine der folgenden Optionen aus:
-
Wählen Sie Neue Rolle mit Standardberechtigungen automatisch erstellen, um automatisch eine IAM-Rolle mit den für CloudWatch Logs erforderlichen Berechtigungen einzurichten, um geplante Abfragen auszuführen.
-
Wählen Sie „Bestehende Rolle verwenden“, um eine bestehende IAM-Rolle mit den erforderlichen Richtlinien für CloudWatch Logs auszuwählen, um geplante Abfragen auszuführen. Verwenden Sie das Suchfeld, um die entsprechende IAM-Rolle aus der Liste zu finden und auszuwählen.
-
Wählen Sie Zeitplan erstellen, um die geplante Abfrage zu erstellen.
- AWS CLI
-
Um eine geplante Abfrage zu erstellen (AWS CLI)
-
Verwenden Sie den create-scheduled-query Befehl, um eine neue geplante Abfrage zu erstellen:
aws logs create-scheduled-query \
--name "ErrorAnalysisQuery" \
--query-language "CWLI" \
--query-string "fields @timestamp, @message | filter @message like /ERROR/ | stats count() by bin(5m)" \
--schedule-expression "cron(8 * * * ? *)" \
--execution-role-arn "arn:aws:iam::123456789012:role/CloudWatchLogsScheduledQueryRole" \
--log-group-identifiers "/aws/lambda/my-function" "/aws/apigateway/my-api" \
--state "ENABLED"
- API
-
Um eine geplante Abfrage (API) zu erstellen
-
Verwenden Sie die CreateScheduledQuery Aktion, um eine neue geplante Abfrage zu erstellen. Im folgenden Beispiel wird eine geplante Abfrage erstellt, die jede Stunde ausgeführt wird:
{
"name": "ErrorAnalysisQuery",
"queryLanguage": "CWLI",
"queryString": "fields @timestamp, @message | filter @message like /ERROR/ | stats count() by bin(5m)",
"scheduleExpression": "cron(8 * * * ? *)",
"executionRoleArn": "arn:aws:iam::123456789012:role/CloudWatchLogsScheduledQueryRole",
"logGroupIdentifiers": ["/aws/lambda/my-function", "/aws/apigateway/my-api"],
"state": "ENABLED"
}
Nachdem Sie die geplante Abfrage erstellt haben, können Sie sie auf der Seite Geplante Abfragen und mithilfe der ListScheduledQueries API anzeigen und verwalten. Dort werden alle Ihre geplanten Abfragen mit ihren Namen, Erstellungsdaten, dem Status der letzten Ausführung, der Uhrzeit der letzten Auslösung und der Wiederholungshäufigkeit angezeigt.