Questo documento descrive come configurare il deployment di Google Kubernetes Engine in modo da poter utilizzare Google Cloud Managed Service per Prometheus per raccogliere le metriche dalle richieste gRPC gestite dalla tua applicazione. In questo documento viene descritto come:
- Configura il middleware gRPC Prometheus per Go e Java.
- Configura una risorsa PodMonitoring per Managed Service per Prometheus per raccogliere le metriche esportate.
- Visualizza la dashboard Applicazione per il tuo deployment GKE.
Queste istruzioni si applicano solo se utilizzi la raccolta gestita con Managed Service per Prometheus.
Per ulteriori informazioni su gRPC, consulta grpc.io.
Configura
Per raccogliere metriche dal server gRPC, devi configurare il middleware gRPC appropriato.
- Se usi Go, vedi go-grpc-middleware.
- Se utilizzi Java, vedi java-grpc-prometheus.
Per verificare che il server gRPC emetta metriche sugli endpoint previsti, procedi nel seguente modo:
- Configura il port forwarding utilizzando il seguente comando:
kubectl -n NAMESPACE_NAME port-forward deploy/GRPC_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
- Accedi a
localhost:PROMETHEUS_PORT_NUMBER
utilizzando il browser o l'utilitàcurl
in un'altra sessione del terminale.
Definisci una risorsa PodMonitoring
Per il rilevamento della destinazione, l'operatore Managed Service per Prometheus richiede una risorsa PodMonitoring che corrisponda al server gRPC nello stesso spazio dei nomi.
Puoi utilizzare la seguente configurazione di PodMonitoring:
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
Assicurati che i valori dei campi port
e MatchLabels
corrispondano a quelli dell'applicazione gRPC che vuoi monitorare.
Per applicare le modifiche alla configurazione da un file locale, esegui questo comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Puoi anche utilizzare Terraform per gestire le configurazioni.
Visualizza metriche dell'applicazione
Per visualizzare le metriche relative a richieste, frequenza di errore e latenza dell'applicazione gRPC, segui questi passaggi:
-
Nella console Google Cloud, vai alla pagina Carichi di lavoro:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Kubernetes Engine.
- Fai clic su un deployment nell'elenco dei carichi di lavoro. La colonna Tipo nell'elenco indica il tipo di carico di lavoro.
- Nella pagina Dettagli deployment, fai clic sulla scheda Osservabilità.
- Seleziona Applicazione nel selettore della dashboard.
Per ulteriori informazioni, vedi Utilizzare le metriche delle prestazioni delle applicazioni.
Risoluzione dei problemi
Per informazioni sulla risoluzione dei problemi di importazione delle metriche in Managed Service per Prometheus, consulta Problemi con la raccolta dagli esportatori in Risoluzione dei problemi lato importazione.