Les 3 piliers de l'observabilité : logs, indicateurs et traces unifiés
Comprendre les signaux de télémétrie pour une meilleure prise de décision, des performances améliorées et une expérience client enrichie
.jpg)
Les signaux de télémétrie ont considérablement évolué au fil des ans. Un clin d'œil aurait suffi pour passer à côté. En réalité, la plupart des connaissances courantes en matière d'observabilité doivent être actualisées. Si votre solution d'observabilité ne tient pas compte de l'état actuel de la télémétrie, vous devriez peut-être envisager une mise à niveau. La surveillance et l'observabilité des systèmes logiciels ont connu plusieurs phases de transformation, parallèlement aux avancées technologiques, à la complexification des systèmes et à l'émergence de nouvelles approches de suivi.
Comme toujours, les données sont au cœur de l'histoire. L'évolution de la télémétrie suit de près celle de l'informatique. À mesure que le besoin en données s'étend d'un indicateur de performance mécanique à un indicateur (ou plusieurs indicateurs) de performance métier, les signaux de télémétrie évoluent également. L'informatique a évolué vers des environnements cloud distribués, et les pratiques de suivi doivent donc évoluer pour répondre à la complexité de ces architectures et de ces environnements numériques tentaculaires.
C'est là qu'intervient l'observabilité : la capacité non seulement d'observer votre environnement, mais aussi de le comprendre .
Quels sont les 3 piliers de l'observabilité ?
Trois signaux de télémétrie sont les piliers fondamentaux de l'observabilité : les indicateurs, les logs et les traces. Mais pour l'observabilité moderne, cela pourrait ne pas suffire. Nous proposons donc un quatrième pilier inédit : le profilage.
Les indicateurs, les traces, les logs et les profils sont les rouages qui vous permettent d'assurer une bonne observabilité, afin de suivre les performances et la productivité. En retour, cette observabilité génère des informations exploitables qui favorisent la rentabilité. Ce n'est pas un hasard si ces éléments constituent les fondements de l'observabilité. Si vous les comprenez mal, vous risquez de tout perdre. Voyons cela de plus près.
Que sont les indicateurs ? (Ou, que se passe-t-il ?)
Les indicateurs sont les données numériques brutes collectées à partir de diverses sources, telles que le matériel, les applications et les sites Web, qui mesurent les éléments connus. Ils fournissent des informations sur l'utilisation des ressources, les performances et le comportement des utilisateurs. Les indicateurs sont les signaux de télémétrie originaux de la surveillance et peuvent être classés en plusieurs types :
Indicateurs de l'hôte : utilisation du processeur, de la mémoire et du disque
Indicateurs de l'application : temps de réponse, taux d'erreurs et taux de requêtes
Indicateurs de performance du réseau : débit, disponibilité, latence, temps de fonctionnement, etc.
Indicateurs du pool de serveurs : indicateurs de montée en charge, nombre d'instances en cours d'exécution et nombre total d'instances.
Indicateurs de dépendances externes : état du service, vitesse de réponse, disponibilité et taux d'erreurs
Ces indicateurs sont nécessaires pour définir les seuils d'alerte, d'avertissement et d'erreur. Ils permettent aux équipes de surveiller les performances globales du système et du réseau et d'identifier les problèmes lorsqu'ils surviennent. De cette manière, les indicateurs permettent d'adopter une attitude réactive en matière de suivi.
Que sont les logs ? (Pourquoi cela se passe-t-il ?)
Les logs sont des données structurées et données non structurées provenant de votre infrastructure, de vos applications, de vos réseaux et de vos systèmes. Ils sont constitués d'entrées horodatées relatives à des événements spécifiques. Différents types d'appareils et de systèmes émettent des logs :
Les dispositifs réseau
Les systèmes d'exploitation
Les applications
Les appareils IoT
Applications tierces
Chacun de ces appareils génère son propre type de log, qu'il s'agisse d'un log système, qui inclut des événements tels que les tentatives de connexion, les erreurs et les changements de configuration, ou d'un log d'application qui enregistre tout, des changements logiciels aux opérations CRUD, en passant par l'authentification des applications, etc. Le stockage des logs est compliqué en raison du nombre de sources de logs (pensez au nombre d'appareils, d'applications et de systèmes répertoriés ci-dessus qui fonctionnent dans votre organisation), de l'incohérence des formats et des horodatages, et, avec l'augmentation des demandes, de l'utilisation et du trafic, des volumes gigantesques de données de logs.
Les logs ont évolué : autrefois utilisés principalement pour le dépannage, ils remplissent aujourd'hui de nombreuses fonctions, telles que l'enregistrement des actions des utilisateurs, l'optimisation des performances du système et du réseau, et la fourniture de données utiles pour les enquêtes de suivi de la sécurité. Lors du débogage de problèmes et d'événements, les professionnels de l'informatique se réfèrent aux logs pour les identifier et y remédier. Si les logs eux-mêmes sont flexibles et riches en informations (dont la plupart sont inutiles et génèrent beaucoup de bruit) les magasins de données des logs sont cloisonnés et ne sont pas intrinsèquement corrélés.
Que sont les traces ? (Où cela se passe-t-il ?)
Les traces sont le premier signal qui permet de visualiser l'application du point de vue de l'utilisateur, en enregistrant les actions qu'il effectue lorsqu'il utilise une application ou un service. Le traçage distribué est un moyen de surveiller les requêtes tout au long de leur parcours dans une architecture distribuée, du front-end au back-end, puis de nouveau au front-end. Les traces sont donc indispensables pour les applications distribuées etcloud-native qui s'appuient sur des technologies complexes, telles que Kubernetes.
En rassemblant des données cloisonnées, les traces permettent de découvrir les goulots d'étranglement, de déboguer et de surveiller les applications qui utilisent plusieurs applications, telles que les disques, les réseaux et les exclusions mutuelles (mutex). Les traces jettent également les bases d'un suivi proactif. Par exemple, les équipes SRE, ITOps et DevOps peuvent analyser les données de trace pour découvrir les indicateurs ou les logs les plus utiles liés à un problème donné et l'atténuer à l'avenir.
Les indicateurs, les logs et les traces fournissent chacun un ensemble de données différent qui peut répondre aux questions d'un utilisateur sur son système et/ou son application. Cependant, sans corrélation entre ces données, les utilisateurs sont confrontés à de nombreux angles morts. Une information supplémentaire peut aider à combler cette lacune. C'est là que la prochaine étape dans l'évolution des signaux de télémétrie entre en jeu : le profilage.
Que sont les profils ?
Les profils sont des collections de traces de pile associées à un problème de performance du code, représentant le nombre de fois où cette trace de pile a été rencontrée. Ils offrent un niveau d'information plus approfondi que les autres signaux, permettant d'identifier des problèmes obscurs liés aux structures de données, à l'allocation de mémoire et à la visibilité du code, tant au niveau du noyau qu'au niveau de l'espace utilisateur. L'action consistant à collecter et à analyser des profils est appelée profilage.
Le profilage offre une visibilité d'une ampleur et d'une profondeur sans précédent, vous permettant de découvrir les inconnues de votre système. Il constitue ainsi la dernière pièce du puzzle pour une visibilité complète à l'échelle du système. C'est pourquoi il s'agit de notre quatrième pilier d'observabilité.
Apprenez-en plus sur le profilage en. lisant l'article Elastic contribue à OpenTelemetry avec son agent de profilage universel.
Connexion entre observabilité et signaux de télémétrie
Les signaux de télémétrie sont la base de l'observabilité. L'observabilité est obtenue par la collecte, l'analyse et la visualisation des signaux de télémétrie afin de comprendre l'état interne d'un système.
Phase 1 : Suivi et observabilité de base
Avant l'avènement du cloud, le suivi était manuel, local et limité. Alors que les ordinateurs sont passés d'une sphère professionnelle spécialisée (oui, les ordinateurs étaient des machines de bureau de niche il y a 50 ans) aux maisons et aux bureaux du monde entier, le suivi a également évolué pour devenir une pratique informatique cruciale et la première étape vers l'observabilité.
Pour faire face à l'augmentation des données circulant sur les serveurs et les réseaux intranet, les ingénieurs informatiques ont développé des outils de suivi qui automatisent la détection. Avec l'arrivée d'outils de suivi open source, la surveillance de base des réseaux et des postes de travail passe du local au web. Aujourd'hui, les signaux de télémétrie ne se limitent plus au suivi des opérations et du trafic local : ils constituent des indicateurs métier nécessaires, et c'est ainsi que vous devez désormais considérer les indicateurs, les logs et les traces. Les internautes peuvent-ils effectuer des achats en ligne sans problème ? Quelle est la rapidité de la connexion ? Y a-t-il eu des violations de données ? Les réponses à ces questions sont directement liées à la rentabilité grâce à l'expérience et à la satisfaction des clients.
Et comme les sites web reçoivent désormais des données clients, le suivi de la sécurité est un élément de plus en plus important de toute solution de suivi.
Phase 2 : suivi et observabilité des applications
Dans un souci de scalabilité accrue, les développeurs passent d'applications monolithiques à des architectures orientées services, puis à des microservices et à des architectures serverless.
Le passage de composants étroitement couplés à des composants modulaires, tout en améliorant la flexibilité des applications afin que les développeurs puissent rapidement évoluer, entraîne une augmentation significative des signaux d'observabilité nécessaires au suivi. La nécessité de surveiller non seulement l'infrastructure, mais aussi l'application elle-même ajoute les temps de réponse, le débit et les taux d'erreur à la liste des signaux de télémétrie requis pour un suivi efficace. Le suivi des performances applicatives (APM) est apparu comme une nouvelle pratique indispensable et un ensemble d'outils qui deviendront essentiels à l'observabilité.
Phase 3 : suivi dans le cloud et observabilité
La transition vers les technologies cloud-natives complexifie les pratiques de suivi de la même manière que l'évolution des paradigmes de développement d'applications : le volume et la variété des signaux de télémétrie ne cessent de croître.
Dans les architectures distribuées, de nouveaux signaux de télémétrie sont nécessaires pour s'assurer que les entreprises répondent aux attentes des clients en matière de rapidité, de fluidité et de sécurité de l'expérience en ligne. Nous avons ici les trois éléments essentiels : les indicateurs, les logs et les traces. Ces signaux capturent l'activité sous-jacente d'un système d'exploitation et de ses applications et, ensemble, permettent aux entreprises d'accéder à une observabilité moderne.
Phase 4 : l'évolution des signaux de télémétrie à des fins d'observabilité
Microservices, serverless, cloud-native. Dans un monde où les données sont reines, il est crucial de comprendre les données qui les génèrent. Qu'il s'agisse d'atteindre des objectifs de rentabilité ou de productivité, les indicateurs, les logs et les traces sont les maillons d'une chaîne d'opérations : ils contiennent les données dont votre entreprise a besoin pour respecter ses accords de niveau de service.
Si les indicateurs, les logs, les traces et désormais les profils jouent tous un rôle crucial dans les pratiques de suivi, l'examen manuel de ces données à des fins de débogage est, sinon impossible, du moins inefficace. Et bien que l'automatisation allège quelque peu la charge, elle génère un nombre important d'alertes. La diversité des types de données et des sources rend également beaucoup plus difficile la gestion du flux d'informations et leur mise en corrélation pour obtenir des informations exploitables.
Nous en revenons donc aux données (même si nous ne les avons jamais quittées) qui racontent l'histoire. Les équipes étant constamment occupées à rattraper leur retard, le suivi doit évoluer pour répondre à l'afflux extraordinaire de données et au besoin d'informations indissociables des performances de l'entreprise. La solution ? Une plateforme unifiée de données de télémétrie.
Observabilité moderne
L'observabilité moderne est la pratique qui consiste à observer le comportement global d'un système distribué pour comprendre son état interne. Une solution d'observabilité moderne et efficace réunit les indicateurs, les logs et les traces sur une plateforme de télémétrie unifiée, permettant aux professionnels de l'informatique d'obtenir une vision holistique de leur environnement technologique et de générer des informations exploitables qui ont un impact sur la résilience et la productivité du système.
Avec ses capacités en matière de données et d'informations, une plateforme de données de télémétrie unifiée doit stocker autant de données que possible afin d'extraire des informations et des analyses lorsque cela est nécessaire ou souhaité. Par conséquent, une solution d'observabilité moderne et efficace encourage les investigations proactives et réactives. La corrélation des données (indicateurs, logs, traces et profilage) permet aux équipes de traiter les éléments connus et de découvrir ceux qui sont inconnus. En d'autres termes, une solution d'observabilité moderne et efficace permet aux équipes de répondre rapidement à la question « pourquoi ».
Alors, comment parvenir à une observabilité moderne ? Tenez compte des normes ouvertes et d’OpenTelemetry pour organiser les données et les analyser. OpenTelemetry aide les SRE à générer des données d'observabilité dans des formats de données cohérents (normes ouvertes) pour faciliter l'analyse et le stockage tout en minimisant l'incompatibilité entre les types de données des fournisseurs. La plupart des analystes du secteur pensent qu'OpenTelemetry deviendra la norme de facto pour les données d'observabilité au cours des cinq prochaines années. La collecte de données unifiée avec des normes de données cohérentes pour tous vos signaux de télémétrie signifie que vous assurerez la pérennité de votre observabilité. De manière plus générale, vous devrez également :
Créer une base de référence : établissez une cohérence dans vos formats et vos données pour toutes vos données de télémétrie.
Filtrer les données : éliminez les incohérences entre les fournisseurs pour les utilisateurs finaux.
Consolidez vos outils : Assurez-vous de disposer d’une stratégie globale d’observabilité.
Les données de télémétrie se présentent sous de nombreuses formes : les applications cloud-natives en produisent tout un panel, tandis qu'un environnement serverless ou une machine virtuelle en produira un autre. De plus, ces données sont produites à grande vitesse. Ainsi, parvenir à l'observabilité signifie unifier les données. Cela garantit des informations pertinentes, précises et rapides.
L'avenir des signaux de télémétrie passe par la prévisibilité
C'est prévisible : à mesure que le paysage technologique évolue, les signaux de télémétrie nécessaires pour garantir le fonctionnement optimal des systèmes et l'utilisation efficace des ressources évoluent également. Aujourd'hui, les signaux de télémétrie sont connectés à des systèmes sophistiqués qui exploitent l'IA/le ML pour fournir des informations prédictives et des réponses automatisées. Cette tendance n'est pas près de disparaître.
Les environnements dispersés et distribués rendent la surveillance difficile, voire inefficace. Par conséquent, le suivi doit étendre son champ d'action au domaine de l'observabilité. Pour améliorer l’observabilité, les organisations consolident leurs outils de suivi sur une plateforme unifiée afin d’alléger certaines contraintes et d’obtenir une vision globale des performances du système. Les mesures de performance de base restent essentielles pour le dépannage et l'optimisation, tandis qu'une approche itérative permet d'améliorer la résilience des applications. En réunissant des données cloisonnées, les entreprises peuvent passer d'un suivi réactif à un suivi proactif, en s'appuyant à la fois sur des données télémétriques en temps réel et sur des données historiques.
Avec l'essor de l'IA générative, les entreprises ressentent plus que jamais la pression de sécuriser leurs systèmes. Ainsi, l'intégration des signaux de sécurité dans les frameworks d'observabilité devient plus importante, l'accent étant mis sur la détection et la réponse aux menaces en temps réel. Et au fur et à mesure que les technologies d'IA générative évoluent, nous devrions voir apparaître des systèmes capables de s'autoréparer grâce à des capacités de remédiation automatisées avancées.
Mais avant de pouvoir atteindre ces nouvelles étapes, les entreprises doivent préparer le terrain en construisant des bases de données solides reposant sur des normes ouvertes. Après tout, la seule constante est le changement. Qui souhaite être prisonnier d'un fournisseur ?
La publication et la date de publication de toute fonctionnalité ou fonction décrite dans le présent article restent à la seule discrétion d'Elastic. Toute fonctionnalité ou fonction qui n'est actuellement pas disponible peut ne pas être livrée à temps ou ne pas être livrée du tout.