AZ-104: Monitor and back up Azure resources

Note: สำหรับ Blog นี้ ผมย้ายมาจาก Notion ที่เขียนไว้ตอนเดือน 9-10 ปีที่แล้วนะครับ บาง Service อย่าง Azure AD มีเปลี่ยนชื่อเป็น Microsoft Entra ID เป็นต้นครับ

Configure file and folder backups

Azure Backup

  • A Service for backup (or protect) and restore your data in the Microsoft cloud. Azure Backup replaces your existing on-premises or off-site backup solution
  • Benefit
    - Offload on-premises backup
    - Back up Azure IaaS VMs
    - Get unlimited data transfer กรณีที่เอาเข้าออกจาก Recovery Service Vault
    - Keep data secure
    - application-consistent backup means a recovery point has all the required data to restore the backup copy.
    - Retain short and long-term data เสียเงินเยอะตาม ถ้า Recovery Point เยอะ //Max 9999
    - Automatic storage management LRS GRS

Azure Recovery Services vault

  • สร้างก่อนทำ Backup เหมือนจองพื้นที่จัดเก็บ
  • Config Replication LRS ZRS GRS ทำที่นี่นะ
  • อะไรที่ Vault แบบไหน Support

Microsoft Azure Recovery Services (MARS) - เอาไว้ช่วย Restore Data จาก Azure Backup

  • can restore files and folders from backups, or do a volume-level restore.
  • Scenario
    - On-premises direct backup - ยิ้งขึ้น Recovery Services vault
    - Back up for specific files or folders
    - Back up to MABS or System Center DPM

ใช้งาน Azure Backup

  1. Create a Recovery Services vault
  2. Create Backup อัน เลือกได้ทั้ง Azure และ On-Premise
    - Azure VM / Azure File Share / Azure SQL
    - ลง Agent MARS agent and credentials file //Microsoft Azure Recovery Services (MARS)
  3. Config Backups & Policy
  4. เวลา Monitor ดูผลดูจาก Backup center

Lab: Configure file and folder backups: Interactive lab simulation
Knowledge Check: Configure file and folder backups: Knowledge check

Configure virtual machine backups

protect virtual machine data

  • Azure Backup - Back up Azure virtual machines running production workloads
  • Azure Site Recovery + Traffic Manager
  • Azure managed disks - snapshot/image เอาไว้ทำ VM ต่อได้

Create virtual machine snapshots in Azure Backup

  • Phase 1: Take a snapshot of the virtual machine data ปกติ 2 วัน คุม Cost จาก retention
  • Phase 2: Transfer the snapshot to an Azure Recovery Services vault

Azure Recovery Services vault backup options

Backup/Restore your virtual machines

  • Step 1. Create a Recovery Services vault
  • Step 2. Define your backup policy options
  • Step 3. Back up your virtual machine

Restore your virtual machines - You can recover your machine by accessing the snapshot, or restore data to a specific point-in-time by using recovery points

System Center DPM and Azure Backup Server

  • ใช้ในเคสที่ต้องก่าร Custom Policy / Workload เพิ่มเติม เช่น app-aware backups เช่น Apps + SQL Server, Exchange, and SharePoint
  • หรือต้องการจะเก็บ Local Server เพิ่ม นอกจากเดิมที่มันจะส่งไปที่ Recovery Service Vault ** MARS backup agent ที่ลงใน VM จะเก็บ Files and folders

Azure Backup ตอบโจทย์ธุรกิจคุณได้อย่างไร? - Cloud HM

Implement soft delete for your virtual machines

  • Azure Storage มี Soft Delete เก็บได้สูงสุด 14 วัน โดยเราเอามา Undelete ได้
  • Recovery Services vault ได้ด้วย
  • แต่ทว่าตอนลบ ต้องมาจัดการ soft-deleted items ก่อน

Implement Azure Site Recovery

Implement Azure Site Recovery - Replicate / failover from On-Premise / Other Cloud / Azure region 1 to Azure region 2.

Lab: Configure virtual machine backups: Interactive lab simulation
Knowledge Check: Configure virtual machine backups: Knowledge check

Configure Azure Monitor

Monitoring is the act of collecting and analyzing data

Azure Monitor – เป็นเครื่องทำให้เรารู้ว่าอะไรเกี่ยวขึ้นกับ Workload ของเรา โดยอ่านข้อมูลจาก Data Source ต่างๆ ทั้ง Azure / On-Premise (ลง Agent) โดยมี 3 ส่วน ได้แก่

  • Data Source – ข้อมูล
  • Data Platform – ตัว Azure Monitor ที่เอาข้อมูลจาก Data Source แยกมาเป็นกลุ่มๆ สร้าง Table ดังนี้
    - Metric – ข้อมูลตัวเลข / Performance data ในแบบ Timeseries เช่น CPU / Memory ที่ปรับเปลี่ยนตามเวลา
    ** Azure Monitor metrics explorer to view the metrics
    - Log – Event เหตุการณ์ต่างๆที่มันเกิดขึ้น
    ** Data Explorer query language KQL มาดู Log
    - Trace / Change การติดต่างการตั้งค่าต่างๆ
  • Consumption //** Required Log Analytics
    - Insight – ในส่วน Workload ต่างๆ เข่น VM / App Service / Network เป็นต้น
    - Visualize – Dashboard / Workbook / Power BI / Grafana
    - Analyze – Log Analytic / Metric
    - Respond เอามาจัดการตามเงื่อนไข เช่น การทำ Auto Scale / Alert / Custom จาก Azure Logic App
    - Integrate - กับ Service อื่นๆ อย่าง Azure Logic App / Event Hubs
  • Data collection and tiers
    - data collection - คิด ตั้งแต่สร้าง รายละเอียดจะอยู่ใน AZ305
    >> Azure Monitor Agent also lets you configure different data sources to collect
    >> Or Data Collector API (REST)
    - data tiers: Application (performance + functionality ตาม Platform + Runtime) / Guest OS / Azure resource / Azure subscription / Azure tenant (พวก Azure AD)
  • activity log events - เอามาตอบ "what, who, and when" / kept for 90 days.
  • Query the activity log ทั่วๆไปวันเวลาที่ไหน Severity/ Resource group / Resource name แต่มี Value พิเศษ เช่น
    - Resource type: Show data for resources of a specified type, such as Microsoft.Compute/virtualmachines.
    - Operation name: Show data for a selected Azure Resource Manager operation, such as Microsoft.SQL/servers/Write.
    - Event categories

Lab: Configure Azure Monitor: Interactive lab simulation
Knowledge Check: Configure Azure Monitor: Knowledge check

Configure Azure alerts

Flow

  1. Azure Resource ส่ง Telemetry (Log Trace Metric ) Azure Monitor
  2. Azure Monitor เอา Telemetry มาตรวจกับ Rule
  3. Azure Monitor พบว่ามันตรงเงื่อนไข แจ้่ง Alert
  4. Admin / Service Take Action ต่อ

Manage Azure Monitor alerts - ปรับ Rule ให้เหมาะสม และ Reuse ได้

  • Alert Types: Metric alerts/Log alerts/Activity log events/Smart detection alerts
  • Alert States:
    - New: The issue is new (open) and not in review.
    - Acknowledged: The issue is in review and work is in progress.
    - Closed: The issue is complete
  • Stateless and stateful alerts
    - Stateless trigger each time your alert rule condition matches your data
    - Stateful trigger, when your alert rule condition matches your data and the same alert, doesn't exist

Create alert rules - หลักๆ มี 4 ส่วน

  1. Resource
  2. condition (Signal / Metric)
You define criteria for your alert rule that combines your signal with processing logic. The criteria apply to your target resource. An example criteria combination is 

Percentage CPU > 70%; Server Response Time > 4 ms; and Result count of a log query > 100.

Action Group มี 2 ส่วนย่อย

  1. actions - Automation runbook / Azure Functions / ITSM (3rd Party) / Logic Apps / Webhook
  2. alert - details Email/SMS message/Push/Voice

Lab1: Exercise - Use metric alerts to alert on performance issues in your Azure environment - Training | Microsoft Learn
Lab2: Exercise - Use an activity log alert and an action group to notify users about events in your Azure infrastructure - Training | Microsoft Learn

Configure Log Analytics

Azure Monitor require Log Analytics Workspace ในรูปแบบ TABLE โดยใช้ KQL (Structure Log Analytics queries)

Knowledge Check: Configure Log Analytics: Knowledge check

Configure Network Watcher

Network Watcher Feature

  • IP flow verify
    - You can confirm if a security rule is blocking ingress or egress traffic to or from a virtual machine. (internet/on-premises/Azure)
    - IP Flow Validation validates the allow or deny status of packets sent or received from a virtual machine
  • Next hop - verify that specific traffic is being forwarded to its intended destination.
  • VPN troubleshoot
  • NSG diagnostics
  • Packet Capture > Check Network Intrusions
  • Connection troubleshoot - helps reduce the time to diagnose and troubleshoot network connectivity issues. Validation results provide insight into the root cause of connectivity issues and whether they are due to platform or user configuration issues.
  • Visualize the network topology

Knowledge Check: Configure Network Watcher: Knowledge check

[LAB] Improve incident response with alerting on Azure (LAB)

  • Explore the different alert types that Azure Monitor supports + Knowledge Check สรุปของ Azure Monitor
  • Use metric alerts for alerts about performance issues in your Azure environment
    - Composition of a metric เอาหลาย Metric ผสมกัน เช่น CPU + MEM
    - threshold > static ตั้งไปตรงๆ CPU 85% ระยะเวลา 10 นาที / dynamic (machine-learning tool)
    - Use dimensions, which enable monitoring data to be supplied from multiple target instances
    ** define the dimensions by using the asterisk (*) wildcard
    - Scale metric alerts
  • Use log alerts to alert on events in your application - เอา log มาช่วยการทำงานของ App และ Trigger ให้ทำอะไรต่อ โดยมี 2 แบบ
    - Number of records
    - Metric measurement โดยดูจาก
    >> Aggregate function เช่น Count / Avg โดยผลที่ได้ AggregatedValue
    >> Group field
    >> Interval
    >> Threshold
    >> Use activity log alerts
  • Use activity log alerts to alert on events within your Azure infrastructure
    - Specific operations - เช่น if a VM is deleted
    - Service health events

sample signal - Delete Virtual Machine (ดูจาก Microsoft.Compute/virtualMachines).

  • Alert processing rules - override the normal behavior of a fired alert เช่นตอนทำ Plan Maintenance

Lab1: Exercise - Use metric alerts to alert on performance issues in your Azure environment
Lab2: Exercise - Use an activity log alert and an action group to notify users about events in your Azure infrastructure

[LAB] Analyze your Azure infrastructure by using Azure Monitor logs

[LAB] Monitor the performance of virtual machines by using Azure Monitor VM Insights

Azure Monitor VM Insights

  • deeper performance analysis of a virtual machine without query building.
  • ตัว Insight ใช้งานด้วย Guest Monitoring + Log Analytic Workspace

Plan a Log Analytics workspace deployment

  • Access mode (how users access+data scope)
    - Workspace-context เห็นหมด
    - Resource-context เห็น Resource + Data ตามสิทธิ์
  • Access control mode (RBAC)
  • Table-level RBAC override Access mode

Monitoring data by using agents

  • Azure Monitor Agent
  • Log Analytics agent - required for Azure Monitor VM Insights
  • Azure diagnostics extension - get extra data from guest OS
  • Dependency agent - บอกภาพรวมเราว่า Resource เราต่อกับอะไรบ้าง

What are Azure Monitor Logs and Azure Monitor VM Insights? + Knowledge Check

Azure Monitor + Log Analytic + KQL

  • organizes log data in tables, each composed of multiple columns. Every query contains data that's organized into a hierarchy similar to SQL (databases, tables, and columns).
  • schema - A series of tables logically grouped together, which allow for an easy understanding behind how Log Analytics stores logs
  • KQL
  • Build log queries by using the Kusto Query Language + Knowledge Check

Exercise - Create basic Azure Monitor log queries to extract information from log data ลอง KQL เค้ามี Mock Data มาให้แล้ว

  • fetch records that are more than 30 minutes old, and that have a level of 10 or more.
//fetch records that are more than 30 minutes old, and that have a level of 10 or more.
SecurityEvent
    | where TimeGenerated < ago(30m)
    | where toint(Level) >= 10

//search the AppEvents table for records of the Clicked Schedule Button event being invoked in the last 24 hours.
AppEvents 
    | where TimeGenerated > ago(24h)
    | where Name == "Clicked Schedule Button"
//display the number of different computers that generated heartbeat events each week for the last three weeks. The results appear as a bar chart.
Heartbeat
    | where TimeGenerated >= startofweek(ago(21d))
    | summarize dcount(Computer) by endofweek(TimeGenerated) | render barchart kind=default
  • หรือ ไม่ก็ลอง Pre-Defined Query ที่มีมาให้ก็ได้

App Service Backup

  • create a storage account
az storage account create --name <<STORAGE_NAME>> --resource-group <<YOUR_RG>> --location <<YOUR_LOCATION>> --sku Standard_LRS
  • create a storage container
az storage container create --account-name <<STORAGE_NAME>> --name <<CONTAINER_NAME>>
  • generate sas token <<STORAGE_URL + SAS_TOKEN>>
  • create a web app backup
az webapp config backup update --resource-group <<YOUR_RG>> --webapp-name <<YOUR_WEBAPP>> --container-url <<STORAGE_URL_WITH_SAS_TOKEN>> --frequency 5d --retain-one true --retention 180

Reference


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.