InfoGrab Docs

이벤트 데이터

요약

중요: GitLab 18.0부터 Self-Managed 및 Dedicated 인스턴스는 제품 사용에 대한 더 자세한 인사이트를 제공하는 이벤트 수준 데이터를 수집합니다. 제품 사용 데이터 수집의 변경 사항에 대한 자세한 정보는 블로그 게시물 GitLab Self-Managed 및 Dedicated를 위한 더 세분화된 제품 사용 인사이트를 읽어보세요.

히스토리
  • GitLab 17.11에서 토글이 활성화되었습니다.
  • GitLab 18.9에서 환경 변수 재정의가 도입되었습니다.

이벤트 수준의 제품 사용 데이터 추적#

중요: GitLab 18.0부터 Self-Managed 및 Dedicated 인스턴스는 제품 사용에 대한 더 자세한 인사이트를 제공하는 이벤트 수준 데이터를 수집합니다. 이전에는 Self-Managed 인스턴스에서 집계 메트릭만 수집되었습니다.

제품 사용 데이터 수집의 변경 사항에 대한 자세한 정보는 블로그 게시물 GitLab Self-Managed 및 Dedicated를 위한 더 세분화된 제품 사용 인사이트를 읽어보세요.

이벤트 데이터#

이벤트 데이터는 GitLab 플랫폼 내의 상호 작용(또는 작업)을 추적합니다. 이러한 상호 작용 또는 작업은 CI/CD 파이프라인 시작, 머지 리퀘스트 머지, 웹훅 트리거, 이슈 생성과 같이 사용자가 시작한 것일 수 있습니다. 작업은 예약된 파이프라인 성공과 같은 백그라운드 시스템 처리에서 발생할 수도 있습니다. 이벤트 데이터 수집의 초점은 사용자의 작업과 해당 작업과 관련된 메타데이터에 있습니다.

사용자 ID는 개인 정보를 보호하기 위해 가명화되며, GitLab은 메트릭을 개별 사용자와 재식별하거나 연결하는 프로세스를 수행하지 않습니다. 이벤트 데이터에는 GitLab 내에 저장된 소스 코드 또는 기타 고객이 만든 콘텐츠가 포함되지 않습니다.

자세한 내용은 다음을 참조하세요:

이벤트 데이터의 이점#

이벤트 수준 데이터는 사용자를 식별하지 않고 더 세분화된 인사이트를 제공하여 Service Ping의 여러 이점을 향상시킵니다.

  • 선제적 지원: 세분화된 데이터를 통해 고객 성공 관리자(CSM)와 지원 팀이 더 자세한 정보에 접근하여 드릴다운하고 더 일반적인 집계 메트릭에 의존하지 않고 조직의 고유한 요구에 맞는 커스텀 메트릭을 만들 수 있습니다.
  • 대상화된 안내: 이벤트 수준 데이터는 기능이 사용되는 방식에 대한 더 깊은 이해를 제공하여 최적화 및 개선 기회를 발견하는 데 도움이 됩니다. 데이터의 깊이를 통해 GitLab의 가치를 극대화하고 워크플로를 향상시키는 데 도움이 되는 더 정확하고 실행 가능한 권장 사항을 제공할 수 있습니다.
  • 익명 벤치마킹 보고서: 세분화된 이벤트 데이터는 단순히 높은 수준의 집계 데이터보다 자세한 사용 패턴에 집중하여 유사한 조직과 더 정확하고 관련성 있는 성능 비교를 가능하게 합니다.

이벤트 수준 데이터 수집 활성화 또는 비활성화#

Note

Snowplow 추적이 활성화된 경우 제품 사용 추적을 활성화하면 자동으로 비활성화됩니다. 한 번에 하나의 데이터 수집 방법만 활성화할 수 있습니다.

이벤트 수준 데이터 수집을 활성화하거나 비활성화하려면:

  1. 관리자 접근 권한이 있는 사용자로 로그인합니다.
  2. 오른쪽 상단 모서리에서 Admin을 선택합니다.
  3. 왼쪽 사이드바에서 Settings > Metrics and Profiling을 선택합니다.
  4. Event tracking을 펼칩니다.
  5. 설정을 활성화하려면 Enable event tracking 체크박스를 선택합니다. 설정을 비활성화하려면 체크박스를 지웁니다.
  6. Save changes를 선택합니다.

이벤트 수준 데이터 수집 프로그래밍 방식으로 구성#

다음 중 하나를 사용하여 이벤트 수준 데이터 수집을 프로그래밍 방식으로 구성할 수 있습니다:

  • 초기 기본값: 최초 설치 중에만 적용됩니다.
  • 환경 변수 재정의: 런타임에 적용되며 데이터베이스 설정보다 우선합니다.

초기 기본값 (설치 전용)#

이 설정은 GitLab의 초기 설치 중에만 적용됩니다. 설치 후 이 설정을 변경하면 효과가 없습니다.

/etc/gitlab/gitlab.rb에서 gitlab_rails['initial_gitlab_product_usage_data']false로 설정합니다:

gitlab_rails['initial_gitlab_product_usage_data'] = false

그런 다음 GitLab을 재구성합니다:

sudo gitlab-ctl reconfigure

values 파일에서 global.appConfig.initialDefaults.gitlabProductUsageDatafalse로 설정합니다:

global:
  appConfig:
    initialDefaults:
      gitlabProductUsageData: false

또는 명령줄을 통해:

helm install gitlab gitlab/gitlab \
  --set global.appConfig.initialDefaults.gitlabProductUsageData=false

환경 변수 재정의 (런타임)#

Note

GitLab 18.9에서 도입되었습니다.

GITLAB_PRODUCT_USAGE_DATA_ENABLED 환경 변수는 런타임에 이벤트 수준 데이터 수집을 제어할 수 있습니다. 설정되면 이 환경 변수는:

  • 데이터베이스 설정보다 우선합니다.
  • Admin UI를 통해 변경할 수 없습니다(토글이 비활성화됩니다).
  • 데이터베이스 마이그레이션 없이 즉시 적용됩니다.

다음에 유용합니다:

  • 자동화된 구성이 필요한 에어갭 환경
  • 업그레이드 전반에 걸쳐 일관된 설정이 필요한 배포
  • UI 접근이 실용적이지 않은 자동화된 배포 워크플로

유효한 값은 true 또는 false입니다.

/etc/gitlab/gitlab.rb에서 환경 변수를 설정합니다:

gitlab_rails['env']['GITLAB_PRODUCT_USAGE_DATA_ENABLED'] = 'false'

그런 다음 GitLab을 재구성합니다:

sudo gitlab-ctl reconfigure

values 파일에서 extraEnv를 사용하여 환경 변수를 설정합니다:

gitlab:
  sidekiq:
    extraEnv:
      GITLAB_PRODUCT_USAGE_DATA_ENABLED: 'false'
  webservice:
    extraEnv:
      GITLAB_PRODUCT_USAGE_DATA_ENABLED: 'false'

또는 명령줄을 통해:

helm upgrade gitlab gitlab/gitlab \
  --set gitlab.sidekiq.extraEnv.GITLAB_PRODUCT_USAGE_DATA_ENABLED='false' \
  --set gitlab.webservice.extraEnv.GITLAB_PRODUCT_USAGE_DATA_ENABLED='false'

컨테이너를 시작할 때 환경 변수를 전달합니다:

docker run --env GITLAB_PRODUCT_USAGE_DATA_ENABLED=false gitlab/gitlab-ee:latest

또는 Docker Compose 파일에서:

services:
  gitlab:
    image: gitlab/gitlab-ee:latest
    environment:
      GITLAB_PRODUCT_USAGE_DATA_ENABLED: 'false'

GitLab을 시작하기 전에 환경 변수를 설정합니다:

export GITLAB_PRODUCT_USAGE_DATA_ENABLED=false

또는 systemd 서비스 파일이나 init 스크립트에 추가합니다.

현재 설정 소스 확인#

환경 변수 재정의가 활성화되면 Admin UI에 설정이 환경 변수에 의해 제어되며 UI를 통해 변경할 수 없다는 경고 배너가 표시됩니다.

API를 통해 설정 소스를 확인할 수도 있습니다:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  "https://gitlab.example.com/api/v4/application/settings" | jq '.gitlab_product_usage_data_enabled, .gitlab_product_usage_data_source'

gitlab_product_usage_data_source 필드는 다음 중 하나를 반환합니다:

  • environment: 설정이 GITLAB_PRODUCT_USAGE_DATA_ENABLED 환경 변수에 의해 제어됩니다.
  • database: 설정이 데이터베이스에 의해 제어됩니다(Admin UI를 통해 변경 가능).

이벤트 전달 타이밍#

이벤트가 발생한 후 거의 즉시 GitLab으로 전송됩니다. 시스템은 소규모 배치로 이벤트를 수집하여 10개의 이벤트가 수집되면 데이터를 전송합니다. 이 접근 방식은 효율적인 네트워크 사용을 유지하면서 거의 실시간 전달을 제공합니다.

페이로드 크기 및 압축#

각 이벤트는 JSON 형식으로 약 10kB입니다. 10개의 이벤트 배치는 약 100kB의 비압축 페이로드 크기가 됩니다. 전송 전에 페이로드를 압축하여 데이터 전송 크기를 최소화하고 성능을 최적화합니다.

이벤트 데이터 로그#

이벤트 수준 추적 데이터는 product_usage_data.log 파일에 기록됩니다. 이 로그에는 페이로드 정보 및 컨텍스트 데이터를 포함하여 추적된 제품 사용 이벤트의 JSON 형식 항목이 포함됩니다. 각 줄은 별도의 추적 이벤트와 전송된 모든 데이터를 나타냅니다.

로그 파일의 위치:

  • Linux 패키지 설치의 경우 /var/log/gitlab/gitlab-rails/product_usage_data.log
  • 소스 컴파일 설치의 경우 /home/git/gitlab/log/product_usage_data.log

이 로그는 데이터 전송에 대한 철저한 가시성을 제공하지만 기능 사용 분석보다는 보안 팀이 검사할 수 있도록 설계되었습니다. 로깅 시스템에 대한 자세한 정보는 로그 시스템 문서를 참조하세요.

이벤트 데이터

Tier: Free, Premium, Ultimate
Offering: GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

중요: GitLab 18.0부터 Self-Managed 및 Dedicated 인스턴스는 제품 사용에 대한 더 자세한 인사이트를 제공하는 이벤트 수준 데이터를 수집합니다. 제품 사용 데이터 수집의 변경 사항에 대한 자세한 정보는 블로그 게시물 GitLab Self-Managed 및 Dedicated를 위한 더 세분화된 제품 사용 인사이트를 읽어보세요.

히스토리
  • GitLab 17.11에서 토글이 활성화되었습니다.
  • GitLab 18.9에서 환경 변수 재정의가 도입되었습니다.

이벤트 수준의 제품 사용 데이터 추적#

중요: GitLab 18.0부터 Self-Managed 및 Dedicated 인스턴스는 제품 사용에 대한 더 자세한 인사이트를 제공하는 이벤트 수준 데이터를 수집합니다. 이전에는 Self-Managed 인스턴스에서 집계 메트릭만 수집되었습니다.

제품 사용 데이터 수집의 변경 사항에 대한 자세한 정보는 블로그 게시물 GitLab Self-Managed 및 Dedicated를 위한 더 세분화된 제품 사용 인사이트를 읽어보세요.

이벤트 데이터#

이벤트 데이터는 GitLab 플랫폼 내의 상호 작용(또는 작업)을 추적합니다. 이러한 상호 작용 또는 작업은 CI/CD 파이프라인 시작, 머지 리퀘스트 머지, 웹훅 트리거, 이슈 생성과 같이 사용자가 시작한 것일 수 있습니다. 작업은 예약된 파이프라인 성공과 같은 백그라운드 시스템 처리에서 발생할 수도 있습니다. 이벤트 데이터 수집의 초점은 사용자의 작업과 해당 작업과 관련된 메타데이터에 있습니다.

사용자 ID는 개인 정보를 보호하기 위해 가명화되며, GitLab은 메트릭을 개별 사용자와 재식별하거나 연결하는 프로세스를 수행하지 않습니다. 이벤트 데이터에는 GitLab 내에 저장된 소스 코드 또는 기타 고객이 만든 콘텐츠가 포함되지 않습니다.

자세한 내용은 다음을 참조하세요:

이벤트 데이터의 이점#

이벤트 수준 데이터는 사용자를 식별하지 않고 더 세분화된 인사이트를 제공하여 Service Ping의 여러 이점을 향상시킵니다.

  • 선제적 지원: 세분화된 데이터를 통해 고객 성공 관리자(CSM)와 지원 팀이 더 자세한 정보에 접근하여 드릴다운하고 더 일반적인 집계 메트릭에 의존하지 않고 조직의 고유한 요구에 맞는 커스텀 메트릭을 만들 수 있습니다.
  • 대상화된 안내: 이벤트 수준 데이터는 기능이 사용되는 방식에 대한 더 깊은 이해를 제공하여 최적화 및 개선 기회를 발견하는 데 도움이 됩니다. 데이터의 깊이를 통해 GitLab의 가치를 극대화하고 워크플로를 향상시키는 데 도움이 되는 더 정확하고 실행 가능한 권장 사항을 제공할 수 있습니다.
  • 익명 벤치마킹 보고서: 세분화된 이벤트 데이터는 단순히 높은 수준의 집계 데이터보다 자세한 사용 패턴에 집중하여 유사한 조직과 더 정확하고 관련성 있는 성능 비교를 가능하게 합니다.

이벤트 수준 데이터 수집 활성화 또는 비활성화#

Note

Snowplow 추적이 활성화된 경우 제품 사용 추적을 활성화하면 자동으로 비활성화됩니다. 한 번에 하나의 데이터 수집 방법만 활성화할 수 있습니다.

이벤트 수준 데이터 수집을 활성화하거나 비활성화하려면:

  1. 관리자 접근 권한이 있는 사용자로 로그인합니다.
  2. 오른쪽 상단 모서리에서 Admin을 선택합니다.
  3. 왼쪽 사이드바에서 Settings > Metrics and Profiling을 선택합니다.
  4. Event tracking을 펼칩니다.
  5. 설정을 활성화하려면 Enable event tracking 체크박스를 선택합니다. 설정을 비활성화하려면 체크박스를 지웁니다.
  6. Save changes를 선택합니다.

이벤트 수준 데이터 수집 프로그래밍 방식으로 구성#

다음 중 하나를 사용하여 이벤트 수준 데이터 수집을 프로그래밍 방식으로 구성할 수 있습니다:

  • 초기 기본값: 최초 설치 중에만 적용됩니다.
  • 환경 변수 재정의: 런타임에 적용되며 데이터베이스 설정보다 우선합니다.

초기 기본값 (설치 전용)#

이 설정은 GitLab의 초기 설치 중에만 적용됩니다. 설치 후 이 설정을 변경하면 효과가 없습니다.

/etc/gitlab/gitlab.rb에서 gitlab_rails['initial_gitlab_product_usage_data']false로 설정합니다:

gitlab_rails['initial_gitlab_product_usage_data'] = false

그런 다음 GitLab을 재구성합니다:

sudo gitlab-ctl reconfigure

values 파일에서 global.appConfig.initialDefaults.gitlabProductUsageDatafalse로 설정합니다:

global:
  appConfig:
    initialDefaults:
      gitlabProductUsageData: false

또는 명령줄을 통해:

helm install gitlab gitlab/gitlab \
  --set global.appConfig.initialDefaults.gitlabProductUsageData=false

환경 변수 재정의 (런타임)#

Note

GitLab 18.9에서 도입되었습니다.

GITLAB_PRODUCT_USAGE_DATA_ENABLED 환경 변수는 런타임에 이벤트 수준 데이터 수집을 제어할 수 있습니다. 설정되면 이 환경 변수는:

  • 데이터베이스 설정보다 우선합니다.
  • Admin UI를 통해 변경할 수 없습니다(토글이 비활성화됩니다).
  • 데이터베이스 마이그레이션 없이 즉시 적용됩니다.

다음에 유용합니다:

  • 자동화된 구성이 필요한 에어갭 환경
  • 업그레이드 전반에 걸쳐 일관된 설정이 필요한 배포
  • UI 접근이 실용적이지 않은 자동화된 배포 워크플로

유효한 값은 true 또는 false입니다.

/etc/gitlab/gitlab.rb에서 환경 변수를 설정합니다:

gitlab_rails['env']['GITLAB_PRODUCT_USAGE_DATA_ENABLED'] = 'false'

그런 다음 GitLab을 재구성합니다:

sudo gitlab-ctl reconfigure

values 파일에서 extraEnv를 사용하여 환경 변수를 설정합니다:

gitlab:
  sidekiq:
    extraEnv:
      GITLAB_PRODUCT_USAGE_DATA_ENABLED: 'false'
  webservice:
    extraEnv:
      GITLAB_PRODUCT_USAGE_DATA_ENABLED: 'false'

또는 명령줄을 통해:

helm upgrade gitlab gitlab/gitlab \
  --set gitlab.sidekiq.extraEnv.GITLAB_PRODUCT_USAGE_DATA_ENABLED='false' \
  --set gitlab.webservice.extraEnv.GITLAB_PRODUCT_USAGE_DATA_ENABLED='false'

컨테이너를 시작할 때 환경 변수를 전달합니다:

docker run --env GITLAB_PRODUCT_USAGE_DATA_ENABLED=false gitlab/gitlab-ee:latest

또는 Docker Compose 파일에서:

services:
  gitlab:
    image: gitlab/gitlab-ee:latest
    environment:
      GITLAB_PRODUCT_USAGE_DATA_ENABLED: 'false'

GitLab을 시작하기 전에 환경 변수를 설정합니다:

export GITLAB_PRODUCT_USAGE_DATA_ENABLED=false

또는 systemd 서비스 파일이나 init 스크립트에 추가합니다.

현재 설정 소스 확인#

환경 변수 재정의가 활성화되면 Admin UI에 설정이 환경 변수에 의해 제어되며 UI를 통해 변경할 수 없다는 경고 배너가 표시됩니다.

API를 통해 설정 소스를 확인할 수도 있습니다:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  "https://gitlab.example.com/api/v4/application/settings" | jq '.gitlab_product_usage_data_enabled, .gitlab_product_usage_data_source'

gitlab_product_usage_data_source 필드는 다음 중 하나를 반환합니다:

  • environment: 설정이 GITLAB_PRODUCT_USAGE_DATA_ENABLED 환경 변수에 의해 제어됩니다.
  • database: 설정이 데이터베이스에 의해 제어됩니다(Admin UI를 통해 변경 가능).

이벤트 전달 타이밍#

이벤트가 발생한 후 거의 즉시 GitLab으로 전송됩니다. 시스템은 소규모 배치로 이벤트를 수집하여 10개의 이벤트가 수집되면 데이터를 전송합니다. 이 접근 방식은 효율적인 네트워크 사용을 유지하면서 거의 실시간 전달을 제공합니다.

페이로드 크기 및 압축#

각 이벤트는 JSON 형식으로 약 10kB입니다. 10개의 이벤트 배치는 약 100kB의 비압축 페이로드 크기가 됩니다. 전송 전에 페이로드를 압축하여 데이터 전송 크기를 최소화하고 성능을 최적화합니다.

이벤트 데이터 로그#

이벤트 수준 추적 데이터는 product_usage_data.log 파일에 기록됩니다. 이 로그에는 페이로드 정보 및 컨텍스트 데이터를 포함하여 추적된 제품 사용 이벤트의 JSON 형식 항목이 포함됩니다. 각 줄은 별도의 추적 이벤트와 전송된 모든 데이터를 나타냅니다.

로그 파일의 위치:

  • Linux 패키지 설치의 경우 /var/log/gitlab/gitlab-rails/product_usage_data.log
  • 소스 컴파일 설치의 경우 /home/git/gitlab/log/product_usage_data.log

이 로그는 데이터 전송에 대한 철저한 가시성을 제공하지만 기능 사용 분석보다는 보안 팀이 검사할 수 있도록 설계되었습니다. 로깅 시스템에 대한 자세한 정보는 로그 시스템 문서를 참조하세요.