In diesem Dokument wird gezeigt, wie Sie Ihr Google Kubernetes Engine-Deployment so konfigurieren, dass Sie mit Google Cloud Managed Service for Prometheus Messwerte vom Flink-Exporter erfassen können. Dieses Dokument enthält Anleitungen für folgende Aufgaben:
- Richten Sie den Flink-Exporter ein, um Messwerte zu erfassen.
- Eine PodMonitoring-Ressource für Managed Service for Prometheus konfigurieren, um die exportierten Messwerte zu erfassen.
- Auf ein Dashboard in Cloud Monitoring zugreifen, um die Messwerte zu prüfen.
- Benachrichtigungsregeln konfigurieren, um die Messwerte zu beobachten.
Diese Anleitung gilt nur, wenn Sie die verwaltete Sammlung mit Managed Service for Prometheus verwenden. Wenn Sie eine selbst bereitgestellte Sammlung verwenden, finden Sie Informationen zur Installation in der Flink-Dokumentation.
Diese Anleitung dient als Beispiel und sollte in den meisten Kubernetes-Umgebungen funktionieren. Wenn Sie aufgrund von restriktiven Sicherheits- oder Organisationsrichtlinien Probleme beim Installieren einer Anwendung oder eines Exporters haben, empfehlen wir Ihnen, die Open Source-Dokumentation für Support zu nutzen.
Informationen zu Flink finden Sie unter Apache Flink.
Vorbereitung
Zum Erfassen von Messwerten vom Flink-Exporter mit Managed Service for Prometheus und der verwalteten Sammlung muss Ihr Deployment die folgenden Anforderungen erfüllen:
- Ihr Cluster muss Google Kubernetes Engine Version 1.21.4-gke.300 oder höher ausführen.
- Sie müssen Managed Service for Prometheus mit aktivierter verwalteter Sammlung ausführen. Weitere Informationen finden Sie unter Erste Schritte mit verwalteter Sammlung.
- Zur Verwendung von Dashboards in Cloud Monitoring für die Flink-Integration benötigen Sie die
flink
-Version 1.17 oder höher.Weitere Informationen zu verfügbaren Dashboards finden Sie unter Dashboards ansehen.
metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
konfiguriert wird.
Wenn Sie Flink mit den offiziellen Ersten Manifesten bereitgestellt haben, fügen Sie der ConfigMap diese neue Option hinzu:
apiVersion: v1 kind: ConfigMap metadata: name: flink-config labels: app: flink data: flink-conf.yaml: |+ ... + metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
Wenn Sie Flink mit dem offiziellen Operator bereitgestellt haben, fügen Sie diese neue Option zum Feld spec.flinkConfiguration
des FlinkDeployment hinzu:
apiVersion: flink.apache.org/v1beta1 kind: FlinkDeployment metadata: name: basic-example spec: image: flink:1.17 flinkVersion: v1_17 flinkConfiguration: taskmanager.numberOfTaskSlots: "2" + metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
Alternativ können Sie den Prometheus-Reporter als Standardoption in der Flink-Operatorkonfiguration angeben.
So prüfen Sie, ob der Airflow-Exporter Messwerte an den erwarteten Endpunkten ausgibt:
Richten Sie mit dem folgenden Befehl die Portweiterleitung ein:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 9249
Greifen Sie über den Browser oder das Dienstprogramm
curl
in einer anderen Terminalsitzung auf den Endpunktlocalhost:9249/metrics
zu.
PodMonitoring-Ressource definieren
Für die Zielerkennung benötigt der Managed Service for Prometheus-Operator eine PodMonitoring-Ressource, die dem Zookeeper-Exporter im selben Namespace entspricht.
Sie können die folgende PodMonitoring-Konfiguration verwenden:
Achten Sie darauf, dass die Werte der Felderport
und matchLabels
mit den Airflow-Pods übereinstimmen, die Sie beobachten möchten.
Flink stellt Messwerte standardmäßig auf Port 9249 bereit, wenn Messwerte aktiviert sind.
Führen Sie den folgenden Befehl aus, um Konfigurationsänderungen aus einer lokalen Datei anzuwenden:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Sie können Ihre Konfigurationen auch mit Terraform verwalten.
Regeln und Benachrichtigungen definieren
Sie können die folgende Rules
-Konfiguration verwenden, um Benachrichtigungen für Flink-Messwerte zu definieren:
Führen Sie den folgenden Befehl aus, um Konfigurationsänderungen aus einer lokalen Datei anzuwenden:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Sie können Ihre Konfigurationen auch mit Terraform verwalten.
Weitere Informationen zum Anwenden von Regeln auf Ihren Cluster finden Sie unter Verwaltete Regelauswertung und Benachrichtigungen.
Sie können die Schwellenwerte für Benachrichtigungen an Ihre Anwendung anpassen.Konfiguration prüfen
Mit dem Metrics Explorer können Sie prüfen, ob der Flink-Exporter richtig konfiguriert ist. Es kann ein oder zwei Minuten dauern, bis Cloud Monitoring Ihre Messwerte aufgenommen hat.
So prüfen Sie, ob die Messwerte aufgenommen wurden:
-
Rufen Sie in der Google Cloud Console die Seite leaderboard Metrics Explorer auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie in der Symbolleiste des Bereichs "Query Builder" auf die Schaltfläche code MQL oder code PromQL.
- Prüfen Sie, ob PromQL in der Ein-/Aus-Schaltfläche PromQL ausgewählt ist. Die Sprachschaltfläche befindet sich in derselben Symbolleiste, mit der Sie Ihre Abfrage formatieren können.
- Geben Sie die folgende Abfrage ein und führen Sie sie aus:
up{job="flink", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
Dashboards ansehen
Die Cloud Monitoring-Einbindung enthält "Prometheus"-Dashboards. Dashboards werden automatisch mitkonfiguriert, wenn Sie die Integration konfigurieren. Sie können auch eine statische Vorschau von Dashboards aufrufen, ohne die Integration zu installieren.
So rufen Sie ein installiertes Dashboard auf:
-
Rufen Sie in der Google Cloud Console die Seite Dashboards auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Wählen Sie den Tab Dashboard-Liste aus.
- Wählen Sie die Kategorie Integrationen aus.
- Wählen Sie den Namen des Dashboards aus, das Sie aufrufen möchten.
So rufen Sie eine statische Vorschau des Dashboards auf:
-
Öffnen Sie in der Google Cloud Console die Seite Einbindungen:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie auf den Filter für die Deployment-Plattform Kubernetes Engine.
- Suchen Sie die Apache Flink-Integration und klicken Sie auf Details ansehen.
- Wählen Sie den Tab Dashboards aus.
Fehlerbehebung
Informationen zur Fehlerbehebung bei Problemen mit der Messwertaufnahme finden Sie unter Probleme mit der Erfassung über Exporter unter Fehlerbehebung bei Problemen mit der Aufnahme.