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).