Ce document explique comment configurer votre déploiement Google Kubernetes Engine en vue d'utiliser Google Cloud Managed Service pour Prometheus afin de collecter des métriques à partir des requêtes gRPC diffusées par votre application. Cette page explique comment effectuer les opérations suivantes :
- Configurez le middleware gRPC Prometheus pour Go et Java.
- Configurer une ressource PodMonitoring pour Managed Service pour Prometheus afin de collecter les métriques exportées.
- Afficher le tableau de bord Application pour votre déploiement GKE.
Ces instructions ne s'appliquent que si vous utilisez une collecte gérée avec Managed Service pour Prometheus.
Pour en savoir plus sur gRPC, consultez la page grpc.io.
Configurer
Pour collecter des métriques à partir de votre serveur gRPC, vous devez configurer le middleware gRPC approprié.
- Si vous utilisez Go, consultez la page go-grpc-middleware.
- Si vous utilisez Java, consultez la page java-grpc-prometheus.
Pour vérifier que votre serveur gRPC émet des métriques sur les points de terminaison attendus, procédez comme suit :
- Configurez le transfert de port à l'aide de la commande suivante :
kubectl -n NAMESPACE_NAME port-forward deploy/GRPC_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
- Accédez à
localhost:PROMETHEUS_PORT_NUMBER
à l'aide du navigateur ou de l'utilitairecurl
dans une autre session de terminal.
Définir une ressource PodMonitoring
Pour la découverte des cibles, l'opérateur Managed Service pour Prometheus doit disposer d'une ressource PodMonitoring correspondant au serveur gRPC dans le même espace de noms.
Vous pouvez utiliser la configuration PodMonitoring suivante :
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
Assurez-vous que les valeurs des champs port
et MatchLabels
correspondent à celles de l'application gRPC que vous souhaitez surveiller.
Pour appliquer les modifications de configuration à partir d'un fichier local, exécutez la commande suivante :
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Vous pouvez également utiliser Terraform pour gérer vos configurations.
Afficher les métriques d'application
Pour afficher les métriques de requête, de taux d'erreur et de latence depuis votre application gRPC, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Charges de travail.
Accéder à la page Charges de travail
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Kubernetes Engine.
- Cliquez sur un déploiement dans la liste des charges de travail. La colonne Type de la liste indique le type de charge de travail.
- Sur la page Informations sur le déploiement, cliquez sur l'onglet Observabilité.
- Sélectionnez Application dans le sélecteur de tableau de bord.
Pour en savoir plus, consultez la page Utiliser les métriques de performances des applications.
Dépannage
Pour en savoir plus sur la résolution des problèmes d'ingestion de métriques dans Managed Service pour Prometheus, consultez la section Problèmes liés à la collecte par les exportateurs dans la section Résoudre les problèmes côté ingestion.