문서 목차
ORKESTRIX설치
트레이스 저장소 (Tempo)
앱이 OTLP로 보내는 트레이스 (요청 하나가 여러 서비스를 거치는 전체 흐름 기록)를 저장하고, Grafana에서 조회할 수 있게 하는 Tempo 를 설치합니다.
QUANTUM C&S
앱이 OTLP로 보내는 트레이스(요청 하나가 여러 서비스를 거치는 전체 흐름 기록)를 저장하고, Grafana에서 조회할 수 있게 하는 Tempo를 설치합니다.
Tempo는 OpenTelemetry Collector가 받은 트레이스 데이터를 실제로 저장하는 목적지입니다 — Loki(로그)와 같은 역할을 트레이스에 대해 수행합니다.
설정값
inventory/qks/group_vars/all/all-k8s.yaml:
qks_tempo_enabled: true
qks_tempo_version: 1.24.4
qks_tempo_namespace: qks-monitoring
qks_tempo_storage_size: 20Gi
실행
./install.sh ubuntu plays/qks-tempo.yaml
설치 흐름
plays/qks-tempo.yaml
└─ Helm으로 Tempo 배포 (Single Binary 모드, 내장 PVC로 트레이스 보관)
- OTLP grpc(4317)/http(4318) 수신 기본 활성화
설치 확인
kubectl get pods -n qks-monitoring | grep tempo
파드가 Running이어야 합니다.
실제 동작 확인
Tempo가 실제로 트레이스를 받아 저장하는지, 테스트 트레이스를 직접 보내 확인합니다:
TS=$(date +%s%N)
TE=$((TS+1000000))
kubectl run otlptracetest --rm -i --image=curlimages/curl --restart=Never -- curl -s -X POST \
http://qks-otel-collector-collector.qks-otel.svc.cluster.local:4318/v1/traces \
-H "Content-Type: application/json" \
-d "{\"resourceSpans\":[{\"resource\":{\"attributes\":[{\"key\":\"service.name\",\"value\":{\"stringValue\":\"manual-test\"}}]},\"scopeSpans\":[{\"spans\":[{\"traceId\":\"0123456789abcdef0123456789abcdef\",\"spanId\":\"0123456789abcdef\",\"name\":\"manual-test-span\",\"kind\":1,\"startTimeUnixNano\":\"$TS\",\"endTimeUnixNano\":\"$TE\"}]}]}]}"
kubectl run curltest --rm -i --image=curlimages/curl --restart=Never -- curl -s \
http://qks-tempo.qks-monitoring.svc.cluster.local:3200/api/traces/0123456789abcdef0123456789abcdef
조회 결과에 manual-test-span이 보이면 정상 동작하는 것입니다.