# Cảnh báo SLO theo tốc độ đốt nhiều cửa sổ

> Ba mức đốt mặc định, chính sách gọi khẩn/ticket, quy tắc cảnh báo, nội dung tin, sự kiện webhook, tạm dừng và tắt tiếng.

Cảnh báo SLO không bật vì một phút xấu. Nó bật khi **tốc độ đốt** — ngân sách lỗi đang bị tiêu nhanh đến mức nào — đủ cao để ngân sách sẽ cạn, và nó kiểm tra rằng sự cố vẫn đang diễn ra. Đây là phương pháp nhiều cửa sổ, nhiều tốc độ đốt trong Google SRE Workbook.

## Tốc độ đốt

`tốc độ đốt = tỉ lệ lỗi trong một cửa sổ ÷ (1 − mục tiêu)`. Tốc độ ×1 tiêu hết ngân sách đúng vào cuối cửa sổ SLO; ×14,4 tiêu hết ngân sách 30 ngày trong khoảng hai ngày.

## Các mức mặc định

Mỗi mức cần **cả hai** cửa sổ vượt ngưỡng: cửa sổ dài chứng minh sự cố đủ lớn để đáng quan tâm, cửa sổ ngắn chứng minh nó vẫn đang diễn ra, nên cảnh báo dừng sớm sau khi bạn sửa.

| Mức | Cửa sổ dài | Cửa sổ ngắn | Báo khi cả hai vượt | Đã tiêu khi báo (cửa sổ 30 ngày) |
|---|---|---|---|---|
| **Gọi khẩn** (đốt nhanh) | 1 giờ | 5 phút | ×14,4 | 2 % |
| **Gọi khẩn** (đốt nhanh) | 6 giờ | 30 phút | ×6 | 5 % |
| **Ticket** (đốt chậm) | 3 ngày | 6 giờ | ×1 | 10 % |

Cửa sổ 7 và 28 ngày dùng cùng hệ số; ở đó các hệ số chỉ là xấp xỉ của giá trị trong workbook. Một cửa sổ chỉ được đánh giá khi đã có dữ liệu đo; trang SLO hiện tốc độ đốt, ngưỡng và tình trạng của từng cửa sổ ở mục **Cửa sổ tốc độ đốt**.

## Chính sách cảnh báo

Đặt cho từng SLO ở bước 4 của form:

| Chính sách | Gửi |
|---|---|
| **Gọi khẩn và ticket** (mặc định) | Đốt nhanh thành gọi khẩn, đốt chậm thành ticket |
| **Chỉ gọi khẩn** | Chỉ đốt nhanh |
| **Chỉ ticket** | Chỉ đốt chậm |
| **Không cảnh báo** | Không gửi gì; SLO vẫn được đo và hiển thị |

## Ai nhận cảnh báo

Mỗi workspace bắt đầu với quy tắc mặc định **SLO đang đốt**, gửi đến mọi điểm nhận. Trong **Cảnh báo → Quy tắc**, bạn có thể thêm quy tắc SLO cho một dự án, vài môi trường hoặc một mức độ — ví dụ gọi khẩn qua Telegram, ticket qua email. Điểm nhận là [Telegram, Slack, email hoặc webhook](https://belvador.dev/vi/docs/alerts) của chính bạn.

- Một tin khi SLO bắt đầu đốt, một tin khi **trở lại trong ngân sách**. Nếu đốt chậm chuyển thành đốt nhanh, một tin gọi khẩn được gửi.
- Một quy tắc không lặp lại cảnh báo trong vòng 60 phút.
- SLO đang **Chưa đủ dữ liệu** không bao giờ cảnh báo.

Tin nhắn chứa tên SLO, dự án, môi trường, mục tiêu và cửa sổ, mức độ, tốc độ đốt của các cửa sổ đã vượt, ngân sách còn và thời điểm. Tin không bao giờ chứa nội dung request, span hay check-in. SLO trên span ghi rõ chỉ số là ước tính.

## Webhook

[Webhook](https://belvador.dev/vi/docs/alerts/webhooks) nhận các sự kiện `slo.burn` và `slo.recovered`. Trường `data.slo` của body gồm `id`, `slug`, `name`, `source`, `incident_id`, `severity` (`page` hoặc `ticket`), `objective`, `window_days`, `burn` (tốc độ đốt theo từng cửa sổ tính bằng phút, `null` khi chưa đánh giá), `budget_remaining`, `estimated`, `opened_at` và `resolved_at`.

## Tạm dừng và tắt tiếng

Trên trang SLO:

- **Tắt tiếng cảnh báo** vẫn đo và đánh giá nhưng không gửi gì — dùng cho bảo trì có kế hoạch.
- **Tạm dừng** ngừng đánh giá và cảnh báo. Cảnh báo đang mở được đóng mà không gửi tin hồi phục.

Cả hai kéo dài 1 giờ, 4 giờ, 24 giờ hoặc 7 ngày, hoặc đến khi bạn huỷ.

## Nếu Belvador gặp sự cố

Belvador đánh giá SLO mỗi phút. Nếu control plane sập, cảnh báo SLO đến muộn chứ không mất: số đếm chờ trên node của bạn và được đánh giá khi hệ thống trở lại. Sự cố uptime vẫn cảnh báo theo đường riêng.
