- 이메일 확인
- 암호 요구 사항
- SSH 키 제한
- SSH 호스트 키 지문
- SSH
known_hosts
항목 - 메일 구성
- 백업
- 지연된 그룹 삭제
- 지연된 프로젝트 삭제
- 비활성 프로젝트 삭제
- 대체 SSH 포트
- GitLab 페이지
- GitLab 컨테이너 레지스트리
- GitLab CI/CD
- 패키지 레지스트리 제한
- 계정 및 제한 설정
- 기본 가져오기 소스
- 가져오기 플레이스홀더 사용자 제한
- IP 범위
- 호스트명 목록
- 웹훅
- GitLab 호스트된 러너
- 퓨마
- 최대 검토자 및 담당자 수
- GitLab.com 특정 속도 제한
- 특정 Gitaly RPC 동시성 한도
- GitLab.com 로깅
- 대규모 GitLab.com
- Sidekiq
GitLab.com 설정
이 페이지에는 GitLab.com에서 사용되는 설정에 관한 정보가 포함되어 있으며 GitLab SaaS 고객을 대상으로 합니다.
이러한 설정 중 일부는 GitLab.com의 인스턴스 구성 페이지에서 확인할 수 있습니다.
이메일 확인
GitLab.com에는 다음과 같은 설정이 있습니다:
-
email_confirmation_setting
설정은 Hard로 설정되어 있습니다. -
unconfirmed_users_delete_after_days
설정은 3일로 설정되어 있습니다.
암호 요구 사항
GitLab.com은 새 계정 및 암호 변경에 대한 다음 요구 사항을 갖고 있습니다:
- 최소 글자 수는 8자입니다.
- 최대 글자 수는 128자입니다.
- 모든 문자가 허용됩니다. 예를 들어,
~
,!
,@
,#
,$
,%
,^
,&
,*
,()
,[]
,_
,+
,=
, 및-
.
SSH 키 제한
GitLab.com은 기본 SSH 키 제한을 사용합니다.
SSH 호스트 키 지문
GitLab.com에서 SSH 호스트 키 지문을 확인하려면 현재 인스턴스 구성으로 이동하십시오.
- GitLab에 로그인합니다.
- 왼쪽 사이드바에서 Help () > Help를 선택합니다.
- Help 페이지에서 현재 인스턴스 구성 확인을 선택합니다.
인스턴스 구성에서 SSH 호스트 키 지문을 확인할 수 있습니다:
알고리즘 | MD5 (사용 중단) | SHA256 |
---|---|---|
ECDSA | f1:d0:fb:46:73:7a:70:92:5a:ab:5d:ef:43:e2:1c:35
| SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw
|
ED25519 | 2e:65:6a:c8:cf:bf:b2:8b:9a:bd:6d:9f:11:5c:12:16
| SHA256:eUXGGm1YGsMAS7vkcx6JOJdOGHPem5gQp4taiCfCLB8
|
RSA | b6:03:0e:39:97:9e:d0:e7:24:ce:a3:77:3e:01:42:09
| SHA256:ROQFvPThGrW4RuWLoL9tq9I9zJ42fK4XywyRtbOz/EQ
|
GitLab.com 저장소에 처음 연결할 때, 이러한 키 중 하나가 출력됩니다.
SSH known_hosts
항목
SSH에서 수동 지문 확인을 건너뛰기 위해 다음을 .ssh/known_hosts
에 추가합니다:
gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9
gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=
메일 구성
GitLab.com은 Mailgun을 사용하여 mg.gitlab.com
도메인에서 이메일을 보내며, 고유한 전용 IP 주소를 사용합니다:
23.253.183.236
69.72.35.190
69.72.44.107
159.135.226.146
161.38.202.219
192.237.158.143
192.237.159.239
198.61.254.136
198.61.254.160
209.61.151.122
mg.gitlab.com
의 IP 주소는 언제든지 변경될 수 있습니다.
서비스 데스크 별칭 이메일 주소
GitLab.com에는 다음과 같이 서비스 데스크용으로 구성된 메일박스가 있습니다. 이메일 주소는 contact-project+%{key}@incoming.gitlab.com
입니다. 이 메일박스를 사용하려면 프로젝트 설정에서 사용자 지정 접미사를 구성하십시오.
백업
GitLab.com에서 프로젝트 전체를 백업하려면 다음을 하실 수 있습니다:
내보낸 파일에는 프로젝트 내보내기에 포함되는 내용 및 미포함 내용을 고려해야 합니다.
GitLab은 Git 위에서 구축되었으므로 다른 컴퓨터로 복제하여 프로젝트의 저장소만을 백업할 수 있습니다. 마찬가지로 프로젝트 위키를 백업하려면 위키를 복제할 수 있습니다. 모든 파일은 2020년 8월 22일 이후에 업로드된 파일도 복제됩니다.
지연된 그룹 삭제
2023년 5월 8일 이후, 모든 그룹에는 기본적으로 지연된 삭제 기능이 활성화됩니다.
그룹은 7일의 지연 기간 이후에 영구적으로 삭제됩니다.
Free 티어에 속해있다면, 그룹이 즉시 삭제되며 복구할 수 없습니다.
삭제 대상으로 표시된 그룹 보기 및 복구할 수 있습니다.
지연된 프로젝트 삭제
2023년 5월 8일 이후, 모든 그룹에는 기본적으로 지연된 프로젝트 삭제 기능이 활성화됩니다.
프로젝트는 7일의 지연 기간 이후에 영구적으로 삭제됩니다.
Free 티어에 속해있다면, 프로젝트가 즉시 삭제되며 복구할 수 없습니다.
삭제 대상으로 표시된 프로젝트 보기 및 복구할 수 있습니다.
비활성 프로젝트 삭제
비활성 프로젝트 삭제는 GitLab.com에서 비활성화되어 있습니다.
대체 SSH 포트
GitLab.com은 git+ssh
에 대해 다른 SSH 포트를 사용하여 연결할 수 있습니다.
설정 | 값 |
---|---|
Hostname
| altssh.gitlab.com
|
Port
| 443
|
다음은 예시인 ~/.ssh/config
입니다:
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
GitLab 페이지
GitLab 페이지의 일부 설정은 셀프 매니지드 인스턴스의 기본값과 다릅니다:
설정 | GitLab.com |
---|---|
도메인 이름 | gitlab.io
|
IP 주소 | 35.185.44.232
|
사용자 정의 도메인 지원 | Yes |
TLS 인증서 지원 | Yes |
최대 사이트 크기 | 1 GB |
GitLab 페이지 웹 사이트 당 사용자 정의 도메인 수 | 150 |
페이지 사이트의 최대 크기는 GitLab CI/CD의 최대 아티팩트 크기에 따라 달라집니다.
속도 제한은 GitLab 페이지에도 적용됩니다.
GitLab 컨테이너 레지스트리
설정 | GitLab.com |
---|---|
도메인 이름 | registry.gitlab.com
|
IP 주소 | 35.227.35.254
|
CDN 도메인 이름 | cdn.registry.gitlab-static.net
|
CDN IP 주소 | 34.149.22.116
|
GitLab 컨테이너 레지스트리를 사용하려면 Docker 클라이언트는 다음에 액세스해야 합니다:
- 레지스트리 엔드포인트 및 인증을 위한 GitLab.com
- 이미지 다운로드를 위한 Google Cloud Storage 또는 Google Cloud Content Delivery Network
GitLab.com은 Cloudflare로 프런트닝되어 있습니다. GitLab.com으로의 들어오는 연결을 위해 Cloudflare의 CIDR 블록을 허용해야 합니다 (IPv4 및 IPv6).
GitLab CI/CD
다음은 GitLab CI/CD에 관한 현재 설정입니다. 여기에 나열되지 않은 설정 또는 기능 제한은 관련 문서에 나열된 기본값을 사용합니다.
설정 | GitLab.com | 기본값(셀프 매니지드) |
---|---|---|
아티팩트 최대 크기(압축됨) | 1GB | 최대 아티팩트 크기 참조 |
아티팩트 만료 시간 | 2020년 6월 22일부터 30일 후 삭제(그 이전에 만들어진 아티팩트는 만료 기간이 없음) | 기본 아티팩트 만료 참조 |
예약된 파이프라인 크론 | */5 * * * *
| 파이프라인 스케줄 고급 구성 참조 |
활성 파이프라인의 최대 작업 수 | Free 티어: 500 , 모든 시험 티어: 1000 , 프리미엄: 20000 , 얼티메이트: 100000
| 활성 파이프라인 작업 수 참조 |
프로젝트 당 최대 CI/CD 구독 수 | 2
| 프로젝트 당 CI/CD 구독 수 참조 |
프로젝트 당 최대 파이프라인 트리거 수 | 모든 티어에 대해 25000
| 파이프라인 트리거 수 제한 참조 |
프로젝트 당 최대 파이프라인 스케줄 수 | Free 티어: 10 , 유료 티어: 50
| 파이프라인 스케줄 수 참조 |
스케줄 당 생성되는 파이프라인의 최대 수 | Free 티어: 24 , 유료 티어: 288
| 파이프라인 스케줄 당 생성된 파이프라인 수 제한 참조 |
사용자 정의 보안 정책 프로젝트 당 정의된 스케줄 규칙의 최대 수 | 모든 유료 티어에 대해 무제한 | 보안 정책 프로젝트 당 정의된 스케줄 규칙 수 참조 |
예약된 작업 보관 기간 | 2020년 6월 22일부터 3개월(그 이전에 만들어진 작업은 2020년 9월 22일 이후에 보관됨) | never |
단위 테스트 보고서 당 최대 테스트 케이스 | 500000
| 무제한 |
등록된 러너 최대 수 | Free 티어: 그룹 당 50 / 프로젝트 당 50 , 모든 유료 티어: 그룹 당 1000 / 프로젝트 당 1000
| 스코프 당 등록된 러너 수 참조 |
dotenv 변수 제한 | Free 티어: 50 , 프리미엄 티어: 100 , 얼티메이트 티어: 150
| dotenv 변수 제한 참조 |
권한 토큰 지속 시간(분) | 15
| 사용자 정의 값을 설정하려면 레일즈 콘솔에서 ApplicationSetting.last.update(container_registry_token_expire_delay: <integer>) 를 실행합니다. <integer> 는 원하는 분 수입니다.
|
지정된 프로젝트, 사용자 및 커밋 당 최대 하류 파이프라인 트리거 속도 | 분당 350
| 하류 파이프라인 트리거 속도 최대 값 참조 |
패키지 레지스트리 제한
최대 파일 크기는 패키지 포맷에 따라 GitLab 패키지 레지스트리에 업로드된 패키지의 최대 크기가 다릅니다:
패키지 유형 | GitLab.com |
---|---|
Conan | 5 GB |
일반 | 5 GB |
Helm | 5 MB |
Maven | 5 GB |
npm | 5 GB |
NuGet | 5 GB |
PyPI | 5 GB |
Terraform | 1 GB |
계정 및 제한 설정
GitLab.com에는 다음과 같은 계정 제한이 활성화되어 있습니다. 설정이 명시되어 있지 않으면, 기본값은 Self-Managed 인스턴스를 위한 것과 동일합니다:
설정 | GitLab.com 기본값 |
---|---|
LFS를 포함한 저장소 크기 | 10 GB |
최대 가져오기 크기 | 5 GiB |
최대 내보내기 크기 | 40 GiB |
외부 객체 저장소에서 가져오기의 최대 원격 파일 크기 | 10 GiB |
직접 전송을 통한 원본 GitLab 인스턴스에서 가져오기의 최대 다운로드 파일 크기 | 5 GiB |
최대 첨부 파일 크기 | 100 MiB |
가져온 아카이브의 최대 압축 해제 파일 크기 | 25 GiB |
최대 푸시 크기 | 5 GiB |
저장소 크기 제한에 근접하거나 초과하는 경우, 다음을 수행할 수 있습니다:
참고:
git push
및 GitLab 프로젝트 가져오기는 클라우드플레어를 통해 요청 당 최대 5 GiB로 제한됩니다. 파일 업로드 이외의 가져오기에 이 제한은 적용되지 않습니다. 저장소 제한은 공개 및 비공개 프로젝트 양쪽에 적용됩니다.
기본 가져오기 소스
기본으로 사용하는 가져오기 소스는 사용 중인 GitLab에 따라 다릅니다:
- GitLab.com: 기본적으로 모든 사용 가능한 가져오기 소스가 활성화됩니다.
- Self-Managed GitLab: 기본적으로 가져오기 소스는 활성화되지 않으며 활성화해야 합니다.
가져오기 플레이스홀더 사용자 제한
GitLab.com에서 가져오기 중에 생성된 플레이스홀더 사용자 수는 최상위 네임스페이스당 제한됩니다. 제한은 요금제 및 시트 수에 따라 다릅니다. 자세한 정보는 GitLab.com의 플레이스홀더 사용자 제한 표를 참조하십시오.
IP 범위
GitLab.com은 그의 웹/API 플릿으로부터의 트래픽에 34.74.90.64/28
및 34.74.226.0/24
IP 범위를 사용합니다. 이 전체 범위는 오로지 GitLab에게 할당되었습니다. 웹훅 또는 저장소 미러링에서 온 연결이 해당 IP에서 오고 그것들을 허용할 수 있습니다.
GitLab.com은 클라우드플레어로부터 유입되었습니다. GitLab.com으로 들어오는 연결에 대해, 클라우드플레어의 CIDR 블록을 허용해야 할 수도 있습니다 (IPv4 및 IPv6).
CI/CD 러너로부터의 발신 연결에 대해서, 정적 IP 주소를 제공하지 않고 있습니다.
대부분의 GitLab.com 인스턴스 러너는 Google Cloud의 us-east1
에 배포되어 있으며, Linux GPU 활성화, Linux Arm64 제외, us-central1
에 호스팅되었습니다.
IP 기반 방화벽을 구성하기 위해 GCP의 IP 주소 범위나 CIDR 블록을 찾아야 합니다.
MacOS 러너는 AWS에 호스팅되었으며, 러너 매니저가 Google Cloud에 호스팅되어 있습니다. IP 기반 방화벽을 구성하기 위해 AWS IP 주소 범위와 Google Cloud을 허용해야 합니다.
호스트명 목록
로컬 HTTP(S) 프록시에서 허용 목록을 구성하거나 엔드 유저 컴퓨터를 관리하는 기타 웹 차단 소프트웨어에서 다음 호스트명을 추가하십시오. GitLab.com 페이지는 다음 호스트명으로부터 콘텐츠를 로드합니다:
gitlab.com
*.gitlab.com
*.gitlab-static.net
*.gitlab.io
*.gitlab.net
docs.gitlab.com 및 about.gitlab.com에서 제공되는 문서 및 회사 페이지는 공통 공개 CDN 호스트명으로부터 특정 페이지 콘텐츠를 직접로드합니다.
웹훅
웹훅에 대한 다음 제한이 적용됩니다.
요청 제한
분당 상위 네임스페이스당 웹후크가 호출될 수 있는 횟수. 제한은 요금제 및 구독 시트 수에 따라 다릅니다.
요금제 | GitLab.com 기본값 |
---|---|
무료 | 500
|
프리미엄 |
99 시트 이하: 1,600 100-399 시트: 2,800 <br400 시트 이상: 4,000
|
알티메이트 및 오픈 소스 |
999 시트 이하: 6,000 1,000-4,999 시트: 9,000 <br5,000 시트 이상: 13,000
|
기타 제한
설정 | GitLab.com의 기본값 |
---|---|
웹훅 수 | 프로젝트 당 100개, 그룹 당 50개 (하위 그룹 웹훅은 상위 그룹 제한에 포함되지 않음) |
최대 페이로드 크기 | 25 MB |
제한 시간 | 10초 |
다중 페이지 배포 | 100개의 추가 배포 (프리미엄 티어), 500개의 추가 배포 (얼티메이트 티어) |
자체 관리 인스턴스 제한은 다음에서 확인하십시오:
GitLab 호스트된 러너
GitLab 호스트된 러너를 사용하여 CI/CD 작업을 GitLab.com 및 전용 GitLab에서 원활하게 빌드, 테스트 및 응용 프로그램을 여러 환경에 배포할 수 있습니다.
자세한 정보는 GitLab 호스트된 러너를 참조하십시오.
퓨마
GitLab.com은 Puma 요청 제한에 대해 기본값 60초를 사용합니다.
최대 검토자 및 담당자 수
병합 요청에서 이러한 최대값을 적용합니다:
- 최대 담당자: 200
- 최대 리뷰어: 200
GitLab.com 특정 속도 제한
참고: 관리자 설명서에 대한 속도 제한을 참조하십시오.
요청이 속도 제한을 받으면 GitLab은 429
상태 코드로 응답합니다. 클라이언트는 요청을 다시 시도하기 전에 대기해야 합니다.
이 응답에는 자세히 설명된 정보 헤더도 포함됩니다: 속도 제한 응답.
다음 표는 GitLab.com의 속도 제한을 설명합니다:
속도 제한 | 설정 |
---|---|
IP 주소의 보호된 경로 | 분당 10개의 요청 |
프로젝트, 커밋 또는 파일 경로의 원시 엔드포인트 트래픽 | 분당 300개의 요청 |
IP 주소의 미인증 트래픽 | 분당 500개의 요청 |
사용자의 인증된 API 트래픽 | 분당 2,000개의 요청 |
사용자의 인증된 API 이외의 HTTP 트래픽 | 분당 1,000개의 요청 |
IP 주소의 모든 트래픽 | 분당 2,000개의 요청 |
이슈 생성 | 분당 200개의 요청 |
이슈 및 병합 요청에 대한 노트 생성 | 분당 60개의 요청 |
IP 주소의 고급, 프로젝트 또는 그룹 검색 API | 분당 10개의 요청 |
IP 주소의 GitLab Pages 요청 | 50초당 1,000개의 요청 |
GitLab Pages 도메인의 GitLab Pages 요청 | 10초당 5,000개의 요청 |
IP 주소의 GitLab Pages TLS 연결 | 50초당 1,000개의 요청 |
GitLab Pages 도메인의 GitLab Pages TLS 연결 | 10초당 400개의 요청 |
프로젝트, 사용자 또는 커밋의 파이프라인 생성 요청 | 분당 25개의 요청 |
프로젝트에 대한 경보 통합 엔드포인트 요청 | 시간당 3,600개의 요청 |
풀 미러링 간격 | 5분 |
사용자의 API 요청(/api/v4/users/:id )
| 10분당 300개의 요청 |
GitLab 패키지 클라우드 요청 | 분당 3,000개의 요청 (GitLab 16.11에서 도입됨) |
GitLab 리포지토리 파일 | 분당 500개의 요청 |
자세한 내용은 보호된 경로 및 원시 엔드포인트에 대한 속도 제한의 속도 제한에 대한 자세한 내용을 참조하십시오.
GitLab은 여러 레이어에서 요청에 대한 속도 제한을 설정할 수 있습니다. 여기에 나열된 속도 제한은 응용 프로그램에서 구성됩니다. 이러한 제한은 IP 주소당 가장 제한적입니다. GitLab.com의 속도 제한에 대한 자세한 정보는 핸드북의 설명서를 참조하십시오.
속도 제한 응답
속도 제한 응답에 대한 정보는 다음을 참조하십시오:
보호된 경로 제한
GitLab.com은 IP 주소당 분당 10개의 POST 요청에 대해 HTTP 상태 코드 429
로 응답합니다.
보호된 경로 차단 내용은 아래 소스를 참조하십시오. 이는 사용자 생성, 사용자 확인, 사용자 로그인 및 비밀번호 재설정 등을 포함합니다.
차단된 요청에 대한 응답 헤더 목록은 사용자 및 IP 속도 제한을 참조하십시오.
더 많은 세부 정보는 보호된 경로를 참조하십시오.
IP 차단
GitLab.com은 시스템이 잠재적으로 악의적으로 보는 단일 IP 주소로부터의 비정상적인 트래픽을 수신할 때 IP 차단이 발생할 수 있습니다. 이는 속도 제한 설정을 기반으로 합니다. 비정상적인 트래픽이 멈추면 IP 주소는 자동으로 해제됩니다(차단 유형에 따라). IP 주소가 영향을 받은 경우 GitLab 지원팀에 문의하여 IP 주소를 포함한 자세한 정보를 제공하십시오.
Git 및 컨테이너 레지스트리 실패한 인증 차단
단일 IP 주소로부터 1분 동안 300회의 인증 실패 요청이 수신되면 GitLab.com은 15분 동안 HTTP 상태 코드 403
으로 응답합니다.
이는 Git 요청 및 컨테이너 레지스트리(/jwt/auth
) 요청(결합됨)에만 적용됩니다.
- 성공적으로 인증되는 요청으로 재설정됩니다. 예: 299회의 인증 실패 요청 후 1회의 성공적인 요청으로 재설정되어 299회의 인증 실패 요청이 탐지되지 않습니다.
-
gitlab-ci-token
으로 인증된 JWT 요청에는 해당되지 않습니다.
응답 헤더는 제공되지 않습니다.
git
요청은 항상 비인증 요청을 먼저 보내고, 해당 요청에 대한 프라이빗 리포지토리의 경우 401
오류 결과를 반환합니다.
그런 다음, git
은 사용자 이름, 비밀번호 또는 액세스 토큰(사용 가능한 경우)으로 인증된 요청을 시도합니다. 이러한 요청은 동시에 너무 많이 전송될 경우 임시 IP 차단으로 이어질 수 있습니다. 이 문제를 해결하려면 SSH 키를 사용하여 GitLab과 통신하십시오.
페이지네이션 응답 헤더
성능상의 이유로 쿼리가 10,000개 이상의 레코드를 반환하는 경우, GitLab은 일부 헤더를 제외합니다.
가시성 설정
프로젝트, 그룹 및 스니펫에는 내부 가시성 설정이 GitLab.com에서 비활성화되어 있습니다.
SSH 최대 연결 수
GitLab.com은 무인증 SSH의 최대 동시 연결 수를 MaxStartups 설정을 사용하여 정의합니다. 최대 허용 연결 수를 초과하는 경우, 동시에 발생하는 연결은 삭제되고 사용자는 ssh_exchange_identification 오류를 받게 됩니다.
그룹 및 프로젝트 가져오기, 내보내기를 파일을 업로드하여 수행
남용을 방지하기 위해 다음이 속도 제한이 적용됩니다:
- 프로젝트 및 그룹 가져오기.
- 파일을 사용하는 그룹 및 프로젝트 내보내기.
- 내보낸 다운로드.
자세한 정보는 다음을 참조하세요:
변경할 수 없는 한도
구성할 수 없는 한도에 대한 정보는 구성할 수 없는 한도를 참조하십시오. 이러한 한도는 GitLab.com에서도 사용됩니다.
특정 Gitaly RPC 동시성 한도
저장소별 Gitaly RPC 동시성 및 대기열 한도는 git clone
등의 여러 유형의 Git 작업에 대해 구성됩니다. 이러한 한도를 초과하는 경우 클라이언트에게 fatal: remote error: GitLab is currently unable to handle this request due to load
메시지가 반환됩니다.
관리자 문서는 RPC 동시성 제한을 참조하십시오.
GitLab.com 로깅
우리는 Fluentd를 사용하여 로그를 구문 분석합니다. Fluentd는 로그를 Stackdriver Logging 및 Cloud Pub/Sub으로 보냅니다. Stackdriver는 Google Cold Storage (GCS)에 장기 보관을 위해 사용됩니다. Cloud Pub/Sub은 pubsubbeat
을 사용하여 로그를 Elastic 클러스터로 전달하는 데 사용됩니다.
다음과 같은 추가 정보를 우리의 runbooks에서 확인할 수 있습니다:
작업 로그
기본적으로 GitLab은 작업 로그를 만료시키지 않습니다. 작업 로그는 무기한으로 유지되며, GitLab.com에서 만료를 구성할 수 없습니다. 작업 로그는 작업 API를 사용하거나 파이프라인 삭제로 수동으로 지울 수 있습니다.
대규모 GitLab.com
GitLab Enterprise Edition Linux 패키지 설치에 추가하여 GitLab.com은 규모를 확보하기 위해 다음 응용 프로그램 및 설정을 사용합니다. 모든 설정은 Kubernetes 구성 또는 Chef 쿡북으로 공개적으로 이용 가능합니다.
Elastic 클러스터
우리는 모니터링 솔루션의 일부로 Elasticsearch와 Kibana를 사용합니다:
Fluentd
우리는 Fluentd를 통해 GitLab 로그를 통합합니다:
Prometheus
우리의 모니터링 스택을 완성하는 Prometheus:
Grafana
모니터링 데이터 시각화를 위해:
Sentry
오픈 소스 에러 추적:
Consul
서비스 검색:
HAProxy
고성능 TCP/HTTP 로드 밸런서:
Sidekiq
GitLab.com은 루비 작업 예약을 위해 외부 프로세스로 Sidekiq를 실행합니다.
현재 설정은 GitLab.com Kubernetes 팟 설정에서 확인할 수 있습니다.