In diesem Dokument wird beschrieben, wie Sie Ihre Google Kubernetes Engine-Bereitstellung so konfigurieren, dass Sie Google Cloud Managed Service for Prometheus verwenden können, um Messwerte aus den HTTP-Anfragen Ihrer Anwendung zu erfassen. In diesem Dokument wird Folgendes beschrieben:
- Richten Sie Ihre Anwendung so ein, dass HTTP-Messwerte in einem vordefinierten Format exportiert werden.
- Eine PodMonitoring-Ressource für Managed Service for Prometheus konfigurieren, um die exportierten Messwerte zu erfassen.
- Rufen Sie das Anwendungs-Dashboard für Ihr GKE-Deployment auf.
Diese Anleitung gilt nur, wenn Sie die verwaltete Sammlung mit Managed Service for Prometheus verwenden.
Einrichten
Um Messwerte von Ihrem HTTP-Server zu erfassen, die auf dem Anwendungs-Dashboard angezeigt werden können, müssen Sie die folgenden Messwerte wie beschrieben exportieren:
http_requests_total
vom Typcounter
mit den Labelscode
undmethod
.http_request_duration_seconds_bucket
vom Typhistogram
mit dem Labelmethod
.
Ein Beispiel zum Erfassen dieser Messwerte mit dem Prometheus-Go-Client finden Sie unter prometheus-example-app.
So prüfen Sie, ob Ihr HTTP-Server Messwerte an den erwarteten Endpunkten ausgibt:
- Richten Sie mit dem folgenden Befehl die Portweiterleitung ein:
kubectl -n NAMESPACE_NAME port-forward deploy/HTTP_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
- Greifen Sie über den Browser oder das Dienstprogramm
curl
in einer anderen Terminalsitzung auflocalhost:PROMETHEUS_PORT_NUMBER
zu.
PodMonitoring-Ressource definieren
Für die Zielerkennung benötigt der Managed Service for Prometheus-Operator eine PodMonitoring-Ressource, die dem HTTP-Server im selben Namespace entspricht.
Sie können die folgende PodMonitoring-Konfiguration verwenden:
apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: my-prometheus-http-app labels: app.kubernetes.io/name: my-prometheus-http-app app.kubernetes.io/part-of: google-cloud-managed-prometheus spec: endpoints: - port: web scheme: http interval: 30s path: /metrics selector: matchLabels: app.kubernetes.io/name: prometheus-example-app
Achten Sie darauf, dass die Werte der Felder port
und MatchLabels
mit denen der HTTP-Anwendung übereinstimmen, die Sie überwachen möchten.
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.
Anwendungsmesswerte ansehen
So rufen Sie die Anfrage-, Fehlerraten- und Latenzmesswerte Ihrer HTTP-Anwendung auf:
-
Rufen Sie in der Google Cloud Console die Seite Arbeitslasten auf:
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Kubernetes Engine ist.
- Klicken Sie in der Liste der Arbeitslasten auf ein Deployment. Die Spalte Typ in der Liste gibt den Typ der Arbeitslast an.
- Klicken Sie auf der Seite Bereitstellungsdetails auf den Tab Beobachtbarkeit.
- Wählen Sie in der Dashboard-Auswahl Anwendung aus.
Weitere Informationen finden Sie unter Leistungsmesswerte für Anwendungen verwenden.
Fehlerbehebung
Informationen zur Fehlerbehebung bei Problemen mit der Messwertaufnahme in Managed Service for Prometheus finden Sie unter Probleme bei der Erfassung von Exportern in Fehlerbehebung auf Datenaufnahmeseite.