OTLP-Messwerte aufnehmen – Übersicht

In diesem Dokument wird die Verwendung des OpenTelemetry Collector mit dem otlphttp Exporter und der Telemetry API (OTLP), telemetry.googleapis.com, beschrieben, die das OpenTelemetry OTLP-Protokoll implementiert. Mit der Kombination aus dem otlphttp-Exporter und der Telemetry API können Sie OTLP-Messwerte in Cloud Monitoring aufnehmen.

Der OTLP-Endpunkt unterstützt alle OTLP-Protokolle, einschließlich http/protobuf, http/json und grpc. Weitere Informationen finden Sie unter Protokollunterstützung.

Sie können Messwerte auch direkt aus Anwendungen, die SDKs verwenden, an die Telemetry API senden. Weitere Informationen finden Sie unter SDKs zum Senden von Messwerten aus Anwendungen verwenden.

Wenn Sie Google Kubernetes Engine verwenden, können Sie stattdessen Verwaltetes OpenTelemetry für GKEverwenden, anstatt einen OpenTelemetry Collector, der die Telemetry API verwendet, manuell bereitzustellen und zu konfigurieren.

OTLP für Prometheus-Messwerte funktioniert nur mit OpenTelemetry Collector Version 0.140.0 oder höher.

Messwert- und Labelnamen in der Telemetry API

In diesem Abschnitt werden die Benennungskonventionen und Anforderungen für Messwerte beschrieben, die mit der Telemetry API in Cloud Monitoring aufgenommen werden:

  • Messwertnamen und Labelschlüssel unterstützen nicht das vollständige UTF-8.

    • Messwertnamen, die nicht dem regulären Ausdruck [a-zA-Z][a-zA-Z0-9_:./-]* entsprechen, werden abgelehnt. Die einzigen Sonderzeichen, die in Messwertnamen zulässig sind, sind _:./-.
    • Datenpunkte mit Attributen (d. h. Labelschlüsseln), die nicht dem regulären Ausdruck [a-zA-Z_][a-zA-Z0-9_.]* entsprechen, werden abgelehnt. Die einzigen Sonderzeichen, die in Labelschlüsseln zulässig sind, sind _.. Alle Sonderzeichen sind in Labelwerten zulässig.

    Damit Ihre Messwerte aus diesen Gründen nicht abgelehnt werden, können Sie einen Prozessor einrichten, der Ihre Messwertnamen und Attribute für Sie mit der replace_pattern Funktion transformiert.

  • Wichtig: Wenn Sie Messwertnamen und Labelschlüssel mit anderen Sonderzeichen als dem Doppelpunkt (:) und dem Unterstrich (_) abfragen, müssen Sie sie gemäß der UTF-8-Spezifikation von PromQL in geschweifte Klammern ({}) und Anführungszeichen (") setzen. Die folgenden Abfragen sind beispielsweise gültig:

    • {"my.metric.name"}
    • {"my.metric.name", "label.key.KEY"="value"}

Telemetry API-Messwerte und Cloud Monitoring

In diesem Abschnitt wird beschrieben, wie Messwerte, die mit der Telemetry API und dem otlphttp-Exporter aufgenommen wurden, mit Cloud Monitoring interagieren:

  • Es kann zu Kollisionen von Werttypen zwischen INT64- und DOUBLE-Typ-Messwerten kommen, insbesondere wenn Sie zuvor den target_info Messwert gesendet haben. Wenn dieser Konflikt auftritt, löschen Sie die INT64-Messwertdeskriptoren. Mit diesem Golang-Skript können Sie alle INT64-Typ target_info Messwerte aus Ihrem Messwertbereich löschen.

  • Wenn Sie das Label le beim Abfragen von Exponential-Histogrammen beibehalten, kann dies zu unerwarteten Ergebnissen führen. Die typischeren histogram_quantile(.99, sum by (le) (metric)) Abfragen sollten funktionieren.

  • Delta-Messwerte werden unter bestimmten Umständen möglicherweise nicht richtig abgefragt, z. B. bei sehr spärlichen Deltas.

Protokollunterstützung

Der OTLP-Endpunkt unterstützt alle OTLP-Protokolle, einschließlich http/protobuf, http/json und grpc. Beim Exportieren aus einem OpenTelemetry Collector können Sie jedes der Protokolle verwenden. Da die dynamische Aktualisierung von Tokens in den meisten SDK-Exportern jedoch nicht unterstützt wird, empfehlen wir, beim direkten Exportieren aus SDKs nur den gRPC-OTLP-Exporter und nicht die HTTP-Exporter zu verwenden. Weitere Informationen finden Sie unter SDKs zum Senden von Messwerten aus Anwendungen verwenden.

Abrechnung

Die Abrechnung für OTLP-Messwerte erfolgt unter der SKU „Prometheus-Samples aufgenommen“, die auch für Messwerte aus Google Cloud Managed Service for Prometheus verwendet wird. Weitere Informationen finden Sie auf der Abrechnungsseite.

Limits und Kontingente

Für die Aufnahme von Messwerten mit der Telemetry API gelten die Messwertlimits der Telemetry API.

Außerdem gelten alle Standardkontingente und -limits für Cloud Monitoring- und Google Cloud Managed Service for Prometheus Messwerteund Limits. Messwerte dürfen beispielsweise nicht mehr als 200 Labels haben.

Das Standardkontingent für Messwerte, die von der Telemetry API aufgenommen werden, beträgt 60.000 Anfragen pro Minute. Bei einer maximalen Batchgröße von 200 Punkten pro Anfrage entspricht dies einem effektiven Standardkontingent von 200.000 Samples pro Sekunde. Sie können eine Kontingenterhöhung anfordern.

Nächste Schritte