인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
진단 서비스
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
플래그가 제공될 때만 활성화됩니다. 이는 디버그 모드로 알려져 있습니다.