> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Métriques basées sur les logs

> Transformez les données de vos logs en métriques que vous pouvez représenter graphiquement, sur lesquelles déclencher des alertes, et regrouper à l'échelle de votre application.

Si vous avez indexé des logs dans AppSignal, vous pouvez générer des métriques à partir d'eux directement dans la vue Explore. Utilisez ces métriques basées sur les logs pour suivre des signaux importants dans le temps, configurer des déclencheurs ou les ajouter à des tableaux de bord, le tout sans modifier le code de votre application ni quitter votre flux d'exploration des logs.

Utilisez les métriques de log pour compter la fréquence d'un événement, suivre la dernière valeur d'un champ numérique, ou suivre sa moyenne et ses centiles dans le temps.

Lorsque vous repérez quelque chose qui mérite d'être suivi dans vos logs, vous pouvez le transformer en métrique sans quitter la page Logs. La requête, la gravité et la source de log que vous avez utilisées pour affiner vos logs sont reportées dans la métrique, de sorte que le filtrage que vous avez déjà effectué définit ce que la métrique suit. Une fois la métrique enregistrée, vous pouvez l'ajouter à un tableau de bord ou l'utiliser dans un déclencheur dans le même flux.

## Créer une métrique à partir d'une ligne de log

Le moyen le plus rapide de créer une métrique est à partir d'une ligne de log qui affiche déjà les données que vous voulez suivre.

1. Ouvrez la page **Logs** de votre application.
2. Utilisez la barre de requête pour filtrer les lignes de log qui correspondent à l'événement que vous souhaitez mesurer.
3. Sélectionnez une ligne de log dans le tableau pour ouvrir le panneau **Log details**.
4. Dans la section **Actions**, sélectionnez **Create a metric**.
5. La superposition « Create metric » s'ouvre avec les champs **Log source**, **Severity** et **Query** pré-remplis à partir de la ligne de log.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/create-metric-from-log-line.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=5b493d4ccad3ee9d1147bfe17c813e5e" alt="Panneau des détails du log avec l'action Create a metric" width="2998" height="1638" data-path="assets/images/screenshots/logging/create-metric-from-log-line.png" />

## Configurer la métrique

Dans le panneau **Define metric**, remplissez les champs qui décrivent ce que vous souhaitez mesurer. Lorsque vous modifiez un champ, l'**Aperçu des données** sur la droite se met à jour afin que vous puissiez vérifier que la métrique renvoie les données attendues.

* **Metric name** : un nom unique pour la métrique, utilisé lorsque vous y faites référence dans les tableaux de bord et les déclencheurs. Consultez [nommage des métriques](#metric-naming) pour connaître les règles et recommandations.
* **Log source** : la source de log à partir de laquelle la métrique tire ses événements.
* **Severity** : filtrer par gravité, ou sélectionner **all** pour inclure tous les niveaux.
* **Query** : la chaîne de requête utilisée pour faire correspondre les lignes de log. Même syntaxe que la page Logs.
* **Metric type** : Count, Gauge ou Measurement. Voir [types de métriques](#metric-types).
* **Field to measure** : pour les métriques Gauge et Measurement, le champ numérique à suivre — par exemple, la durée ou la taille de chaque événement, au lieu de compter les occurrences.
* **Group by tag** : divisez la métrique par tag pour obtenir une série distincte par valeur unique (par exemple, regroupez par `hostname` pour obtenir une série par serveur).

Lorsque vous avez terminé, sélectionnez **Create metric** pour enregistrer.

### Nommage des métriques

Nous recommandons de nommer vos métriques de manière facilement reconnaissable.

Les noms de métriques ne prennent en charge que les chiffres, les lettres, les points et les underscores (`[a-z0-9._]`) comme caractères valides. Tout autre caractère sera remplacé par un underscore par notre processeur.

Voici quelques exemples de bons noms de métriques :

* `database_size`
* `account_count`
* `users.count`
* `notifier.failed`
* `orders.request.duration`

<Warning>
  **Remarque** : nous vous **déconseillons** d'ajouter des valeurs dynamiques à
  vos noms de métriques comme ceci : `eu.database_size`, `us.database_size` et
  `asia.database_size`. Cela crée plusieurs métriques qui servent le même objectif.
  Nous recommandons plutôt d'utiliser **Group by tag** dans ce cas.
</Warning>

## Types de métriques

Le type de métrique définit comment AppSignal agrège les données dans le temps. Le champ **Field to measure** n'apparaît que pour Gauge et Measurement, car Count ne fait que compter les lignes de log correspondantes.

### Count

Le nombre total d'événements correspondants dans une plage de temps donnée. Utilisez ceci pour les événements comme les erreurs, les inscriptions ou les nouvelles tentatives de tâches.

Count n'a pas besoin d'un **Field to measure** — il compte simplement chaque ligne de log correspondant à votre requête.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/create-metric-count-chart.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=279cef379582fb30e011d5221067cbb6" alt="Superposition Create metric avec l'aperçu du graphique Count" width="1338" height="888" data-path="assets/images/screenshots/logging/create-metric-count-chart.png" />

### Gauge

La valeur courante à l'instant donné. Utilisez ceci pour les valeurs qui montent et descendent, comme un nombre de connexions actives.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/create-metric-gauge-chart.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=07ea5df662d79360d3716c0f84ee609b" alt="Superposition Create metric avec l'aperçu du graphique Gauge" width="1309" height="780" data-path="assets/images/screenshots/logging/create-metric-gauge-chart.png" />

### Measurement

Moyennes, comptes et centiles pour un champ numérique au fil du temps. Utilisez ceci lorsque la distribution importe, comme la durée d'une requête.

Measurement conserve la moyenne, le compte et les 90e/95e centiles du **Field to measure** pour chaque intervalle.

## Prévisualiser votre métrique

Le panneau **Data preview** comporte deux onglets qui vous permettent de confirmer que la métrique renvoie les données attendues avant d'enregistrer.

### Chart

Un graphique en direct de la métrique pour la plage de temps sélectionnée. L'aperçu du graphique prend en charge la sélection de plusieurs sources de log et gravités, et se met à jour lorsque vous modifiez un champ dans le panneau **Define metric**.

Utilisez le sélecteur de plage de temps sous le graphique pour basculer entre **Last 24 hours**, **Last 48 hours** et **Last 7 days**.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/create-metric-time-range.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=14bef4e69eb8514c0bf366acb240c51b" alt="Superposition Create metric avec le sélecteur de plage de temps du graphique ouvert" width="1372" height="888" data-path="assets/images/screenshots/logging/create-metric-time-range.png" />

### Lignes de log

Les lignes de log qui correspondent à votre requête actuelle. Lorsque **Field to measure** est défini, ce champ apparaît comme une colonne mise en évidence afin que vous puissiez confirmer les valeurs avant d'enregistrer.

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/create-metric-log-lines-preview.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=a76f02db5ac76bb0de2c927e9da20dff" alt="Superposition Create metric avec l'aperçu des lignes de log" width="1328" height="888" data-path="assets/images/screenshots/logging/create-metric-log-lines-preview.png" />

## Choisir l'étape suivante

Après avoir enregistré une métrique pour la première fois, AppSignal vous demande ce que vous voulez en faire :

* **Add to dashboard** : ajoutez la métrique à un graphique sur un tableau de bord existant.
* **Create a trigger** : ouvrez le flux de création de déclencheur avec la métrique pré-remplie.
* **Edit metric** : rouvrez la superposition pour affiner la configuration.

Pour les métriques suivantes, AppSignal affiche un message de confirmation à la place. Vous pouvez toujours accéder aux mêmes options depuis la page **Metrics**.

Une nouvelle métrique peut prendre un moment avant de commencer à collecter des données. Un tableau de bord ou un déclencheur créé juste après peut donc brièvement afficher un avertissement « no data yet ».

## Modifier une métrique

1. Ouvrez la page **Metrics** depuis le menu latéral **Logging**.
2. Trouvez la métrique et sélectionnez **Edit** dans le menu à trois points.
3. Ajustez les champs **Severity**, **Query**, **Field to measure** ou **Group by tag**.
4. Sélectionnez **Update metric** pour enregistrer.

Le **Metric name** et le **Metric type** sont en lecture seule lors de la modification. Pour modifier l'un ou l'autre, créez une nouvelle métrique.

Depuis le menu de ligne de la page **Metrics**, vous pouvez également ajouter la métrique à un tableau de bord, créer un déclencheur à partir d'elle ou la supprimer. La colonne **Modified by** indique qui a mis à jour chaque métrique en dernier, ce qui vous permet de voir en un coup d'œil quel membre de l'équipe a effectué la modification la plus récente.

## Exemple : suivre la durée des requêtes

* **Metric name** : `orders.request.duration`
* **Log source** : application
* **Query** : `path=/api/orders`
* **Metric type** : Measurement
* **Field to measure** : `duration_ms`
* **Group by tag** : `hostname`

Cette métrique rapporte la moyenne, le compte et les centiles de `duration_ms` pour les requêtes vers `/api/orders`, avec une série par hôte.
