Qu'est-ce que la surveillance des applications ?

Arfan Sharif - février 15, 2023

Présentation de la surveillance des applications

La surveillance des applications désigne le processus de collecte de données de log afin d’aider les développeurs à contrôler la disponibilité, les bugs, l’utilisation des ressources et l’évolution des performances des applications susceptibles d’avoir une incidence sur l’expérience de l’utilisateur final. Les outils de surveillance des applications émettent des alertes en temps réel en cas d’anomalie et offrent, grâce à la traçabilité distribuée, une visibilité sur les événements à l’origine d’une chaîne causale ayant conduit à leur propagation à plusieurs services.

Les outils de surveillance des applications, également appelés « outils de gestion des performances des applications » (Application Performance Management, APM), permettent de voir comment les événements sont interconnectés grâce au mappage des dépendances et des flux. La surveillance des applications peut être mise en œuvre au moyen d’outils dédiés, ou en collectant et en analysant les logs à l’aide d’outils de gestion des logs. Elle poursuit un double objectif : optimiser la disponibilité et améliorer l’expérience utilisateur.

Les outils de surveillance des applications remplissent les principales fonctions suivantes :

  • Observation des composants des applications : ces composants peuvent inclure les serveurs, les bases de données et les files d’attente de messages ou les caches des logs de messages.
  • Mise à disposition de tableaux de bord et d’alertes : les tableaux de bord fournissent un aperçu général, tandis que les alertes attirent l’attention sur des problèmes spécifiques.
  • Détection des anomalies : la détection peut aller d’une détection de base des valeurs seuils à une reconnaissance avancée des schémas reposant sur le Machine Learning.
  • Traçabilité distribuée : cette fonction permet de suivre la manière dont un événement interagit au niveau de plusieurs nœuds afin de détecter l’origine des erreurs.
  • Mappage des dépendances et des flux : cette fonction fournit une représentation visuelle de la façon dont les requêtes sont transférées d’un service à l’autre.

Défis

Dans un contexte marqué par la multiplication des microservices et la migration vers des environnements cloud disparates, le nombre d’applications ne cesse d’augmenter, rendant le maintien de l’observabilité de plus en plus compliqué. Sans une surveillance centralisée, la portée des autres outils de surveillance, y compris la surveillance des performances réseau, des serveurs et des utilisateurs, risque d’être limitée à certains indicateurs seulement et d’offrir une vue d’ensemble incomplète, contrairement aux outils de gestion des applications, dont l’APM. Les entreprises fonctionnant selon un modèle de distribution continue éprouvent davantage de difficultés à capturer et à appréhender les dépendances au sein d’un environnement d’applications. Les outils APM ont certes évolué pour répondre aux besoins d’un environnement dynamique, mais parfois au détriment de la capacité de réponse en temps réel aux incidents.

Les principales difficultés associées aux outils APM sont les suivantes :

  • Changement continu : un modèle de distribution continue offre des performances plus élevées de manière générale, mais complique la contextualisation aux fins de la surveillance.
  • Complexité : des millions de points de données sont distribués au sein d’un réseau de plus en plus complexe d’opérations, de relations et de dépendances.
  • Données limitées : les outils dédiés exclusivement à la gestion des performances des applications peuvent passer à côté de données opérationnelles et de configuration se trouvant dans des logs non liés aux applications.
  • Horodatage non synchronisé : le fait de ne pas inclure dans l’analyse du temps la configuration ou les dépendances appropriées de la plateforme limite la compréhension.
  • Cloisonnement des solutions de surveillance : la répartition des données au sein de différentes solutions ralentit la détection des causes sous-jacentes.

Relever les défis de l’APM grâce à la gestion des logs

La gestion des logs étend les fonctions des outils APM en assurant l’observabilité de l’infrastructure dans son intégralité. En effet, la gestion des performances des applications ne capture généralement qu’un sous-ensemble des données de log, alors que la gestion des logs couvre toutes les données, permettant ainsi une investigation et une analyse approfondies des causes sous-jacentes. Les solutions de gestion des logs ont accès à un panel plus large de données provenant de plateformes spécifiques que les agents de surveillance APM, notamment à des données concernant les problèmes réseau, les connexions aux bases de données ou la disponibilité, ou encore à des informations sur les événements liés à un conteneur sur lequel l’application repose.

Conçues pour compresser et stocker les données, les solutions de gestion des logs présentent également l’avantage de faciliter l’analyse historique des données, permettant ainsi aux utilisateurs d’identifier l’origine des problèmes de performances à plus grande échelle. Étant optimisée en termes de délai de réponse, la gestion des logs offre également d’autres avantages :

  • Observabilité de l’infrastructure dans son intégralité
  • Investigation et analyse approfondies des causes sous-jacentes
  • Recherche étendue à toutes les données pertinentes, pas aux seules données de l’application
  • Durée plus longue de rétention des données et stockage à long terme

graphique représentant la surveillance des applications

Comment choisir une solution moderne de gestion des logs

Tous les outils de gestion des logs ne répondent pas nécessairement aux besoins de la gestion des performances des applications, qui peut se révéler complexe et riche en microservices. Optez pour une solution de gestion des logs intégrant les fonctionnalités suivantes pour bénéficier d’une APM répondant aux spécificités d’un environnement distribué moderne :

  • Ingestion illimitée de données
  • Requêtes non indexées
  • Données et streaming en temps réel

Ingestion illimitée de données

Les microservices impliquent un volume de données nettement supérieur à celui des applications monolithiques ou reposant sur une architecture orientée services. Aux données de l’architecture individuelle viennent s’ajouter les données des applications, et chaque requête peut avoir son propre chemin d’accès au sein de l’infrastructure. Dès lors, tenter de deviner quelles données inclure dans l’analyse relève pratiquement de l’impossible. Mieux vaut inclure toutes les données et être en mesure de répondre aux questions inattendues ultérieures en ayant recours à un outil de gestion des logs qui prend en charge l’ingestion illimitée de données.

Requêtes non indexées

La nécessité d’indexer les données au fur et à mesure qu’elles sont collectées et de devoir effectuer des recherches dans ces index à des fins d’analyse ralentit tout le processus et entrave l’analyse avancée des données. Une simple intervention de résolution de problèmes peut impliquer des dizaines de requêtes. Par conséquent, si les données de streaming peuvent être collectées sans restriction au niveau de la définition du schéma de prime abord, l’utilisateur dispose d’une plus grande liberté pour explorer les relations par la suite. Les requêtes non indexées permettent d’obtenir des résultats instantanément, encourageant ainsi les utilisateurs à poser davantage de questions et à pousser leur exploration plus loin.

Données et streaming en temps réel

Dans un contexte où les entreprises passent d’un modèle nécessitant quelques versions logicielles par an à plusieurs dizaines par jour, le besoin d’un retour d’information immédiat est plus criant que jamais. La seule manière d’aider efficacement les équipes chargées des opérations à maintenir un niveau de service élevé et à réduire leur délai moyen de résolution est de leur fournir des données en temps quasi réel. Pour ce faire, les données doivent être transmises depuis la source et être immédiatement accessibles à des fins d’indexation.

CrowdStrike Falcon® LogScale, la solution de gestion des logs moderne par excellence

Dotée de fonctionnalités de collecte des données de streaming sans indexation et disponible via un plan de licence illimitée économique, CrowdStrike Falcon® LogScale est une solution de gestion des logs moderne qui répond aux besoins actuels de la surveillance des applications et de la gestion des performances. Elle comble les failles en matière d’observabilité, tout en fournissant des alertes en temps réel à même d’optimiser l’efficacité de vos équipes et de répondre aux exigences des clients d’aujourd’hui.

Journalisez toutes les données dont vous avez besoin grâce à CrowdStrike Falcon LogScale

EN SAVOIR PLUS

À PROPOS DE L'AUTEUR

Arfan Sharif est responsable du marketing produits pour le portefeuille d’observabilité chez CrowdStrike. Il possède plus de 15 ans d’expérience dans les solutions de gestion des logs, ITOps, d’observabilité, de sécurité et d’expérience client pour des entreprises telles que Splunk, Genesys et Quest. Arfan est titulaire d’un diplôme en informatique de la Buckinghamshire New University, et a travaillé aussi bien dans le marketing produits que dans l’ingénierie commerciale.