Monitoring 섹션 | DevSecOps 구축 컨설팅, 교육, 기술지원 서비스 제공

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를 통해 매일 한 번씩 지워집니다.

깃랩 문서 바로가기
Health Check
Request Profiling