OpenTelemetry와 vmagent를 활용한 대용... 노트

OpenTelemetry와 vmagent를 활용한 대용량 메트릭 파이프라인 구축

이 마이그레이션은 대규모 메트릭 파이프라인을 StatsD에서 OpenTelemetry 및 Prometheus로 이전하는 것을 포함하며, 메트릭 수집을 선행하는 것을 목표로 했습니다. 초기에는 내부 서비스에 대한 OpenTelemetry 프로토콜(OTLP) 계측과 OSS 워크로드에 대한 Prometheus 계측에 중점을 두었으며, StatsD는 대체 수단으로 사용되었습니다. 공유 메트릭 라이브러리를 활용한 이중 쓰기 접근 방식은 OTLP로의 전환을 용이하게 했습니다. 그 결과 성능이 향상되었고 히스토그램과 같은 Prometheus 기능에 액세스할 수 있게 되었습니다. 그러나 높은 카디널리티 메트릭으로 인해 성능 저하가 발생했으며, 이는 특정 서비스에 대해 델타 시간성을 사용하여 해결되었습니다. 비용을 절감하고 변환을 가능하게 하기 위해 vmagent를 사용한 Prometheus 기반 집계 파이프라인이 구현되었습니다. Prometheus의 rate() 함수가 재설정 이벤트로 인해 특정 카운터를 과소 집계하는 문제가 발생했습니다. 이 문제를 해결하기 위해 집계 중에 제로 주입을 구현했으며, 이는 사용자에게 투명하게 이루어졌습니다. 이를 통해 카운터 문제를 해결하고 데이터의 정확한 표현을 보장했습니다. 마지막으로 팀은 이러한 변경 사항을 구현함으로써 미래 지향적인 메트릭 인프라를 구축했습니다.
CdXz5zHNQW_RLxATemjkf.jpeg