RousselTMLEARNING

Article · Thanos : de la découverte à l'expertise

Store Gateway et Compactor

1. Store Gateway #

Lire l'historique dans le stockage objet.

Lancer le store #

thanos store \
  --data-dir=/var/thanos/store \
  --objstore.config-file=/etc/thanos/bucket.yml \
  --grpc-address=0.0.0.0:10901 \
  --http-address=0.0.0.0:10902 \
  --index-cache-size=2GB \
  --chunk-pool-size=2GB \
  --store.limits.request-series=500000 \
  --min-time=-90d      # ne servir que les 90 derniers jours (partitionnement temporel)
# Docker Compose (extrait)
  store:
    image: quay.io/thanos/thanos:latest
    command:
      - store
      - --data-dir=/var/thanos/store
      - --objstore.config-file=/etc/thanos/bucket.yml
      - --grpc-address=0.0.0.0:10901
      - --http-address=0.0.0.0:10902
    volumes: ["./bucket.yml:/etc/thanos/bucket.yml", "store-data:/var/thanos/store"]
À savoir : Le Store Gateway ne conserve que l'index léger et les en-têtes sur disque : les données sont lues à la demande dans le stockage objet. Prévoyez un volume persistant pour éviter de tout retélécharger à chaque redémarrage.

2. Compactor #

Compacter, downsampler, supprimer.

Les trois missions #

Résolutions et downsampling
Le downsampling accélère les requêtes sur de longues périodes.
  • Compaction : fusionne les petits blocs de 2 h en blocs plus gros (jusqu'à 14 jours) et déduplique les réplicas verticalement.
  • Downsampling : crée des blocs à 5 min puis 1 h (agrégats min, max, sum, count, counter).
  • Rétention : supprime les blocs plus anciens que la durée configurée, par résolution.
thanos compact \
  --data-dir=/var/thanos/compact \
  --objstore.config-file=/etc/thanos/bucket.yml \
  --http-address=0.0.0.0:10902 \
  --retention.resolution-raw=30d \
  --retention.resolution-5m=180d \
  --retention.resolution-1h=730d \
  --compact.concurrency=2 \
  --downsample.concurrency=2 \
  --delete-delay=48h \
  --wait                  # tourne en continu (sinon une passe puis arrêt)
Erreur Courante : Une seule instance de compactor doit écrire dans un même bucket. Deux compactors simultanés corrompent les blocs. Surveillez thanos_compact_halted : à 1, le compactor s'est arrêté sur une erreur critique.

3. Les outils de bucket #

Inspecter et réparer.

thanos tools bucket #

thanos tools bucket ls       --objstore.config-file=bucket.yml            # lister les blocs
thanos tools bucket inspect  --objstore.config-file=bucket.yml            # tableau : ULID, plage, résolution, séries, taille
thanos tools bucket verify   --objstore.config-file=bucket.yml            # vérifier l'intégrité
thanos tools bucket web      --objstore.config-file=bucket.yml            # interface web des blocs
thanos tools bucket downsample --objstore.config-file=bucket.yml          # forcer un downsampling
thanos tools bucket mark --id=<ULID> --marker=deletion-mark.json --details="bloc corrompu" --objstore.config-file=bucket.yml

4. Vérifier le résultat #

Que contient le bucket ?

Exemple de sortie #

Blocs dans le bucket
La colonne RES indique la résolution : 0 = brut, 5m, 1h.
# Métriques utiles
thanos_compact_group_compactions_total
thanos_compact_downsample_total
thanos_compact_todo_compactions
thanos_blocks_meta_synced{state="loaded"}

📄 Thanos Store Gateway et Compactor : historique, downsampling et rétention →

Mon suivi

  • ⏱ Durée estimée : ≈ 8 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

✉️ Poser une question

Articles recommandés

Comprendre la notion de score

Le concept de score va permettre à Elasticsearch de classer vos documents par pertinence lors d u...

Comprendre Elastic Common Schema(ECS)

Comme toujours dans nos missions de conseil, nous recommandons aux entreprises d'uniformiser, de ...

Grail : Dynatrace Data Lakehouse

Désormais vous disposez dans Dynatrace (SaaS) d'un Data Lakehouse nommé Grail dont vous pouvez co...

C'est quoi l'observabilité

La capacité à connaître l'état interne d'un système à partir des données que cette dernière émet...

Les types de transactions dans les base de données

Cet article détaille les différences entre trois concepts essentiels dans l'exécution des instruc...

Différences entre Technologies et Services dans Dynatrace

Dans Dynatrace, les concepts de 'Technologie' et de 'Services' aident à organiser et surveiller l...

Dynatrace : Différences entre SQL Modifications, SQL Queries or Procedures, et SQL Transactions

Cet article détaille les différences entre trois concepts essentiels dans l'exécution des instruc...

Types de consommation de licence

Comprendre l'évolution de la facturation dans Dynatrace : la différence entre l'ancien modèle de ...

Les Types de Services Dynatrace : Comprendre et Optimiser Votre Surveillance Applicative

Découvrez les différents types de services que Dynatrace peut surveiller, leur rôle, et comment l...