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:
| Pfad | Description |
|---|---|
|
Resource-level Attribut |
|
Name des Instrumentierungsbereichs |
|
Version des Instrumentierungsbereichs |
|
Attribut „Umfang der Instrumentierung |
|
Metrikname |
|
Datapoint-level Attribut |
|
Kurzform für |
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:
| OTTL-Pfad der Pipeline | PromQL-Labelpräfix | Beispiel |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
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_allGruppe -
Jede Pipeline unterstützt genau eine
match_allGruppe inselection_criteria. Sie können nicht mehrerematch_allGruppen in einer einzigen Pipeline definieren. - Mindestkriterien
-
In der
match_allGruppe ist mindestens ein Ausdruck erforderlich. - Maximale Kriterien
-
Eine
match_allGruppe kann maximal 20 Ausdrücke enthalten. - UND Semantik
-
Alle Ausdrücke in der
match_allGruppe 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ählt
payment-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"'