OpenTelemetry
v0.152.1Observabilityv0.152.1은 버그 수정이 중심인 릴리스로, snappy 압축 해제 보안 수정과 Prometheus 메트릭 이름 회귀 버그 수정이 실무적으로 가장 중요합니다.
enhancementexporter in-flight 메트릭을 대시보드에 추가하세요
`pkg/exporterhelper`에 `otelcol_exporter_in_flight_requests` UpDownCounter 메트릭이 추가됐습니다. exporter별 동시 요청 수를 직접 볼 수 있어서, 워커 풀 포화 여부를 기존보다 훨씬 쉽게 파악할 수 있습니다. 업그레이드 후 대시보드에 추가해 두세요.
securityconfighttp snappy 수정으로 압축 페이로드 메모리 노출 위험 해소
`pkg/confighttp`에서 snappy 압축 해제 관련 버그 세 건이 수정됐습니다. 압축 해제 라이브러리의 패닉을 잡아 HTTP 400을 반환하고, `max_request_body_size`를 버퍼 할당 전에 체크하도록 바뀌었습니다. 특히 크기 제한을 버퍼 할당 전에 적용하는 변경은, 악의적으로 조작된 압축 페이로드로 메모리를 급격히 소비시키는 공격을 막습니다. 신뢰할 수 없는 출처에서 OTLP HTTP 압축 요청을 받는다면 즉시 업그레이드하세요.
breaking텔레메트리 host를 명시 설정했다면 Prometheus 메트릭 이름 변경 확인 필요
텔레메트리 설정의 `host` 필드를 명시적으로 지정했던 경우, Prometheus 메트릭 이름이 이 릴리스 전후로 달라질 수 있습니다. 버그로 인해 `WithoutScopeInfo`, `WithoutUnits`, `WithoutTypeSuffix`가 기본값 `true` 대신 `false`로 동작했기 때문에, scope 레이블이나 suffix가 붙은 이름으로 메트릭이 노출됐을 가능성이 있습니다. 업그레이드 후 메트릭 이름이 다시 바뀔 수 있으니, 관련 대시보드와 알람 쿼리를 확인하세요.
주요 변경 (7)
- exporter당 동시 export 요청 수를 추적하는 `otelcol_exporter_in_flight_requests` 메트릭 신규 추가
- `pkg/confighttp` snappy 압축 해제 버그 3건 수정: 패닉 복구(400 반환), body 정리, 할당 전 크기 제한 적용
- `pcommon.Value.AsString`이 map·slice 값에서 `<`, `>`, `&`를 HTML 이스케이프하지 않도록 변경 — 이스케이프된 출력에 의존하는 코드가 있다면 확인 필요
- 정상적인 클라이언트 연결 해제 시 발생하던 gRPC `connection reset by peer` 메시지가 더 이상 WARN 레벨로 출력되지 않음
- 텔레메트리 host 명시 설정 시 Prometheus 기본값이 잘못 적용되던 버그 수정
- 트레이스 프로세서가 없을 때 noop tracer provider 반환으로 불필요한 오버헤드 제거
- API: `xconfmap.Validator` deprecated — `confmap.Validator`와 `confmap.Validate`로 마이그레이션 필요