인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
헬스 모니터링
Teleport는 건강하고 트래픽을 처리할 준비가 되었는지를 확인하기 위해 헬스 체크 메커니즘을 제공합니다. 이러한 메커니즘은 Kubernetes 프로브와 같은 것들이 Teleport 프로세스의 건강을 모니터링하는 데 사용될 수 있습니다.
헬스 모니터링 활성화
Teleport의 진단 HTTP 엔드포인트는 기본적으로 비활성화되어 있습니다. 이를 활성화하려면 다음 방법을 사용하십시오:
--diag-addr
플래그가 설치된 로컬 주소로 teleport
인스턴스를 시작하여 진단 엔드포인트가 수신 대기하게 설정합니다:
sudo teleport start --diag-addr=127.0.0.1:3000
teleport
인스턴스의 구성 파일(기본적으로 /etc/teleport.yaml
)을 편집하여 다음 내용을 포함하십시오:
teleport:
diag_addr: 127.0.0.1:3000
디버그 로그를 활성화하려면:
log:
severity: DEBUG
Teleport가 이제 진단 엔드포인트를 제공하는지 확인하십시오:
curl http://127.0.0.1:3000/healthz
이제 여러 엔드포인트에서 모니터링 정보를 수집할 수 있습니다.
/healthz
http://127.0.0.1:3000/healthz
엔드포인트는 프로세스가 실행 중일 경우 {"status":"ok"}
본문과 함께 HTTP 200 OK 상태 코드를 응답합니다.
이것은 Teleport 프로세스가 여전히 실행 중인지 확인하기 위한 간단한 체크입니다.
/readyz
http://127.0.0.1:3000/readyz
엔드포인트는 /healthz
와 유사하지만, 응답에는 프로세스의 상태에 대한 정보가 포함됩니다.
응답 본문은 다음과 같은 형식의 JSON 객체입니다:
{ "status": "여기에 상태 메시지"}
/readyz
및 하트비트
Teleport 구성 요소가 하트비트 절차를 실행하지 못하면 저하된 상태에 들어갑니다. 하트비트가 성공적으로 완료되면 Teleport는 이 상태에서 복구를 시작합니다.
첫 번째 성공적인 하트비트는 Teleport를 복구 상태로 전환합니다.
연속적으로 두 번째 성공적인 하트비트는 Teleport를 OK 상태로 전환시킵니다.
잘 작동하고 있을 때 Teleport 하트비트는 약 60초마다 실행되며, 실패한 하트비트는 약 5초마다 재시도됩니다. 즉, 하트비트 타이밍에 따라 연결이 복구된 후 /readyz
가 다시 건강하다고 보고하기까지 60-70초가 걸릴 수 있습니다.
상태 코드
응답의 상태 코드는 다음 중 하나일 수 있습니다:
- HTTP 200 OK: Teleport가 정상적으로 운영되고 있습니다.
- HTTP 503 Service Unavailable: Teleport가 연결 오류를 발견하여 저하된 상태로 실행되고 있습니다. 이 경우는 Teleport 하트비트가 실패할 때 발생합니다.
- HTTP 400 Bad Request: Teleport가 초기 시작 단계에 들어가거나 저하된 상태에서 복구를 시작했습니다.
동일한 상태 정보는 /metrics
엔드포인트의 process_state
메트릭을 통해서도 확인할 수 있습니다.