Facettes de log
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Facettes de log

Facettes dans le Log Explorer

Présentation

Les facettes sont des tags et des attributs définis par les utilisateurs à partir de vos logs indexés. Ils servent à effectuer des analyses de données qualitatives ou quantitatives. Vous pouvez donc les utiliser dans votre vue Log Explorer pour :

Grâce aux facettes, vous pouvez également manipuler vos logs dans vos monitors de log, dans les widgets de logs des dashboards ainsi que dans les notebooks.

Remarque : le traitement des logs, la recherche pour le live tailing, la transmission d’archives, la réintégration ou la création de métriques à partir de logs ne nécessitent pas l’utilisation de facettes. De même, vous n’avez pas besoin de définir une facette pour transmettre des logs par l’intermédiaire des pipelines et des index via des filtres, ou pour exclure des logs d’un index ou les échantillonner avec des filtres d’exclusion. Pour ces cas d’utilisation, les fonctionnalités de remplissage automatique reposent sur des facettes existantes. Cependant, vous pouvez également saisir des valeurs correspondant aux logs entrants.

Facettes qualitatives : les dimensions

Les dimensions vous permettent d’accomplir les tâches suivantes :

  • Filtrer vos logs selon certaines valeurs. Vous pouvez par exemple créer une facette sur le tag environment pour réduire vos recherches aux environnements de production, de développement et intermédiaires.
  • Obtenir des informations relatives pour certaines valeurs. Vous pouvez par exemple créer une facette sur http.network.client.geoip.country.iso_code pour visualiser les principaux pays concernés par chaque erreur 5XX dans vos logs d’accès Web NGINX, en bénéficiant d’informations supplémentaires fournies par le processeur GeoIP Datadog.
  • Compter des valeurs uniques. Vous pouvez par exemple créer une facette sur user.email à partir de vos logs Kong afin de déterminer le nombre d’utilisateurs se connectant chaque jour à votre site Web.

Types

Les facettes qualitatives peuvent être des chaînes ou des nombres (entiers). Une dimension de type « string » fonctionnera peu importe votre utilisation. Cependant, les dimensions de type « integer » vous permettent de bénéficier d’une fonctionnalité supplémentaire, à savoir les filtres de plage. Par exemple, http.status_code:[200 TO 299] est une requête valide s’appliquant à une dimension de type « integer ». Consultez la syntaxe de recherche pour en savoir plus.

Facettes quantitatives : les mesures

Les mesures vous permettent d’accomplir les tâches suivantes :

  • Agréger des valeurs à partir de plusieurs logs. Vous pouvez par exemple créer une mesure sur la taille des tiles transmises par le cache Varnish d’un serveur cartographique pour surveiller le débit quotidien moyen, ou consulter les principaux référents selon la somme des tailles de tiles demandées.
  • Appliquer un filtre de plage à vos logs. Vous pouvez par exemple créer une mesure sur le temps d’exécution des tâches Ansible et visualiser la liste des serveurs qui possèdent le plus d’exécutions dépassant la barre des 10 secondes.
  • Trier des logs par rapport à une valeur. Vous pouvez par exemple créer une mesure sur le montant des paiements réalisés via votre microservice Python, puis effectuer une recherche dans l’ensemble de logs, en commençant par celui comportant le montant le plus élevé.

Types

Les mesures disposent d’un nombre entier (long) ou d’une double valeur. Ces deux types de valeurs proposent des fonctionnalités équivalentes.

Unités

Les mesures ont une unité (le temps est exprimé en seconds ou les tailles en bytes) afin de faciliter la gestion des ordres de grandeur au moment de la requête et de l’affichage. L’unité est une propriété de la mesure, et non du champ. Imaginons par exemple une mesure duration exprimée en nanosecondes. Vous disposez de logs du service service:A, pour lesquels duration:1000 désigne une durée de 1 000 millisecondes, et d’autres logs du service service:B, pour lesquels duration:500 désigne une durée de 500 microsecondes :

  1. Grâce au processeur arithmétique, vous pouvez faire en sorte que les durées de tous vos logs entrants soient exprimées en nanosecondes. Pour ce faire, appliquez le multiplicateur *1000000 aux logs de service:A et le multiplicateur *1000 aux logs de service:B.
  2. Appliquez le filtre duration:>20ms (voir la syntaxe de recherche pour en savoir plus) pour interroger systématiquement les logs des deux services à la fois et pour afficher un résultat agrégé ayant pour valeur maximale 1 min.

Volet de facette

La barre de recherche fournit un grand nombre de fonctionnalités interactives vous permettant de plonger au cœur de vos données. Toutefois, dans la plupart des situations, il est plus simple d’utiliser le volet de facette pour parcourir vos données. Ouvrez une facette pour consulter une synthèse de son contenu en fonction de la portée de la requête actuellement appliquée.

L’interface des facettes (qualitatives) propose une top list des valeurs uniques et indique le nombre de logs correspondant à chacune de ces valeurs :

Cliquez sur une des valeurs pour affiner la requête de recherche. Cela filtre la recherche sur cette valeur unique et sur toutes les valeurs associées. Cochez des cases pour ajouter une valeur à la liste des valeurs ou la supprimer. Vous pouvez également effectuer une recherche sur le contenu :

Les mesures disposent d’un curseur vous permettant de définir une valeur maximale ainsi qu’une valeur minimale. Utilisez le curseur, ou saisissez des valeurs numériques, pour restreindre la requête de recherche.

Masquer des facettes

Votre organisation dispose d’un large ensemble de facettes permettant à de nombreuses équipes d’exploiter différents cas d’utilisation à l’aide des logs. Toutefois, il est probable que vous utilisiez seulement quelques-unes de ces facettes, en fonction de la situation à résoudre. Vous pouvez donc masquer les facettes dont vous ne vous servez pas régulièrement, afin de conserver uniquement les facettes pertinentes qui vous aideront à parvenir à vos fins.

Les facettes masquées peuvent toujours faire l’objet de recherche en cas de besoin (voir la section Filtrer des facettes). Vous pouvez afficher à nouveau les facettes masquées depuis la fonctionnalité de recherche de facettes.

Les facettes masquées ne sont pas proposées automatiquement dans la barre de recherche et ne peuvent pas être sélectionnées dans les menus déroulants (de mesure ou encore de regroupement) utilisés pour effectuer des analyses dans la vue Log Explorer. Cependant, vous pouvez indiquer des facettes masquées dans vos requêtes de recherche (par exemple, en collant un lien du Log Explorer).

Les facettes masquées servent uniquement dans la vue Log Explorer. Elles ne sont d’aucune utilité pour les autres fonctionnalités, telles que le live tailing, les monitors ou les définitions de widget dans les dashboards.

Facettes masquées pour les membres d’équipe

Lorsque vous masquez des facettes, vous les retirez de votre contexte spécifique de dépannage. Cela n’a donc aucune incidence sur la vue des autres membres de votre équipe, sauf si vous mettez à jour une vue enregistrée. En effet, les facettes masquées font partie du contexte capturé au sein d’une vue enregistrée.

Regrouper des facettes

Afin de faciliter la navigation dans leur liste, les facettes sont regroupées selon différents thèmes pertinents. Les opérations d’attribution ou de réattribution d’une facette à un groupe (voir la gestion des facettes) servent uniquement à modifier l’apparence de la liste des facettes. Cela n’a aucune incidence sur les fonctionnalités de recherche et d’analyse.

Filtrer des facettes

Utilisez la zone de recherche pour les facettes afin d’affiner la liste des facettes et d’accéder plus facilement à celle de votre choix. La recherche de facette réduit le nombre de résultats affichés en se basant à la fois sur le nom d’affichage des facettes et sur le nom de leur champ.

Facettes avec alias

Certaines facettes peuvent avoir un alias (voir la section Alias de facettes). Ces facettes peuvent tout de même être utilisées pour explorer vos données. Néanmoins, elles sont considérées comme obsolètes :

Lors du dépannage d’un problème, vous êtes davantage susceptible de trouver le contenu d’autres équipes (et de la vôtre) dans une facette standard plutôt que dans une facette avec alias. Cette logique simplifie la corrélation de contenu provenant de différentes sources.

Lorsqu’une facette avec alias figure dans votre liste de facettes, nous vous conseillons d’accéder plutôt à la facette standard. Pour ce faire, cliquez sur l’option switch to alias. Cette opération masque la facette avec alias et affiche la facette standard correspondante. Si cette manipulation entraîne la mise à jour d’une vue enregistrée, enregistrez d’abord la vue, afin que l’alias s’applique à tous les utilisateurs de la vue.

Si vous cherchez à diagnostiquer une erreur en étudiant l’ancien contenu (avant que votre organisation n’ait appliqué un alias à votre facette), il peut être pertinent de conserver la version avec alias de la facette.

Gérer des facettes

Facettes par défaut

La plupart des facettes courantes fournies par défaut, telles que Host, Service, URL Path ou Duration, vous permettent de débuter directement votre diagnostic dès lors que vos logs sont transmis aux index de logs.

Vous pouvez accéder par défaut aux facettes sur les attributs réservés ainsi que sur la plupart des attributs standard.

Les facettes d’index

Les facettes d’index sont des facettes particulières qui sont uniquement accessibles lorsque votre organisation dispose de plusieurs index ou si vous possédez des vues historiques actives. Ces facettes vous permettent de filtrer votre requête sur un sous-ensemble d’index.

Créer des facettes

À titre de bonne pratique, essayez toujours d’utiliser une facette existante, plutôt que d’en créer une (voir la section Alias de facettes). En utilisant une seule facette pour des informations similaires, vous favorisez la collaboration entre les différentes équipes.

Remarque : une fois votre facette créée, elle récupère tous les nouveaux logs transmis à l’un des index.

Depuis le volet latéral des logs

La solution la plus simple pour créer une facette consiste à utiliser le volet latéral des logs. En effet, la plupart des informations sur la facette, telles que le nom du champ ou le type sous-jacent des données, sont automatiquement remplies. Il vous suffit simplement de vérifier la véracité de ces informations. Depuis la vue Log Explorer, accédez au log de votre choix qui comporte le champ sur lequel vous souhaitez créer une facette. Ouvrez le volet latéral de ce log, cliquez sur le champ pertinent (dans les tags ou dans les attributs), puis créez votre facette :

  • Si la valeur du champ correspond à une chaîne, vous pouvez uniquement créer une facette.
  • Si la valeur du champ correspond à un nombre, vous pouvez créer une facette ou une mesure.

Depuis la liste des facettes

Si vous ne souhaitez ou ne pouvez pas rechercher un log spécifique, créez une facette directement depuis le volet des facettes, à l’aide du bouton add facet.

Définissez le nom (à savoir la clé) du champ sous-jacent de votre facette.

  • Utilisez le nom de la clé du tag pour les tags.
  • Utilisez le chemin d’attribut pour les attributs, en ajoutant le préfixe @.

Grâce à la fonctionnalité de remplissage automatique, qui se base sur le contenu des logs des vues actuelles, vous pouvez définir facilement un nom de champ adéquat. Toutefois, sachez que vous pouvez indiquer n’importe quelle valeur, surtout si aucun log correspondant n’est transmis à vos index.

Alias de facettes

Vous pouvez rassembler du contenu similaire au sein d’une seule facette afin que vos différentes équipes puissent conjointement diagnostiquer en toute simplicité les erreurs et effectuer des analyses. Consultez la section Conventions de nommage de la documentation pour en savoir plus.

Les alias vous permettent de corriger de façon harmonieuse les problèmes d’alignement des équipes découlant d’incohérences des conventions de nommage. Grâce à cette solution, tous les utilisateurs de votre organisation peuvent commencer à utiliser les nouvelles facettes standard.

Créer un alias entre une facette et une autre facette

Ce type d’alias constitue la solution idéale si plusieurs de vos équipes ont créé de nombreuses facettes rassemblant du contenu similaire.

Lorsque vous créez un alias depuis une facette avec alias vers une facette standard :

  • Les utilisateurs peuvent choisir d’utiliser les facettes standard ou celles avec alias pour leurs processus de dépannage. Il peut être préférable d’utiliser la version standard, car celle-ci simplifie la corrélation du contenu provenant de diverses sources caractérisées par une certaine hétérogénéité.
  • Les utilisateurs sont invités à utiliser les facettes standard plutôt que les facettes avec alias.

Pour créer un alias pour une facette vers une facette standard, sélectionnez l’option Alias to... dans le menu des facettes. Choisissez parmi toutes les facettes standard de votre organisation pour définir votre destination.

Créer un alias entre un attribut et une facette

Ce type d’alias s’avère particulièrement utile pour gérer les logs transmis par de nouvelles sources. Plutôt que de créer une facette pour un champ sur ces logs, qui deviendrait obsolète après la création d’un alias vers une facette standard, créez directement un alias entre le champ et une facette existante :

Pour aller plus loin