Istio OpenTelemetry 설정 가이드
OpenTelemetry TracingProvider 설정
istiod-values.yaml
meshConfig:
enableTracing: true
extensionProviders:
- name: opentelemetry
opentelemetry:
service: tempo.tempo.svc.cluster.local
port: 4317
grpc:
timeout: 10s
resourceDetectors:
environment: {}
meshConfigenableTracing: true|false- trace spans과 request IDs 생성을 제어합니다.
extensionProviders: []name: <name>opentelemetry- OpenTelemetryTracingProvider 설정입니다.
service: [<namespace>/]<hostname>- trace를 수집하는 애플리케이션의 FQDN을 지정합니다.
port: <port>httppath: /v1/tracestimeout: <duration>headers: []name: <headerName>value: <value>envName: <env>- 환경변수로부터 값을 가져옵니다.
grpctimeout: <duration>initialMetadata: []name: <headerName>value: <value>envName: <env>- 환경변수로부터 값을 가져옵니다.
resourceDetectorsenvironmentOTEL_RESOURCE_ATTRIBUTES환경변수로부터 리소스를 가져옵니다.
Envoy에 설정 적용
Reference
apiVersion: telemetry.istio.io/v1
kind: Telemetry
spec:
tracing:
- providers:
- name: opentelemetry
tracing: []providers: []name: <name>- TracingProvider 이름을 지정합니다.
randomSamplingPercentage: <0.00-100.00>- 샘플링 비율을 지정합니다.
- 0.01 단위로 설정할 수 있습니다.
customTags<tag>literalvalue: <value>
environmentname: <env>defaultValue: <value>
headername: <headerName>defaultValue: <value>
disableSpanReporting: true|falsetrue로 설정하면 trace span을 생성하지 않습니다. (tracing context는 전파됩니다.)