핵심 요약
사람인은 OpenTelemetry를 도입해 Observability를 하나의 표준으로 통합하고, 데이터의 일관성 증가 및 MTTR 단축, 비용 최적화를 기대하며 운영합니다.
구현 방법
- Operator를 통한 자동화 배포: MutatingWebhookConfiguration으로 Pod에 Instrumentation 주입하고, ValidatingWebhookConfiguration으로 OpenTelemetryCollector 및 Instrumentation CRD의 유효성을 검사합니다(예: 애노테이션 사용 예: instrumentation.opentelemetry.io/inject-java: "true").
- OpenTelemetry Operator Chart 설치 및 TLS 인증서 관리 권고: cert-manager 도입 권장 후 설치 완료.
- Collector 구성: Core와 Contrib 패키지를 조합한 otelcol 계열 배포판(otelcol, otelcol-contrib, otelcol-k8s, otelcol-otlp, otelcol-ebpf-profiler)로 원격 측정 데이터를 수집·처리·전송. otelcol-k8s 배포판 사용 및 collector.yaml로 파이프라인 구성.
- Instrumentation: Auto-instrumentation으로 코드 변경 최소화. 하나의 Instrumentation 리소스로 다수 언어를 지원.
- 하위 호환성 확보: Filebeat의 정책을 점진적으로 OTEL 정책으로 이행하고, processor/transform 구조로 정책 전환을 안정화.
- 데이터 지속성 및 로그-트레이스 연결성 강화: File Storage Extension 도입으로 디스크 저장을 사용하고, Filelog에서 trace/span 매핑으로 로그와 트레이스 연결성을 확보.
- 정책 및 정책 관리의 일관성: RBAC 구성과 서비스 어카운트 연결로 수집 권한 관리.
주요 결과
- 다중 벤더에 구애받지 않는 통합 수집 및 운영 체계 확보.
- 일관된 데이터 형식과 확장성으로 관찰 가능성 향상.
- 정책 전환의 점진성 및 운영 안정성 강화.

