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.
Amazon Athena Athena-Anschluss CloudWatch
Der Amazon CloudWatch Athena-Connector ermöglicht Amazon Athena die Kommunikation mit, CloudWatch sodass Sie Ihre Protokolldaten mit abfragen können. SQL
Dieser Konnektor verwendet keine Glue-Verbindungen, um die Konfigurationseigenschaften in Glue zu zentralisieren. Die Verbindungskonfiguration erfolgt über Lambda.
Der Konnektor ordnet Ihre LogGroups AS-Schemas und jedes Schema LogStream als Tabelle zu. Der Konnektor ordnet auch eine spezielle all_log_streams
Ansicht zu, die alle LogStreams in der LogGroup enthält. In dieser Ansicht können Sie alle Protokolle LogGroup gleichzeitig abfragen, anstatt sie LogStream einzeln zu durchsuchen.
Voraussetzungen
Stellen Sie den Konnektor für Ihr AWS-Konto mithilfe der Athena-Konsole oder AWS Serverless Application Repository bereit. Weitere Informationen finden Sie unter Erstellen Sie eine Datenquellenverbindung oder Verwenden Sie den AWS Serverless Application Repository , um einen Datenquellenconnector bereitzustellen.
Parameter
Verwenden Sie die Parameter in diesem Abschnitt, um den CloudWatch Konnektor zu konfigurieren.
-
spill_bucket – Gibt den Amazon S3-Bucket für Daten an, die die Lambda-Funktionsgrenzen überschreiten.
-
spill_prefix – (Optional) Ist standardmäßig ein Unterordner im angegebenen
spill_bucket
genanntathena-federation-spill
. Wir empfehlen Ihnen, einen Amazon-S3-Speicher-Lebenszyklus an dieser Stelle zu konfigurieren, um die Überlaufe zu löschen, die älter als eine festgelegte Anzahl von Tagen oder Stunden sind. -
spill_put_request_headers — (Optional) Eine JSON kodierte Zuordnung von Anforderungsheadern und Werten für die Amazon S3
putObject
S3-Anfrage, die zum Verschicken verwendet wird (z. B.).{"x-amz-server-side-encryption" : "AES256"}
Weitere mögliche Header finden Sie PutObjectin der Amazon Simple Storage Service API Reference. -
kms_key_id — (Optional) Standardmäßig werden alle Daten, die auf Amazon S3 übertragen werden, mit dem GCM authentifizierten Verschlüsselungsmodus und einem zufällig AES generierten Schlüssel verschlüsselt. Damit Ihre Lambda-Funktion stärkere Verschlüsselungsschlüssel verwendet, die von KMS like generiert wurden
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331
, können Sie eine KMS Schlüssel-ID angeben. -
disable_spill_encryption – (Optional) Bei Einstellung auf
True
, wird die Spill-Verschlüsselung deaktiviert. Die Standardeinstellung istFalse
so, dass Daten, die auf S3 übertragen werden, mit AES - verschlüsselt werden GCM — entweder mit einem zufällig generierten Schlüssel oder KMS zur Generierung von Schlüsseln. Das Deaktivieren der Überlauf-Verschlüsselung kann die Leistung verbessern, insbesondere wenn Ihr Überlauf-Standort eine serverseitige Verschlüsselung verwendet.
Der Connector unterstützt auch die AIMDÜberlastungskontrolleThrottlingInvoker
Sie können das Standarddrosselungsverhalten optimieren, indem Sie eine der folgenden optionalen Umgebungsvariablen festlegen:
-
throttle_initial_delay_ms – Die erste Aufrufverzögerung, die nach dem ersten Stauereignis angewendet wurde. Der Standardwert beträgt 10 Millisekunden.
-
throttle_max_delay_ms – Die maximale Verzögerung zwischen Aufrufen. Sie können es ableiten, TPS indem Sie es in 1000 ms teilen. Der Standardwert beträgt 1 000 Millisekunden.
-
throttle_decrease_factor – Der Faktor, um den Athena die Aufrufrate reduziert. Der Standardwert ist 0,5.
-
throttle_increase_ms – Die Geschwindigkeit, mit der Athena die Aufrufverzögerung verringert. Der Standardwert beträgt 10 Millisekunden.
Datenbanken und Tabellen
Der CloudWatch Athena-Konnektor ordnet Ihre LogGroups AS-Schemas (d. h. Datenbanken) und jeweils LogStream als Tabelle zu. Der Konnektor ordnet auch eine spezielle all_log_streams
Ansicht zu, die alle LogStreams in der enthält. LogGroup In dieser Ansicht können Sie alle Protokolle LogGroup gleichzeitig abfragen, anstatt sie LogStream einzeln zu durchsuchen.
Jede vom CloudWatch Athena-Konnektor zugeordnete Tabelle hat das folgende Schema. Dieses Schema entspricht den von Logs bereitgestellten CloudWatch Feldern.
-
log_stream — Ein Wert
VARCHAR
, der den Namen der Zeile enthält, aus der LogStream die Zeile stammt. -
Zeit – Ein
INT64
, das die Epochenzeit enthält, zu der die Protokollzeile generiert wurde. -
Botschaft – Ein
VARCHAR
, das die Protokollnachricht enthält.
Beispiele
Das folgende Beispiel zeigt, wie eine SELECT
Abfrage für ein bestimmtes Objekt ausgeführt wird. LogStream
SELECT * FROM "lambda:
cloudwatch_connector_lambda_name
"."log_group_path
"."log_stream_name
" LIMIT 100
Das folgende Beispiel zeigt, wie die all_log_streams
Ansicht verwendet wird, um eine Abfrage für alle LogStreams in einem bestimmten Bereich durchzuführen LogGroup.
SELECT * FROM "lambda:
cloudwatch_connector_lambda_name
"."log_group_path
"."all_log_streams" LIMIT 100
Erforderliche Berechtigungen
Vollständige Informationen zu den IAM Richtlinien, die für diesen Connector erforderlich sind, finden Sie im Policies
Abschnitt der Datei athena-cloudwatch.yaml
-
Amazon-S3-Schreibzugriff – Der Konnektor benötigt Schreibzugriff auf einen Speicherort in Amazon S3, um Ergebnisse aus großen Abfragen zu übertragen.
-
Athena GetQueryExecution — Der Konnektor verwendet diese Berechtigung, um einen Fast-Fail auszuführen, wenn die Upstream-Athena-Abfrage beendet wurde.
-
CloudWatch Lesen/Schreiben von Protokollen — Der Connector verwendet diese Berechtigung, um Ihre Protokolldaten zu lesen und seine Diagnoseprotokolle zu schreiben.
Leistung
Der CloudWatch Athena-Konnektor versucht, Abfragen zu optimieren, CloudWatch indem er Scans der für Ihre Abfrage erforderlichen Protokollstreams parallelisiert. Für bestimmte Zeitraumfilter wird der Prädikat-Pushdown sowohl innerhalb der Lambda-Funktion als auch innerhalb von Logs ausgeführt. CloudWatch
Verwenden Sie für Ihre Protokollgruppennamen und Protokollstreamnamen nur Kleinbuchstaben, um eine optimale Leistung zu erzielen. Bei der Verwendung gemischter Groß- und Kleinschreibung führt der Konnektor eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung durch, die rechenintensiver ist.
Passthrough-Abfragen
Der CloudWatch Connector unterstützt Passthrough-Abfragen, die die CloudWatch Logs Insights-Abfragesyntax verwenden. Weitere Informationen zu CloudWatch Logs Insights finden Sie unter Analysieren von Protokolldaten mit CloudWatch Logs Insights im Amazon CloudWatch Logs-Benutzerhandbuch.
Verwenden Sie die folgende Syntax CloudWatch, um Passthrough-Abfragen mit zu erstellen:
SELECT * FROM TABLE( system.query( STARTTIME => '
start_time
', ENDTIME => 'end_time
', QUERYSTRING => 'query_string
', LOGGROUPNAMES => 'log_group-names
', LIMIT => 'max_number_of_results
' ))
In der folgenden CloudWatch Passthrough-Beispielabfrage wird nach dem duration
Feld gefiltert, wenn es nicht 1000 entspricht.
SELECT * FROM TABLE( system.query( STARTTIME => '1710918615308', ENDTIME => '1710918615972', QUERYSTRING => 'fields @duration | filter @duration != 1000', LOGGROUPNAMES => '/aws/lambda/cloudwatch-test-1', LIMIT => '2' ))
Lizenzinformationen
Das Amazon Athena CloudWatch Connector-Projekt ist unter der Apache-2.0-Lizenz
Weitere Ressourcen
Weitere Informationen zu diesem Connector finden Sie auf der entsprechenden Website unter .com