InfoGrab DocsInfoGrab Docs

Service Ping 문제 해결

Service Ping을 로컬에서 설정하고 테스트하는 방법과 Prometheus 기반 Service Ping 테스트 방법, Service Ping 생성 방법을 설명합니다.

로컬에서 Service Ping 설정 및 테스트 # Service Ping을 로컬에서 설정하려면 다음을 수행해야 합니다: 로컬 리포지터리 설정 . 로컬 설정 테스트 . 선택 사항. Prometheus 기반 Service Ping 테스트 . 로컬 리포지터리 설정 # GitLab 을 클론하고 시작합니다. Versions Application 을 클론하고 시작합니다. PostgreSQL 및 Redis 인스턴스를 시작하려면 docker-compose up 을 실행해야 합니다. 기본 엔드포인트 대신 Versions Application 엔드포인트를 가리키도록 GitLab을 설정합니다: service_ping/submit_service.rb 를 로컬에서 열고 STAGING_BASE_URL 을 수정합니다. 로컬 Versions Application URL로 설정합니다: http://localhost:3000 . 로컬 설정 테스트 # gitlab Rails 콘솔을 사용하여 Service Ping을 수동으로 트리거합니다: GitlabServicePingWorker.new.perform('triggered_from_cron' => false) versions Rails 콘솔을 사용하여 Service Ping이 성공적으로 수신되고, 파싱되어 Versions 데이터베이스에 저장되었는지 확인합니다: UsageData.last Prometheus 기반 Service Ping 테스트 # 제출된 데이터에 Prometheus에서 쿼리된 메트릭이 포함되어 있고 이를 검사하고 확인하려면 다음을 수행해야 합니다: Prometheus 서버가 로컬에서 실행 중인지 확인합니다. 해당 GitLab 구성 요소가 Prometheus 서버로 메트릭을 내보내고 있는지 확인합니다. Prometheus에서 오는 데이터를 테스트할 필요가 없다면 추가 작업은 필요하지 않습니다. Service Ping은 Prometheus 서버가 실행되지 않는 경우에도 정상적으로 성능이 저하됩니다. Prometheus로 데이터를 내보낼 수 있는 세 가지 유형의 구성 요소가 있으며, Service Ping에 포함됩니다: node_exporter : 호스트 머신에서 노드 메트릭을 내보냅니다. gitlab-exporter : 다양한 GitLab 구성 요소에서 프로세스 메트릭을 내보냅니다. Sidekiq 및 Rails 서버와 같은 기타 다양한 GitLab 서비스로, 자체 메트릭을 내보냅니다. Omnibus 컨테이너로 테스트 # Prometheus 기반 Service Ping을 테스트하는 데 권장되는 방법입니다. 변경 사항을 확인하려면 CI/CD를 사용하여 코드 브랜치에서 새 Omnibus 이미지를 빌드하고, 이미지를 다운로드한 후 로컬 컨테이너 인스턴스를 실행합니다: 머지 리퀘스트에서 qa Stage를 선택한 다음 e2e:test-on-omnibus-ee job을 트리거합니다. 이 job은 omnibus-gitlab-mirror 프로젝트의 다운스트림 파이프라인 에서 Omnibus 빌드를 트리거합니다. 다운스트림 파이프