AIX OpenTelemetry
AIX OpenTelemetry는 표준 OTLP HTTP/gRPC 데이터를 수신하며, traces, metrics, logs를 받을 수 있습니다.
구성¶
기본적으로 OpenTelemetry는 비활성화됩니다:
[otel]
# OpenTelemetry 수신기를 활성화할지 여부.
enabled = false
# 동시 및 단일 요청 변환 포인트 보호.
max_concurrent_requests = 8
max_points_per_request = 50000
[otel.tags]
# OpenTelemetry 수신 데이터에만 추가됩니다.
# app_env = "prod"
[otel.self_monitor]
# OpenTelemetry 수신기 자체 지표를 보고할지 여부.
enabled = true
interval = "30s"
[otel.http]
# OTLP HTTP 수신기를 활성화할지 여부.
enabled = false
addr = "127.0.0.1:4318"
# 사용자 지정 OTLP HTTP 경로이며, 표준 /v1/traces, /v1/metrics, /v1/logs도 지원합니다.
trace_path = "/otel/v1/traces"
metric_path = "/otel/v1/metrics"
log_path = "/otel/v1/logs"
# HTTP 요청 본문 최대 바이트 수.
max_body_size = 16777216
read_timeout = "10s"
write_timeout = "30s"
[otel.grpc]
# OTLP gRPC 수신기를 활성화할지 여부.
enabled = false
addr = "127.0.0.1:4317"
# gRPC payload 최대 바이트 수.
max_payload = 16777216
HTTP는 구성한 /otel/v1/* 경로와 표준 OTLP HTTP 경로 /v1/traces, /v1/metrics, /v1/logs를 모두 지원합니다.
접속 주소¶
| 유형 | 주소 |
|---|---|
| HTTP traces | http://<host>:4318/v1/traces |
| HTTP metrics | http://<host>:4318/v1/metrics |
| HTTP logs | http://<host>:4318/v1/logs |
| gRPC | <host>:4317 |
HTTP는 기본적으로 127.0.0.1:4318에, gRPC는 기본적으로 127.0.0.1:4317에 바인딩됩니다. 원격 접속이 필요하면 수신 주소를 0.0.0.0으로 변경하고 네트워크 정책이 해당 포트를 허용하는지 확인하십시오.
지표, 스팬과 로그¶
OpenTelemetry 수신 후에는 데이터 유형에 따라 대응하는 DataWay 분류에 기록됩니다.
| OpenTelemetry 유형 | DataWay 분류 | 설명 |
|---|---|---|
| traces | /v1/write/tracing |
measurement는 opentelemetry입니다. |
| metrics | /v1/write/metric |
measurement는 otel_service입니다. |
| logs | /v1/write/logging |
measurement는 log.source, service.name 또는 기본 로그 소스를 사용합니다. |
trace는 opentelemetry에 기록되며, 일반적인 필드는 trace_id, span_id, parent_id, resource, duration, message이고, 일반적인 태그는 service, status, span_kind, span_type, source_type입니다.
metrics는 otel_service에 기록되며, metric name은 필드명으로 사용됩니다. resource, scope, datapoint attributes는 태그로 변환되며, 속성명에 있는 .은 _로 변환됩니다.
logs의 소스 우선순위는 log.source, service.name, 기본 소스 otel_logs입니다. 로그 본문은 message 필드에 기록되며, trace_id와 span_id는 필드로 보존됩니다.
자체 지표¶
datakitaix_otel_receiver¶
OpenTelemetry를 활성화하면 [otel.self_monitor]로 수신기 자체 지표의 보고 여부와 보고 간격을 제어할 수 있습니다.
| 태그 및 필드 | 설명 |
|---|---|
| host ( tag) |
호스트 이름. |
| receiver ( tag) |
항상 otel입니다. |
| requests | 처리된 요청 수. Type: int | (count) Unit: count |
| points | 변환된 포인트 수. Type: int | (count) Unit: count |
| parse_errors | 파싱 오류 수. Type: int | (count) Unit: count |
| upload_errors | 업로드 오류 수. Type: int | (count) Unit: count |
| spool_success | spool 쓰기 성공 횟수. Type: int | (count) Unit: count |
| spool_errors | spool 쓰기 실패 횟수. Type: int | (count) Unit: count |
| rejected_requests | 레이트 리밋되었거나 크기 제한으로 거부된 요청 수. Type: int | (count) Unit: count |