+33 1 42 44 13 30

Les trois piliers de l’Observabilité

DESCRIPTION DES LOGS

Les Logs sont des enregistrements d’évènements qui apparaissent dans un espace-temps donné. 

Les principaux atouts des logs :

  • Ils sont pris en charge par la plupart des bibliothèques de code.
  • Ils sont bien appropriés à l’instrumentation spécifique de code.
  • Il est possible de les agréger pour éviter leur multiplicité.
  • La journalisation de classes et de propriétés de configuration Java est possible via la sortie standard STDOUT.
  • Les journaux sont stockés dans un magasin de données (Data Store) persistant.
  • Ils peuvent être interrogés directement via Kibana pour créer des tableaux de bord personnalisables.
  • Les journaux peuvent être capturés par différents outils tiers.
  • Actuellement, une préférence est portée vers les journaux de type « structuré ». En général, ils sont émis au format standard JSON.

Exemple de suivi de logs par la solution Dynatrace.

La partie supérieure de l’écran permet de configurer, en trois étapes, les règles d’Observabilité sur les évènements relevés dans les logs.

DESCRIPTION DES MÉTRIQUES

Les métriques représentent l’agrégation numérique de données décrivant le comportement d’un composant ou d’un service, mesurées dans un espace-temps donné.

Les principaux atouts des métriques :

  • Elles sont d’accès facile pour le stockage et la modélisation.
  • Elles sont utiles à la compréhension des performances du système.
  • Elles sont prises en charge par la plupart des bibliothèques de code.
  • Les classes Java sont capables de pousser automatiquement les données de métriques.

DESCRIPTION DES TRACES

Le traçage est utilisé pour capturer le flux d’une requête relative à un évènement.

Les principaux atouts des traces :

  • Insertion d’une métadonnée pour chaque étape du flux suivi.
  • Les systèmes de traçage distribués, comme Zipkin ou Jaeger sont utilisés pour visualiser et inspecter les traces.
  • OpenTelemetry est un langage neutre de traçage.

Le traçage est un élément incontournable de l’Observabilité proactive. Il peut mettre en évidence la partie du code à instrumenter pour obtenir de meilleures informations.

Comment fonctionne l’Observabilité ?

PRÉSENTATION DU PROCESSUS DE JOURNALISATION

La journalisation est le mécanisme qui permet de collecter des journaux à partir de diverses sources d’entrées. Ces journaux sont généralement fournis au format brut. Ils doivent être ensuite analysés pour obtenir les informations pertinentes. En règle générale, les journaux sont traités et organisés par un même outil. La journalisation définit les évènements qui doivent être enregistrés, comment ils doivent être consignés et comment ils doivent être agrégés.

GUIDE DU PROCESSUS DE MONITORING

Le monitoring observe l’état d’une infrastructure ou d’un environnement sur une période de temps donnée.

Les trois principales raisons qui mènent au monitoring sont :

  • La détection des problèmes
    • Généralement via des alertes ou par visualisation dans des tableaux de bord.
  • La résolution des problèmes
    • Identification des causes de dysfonctionnement et dépannage.
  • L’amélioration Continue
    • Reporting et documentation.

COMMENT FONCTIONNE L’ALERTING ?

L’alerting permet de définir qui et comment notifier lorsqu’un évènement donné survient. Pour éviter la profusion inutile d’alertes, la suppression de faux positifs est une fonction très importante. L’Observabilité permet ce nettoyage en :

  • Alertant uniquement sur des évènements critiques.
  • Activant l’analyse lorsqu’une action a été menée manuellement, à plusieurs reprises.
  • Activant l’automatisation pour solutionner certains problèmes.

Exemple d’une carte d’Observabilité, construite à partir de la solution New Relic One.

Cette cartographie permet de contrôler les interactions entre les différents éléments, collectés dans de multiples sources.

Les avantages de l’Observabilité

  • Elle aide à comprendre ce qui se passe dans l’environnement de production afin d’améliorer la perception des utilisateurs finaux.
  • Elle élimine les besoins de debugging en environnement de production.
  • Elle monitore finement les performances des applications.
  • Elle aide à identifier rapidement les sources des problèmes et guide le dépannage.
  • Des bibliothèques rassemblant de nombreux tableaux de bord intuitifs pour aider rapidement à observer ce qui se passe, en temps réel, sont disponibles.
  • Via l’automatisation, elle permet de mettre en place une architecture auto-gérable.
  • L’Observabilité aide à enrichir les données et fournit rapidement des informations pertinentes.

Comment adopter l’Observabilité ?

L’Observabilité est essentielle à la discipline DevOps. Pour adopter cette discipline, parallèlement à l’ingestion des journaux, les développeurs ajoutent du code aux applications afin de fournir des données complémentaires et pertinentes, à même de déclencher des alertes. 

Les DevOps exécutent quotidiennement des tests automatisés, de bout en bout, avant et après déploiement des applications, pour comprendre si le dit déploiement s’est déroulé correctement ou non. 

L’Observabilité est sous la responsabilité des développeurs et des opérationnels. Le développeur fournit les données de journalisation appropriées. Cela permet la réduction du temps de pannes (MTTR) pour les équipes opérationnelles.

Les meilleures pratiques pour implémenter l’Observabilité

  • Ne pas chercher à TOUT surveiller.
    • Ne surveiller que les choses qu’il serait impératif de dépanner en cas de dysfonctionnement.
  • Ne pas configurer d’alertes sur TOUS les évènements.
    • Ne configurer les alertes que pour les évènements critiques.
  • Ne pas stocker TOUS les journaux et TOUTES les données.
    • Ne stocker que les journaux qui portent des informations sur les évènements critiques.
  • Ne pas utiliser que les graphiques par défaut.
    • Créer des graphiques personnalisés, en fonction des besoins.
  • Créer des alertes basées sur les données Prometheus ou Grafana.

Les freins et risques liés à l’Observabilité

  • La nature conservatrice de certaines équipes opérationnelles peut gêner l’adoption de nouvelles méthodes de travail. Cela est d’autant plus vrai lorsque les différents domaines d’expertise ont pris l’habitude de fonctionner en mode silo. 
  • Outils redondants : Beaucoup d’entreprises disposent déjà d’une quinzaine d’outils de surveillance et ne souhaitent pas ajouter encore plus de complexité. Il faut analyser l’ensemble des outils existants pour voir comment les intégrer au soutien des initiatives d’Observabilité. Voire, contrôler si certains d’entre eux doivent être remplacés par une nouvelle architecture.
  • De nombreux éditeurs promettent l’Observabilité, mais certains ont simplement renommé leurs solutions existantes sans vraiment se soucier des réelles pratiques d’Observabilité.

Les fournisseurs de Cloud comme AWSMicrosoft Azure et Google Cloud Platform améliorent en permanence leurs propres outils d’Observabilité. Il est possible, à l’avenir, que ces services diminuent le recours à des outils tiers.

Nos recommandations

  • Implémenter l’Observabilité en sélectionnant des éditeurs et des systèmes qui utilisent des normes ouvertes émergentes pour la collecte, telles que OpenTelemetry et OpenMetrics.
  • Étudier les problèmes ne pouvant être adressés par le monitoring traditionnel et les analyser sous l’angle de l’Observabilité, afin de gagner en temps de résolution.
  • Appliquer une Observabilité pragmatique en se concentrant sur les avantages commerciaux qu’elle peut offrir.
  • Augmenter la disponibilité des applications en concevant l’Observabilité directement dans l’application, lors de sa phase de développement.

Diagramme de maturité, partant des métriques de monitoring, en silo, pour cheminer vers une vision d’Observabilité proactive et prédictive.

Notre accompagnement

Par son expertise de plusieurs années dans les domaines :

  • Du Network Performance Monitoring, 
  • de l’Application Performance Monitoring,
  • de l’End User Experience Monitoring,
  • des processus ITSMBigDataDevOpsBizDevOps
  • des méthodes AGILE,
  • des bonnes pratiques ITIL

SeeMetric est à même de vous accompagner tout au long de vos projets d’Observabilité. 

De plus, notre partenariat avec les principaux éditeurs du marché nous permet d’être le plus au fait des avancées technologiques.

Nous serons heureux d’en discuter avec vous.

Bernard THEOT
Directeur Technique Métrologie
+33 (0) 142 441 33
0