Prometheus-Beispiele verwenden

In diesem Dokument wird beschrieben, wie Sie Google Cloud Managed Service for Prometheus verwenden können, um Prometheus-Beispiele auf Histogrammmesswerten aufzunehmen. Sie müssen eine der folgenden Optionen verwenden:

  • Managed Service for Prometheus verwaltete Sammlungsversion 0.7.0 oder höher
  • Managed Service for Prometheus selbst bereitgestellte Sammlungsversion 2.35.0-gmp.5-gke.0 oder höher
  • Der OpenTelemetry Collector

Beispiele werden in der Regel verwendet, um Trace-Identifikatoren mit Messwertdaten zu verknüpfen, die in einem bestimmten Zeitintervall erfasst wurden, sie können aber auch verwendet werden, um beliebige nicht-Messwertdaten mit den erfassten Messwerten zu verknüpfen. Durch die Speicherung von Trace-Informationen mit den Messwertdaten können Sie schnell die Traces identifizieren, die mit einer plötzlichen Änderung der Messwerte verbunden sind; Sie müssen nicht manuell Trace-Informationen und Messwertdaten miteinander vergleichen, indem Sie Zeitstempel verwenden, um festzustellen, was in der Anwendung geschah, als die Messwertdaten aufgezeichnet wurden.

Managed Service for Prometheus-Beispiele sind sowohl mit Cloud Trace als auch mit Trace-Tools von Drittanbietern wie Grafana Tempo kompatibel.

Der folgende Screenshot zeigt ein Grafana-Diagramm mit Sätzen von Histogramm-Buckets und zugehörigen Beispielen, wobei ein Beispiel erweitert wurde:

Grafana-Diagramm mit Histogramm-Buckets und -Beispielen.

Prometheus-Beispiele in Managed Service for Prometheus

Instanzen werden in Prometheus mit dem OpenMetrics-Darstellungsformat unterstützt. Ein OpenMetrics-Beispiel hat folgende Struktur:

  • Der Wert der Methode: muss entweder eine Ganzzahl oder eine 64-Bit-Gleitkommazahl sein.
  • (Optional) Ein Zeitstempel: muss Unix-Epochensekunden sein, kann negativ sein.
  • Eine Reihe von Labels für das Beispiel, normalerweise die Werte trace_id und span_id. Die Gesamtlänge aller Labelnamen und -werte darf 128 UTF-8-Zeichen oder 128 Ausführungen in Go-Anwendungen nicht überschreiten.

Google Cloud Managed Service for Prometheus kann nur Beispiele aufnehmen, die mit Histogrammmesswerten verknüpft sind. An Zählermesswerten angehängte Ausnahmen können nicht aufgenommen werden. Prometheus-Histogrammmesswerte werden in den entsprechenden Cloud Monitoring-Typ Distribution konvertiert, der Beispiele unterstützt. Nicht-Verteilungsmesswerte in Cloud Monitoring unterstützen keine Beispiele.

Instanzen sind 24 Monate lang für Abfragen verfügbar. Vergleichen Sie diese Aufbewahrungsdauer mit dem vorgelagerten Prometheus, bei dem Beispiele nur dann aufbewahrt werden, wenn sich die Daten im Speicher befinden, normalerweise weniger als 14 Tage. Managed Service for Prometheus speichert Beispiele mit der Zeitachse, sodass die Beispiele gemäß der Aufbewahrungsrichtlinie für die Zeitreihe aufbewahrt werden. Weitere Informationen zur Datenaufbewahrung in Cloud Monitoring finden Sie unter Datenaufbewahrung.

Aufnahme von Beispielen aktivieren

Wenn Sie Managed Service for Prometheus mit verwalteter Sammlung Version 0.7.0 oder höher verwenden, ist die Aufnahme von Beispielen automatisch aktiviert.

Wenn Sie den Managed Service for Prometheus mit selbst bereitgestellter Sammlung verwenden, müssen Sie die Aufnahme von Beispielen aktivieren, wenn Sie den Server starten. Geben Sie dazu das folgende Funktions-Flag an:

--enable-feature=exemplar-storage

Messwerte mit Beispielen schreiben

Jeder Prometheus-Client hat eine eigene Anleitung für die ordnungsgemäße Verwendung von Beispielen in diesem Client. Befolgen Sie diese Anweisungen, damit Ihre Anwendung Messwerte im OpenMetrics-Format bereitstellt, damit Prometheus diese vom Endpunkt /metrics der Anwendung abrufen kann. Beispiele finden Sie hier:

In Cloud Trace einbinden

Sie können Prometheus-Histogramme mit Beispielen schreiben, die mit Cloud Trace kompatibel sind. Sie können die Daten, einschließlich der Beispiele, in einem Cloud Monitoring-Heatmap-Diagramm anzeigen, wo Sie die Beispiele verwenden können, um Details über die zugehörigen Trace-Spans anzuzeigen. Außerdem können Sie die Trace-Daten in Trace analysieren. Weitere Informationen finden Sie unter Beispiele in einem Heatmap-Diagramm anzeigen und Trace-Details ansehen.

Zum Erstellen von Beispielen, die mit Trace kompatibel sind, müssen Ihre Prometheus-Beispiele die folgenden Labels enthalten:

  • project_id
  • trace_id
  • span_id

Wenn Ihr Beispiel diese drei Bezeichnungen enthält, werden die Bezeichnungen verwendet, um ein Trace-kompatibles SpanContext-Objekt zu erstellen, das an das für den Cloud Monitoring Distribution-Bucket erstellte Beispiel angehängt wird.

Alle Labels außer den, die einen vollständigen SpanContext bilden, werden einem DroppedLabels-Objekt hinzugefügt, das an das Beispiel für einen Distribution-Bucket angehängt ist.

Abfragemesswerte mit Beispielen

Die Prometheus API bietet den Endpunkt api/v1/query_exemplars zum Abfragen von Beispielen.

Abfrageschnittstellen, die für die Interaktion mit Google Cloud Managed Service for Prometheus eingerichtet sind, enthalten automatisch Beispielabfragen. Informationen zum Einrichten von Abfrageschnittstellen finden Sie unter Abfrage mit Grafana oder Abfrage mit der Prometheus API oder UI.