상태 모니터링
Teleport v18.9Teleport는 정상 상태를 확인하고 트래픽 처리 준비 여부를 검증하기 위한 상태 확인 메커니즘을 제공합니다. Teleport의 진단 HTTP 엔드포인트는 기본적으로 비활성화되어 있습니다. 이제 여러 엔드포인트에서 모니터링 정보를 수집할 수 있습니다.
Teleport는 정상 상태를 확인하고 트래픽 처리 준비 여부를 검증하기 위한 상태 확인 메커니즘을 제공합니다. 이는 Kubernetes 프로브와 같은 도구로 Teleport 프로세스의 상태를 모니터링하는 데 사용할 수 있습니다.
상태 모니터링 활성화#
Teleport의 진단 HTTP 엔드포인트는 기본적으로 비활성화되어 있습니다. 다음을 통해 활성화할 수 있습니다:
Command line
진단 엔드포인트가 수신 대기할 로컬 주소로 `--diag-addr` 플래그를 설정하여
`teleport` 인스턴스를 시작합니다:
```code
$ sudo teleport start --diag-addr=127.0.0.1:3000
```
Config file
`teleport` 인스턴스의 구성 파일(기본값 `/etc/teleport.yaml`)을 편집하여
다음을 포함시킵니다:
```yaml
teleport:
diag_addr: 127.0.0.1:3000
```
디버그 로그를 활성화하려면:
```yaml
log:
severity: DEBUG
```
진단 엔드포인트에 연결할 수 있는지 확인하세요
이제 Teleport가 진단 엔드포인트를 제공하고 있는지 확인합니다:
```code
$ 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": "a status message here"}
/readyz와 하트비트#
Teleport 컴포넌트가 하트비트 절차를 실행하지 못하면 성능 저하 상태에 진입합니다. Teleport는 하트비트가 성공적으로 완료되면 이 상태에서 회복을 시작합니다.
첫 번째 성공적인 하트비트는 Teleport를 회복 중 상태로 전환합니다.
두 번째 연속 성공적인 하트비트는 Teleport를 정상 상태로 전환합니다.
Teleport 하트비트는 정상 상태에서 약 60초마다 실행되며, 실패한 하트비트는 약 5초마다 재시도됩니다. 즉, 하트비트 타이밍에 따라 연결이 복원된 후 /readyz가 다시 정상을 보고하기까지 60-70초가 걸릴 수 있습니다.
상태 코드#
응답의 상태 코드는 다음 중 하나입니다:
- HTTP 200 OK: Teleport가 정상적으로 작동 중
- HTTP 503 Service Unavailable: Teleport가 연결 오류를 만나 성능 저하 상태로 실행 중. Teleport 하트비트가 실패하면 발생합니다.
- HTTP 400 Bad Request: Teleport가 초기 시작 단계에 있거나 성능 저하 상태에서 회복을 시작했습니다.
동일한 상태 정보는 /metrics 엔드포인트의 process_state 메트릭을 통해서도 확인할 수 있습니다.