Amazon Athena CloudWatch Metrics Konnektor - Amazon Athena

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

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 ConnectionSchemaVersion 2.

  • 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 genannt athena-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, wiea7e63k4b-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 ist False, 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-Staukontrolle für den Umgang mit Drosselungsereignissen von CloudWatch über das Konstrukt Amazon Athena Query Federation SDK ThrottlingInvoker. 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 LIST von STRUCT-Objekten bestehend aus dim_name (VARCHAR) und dim_value (VARCHAR).

  • statistic – Ein LIST von VARCH-Statistiken (zum Beispiel p90, 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 LIST von STRUCT-Objekten bestehend aus dim_name (VARCHAR) und dim_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. AVERAGE oder p90).

Erforderliche Berechtigungen

Ausführliche Informationen zu den für diesen Konnektor erforderlichen IAM-Richtlinien finden Sie im Policies-Abschnitt der athena-cloudwatch-metrics.yaml-Datei. In der folgenden Liste sind die erforderlichen Berechtigungen zusammengefasst.

  • 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 auf GitHub.com.