Infograb logo
헬스 모니터링

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 메트릭을 통해서도 확인할 수 있습니다.

Teleport 원문 보기