---
id: monitoring-azure
title: "Azure Monitor"
shortTitle: "Azure Monitor"
track: monitoring
trackTitle: "Monitoring & Alerting"
order: 3
level: important
status: published
estimatedMinutes: 30
prerequisites:
  - monitoring-grafana
next: monitoring-zabbix
reviewedAgainst: 2026-10-12
sources:
  - title: "Azure Monitor overview"
    url: https://learn.microsoft.com/en-us/azure/azure-monitor/overview
  - title: "Alert rules"
    url: https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-overview
---

# Azure Monitor

Azure Monitor là nơi gom metric và log của resource Azure. Ở bài trước, Prometheus tự đi kéo metric. Azure Monitor thì khác: nền tảng Azure tự đẩy metric vào, còn log đi qua Log Analytics workspace. Bài này không tạo workspace, vì workspace bị tính tiền.

## Để làm gì

Bạn sẽ phân biệt được metric và log trên Azure, và đọc một alert rule đủ kỹ để biết khi nào nó kích hoạt.

## Gồm những gì

- Metric, log và Log Analytics workspace.
- Alert rule, signal và action group.
- Điểm khác với Grafana: Grafana vẫn có thể vẽ biểu đồ từ dữ liệu Azure Monitor, nhưng alert rule của Azure nằm trên Azure.

Bài không hướng dẫn bật mọi diagnostic setting trên subscription.

## Dùng khi nào

Resource của bạn chạy trên Azure và bạn cần alert mà không muốn tự dựng Prometheus. Nếu app đã có Prometheus, đừng đẩy cùng một con số vào hai hệ, vì cuối cùng sẽ không ai nhìn bản thứ hai.

Log Analytics dùng ngôn ngữ Kusto. Kusto khác KQL của Kibana, điểm này được nói kỹ hơn ở bài Elastic Stack trong track Log tập trung. Khi query log trên Azure, hãy viết bằng Kusto, đừng chép nguyên câu Lucene từ hệ khác sang.

## Kiến thức cốt lõi

Metric là số theo thời gian, được nền tảng giữ theo chính sách lưu trữ của nó, và hợp để alert CPU hay số request. Log là các bản ghi, chỉ có trong workspace sau khi bạn bật diagnostic setting để gửi chúng tới đó. Nếu chưa bật diagnostic setting, bạn không có log đó để query, dù resource vẫn chạy bình thường.

Một alert rule theo dõi một signal. Signal có thể là metric, log hoặc activity log. Điều kiện là ngưỡng mà signal phải vượt qua. Action group quy định việc xảy ra khi rule kích hoạt: gửi email, gọi webhook hoặc chạy một function. Nếu rule không gắn action group, nó vẫn chuyển sang trạng thái fired nhưng không ai nhận được thông báo.

Fired không có nghĩa là user đang gặp lỗi. Nếu ngưỡng đặt sai, hộp thư sẽ đầy alert và mọi người sẽ tắt mail. Hãy xem số liệu lúc hệ thống bình thường rồi mới đặt ngưỡng, giống ý tưởng của `for` trong bài Grafana.

## Lệnh và code mẫu

Lab không chạy lệnh `az monitor` nào. Dưới đây là một rule bạn có thể đọc trên giấy:

| Ô | Ví dụ |
| --- | --- |
| Resource | App Service `shop` |
| Signal | HTTP 5xx |
| Điều kiện | tổng > 10 trong 5 phút |
| Action | email nhóm on-call |

Câu Kusto tương ứng, chỉ để đọc, không chạy trên workspace thật:

```kusto
requests
| where success == false
| where timestamp > ago(5m)
| count
```

## Thực hành

1. Điền bốn ô cho một alert CPU của máy ảo: signal, cửa sổ thời gian, ngưỡng, và ai nhận thông báo.
2. Không tạo resource group và không tạo workspace.
3. Nếu công ty bạn đã có alert rule, mở một rule và chỉ ra action group của nó. Chỉ xem, đừng sửa.

## Kết quả mong đợi

Bạn điền đủ bốn ô, và ô action không bị bỏ trống. Lab không gọi tới Azure lần nào.

## Checklist

- [ ] Diagnostic setting chỉ bật đúng loại log cần xem, không bật mọi loại cho mọi resource.
- [ ] Alert có action group.
- [ ] Khi tập query, chọn khoảng thời gian ngắn, không quét cả workspace chỉ để học.

## Lỗi thường gặp

**Đặt alert metric trên resource vừa tạo.** Resource mới chưa có đủ điểm dữ liệu, nên rule hoặc không bao giờ đúng, hoặc lúc nào cũng đúng. Hãy đợi có số liệu nền rồi mới chốt ngưỡng.

**Action group trỏ vào email của một người đã nghỉ việc.** Rule vẫn fired, nhưng không ai đọc. Hãy gửi tới email nhóm, không gửi tới hộp thư cá nhân.

## Nguồn

1. [Azure Monitor overview](https://learn.microsoft.com/en-us/azure/azure-monitor/overview) — metric, log, và phần còn lại của nền tảng.
2. [Alerts overview](https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-overview) — rule và action.

## Tiếp theo

[Zabbix](./04-zabbix.md)
