InfoGrab DocsInfoGrab Docs

이벤트 데이터

요약

중요: GitLab 18.0부터 GitLab Self-Managed 및 Dedicated 인스턴스는 이벤트 수준 데이터를 수집하여 제품 사용 현황을 더 자세히 파악할 수 있게 합니다. 제품 사용 데이터 수집 변경 사항에 대한 자세한 내용은 블로그 글 More granular product usage insights for GitLab Self-Managed and Dedicated를 참고합니다.

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

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

중요: GitLab 18.0부터 GitLab Self-Managed 및 Dedicated 인스턴스는 이벤트 수준 데이터를 수집하여 제품 사용 현황을 더 자세히 파악할 수 있게 합니다. 이전에는 GitLab Self-Managed 인스턴스에서 집계된 메트릭만 수집했습니다.

제품 사용 데이터 수집 변경 사항에 대한 자세한 내용은 블로그 글 More granular product usage insights for GitLab Self-Managed and Dedicated를 참고합니다.

이벤트 데이터#

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

사용자 ID는 개인 정보 보호를 위해 가명 처리되며, GitLab은 메트릭을 개별 사용자와 다시 연결하거나 식별하는 어떠한 처리도 수행하지 않습니다. 이벤트 데이터에는 소스 코드나 GitLab에 저장된 그 밖의 고객 생성 콘텐츠가 포함되지 않습니다.

자세한 내용은 다음도 함께 참고합니다.

이벤트 데이터의 이점#

이벤트 수준 데이터는 사용자를 식별하지 않으면서 더 세분화된 인사이트를 제공해 Service Ping의 여러 이점을 강화합니다.

  • 선제적 지원: 세분화된 데이터를 통해 Customer Success Manager(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.gitlabProductUsageData를 false로 설정합니다.

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 형식으로 약 10 kB 입니다. 10건 배치의 압축 전 페이로드 크기는 약 100 kB 입니다. 전송 전에 페이로드를 압축해 데이터 전송량을 줄이고 성능을 높입니다.

이벤트 데이터 로그#

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

로그 파일 위치는 다음과 같습니다.

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

이 로그는 데이터 전송 과정을 충분히 확인할 수 있게 해 주지만, 기능 사용 분석이 아니라 보안팀의 점검을 위해 설계되었습니다. 로깅 시스템에 대한 자세한 내용은 로그 시스템 문서를 참고합니다.

이벤트 데이터

GitLab v19.5
Tier: Free, Premium, Ultimate
Offering: GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

중요: GitLab 18.0부터 GitLab Self-Managed 및 Dedicated 인스턴스는 이벤트 수준 데이터를 수집하여 제품 사용 현황을 더 자세히 파악할 수 있게 합니다. 제품 사용 데이터 수집 변경 사항에 대한 자세한 내용은 블로그 글 More granular product usage insights for GitLab Self-Managed and Dedicated를 참고합니다.

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

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

중요: GitLab 18.0부터 GitLab Self-Managed 및 Dedicated 인스턴스는 이벤트 수준 데이터를 수집하여 제품 사용 현황을 더 자세히 파악할 수 있게 합니다. 이전에는 GitLab Self-Managed 인스턴스에서 집계된 메트릭만 수집했습니다.

제품 사용 데이터 수집 변경 사항에 대한 자세한 내용은 블로그 글 More granular product usage insights for GitLab Self-Managed and Dedicated를 참고합니다.

이벤트 데이터#

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

사용자 ID는 개인 정보 보호를 위해 가명 처리되며, GitLab은 메트릭을 개별 사용자와 다시 연결하거나 식별하는 어떠한 처리도 수행하지 않습니다. 이벤트 데이터에는 소스 코드나 GitLab에 저장된 그 밖의 고객 생성 콘텐츠가 포함되지 않습니다.

자세한 내용은 다음도 함께 참고합니다.

이벤트 데이터의 이점#

이벤트 수준 데이터는 사용자를 식별하지 않으면서 더 세분화된 인사이트를 제공해 Service Ping의 여러 이점을 강화합니다.

  • 선제적 지원: 세분화된 데이터를 통해 Customer Success Manager(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.gitlabProductUsageData를 false로 설정합니다.

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 형식으로 약 10 kB 입니다. 10건 배치의 압축 전 페이로드 크기는 약 100 kB 입니다. 전송 전에 페이로드를 압축해 데이터 전송량을 줄이고 성능을 높입니다.

이벤트 데이터 로그#

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

로그 파일 위치는 다음과 같습니다.

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

이 로그는 데이터 전송 과정을 충분히 확인할 수 있게 해 주지만, 기능 사용 분석이 아니라 보안팀의 점검을 위해 설계되었습니다. 로깅 시스템에 대한 자세한 내용은 로그 시스템 문서를 참고합니다.