Azure & Cloud
Azure Monitor & Log Analytics : Supervision proactive d'une infrastructure hybride

Azure Monitor & Log Analytics : Supervision proactive d'une infrastructure hybride

Architecture de monitoring Azure

Azure Monitor collecte deux types de données fondamentaux :

  • Métriques : valeurs numériques horodatées (CPU %, latence, connexions actives) stockées 93 jours
  • Logs : données structurées envoyées vers un espace de travail Log Analytics, interrogeables via KQL

1. Connecter les serveurs on-premises

# Déployer l'agent Azure Monitor (AMA) via Arc sur un serveur on-premises
az connectedmachine connect 
  --name "SRV-PROD01" 
  --resource-group "rg-monitoring" 
  --location "westeurope" 
  --correlation-id $(New-Guid)

# Installer l'extension Azure Monitor Agent
az connectedmachine extension create 
  --name AzureMonitorWindowsAgent 
  --publisher Microsoft.Azure.Monitor 
  --type AzureMonitorWindowsAgent 
  --machine-name "SRV-PROD01" 
  --resource-group "rg-monitoring" 
  --location "westeurope"

2. Créer une règle de collecte de données (DCR)

# Associer une DCR qui collecte les événements Windows Security et System
az monitor data-collection rule association create 
  --name "dcr-windows-servers" 
  --resource "/subscriptions/.../resourceGroups/rg-monitoring/providers/Microsoft.HybridCompute/machines/SRV-PROD01" 
  --rule-id "/subscriptions/.../resourceGroups/rg-monitoring/providers/Microsoft.Insights/dataCollectionRules/dcr-prod"

3. Requêtes KQL essentielles

// Taux d'erreur HTTP 5xx sur les 24 dernières heures (App Service)
AppServiceHTTPLogs
| where TimeGenerated > ago(24h)
| where ScStatus >= 500
| summarize Errors = count() by bin(TimeGenerated, 1h), CsUriStem
| order by TimeGenerated desc

// Connexions RDP échouées sur les DCs (Event ID 4625)
SecurityEvent
| where TimeGenerated > ago(7d)
| where EventID == 4625
| where LogonType == 10  // Remote Interactive
| summarize Tentatives = count() by IpAddress, Account, Computer
| where Tentatives > 5
| order by Tentatives desc

// Utilisation CPU > 90% sur les VMs Azure
Perf
| where TimeGenerated > ago(1h)
| where ObjectName == "Processor" and CounterName == "% Processor Time"
| where CounterValue > 90
| summarize AvgCPU = avg(CounterValue) by Computer, bin(TimeGenerated, 5m)
| order by TimeGenerated desc

// Espace disque critique (< 10 Go libres)
Perf
| where TimeGenerated > ago(30m)
| where CounterName == "Free Megabytes" and ObjectName == "LogicalDisk"
| where InstanceName != "_Total" and InstanceName != "HarddiskVolume*"
| where CounterValue < 10240
| project TimeGenerated, Computer, Disk = InstanceName,
          LibreGo = round(CounterValue / 1024, 1)
| order by LibreGo asc

4. Alertes intelligentes (Smart Alerts)

# Créer une alerte sur le CPU via PowerShell Az
$criteria = New-AzMetricAlertRuleV2Criteria `
  -MetricName "Percentage CPU" `
  -DimensionSelection @() `
  -TimeAggregation Average `
  -Operator GreaterThan `
  -Threshold 85

Add-AzMetricAlertRuleV2 `
  -Name "alert-cpu-eleve" `
  -ResourceGroupName "rg-monitoring" `
  -WindowSize 00:05:00 `
  -Frequency 00:01:00 `
  -TargetResourceId "/subscriptions/.../virtualMachines/SRV-PROD01" `
  -Condition $criteria `
  -ActionGroupId "/subscriptions/.../actionGroups/ag-ops-team" `
  -Severity 2

5. Automatiser la réponse : Action Groups + Logic Apps

Chaînez une alerte à une Logic App pour automatiser la réponse :

  • Alerte CPU élevé → Logic App → scale-out du VMSS automatiquement
  • Alerte disque critique → Logic App → notification Teams + ticket ServiceNow
  • Alerte connexion suspecte → Logic App → désactivation du compte Azure AD concerné

6. Workbooks : tableaux de bord dynamiques

Les Azure Monitor Workbooks permettent de combiner métriques, logs KQL et paramètres interactifs dans un tableaux de bord partageable. Utilisez les templates prêts à l'emploi :

  • VM Insights : performances et dépendances des VMs
  • Active Directory Replication Status : santé de la réplication AD
  • Failure Analysis : taux d'erreur applicatif multi-sources

Tableau de bord de coûts monitoring

Source de données Rétention défaut Coût (Go/mois)
Métriques Azure natives 93 jours Inclus
Log Analytics (ingestion) 30 jours ~2,30 €/Go
Rétention étendue Jusqu'à 2 ans ~0,10 €/Go/mois
Application Insights 90 jours 5 Go/mois gratuits

Conclusion

Azure Monitor est l'épine dorsale de la supervision hybride. En combinant AMA, Log Analytics, KQL et les alertes intelligentes, vous passez d'une supervision réactive à une approche proactive et automatisée, réduisant le MTTR et améliorant la fiabilité de votre infrastructure.

MAKHZOUM Hussein
Auteur
MAKHZOUM Hussein
Consultant Cloud & Infrastructure Engineer
Voir le profil

Articles similaires