Amazon Athena CloudWatch Metrics Konnektor
Der CloudWatch-Metrik-Konnektor von Amazon Athena ermöglicht Amazon Athena, CloudWatch-Metrik-Daten mit SQL abzufragen.
Dieser Konnektor verwendet keine Glue Connections, um die Konfigurationseigenschaften in Glue zu zentralisieren. Die Verbindungskonfiguration erfolgt über Lambda.
Informationen zum Veröffentlichen von Abfragemetriken in CloudWatch von Athena selbst finden Sie unter Verwenden Sie CloudWatch und EventBridge um Abfragen zu überwachen und Kosten zu kontrollieren.
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 Eine Datenquellenverbindung erstellen oder Verwenden Sie AWS Serverless Application Repository, um einen Datenquellen-Konnektor bereitzustellen.
Parameter
Verwenden Sie die Parameter in diesem Abschnitt, um den CloudWatch-Metrics-Konnektor zu konfigurieren.
Wir empfehlen, dass Sie einen CloudWatch-Metrics-Connector mithilfe eines Glue-Connections-Objekts konfigurieren. Setzen Sie dazu die glue_connection Umgebungsvariable des CloudWatch-Metrics-Konnektors Lambda auf den Namen der zu verwendenden Glue-Connection.
Eigenschaften von Glue Connections
Verwenden Sie den folgenden Befehl, um das Schema für ein Glue-Connection-Objekt zu erhalten. Dieses Schema enthält alle Parameter, mit denen Sie Ihre Verbindung steuern können.
aws glue describe-connection-type --connection-type CLOUDWATCHMETRICS
Lambda-Umgebungseigenschaften
-
glue_connection – Gibt den Namen der Glue-Connection an, die dem Verbund-Connector zugeordnet ist.
Anmerkung
-
Alle Konnektoren, die Glue Connections verwenden, müssen AWS Secrets Manager zum Speichern von Anmeldeinformationen verwenden.
-
Der mit Glue-Connection erstellte CloudWatch Metrics-Connector unterstützt die Verwendung eines Multiplexing-Handlers nicht.
-
Der mit Glue-Connection erstellte CloudWatch Metrics-Connector unterstützt nur
ConnectionSchemaVersion2.
-
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_bucketgenanntathena-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-codierte Zuordnung von Anforderungsheadern und Werten für die Amazon-S3-
putObject-Anforderung, die für den Überlauf verwendet wird (z. B.{"x-amz-server-side-encryption" : "AES256"}). Andere mögliche Header finden Sie unter PutObject in der API-Referenz zu Amazon Simple Storage Service. -
kms_key_id – (Optional) Standardmäßig werden alle Daten, die an Amazon S3 gesendet werden, mit dem AES-GCM-authentifizierten Verschlüsselungsmodus und einem zufällig generierten Schlüssel verschlüsselt. Damit Ihre Lambda-Funktion stärkere Verschlüsselungsschlüssel verwendet, die von KMS generiert werden, wie
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331, können Sie eine ID einer Verschlüsselung angeben. -
disable_spill_encryption – (Optional) Bei Einstellung auf
True, wird die Spill-Verschlüsselung deaktiviert. Die Standardeinstellung istFalse, sodass Daten, die an S3 übertrragen werden, mit AES-GCM verschlüsselt werden - entweder mit einem zufällig generierten Schlüssel oder mit KMS zum Generieren von Schlüsseln. Das Deaktivieren der Überlauf-Verschlüsselung kann die Leistung verbessern, insbesondere wenn Ihr Überlauf-Standort eine serverseitige Verschlüsselung verwendet.
Der Konnektor unterstützt auch AIMD-StaukontrolleThrottlingInvoker. 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 TPS ableiten, 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 Athena CloudWatch-Metrics-Konnektor ordnet Ihre Namesbereiche, Dimensionen, Metriken und Metrikwerte in zwei Tabellen in einem einzigen Schema zu, das default genannt wird.
Die Metriktabelle
Diemetrics-Tabelle enthält die verfügbaren Metriken, die durch eine Kombination aus Namensbereichen, Set und Name eindeutig definiert sind. Die metrics-Tabelle enthält die folgenden Spalten.
-
Namensbereich – Ein
VARCHAR, der den Namensbereich enthält. -
metric_name – Ein
VARCHAR, der den Metriknamen enthält. -
dimensions – Ein
LISTvonSTRUCT-Objekten bestehend ausdim_name (VARCHAR)unddim_value (VARCHAR). -
statistic – Ein
LISTvonVARCH-Statistiken (zum Beispielp90,AVERAGE,...) verfügbar für die Metrik.
Die Tabelle metric_samples
Die metric_samples-Tabelle enthält die verfügbaren metrischen Stichproben für jede Metrik in der metrics-Tabelle. Die metric_samples-Tabelle enthält die folgenden Spalten.
-
Namensraum – Ein
VARCHAR, der den Namensbereich enthält. -
metric_name – Ein
VARCHAR, der den Metriknamen enthält. -
dimensions – Ein
LISTvonSTRUCT-Objekten bestehend ausdim_name (VARCHAR)unddim_value (VARCHAR). -
dim_name – Ein
VARCHAR-Komfortfeld, das Sie verwenden können, um einfach nach einem einzelnen Dimensionsnamen zu filtern. -
dim_value – Ein
VARCHAR-Komfortfeld, das Sie verwenden können, um einfach nach einem einzelnen Dimensionswert zu filtern. -
period – Ein
INT-Feld, das die „Periode“ der Metrik in Sekunden darstellt (z. B. eine 60-Sekunden-Metrik). -
timestamp – Ein
BIGINT-Feld, das die Zeit in Sekunden darstellt, für die die metrische Stichprobe gilt. -
value – Ein
FLOAT8-Feld, das den Wert der Stichprobe enthält. -
Statistik – Ein
VARCHAR, der den Statistiktyp der Stichprobe enthält (z. B.AVERAGEoderp90).
Erforderliche Berechtigungen
Ausführliche Informationen zu den für diesen Konnektor erforderlichen IAM-Richtlinien finden Sie im Policies-Abschnitt der athena-cloudwatch-metrics.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 ein Fast-Fail durchzuführen, wenn die vorgeschaltete Athena-Abfrage beendet wurde.
-
CloudWatch Metrics ReadOnly – Der Konnektor verwendet diese Berechtigung, um Ihre Metrikdaten abzufragen.
-
CloudWatch Logs Schreibrechte – Der Konnektor verwendet diesen Zugriff, um seine Diagnoseprotokolle zu schreiben.
Leistung
Der Athena CloudWatch-Metrics-Konnektor versucht, Abfragen anhand von CloudWatch-Metriken zu optimieren, indem Scans der für Ihre Abfrage erforderlichen Protokollstreams parallelisiert werden. Für bestimmte Zeiträume, Metrik-, Namensbereich- und Dimensionsfilter wird der Prädikat-Pushdown sowohl innerhalb der Lambda-Funktion als auch in CloudWatch Logs ausgeführt.
Lizenzinformationen
Das Amazon Athena CloudWatch Metrics Konnektor-Projekt ist lizenziert unter der Apache-2.0-Lizenz
Weitere Ressourcen
Weitere Informationen zu diesem Konnektor finden Sie unter der entsprechenden Seite