View a markdown version of this page

CloudWatch Metriken (oTEL) - Amazon CloudWatch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

CloudWatch Metriken (oTEL)

Auswahlkriterien bestimmen, welche oTEL-Metriken zur Verarbeitung in eine Pipeline aufgenommen werden. Jedes Kriterium ist ein Ausdruck in der Form<path> == "<value>", der mit einem bestimmten Attribut der eingehenden Metrik übereinstimmt. Es ist mindestens ein Auswahlkriterium erforderlich.

Kriterien werden innerhalb eines match_all Blocks mit AND-Semantik gruppiert — eine Metrik muss jedem Ausdruck in der Gruppe entsprechen, um in die Pipeline aufgenommen zu werden.

Unterstützte Pfade

Die folgenden OTTL-Pfade werden in den Auswahlkriterien unterstützt:

Pfade für Auswahlkriterien
Pfad Description

resource.attributes["key"]

Resource-level Attribut

instrumentation_scope.name

Name des Instrumentierungsbereichs

instrumentation_scope.version

Version des Instrumentierungsbereichs

instrumentation_scope.attributes["key"]

Attribut „Umfang der Instrumentierung

metric.name

Metrikname

datapoint.attributes["key"]

Datapoint-level Attribut

attributes["key"]

Kurzform für datapoint.attributes["key"]

Konfiguration

Die Auswahlkriterien werden im source Abschnitt der Pipeline-Konfiguration definiert:

pipeline: source: cloudwatch_metrics: format: otlp selection_criteria: - match_all: - 'resource.attributes["service.name"] == "my-service"' - 'metric.name == "http.server.request.duration"' processor: - add_attributes: attributes: - key: resource.attributes["team"] value: "platform-engineering" sink: - cloudwatch_metrics: {}

Im folgenden Beispiel werden alle unterstützten Pfadtypen verwendet:

pipeline: source: cloudwatch_metrics: format: otlp selection_criteria: - match_all: - 'resource.attributes["service.name"] == "my-service"' - 'instrumentation_scope.name == "my-scope"' - 'instrumentation_scope.version == "1.0.0"' - 'instrumentation_scope.attributes["library"] == "otel-java"' - 'metric.name == "http.server.request.duration"' - 'datapoint.attributes["status_code"] == "200"' - 'attributes["environment"] == "production"' processor: - add_attributes: attributes: - key: resource.attributes["team"] value: "observability" sink: - cloudwatch_metrics: {}

Verifizierung mit PromQL

CloudWatch ordnet OTLP-Attributbereiche den PromQL-Labels unter Verwendung der Präfixkonvention zu. @ Verwenden Sie diese Zuordnung, um zu überprüfen, ob Ihre Pipeline Metriken wie erwartet in Query Studio verarbeitet:

Zuordnung von OTTL-Pfad zu PromQL-Labels
OTTL-Pfad der Pipeline PromQL-Labelpräfix Beispiel

resource.attributes["key"]

@resource.

@resource.service.name

instrumentation_scope.name

@instrumentation.@name

@instrumentation.@name

instrumentation_scope.attributes["key"]

@instrumentation.

@instrumentation.library

datapoint.attributes["key"] / attributes["key"]

@datapoint.oder nackt

status_code

Wenn Ihre Pipeline beispielsweise einen Mehrwert resource.attributes["team"] bietet"platform-engineering", können Sie bestätigen, dass sie angewendet wurde:

{"CPUUtilization", "@resource.team"="platform-engineering"}

Anforderungen und Einschränkungen

Einzelne match_all Gruppe

Jede Pipeline unterstützt genau eine match_all Gruppe inselection_criteria. Sie können nicht mehrere match_all Gruppen in einer einzigen Pipeline definieren.

Mindestkriterien

In der match_all Gruppe ist mindestens ein Ausdruck erforderlich.

Maximale Kriterien

Eine match_all Gruppe kann maximal 20 Ausdrücke enthalten.

UND Semantik

Alle Ausdrücke in der match_all Gruppe müssen übereinstimmen, damit eine Metrik in die Pipeline aufgenommen wird.

Exakter Zeichenfolgenabgleich

Bei den Werten muss es sich um statische Zeichenketten handeln. Platzhalter, reguläre Ausdrücke und Teilübereinstimmungen werden nicht unterstützt. Jeder Ausdruck muss den == Operator verwenden.

Es gibt keine überlappenden Kriterien in den Pipelines

Jeder metrische Datenpunkt muss mit höchstens einer Pipeline übereinstimmen. Wenn ein Datenpunkt sowohl neuen als auch bestehenden Pipeline-Kriterien entspricht, schlägt die Pipelineerstellung fehl. Um Überschneidungen zu vermeiden, sollten Sie mindestens einen Attributpfad mit unterschiedlichen Werten in die Auswahlkriterien jeder Pipeline aufnehmen.

Beispielsweise überschneiden sich die folgenden beiden Auswahlkriterien, weil Pipeline A alle Metriken auswähltpayment-service, einschließlich der spezifischen Metrik, auf die Pipeline B abzielt:

# Pipeline A — selects ALL metrics from payment-service selection_criteria: - match_all: - 'resource.attributes["service.name"] == "payment-service"' # Pipeline B — FAILS: a datapoint with service.name="payment-service" # and metric.name="http.server.request.duration" matches both pipelines selection_criteria: - match_all: - 'metric.name == "http.server.request.duration"'