InfoGrab Docs

분산 추적

요약

Teleport는 OpenTelemetry를 활용하여 추적을 생성하고 OpenTelemetry Protocol (OTLP) 호환 익스포터로 내보냅니다. teleport 인스턴스에 대한 추적을 활성화하려면 해당 인스턴스의 구성 파일(/etc/teleport.yaml)에 다음 섹션을 추가합니다.

Teleport는 OpenTelemetry를 활용하여 추적을 생성하고 OpenTelemetry Protocol (OTLP) 호환 익스포터로 내보냅니다. 텔레메트리 백엔드가 OTLP 추적 수신을 지원하지 않는 경우, OpenTelemetry Collector를 활용하여 OTLP에서 텔레메트리 백엔드가 허용하는 형식으로 추적을 프록시할 수 있습니다.

Teleport 구성#

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

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

샘플링 속도#

샘플링 속도를 신중하게 선택하는 것이 중요합니다. 100% 속도로 샘플링하면 클러스터 성능에 부정적인 영향을 미칠 수 있습니다. Teleport는 들어오는 요청에 포함된 샘플링 속도를 존중합니다. 즉, tracing_service가 활성화되어 있고 샘플링 속도가 0이더라도, Teleport가 샘플링된 스팬이 있는 요청을 받으면 Teleport는 해당 요청에 대한 응답으로 생성된 모든 스팬을 샘플링하고 내보냅니다.

익스포터 URL#

exporter_url 설정은 Teleport가 스팬을 전송할 위치를 나타냅니다. 지원되는 스키마는 grpc://, http://, https://, file://입니다 (스키마가 제공되지 않으면 grpc://가 사용됩니다).

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

기본적으로 익스포터 연결은 비보안입니다. TLS를 지원하려면 tracing_service 구성에 다음을 추가합니다:

   # Optional path to CA certificates are used to validate the exporter.
  ca_certs:
    - /var/lib/teleport/exporter_ca.pem
  # Optional path tp TLS certificates are used to enable mTLS for the exporter
  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 Service에 정의된 exporter_url로 프록시됩니다.

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

Auth Service 구성에 정의된 것과 다른 익스포터로 tsh에서 추적을 내보내는 것도 --trace-exporter 플래그를 통해 가능합니다. tracing_serviceexporter_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는 OpenTelemetry를 활용하여 추적을 생성하고 OpenTelemetry Protocol (OTLP) 호환 익스포터로 내보냅니다. teleport 인스턴스에 대한 추적을 활성화하려면 해당 인스턴스의 구성 파일(/etc/teleport.yaml)에 다음 섹션을 추가합니다.

Teleport는 OpenTelemetry를 활용하여 추적을 생성하고 OpenTelemetry Protocol (OTLP) 호환 익스포터로 내보냅니다. 텔레메트리 백엔드가 OTLP 추적 수신을 지원하지 않는 경우, OpenTelemetry Collector를 활용하여 OTLP에서 텔레메트리 백엔드가 허용하는 형식으로 추적을 프록시할 수 있습니다.

Teleport 구성#

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

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

샘플링 속도#

샘플링 속도를 신중하게 선택하는 것이 중요합니다. 100% 속도로 샘플링하면 클러스터 성능에 부정적인 영향을 미칠 수 있습니다. Teleport는 들어오는 요청에 포함된 샘플링 속도를 존중합니다. 즉, tracing_service가 활성화되어 있고 샘플링 속도가 0이더라도, Teleport가 샘플링된 스팬이 있는 요청을 받으면 Teleport는 해당 요청에 대한 응답으로 생성된 모든 스팬을 샘플링하고 내보냅니다.

익스포터 URL#

exporter_url 설정은 Teleport가 스팬을 전송할 위치를 나타냅니다. 지원되는 스키마는 grpc://, http://, https://, file://입니다 (스키마가 제공되지 않으면 grpc://가 사용됩니다).

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

기본적으로 익스포터 연결은 비보안입니다. TLS를 지원하려면 tracing_service 구성에 다음을 추가합니다:

   # Optional path to CA certificates are used to validate the exporter.
  ca_certs:
    - /var/lib/teleport/exporter_ca.pem
  # Optional path tp TLS certificates are used to enable mTLS for the exporter
  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 Service에 정의된 exporter_url로 프록시됩니다.

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

Auth Service 구성에 정의된 것과 다른 익스포터로 tsh에서 추적을 내보내는 것도 --trace-exporter 플래그를 통해 가능합니다. tracing_serviceexporter_url과 동일한 형식을 따르는 URL을 제공해야 합니다.

$ tsh --trace --trace-exporter=grpc://collector.example.com:4317 ssh root@myserver
$ tsh --trace --trace-exporter=file:///var/lib/teleport/traces ls