Comprendre et mettre en œuvre Azure Monitor pour la surveillance des charges de travail

Votre souhait est que les applications de productions stratégiques de votre entreprise fonctionnent sans problèmes ou interruptions. Pour ce faire, vous devez analyser en continu les journaux d’événement du système...
Neeraj Kumar
8 minute de lecture
Dernière mise à jour 6 octobre 2023

Votre souhait est que les applications de productions stratégiques de votre entreprise fonctionnent sans problèmes ou interruptions. Pour ce faire, vous devez analyser en continu les journaux d’événement du système et surveiller votre application et ses services dépendants, afin d’identifier et de résoudre tout problème.

Qu’est-ce qu’Azure Monitor ?

Azure Monitor est un service qui collecte les journaux de surveillance et les informations diagnostiques. Une fois recueillies, les données de surveillance et de diagnostic peuvent ensuite être utilisées pour visualiser et analyser l’état de santé des services et servir de guide pour prendre les mesures appropriées.

Azure Monitor vous assiste dans le diagnostic de causes de défaillances et vous aide également à identifier de manière proactive les problèmes avant qu’ils n’arrivent. Ceci améliore la disponibilité.

Ainsi, nous avons un aperçu des performances et de la disponibilité de nos applications dans Azure, ainsi que des ressources et applications sur site.

De plus, Azure Monitor peut collecter les données de télémétrie des ressources. La télémétrie vous aide à comprendre les performances de votre application par rapport aux ressources utilisées.

Par exemple, l’utilisation du processeur, de la mémoire, etc. Si l’on parle des journaux d’événement, ils sont capturés lorsqu’il y a un changement dans la ressource. C’est-à-dire lorsqu’ils sont modifiés, créés, en cas de problèmes, de défaillances, etc.

Fonctionnalités d’Azure Monitor

Vous trouvez ci-dessous le diagramme qui vous offre une vue globale d’Azure Monitor ainsi que de ses fonctionnalités, ses capacités et son utilisation. Ce diagramme est divisé en deux sections. La partie inférieure du diagramme montre les sources d’Azure Monitor. Celles-ci sont des applications, des systèmes d’exploitation, des ressources azure, des abonnements et des tenants, ainsi que d’autres sources personnalisées.

La partie supérieure du diagramme est Azure Monitor, où nous trouvons tout d’abord les dépôts de données de télémétrie et des journaux d’événement. Ces données sont ensuite utilisées par différentes fonctions et services.

Commençons par la partie supérieure de l’application :

  • Données d’application : Données relatives à votre code d’application personnalisé .
  • Données du système d’exploitation : Données provenant des machines virtuelles Windows ou Linux qui hébergent votre application.
  • Données des ressources Azure : Données relatives aux opérations d’une ressource Azure telle qu’une application Web ou un équilibreur de charge .
  • Données d’abonnement Azure  : Données relatives à votre abonnement. Elles incluent des données sur l’état de santé et la disponibilité d’Azure.
  • Données tenant d’Azure  : Données sur vos services Azure au niveau de l’organisation, tels qu’Azure Active Directory.

Dans la partie inférieure, nous trouvons Azure Monitor aux caractéristiques suivantes :

  • L’intégration avec des applications Logic ou l’utilisation des API d’exportation pour effectuer des actions spécifiques.
  • L’analyse des données à l’aide de Metric Analytics or Log Analytics, pour lesquels nous pouvons utiliser le Kusto Query Language (ou KQL). Kusto est un langage de requête et s’abrège en “KQL”. Il a été développé avec certains principes clés à l’esprit, comme une syntaxe facile à lire et à comprendre, des hautes performances grâce à la mise à l’échelle et la transition en douceur de requêtes simples à des requêtes complexes.Il est intéressant de noter que le KQL est un langage de requête en lecture seule, qui traite les données et renvoie les résultats. Il est très semblable au SQL avec une séquence d’instructions, où celles-ci sont modelées en flux de sortie de données tabulaire de l’instruction précédente à l’instruction suivante. Ces instructions sont concaténées avec un caractère en pipe(|). Nous en reparlerons et le verrons en action lorsque nous travaillerons sur la démonstration :
  • La réponse aux situations critiques par l’envoi d’alertes et par la configuration des règles de mise à l’échelle automatique afin de répondre à l’évolution des besoins de calcul.
  • Insights peut être utilisé par les applications et les machines virtuelles, y compris les conteneurs et les solutions de surveillance, pour capturer des détails approfondis sur leurs performances, et ensuite relayer ces détails pour les analyser et apporter une réponse appropriée.
  • La visualisation des données à l’aide de tableaux de bord, de classeurs Excel, de Power BI ou à la création de vues. Celles-ci aident à comprendre l’état actuel et vous permettent de planifier des actions en conséquence. Les données collectées par Azure Monitor peuvent être étendues en activant les diagnostics, où vous obtenez les informations complètes après les avoir activé. De même, pour les machines virtuelles, vous installez les agents pour envoyer les données à l’espace de travail Log Analytics.

Azure Monitor : Journaux d’événement et télémétrie

Prenons le temps de comprendre ce que sont les journaux d’événement et la télémétrie.

Les journaux d’événement contiennent des informations horodatées sur les modifications apportées aux ressources. Nous savons que les évènements peuvent se produire de manière sporadique ou à des intervalles fixes et qu’ils dépendent aussi de la source, d’où l’évènement se produit. Ces évènements peuvent provenir des applications et des services, qui fournissent le contexte des évènements. Ces journaux d’événement sont organisés en enregistrements. Ces enregistrements peuvent comprendre des données de télémétrie, c’est-à-dire numériques, mais la plupart des données est textuelle.

Comme mentionné précédemment, vous pouvez stocker les données métriques dans les journaux d’événement afin de les combiner avec d’autres données de surveillance à des fins d’analyse. Ces journaux d’événement établissent le contexte de tout problème et aident à identifier les causes profondes des problèmes.

La télémétrie est un ensemble d’informations ponctuelles d’un système, basées sur une valeur numérique. Azure Monitor effectue régulièrement des échantillons de la source et capture les mesures télémétriques en temps quasi-réel. Ces échantillons sont utiles pour les alertes et la prise de mesures appropriées en cas de besoin. L’un des exemples est la mise à l’échelle des services ou des serveurs en fonction de l’utilisation du processeur et de la mémoire. Les données télémétriques sont stockés dans une base de données de série temporelle, la manière la plus efficace pour analyser les données horodatées.

Nous utilisons le langage de requête Kusto pour extraire des informations des données de journaux d’événement et examiner les données capturées par Azure Monitor. Le langage de requête Kusto (KQL) est sensible à la casse. Les mots-clés du langage sont généralement écrits en minuscules. Lorsque vous utilisez les noms de tableaux ou de colonnes dans une requête, assurez-vous d’utiliser la bonne casse.

Certaines plateformes de démonstration sont fournies par Microsoft et peuvent être utilisées gratuitement à des fins d’entraînement. Elles servent aux :

  1. Log Analytics (https://aka.ms/LADemo)
  2. Application Insights (https://aka.ms/AIAnalyticsDemo)
  3. Windows Defender Advanced Threat Protection (https://aka.ms/WinDefATP)

Ces plateformes ont également des requêtes enregistrées qui peuvent être utilisées pour avoir un aperçu sur la formation de requête et l’élaboration de requêtes complexes. Vous pouvez également sauvegarder vos requêtes pour une utilisation ultérieure.

Créer et configurer Azure Monitor

Maintenant que nous avons une compréhension plus claire d’Azure Monitor et de ses fonctionnalités et capacités, le moment idéal pour plonger dans la démonstration est arrivé. Dans la démonstration suivante, nous allons configurer le service Azure Monitor pour surveiller une application Web sur App Services. L’application Web sur App Services est une offre PaaS, qui s’exécute sur l’infrastructure Microsoft Azure, gérée par Microsoft eux-mêmes. Azure Monitor devrait être en mesure de déclencher une action lorsque l’utilisation moyenne du processeur du serveur qui héberge l’application Web dépasse le seuil défini. Pour en savoir plus sur App Services, cliquez ici.

Conditions requises

Avant de commencer, voici les éléments prérequis nécessaires à l’achèvement de la démonstration.

  1. Un abonnement Azure (https://portal.azure.com)
  2. Une application Web sur App Service. Vous pouvez suivre les instructions fournies ici pour créer et publier une application Web ASP.Net sur Azure App Services

Les étapes ci-dessous doivent être suivies afin de configurer le service Azure Monitor pour surveiller l’application Web.

  1. Configurer le service Azure Monitor
  2. Créer un groupe de conditions et d’actions
  3. Créer la règle d’alerte pour le temps CPU
  4. Gérer les autorisations pour Azure Monitor

Configurer la télémétrie pour l’application Web sur App Services

La première étape consiste à créer le service Azure Monitor. Veuillez suivre les étapes décrites ci-dessous.

  1. Sur le portail Azure, cliquez sur la barre de recherche et recherchez Monitor
  2. Dans le menu déroulant des résultats, cliquez et sélectionnez Monitor
  3. Lorsque vous serez sur la page Azure Monitor, vous verrez un tableau de bord qui vous aidera à entamer la configuration. Cliquez sur le lien Metrics dans le menu à gauche.
  4. Après que vous ayez cliqué sur Metrics, une page s’ouvrira où vous devez choisir le groupe de ressources ainsi que la ressource à surveiller.
  5. Choisissez le groupe de ressource à partir de la page Select a scope
  6. Après avoir choisi le Resource Group, veuillez choisir le Resource Type ainsi que le service souhaité sous Refine Scope. Dans notre cas, nous devons choisir App Services sous Resource type et le nom de l’application Web sous App Services
  7. Cliquez sur Apply après avoir effectué toutes les sélections.
  8. Vous serez redirigé vers la page où vous pourrez créer des graphiques sur base de la télémétrie choisie. Vous remarquerez que le Scope choisi par défaut est VaronisTestApp, et le Metric Namespace est App Service standard metrics. Nous pouvons choisir le Metric et Aggregation souhaité pour créer un nouveau graphique
  9. Dans le menu déroulant Metric, sélectionnez CPU Time
  10. Dans le menu déroulant Aggregation, sélectionnez Sum

Créez une règle de condition et d’action pour CPU Time

Après avoir effectué toutes les sélections, vous pouvez créer une nouvelle règle d’alerte. Suivez les étapes ci-dessous pour créer une nouvelle règle d’alerte.

  1. Sélectionnez New alert rule dans le menu de navigation à droite
  2. La page Create alert rule s’ouvre ou le champ d’application est sélectionné pour vous par défaut en fonction des sélections précédentes. Vous verrez que la Condition affiche une erreur puisque aucune logique n’a été définie.
  3. Cliquez sur le lien “Whenever the sum cpu time is greater than <logic undefined> seconds”, ce qui ouvrira la page à Configure signal logic
  4. Faites défiler la page vers le bas jusqu’à Alert logic et à partir du Threshold, laissez la sélection à Static
  5. À partir de Aggregation type, sélectionnez Total
  6. Sous Threshold value, veuillez encoder 30 pour le temps en secondes.
  7. Après avoir effectué la sélection, cliquez sur le bouton Done
  8. Vous verrez maintenant une coche verte sous Condition. Le nom de la condition montre la condition définie 
  9. Faites défiler la page vers le bas jusqu’à Actions, cliquez sur Add action groups
  10. Dans la fenêtre popup qui apparaît, vous verrez le Action groupdéjà créé avec les actions. Il porte le nom de Application Insights Smart Detection est l’action définie est 2 Email Azure Resource Manager Roles sous Contain actions
  11. Cochez la case pour choisir l’Action group et cliquez ensuite sur le bouton Select

Créez la règle d’alerte pour CPU Time

Maintenant que l’action a été définie, il est enfin temps de créer la règle d’alerte. Suivez les étapes ci-dessous pour créer la règle d’alerte.

  1. Indiquez le nom de la règle d’alerte
  2. Subscription et Resource group seront présélectionnés pour vous dans le cas où vous n’avez qu’un seul abonnement ou groupe de ressources. Si vous avez plusieurs abonnements ou groupes de ressources dans les abonnements, sélectionnez-les en conséquence.
  3. Sélectionnez « 0-Critical » sous Severity
  4. Laissez la case cochée pour Enable alert rule upon creation et Automatically resolve alerts
  5. Finalement, cliquez sur le bouton Create alert rule 

Des règles d’alertes peuvent être créées en cliquant sur Alerts dans le menu à gauche.

Vous pouvez cliquer sur le bouton New alert rule à partir de la barre de navigation supérieure pour créer la nouvelle règle. Vous remarquerez que l’écran ci-dessus montre Manage alert rules(2), qui indique les règles créées précédemment. Vous pouvez cliquer sur le lien pour accéder aux règles définies précédemment.

Une des règles est créée par défaut (Failure Anomalies – VaronisTestApp). Vous pouvez cliquer sur le nom de la règle pour modifier/mettre à jour la règle créée précédemment.

Gérer les autorisations pour Azure Monitor

Lorsque nous avons rajouté le groupe d’action, nous avons créé une action pour envoyer un mail aux rôles de gestionnaires de ressources Azure:

Nous devons vérifier si les emails seront déclenchés vers les rôles Azure appropriés. Pour que les mails soient déclenchés, les identifiants de l’organisation doivent avoir le rôle de Contributeur de surveillance.

  1. Accédez à l’application Web sur App Services créée précédemment et pour laquelle la surveillance a été activée.
  2. Cliquez sur Access Control (IAM) dans le menu à gauche.
  3. Sur la page Role Assignments, cliquez sur Add
  4. Dans la fenêtre popup qui apparaît, sélectionnez le Rôle de Monitoring Contributor
  5. Sous sélectionnez l’identifiant à qui la permission doit être donnée
  6. Cliquez sur le bouton Save
  7. Le rôle et l’identifiant nouvellement ajoutés apparaissent maintenant sous Role Assignments
    Une fois ajoutés, cet identifiant sera capable de recevoir des mails lorsqu’ Azure Monitor déclenche des alertes.

Récapitulatif

Azure Monitor est un outil qui peut être utilisé pour surveiller vos charges de travail Azure. Il enregistre les données de télémétrie et de diagnostic dans les journaux d’événement d’Azure Monitor qui peuvent ensuite être utilisés pour analyser la télémétrie afin de nous aider à comprendre les performances des ressources. L’avantage de taille d’Azure Monitor est qu’il sert à surveiller aussi bien les ressources Azure que les charges de travail et services sur site. De plus, il commence automatiquement à travailler dès que la (les) ressource(s) est (sont) mises en service. Les données capturées peuvent être visualisées à l’aide de tableaux de bord, de classeurs Excel, d’outils Power BI ou en créant des vues. Azure Monitor est un outil essentiel pour un aperçu sur vos charges de travail en tant qu’architecte ou administrateur Azure.

Que dois-je faire maintenant ?

Vous trouverez ci-dessous trois solutions pour poursuivre vos efforts visant à réduire les risques liés aux données dans votre entreprise:

1

Planifiez une démonstration avec nous pour voir Varonis en action. Nous personnaliserons la session en fonction des besoins de votre organisation en matière de sécurité des données et répondrons à vos questions.

2

Consultez un exemple de notre évaluation des risques liés aux données et découvrez les risques qui pourraient subsister dans votre environnement. Cette évaluation est gratuite et vous montre clairement comment procéder à une remédiation automatisée.

3

Suivez-nous sur LinkedIn, YouTube et X (Twitter) for pour obtenir des informations sur tous les aspects de la sécurité des données, y compris la DSPM, la détection des menaces, la sécurité de l’IA et plus encore.

Essayez Varonis gratuitement.

Obtenez un rapport détaillé sur les risques liés aux données basé sur les données de votre entreprise.
Se déploie en quelques minutes.

Keep reading

Varonis tackles hundreds of use cases, making it the ultimate platform to stop data breaches and ensure compliance.

comment-utiliser-les-points-de-terminaison-privés-azure-pour-limiter-l’accès-public-à-vos-applications-web
Comment utiliser les points de terminaison privés Azure pour limiter l’accès public à vos applications Web
Découvrez comment utiliser les points de terminaison privés pour attribuer une adresse IP privée à un service PaaS Azure et l’intégrer à votre propre réseau virtuel. Les points de terminaison privés Azure permettent une connectivité sécurisée aux services Azure.
sécurisation-du-stockage-blob-azure-:-guide-de-configuration
Sécurisation du stockage Blob Azure : guide de configuration
Découvrez comment sécuriser votre stockage Blob en configurant quelques paramètres dans votre compte de stockage Azure, tels que le chiffrement, les pare-feu et l’accès anonyme.
analyse-intelligente-et-renseignements-sur-les-menaces-en-matière-de-sécurité-avec-azure-sentinel
Analyse intelligente et renseignements sur les menaces en matière de sécurité avec Azure Sentinel
Les données sont la clé, et leur sécurité est au cœur des préoccupations des entreprises. Il est presque impossible d’analyser et de résoudre correctement de grands volumes d’alertes de sécurité...
azure-automation-et-l’utilisation-des-runbooks-powershell
Azure Automation et l’utilisation des runbooks PowerShell
Avez-vous déjà voulu automatiser le processus de création de machines virtuelles dans Azure sur la base de la demande ServiceNow ou d’une demande d’un autre workflow numérique utilisé dans l’entreprise...