Server HTTP

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:

Queste istruzioni sono valide solo se utilizzi raccolta gestita con Managed Service per Prometheus.

Configura

Per raccogliere dal tuo server HTTP metriche che possono essere visualizzate su la dashboard dell'applicazione, devi esportare le seguenti metriche come descritto:

  • http_requests_total di tipo counter, con le etichette code e method.
  • http_request_duration_seconds_bucket del tipo histogram, con l'etichetta method.

Per un esempio che raccoglie queste metriche utilizzando Prometheus Go vedi prometheus-example-app.

Per verificare che il server HTTP stia emettendo metriche nella risposta prevista endpoint, procedi nel seguente modo:

  1. Configura il port forwarding utilizzando il seguente comando:
    kubectl -n NAMESPACE_NAME port-forward deploy/HTTP_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
      
  2. 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 questo comando:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Puoi anche utilizza Terraform per gestire le configurazioni.

Visualizza metriche dell'applicazione

Per visualizzare le metriche relative a richieste, tasso di errore e latenza dal tuo HTTP procedi nel seguente modo:

  1. Nella console Google Cloud, vai alla pagina Carichi di lavoro:

    Vai a Carichi di lavoro

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Kubernetes Engine.

  2. Fai clic su un deployment nell'elenco dei carichi di lavoro. La colonna Tipo in l'elenco indica il tipo di carico di lavoro.
  3. Nella pagina Dettagli deployment, fai clic sul Scheda Osservabilità.
  4. 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.