CloudWatch Agent für Amazon EMR 7.0.0 konfigurieren - Amazon EMR

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.

CloudWatch Agent für Amazon EMR 7.0.0 konfigurieren

Sie können den CloudWatch Amazon-Agenten so konfigurieren, dass er zusätzliche Systemmetriken verwendet, die über die standardmäßige CloudWatch Agentenkonfiguration hinausgehen. Die Konfiguration für 7.0.0 erfordert die Verwendung von Bootstrap-Aktionen, für die wir in den folgenden Abschnitten Beispiele bereitgestellt haben. In einer kommenden Version EMR wird Amazon zusätzliche Konfigurationsoptionen über Amazon bereitstellen EMRAPI.

Konfiguration zusätzlicher Systemmetriken mit Amazon EMR 7.0.0

Gehen Sie wie folgt vor, um den Agenten so zu konfigurieren, dass er einen anderen Satz von Systemmetriken in Amazon EMR 7.0.0 verwendet:

  1. Erstellen oder wählen Sie einen Bucket in Ihrem Amazon S3 S3-Konto aus, in dem Sie die Konfigurationsdateien speichern möchten, die die CloudWatch Agenten-Metriken spezifizieren.

  2. Erstellen Sie die emr-amazon-cloudwatch-agent.json-Konfigurationsdatei mit den angegebenen bevorzugten Metriken. Verwenden Sie dazu eine der Methoden, die unter CloudWatch Agenten-Konfigurationsdatei erstellen beschrieben werden. Weitere Informationen zur Struktur der CloudWatch Agenten-Konfigurationsdatei finden Sie unter Manuelles Erstellen oder Bearbeiten der CloudWatch Agenten-Konfigurationsdatei im CloudWatch Amazon-Benutzerhandbuch.

  3. Navigieren Sie als Nächstes zum aws-emr-utilities Starten Sie das Repo GitHub und laden Sie die folgenden Skripte für Systemmetriken herunter:

    • install_system_metrics_launcher.sh – Ein Skript, das heruntergeladen und dann install_system_metrics.sh im Hintergrund ausführt, sodass der Knoten das Bootstrapping beenden kann.

    • install_system_metrics.sh— Ein Skript, das darauf wartet, dass die Instanz, auf der es ausgeführt wird, das Bootstrapping abgeschlossen hat, dann die Konfiguration in der Datei herunterlädt und anwendet. JSON

  4. Öffnen Sie jede SH-Datei und ersetzen Sie amzn-s3-demo-bucket durch den Namen Ihres Buckets aus Schritt 1.

  5. Laden Sie die eine JSON und zwei SH-Dateien in Ihren S3-Bucket hoch.

  6. Jetzt können Sie zur EMR Amazon-Konsole navigieren und mit dem CloudWatch Agenten einen neuen Cluster erstellen. Wählen Sie EC2 in der linken Navigationsleiste unter EMROn die Option Cluster und dann Cluster erstellen aus.

  7. Wählen Sie im Abschnitt Name und Anwendungen eine EMR Amazon-Version von 7.0.0 oder höher aus.

  8. Wählen Sie unter Anwendungspaket das Paket oder die Apps aus, die Sie in Ihrem Cluster installieren möchten, und schließen Sie Amazon CloudWatch Agent in Ihre Auswahl ein.

  9. Wählen Sie im Abschnitt Bootstrap actions (Bootstrap-Aktionen) die Option Add (Hinzufügen) aus.

    • Geben Sie für Name install_system_metrics_launcher.sh ein.

    • Fügen Sie für Script location (Skript-Standort) s3://amzn-s3-demo-bucket/install_system_metrics_launcher.sh ein. Ersetzen Sie amzn-s3-demo-bucket durch den Pfad zu Ihrem S3-Bucket.

    • Lassen Sie den Argument-Block leer.

  10. Wählen Sie Bootstrap-Aktion hinzufügen aus.

  11. Fahren Sie mit der Erstellung des Clusters fort, um Ihren Workload-Anforderungen gerecht zu werden.

Wenn Ihr Cluster gestartet wird, veröffentlicht der CloudWatch Agent die Systemmetriken, die Sie in der Konfigurationsdatei angegeben haben, auf CloudWatch.

Anwendungsmetriken mit Amazon EMR 7.0.0 konfigurieren

Sie können den CloudWatch Amazon-Agenten so konfigurieren, dass er Anwendungsmetriken für HDFS und YARN zusätzlich zu Systemmetriken veröffentlicht. Gehen Sie wie folgt vor, um den Agent für die Veröffentlichung von Anwendungsmetriken zu konfigurieren:

  1. Erstellen oder wählen Sie einen Bucket in Ihrem Amazon S3 S3-Konto aus, in dem Sie die Konfigurationsdateien speichern möchten, die die CloudWatch Agenten-Metriken spezifizieren.

  2. Navigieren Sie als Nächstes zum aws-emr-utilities Starten Sie das Repo GitHub und laden Sie die folgenden Skripte herunter:

    • install_app_metrics_launcher.sh – Ein Skript, das heruntergeladen und dann install_app_metrics.sh im Hintergrund ausführt, sodass der Knoten das Bootstrapping beenden kann.

    • install_app_metrics.sh— Ein Skript, das darauf wartet, dass die Instanz, auf der es ausgeführt wird, das Bootstrapping abgeschlossen hat. Anschließend lädt es die Konfiguration herunter und wendet sie in den YAML Dateien an, die Sie in einem der nächsten Schritte herunterladen werden.

  3. Öffnen Sie jede Datei und ersetzen Sie amzn-s3-demo-bucket durch den Namen Ihres Buckets aus Schritt 1.

  4. Laden Sie als Nächstes die folgenden YAML Zuordnungsdateien herunter. Informationen darüber, wie diese YAML Dateien strukturiert sind, finden Sie javaagentin der OpenTelemetry Instrumentation for Java GitHub Repo.

  5. Laden Sie die zwei SH- und vier YAML Dateien in Ihren S3-Bucket hoch.

  6. Jetzt können Sie zur EMR Amazon-Konsole navigieren und mit dem CloudWatch Agenten einen neuen Cluster erstellen. Wählen Sie EC2 in der linken Navigationsleiste unter EMROn die Option Cluster und dann Cluster erstellen aus.

  7. Wählen Sie im Abschnitt Name und Anwendungen eine EMR Amazon-Version von 7.0.0 oder höher aus.

  8. Wählen Sie unter Anwendungspaket das Paket oder die benutzerdefinierte Gruppe von Apps aus, die Sie in Ihrem Cluster installieren möchten, und schließen Sie CloudWatch Agenten in Ihre Auswahl ein.

  9. Wählen Sie im Abschnitt Bootstrap actions (Bootstrap-Aktionen) die Option Add (Hinzufügen) aus.

    • Geben Sie für Name install_app_metrics_launcher.sh ein.

    • Fügen Sie für Script location (Skript-Standort) s3://amzn-s3-demo-bucket/install_app_metrics_launcher.sh ein. Ersetzen Sie amzn-s3-demo-bucket durch den Pfad zu Ihrem S3-Bucket.

    • Lassen Sie den Argument-Block leer.

  10. Wählen Sie Bootstrap-Aktion hinzufügen aus.

  11. Fahren Sie mit der Erstellung des Clusters fort, um Ihren Workload-Anforderungen gerecht zu werden.

Wenn Ihr Cluster gestartet wird, veröffentlicht der CloudWatch Agent die Anwendungsmetriken, die Sie angegeben haben, zusammen mit den Systemmetriken für CloudWatch.

Amazon Managed Service für Prometheus als Cloud-Speicher für Metriken mit Amazon 7.0.0 konfigurieren EMR

Sie können den CloudWatch Amazon-Agenten so konfigurieren, dass er Metriken stattdessen in Amazon Managed Service for Prometheus veröffentlicht. CloudWatch

Anmerkung

Sie können Metriken vom CloudWatch Amazon-Agenten entweder auf Amazon Managed Service for Prometheus oder auf Amazon veröffentlichen CloudWatch, aber Sie können die Metriken nicht für beide Services für denselben Cluster veröffentlichen.

Um den Agenten so zu konfigurieren, dass er Metriken in Amazon Managed Service for Prometheus veröffentlicht, müssen Sie dem EC2 Amazon-Instance-Profil für Amazon die Berechtigung aps:RemoteWrite AWS Identity and Access Management (IAM) hinzufügen. EMR Die folgende Beispielrichtlinie enthält die erforderliche Berechtigung:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aps:RemoteWrite", "Resource": "*" } ] }
Verwenden Sie den CloudWatch Agenten in einem EMR Cluster, um Metriken in Amazon Managed Service for Prometheus zu veröffentlichen

Sobald die Servicerichtlinie über die richtigen Berechtigungen verfügt, führen Sie die folgenden Schritte aus, um einen Cluster zu starten, der den CloudWatch Agenten verwendet, um Metriken in Amazon Managed Service for Prometheus zu veröffentlichen.

  1. Verwenden Sie das AWS Management Console oder AWS CLI , um einen Amazon Managed Service for Prometheus Workspace zu erstellen. Weitere Informationen finden Sie unter Einen Workspace erstellen im Benutzerhandbuch zu Amazon Managed Service für Prometheus.

  2. Erstellen Sie einen Bucket in Ihrem Amazon-S3-Konto oder wählen Sie einen aus, in dem Sie die Startdateien speichern möchten, die Amazon Managed Service für Prometheus als Cloud-Speicher angeben.

  3. Navigieren Sie als Nächstes zum aws-emr-utilities Starten Sie das Repo GitHub und laden Sie die folgenden Skripte herunter:

    • add_prometheus_endpoint_launcher.sh – Ein Skript, das heruntergeladen und dann add_prometheus_endpoint.sh im Hintergrund ausführt, sodass der Knoten das Bootstrapping beenden kann.

    • add_prometheus_endpoint.sh— Ein Skript, das darauf wartet, dass die Instance, auf der es ausgeführt wird, den Bootstrapping abgeschlossen hat, und dann den CloudWatch Agenten so konfiguriert, dass er auf dem Amazon Managed Service for Prometheus-Endpunkt veröffentlicht, den Sie beim Starten Ihres Clusters als Argument angeben.

  4. Öffnen Sie jede Datei und ersetzen Sie amzn-s3-demo-bucket durch den Namen Ihres Buckets aus Schritt 2.

  5. Verwenden Sie den, um einen Cluster AWS CLI mit der Bootstrap-Aktion zu erstellenEMR. add_prometheus_endpoint_launcher.sh Ersetzen Sie amzn-s3-demo-bucket im folgenden Befehl durch den Bucket, der die Bootstrap-Aktion enthält, und ersetzen Sie managedpro-remote-write-workspace-url durch den Remote-Write-Endpunkt für Ihren Workspace von Amazon Managed Service für Prometheus. Stellen Sie sicher, dass Sie ein EMR Amazon-Release-Label von emr-7.0.0 oder höher angeben.

    aws emr create-cluster --name managedpro-cluster \ --release-label emr-7.0.0 \ --applications Name=Hadoop Name=AmazonCloudWatchAgent \ --ec2-attributes KeyName=myKey --instance-type m7g.2xlarge \ --instance-count 3 --use-default-roles --bootstrap-actions Name='Add Prometheus Endpoint',Path=s3://amzn-s3-demo-bucket/add_prometheus_endpoint_launcher.sh,Args='managedpro-remote-write-workspace-url'

Wenn Ihr Cluster gestartet wird, veröffentlicht der CloudWatch Agent die gesammelten Metriken in Amazon Managed Service for Prometheus.

Amazon Managed Service für Prometheus als eine Datenquelle für Amazon Managed Grafana verwenden

Sobald Amazon die Cluster-Metriken in Amazon Managed Service for Prometheus veröffentlicht EMR hat, können Sie die Metriken mit Amazon Managed Grafana mit den folgenden Schritten visualisieren:

  1. Verwenden Sie den AWS Management Console , um einen Amazon Managed Grafana-Arbeitsbereich und einen Benutzer mit den entsprechenden Berechtigungen zu erstellen. Weitere Informationen finden Sie unter Einen Workspace erstellen im Benutzerhandbuch zu Amazon Managed Grafana.

  2. Fügen Sie Ihren Workspace von Amazon Managed Service für Prometheus als eine Datenquelle zu Amazon Managed Grafana hinzu. Weitere Informationen finden Sie unter AWS -Datenquellenkonfiguration verwenden, um Amazon Managed Service für Prometheus als Datenquelle hinzuzufügen im Benutzerhandbuch zu Amazon Managed Grafana.

Anmerkung

Der CloudWatch Agent verfügt über einen Prometheus-Exporter, der bestimmte Attribute umbenennt. Für die Standardkennzahlen verwendet Amazon Managed Service for Prometheus Unterstriche anstelle der Punkte, die Amazon verwendet. CloudWatch Wenn Sie also Amazon Managed Grafana verwenden, um die Standardmetriken in Amazon Managed Service für Prometheus zu visualisieren, werden die Labels als jobflow_id, instance_id und service_name angezeigt.

Außerdem verwenden alle Anwendungsmetriken, die der CloudWatch Agent auf Amazon Managed Service for Prometheus veröffentlicht, das Label job anstelle von. service_name Systemmetriken verwenden jedoch weiterhin das Label service_name.