CloudWatch Metrics(OTel)
선택 기준에 따라 처리할 파이프라인에 입력되는 OTel 지표가 결정됩니다. 각 기준은 수신 지표의 특정 속성과 일치하는 <path> == "<value>" 형식의 표현식입니다. 하나 이상의 선택 기준이 필요합니다.
기준은 AND 시맨틱을 사용하여 match_all 블록 내에서 그룹화됩니다. 파이프라인에 들어가려면 지표가 그룹의 모든 표현식과 일치해야 합니다.
지원되는 경로
다음 OTTL 경로는 선택 기준에서 지원됩니다.
| 경로 | 설명 |
|---|---|
|
리소스 수준 속성 |
|
계측 범위 이름 |
|
계측 범위 버전 |
|
계측 범위 속성 |
|
지표 이름 |
|
데이터 포인트 수준 속성 |
|
|
구성
선택 기준은 파이프라인 구성의 source 섹션에 정의되어 있습니다.
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: {}
다음 예제에서는 지원되는 모든 경로 유형을 사용합니다.
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: {}
PromQL로 확인
CloudWatch는 @ 접두사 규칙을 사용하여 OTLP 속성 범위를 PromQL 레이블에 매핑합니다. 이 매핑을 사용하여 파이프라인이 Query Studio에서 예상대로 지표를 처리하고 있는지 확인합니다.
| 파이프라인 OTTL 경로 | PromQL 레이블 접두사 | 예제 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
예를 들어 파이프라인이 값이 "platform-engineering"인 resource.attributes["team"]를 추가하는 경우 해당 사항이 적용되었는지 확인할 수 있습니다.
{"CPUUtilization", "@resource.team"="platform-engineering"}
요구 사항 및 제한 사항
- 단일
match_all그룹 -
각 파이프라인은
selection_criteria에서 정확히 하나의match_all그룹을 지원합니다. 단일 파이프라인에서 여러match_all그룹을 정의할 수 없습니다. - 최소 기준
-
match_all그룹에는 표현식이 하나 이상 필요합니다. - 최대 기준
-
match_all그룹은 최대 20개의 표현식을 포함할 수 있습니다. - AND 시맨틱
-
지표가 파이프라인에 들어가려면
match_all그룹의 모든 표현식이 일치해야 합니다. - 정확한 문자열 일치
-
값은 정적 문자열이어야 합니다. 와일드카드, 정규식 및 부분 일치는 지원되지 않습니다. 각 표현식은
==연산자를 사용해야 합니다. - 파이프라인 간에 중복 기준 없음
-
각 지표 데이터 포인트는 최대 하나의 파이프라인과 일치해야 합니다. 데이터 포인트가 새 파이프라인 기준과 기존 파이프라인 기준 모두에 일치하면 파이프라인 생성이 실패합니다. 중복을 방지하려면 각 파이프라인의 선택 기준에 고유한 값이 있는 속성 경로를 하나 이상 포함하세요.
예를 들어 파이프라인 A는 파이프라인 B가 대상으로 하는 특정 지표를 포함하는
payment-service에서 모든 지표를 선택하기 때문에 다음 두 선택 기준이 겹칩니다.# 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"'