RousselTMLEARNING

Observabilité

MetricsQL : PromQL avec des super-pouvoirs

Les différences entre MetricsQL et PromQL : fenêtres implicites, fonctions supplémentaires (range, rollup, label), modèles WITH, et analyse de cardinalité dans vmui.

1. Compatibilité #

Vos requêtes PromQL fonctionnent.

Différences utiles #

MetricsQL accepte les requêtes PromQL existantes, avec quelques différences de comportement pensées pour être plus intuitives :

PointPromQLMetricsQL
Fenêtre de rateObligatoire : rate(x[5m])Facultative : rate(x) choisit la fenêtre selon le pas du graphe
Extrapolation de increaseRésultats fractionnaires pour des compteurs entiersPas d'extrapolation : valeurs entières attendues
Nom de métrique après une fonctionSuppriméConservable avec keep_metric_names
Valeur manquanteSérie absentedefault 0 pour combler

2. Fonctions supplémentaires #

Une sélection.

Exemples #

# Modèles WITH : factoriser une requête complexe
WITH (
  errs = sum(rate(http_requests_total{code=~"5.."})) by (service),
  total = sum(rate(http_requests_total)) by (service),
)
errs / total

# Top 5 des séries selon leur moyenne sur la période affichée
topk_avg(5, rate(node_network_receive_bytes_total))

# Plusieurs agrégats d'une fenêtre en une passe (min, max, avg)
rollup(node_load1[1h])

# Combler les trous et garder le nom
rate(http_requests_total) keep_metric_names default 0

# Manipulation de labels
label_set(up, "equipe", "plateforme")
label_map(up, "job", "node", "système", "api", "applicatif")

# Médiane de chaque série sur la plage affichée
range_median(node_load1)
Erreur Courante : Si vous utilisez des fonctions MetricsQL dans des dashboards, ils ne fonctionneront plus sur un Prometheus classique. Gardez du PromQL standard pour les dashboards partagés entre plusieurs stockages.

3. Explorer avec vmui #

Requêtes, traces de requêtes et cardinalité.

Les outils de vmui #

OngletUsage
QueryRequêtes avec graphe, tableau, JSON et trace d'exécution
Cardinality explorerMétriques, labels et valeurs qui créent le plus de séries
Top queriesRequêtes les plus fréquentes et les plus lentes
Active queriesRequêtes en cours
Relabeling debugTester une règle de relabeling
Bonne Pratique : L'explorateur de cardinalité est le premier outil à ouvrir quand la mémoire augmente : il montre en un clic la métrique ou le label responsable.

Articles liés

VictoriaMetrics : pourquoi et comment, du nœud unique au cluster

Ce qu'apporte VictoriaMetrics par rapport à Prometheus seul, ses composants (single-node, vmagent, vmalert, c…

Ingérer des métriques dans VictoriaMetrics : scraping, vmagent et remote write

Toutes les façons d'alimenter VictoriaMetrics : remote write depuis Prometheus, scraping intégré, vmagent et …

VictoriaMetrics en cluster : vminsert, vmselect, vmstorage et multi-tenant

L'architecture cluster de VictoriaMetrics : rôle de vminsert, vmselect et vmstorage, répartition et réplicati…

Pour aller plus loin