Prometheus מאחסן מדדים מקומית למשך 15 ימים בלבד — זו נקודת מכשול כשצריך אנליטיקה רבעונית, עונתיות, או תכנון קיבולת. דמיינו: תקלת ייצור בערב שישי, אבל המדדים משבועות קודמים כבר לא זמינים. Thanos פותר זאת דרך אחסון אובייקטים (S3, GCS), שכבת שאילתות גלובלית, ו-deduplication. יישמנו את Thanos ביותר מ-50 פרויקטים, מסטארטאפים ועד ארגונים, ואנחנו מבטיחים שתשכחו מחוסר היסטוריה תוך 3–5 ימים. קבלו ייעוץ — המהנדסים המוסמכים שלנו יעזרו בבחירת הארכיטקטורה.
למה Thanos במקום remote_write?
Remote_write (VictoriaMetrics, Cortex) דורש החלפת Prometheus, יוצר נקודת כשל יחידה, וחסר deduplication. Thanos רץ כ-sidecar לצד Prometheus הקיים, שומר על ה-HA שלו, ומאפשר פדרציה מרובת-אשכולות דרך bucket S3 משותף. דוגמה: בפרויקט שלנו עם 20 אשכולות, Thanos Querier משרת שאילתות על פני 90 ימים ללא שינוי ב-PromQL — מהירות התגובה יורדת רק ב-10% בהשוואה לנתונים מקומיים.
| קריטריון | Thanos | Remote_write (VictoriaMetrics) |
|---|---|---|
| ארכיטקטורה | Sidecar, ללא החלפת Prometheus | החלפה מלאה של Prometheus |
| Deduplication | כן (דרך תווית replica) | אין מובנה |
| ריבוי אשכולות | פדרציה טבעית דרך S3 | דורש הגדרה נפרדת |
| נקודת כשל יחידה | לא | כן (backend יחיד) |
איך Thanos עובד
| רכיב | פונקציה |
|---|---|
| Sidecar | מעלה בלוקים לאחסון אובייקטים, משרת נתונים טריים דרך gRPC |
| Store Gateway | קורא נתונים היסטוריים מ-S3 |
| Querier | שאילתה מאוחדת: Sidecar + Store Gateway |
| Compactor | דוחס ומבצע downsampling לבלוקים |
| Query Frontend | מטמון PromQL (cache), פיצול שאילתות טווח לחלקים |
תובנה מרכזית: Sidecar מתחבר ל-Prometheus המקומי דרך gRPC ומשרת נתונים טריים (בתוך תקופת השמירה) ישירות ל-Querier. Store Gateway משרת נתונים היסטוריים מ-S3. Querier ממזג את שני המקורות בשקיפות — שאילתה ל-90 הימים האחרונים עובדת ללא שינויים.
איך לפרוס את Thanos תוך 3–5 ימים?
תהליך היישום כולל:
- ביקורת על הניטור הנוכחי: הערכת נפח מדדים, תקופת שמירה, עלויות אחסון.
- עיצוב ארכיטקטורה: בחירת אחסון ענן, סכמת שכפול, גודל Store Gateway.
- פריסת Sidecar לצד Prometheus ב-Kubernetes באמצעות manifests.
- הגדרת Store Gateway ו-Querier עם גילוי מבוסס DNS לריבוי אשכולות.
- הגדרת Compactor עם downsampling ומדיניות שמירה.
- אינטגרציה עם Grafana: חיבור Thanos Querier כמקור נתונים והגדרת דשבורדים.
מה זה downsampling ואיך הוא מפחית עלויות?
Downsampling מפחית רזולוציה: נתונים גולמיים (15 שניות) נשמרים ל-30 ימים, מצטברים של 5 דקות ל-90 ימים, שעתיים לשנה. זה מקצץ את נפח האחסון פי 5–10 ללא אובדן מגמות. דחיסה ממזגת בלוקים קטנים לגדולים, מפחיתה את מספר הקבצים ומאיצה קריאות.
פריסה ב-Kubernetes
Sidecar לצד Prometheus
---
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: prometheus
spec:
replicas: 2
thanos:
image: quay.io/thanos/thanos:v0.35.0
objectStorageConfig:
key: thanos.yaml
name: thanos-objstore-config
externalLabels:
cluster: prod-eu-west
replica: $(POD_NAME)
apiVersion: monitoring.coreos.com/v1 kind: Prometheus metadata: name: prometheus spec: replicas: 2 thanos: image: quay.io/thanos/thanos:v0.35.0 objectStorageConfig: key: thanos.yaml name: thanos-objstore-config externalLabels: cluster: prod-eu-west replica: $(POD_NAME) הם קריטיים: הם מאפשרים ל-Thanos Querier לבצע deduplication בין רפליקות. עבור S3, השתמשו ב-bucket externalLabels עם תפקיד IAM דרך IRSA (ללא מפתחות סטטיים).
Store Gateway ו-Querier
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: thanos-store-gateway
spec:
replicas: 2
template:
spec:
containers:
- name: thanos-store
image: quay.io/thanos/thanos:v0.35.0
args:
- store
- --data-dir=/var/thanos/store
- --objstore.config-file=/etc/thanos/objstore.yaml
- --index-cache-size=500MB
- --chunk-pool-size=2GB
volumeMounts:
- name: data
mountPath: /var/thanos/store
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 100Gi
---
apiVersion: apps/v1 kind: StatefulSet metadata: name: thanos-store-gateway spec: replicas: 2 template: spec: containers: - name: thanos-store image: quay.io/thanos/thanos:v0.35.0 args: - store - --data-dir=/var/thanos/store - --objstore.config-file=/etc/thanos/objstore.yaml - --index-cache-size=500MB - --chunk-pool-size=2GB volumeMounts: - name: data mountPath: /var/thanos/store volumeClaimTemplates: - metadata: name: data spec: accessModes: [ReadWriteOnce] resources: requests: storage: 100Gi ו---index-cache-size הם פרמטרי ביצועים מרכזיים. באשכול עם 1TB של נתונים, אנו ממליצים להגדיל ל-2GB ו-8GB בהתאמה.
הגדרת Querier:
---
containers:
- name: thanos-query
image: quay.io/thanos/thanos:v0.35.0
args:
- query
- --http-address=0.0.0.0:9090
- --endpoint=dnssrv+_grpc._tcp.prometheus-operated.monitoring.svc.cluster.local
- --endpoint=dnssrv+_grpc._tcp.thanos-store-gateway.monitoring.svc.cluster.local
- --query.replica-label=replica
- --query.auto-downsampling
---
--chunk-pool-size מאפשר deduplication לפי תווית זו.
Compactor: שמירה ו-downsampling
Compactor הוא הרכיב היחיד שרץ כמופע יחיד. הוא דוחס בלוקים ומבצע downsampling:
args:
- compact
- --wait
- --wait-interval=5m
- --objstore.config-file=/etc/thanos/objstore.yaml
- --data-dir=/var/thanos/compact
- --retention.resolution-raw=30d
- --retention.resolution-5m=90d
- --retention.resolution-1h=1y
- --compact.concurrency=1
- --delete-delay=48h
Downsampling: נתונים גולמיים (15 שניות) 30 ימים → מצטברים של 5 דקות 90 ימים → שעתיים שנה. בעת שאילתה לשנה האחרונה, Thanos בוחר אוטומטית את הרזולוציה המתאימה דרך containers: - name: thanos-query image: quay.io/thanos/thanos:v0.35.0 args: - query - --http-address=0.0.0.0:9090 - --endpoint=dnssrv+_grpc._tcp.prometheus-operated.monitoring.svc.cluster.local - --endpoint=dnssrv+_grpc._tcp.thanos-store-gateway.monitoring.svc.cluster.local - --query.replica-label=replica - --query.auto-downsampling .
איך להקים ניטור מרובה-אשכולות?
הוסיפו נקודות קצה של כל ה-sidecars ל-Querier:
--endpoint=sidecar.prod-eu.example.com:10901
--endpoint=sidecar.prod-us.example.com:10901
--endpoint=store-gateway.thanos.svc:10901
שאילתה --query.replica-label=replica מחזירה נתונים מכל האשכולות בתוצאה אחת.
מה כלול בשירות יישום Thanos
אנו מציעים מחזור מלא: ביקורת על מערכת הניטור הנוכחית, עיצוב ארכיטקטורה, פריסת רכיבים ב-Kubernetes (sidecar, Store Gateway, Querier, Compactor), הגדרת IAM ו-S3, אינטגרציה עם Grafana, תיעוד והדרכת צוות. התוצאה: אחסון מדדים אמין לטווח ארוך עם שכבת שאילתות גלובלית. הניסיון שלנו של עשר שנים עם פרויקטים בכל היקף מבטיח איכות. קבלו ייעוץ — נדון בתרחיש שלכם.
לוחות זמנים: 3–5 ימים לאשכול עם HA ופדרציה מרובת-אשכולות. העלות מחושבת באופן אישי לאחר הערכת נפח נתונים. צרו קשר כדי להתחיל.







