Cette architecture de référence montre comment utiliser Azure Monitor pour superviser les performances et la disponibilité des charges de travail du système d’exploitation qui s’exécutent sur des machines virtuelles (VM). Les machines virtuelles peuvent se trouver dans Microsoft Azure, dans des environnements locaux ou dans des clouds non Azure.
Architecture
Téléchargez un fichier Visio de cette architecture.
Workflow
- Siège social local – Machine virtuelle 1. Ce composant est une application web avec accès à Internet et une page web publique. Les agents Log Analytics et Dependency sont installés. Pour plus d’informations sur les agents, consultez Présentation de l’agent Log Analytics et Vue d’ensemble des agents Azure Monitor, Dependency Agent.
- Siège social local – Machine virtuelle 2. Cet environnement de logique métier n’a pas accès à Internet. En revanche, les agents Log Analytics et Dependency sont installés.
- Siège social local – Machine virtuelle 3. Ce composant est un magasin de données sans accès à Internet, mais avec les agents Log Analytics et Dependency installés.
- Siège social local – Passerelle Log Analytics. La passerelle Log Analytics collecte des données de journal et de métriques à partir des trois machines virtuelles locales, puis elle les transmet à l’espace de travail Log Analytics via le protocole TCP (Transmission Control Protocol) sur le port 443.
- Siège social local – Pare-feu. Le trafic à destination et à partir de l’environnement local est routé via le pare-feu.
- Passerelle. La passerelle fournit la connectivité à la filiale.
- Filiale locale – Machine virtuelle 4. Ce composant est l’application métier qui s’exécute sans accès à Internet, mais avec les agents Log Analytics et Dependency installés. L’agent Log Analytics installé sur la machine virtuelle est configuré pour transférer les données directement à l’espace de travail Log Analytics, sans avoir besoin d’une passerelle Log Analytics.
- Filiale locale – Passerelle. Cette passerelle connecte la filiale au siège social local via un réseau privé virtuel (VPN).
- Fournisseur de cloud tiers – Machine virtuelle 5. Ce composant est une application web avec accès à Internet, une page web publique, et les agents Log Analytics et Dependency installés.
- Fournisseur de cloud tiers – Machine virtuelle 6. Ce composant est un environnement de magasin de données sans accès à Internet, mais avec les agents Log Analytics et Dependency installés. Il n’existe aucune connectivité directe entre les environnements de fournisseur de cloud tiers et les environnements locaux.
- Azure - VMSS. Il s’agit d’un groupe identique créé à l’aide d’Azure Virtual Machine Scale Sets. Il exécute une application métier avec les agents Log Analytics et de diagnostic installés.
- Azure – Serveur d’applications. Ce serveur a une seule machine virtuelle exécutant une application métier, avec les agents Log Analytics et de diagnostic installés.
- Métriques d’Azure Monitor. Les données collectées par les métriques Azure Monitor sont stockées dans une base de données de série chronologique qui est optimisée pour l’analyse des données horodatées. Cette base de données stocke également les métriques envoyées à partir des machines virtuelles locales et des machines virtuelles Azure.
- Azure Monitor – Espace de travail Log Analytics. Cet espace de travail stocke des journaux envoyés à partir de machines virtuelles locales, de machines virtuelles Azure et de machines virtuelles de fournisseurs de cloud tiers. L’espace de travail est une ressource Azure dans laquelle des données sont agrégées, et qui sert de limite administrative pour l’accès à ces données. D’autres services d’Azure Monitor se connectent ensuite à l’espace de travail Log Analytics et utilisent les données à des fins diverses. Pour plus d’informations, consultez Conception de votre déploiement de journaux Azure Monitor.
- Azure Monitor – Insights – Application Insights. Application Insights fournit des analyses d’applications et des insights concernant leur utilisation. Dans cet exemple d’architecture, un test Ping de disponibilité vérifie la disponibilité de l’application web locale. Les règles d’alerte sont activées pour fournir une notification d’échec de test. Pour plus d’informations, consultez Présentation d’Application Insights et Superviser la disponibilité d’un site web.
- Azure Monitor – Insights – Azure Monitor pour machines virtuelles. Azure Monitor pour machines virtuelles supervise les performances et l’intégrité vos machines virtuelles et groupes de machines virtuelles identiques. La surveillance couvre leurs processus et leurs dépendances vis-à-vis d’autres ressources. Dans ce scénario, le service Azure Monitor pour machines virtuelles fournit des informations sur vos machines virtuelles. Pour plus d’informations, voir Qu’est-ce qu’Azure Monitor pour machines virtuelles ?.
- Azure Monitor – Analyse. Les données de journal et de métriques reçues des machines virtuelles sont interrogées dans les métriques Azure Monitor et l’espace de travail Log Analytics au moyen du langage de requête Kusto (KQL). Les résultats fournissent des insights sur l’infrastructure, la topologie et les ressources. Pour plus d’informations, consultez Kusto : Vue d’ensemble et Exemples de requêtes de journal dans Azure Monitor.
- Azure Monitor – Visualisations. Azure Monitor utilise des outils de visualisation pour examiner les composants d’application et d’infrastructure, ainsi que les communications entre services dans Azure Monitor. Les outils de visualisation comprennent la fonctionnalité Cartographie d’application dans Azure Application Insights, la fonctionnalité Cartographie dans Azure Monitor pour machines virtuelles, les Classeurs Azure Monitor ainsi que plusieurs vues Tableau de bord disponibles dans Azure Monitor. Pour plus d’informations, consultez Utiliser la fonctionnalité Cartographie d’Azure Monitor pour machines virtuelles afin de mieux comprendre le fonctionnement des composants d’application, Créer et partager des tableaux de bord de données Log Analytics et Classeurs Azure Monitor.
- Azure Monitor – Intégrations. Azure Monitor s’intègre avec une série d’outils et d’extensions de partenaires et de tiers. Ces outils et extensions améliorent et étendent des fonctionnalités existantes d’Azure Monitor, telles que l’analyse et les visualisations.
- Azure Monitor – Actions – Alertes. Des variations dans les données métriques et de journal peuvent indiquer l’occurrence d’événements. Des règles définissent les variations de données qui déclenchent des alertes, fournissent des notifications et lancent des réponses de correction. Dans cette architecture, quand une alerte est déclenchée, des runbooks Automation corrigent automatiquement les machines virtuelles locales et Azure. Des actions Webhook, une intégration de la Gestion des services et d’autres types d’actions sont également disponibles. Pour plus d’informations, consultez Créer, afficher et gérer des alertes de métrique à l’aide d’Azure Monitor et Créer, afficher et gérer des alertes de journal à l’aide d’Azure Monitor.
- Azure Monitor – Actions – Mise à l’échelle automatique. La mise à l’échelle automatique ajoute ou supprime des instances de machine virtuelle en fonction des besoins, ce qui contribue à maintenir les performances et à augmenter la rentabilité. Dans cette architecture, la mise à l’échelle automatique a des conditions définies autour de la charge moyenne du processeur (en pourcentage). Lorsque les conditions sont remplies, la mise à l’échelle automatique d’Azure Monitor ajuste le groupe identique en fonction de la demande. Pour plus d’informations, consultez Vue d’ensemble de la mise à l’échelle automatique dans Microsoft Azure.
Composants
L’architecture est constituée des composants suivants :
Recommandations
Les meilleures pratiques suivantes sont des recommandations qui s’appliquent à la plupart des scénarios. Suivez-les, sauf si vous avez un besoin spécifique qui vous oblige à les ignorer.
Espace de travail Log Analytics
Tenez compte des recommandations suivantes lors de la conception de l’espace de travail Log Analytics :
- Placez l’espace de travail et les ressources dans la même région Azure si la latence constitue un facteur important.
- Commencez avec un seul espace de travail Log Analytics, et augmentez le nombre d’espaces de travail à mesure que les besoins changent.
- Si vos équipes et vos ressources sont géographiquement dispersées, vous devrez probablement prévoir un espace de travail par région.
- Votre espace de travail n’a pas besoin d’être dans le même abonnement que les ressources que vous exécutez.
Alertes
Dans les scénarios plus simples, vous pouvez utiliser des métriques pour marquer des alertes plutôt que des journaux. Les métriques :
- Fournissent un nombre, ou une valeur numérique, pour des événements tels que l’utilisation du processeur, la mémoire disponible ou l’espace disque logique.
- Présentent une latence faible.
- Offrent une plus grande granularité, par exemple, des intervalles par seconde ou par minute.
- Vous informent rapidement de l’existence d’un problème.
Pour collecter certains indicateurs de performance personnalisés ou des métriques métier pour obtenir des insights plus approfondis, utilisez des métriques personnalisées. Pour plus d’informations, consultez Métriques personnalisées dans Azure Monitor (préversion).
Les alertes de métriques ne sont pas adaptées à toutes les situations. Vous pouvez toujours utiliser des alertes de journal lorsque vous avez besoin de davantage de personnalisation ou de corrélations plus puissantes.
Analyse et diagnostics
Tenez compte des recommandations suivantes pour l’analyse et les diagnostics :
Utilisez des journaux pour une analyse plus poussée. Les journaux peuvent :
- Fournir une pléthore de détails sur des événements (par rapport aux métriques).
- Être générés de manière intermittente.
- Faciliter des diagnostics plus approfondis après un indicateur de métrique initial.
Personnalisez la collecte des données de journal (qui est similaire à celle des métriques) en utilisant l’API Collecteur de données HTTP pour envoyer les données de journal à un espace de travail Log Analytics. Pour plus d’informations, consultez Transmettre des données à Azure Monitor avec l’API Collecteur de données HTTP (préversion publique).
Analysez vos applications de manière proactive à l’aide de la fonctionnalité de détection intelligente disponible dans Application Insights. La détection intelligente applique les capacités de Machine Learning d’Azure et l’analyse statistique pour détecter des problèmes tels que des anomalies de performance ou d’échec, des fuites de mémoire ou une dégradation générale des applications. Pour plus d’informations, consultez Détection intelligente dans Application Insights.
Utilisez la fonctionnalité Cartographie d’Azure Monitor pour machines virtuelles afin d’examiner les connexions entre les serveurs, les processus, la latence des connexions entrantes/sortantes et les ports sur les architectures connectées via TCP. Aucune configuration autre que l’installation d’un agent n’est requise. Avec Azure Monitor pour machines virtuelles – Cartographie, vous pouvez interagir et communiquer avec vos serveurs en tant que systèmes interconnectés.
Requêtes Log Analytics
Interrogez les données d’un espace de travail Log Analytics à l’aide de KQL pour rechercher des termes, des événements spécifiques ou des états afin d’identifier des tendances et d’analyser des modèles. Utilisez l’Explorateur de requêtes pour parcourir et sélectionner des requêtes pré-écrites, les modifier ou créer vos propres requêtes. Vous pouvez exécuter, enregistrer, partager et exporter des requêtes à partir d’un espace de travail, et épingler vos requêtes favorites à un tableau de bord en vue de les réutiliser.
Installation de l’agent
Installez des agents automatiquement et à grande échelle, plutôt qu’individuellement, en utilisant des options d’automatisation telles qu’Azure Policy, Azure PowerShell, des modèles Resource Manager ou la plateforme Desired State Configuration (DSC). Pour plus d’informations, consultez Activer Azure Monitor pour machines virtuelles à l’aide d’Azure Policy, Activer Azure Monitor pour machines virtuelles à l’aide de modèles Azure PowerShell et Activer Azure Monitor pour machines virtuelles pour une machine virtuelle hybride – Desired State Configuration.
Tableau de bord
Pour les applications critiques, créez un vue Tableau de bord Azure. Partagez votre tableau de bord ou rendez-le disponible sur un écran partagé, en temps réel, aux personnes qui ont besoin de données d’application critiques.
Considérations
Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.
Fiabilité
La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de fiabilité.
Les considérations suivantes vous aident à garantir la disponibilité dans votre environnement.
- Tests de disponibilité. Le test Ping d’URL utilisé dans cette architecture est le test de disponibilité extérieur-intérieur le plus simple. Toutefois, d’autres options sont disponibles, comme :
- Test web multiétape. Lit les enregistrements de requêtes web séquencées pour tester des scénarios complexes. Les tests web multiétapes sont créés dans Microsoft Visual Studio Enterprise et chargés sur le portail en vue de leur exécution.
- Tests personnalisés de suivi de la disponibilité. Utilisez la méthode
TrackAvailability()
pour envoyer les résultats des tests à Application Insights.
- Alertes. Lorsque vous créez un test de disponibilité dans Application Insights, les notifications d’alertes d’événements sont activées par défaut. Vous pouvez modifier les règles d’alerte en spécifiant le type de notification et les détails via Azure Monitor>Alertes.
Sécurité
La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.
Voici des éléments à prendre en considération pour renforcer la sécurisation de votre environnement.
- Espace de travail Log Analytics. Les modes d’accès sont définis comme l’un des contextes suivants :
- Contexte de l’espace de travail. Tous les journaux auxquels l’espace de travail est autorisé à accéder peuvent être interrogés. Il s’agit d’une approche d’accès verticale. Par exemple, une équipe de sécurité peut avoir besoin d’accéder à toutes les données de ressources de haut en bas.
- Contexte de ressource. Seuls les journaux de ressources spécifiques peuvent être interrogés. Par exemple, une équipe d’application peut se voir accorder l’accès à des journaux pour la ressource particulière sur laquelle elle travaille.
- Sécurisation des données en transit vers Log Analytics. Les données en transit sont sécurisées à l’aide au minimum du protocole TLS (Transport Layer Security) 1.2. Vous n’avez pas besoin d’activer cette fonctionnalité explicitement. Pour plus d’informations, consultez Sécurité des données Log Analytics.
- Sécurisation des données au repos dans Log Analytics. Les données au repos dans Log Analytics sont sécurisées, en fonction du service Stockage Azure, à l’aide du chiffrement Advanced Encryption Standard (AES) 256 bits par défaut.
- Détection intelligente. Utilisez la détection intelligente dans Application Insights pour analyser la télémétrie générée par votre application, et détecter des problèmes de sécurité. Pour plus d’informations, consultez Pack de détection de la sécurité des applications (préversion).
- Intégration d’Azure Monitor avec les outils d’Informations de sécurité et gestion d’événements (Security Information and Event Management, SIEM). Acheminez vos données de surveillance vers un Event Hub avec Azure Monitor pour intégrer des outils SIEM et de surveillance externes. Pour plus d’informations, consultez Transmettre en continu des données de surveillance Azure à un Event Hub ou à un partenaire externe.
Optimisation des coûts
L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.
Voici quelques éléments à prendre en considération pour contrôler et gérer les coûts dans votre environnement.
- Azure Monitor. Les coûts d’Azure Monitor sont basés sur la consommation. On parle souvent de paiement à l’utilisation.
- Log Analytics. Vous payez pour l’ingestion des données et la conservation des données. Vous pouvez estimer et prévoir le nombre de machines virtuelles, ainsi que la quantité de données (en gigaoctets) que vous prévoyez de collecter à partir de chaque machine virtuelle. Une machine virtuelle Azure classique consomme entre 1 et 3 gigaoctets (Go) de données chaque mois. Si vous évaluez l’utilisation des données avec des journaux Azure Monitor, utilisez les statistiques de données de votre propre environnement et obtenez une remise avec des réservations de capacité.
- Application Insights. Cet composant est facturé en fonction du volume de données de télémétrie que votre application envoie et du nombre de tests web que vous exécutez.
- Requêtes de métriques. Les requêtes de métriques sont facturées sur la base du nombre d’appels effectués.
- Alertes. Les alertes sont facturées sur la base du type et du nombre de signaux surveillés.
- Notifications. Les notifications sont facturées sur la base du type et du nombre de notifications que vous envoyez.
- Azure Monitor. La section Utilisation et estimation des coûts d’Azure Monitor estime vos coûts mensuels sur la base des 31 jours d’utilisation précédents.
- Pour plus d’informations, consultez Tarification Azure Monitor et Calculatrice de prix.
Excellence opérationnelle
L’excellence opérationnelle couvre les processus d’exploitation qui déploient une application et maintiennent son fonctionnement en production. Pour plus d’informations, consultez Vue d’ensemble du pilier Excellence opérationnelle.
Simplicité de gestion
Voici quelques éléments à prendre en considération pour faciliter la gestion de votre environnement.
- Classeurs Azure. Utilisez des classeurs pour approfondir l’analyse et créer des rapports enrichis. Les classeurs combinent du texte, des requêtes de journal, des métriques et des paramètres sous la forme de rapports interactifs. Les membres de l’équipe ayant accès aux mêmes ressources Azure peuvent modifier les classeurs. Pour plus d’informations, consultez Créer des rapports interactifs Azure Monitor pour machines virtuelles avec des classeurs.
- Intégrations partenaires. Intégrez Azure Monitor avec des outils de partenaires et tiers pour faciliter l’analyse, la visualisation, les alertes ou Gestion des services et Azure Pipelines. Pour plus d’informations, consultez Intégrations partenaires d’Azure Monitor.
- Intégration d’Azure Monitor avec Microsoft System Center. Intégrez Azure Monitor à la suite de produits System Center. Pour plus d’informations, consultez Connecter Operations Manager à Azure Monitor.
- Envoyer des données à Azure Event Hubs. Pour intégrer Azure Monitor avec les outils de visualisation et de surveillance externe, consultez Transmettre en continu des données de surveillance Azure à un Event Hub ou à un partenaire externe.
- Passerelle Log Analytics. Pour des environnements plus petits tels que la filiale, utilisez l’agent pour transférer des données vers l’espace de travail Log Analytics, plutôt que dans une passerelle. Pour plus d’informations, consultez Établir une connectivité à Azure Log Analytics.
DevOps
Voici quelques éléments à prendre en considération pour l’intégration de votre environnement avec des processus et solutions de DevOps.
- Application Insights. Intégrez Application Insights dans Azure Pipelines pour améliorer les performances et l’ergonomie. Application Insights peut détecter automatiquement des anomalies de performances. Il se connecte à différents outils de développement, tels qu’Azure DevOps Services et GitHub.
- Instrumentation d’application.
Instrumentez des applications en modifiant le code d’application afin d’activer la télémétrie avec Application Insights. Les méthodes suivantes permettent d’instrumenter des applications :
- Au moment de l’exécution. L’instrumentation de votre application web sur le serveur au moment de l’exécution est idéale pour des applications déjà déployées, car elle évite d’avoir à mettre à jour le code. Les scénarios appropriés sont les suivants :
- applications ASP.NET ou ASP.NET Core hébergées sur Azure Web Apps ;
- Applications ASP.NET hébergées dans Microsoft Internet Information Services (IIS) sur une machine virtuelle ou un groupe de machines virtuelles identiques
- applications ASP.NET hébergées dans IIS sur une machine virtuelle locale ;
- solution Azure Functions basée sur Java ;
- applications node.JS sur Linux App Services ;
- microservices hébergés sur AKS.
- Au moment du développement. Ajoutez Application Insights à votre code pour personnaliser la collecte de télémétrie et envoyer des données supplémentaires. Les plate-formes et les langages pris en charge sont les suivants :
- Applications ASP.NET
- applications ASP.NET Core ;
- Applications de console .NET
- Java
- Node.JS
- Python
- Au moment de l’exécution. L’instrumentation de votre application web sur le serveur au moment de l’exécution est idéale pour des applications déjà déployées, car elle évite d’avoir à mettre à jour le code. Les scénarios appropriés sont les suivants :
- Utilisez le connecteur de gestion des services informatiques (ITSMC) pour vous connecter aux outils de gestion des services informatiques (ITSM) externes. L’ITSM connecte Azure à des produits et services ITSM pris en charge, où résident généralement des éléments de travail liés à un problème. Pour plus d’informations, consultez Connecter Azure aux outils ITSM à l’aide du connecteur de gestion des services informatiques.
Efficacité des performances
L’efficacité des performances est la capacité de votre charge de travail à s’adapter efficacement pour répondre aux besoins des utilisateurs. Pour plus d’informations, consultez Vue d’ensemble du pilier d’efficacité des performances.
Voici quelques aspects à prendre en compte pour la mise à l’échelle de votre environnement.
- Automatisez l’installation et la configuration de vos ressources et applications.
- Applications dispersées géographiquement à grande échelle. Utilisez le Traçage distribué dans Application Insights pour suivre les dépendances et les appels entre plusieurs composants d’application, ressources principales et environnements de microservices. Le Traçage distribué vous permet de déboguer des applications qui appellent au-delà de limites de processus, en dehors de la pile locale (vous n’avez pas besoin d’activer le Traçage distribué qui est disponible automatiquement dans Application Insights).
- Deux options sont disponibles pour l’utilisation des données de traçage distribué :
- Expérience des diagnostics de transaction. Cette expérience est similaire à une pile d’appels agrémentée d’une dimension de temps. L’expérience de diagnostics de transaction fournit une visibilité d’une transaction/demande unique. Elle est utile pour trouver la cause racine des problèmes de fiabilité et des goulots d’étranglement des performances par demande. Pour plus d’informations, consultez qu’est-ce que le traçage distribué ?
- Expérience de cartographie d’application. Celle-ci agrège de nombreuses transactions pour illustrer la façon dont les systèmes interagissent topologiquement, et fournissent des taux d’erreur et de performance moyens. Pour plus d’informations, consultez Mise en correspondance d’applications : trier des applications distribuées.
- Deux options sont disponibles pour l’utilisation des données de traçage distribué :
Étapes suivantes
En savoir plus sur les technologies des composants :
- Azure Event Hubs - plateforme de streaming de Big Data et service d’ingestion d’événements
- Vue d’ensemble d’Azure Monitor
- Présentation de Log Analytics dans Azure Monitor
- Que sont les groupes de machines virtuelles identiques ?
- Vue d’ensemble de la mise à l’échelle automatique dans Microsoft Azure
- Présentation d’Application Insights