Présentation

Effectué

Dans cette unité, nous examinons la surveillance des concepts des applications Java.

Pourquoi analyser ?

Dans n’importe quel environnement, il est important de pouvoir contrôler la méthode avec laquelle les utilisateurs utilisent votre système, de suivre l’utilisation des ressources et généralement de monitorer l’intégrité et les performances de votre système. Vous pouvez utiliser ces informations comme aide au diagnostic pour détecter et corriger les problèmes, et également aider à identifier des problèmes potentiels et les empêcher de se produire.

Formulaires de monitoring

Le monitoring prend généralement quatre formes :

  • Journaux d’activité : Enregistrements permanents et immuables des événements stockés dans un format tabulaire cohérent, voire dans une base de données complète. Il est possible qu’un événement soit un indicateur d’une des nombreuses conditions, notamment :

    • Un changement de l’état d’un composant monitoré (par exemple de « occupé » à « disponible »).
    • L’achèvement d’une tâche ou d’une séquence d’instructions.
    • Une étape majeure dans la progression de données via un réseau, ou la disponibilité d’unités dans un réseau.
    • Une erreur, qui dans ce contexte est un comportement que le système ou l’application n’a pas été programmé pour gérer ou atténuer.
  • Métriques : Valeurs qui représentent l’intégrité, la stabilité et la disponibilité relatives d’un service ou d’une application, ou de l’infrastructure qui l’héberge.

  • Traces : Enregistrements des chemins d’exécution des programmes et des services, en particulier dans un système hautement distribué, indiquant la séquence d’instructions qui pourrait avoir déclenché directement ou indirectement un événement.

  • Alertes : Les alertes vous informent de façon proactive lors de la détection de problèmes avec votre infrastructure ou votre application. Elles permettent d’identifier et de résoudre les problèmes avant que les utilisateurs de votre système ne les remarquent.

Plateformes Azure Monitoring

Azure fournit Azure Monitor, qui comprend un ensemble de services que les développeurs et les administrateurs peuvent utiliser pour collecter, analyser et agir sur la télémétrie concernant les performances des applications et l’infrastructure qui les héberge.

Log Analytics est un outil du Portail Azure permettant de modifier et d’exécuter des requêtes de journal à partir de données collectées par les journaux Azure Monitor et d’analyser leurs résultats de manière interactive. Vous pouvez utiliser des requêtes Log Analytics pour récupérer des enregistrements correspondant à des critères particuliers, identifier des tendances, analyser des modèles et fournir divers aperçus sur vos données.

Application Insights, une fonctionnalité d’Azure Monitor, est un service extensible d’APM pour les développeurs et les professionnels de DevOps. Il détecte automatiquement les anomalies de performances et intègre des outils d’analyse conçus pour vous aider à diagnostiquer des problèmes et à comprendre l’usage que les utilisateurs font d’une application.

Alertes Azure Monitor : Les données de monitoring peuvent également être envoyées vers d’autres emplacements pour prendre en charge certains scénarios, et certaines ressources peuvent écrire des données sur d’autres emplacements avant de les collecter dans des journaux ou des métriques.

  • Les alertes de métriques fournissent un déclencheur d’alerte quand un seuil spécifique est dépassé. Par exemple, une alerte de métrique peut vous avertir lorsque l’utilisation du processeur est supérieure à 95 %.
  • Les alertes de journal sont basées sur des données écrites dans les fichiers journaux. Par exemple, une alerte de journal peut vous avertir quand un serveur Web a retourné un certain nombre de réponses 404 ou 500.

Vous pouvez monitorer les applications, les services et l’infrastructure Azure en utilisant des systèmes de monitoring de votre choix, tels que Elastic Stack, Splunk, New Relic, Dynatrace et App Dynamics. Dans ce module, nous allons toutefois nous concentrer sur Azure Monitor, Log Analytics et Application Insights.