Commandes essentielles utiles pour grafana
Loki
Loki est utilisé pour la collecte de logs. Voici des commandes utiles
Recherche Basique
-
Tous les logs d'une application :
{app="my-app"}
-
Logs avec un contenu spécifique :
{app="my-app"} |= "error"
-
Exclure des logs avec un contenu spécifique :
{app="my-app"} != "info"
-
Recherche avec plusieurs filtres :
{app="my-app",environment="production"} |= "error" != "timeout"
-
Recherche avec expressions régulières :
{app="my-app"} |~ "error|warning"
Manipulation de Strings
-
Extraire une partie du log :
{app="my-app"} |~ "(.*)_error" | line_format "{{.match}}"
-
Remplacer du texte dans les logs :
{app="my-app"} | replace ("old_string", "new_string")
Fonctions d'Aggrégation
-
Compter le nombre de logs :
{app="my-app"} | count_over_time(1h)
-
Calculer la moyenne des valeurs :
{app="my-app"} | json | avg_over_time(duration_seconds[1h])
-
Calculer le 95th percentile :
{app="my-app"} | json | quantile_over_time(0.95, duration_seconds[1h])
Fonctions de Formatage
-
Afficher les labels :
{app="my-app"} | labels
-
Afficher des statistiques de comptage :
{app="my-app"} | stats count by (level)
Divers
-
Réduire le bruit des logs :
{app="my-app"} |= "error" | uniq
-
Trier les logs :
{app="my-app"} | sort desc
Prometheus
Recherche Basique
-
Requêter une métrique spécifique :
http_requests_total
-
Requêter avec des labels spécifiques :
http_requests_total{method="GET", status="200"}
Fonctions d'Aggrégation
-
Somme :
sum(http_requests_total)
-
Moyenne :
avg(http_requests_total)
-
Minimum et Maximum :
min(http_requests_total)
max(http_requests_total) -
Compter le nombre d'instances :
count(http_requests_total)
Opérateurs
- Addition, Soustraction, Multiplication, Division :
http_requests_total + 100
http_requests_total - 100
http_requests_total * 2
http_requests_total / 2
Fonctions de Taux
-
Taux d'erreur sur 5 minutes :
rate(http_requests_total{status=~"5.."}[5m])
-
Taux de requêtes sur 1 minute :
rate(http_requests_total[1m])
Fonctions Temporelles
-
Métrique la plus récente dans les dernières 5 minutes :
max_over_time(http_requests_total[5m])
-
Métrique la plus ancienne dans les dernières 5 minutes :
min_over_time(http_requests_total[5m])
Histogrammes et Percentiles
- Calculer le 95th percentile :
histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))
Groupement et Étiquetage
-
Somme par méthode :
sum(http_requests_total) by (method)
-
Renommer les labels :
label_replace(http_requests_total, "new_label", "$1", "old_label", "(.*)")