Giám sát uptime API

Tạo monitor kiểm tra URL mỗi 5–1440 phút và báo cho bạn qua e-mail hoặc webhook khi website không truy cập được và khi hoạt động trở lại.

GETPOSTPATCHDELETEhttps://apibox.io.vn/v1/monitors

Monitor theo dõi website và API của bạn từ máy chủ của chúng tôi. POST /v1/monitors với url để tạo: URL được kiểm tra ngay, sau đó định kỳ mỗi interval_minutes, bằng GET hoặc HEAD, với danh sách mã trạng thái hợp lệ expect_status (mặc định 200-399, ví dụ 200,301), keyword tuỳ chọn phải có trong nội dung trả về và thời gian chờ timeout_ms. Monitor chuyển sang down sau 2 lần kiểm tra lỗi liên tiếp (sau lần lỗi đầu, URL được kiểm tra lại ở lượt chạy 5 phút kế tiếp) và trở về up ngay lần thành công đầu tiên; chỉ những lần đổi trạng thái này mới tạo sự kiện và gửi cảnh báo.

Cảnh báo được gửi tới e-mail đã xác minh của tài khoản (alert_email, bật sẵn; e-mail báo “down” cách nhau ít nhất 30 phút cho mỗi monitor và có giới hạn mỗi ngày) và / hoặc tới webhook_url của bạn, nhận một request POST JSON: {"event": "monitor.down" | "monitor.up", "monitor": {id, name, url}, "status_code", "response_ms", "error", "at", "down_since"}. GET /v1/monitors liệt kê các monitor cùng trạng thái, lần kiểm tra gần nhất và tỷ lệ uptime; /v1/monitors/{id} xem một monitor kèm các sự kiện gần đây, PATCH (hoặc POST) để sửa (paused=true để tạm dừng), DELETE để xoá, /{id}/events trả về lịch sử và POST /{id}/check chạy thử thủ công mà không đổi số liệu thống kê.

Monitor gắn với tài khoản: gọi bằng API key hoặc khi đã đăng nhập, hoặc quản lý ngay trên dashboard. Gói dịch vụ quyết định số monitor và chu kỳ ngắn nhất (Free: 3 monitor, 15 phút một lần; Starter: 20 và Pro: 100, 5 phút một lần). Tạo, sửa và chạy thử tính một request như mọi API khác; các lệnh đọc GET không tính.

Tham số

TênVị tríKiểuBắt buộcMặc định
urlbodystringcóURL cần giám sát (bắt buộc khi tạo).
namebodystringkhôngTên hiển thị (tối đa 100 ký tự).
methodbodystringkhôngGETGET hoặc HEAD.
expect_statusbodystringkhông200-399Mã trạng thái hoặc khoảng được chấp nhận, ví dụ 200,301 (tối đa 10).
keywordbodystringkhôngChuỗi bắt buộc có trong nội dung trả về (chỉ với GET, tối đa 200 ký tự).
interval_minutesbodynumberkhôngChu kỳ kiểm tra: từ mức tối thiểu của gói (Free 15, Starter / Pro 5) đến 1440. Mặc định: mức tối thiểu của gói, ít nhất 5.
timeout_msbodynumberkhông10000Thời gian chờ mỗi lần kiểm tra (1000–15000 ms).
alert_emailbodybooleankhôngtrueGửi e-mail tới địa chỉ đã xác minh của tài khoản khi down / up.
webhook_urlbodystringkhôngURL nhận request POST JSON (monitor.down / monitor.up); để trống để gỡ.
pausedbodybooleankhôngfalseTạm dừng hoặc tiếp tục kiểm tra.
idpathstringkhông/v1/monitors/{id} (GET, PATCH, POST, DELETE), /{id}/events (lịch sử), /{id}/check (POST: chạy thử).
limitquerynumberkhông50/{id}/events: số sự kiện (1–200).

Ví dụ

curl -X POST "https://apibox.io.vn/v1/monitors" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/","name":"Trang chủ","interval_minutes":5,"webhook_url":"https://example.com/hooks/uptime"}'

Kết quả trả về

{
  "id": "mon_k3x9q2v7b1m8d4f0a6zc",
  "name": "Trang chủ",
  "url": "https://example.com/",
  "method": "GET",
  "expect_status": "200-399",
  "keyword": null,
  "interval_minutes": 5,
  "timeout_ms": 10000,
  "alert_email": true,
  "webhook_url": "https://example.com/hooks/uptime",
  "paused": false,
  "status": "up",
  "last_check": {
    "at": "2026-11-11T03:20:00.000Z",
    "status_code": 200,
    "response_ms": 184,
    "error": null
  },
  "uptime_percent": 100,
  "checks": {
    "total": 1,
    "failed": 0
  },
  "status_since": "2026-11-11T03:20:00.000Z",
  "next_check_at": "2026-11-11T03:25:00.000Z",
  "created_at": "2026-11-11T03:20:00.000Z",
  "first_check": {
    "ok": true,
    "status_code": 200,
    "response_ms": 184,
    "error": null
  }
}

Ứng dụng

  • Nhận e-mail khi website, cửa hàng online bị sập
  • Đẩy sự cố sang Slack, Telegram hoặc hệ thống riêng qua webhook
  • Theo dõi endpoint health-check có chứa từ khoá như "ok"
  • Theo dõi tỷ lệ uptime của API đối tác

Hỏi đáp

Vì sao lỗi một lần mà chưa có cảnh báo?

Monitor chỉ chuyển sang down sau 2 lần lỗi liên tiếp để tránh báo nhầm; URL được kiểm tra lại ở lượt chạy 5 phút kế tiếp.

Cảnh báo gửi tới e-mail nào?

E-mail đã xác minh của tài khoản. Hãy xác minh e-mail trong dashboard; cảnh báo được giãn cách và giới hạn mỗi ngày.

Việc kiểm tra định kỳ có trừ quota không?

Không. Tạo, sửa và chạy thử thủ công tính một request mỗi lần; các lệnh đọc GET miễn phí.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →