Infograb logo
진단 서비스

tbot 프로세스는 선택적으로 진단 서비스를 노출할 수 있습니다. 기본적으로 비활성화되어 있지만, 활성화되면 실행 중인 tbot 프로세스에 대한 유용한 정보를 HTTP를 통해 쿼리할 수 있습니다.

구성

진단 서비스를 활성화하려면 수신할 주소와 포트를 지정해야 합니다.

보안상의 이유로 이 수신에 대한 접근이 제한되어야 합니다. 대부분의 경우, 가장 안전한 방법은 수신을 127.0.0.1 에 바인딩하는 것으로, 이는 로컬 머신에서만 접근을 허용합니다.

다음과 같이 --diag-addr CLI 매개변수를 사용하여 진단 서비스를 구성할 수 있습니다:

tbot start -c my-config.yaml --diag-addr 127.0.0.1:3001

또는 구성 파일 내에서 diag_addr 을 사용하여 직접 설정할 수 있습니다:

diag_addr: 127.0.0.1:3001

엔드포인트

진단 서비스는 다음 HTTP 엔드포인트를 노출합니다.

/livez

/livez 엔드포인트는 항상 200 상태 코드로 반환됩니다. 이는 tbot 프로세스가 실행 중이며 충돌하거나 멈추지 않았는지 확인하는 데 사용할 수 있습니다.

Kubernetes에 배포할 경우, 이 엔드포인트를 Liveness Probe로 사용하는 것을 권장합니다.

/readyz

/readyz 엔드포인트는 현재 /livez 와 동일한 정보를 반환합니다.

향후 이 엔드포인트는 tbot 내부 구성 요소가 인증서를 생성할 수 있는지 여부를 나타내고 요청을 처리할 준비가 되었는지 알려주는 기능으로 확장될 것입니다.

/metrics

/metrics 엔드포인트는 Prometheus 호환 메트릭 스냅샷을 반환합니다.

Go 런타임에 의해 제공된 메트릭이 노출되며, 이를 통해 tbot 프로세스의 전반적인 건강 상태를 모니터링할 수 있습니다. 또한, tbot 에서 구성된 특정 출력 및 서비스는 메트릭을 생성합니다.

ssh-multiplexer

SSH 멀티플렉서 서비스는 활성 SSH 연결 수에 대한 메트릭을 노출합니다:

  • tbot_ssh_multiplexer_requests_started_total : 시작된 SSH 연결의 총 수.
  • tbot_ssh_multiplexer_requests_handled_total : 처리된 SSH 연결의 총 수. 이에는 status 레이블이 있으며, 값은 OK 또는 ERROR 입니다.
  • tbot_ssh_multiplexer_requests_in_flight : 현재 진행 중인 SSH 연결의 수.

/debug/pprof

이 엔드포인트는 디버깅 목적으로 pprof 프로파일을 수집할 수 있도록 합니다. 성능 문제를 겪고 있는 경우 Teleport 엔지니어에게 수집하라는 요청을 받을 수 있습니다.

이들은 tbot 시작 시 -d /--debug 플래그가 제공될 때만 활성화됩니다. 이는 디버그 모드로 알려져 있습니다.

Teleport 원문 보기