إتقان monitoring و resilience في Azure: Recovery Services Vault، Azure Backup لـ VM/Files/SQL، Azure Site Recovery (ASR)، Azure Monitor (metrics + alerts)، Log Analytics workspace، Application Insights، dashboards و workbooks.
للسياق: الدليل الرئيسي Azure AZ-104 · كلّ دروس Azure الأخرى.
المقدّمة
Backup + Monitoring يُشكّل المجال 5 Monitor and Maintain Azure Resources (10-15% AZ-104). بدونه، لا إنتاج جدّيّ ممكن. هذا الدرس يبني الكفاءة الكاملة لـ Azure Backup و Azure Monitor.
المتطلّبات
- Tenant Azure + VM واحدة على الأقلّ مُنشَأة.
- المستوى المتوسّط.
- الوقت: ساعتان.
الخطوة 1 — Recovery Services Vault
الـ RSV هو حاوية Azure Backup + Azure Site Recovery.
az backup vault create \
--resource-group lab-backup \
--name lab-rsv \
--location francecentral
# تهيئة redondance
az backup vault backup-properties set \
--resource-group lab-backup --name lab-rsv \
--backup-storage-redundancy GeoRedundant
خيارات Redundancy: LRS (اقتصاديّ)، ZRS، GRS (موصى به لـ prod، restore cross-region ممكن).
الخطوة 2 — Backup VM
# Backup policy
az backup policy show --resource-group lab-backup --vault-name lab-rsv --name DefaultPolicy
# تفعيل backup للـ VM
az backup protection enable-for-vm \
--resource-group lab-backup --vault-name lab-rsv \
--vm $(az vm show -g lab-vm -n ubuntu-vm --query id -o tsv) \
--policy-name DefaultPolicy
DefaultPolicy: daily backup عند 02:00 UTC، retention 30 daily + 12 weekly + 60 monthly + 10 yearly.
Custom policy ممكنة مع retentions مُعَدَّلة (امتثال بنكيّ).
الخطوة 3 — استعادة VM
# قائمة recovery points
az backup recoverypoint list \
--resource-group lab-backup --vault-name lab-rsv \
--backup-management-type AzureIaasVM \
--container-name <container> --item-name <item> \
--output table
# Restore (إنشاء VM جديدة)
az backup restore restore-disks \
--resource-group lab-backup --vault-name lab-rsv \
--container-name <container> --item-name <item> \
--rp-name <recovery-point> \
--storage-account <storage-account>
# أو file recovery (mount disk افتراضيّ لاستعادة ملفّات فرديّة)
في الاختبار: RTO restore VM ~30-60 دقيقة حسب الحجم. RPO = daily افتراضياً (قابل للتعديل).
الخطوة 4 — Azure Site Recovery (ASR)
ASR = DR cross-region. تكرار async من VM نحو منطقة أخرى.
VM المصدر : France Central
↓ تكرار مستمرّ (~5-15 دقيقة lag)
VM الهدف : West Europe (المنطقة الشريكة لـ France Central)
عند عطل France Central:
1. Failover يُطلَق يدويّاً أو آليّاً
2. VM يقلع في West Europe
3. RTO ~10-20 دقيقة، RPO ~5 دقائق
التكاليف: ~25 USD/شهر لكلّ VM مُكرَّرة + storage + compute target عند failover.
في الاختبار: ASR لـ DR cross-region. Backup لـ restore intra-region. تكميليّتان، لا بديلتان.
الخطوة 5 — Azure Monitor
منصّة monitoring مركّزة. المصادر:
Activity Logs : log كلّ عمليّات API Azure (من فعل ماذا)
Resource Logs : logs خاصّة بالخدمة (NSG flow logs، AKS logs، SQL logs)
Metrics : numeric time-series (CPU، Memory، IOPS)
مُخزَّنة 93 يوماً افتراضياً
Application Insights: APM لتطبيقات الويب (latency، error rate، traces)
التصوير: portal Azure Monitor، dashboards مُخصَّصة، workbooks (تحليلات غنيّة)، Power BI integration.
الخطوة 6 — Log Analytics Workspace
يُجمّع الـ logs للتحليل عبر KQL (Kusto Query Language).
# إنشاء workspace
az monitor log-analytics workspace create \
--resource-group lab-monitor --workspace-name lab-law
# تهيئة retention (أيّام)
az monitor log-analytics workspace update \
--resource-group lab-monitor --workspace-name lab-law --retention-time 90
ربط VMs بالـ workspace (Log Analytics agent legacy أو Azure Monitor agent AMA الجديد).
مثال KQL:
// CPU > 80% في آخر ساعة
Perf
| where TimeGenerated > ago(1h)
| where CounterName == "% Processor Time"
| where CounterValue > 80
| summarize avg(CounterValue) by Computer, bin(TimeGenerated, 5m)
| render timechart
في الاختبار: أسئلة KQL على النحو الأساسيّ، لا تعقيد.
الخطوة 7 — Alerts
3 أنواع تنبيهات:
Metric alert : عتبة على metric (مثلاً CPU > 80%)
Log alert : query KQL يُرجع نتائج
Activity log alert: حدث محدّد (مثل VM deleted)
az monitor metrics alert create \
--name "CPU-High" --resource-group lab-monitor \
--scopes $(az vm show -g lab-vm -n ubuntu-vm --query id -o tsv) \
--condition "avg Percentage CPU > 80" \
--description "Alert when CPU > 80% for 5 minutes" \
--evaluation-frequency 1m --window-size 5m \
--action-group $(az monitor action-group show -g lab-monitor -n lab-actions --query id -o tsv)
Action Group يُحدّد المستلمين (email، SMS، webhook، runbook Automation، Logic App).
الخطوة 8 — Application Insights
APM لتطبيقات ويب وموبايل. Auto-instrumentation .NET، Java، Node.js، Python.
Metrics مُجَمَّعة آلياً:
- Request rate، response time، failure rate
- Dependency calls (DB، external APIs) مع latency
- Exceptions مع stack traces
- Performance counters serveur
حالات الاستعمال:
- تحديد endpoints بطيئة
- debug exceptions production
- تتبّع رحلة user (Live Metrics، Application Map)
في الاختبار: App Insights = مكوّن Azure Monitor لتطبيقات الويب. ليس للبنية التحتيّة.
الخطوة 9 — Dashboards و Workbooks
Dashboards : tile-based، بسيطة، قابلة للمشاركة عبر Azure Portal
Workbooks : تحليلات غنيّة مع KQL، قابلة للضبط، embeddable
Templates pré-built dans Azure Monitor (VM Performance، Network Insights)
Use case: dashboard ops avec metrics multi-VM، alerts récentes، coût mensuel، RBAC summary.
الخطوة 10 — Cleanup
az group delete --name lab-backup --yes --no-wait
az group delete --name lab-monitor --yes --no-wait
الأخطاء المتكرّرة
| الخطأ | الحلّ |
|---|---|
| RSV ne peut être supprimé | Désactiver Soft Delete، supprimer tous backup items d’abord |
| VM backup échoue | Vérifier extension VM agent، NSG outbound vers Azure |
| ASR replication lag élevé | Bandwidth réseau insuffisant، utiliser Bandwidth Throttling |
| Alert metric ne déclenche pas | Vérifier scope correct، threshold realistic، evaluation frequency |
| KQL query timeout | Restreindre time range، utiliser summarize early |
تكيّفات إقليميّة
Banques: Backup tous prod VMs avec retention 7 ans + ASR cross-region + Defender for Cloud + Sentinel SIEM. Audit trimestriel.
PME: Backup daily 30j retention + alerts CPU/RAM/disk basic. ~50-100 USD/شهر pour 10 VMs.
Startups: Backup uniquement prod + Application Insights pour app web. Skip ASR (coût).
أسئلة شائعة
Backup vs ASR? Backup = restore intra-region. ASR = DR cross-region. Tous deux nécessaires pour prod critique.
Log Analytics retention? Default 30j، payant jusqu’à 730j. Archive jusqu’à 7 ans pour compliance.
Azure Monitor agent (AMA) vs Log Analytics agent (MMA)? AMA recommandé، MMA legacy déprécié août 2024.
للتعمّق
- الدليل الرئيسي: Azure AZ-104
- كلّ دروس Azure الأخرى.
- التوثيق: Azure Backup، Azure Monitor.
الكلمات المفتاحيّة: Azure Backup، Recovery Services Vault، Azure Site Recovery، Azure Monitor، Log Analytics KQL، Application Insights، Alerts، Workbooks.
تعميق
Banque ivoirienne: Backup tous VMs avec retention 7 ans GRS + ASR vers UK South + Microsoft Sentinel pour SIEM. ميزانيّة ~3000 USD/شهر.
PME Dakar: Backup nightly + alerts CPU/RAM email + Application Insights pour app web SaaS. 150 USD/شهر.
Startup Lagos: Backup prod uniquement + Free tier Azure Monitor + Logic Apps pour notification Slack sur alerts.
أدوات تكميليّة
Azure Automation Runbooks، Logic Apps pour workflows، Azure DevOps pour CI/CD monitoring، Power BI integration، Grafana on Azure (managed)، Microsoft Sentinel pour SIEM enterprise، Microsoft Defender for Cloud pour security recommendations.