OTel APM service map processor
출처: 문서
본문
OTel APM 서비스 맵 프로세서
otel_apm_service_map 프로세서는 OpenTelemetry(OTel) 트레이스 스팬을 분석해서 APM 서비스 맵 관계와 메트릭을 자동으로 생성해요. 서비스 토폴로지 그래프로 시각화할 수 있는 구조화된 이벤트를 만들어, 서비스 간 통신 방식과 성능 특성을 보여줘요.
otel_apm_service_map 프로세서는 기존 service_map 프로세서의 모든 기능을 제공하면서 향상된 관찰 가능성 기능을 제공해요. 서비스 맵을 생성하는 것 외에도 시간 기반 서비스 맵을 만들어 서비스 간 관계가 시간에 따라 어떻게 변화하는지 포착하며, 정적 표현을 생성하지 않아요.
또한 프로세서는 각 서비스에 대해 Rate, Errors, Duration(RED) 메트릭을 자동으로 생성하여 추가 구성 없이 서비스 상태와 성능에 대한 즉각적인 통찰력을 제공해요.
구성
다음 표는 otel_apm_service_map 프로세서를 구성하는 데 사용할 수 있는 옵션을 설명해요.
| 옵션 | 필수 | 유형 | 설명 |
|---|---|---|---|
window_duration |
아니요 | Duration | APM 서비스 맵 관계가 평가되는 고정 시간 창이에요. ISO-8601 기간 형식(예: PT60S 또는 PT1M)이나 단순 정수 값(초로 해석됨)을 지원해요. 기본값은 60s예요. |
db_path |
아니요 | String | APM 서비스 맵 데이터를 처리할 때 임시 힙 메모리 데이터를 저장하는 데이터베이스 파일을 생성하기 위한 디렉터리 경로예요. 기본값은 data/otel-apm-service-map/이에요. |
group_by_attributes |
아니요 | List | 스팬의 리소스 속성에 있을 때 Service.groupByAttributes에 복사할 OTel 리소스 속성 이름 목록이에요. 이 설정은 기본 Service 객체에만 적용되며 종속 서비스에는 적용되지 않아요. 기본값은 빈 목록이에요. |
사용법
entry-pipeline:
source:
otel_trace_source:
path: "/test/path"
sink:
- pipeline:
name: "raw-pipeline"
- pipeline:
name: "service-map-pipeline"
raw-pipeline:
source:
pipeline:
name: "entry-pipeline"
processor:
- otel_trace_raw:
sink:
- opensearch:
hosts: [<host>]
index_type: trace-analytics-raw
service-map-pipeline:
source:
pipeline:
name: "entry-pipeline"
processor:
- otel_apm_service_map:
window_duration: 60s
db_path: "data/otel-apm-service-map/"
sink:
- opensearch:
hosts: [<host>]
index_type: trace-analytics-service-map
{% include copy.html %}
메트릭
다음 표는 일반적인 Abstract processor 메트릭을 설명해요.
| 메트릭 이름 | 유형 | 설명 |
|---|---|---|
recordsIn |
Counter | 파이프라인 구성 요소로의 레코드 수신이에요. |
recordsOut |
Counter | 파이프라인 구성 요소에서의 레코드 송신이에요. |
timeElapsed |
Timer | 파이프라인 구성 요소 실행 중 경과된 시간(밀리초)이에요. |
otel_apm_service_map 프로세서에는 다음과 같은 사용자 지정 메트릭이 포함되어 있어요.
| 메트릭 이름 | 유형 | 설명 |
|---|---|---|
spansDbSize |
Gauge | 세 개의 스팬 데이터베이스 창 전체 크기(바이트)예요. |
spansDbCount |
Gauge | 세 개의 스팬 데이터베이스 창에 걸친 스팬 항목의 총 개수예요. |