Tempo 데이터 소스 프로비저닝
Tempo 데이터 소스 프로비저닝 (Provision the Tempo data source)
Grafana 프로비저닝 시스템의 일부로 YAML 파일에서 Tempo 데이터 소스를 정의·구성할 수 있어요. Git 같은 버전 관리를 사용해 파일 변경을 추적하고, 필요에 따라 변경을 업데이트하거나 롤백할 수 있어요.
출처: 문서
본문
Note YAML 프로비저닝은 주로 셀프 매니지드 Grafana 인스턴스에 사용돼요.
프로비저닝과 사용 가능한 구성 옵션에 대한 자세한 내용은 Provisioning Grafana를 참고하세요.
프로비저닝된 데이터 소스
프로비저닝된 데이터 소스는 Grafana UI에서 수정할 수 없어요. 설정 양식은 읽기 전용이고, Save & test 버튼은 Test로 바뀌어요(연결은 테스트할 수 있지만 변경은 저장할 수 없음). 변경하려면 두 가지 방법이 있어요:
- 데이터 소스 복제: 같은 타입의 새 데이터 소스를 만들고 프로비저닝된 데이터 소스에서 설정을 복사. Grafana Cloud용 프로비저닝된 데이터 소스 복제를 참고.
- 프로비저닝 파일 업데이트: YAML 구성 파일을 편집하고 Grafana를 재시작하거나 프로비저닝 시스템이 변경을 반영할 때까지 기다려요. trace to logs의 span time shifts를 포함한 모든 설정을 YAML 편집으로 변경할 수 있어요.
예제 파일
이 예제 프로비저닝 YAML 파일은 Tempo 데이터 소스 UI에서 사용 가능한 옵션의 동등한 설정을 구성해요. grafana-pyroscope-datasource를 실제 Pyroscope 데이터 소스의 UID로 바꾸고, 다른 데이터 소스의 Uid 값이 실제로 프로비저닝된 값과 일치하는지 확인하세요.
apiVersion: 1
datasources:
- name: Tempo
type: tempo
uid: EbPG8fYoz
url: http://localhost:3200
access: proxy
basicAuth: false
jsonData:
tracesToLogsV2:
# Field with an internal link pointing to a logs data source in Grafana.
# datasourceUid value must match the uid value of the logs data source.
datasourceUid: 'loki'
spanStartTimeShift: '-1h'
spanEndTimeShift: '1h'
tags: [{ key: 'job' }, { key: 'instance' }, { key: 'pod' }, { key: 'namespace' }]
filterByTraceID: false
filterBySpanID: false
customQuery: true
query: 'method="$${__span.tags.method}"'
tracesToMetrics:
datasourceUid: 'prom'
spanStartTimeShift: '-1h'
spanEndTimeShift: '1h'
tags: [{ key: 'service.name', value: 'service' }, { key: 'job' }]
queries:
- name: 'Sample query'
query: 'sum(rate(traces_spanmetrics_latency_bucket{$$__tags}[5m]))'
tracesToProfiles:
datasourceUid: 'grafana-pyroscope-datasource'
tags: [{ key: 'job' }, { key: 'instance' }, { key: 'pod' }, { key: 'namespace' }]
profileTypeId: 'process_cpu:cpu:nanoseconds:cpu:nanoseconds'
customQuery: true
query: 'method="$${__span.tags.method}"'
serviceMap:
datasourceUid: 'prometheus'
nodeGraph:
enabled: true
search:
hide: false
traceQuery:
timeShiftEnabled: true
spanStartTimeShift: '-1h'
spanEndTimeShift: '1h'
spanBar:
type: 'Tag'
tag: 'http.path'
streamingEnabled:
search: true
metrics: true
개별 설정에 대한 자세한 내용은 다음을 참고하세요:
- trace to logs 상관 관계 구성 :
tracesToLogsV2블록 - trace to metrics 상관 관계 구성 :
tracesToMetrics블록 - trace to profiles 상관 관계 구성 :
tracesToProfiles블록 - 추가 설정 :
serviceMap,nodeGraph,search,traceQuery,spanBar블록
Grafana Cloud용 프로비저닝된 데이터 소스 복제
Grafana Cloud에서 구성 파일로 프로비저닝된 데이터 소스가 있다면 복제한 뒤 새 데이터 소스를 Grafana UI에서 편집할 수 있어요. 예를 들어 Grafana Cloud에서 프로비저닝된 Tempo 데이터 소스의 trace to logs 설정을 편집하고 싶다면, 데이터 소스를 복제해 traceID·spanID 필터링을 활성화할 수 있어요. 단계는 다음과 같아요:
- Grafana Cloud Portal에서 viewer Cloud Access Policy 토큰을 만들어, 복제하려는 데이터 타입에 대해 최소한 읽기 권한이 있는지 확인.
- 복제하려는 것과 같은 타입의 새 데이터 소스 만들기.
- 기존 프로비저닝 데이터 소스의 모든 설정을 새 데이터 소스에 복사하되, 암호는 만든 API 키로 교체. 가장 쉬운 방법은 브라우저 창을 따로 열어 한쪽에 프로비저닝 데이터 소스, 다른 쪽에 새 데이터 소스를 띄우는 것.
- HTTP와 Auth 섹션을 복사하고 Cloud Access Policy 토큰을 Password 필드에 붙여넣고 원하는 다른 옵션을 바꾼 뒤 데이터 소스를 저장·테스트.
다음 단계
- Configure the Tempo data source — 연결, 인증, 스트리밍 설정으로 돌아가기.
- Configure trace to logs correlation — 스팬에서 로그로 이동 설정.
- 추가 설정 — Service graph, node graph, search 등 구성.