Infograb logo
진단 서비스

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

구성

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

보안상의 이유로 이 리스너에 대한 액세스가 제한되어 있는지 확인해야 합니다. 대부분의 경우, 가장 안전한 방법은 리스너를 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 연결 수. 여기에는 OK 또는 ERROR 값을 가진 status 레이블이 있습니다.
  • tbot_ssh_multiplexer_requests_in_flight: 현재 진행 중인 SSH 연결 수.

/debug/pprof

이 엔드포인트는 디버깅 목적으로 pprof 프로필 수집을 허용합니다. 성능 문제를 경험하고 있는 경우 Teleport 엔지니어에게 요청될 수 있습니다.

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

Teleport 원문 보기