Questo documento descrive come configurare il tuo deployment Google Kubernetes Engine in modo da poter utilizzare Google Cloud Managed Service per Prometheus per raccogliere le metriche Richieste HTTP gestite dalla tua applicazione. Questo documento descrive come procedere:
- Configura l'applicazione in modo da esportare le metriche HTTP in un formato predefinito.
- Configura una risorsa PodMonitoring per il servizio gestito per Prometheus in modo che raccolga le metriche esportate.
- Visualizza la dashboard Applicazione per il tuo deployment GKE.
Queste istruzioni sono valide solo se utilizzi raccolta gestita con Managed Service per Prometheus.
Configura
Per raccogliere le metriche dal server HTTP che possono essere visualizzate nella dashboard Applicazione, devi esportare le seguenti metriche come descritto:
http_requests_total
di tipocounter
, con le etichettecode
emethod
.http_request_duration_seconds_bucket
del tipohistogram
, con l'etichettamethod
.
Per un esempio che raccoglie queste metriche utilizzando il client Prometheus Go, consulta prometheus-example-app.
Per verificare che il server HTTP stia emettendo metriche nella risposta prevista endpoint, procedi nel seguente modo:
- Configura il port forwarding utilizzando il seguente comando:
kubectl -n NAMESPACE_NAME port-forward deploy/HTTP_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
- Accedi a
localhost:PROMETHEUS_PORT_NUMBER
utilizzando browser o l'utilitàcurl
in un altro terminale durante la sessione.
Definisci una risorsa PodMonitoring
Per il rilevamento del target, l'operatore Managed Service per Prometheus richiede una risorsa PodMonitoring che corrisponda nello stesso spazio dei nomi.
Puoi utilizzare la seguente configurazione di PodMonitoring:
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
Assicurati che i valori di port
e MatchLabels
corrispondono a quelli dell'applicazione HTTP che vuoi
monitoraggio.
Per applicare le modifiche alla configurazione da un file locale, esegui il seguente comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Puoi anche utilizzare Terraform per gestire le configurazioni.
Visualizzare le metriche delle applicazioni
Per visualizzare le metriche relative a richieste, percentuale di errori e latenza della tua applicazione HTTP:
-
Nella console Google Cloud, vai alla pagina Carichi di lavoro:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il 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 di implementazione, 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, vedi Problemi con la raccolta dagli esportatori in Risoluzione dei problemi lato importazione.