Http-Server

In diesem Dokument wird beschrieben, wie Sie Ihre Google Kubernetes Engine-Bereitstellung so konfigurieren, dass Sie Google Cloud Managed Service for Prometheus verwenden können, um Messwerte aus den HTTP-Anfragen Ihrer Anwendung zu erfassen. In diesem Dokument wird Folgendes beschrieben:

Diese Anleitung gilt nur, wenn Sie die verwaltete Sammlung mit Managed Service for Prometheus verwenden.

Einrichten

Um Messwerte von Ihrem HTTP-Server zu erfassen, die auf dem Anwendungs-Dashboard angezeigt werden können, müssen Sie die folgenden Messwerte wie beschrieben exportieren:

  • http_requests_total vom Typ counter mit den Labels code und method.
  • http_request_duration_seconds_bucket vom Typ histogram mit dem Label method.

Ein Beispiel zum Erfassen dieser Messwerte mit dem Prometheus-Go-Client finden Sie unter prometheus-example-app.

So prüfen Sie, ob Ihr HTTP-Server Messwerte an den erwarteten Endpunkten ausgibt:

  1. Richten Sie mit dem folgenden Befehl die Portweiterleitung ein:
    kubectl -n NAMESPACE_NAME port-forward deploy/HTTP_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
      
  2. Greifen Sie über den Browser oder das Dienstprogramm curl in einer anderen Terminalsitzung auf localhost:PROMETHEUS_PORT_NUMBER zu.

PodMonitoring-Ressource definieren

Für die Zielerkennung benötigt der Managed Service for Prometheus-Operator eine PodMonitoring-Ressource, die dem HTTP-Server im selben Namespace entspricht.

Sie können die folgende PodMonitoring-Konfiguration verwenden:

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

Achten Sie darauf, dass die Werte der Felder port und MatchLabels mit denen der HTTP-Anwendung übereinstimmen, die Sie überwachen möchten.

Führen Sie den folgenden Befehl aus, um Konfigurationsänderungen aus einer lokalen Datei anzuwenden:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Sie können Ihre Konfigurationen auch mit Terraform verwalten.

Anwendungsmesswerte ansehen

So rufen Sie die Anfrage-, Fehlerraten- und Latenzmesswerte Ihrer HTTP-Anwendung auf:

  1. Rufen Sie in der Google Cloud Console die Seite Arbeitslasten auf:

    Zu Arbeitslasten

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Kubernetes Engine ist.

  2. Klicken Sie in der Liste der Arbeitslasten auf ein Deployment. Die Spalte Typ in der Liste gibt den Typ der Arbeitslast an.
  3. Klicken Sie auf der Seite Bereitstellungsdetails auf den Tab Beobachtbarkeit.
  4. Wählen Sie in der Dashboard-Auswahl Anwendung aus.

Weitere Informationen finden Sie unter Leistungsmesswerte für Anwendungen verwenden.

Fehlerbehebung

Informationen zur Fehlerbehebung bei Problemen mit der Messwertaufnahme in Managed Service for Prometheus finden Sie unter Probleme bei der Erfassung von Exportern in Fehlerbehebung auf Datenaufnahmeseite.