분산 추적

Tier: Ultimate Offering: GitLab.com Status: Beta
  • GitLab 16.2에서 observability_group_tabobservability_tracing이라는 플래그로 도입되었습니다. 기본적으로 비활성화되어 있습니다. 이 기능은 베타 단계에 있습니다.
  • observability_group_tab 피처 플래그가 GitLab 16.5에서 제거되었습니다.
GitLab.com에서는 기본적으로 이 기능을 사용할 수 없습니다. 관리자는 observability_tracing이라는 피처 플래그를 활성화할 수 있습니다. 이 기능은 프로덕션 환경에 사용하기에 준비되지 않았습니다.

분산 추적을 통해 요청이 서로 다른 서비스 및 시스템을 통해 이동하는 방식, 각 작업의 타이밍, 발생하는 오류 또는 로그를 검사하여 응용 프로그램의 성능 문제를 해결할 수 있습니다. 추적은 특히 사용자 요청을 충족하기 위해 협력하는 여러 독립적인 서비스를 그룹화하는 마이크로서비스 응용 프로그램의 맥락에서 매우 유용합니다.

이 기능은 베타 단계에 있습니다. 자세한 정보는 그룹 방향 페이지를 참조하십시오. 추적 버그 또는 기능에 대한 피드백을 남기려면 피드백 이슈에서 의견을 남기거나 새 이슈를 엽니다.

프로젝트용 분산 추적 구성

분산 추적을 구성하려면 다음을 수행하세요:

  1. 액세스 토큰을 생성하고 추적을 활성화합니다.
  2. 애플리케이션을 OpenTelemetry 익스포터 사용하도록 구성합니다.

액세스 토큰 생성

전제 조건:

  • 프로젝트에 적어도 Maintainer 역할이 있어야 합니다.

프로젝트에서 추적을 활성화하려면 먼저 액세스 토큰을 생성해야 합니다:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 액세스 토큰을 선택합니다.
  3. 다음 스코프로 액세스 토큰을 생성합니다: read_api, read_observability, write_observability.
  4. 액세스 토큰의 값을 복사합니다.

애플리케이션을 OpenTelemetry 익스포터 사용하도록 구성합니다

다음으로 응용 프로그램을 GitLab으로 추적을 보내도록 구성합니다.

이를 위해 다음 환경 변수를 설정합니다:

OTEL_EXPORTER = "otlphttp"
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT = "https://observe.gitlab.com/v3/<namespace-id>/<gitlab-project-id>/ingest/traces"
OTEL_EXPORTER_OTLP_TRACES_HEADERS = "PRIVATE-TOKEN=<gitlab-access-token>"

다음 값을 사용합니다:

  • namespace-id: 프로젝트가 위치한 최상위 네임스페이스 ID.
  • gitlab-project-id: 프로젝트 ID.
  • gitlab-access-token: 이전에 생성한 액세스 토큰.

응용 프로그램이 구성되면 실행하고 OpenTelemetry 익스포터는 GitLab으로 추적을 전송하려고 시도합니다.

추적 보기

추적이 성공적으로 내보내지면 해당 내용을 프로젝트에서 볼 수 있습니다.

추적 디렉터리을 보려면 다음을 수행하세요:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 모니터 > 추적을 선택합니다.

추적의 세부 정보를 보려면 디렉터리에서 선택합니다.

추적 디렉터리

추적 세부 정보 페이지와 스패단의 디렉터리이 표시됩니다.

추적 세부정보

단일 스패단의 속성을 보려면 디렉터리에서 선택합니다.

추적 드로어(Drawer)

추적 투입 한도

추적은 분당 최대 102,400바이트를 흡수합니다. 한도를 초과하면 429 Too Many Requests 응답이 반환됩니다.

분당 1,048,576바이트로 한도를 늘리려면 GitLab 지원팀에 문의하십시오.

데이터 보유

GitLab은 모든 추적에 대해 30일의 보존 한도가 있습니다.