반응형
Prometheus로 수집한 데이터를 s3로 전송시키려면 Thanos 라는 사이드카를 사용해야 합니다.
저는 kube-prometheus-stack Helm 차트를 사용해서 설치를 했기 때문에,
Thanos 사이드카를 사용하기 위해 values.yaml 파일에서 내용을 수정해주도록 하겠습니다.
사전 준비
- 먼저 prometheus와 연결 시킬 pv가 필요하기 때문에 저는 EKS 클러스터에 ebs-csi-driver를 추가하여 스토리지 클래스를 생성해주었습니다.
- Prometheus가 수집한 데이터를 저장하기 위한 s3 버킷 생성
설정
- Thanos 사이드카를 포함하도록
values.yaml설정 변경
prometheus:
prometheusSpec:
disableCompaction: true
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: <생성하신 스토리지 클래스 이름 넣으면 됩니다.>
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
thanos:
image: quay.io/thanos/thanos:v0.30.0
objectStorageConfig:
existingSecret:
name: thanos-objstore-config
key: thanos.yaml
thanosService:
enabled: truevalues.yaml설정을 변경 했으니,helm upgrade명령을 사용해서 업데이트 해줍니다.
helm upgrade --install prometheus --create-namespace -n prometheus prometheus-community/kube-prometheus-stack --values values.yaml- thanos 사이드 카가 사용할 s3 설정 파일을 secret으로 변환 시켜 줍니다.
# vi thanos-storage-config.yaml
---
type: s3
config:
bucket: thanos-store #S3 Bucket Name
endpoint: s3.<region>.amazonaws.com #S3 Regional endpoint
access_key: <aws-account-id>
secret_key: <aws-account-secret>
---
# 앞서 생성한 yaml 파일을 토대로 secret 생성
kubectl -n prometheus create secret generic thanos-objstore-config --from-file=thanos.yaml=thanos-storage-config.yaml이제 시간이 지나고 s3에 가보면 아래 이미지 처럼 데이터가 생긴 것을 확인 할 수 있습니다.

반응형
'Monitoring' 카테고리의 다른 글
| S3에 백업된 Prometheus 데이터를 Thanos Query와 Grafana로 조회하기 (0) | 2025.11.08 |
|---|---|
| Tempo를 사용하여 Service Graph 만들기 (0) | 2025.11.05 |
| OpenTelemetry Collector 샘플링 튜닝: 원하는 트레이스를 잡아내는 방법 (0) | 2025.08.26 |
| 개발자의 도움 필요 없이 분산 Trace 추적: OpenTelemetry Auto-Instrumentation과 Tempo 활용법 (1) | 2025.08.21 |
| Alertmanager <-> Googlechat 으로 알람 보내기 (0) | 2025.08.11 |