Infograb logo
건강 모니터링

Teleport는 건강하고 트래픽에 서비스를 제공할 준비가 되었는지 확인하기 위해 건강 체크 메커니즘을 제공합니다. 이는 Kubernetes 프로브와 같은 것들이 Teleport 프로세스의 건강 상태를 모니터링하는 데 사용될 수 있습니다.

건강 모니터링 활성화

Teleport의 진단 HTTP 엔드포인트는 기본적으로 비활성화되어 있습니다. 다음을 통해 활성화할 수 있습니다:

--diag-addr 플래그가 설정된 teleport 인스턴스를 시작하여 진단 엔드포인트가 수신 대기할 로컬 주소를 지정하세요:

sudo teleport start {{ flags }} --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 서비스 사용 불가: Teleport가 연결 오류를 경험했으며 열화된 상태로 실행되고 있습니다. 이는 Teleport 하트 비트가 실패할 때 발생합니다.
  • HTTP 400 잘못된 요청: Teleport가 초기 시작 단계에 들어가거나 열화된 상태에서 복구를 시작하고 있습니다.

같은 상태 정보는 /metrics 엔드포인트 아래의 process_state 메트릭을 통해서도 사용할 수 있습니다.

Teleport 원문 보기