4.2. 분산 추적 플랫폼 구성 및 배포(Tempo)
Tempo Operator는 분산 추적 플랫폼(Tempo) 리소스를 생성하고 배포할 때 사용할 아키텍처 및 구성 설정을 정의하는 CRD(사용자 정의 리소스 정의) 파일을 사용합니다. 기본 구성을 설치하거나 파일을 수정할 수 있습니다.
4.2.1. 배포 사용자 정의
백엔드 스토리지 구성에 대한 자세한 내용은 영구 스토리지 및 선택한 스토리지 옵션에 대한 적절한 구성 주제를 참조하십시오.
4.2.1.1. 분산 추적 기본 구성 옵션
Tempo CR(사용자 정의 리소스)은 분산 추적 플랫폼(Tempo) 리소스를 생성할 때 사용할 아키텍처 및 설정을 정의합니다. 이러한 매개변수를 수정하여 비즈니스 요구에 맞게 분산 추적 플랫폼(Tempo) 구현을 사용자 지정할 수 있습니다.
일반적인 Tempo YAML 파일의 예
apiVersion: tempo.grafana.com/v1alpha1 kind: TempoStack metadata: name: name spec: storage: {} resources: {} storageSize: 200M replicationFactor: 1 retention: {} template: distributor:{} ingester: {} compactor: {} querier: {} queryFrontend: {} gateway: {}
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
| 오브젝트를 생성할 때 사용할 API 버전입니다. |
|
|
| 생성할 Kubernetes 오브젝트를 정의합니다. |
| |
|
|
OpenShift Container Platform은 | |
| 오브젝트의 이름입니다. | TempoStack 인스턴스의 이름입니다. |
|
| 생성할 오브젝트의 사양입니다. |
TempoStack 인스턴스에 대한 모든 구성 매개변수를 포함합니다. 모든 Tempo 구성 요소에 대한 공통 정의가 필요한 경우 | 해당 없음 |
| TempoStack에 할당된 리소스입니다. | ||
| ingester PVC의 스토리지 크기입니다. | ||
| 복제 요소에 대한 구성입니다. | ||
| 추적 보존을 위한 구성 옵션입니다. | ||
|
스토리지를 정의하는 구성 옵션입니다. 모든 스토리지 관련 옵션은 | ||
|
Tempo | ||
|
Tempo | ||
|
Tempo | ||
|
Tempo | ||
|
Tempo | ||
|
Tempo |
최소 필수 구성
기본 설정으로 분산 추적 플랫폼(Tempo) 배포를 생성하는 데 필요한 최소 사항은 다음과 같습니다.
apiVersion: tempo.grafana.com/v1alpha1
kind: TempoStack
metadata:
name: simplest
spec:
storage: 1
secret:
name: minio
type: s3
resources:
total:
limits:
memory: 2Gi
cpu: 2000m
template:
queryFrontend:
jaegerQuery:
enabled: true
ingress:
type: route
- 1
- 이 섹션에서는 배포된 오브젝트 스토리지 백엔드를 지정합니다. 이 백엔드에는 오브젝트 스토리지에 액세스하기 위해 인증 정보가 포함된 생성된 시크릿이 필요합니다.
4.2.1.2. 분산 추적 플랫폼(Tempo) 스토리지 구성
spec.storage
의 TempoStack
사용자 정의 리소스에서 분산 추적 플랫폼(Tempo)에 대한 오브젝트 스토리지를 구성할 수 있습니다. 지원되는 여러 스토리지 공급자 중에서 선택할 수 있습니다.
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
spec: storage: secret type: | 배포에 사용할 스토리지 유형입니다. |
|
|
storage: secretname: | set 오브젝트 스토리지 유형의 인증 정보가 포함된 시크릿의 이름입니다. | 해당 없음 | |
storage: tls: caName: |
CA는 CA 인증서가 포함된 |
스토리지 공급자 |
---|
시크릿 매개변수 |
|
MinIO |
MinIO Operator 를 참조하십시오.
|
Amazon S3 |
|
Microsoft Azure Blob Storage |
|
GCP(Google Cloud Platform)의 Google Cloud Storage |
|
4.2.1.3. 쿼리 구성 옵션
쿼리는 스토리지에서 추적을 검색하고 사용자 인터페이스에서 표시하도록 호스팅하는 서비스입니다.
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
spec: query: replicas: | 생성할 쿼리 복제본 수를 지정합니다. | 양의 정수 |
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
spec: query: options: {} | 쿼리 서비스를 정의하는 구성 옵션입니다. | ||
options: log-level: | 쿼리의 로깅 수준입니다. |
| |
options: query: base-path: |
모든 tempo-query HTTP 경로의 기본 경로를 루트가 아닌 값으로 설정할 수 있습니다. 예를 들어 |
|
샘플 쿼리 구성
apiVersion: tempotracing.io/v1 kind: "Tempo" metadata: name: "my-tempo" spec: strategy: allInOne allInOne: options: log-level: debug query: base-path: /tempo
4.2.2. 분산 추적 플랫폼(Tempo)에 대한 모니터링 설정
Tempo Operator는 배포자, ingester 등과 같은 각 TempoStack 구성 요소의 모니터링 및 경고를 지원하며 Operator 자체에 대한 업그레이드 및 운영 메트릭을 노출합니다.
4.2.2.1. TempoStack 메트릭 및 경고 구성
TempoStack 인스턴스의 메트릭 및 경고를 활성화할 수 있습니다.
사전 요구 사항
- 클러스터에서 사용자 정의 프로젝트에 대한 모니터링이 활성화됩니다. 사용자 정의 프로젝트에 대한 모니터링 활성화를 참조하십시오.
절차
TempoStack 인스턴스의 메트릭을 활성화하려면
spec.observability.metrics.createServiceMonitors
필드를true
로 설정합니다.apiVersion: tempo.grafana.com/v1alpha1 kind: TempoStack metadata: name: <name> spec: observability: metrics: createServiceMonitors: true
TempoStack 인스턴스에 대한 경고를 활성화하려면
spec.observability.metrics.createPrometheusRules
필드를true
로 설정합니다.apiVersion: tempo.grafana.com/v1alpha1 kind: TempoStack metadata: name: <name> spec: observability: metrics: createPrometheusRules: true
검증
웹 콘솔의 관리자 보기를 사용하여 구성이 성공했는지 확인할 수 있습니다.
-
Observe
Targets 로 이동하여 Source: User 에 대해 필터링한 다음 tempo-<instance_name>-<component
> 형식의 ServiceMonitors 의 상태가 Up 인지 확인합니다. -
경고가 올바르게 설정되었는지 확인하려면 모니터링
경고 경고 규칙으로 이동하여 Source: User 에 대해 필터링한 다음 TempoStack 인스턴스 구성 요소에 대한 경고 규칙을 사용할 수 있는지 확인합니다.
4.2.2.2. Tempo Operator 지표 및 경고 구성
웹 콘솔에서 Tempo Operator를 설치할 때 이 네임스페이스에서 Operator 권장 클러스터 모니터링 활성화 확인란을 선택하여 Tempo Operator의 메트릭 및 경고를 생성할 수 있습니다.
설치 중에 확인란을 선택하지 않은 경우 Tempo Operator를 설치한 후에도 메트릭 및 경고를 수동으로 활성화할 수 있습니다.
절차
-
Tempo Operator가 설치된 프로젝트에서 기본적으로
openshift.io/cluster
레이블을 추가합니다.-
monitoring: "true"
검증
웹 콘솔의 관리자 보기를 사용하여 구성이 성공했는지 확인할 수 있습니다.
-
Observe
Targets 로 이동하여 Source: Platform 을 필터링한 다음 Up 상태가 있어야 하는 tempo-operator
를 검색합니다. -
경고가 올바르게 설정되었는지 확인하려면 모니터링
경고 경고 규칙으로 이동하여 Source: Platform 에 대한 필터링 및 Tempo Operator 의 경고 규칙을 찾습니다.