InfoGrab Docs

헬스 체크

헬스, 활성 상태, 준비 상태 확인을 수행하는 방법을 설명합니다.

GitLab은 서비스 상태와 필수 서비스에 대한 연결 가능성을 나타내는 활성 상태 및 준비 상태 프로브를 제공합니다. 이 프로브는 데이터베이스 연결, Redis 연결 및 파일 시스템 액세스 상태를 보고합니다. 이 엔드포인트는 Kubernetes와 같은 스케줄러에 제공 되어 시스템이 준비될 때까지 트래픽을 보류하거나 필요에 따라 컨테이너를 재시작할 수 있습니다. 헬스 체크 엔드포인트는 일반적으로 트래픽을 리디렉션하기 전에 서비스 가용성을 결정해야 하는 로드 밸런서 및 기타 Kubernetes 스케줄링 시스템에 사용됩니다. 이 엔드포인트를 대규모 Kubernetes 배포에서 효과적인 가동 시간을 결정하는 데 사용하면 안 됩니다. 그렇게 하면 자동 크기 조정, 노드 오류 또는 기타 정상적이고 파괴적이지 않은 운영 요구 사항으로 파드가 제거될 때 거짓 음성이 표시될 수 있습니다. 대규모 Kubernetes 배포에서 가동 시간을 결정하려면 UI에 대한 트래픽을 살펴봅니다. 이는 올바르게 균형 잡히고 예약되어 있으므로 효과적인 가동 시간의 더 나은 지표입니다. 로그인 페이지 /users/sign_in 엔드포인트도 모니터링할 수 있습니다. GitLab.com에서는 가동 시간을 결정하기 위해 Pingdom 과 같은 도구와 Apdex 측정값이 사용됩니다. IP 허용 목록 # 모니터링 리소스에 액세스하려면 요청 클라이언트 IP가 허용 목록에 포함되어야 합니다. 자세한 내용은 모니터링 엔드포인트에 대해 허용 목록에 IP를 추가하는 방법 을 참조하세요. 로컬에서 엔드포인트 사용 # 기본 허용 목록 설정으로 로컬호스트에서 다음 URL을 사용하여 프로브에 액세스할 수 있습니다: GET http://localhost/-/health GET http://localhost/health_check GET http://localhost/-/readiness GET http://localhost/-/liveness 헬스 # 애플리케이션 서버가 실행 중인지 여부를 확인합니다. 데이터베이스 또는 기타 서비스가 실행 중인지 확인하지 않습니다. 이 엔드포인트는 Rails 컨트롤러를 우회하고 요청 처리 라이프사이클의 초기에 추가 미들웨어 BasicHealthCheck 로 구현됩니다. GET /-/health 요청 예시: curl "https://gitlab.example.com/-/health" 응답 예시: GitLab OK 포괄적 헬스 체크 # Warning 로드 밸런싱이나 자동 크기 조정에 /health_check 를 사용하지 마세요. 이 엔드포인트는 백엔드 서비스(데이터베이스, Redis)를 검증하며 이러한 서비스가 느리거나 사용할 수 없을 때 애플리케이션이 제대로 기능하더라도 실패합니다. 이로 인해 로드 밸런서에서 정상적인 애플리케이션 노드가 불필요하게 제거될 수 있습니다. /health_check 엔드포인트는 데이터베이스 연결, Redis 가용성 및 기타 백엔드 서비스를 포함한 포괄적인 헬스 체크를 수행합니다. health_check gem에 의해 제공되며 전체 애플리케이