Outils pour utilisateurs

Outils du site


work_in_progress:promql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
work_in_progress:promql [2022/01/22 17:44] – créée yoannwork_in_progress:promql [2022/12/15 23:31] (Version actuelle) yoann
Ligne 4: Ligne 4:
 ====== PromQL ====== ====== PromQL ======
  
-Le serveur Prometheus propose une interface web par défaut écoutant sur le port 9090. Via cette interface on peut écrire et tester ses requêtes.+**PromQL** est l’abréviation de **Prom**etheus **Q**uery **L**anguage: c'est principalement via le PromQL que l'utilisateur peut récupérer/exploiter les métriques enregistrées dans Prometheus sous forme de **séries temporelles** (time series). 
 + 
 +En général on affiche les valeurs retournées dans un graphique ou on les exporte en utilisant l'API HTTP. 
 + 
 +Le serveur Prometheus propose une interface web écoutant par défaut sur le port 9090. Via cette interface on peut écrire et tester ses requêtes.
  
 http://server.fqdn:9090/graph http://server.fqdn:9090/graph
  
-Les données sont stockées par Prometheus sous forme de **séries temporelles** (time series).+<note> 
 +Le temps utilisé par Prometheus est le temps UTC (pour l'enregistrement des métriques et dans l'interface web). 
 +</note> 
 + 
 +PromQL est un **DSL**((**D**omain-**S**pecific **L**anguage)) 
 + construit sur **Go**. C'est également un langage fonctionnel imbriqué **NFL**((**N**ested **F**unctionnal **L**anguage)) dans lequel les données apparaissent comme des expressions contenues/imbriquées dans les expressions plus larges. L'expression la plus extérieure retourne la valeur finale. Chaque expression imbriquée fournit une valeur qui sert de variable pour l'expression supérieure. 
 + 
 +PromQL permet de récupérer des métriques similaires par type, de les regrouper pour les afficher ensemble. Cela peut apporter une meilleure visibilité sur une situation sans avoir à basculer entre différents indicateurs. PromQL permet également de regrouper les métriques via leurs labels puis d'effectuer des tris sur ces regroupements. 
 + 
 + 
 +===== Les types de métriques et les types de données ===== 
 + 
 +Dans Prometheus, il faut bien distinguer: 
 +  * Les 4 types des métriques (counter, gauge, histogram et summaries); 
 +  * Les types de données des expressions du langage PromQL.   
 + 
 +==== Les types de métriques ==== 
 + 
 +Le type **counter** permet d'enregistrer la valeur absolue d'une grandeur quelconque. Par exemple la métrique ''promhttp_metric_handler_requests_total'' conservant le nombre total de scrapes est de type **counter**. NB: Un compteur s'incrémente seulement, il ne peut que croître ou se réinitialiser. 
 + 
 +Le type **gauge** peut varier, croître ou décroître. Les métriques de type **gauge** peuvent fournir des moyennes ou un intervalle de valeurs. 
 + 
 +:TODO_DOCUPDATE: Le type **histogram** comprend ''_count'' ''_sum'' et ''_bucket'' 
 + 
 +==== Les types de données de PromQL ==== 
 + 
 +Le PromQL en conséquence a 4 type de données: 
 +  * **float** (décimaux)
  
 ===== Références ===== ===== Références =====
  
   * https://opensource.com/article/18/12/introduction-prometheus   * https://opensource.com/article/18/12/introduction-prometheus
 +  * https://logz.io/blog/promql-examples-introduction/
 +  * https://grafana.com/blog/2020/02/04/introduction-to-promql-the-prometheus-query-language/
 +  * https://prometheus.io/docs/prometheus/latest/querying/basics/
work_in_progress/promql.1642873450.txt.gz · Dernière modification : 2022/01/22 17:44 de yoann