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@myservertsh --trace ls
tsh
에서 Auth 서비스 구성에 정의된 것과 다른 내보내기로 추적을 내보내는 것도 --trace-exporter
플래그를 통해 가능합니다. exporter_url
의 형식과 일치하는 URL을 제공해야 합니다.
tsh --trace --trace-exporter=grpc://collector.example.com:4317 ssh root@myservertsh --trace --trace-exporter=file:///var/lib/teleport/traces ls