Chuyển tới nội dung chính

Azure Monitor: Hướng dẫn Toàn diện

1. Giới thiệu

Tại sao cần giám sát?

Khi hệ thống chạy, bạn cần biết:

  • Nó có sống không? (Availability)
  • Nó có chậm không? (Performance)
  • Nó có lỗi không? (Errors)

Azure Monitor là con mắt thần giúp bạn nhìn thấy mọi thứ đang diễn ra.


2. Metrics vs Logs

Dữ liệu giám sát chia làm 2 loại chính:

Metrics (Số liệu)

  • Là gì?: Các con số thay đổi theo thời gian.
  • Ví dụ: CPU Usage = 80%, RAM = 4GB, Request/sec = 100.
  • Đặc điểm: Nhẹ, vẽ biểu đồ rất nhanh. Dùng để báo động (Alert) khi vượt ngưỡng.

Logs (Nhật ký)

  • Là gì?: Các dòng văn bản chi tiết về sự kiện.
  • Ví dụ: "2023-10-01 10:00:00 - Error: Database connection failed at line 50".
  • Đặc điểm: Nặng, chi tiết. Dùng để điều tra nguyên nhân gốc rễ (Root Cause Analysis).

3. Application Insights (APM)

Đây là công cụ dành riêng cho Lập trình viên. Bạn cài SDK vào code (Java, .NET, Node.js). Nó sẽ tự động thu thập:

  • Request Rate: Có bao nhiêu người đang truy cập?
  • Response Time: Trang web load mất bao lâu?
  • Failure Rate: Bao nhiêu % request bị lỗi 500?
  • Dependency Map: Vẽ bản đồ code của bạn gọi xuống SQL mất bao lâu, gọi API khác mất bao lâu.

4. Log Analytics Workspace

Đây là "Kho chứa Log" trung tâm.

  • Bạn đẩy log từ VM, K8s, Database, Firewall... tất cả về một chỗ này.
  • Dùng ngôn ngữ truy vấn KQL (Kusto Query Language) để tìm kiếm.

Ví dụ KQL: Tìm tất cả lỗi trong 24h qua.

Event
| where TimeGenerated > ago(24h)
| where EventLevelName == "Error"
| project TimeGenerated, Source, Message

5. Alerts (Cảnh báo)

Đừng ngồi nhìn màn hình cả ngày. Hãy để Azure báo cho bạn.

  1. Condition: Khi CPU > 90% trong 5 phút liên tục.
  2. Action Group:
    • Gửi Email cho Admin.
    • Gửi SMS.
    • Gọi Webhook (để bắn tin nhắn vào Slack/Teams).
    • Gọi Automation Runbook (để tự động reboot server).