RousselTMLEARNING

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

Thanos Ruler

1. Pourquoi un Ruler Thanos ? #

Les règles des Prometheus ne voient que leur périmètre.

Règles locales vs globales #

Une règle Prometheus ne peut utiliser que les données de son instance. Pour alerter sur « le taux d'erreurs total de tous les clusters » ou pour une règle nécessitant une rétention longue, il faut évaluer la règle sur la vue globale fournie par Thanos Query : c'est le rôle du Ruler.

Position du Ruler dans l'architecture Thanos
Le Ruler consomme Query et produit alertes et séries.

2. Configurer le Ruler #

Commande, règles et Alertmanager.

Lancer thanos rule #

thanos rule \
  --data-dir=/var/thanos/rule \
  --eval-interval=30s \
  --rule-file=/etc/thanos/rules/*.yaml \
  --alert.query-url=http://thanos-query:10902 \
  --query=thanos-query:10902 \
  --alertmanagers.url=http://alertmanager:9093 \
  --label='ruler_cluster="global"' \
  --objstore.config-file=/etc/thanos/bucket.yml \
  --http-address=0.0.0.0:10902 --grpc-address=0.0.0.0:10901
# /etc/thanos/rules/global.yaml
groups:
  - name: global-slo
    interval: 1m
    rules:
      - record: global:http_requests:rate5m
        expr: sum(rate(http_requests_total[5m]))
      - alert: GlobalErrorRateHigh
        expr: sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) > 0.03
        for: 10m
        labels: { severity: critical }
        annotations: { summary: "Plus de 3 % d'erreurs sur l'ensemble des clusters" }
promtool check rules /etc/thanos/rules/global.yaml
curl -s localhost:10902/api/v1/rules | jq '.data.groups[].rules[] | {name, health}'
curl -s localhost:10902/api/v1/alerts

3. Bonnes pratiques #

Éviter les pièges classiques.

Points d'attention #

  • N'y placer que les règles qui nécessitent une vue globale : le reste reste sur les Prometheus locaux (plus fiable en cas de coupure réseau).
  • Le Ruler dépend de Query : si Query est indisponible, aucune alerte n'est évaluée. Déployez-le en haute disponibilité (deux replicas, labels différents).
  • Utilisez --label pour distinguer ses séries enregistrées dans le stockage objet.
  • Testez les règles avec promtool test rules avant déploiement.
Bonne Pratique : Mettez en place une alerte « Watchdog » (vector(1)) pour vérifier de bout en bout la chaîne Ruler → Alertmanager → récepteur.

📄 Thanos Ruler : règles et alertes sur la vue globale →

Mon suivi

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

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

💬 Questions sur cette leçon

Aucune question pour l'instant : soyez le premier à demander de l'aide ou à partager votre configuration.

Poser une question sur cette leçon →

Articles recommandés

Thanos : étendre Prometheus (haute disponibilité, vue globale et rétention longue)

Comprendre pourquoi et comment utiliser Thanos : limites de Prometheus, composants (Sidecar, Quer...

Thanos Receive : ingérer du remote write et gérer le multi-tenant

Utiliser Thanos Receive : mode push avec remote write, hashring, réplication, multi-tenancy, conf...

Thanos Query et Query Frontend : une vue globale et dédupliquée

Configurer Thanos Query : endpoints StoreAPI, déduplication par replica label, partial response, ...

Mimir : ruler, Alertmanager et mimirtool

Évaluer des règles d'enregistrement et d'alerte dans Mimir, configurer l'Alertmanager multi-tenan...

Alerter sur les logs avec le Ruler de Loki

Mettre en place des alertes et des recording rules LogQL avec le Ruler Loki : configuration, fich...

Recording rules Prometheus : accélérer ses requêtes et ses tableaux de bord

Comprendre et maîtriser les recording rules de Prometheus : évaluation, convention de nommage, pi...

Thanos, Grafana Mimir ou VictoriaMetrics : quel stockage long terme pour Prometheus ?

Comparatif détaillé de trois solutions de stockage long terme pour Prometheus : architecture, sto...

Thanos Sidecar : accoler Thanos à Prometheus et téléverser vers le stockage objet

Mettre en place Thanos Sidecar : réglages Prometheus (external labels, blocs de 2 h), configurati...

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

Servir l'historique avec le Store Gateway et optimiser le stockage avec le Compactor : compaction...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !