Générer des métriques à partir de logs ingérés

Présentation

Les solutions décrites dans cette documentation sont spécifiques aux environnements de journalisation basés sur le cloud. Pour générer des métriques à partir de logs sur site, consultez la documentation Observability Pipelines.

La fonctionnalité Logging without Limits* de Datadog vous permet de décider dynamiquement ce qu’il faut inclure ou exclure de vos index pour le stockage et les requêtes, tout en sachant que de nombreux types de logs sont destinés à être utilisés comme télémétrie pour suivre des tendances, telles que des KPI, sur de longues périodes. Les métriques basées sur les logs constituent un moyen rentable de résumer les données de logs provenant de l’ensemble du flux d’ingestion. Cela signifie que même si vous utilisez des filtres d’exclusion pour limiter ce que vous stockez pour l’exploration, vous pouvez toujours visualiser les tendances et les anomalies sur l’ensemble de vos données de logs avec une granularité de 10 s pendant 15 mois.

Avec des métriques basées sur des logs, vous pouvez générer une métrique count représentant le nombre de logs qui correspondent à une requête, ou une métrique de distribution représentant une valeur numérique contenue dans des logs, comme la durée des requêtes.

Note de facturation : Les métriques créées à partir de logs ingérés sont facturées en tant que Custom Metrics.

Générer une métrique basée sur les logs

Générez une métrique basée sur les logs

Pour générer une nouvelle métrique basée sur les logs :

  1. Accédez à la page Generate Metrics.
  2. Sélectionnez l’onglet Generate Metrics.
  3. Cliquez sur +New Metric.

Vous pouvez également créer des métriques à partir d’une recherche Analytics en sélectionnant l’option Generate new metric dans le menu Export.

Générez une métrique basée sur les logs

Ajouter une nouvelle métrique basée sur les logs

Créez une métrique basée sur les logs
  1. Input a query to filter the log stream : Rédigez la requête en utilisant la syntaxe de recherche du Log Explorer. Datadog évalue la requête de filtre de flux par rapport au flux de logs au moment de l’ingestion, et non par rapport aux logs indexés. Le filtre ne prend pas en charge toutes les fonctionnalités de recherche du Log Explorer, y compris la recherche en texte intégral (*:search_term). Une requête qui renvoie des résultats dans le Log Explorer peut néanmoins ne correspondre à aucun log ici. L’agrégation ne prend en compte que les logs ingérés avec un horodatage datant de moins de 20 minutes. Excluez l’index de la requête.

    Après avoir enregistré la métrique, confirmez qu’elle produit des points de données dans le Metrics Explorer avant de vous y fier. Si la requête correspond à des logs dans le Log Explorer mais que la métrique reste vide, réécrivez le terme sous forme de phrase entre guillemets ; par exemple, message:"Database operation failed.".

  2. Select the field you would like to track: Sélectionnez * pour générer un décompte de tous les logs correspondant à votre requête ou saisissez un attribut de log (par exemple, @network.bytes_written) pour agréger une valeur numérique et créer les métriques agrégées correspondantes count, min, max, sum et avg. Si la facette d’attribut de log est une mesure, la valeur de la métrique est la valeur de l’attribut de log.

  3. Add dimensions to group by: Par défaut, les métriques générées à partir des logs ne possèdent aucun tag, sauf s’ils sont explicitement ajoutés. Tout attribut ou dimension de tag existant dans vos logs (par exemple, @network.bytes_written, env) peut être utilisé pour créer des tags de métrique. Les noms des tags de métrique sont identiques au nom de l’attribut ou du tag d’origine, sans le @.

  4. Add percentile aggregations: Pour les métriques de distribution, vous pouvez générer en option des percentiles p50, p75, p90, p95 et p99. Les métriques de percentile sont également considérées comme des métriques personnalisées et facturées en conséquence.

  5. Name your metric: Les noms des métriques basées sur les logs doivent respecter la convention de nommage des métriques personnalisées.

Note: Datadog génère des points de données pour les métriques basées sur les logs à des intervalles de 10 secondes. Lorsque vous créez un graphique de dashboard pour des métriques basées sur les logs, le paramètre count unique utilise les valeurs au sein de l’intervalle de 10 secondes.

La page de configuration du graphique de série temporelle avec le paramètre de requête de comptage unique mis en évidence
Les métriques basées sur les logs sont considérées comme des métriques personnalisées et facturées en conséquence. Évitez de regrouper par des attributs à cardinalité illimitée ou extrêmement élevée comme les horodatages, les identifiants utilisateur, les identifiants de requête ou les identifiants de session pour éviter d'impacter votre facturation.

Mettre à jour une métrique basée sur les logs

Lorsqu’une métrique est créée, les champs suivants peuvent être mis à jour :

  • Requête de filtre de flux : Pour modifier l’ensemble des logs correspondants à agréger en métriques
  • Groupes d’agrégation : Pour mettre à jour les tags ou gérer la cardinalité des métriques générées
  • Sélection de centiles : Cochez ou décochez la case Calculate percentiles pour supprimer ou générer des métriques de centiles

Pour modifier le type ou le nom d’une métrique, une nouvelle métrique doit être créée.

Métriques d’utilisation des logs

Métriques d'utilisation recommandées

Les métriques d’utilisation sont des estimations de votre utilisation actuelle de Datadog en temps quasi réel. Elles vous permettent de :

  • Visualisez votre utilisation estimée.
  • Créez des monitors basés sur votre utilisation estimée.
  • Recevez des alertes instantanées en cas de pics ou de chutes de votre utilisation.
  • Évaluez l’impact potentiel des modifications de code sur votre utilisation en temps quasi réel.

Les métriques d’utilisation Log Management s’accompagnent de trois tags qui peuvent être utilisés pour une surveillance plus granulaire :

TagDescription
datadog_indexIndique la requête de routage qui associe un log à un index désigné.
datadog_is_excludedIndique si un log correspond ou non à une requête d’exclusion.
serviceL’attribut service de l’événement de log.

Remarque : Les champs datadog_is_excluded et datadog_index peuvent avoir une valeur de N/A. Cela indique que le ou les logs ont été ingérés, mais ne correspondaient à aucun critère d’inclusion ou d’exclusion pour être explicitement routés vers un index.

Un tag status supplémentaire est disponible sur la métrique datadog.estimated_usage.logs.ingested_events pour refléter le statut du log (info, warning, etc.).

Pour aller plus loin


*Logging without Limits est une marque déposée de Datadog, Inc.