Gestion des logs & métriques à échelle

Retour sur la conférence de Romain TARTIERE
23 juin 2024 par
Gestion des logs & métriques à échelle
Ambre MARZA
| Aucun commentaire pour l'instant

Cette conférence donnée mardi 18 juin a été réalisé par Romain TARTIEREun mercenaire du Logiciel Libre qui fait de l'administration de systèmes dérivés d'UNIX. Il aime des tas de choses des années 70 comme UNIX ou le hard rock japonais, mais aussi apprécie des choses plus contemporaines comme le langage de programmation Ruby.

Introduction

L'observabilité est la capacité de déduire les états internes d'un système à partir de ses sorties externes. Cela implique de poser des questions pertinentes, obtenir des réponses utiles et agir efficacement. Ce processus forme un cercle vertueux d'apprentissage et d'amélioration.

Les logs, les métriques et les traces sont essentiels à cette démarche. Les logs enregistrent des événements spécifiques, les métriques suivent l'évolution de certaines variables dans le temps, et les traces capturent les relations entre différents composants d'une application. Ensemble, ils offrent une vue complète de l'état et du comportement d'un système.

La Théorie

Pourquoi centraliser des logs ?

Centraliser les logs facilite la recherche et l'analyse grâce à une interface unique et normalisée. Cela améliore la sécurité en évitant le stockage local des données.

Pourquoi collecter des métriques ?

Collecter des métriques permet de surveiller l'infrastructure, de détecter et anticiper les problèmes et de dimensionner correctement les machines. Cela aide à identifier les tendances et les anomalies pour une intervention proactive.

Les stades de maturité de la détection des problèmes

  1. Le client appelle quand il a un problème : Résolution après signalement par les utilisateurs.

  2. Détection des problèmes chez les fournisseurs : Détection avant impact sur les utilisateurs.

  3. Détection des problèmes avant qu'ils n'arrivent : Surveillance proactive pour prévenir les problèmes.

  4. Détection des problèmes avant le client : Problèmes anticipés et résolus avant impact.

Push vs Pull

Deux approches pour collecter des métriques : push (envoi actif des métriques à un serveur) et pull (interrogation des systèmes pour récupérer les métriques).

Une Expérience Personnelle : L'Enfer de la Gestion des Logs et des Métriques

Romain TARTIERE a rencontré des défis dans la gestion des logs et des métriques avec une dizaine de machines et peu de services. En 2010, les outils disponibles étaient complexes à configurer. Cependant, la découverte de Riemann.io, un moteur de traitement de flux d'événements, a offert une solution flexible et efficace.

Gestion des Logs

Syslog-ng : Collecte et Centralisation

Syslog-ng est une solution open-source pour collecter et centraliser les logs. Elle est économique en RAM et utilise Patterndb pour créer des fichiers XML à partir de logs structurés. L'Artificial Ignorance filtre les logs en se concentrant sur les erreurs et les messages inconnus.

Défis avec Elastic et Amazon

Elastic, utilisé pour le stockage et l'analyse des logs, présente des défis de performance et de coût. OpenSearch est une alternative open-source surmontant certaines limitations d'Elastic, surtout sur AWS.

Gestion des Métriques

Samplerr : Une Nouvelle Approche

Fabien Werneli a développé Samplerr, une solution améliorée par rapport à rrdtools. Elle permet le stockage des métriques dans Elasticsearch, ajuste le rythme d'insertion sans perte de données et conserve les attributs des événements extrêmes.

Grafana : Visualisation et Alerting

Grafana, outil de visualisation des métriques, est parfois erratique et ses alertes ne sont pas toujours optimales. Malgré cela, il reste couramment utilisé pour le suivi des infrastructures.

Riemann Tools

Riemann est puissant mais exigeant en RAM. Utiliser des wrappers peut réduire son empreinte mémoire. Les choix par défaut de Riemann sont généralement adaptés aux besoins de monitoring.

Service Level Indicators (SLI)

Les SLI mesurent la performance des services web. Pour créer des métriques efficaces :

  • Une observation peut produire plusieurs métriques.

  • Normaliser les unités (secondes, octets).

  • Vérifier la cohérence des données avant qu'un problème ne survienne.

  • Envoyer les métriques "finales" directement sans calculer les ratios.

Conclusion & Perspectives

La gestion des logs et des métriques à échelle est cruciale pour maintenir la performance et la fiabilité des systèmes. Des outils comme Riemann, syslog-ng, et Samplerr offrent des solutions robustes. Bien que chaque outil ait ses propres défis, leur utilisation conjointe permet une infrastructure d'observabilité efficace.

Romain TARTIERE propose d'explorer Mirabelle pour une représentation intermédiaire des streams et ISM pour remplacer Samplerr si les index ne sont pas fixes. Solr et Superset sont également envisagés pour des analyses plus avancées, tout comme les projets de la fondation Apache.

En pratique, ce domaine est en constante évolution, nécessitant une adaptation continue des outils et des pratiques pour répondre aux besoins croissants des infrastructures modernes. Les expériences partagées par des experts comme Romain TARTIERE sont précieuses pour guider cette évolution et améliorer les pratiques de gestion des systèmes informatiques.

 

Gestion des logs & métriques à échelle
Ambre MARZA 23 juin 2024
Partager cet article
Étiquettes
Archive
Se connecter pour laisser un commentaire.