Serveur HTTP

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 HTTP diffusées par votre application. Cette page explique comment effectuer les opérations suivantes :

Ces instructions ne s'appliquent que si vous utilisez une collecte gérée avec Managed Service pour Prometheus.

Configurer

Pour collecter des métriques à partir de votre serveur HTTP pouvant être affichées sur le tableau de bord Application, vous devez exporter les métriques suivantes comme décrit :

  • http_requests_total de type counter, avec les libellés code et method.
  • http_request_duration_seconds_bucket de type histogram, avec le libellé method.

Pour obtenir un exemple de collecte de ces métriques à l'aide du client Prometheus Go, consultez la page prometheus-example-app.

Pour vérifier que votre serveur HTTP émet des métriques sur les points de terminaison attendus, procédez comme suit :

  1. Configurez le transfert de port à l'aide de la commande suivante :
    kubectl -n NAMESPACE_NAME port-forward deploy/HTTP_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
      
  2. Accédez à localhost:PROMETHEUS_PORT_NUMBER à l'aide du navigateur ou de l'utilitaire curl 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 HTTP 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-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

Assurez-vous que les valeurs des champs port et MatchLabels correspondent à celles de l'application HTTP 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 HTTP, procédez comme suit :

  1. 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.

  2. 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.
  3. Sur la page Informations sur le déploiement, cliquez sur l'onglet Observabilité.
  4. 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.