Loại kiểm tra
HTTP/HTTPS kiểm status code, nội dung mong đợi, latency và TLS. TCP thử kết nối. DNS phân giải hostname. ICMP hỗ trợ IPv4; dùng TCP/HTTP với IPv6. Heartbeat theo dõi cron/background job. Agent hệ thống thu CPU, RAM, dung lượng filesystem gốc và bộ đếm network. Prometheus chỉ thu gauge/counter/untyped thuộc allowlist.
Probe công khai chặn mạng riêng, loopback, link-local và địa chỉ metadata. Probe riêng phải có CIDR allowlist, vẫn chặn metadata/link-local. Mỗi bước DNS, dial và redirect đều kiểm tra địa chỉ; không dùng proxy từ biến môi trường.
Trạng thái
Mặc định chu kỳ 60 giây, timeout 10 giây; ba lỗi liên tiếp xác nhận down, hai thành công xác nhận phục hồi. Kết quả cũ không ghi đè trạng thái mới. Job ID và thời điểm lập lịch chống mẫu trùng.
Cần đa số tuyệt đối của toàn bộ probe được gán; probe offline vẫn tính vào mẫu số. Thiếu đa số trả Unknown. Component có cả monitor tốt và lỗi hiển thị Partial outage; tất cả lỗi hiển thị Major outage.
Công thức
Uptime = thời gian tốt / (thời gian tốt + thời gian lỗi). Thời gian bảo trì và Unknown được tách riêng. Độ phủ = (tốt + lỗi + bảo trì) / thời gian dự kiến của các vòng kiểm tra. Bucket ngày dùng UTC.
Khi scheduler chạy lại, các khoảng bỏ lỡ được ghi Unknown và làm giảm độ phủ. Trong lúc scheduler ngừng, cần đối chiếu thời điểm cập nhật.
Mẫu thô giữ 7 ngày và tổng hợp giữ 90 ngày trên Free. p50/p95 lấy từ kiểm tra thành công trong 24 giờ. Counter giữ nguyên ý nghĩa bộ đếm; giá trị trung bình theo giờ không phải rate.
Heartbeat
curl -X POST https://your-status-host/api/v1/heartbeats/TOKENGiữ token bí mật. Tạo monitor thay thế nếu mất token.