OpenTelemetry을 위한 GitLab 계기

GDK 개발환경에서 OpenTelemetry 추적, 지표 및 로그 활성화

note
현재 기본 GDK 환경은 OpenTelemetry 데이터를 적절하게 수집하고 표시하도록 설정되어 있지 않습니다. 따라서 OTEL_EXPORTER_*_ENDPOINT 환경 변수를 GitLab 프로젝트로 지정해야 합니다:
  1. 궁극의 라이선스가 있는 프로젝트이며
  2. 적어도 Maintainer 역할을 가진 프로젝트이고
  3. 최상위 루트 그룹 피처 플래그를 활성화할 수 있는 액세스 권한을 가진 프로젝트거나 이미 해당 플래그를 활성화한 “gitlab-org” 또는 “gitlab-com” 루트 그룹에 속한 프로젝트인 경우

프로젝트를 사용하기로 결정했다면:

  1. 프로젝트의 ID(메인 프로젝트 페이지 오른쪽 상단의 세 개 점에서)
  2. 프로젝트를 포함하는 최상위 루트 그룹의 ID
  3. 다음 단계에 대한 환경 변수를 설정할 때, 이러한 변수를 gitlab-development-kit 폴더의 루트에있는 env.runit에 추가합니다.
  4. 다음 사용자 정의 설정과 함께 프로젝트에 분산 추적 구성 지침을 따릅니다:
    • OTEL_EXPORTER_OTLP_TRACES_ENDPOINT 환경 변수에 대해 다음 값을 사용하세요:
     export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://<gitlab-host>/v3/<gitlab-top-level-group-id>/<gitlab-project-id>/ingest/traces"
    
  5. 다음 사용자 정의 설정과 함께 프로젝트에 분산 지표 구성 지침을 따릅니다:
    • OTEL_EXPORTER_OTLP_METRICS_ENDPOINT 환경 변수에 대해 다음 값을 사용하세요:
     export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT="https://<gitlab-host>/v3/<gitlab-top-level-group-id>/<gitlab-project-id>/ingest/metrics"
    
  6. 다음 사용자 정의 설정과 함께 프로젝트에 분산 로그 구성 지침을 따릅니다:
    • OTEL_EXPORTER_OTLP_LOGS_ENDPOINT 환경 변수에 대해 다음 값을 사용하세요:
     export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://<gitlab-host>/v3/<gitlab-top-level-group-id>/<gitlab-project-id>/ingest/logs"
    
  7. 또한 env.runit 파일에 다음을 추가합니다:

     # OpenTelemetry 출력기를 설정하기위한 Rails 초기화 프로그램을 활성화하는 GitLab 특수 플래그
     export GITLAB_ENABLE_OTEL_EXPORTERS=true
    
  8. gdk restart.
  9. 프로젝트로 이동하여 상기 문서에 나와 있는 지침에 따라 추적, 지표 또는 로그를 활성화 및 보기를 진행하세요.

참고 자료

관련 도면