OpenTelemetry Collector의 확장 컴포넌트 모음
OpenTelemetry Collector Contrib은 OpenTelemetry Collector의 핵심 기능 외 추가 컴포넌트를 제공하는 저장소임
관측성(Observability) 확보를 위해 트레이스(Trace), 메트릭(Metric), 로그(Log) 수집 및 처리를 지원함
사용자는 Collector Builder를 통해 필요한 컴포넌트를 선택하여 커스텀 배포(Custom Distribution) 가능
다양한 지원 수준(Support Levels)을 통해 컴포넌트의 안정성을 관리함
확장 가능한 아키텍처
OpenTelemetry Collector Contrib는 모듈형 아키텍처(Modular Architecture)를 기반으로 설계되어, 사용자가 필요에 따라 다양한 컴포넌트를 선택하여 사용할 수 있다. Collector Builder를 통해 핵심 컴포넌트, contrib 컴포넌트, 서드파티 컴포넌트를 조합하여 맞춤형 Collector를 구축할 수 있다. 이러한 유연성은 특정 환경에 최적화된 관측 시스템 구축을 가능하게 한다.
컴포넌트 안정성 관리
각 컴포넌트는 안정성 수준(Stability Level)에 따라 관리되며, 알파(Alpha), 베타(Beta), 안정(Stable) 단계로 구분된다. 각 신호(트레이스, 메트릭, 로그)별로 다른 안정성 수준을 가질 수 있으며, 이는 사용자에게 컴포넌트의 성숙도에 대한 정확한 정보를 제공한다. 유지보수 담당자(Maintainers)는 특정 컴포넌트의 지원을 중단하거나 위험하다고 판단될 경우, 해당 컴포넌트를 다운그레이드할 수 있다.
기능 게이트(Gated Features)를 통한 관리
일부 기능은 기능 게이트(Feature Gates) 뒤에 숨겨져 있으며, 이는 해당 기능이 메인 코드 경로에 통합되기 전의 개발 단계를 의미한다. 기능 게이트는 컴포넌트의 실험적인 기능을 안전하게 관리하고, 안정적인 릴리스를 보장하는 데 기여한다. 이러한 접근 방식은 지속적인 혁신(Continuous Innovation)과 안정성 유지 사이의 균형을 맞춘다.
커뮤니티 기반 지원
OpenTelemetry Collector Contrib는 커뮤니티(Community)의 기여를 통해 유지보수되며, 유지보수 담당자(Maintainers), 승인자(Approvers), 트라이어저(Triagers) 등 다양한 역할을 가진 멤버들이 참여한다. 이러한 분산된 지원 구조는 프로젝트의 지속적인 발전과 문제 해결을 돕는다. 코드 소유자(Code Owners)는 특정 컴포넌트에 대한 지원을 제공하며, PR(Pull Request) 검토를 통해 코드 품질을 유지한다.