Azure Monitor est un service de surveillance complet qui permet de collecter, d'analyser et d'agir sur les données de télémétrie provenant de vos environnements cloud et locaux. Il offre des fonctionnalités avancées pour la surveillance des performances, la détection des anomalies, la gestion des alertes et la visualisation des données. Azure Monitor est particulièrement utile pour les équipes d'opérations et de sécurité qui souhaitent surveiller et gérer la santé et les performances de leurs ressources Azure.

Présentation d'Azure Monitor

Qu'est-ce qu'Azure Monitor ?

Azure Monitor est un service qui vous permet de :

  • Collecter des données de télémétrie : Recueillir des données de performance et de diagnostic à partir de vos ressources Azure.
  • Analyser les données : Utiliser des outils d'analyse pour identifier les tendances et les anomalies.
  • Gérer les alertes : Configurer des alertes pour réagir aux conditions spécifiques.
  • Visualiser les données : Utiliser des tableaux de bord et des graphiques pour visualiser les données de télémétrie.

Exemples de Ligne de Commande

Pour interagir avec Azure Monitor via la ligne de commande, vous pouvez utiliser l'Azure Command Line Interface (CLI). Voici quelques exemples de commandes avancées pour configurer et utiliser Azure Monitor.

Prérequis

Avant de commencer, assurez-vous que l'Azure CLI est installé et configuré sur votre machine. Vous pouvez configurer l'Azure CLI avec la commande suivante :

az login

Vous devrez fournir vos informations d'identification Azure.

Créer un Espace de Travail Log Analytics

Pour créer un espace de travail Log Analytics :

az monitor log-analytics workspace create --resource-group my-resource-group --workspace-name my-workspace --location eastus

Créer une Règle d'Alerte

Pour créer une règle d'alerte basée sur une requête Log Analytics :

az monitor metrics alert create --name my-alert-rule --resource-group my-resource-group --scopes /subscriptions/your-subscription-id/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm --condition "avg Percentage CPU > 80" --window-size 5m --evaluation-frequency 1m --action email my-email@example.com

Créer une Règle d'Alerte pour les Journaux

Pour créer une règle d'alerte basée sur une requête de journal :

az monitor log-analytics alert create --resource-group my-resource-group --workspace my-workspace --name my-log-alert --query "Heartbeat | where TimeGenerated > ago(5m) | summarize count()" --threshold 1 --operator GreaterThan --frequency 5m --severity 1 --action email my-email@example.com

Lister les Espaces de Travail Log Analytics

Pour lister tous les espaces de travail Log Analytics :

az monitor log-analytics workspace list

Lister les Règles d'Alerte

Pour lister toutes les règles d'alerte dans un groupe de ressources :

az monitor metrics alert list --resource-group my-resource-group

Supprimer une Règle d'Alerte

Pour supprimer une règle d'alerte :

az monitor metrics alert delete --name my-alert-rule --resource-group my-resource-group

Créer une Règle de Diagnostic

Pour créer une règle de diagnostic pour une ressource :

az monitor diagnostic-settings create --name my-diagnostic-setting --resource /subscriptions/your-subscription-id/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm --logs '[{"category": "Heartbeat", "enabled": true, "retentionPolicy": {"days": 90, "enabled": true}}]' --metrics '[{"category": "AllMetrics", "enabled": true, "retentionPolicy": {"days": 90, "enabled": true}}]'

Lister les Règles de Diagnostic

Pour lister toutes les règles de diagnostic pour une ressource :

az monitor diagnostic-settings list --resource /subscriptions/your-subscription-id/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm

Supprimer une Règle de Diagnostic

Pour supprimer une règle de diagnostic :

az monitor diagnostic-settings delete --name my-diagnostic-setting --resource /subscriptions/your-subscription-id/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm

Intégrer Azure Monitor dans un Pipeline CI/CD

Pour intégrer Azure Monitor dans un pipeline CI/CD, vous pouvez ajouter une étape de surveillance et d'alerte dans votre fichier de configuration CI/CD. Par exemple, pour GitHub Actions, vous pouvez ajouter une étape comme suit :

name: Azure Monitor Alerts

on: [push, pull_request]

jobs:
  monitor:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Azure CLI
      run: |
        curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
    - name: Log in to Azure
      run: |
        az login --service-principal -u ${{ secrets.AZURE_CLIENT_ID }} -p ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
    - name: Create Alert Rule
      run: |
        az monitor metrics alert create --name my-alert-rule --resource-group my-resource-group --scopes /subscriptions/your-subscription-id/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm --condition "avg Percentage CPU > 80" --window-size 5m --evaluation-frequency 1m --action email my-email@example.com

 

Conclusion

Azure Monitor est un outil puissant pour la surveillance et la gestion des performances de vos ressources Azure. En utilisant l'Azure CLI, vous pouvez automatiser et simplifier la création, la gestion et la surveillance des alertes et des diagnostics. Ces exemples de commandes et de configurations vous donnent un bon point de départ pour commencer à utiliser Azure Monitor.


Mise en garde concernant l'utilisation des outils de cybersécurité

L'utilisation des outils de cybersécurité présentés sur ce site est soumise à des considérations légales et éthiques importantes. Avant d'utiliser ces outils, nous vous encourageons à prendre en compte les points suivants :

- Cadre légal : L'utilisation de certains outils de cybersécurité peut être réglementée par la loi dans votre pays ou région. Il est de votre responsabilité de vous informer sur les lois en vigueur concernant la cybersécurité, la protection des données et la vie privée. L'utilisation non autorisée de ces outils peut entraîner des poursuites judiciaires et des sanctions pénales.

- Consentement : Assurez-vous d'obtenir le consentement explicite des parties concernées avant d'utiliser des outils qui pourraient intercepter, surveiller ou analyser des données. Le respect de la vie privée des individus est primordial.

- Utilisation éthique : Les outils de cybersécurité doivent être utilisés de manière éthique et responsable. Ils ne doivent pas être employés à des fins malveillantes, telles que le piratage, le vol de données ou toute autre activité illégale.

- Responsabilité : En utilisant ces outils, vous reconnaissez que vous le faites à vos propres risques. Nous ne saurions être tenus responsables des conséquences résultant de l'utilisation de ces outils, y compris, mais sans s'y limiter, les dommages matériels, les pertes de données ou les poursuites judiciaires.

- Formation et expertise : Il est recommandé de suivre une formation adéquate et de posséder les compétences nécessaires avant d'utiliser des outils de cybersécurité. Une mauvaise utilisation peut entraîner des résultats indésirables et des risques pour la sécurité.

En utilisant ce site et les outils qui y sont présentés, vous acceptez de respecter ces conditions et de vous conformer à toutes les lois applicables.

Formateur

Bertrand LECLERCQ

Consultant DevSecOps & Data Engineer


Avec 25 ans d'expérience dans le développement logiciel et une certification en Data Engineering de l'École des Mines Paris - PSL, je suis passionné par la cybersécurité, le big data et le DevOps. J'aime partager mes connaissances et aider la communauté à renforcer sa posture de sécurité.

J'ai créé une base de vulnérabilités librement accessible et je me forme en continu sur des plateformes comme TryHackMe. Mon objectif ? Démocratiser la cybersécurité et permettre à chacun de mieux comprendre les enjeux.

J'ai une solide expertise dans la conception et le déploiement de solutions sécurisées, ainsi qu'une expérience éprouvée dans la gestion de projets complexes. Maîtrisant un large éventail de technologies (Python, Go, Java, Docker, Kubernetes, etc.), je suis convaincu que la sécurité doit être intégrée dès le début du cycle de développement.

Le projet NoHackMe vous permet d'effectuer une veille Cyber, vous permet de découvrir le monde de la Cybersécurité ainsi qu'une section formation Cyber

Soutenez No Hack Me sur Tipeee