RousselTMLEARNING

TP · Grafana Loki : de la découverte à l'expertise

TP : Maîtriser LogQL

Ce que vous allez apprendre dans ce TP
  • Filtrer et parser des logs
  • Calculer des taux et des classements
  • Transformer des logs en métriques

Préparer les données #

Ce que vous allez apprendre dans cette section
  • Filtrer et parser des logs
  • Calculer des taux et des classements
  • Transformer des logs en métriques

Contexte. Vous êtes d'astreinte et un pic d'erreurs 404 est signalé sur le site. Vous devez retrouver les requêtes concernées, les analyser et quantifier le problème avec LogQL, sans connaître à l'avance le format exact des lignes.

Prérequis : TP précédents, notions de PromQL appréciées  ·  Durée estimée : 40 min

Un nginx qui reçoit du trafic.
  1. 1. Lancer nginx et générer des requêtes

    Pourquoi ? Un trafic de test contenant volontairement des erreurs vous donne un jeu de données dont vous connaissez la réponse attendue.

    Démarrez nginx et envoyez quelques requêtes (dont des 404).

Requêtes à écrire #

Une requête par question.

  1. 2. Logs en erreur 404

    Pourquoi ? Le filtre de ligne est l'opération la plus simple et la plus rapide : on commence toujours par là avant d'utiliser un parser.

    Affichez les logs du conteneur web contenant une réponse 404.
  2. 3. Parser les lignes d'accès

    Pourquoi ? Le parser pattern transforme une ligne brute en champs exploitables ; c'est plus rapide que les expressions régulières pour ce type de logs.

    Extrayez ip, method, uri et status puis filtrez les statuts >= 400.
  3. 4. Taux de requêtes par statut

    Pourquoi ? Passer de logs à une métrique (taux par statut) permet de construire un graphique ou une alerte avec les mêmes outils que Prometheus.

    Calculez le nombre de requêtes par seconde pour chaque code de statut.
  4. 5. Top des URI les plus appelées

    Pourquoi ? Classer les URI les plus appelées répond à « qu'est-ce qui génère ces erreurs ? » : c'est le réflexe d'investigation à acquérir.

    Affichez les 5 URI les plus fréquentes sur 10 minutes.

Niveau de difficulté : ●●○○○ (2/5)

Mon suivi

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

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

✉️ Poser une question

Articles recommandés

LogQL (1/2) : requêter les logs (sélecteurs, filtres et parsers)

Apprendre LogQL : sélecteurs de flux, filtres de ligne, parsers json/logfmt/pattern/regexp, filtr...

LogQL (2/2) : transformer les logs en métriques

Créer des métriques à partir des logs avec LogQL : rate, count_over_time, bytes_rate, agrégations...

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...