In diesem Dokument wird beschrieben, wie Sie Ihre Google Kubernetes Engine-Bereitstellung so konfigurieren, dass Sie mit Google Cloud Managed Service for Prometheus Messwerte aus den von Ihrer Anwendung gesendeten HTTP-Anfragen erfassen können. 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 Dashboard „Anwendung“ für Ihre GKE-Bereitstellung auf.
Diese Anleitung gilt nur, wenn Sie die verwaltete Sammlung mit Managed Service for Prometheus verwenden.
Einrichten
Wenn Sie Messwerte von Ihrem HTTP-Server erfassen möchten, die im Dashboard Anwendung 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, in dem diese Messwerte mit dem Prometheus Go-Client erfasst werden, 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 den Werten der HTTP-Anwendung übereinstimmen, die Sie beobachten 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 Messwerte zu Anfragen, Fehlerraten und Latenz 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 lautet.
- Klicken Sie in der Liste der Arbeitslasten auf ein Deployment. In der Spalte Typ in der Liste wird der Typ der Arbeitslast angegeben.
- Klicken Sie auf der Seite Bereitstellungsdetails auf den Tab Beobachtbarkeit.
- Wählen Sie in der Dashboard-Auswahl Anwendung aus.
Weitere Informationen finden Sie unter Messwerte zur Anwendungsleistung 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.