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.
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/alerts3. 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
--labelpour distinguer ses séries enregistrées dans le stockage objet. - Testez les règles avec
promtool test rulesavant 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.Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
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...