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 von den gRPC-Anfragen zu erfassen, die von Ihrer Anwendung gesendet werden. In diesem Dokument wird Folgendes beschrieben:
- gRPC Prometheus-Middleware für Go und Java einrichten
- 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.
Weitere Informationen zu gRPC finden Sie unter grpc.io.
Einrichten
Wenn Sie Messwerte von Ihrem gRPC-Server erfassen möchten, müssen Sie die entsprechende gRPC-Middleware konfigurieren.
- Wenn Sie Go verwenden, lesen Sie den Artikel go-grpc-middleware.
- Wenn Sie Java verwenden, lesen Sie den Hilfeartikel java-grpc-prometheus.
So prüfen Sie, ob Ihr gRPC-Server Messwerte an den erwarteten Endpunkten ausgibt:
- Richten Sie mit dem folgenden Befehl die Portweiterleitung ein:
kubectl -n NAMESPACE_NAME port-forward deploy/GRPC_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 gRPC-Server im selben Namespace entspricht.
Sie können die folgende PodMonitoring-Konfiguration verwenden:
apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: my-prometheus-grpc-app labels: app.kubernetes.io/name: my-prometheus-grpc-app app.kubernetes.io/part-of: google-cloud-managed-prometheus spec: endpoints: - port: prometheus scheme: http interval: 30s path: /metrics selector: matchLabels: app.kubernetes.io/name: my-prometheus-grpc-app
Achten Sie darauf, dass die Werte der Felder port
und MatchLabels
mit den Werten der gRPC-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 für Anfragen, Fehlerrate und Latenz Ihrer gRPC-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.