Infograb logo
분산 추적

Teleport는 OpenTelemetry를 활용하여 추적을 생성하고 모든 OpenTelemetry 프로토콜(OTLP)을 지원하는 내보내기로 내보냅니다. 텔레메트리 백엔드가 OTLP 추적 수신을 지원하지 않는 경우, OTLP에서 텔레메트리 백엔드가 수용하는 형식으로 추적을 프록시하기 위해 OpenTelemetry 수집기를 활용할 수 있습니다.

Teleport 구성

teleport 인스턴스에 대한 추적을 활성화하려면 해당 인스턴스의 구성 파일(/etc/teleport.yaml)에 다음 섹션을 추가하세요. 이 구성 필드에 대한 자세한 설명은 구성 참조 페이지를 참조하세요.

tracing_service:
   enabled: yes
   exporter_url: grpc://collector.example.com:4317
   sampling_rate_per_million: 1000000

샘플링 비율

샘플링 비율을 현명하게 선택하는 것이 중요합니다. 100%로 샘플링하면 클러스터의 성능에 부정적인 영향을 미칠 수 있습니다. Teleport는 들어오는 요청에 포함된 샘플링 비율을 존중하며, 이는 tracing_service가 활성화되고 샘플링 비율이 0일 때도, Teleport가 샘플링된 span이 있는 요청을 수신하면 그러한 요청에 대한 응답으로 생성된 모든 span을 샘플링하고 내보낼 것임을 의미합니다.

내보내기 URL

exporter_url 설정은 Teleport가 span을 전송해야 하는 위치를 지정합니다. 지원되는 스킴은 grpc://, http://, https://, 및 file://입니다(스킴이 제공되지 않으면 grpc://가 사용됩니다).

file://를 사용할 때는 URL이 Teleport가 쓰기 권한을 가진 디렉터리 경로여야 합니다. 스팬은 제공된 디렉터리 내의 파일에 저장되며, 각 파일은 한 줄당 하나의 proto 인코딩된 span을 포함합니다. 파일은 100MB를 초과하면 회전되며, 기본 한도를 재정의하려면 exporter_url?limit=<원하는_파일_크기_바이트>를 추가하세요(예: file:///var/lib/teleport/traces?limit=100).

기본적으로 내보내기로의 연결은 안전하지 않으며, TLS를 지원하려면 다음을 tracing_service 구성에 추가하세요:

   # 내보내기를 검증하기 위해 사용되는 CA 인증서의 선택적 경로입니다.
  ca_certs:
    - /var/lib/teleport/exporter_ca.pem
  # 내보내기를 위한 mTLS를 활성화하는 데 사용되는 TLS 인증서의 선택적 경로입니다.
  https_keypairs:
    - key_file: /var/lib/teleport/exporter_key.pem
      cert_file: /var/lib/teleport/exporter_cert.pem

teleport.yaml를 업데이트한 후, 새로운 구성을 적용하기 위해 teleport 인스턴스를 시작하세요.

tsh

tsh에서 추적을 수집하려면 명령에 --trace 플래그를 추가하기만 하면 됩니다. tsh --trace로 생성된 모든 추적은 명령이 실행 중인 클러스터의 Auth 서비스에 대해 정의된 exporter_url로 프록시됩니다.

tsh --trace ssh root@myserver
tsh --trace ls

tsh에서 Auth 서비스 구성에 정의된 것과 다른 내보내기로 추적을 내보내는 것도 --trace-exporter 플래그를 통해 가능합니다. exporter_url의 형식과 일치하는 URL을 제공해야 합니다.

tsh --trace --trace-exporter=grpc://collector.example.com:4317 ssh root@myserver
tsh --trace --trace-exporter=file:///var/lib/teleport/traces ls
Teleport 원문 보기