La gestion des logs couvre tout : de la génération de logs à leur archivage, et finalement, à leur suppression. Toutefois, la première chose à laquelle nous pensons le plus souvent est l'agrégation des logs afin que les équipes puissent s'en servir pour résoudre les problèmes efficacement. Avec une gestion des logs réussie, les données de log sont envoyées dans un emplacement central où tout le monde peut les récupérer, les visualiser et les analyser en fonction de ses besoins, tout en bénéficiant du contexte et des données d'autres services. Lorsque le contexte des applications et de l'infrastructure est ajouté aux tâches de dépannage avec les logs, on obtient les logs en contexte.

Dans le cas des applications logicielles distribuées, collecter les logs et trouver celui qui est nécessaire lorsqu'on en a besoin sont deux des principaux défis de la gestion des logs. D'autres obstacles incluent la gestion et le trop-plein (ou bruit) des alertes. Mais les outils qui offrent une approche contextuelle simplifient la gestion des logs.

Dans cet article, nous nous plongeons dans les thèmes suivants : 

  • Signification des termes « logs en contexte » et « logging contextuel »
  • Cas d'utilisation pour les logs en contexte
  • Avantages de l'utilisation des logs en contexte
  • Utilisation des logs en contexte pour créer de meilleures alertes
  • Implémentation des logs en contexte dans New Relic

Les logs en contexte, qu'est-ce que c'est ?

Appelé parfois « logging contextuel », le terme « logs en contexte » fait référence à la visualisation des logs parallèlement aux problèmes rencontrés par les applications et l'infrastructure. Les données utiles sur vos applications et infrastructure étant ajoutées aux événements des logs et partagées sur les événements associés, les logs en contexte vous permettent de voir plus facilement les schémas récurrents et les tendances qui ressortent des différentes parties de votre système. 

Au lieu, d'avoir des logs isolés que vous devez trier, vous obtenez le contexte dans lequel l'erreur ou le problème a été déclenché. Vous pouvez facilement naviguer pour voir les détails des erreurs et des problèmes, et si vous commencez avec une erreur ou une trace distribuée, vous pouvez retrouver le log créé lors de la transaction.

Voici un exemple d'utilisation des logs en contexte dans New Relic : 

  • L'agent New Relic APM fournit des données de monitoring des performances des applications au framework de logging et inclut ces données dans les logs de votre application. 
     
  • Les données de l'application sont envoyées automatiquement à New Relic. Lorsque vous allez sur la page de résumé de l'APM pour un service, vous voyez les logs d'erreur listés sous les données associées, ainsi qu'un graphique de logs pour la période choisie organisé en fonction de la sévérité.
  • New Relic corrèle les messages de logs avec les données, afin que vous puissiez repérer les tendances et schémas récurrents pertinents. À partir des pages APM dans New Relic, vous pouvez examiner les détails des logs, traces et erreurs, y compris Errors Inbox, ainsi que les données de votre infrastructure et de Kubernetes.

    Parce que New Relic corrèle les données de log avec des événements et traces à partir des applications associées, les erreurs APM et les traces distribuées sont directement liées aux logs créés au cours de la même transaction que les erreurs ou traces. Par exemple, les hôtes (infrastructure) voient directement les liens aux logs disponibles.

La vue de l'expérience des hôtes (infrastructure) est désormais associée aux logs disponibles.

  • New Relic enrichit vos données de log en ajoutant les attributs contextuels aux logs — un identifiant de span, un identifiant de trace et un nom d'application sont insérés dans les messages de log. Il est ensuite plus facile pour les équipes de résoudre les problèmes en analysant les données, en établissant les liens et en identifiant les autres endroits où un problème pourrait affecter l'état et les performances de l'application. À partir de la page principale d'interface utilisateur des logs, vous pouvez voir tous vos logs, puis les filtrer pour ne voir que les logs avec du texte et des attributs spécifiques.

Une solution de logging contextuelle répond aux défis que présente la recherche d'un log correspondant au problème et la visualisation de tous les logs en un seul et même endroit.

L'utilisation des logs en contexte fonctionne dans les deux sens. C'est en quelque sorte un mouvement circulaire. En effet, vous pouvez démarrer en examinant un log particulier, puis aller au serveur. Et vous pouvez commencer par regarder les données d'un serveur, puis aller directement aux détails du log concerné. Par exemple, dans la vue récapitulative des logs de New Relic, vous pouvez voir l'étendue des logs jusqu'au niveau de l'application que vous observez, et voir aussi les schémas récurrents dans vos logs pour cette application. Si ensuite vous cherchez une trace distribuée qui couvre plusieurs applications et hôtes, vous pouvez aussi voir les logs en contexte.

Utilisation des logs en contexte pour de meilleures alertes

Quel que soit l'outil d'observabilité ou de monitoring que vous utilisez, les objectifs d'alerte se concentrent généralement sur la manière de notifier automatiquement les personnes et les équipes qu'il faut en cas de problème avec l'application, ou même une activité importante pour les objectifs commerciaux. Gérer ces alertes peut s'avérer compliqué lorsqu'il s'agit de définir les seuils adéquats qui déclencheront les alertes. S'il y a trop d'alertes, l'outil utilisé (ou la méthode choisie pour configurer les alertes dans l'outil) peut créer un trop-plein d'alertes. Si vous recevez des alertes constamment, vous finirez par ne plus y faire attention, et vous ne les entendrez plus. C'est ce qu'on appelle la « fatigue due aux alertes ».

Vous pouvez créer des alertes avec d'autres types de données télémétriques, mais nous vous proposons ici quelques conseils concernant spécifiquement les logs dans New Relic :

Cas d'utilisation pour les logs en contexte

Voici quelques exemples sur la façon d'utiliser les logs en contexte :

  • Analysez les données de log pour gagner des informations sur le comportement de l'utilisateur, les problèmes de sécurité et les performances des systèmes. Commencez par rechercher des schémas récurrents et analyser les logs sur plusieurs périodes différentes.
  • Limitez vos objectifs en filtrant les logs par type d'erreur ou sévérité ou en recherchant les logs associés à un service spécifique ou à un utilisateur particulier. Puis examinez les détails des logs.
  • Pour voir et en savoir plus sur ce qui se passait sur l'hôte au moment où une erreur s'est produite dans votre application, vous pouvez dépanner une erreur à partir d'Errors Inbox ou en sélectionnant APM > Events > Error analytics.
  • Vous pouvez corréler les logs avec d'autres sources de données pour mieux comprendre ce qui se passe. Par exemple, vous pouvez suivre la transaction d'un utilisateur particulier dans les logs pour voir ses performances sur plusieurs services. Vous pouvez dépanner la latence en utilisant les traces distribuées pour mieux comprendre ce qui se passe sur votre système lorsque les performances ralentissent. 
  • Créez une alerte qui se déclenche lorsqu'un message d’erreur spécifique se trouve dans vos logs ou lorsque le taux d'échec des tentatives de connexion atteint un certain seuil.
  • Vous pouvez aussi partager ce que vous avez trouvé dans les logs avec d'autres personnes en ajoutant les graphiques de log à un dashboard

Avantages de l'utilisation des logs en contexte

Voici les principaux avantages d'une approche de logging contextuel. Si vous avez accès aux logs en contexte, la gestion des logs sera plus facile de quatre façons importantes.

Un temps de réponse plus court

Étant donné que vous pouvez voir les services ou composants touchés, les erreurs ou avertissements générés, et le moment où le problème a démarré, vous pouvez prioriser vos efforts de résolution et réduire le temps qu'il faut pour identifier la cause profonde du problème et le résoudre.

Les logs fournissent une source commune d'information pour aider tout le monde à être sur la même longueur d'onde et à collaborer vers les mêmes objectifs. Les logs vous aident à identifier les personnes qui doivent être impliquées lorsqu'elles répondent aux problèmes et à vous assurer que toutes ces personnes ont accès aux informations dont elles ont besoin pour résoudre le problème.

Une meilleure collaboration entre équipes

Les logs en contexte sont une source commune d'informations à laquelle tout le monde a accès pour collaborer vers les mêmes objectifs. Les équipes peuvent utiliser les logs pour partager des informations et des détails, poser des questions, et partager leurs commentaires, ce qui aide tout le monde à prendre de meilleures décisions.

Une réduction de la fatigue due aux alertes et une équipe plus efficace

Les logs apportent un contexte supplémentaire pour les alertes, ce qui vous aide à réduire les faux positifs. Quand les alertes sont effectivement déclenchées, le contexte aide les équipes à établir les priorités et à se concentrer sur celles qui sont les plus critiques.

Des alertes plus fiables et plus précises

Lorsque vous analysez les logs en contexte, vous comprenez mieux le comportement de votre système dans des conditions normales. Vous pouvez ensuite créer des alertes plus précises qui sont personnalisées en fonction de votre environnement spécifique et qui sont moins susceptibles de générer des faux positifs. Vous pouvez créer des déclencheurs d'alertes plus précis qui sont plus susceptibles d'identifier les vrais problèmes.

Implémentation des logs en contexte

Voici les étapes de base et quelques conseils pour la mise en place des logs en contexte avec New Relic dans votre environnement :

  1. Affichez les logs dans leur contexte pour l'APM ou le monitoring d'infrastructure. Vous disposez de plusieurs options pour transférer vos données de log vers New Relic.
     
  2. Assurez-vous de mettre en place les logs en contexte avec l'agent APM correspondant au langage de votre application. Chaque agent requiert des étapes spécifiques : 
  1. Explorez les données de logging sur toute la plateforme en sélectionnant Logs dans le menu de navigation de New Relic.
     
  2. Passez en revue tous les autres emplacements dans New Relic à partir desquels vous pouvez accéder à vos logs pour les voir dans le contexte des performances de votre application.
     
  3. Paramétrage des alertes.
     
  4. Pour tirer le plus parti de vos données de logging dans New Relic, vous allez également interroger vos données et créer des dashboards.

Pour connaître les bonnes pratiques et recevoir des conseils sur la gestion des logs, consultez ces bonnes pratiques de gestion des logs. Pour des conseils spécifiques sur la résolution de problèmes avec les logs en contexte, consultez le forum de soutien de la communauté New Relic.

Conclusion

Vous savez maintenant quels sont les avantages de l'utilisation des logs en contexte pour simplifier la résolution des problèmes et améliorer la gestion globale des logs, des alertes, des temps de réponse aux incidents et de la collaboration.

Vous avez également vu quelques cas d'utilisation pour les logs en contexte de New Relic et vous savez comment lancer la mise en place du logging contextuel avec vos propres données.