본문으로 건너뛰기

Monitoring 섹션

Admin Area의 Monitoring 섹션에서 GitLab 인스턴스의 System Info, Background Jobs, Health Check, Requests Profiles 기능을 제공합니다.

시스템 정보

System Info 페이지에는 다음과 같은 통계를 제공합니다.

필드설명
CPU사용 가능한 CPU 코어 수
Memory Usage사용 중인 메모리 및 사용 가능한 총 메모리
Disk Usage사용 중인 디스크 공간 및 사용 가능한 총 디스크 공간
UptimeGitLab 인스턴스의 대략적인 가동 시간

이러한 통계는 System Info 페이지로 이동하거나 브라우저에서 페이지를 새로고침할 때만 업데이트됩니다.

백그라운드 작업

Background Jobs 페이지는 Sidekiq 대시보드를 표시합니다. Sidekiq은 GitLab이 백그라운드에서 처리를 수행하는 데 사용됩니다.

Sidekiq 대시보드는 다음 요소로 구성됩니다.

  • 작업 상태별 탭
  • 백그라운드 작업 통계 분석
  • 선택 가능한 폴링(Polling) 간격으로, 처리된 작업과 실패된 작업의 실시간 그래프
  • 선택 가능한 시간 범위로, 처리된 작업과 실패된 작업의 히스토리 그래프
  • 다음을 포함한 Redis 통계 :
    • 버전 번호
    • 일 단위로 측정된 가동 시간
    • 연결 수
    • MB 단위로 측정된 현재 메모리 사용량
    • MB 단위로 측정된 최대 메모리 사용량

Health Check

Health Check 페이지는 상태 확인하는 데 사용되는 액세스 토큰 정보, 상태 정보를 조회할 수 있는 엔드포인트(endpoints) 및 현재 상태 정보를 제공합니다.

GitLab은 서비스 상태 및 필수 서비스에 대한 도달 가능성을 나타내는 라이브니스(liveness) 및 레디니스(readiness) 프로브(Probe)를 제공합니다. 이 프로브는 데이터베이스 연결 상태, Redis 연결 및 파일 시스템에 대한 액세스를 보고합니다. 이러한 엔드포인트는 Kubernetes와 같은 스케줄러에 제공되어 시스템이 준비될 때까지 트래픽을 유지하거나 필요에 따라 컨테이너를 다시 시작할 수 있습니다.

프로브(Probe) 엔드포인트에 액세스하는 동안 액세스 토큰을 제공해야 합니다. 현재 허용되는 토큰은 GitLab 인스턴스의 Admin Area > Monitoring > Health check (admin/health_check) 페이지에서 찾을 수 있습니다.

Requests Profiles

Requests Profiles 페이지는 프로파일링(profiling)에 필요한 토큰이 포함되어 있습니다.

요청을 프로파일링하려면 :

  1. Administrator 권한이 있는 사용자로 GitLab에 로그인합니다.

  2. 내비게이션 바에서 Admin Area를 클릭합니다.

  3. Monitoring > Requests Profiles로 이동합니다.

  4. Requests Profiles 섹션에서 토큰을 복사합니다.

  5. 프로파일링할 요청에 X-Profile-Token: <token>X-Profile-Mode: <mode>(여기서 <mode>execution 또는 memory가 될 수 있음) 헤더를 전달합니다. 헤더를 전달할 때 다음을 사용할 수 있습니다.

    • ModHeader Chrome extension과 같은 브라우저 익스텐션(확장 프로그램)

    • curl. 예를 들면 :

      curl --header 'X-Profile-Token: <token>' --header 'X-Profile-Mode: <mode>' "https://gitlab.example.com/group/project"

      프로파일링된 요청은 평소보다 오래 걸릴 수 있습니다.

요청이 완료된 후 Monitoring > Requests Profiles 관리 페이지에서 프로파일링 출력을 볼 수 있습니다.

photo | 인포그랩 GitLab | 인포그랩 GitLab

프로파일링된 요청 정리

프로파일링 된 요청의 출력은 Sidekiq worker를 통해 매일 한 번씩 지워집니다.

GitLab 원문 보기