Mô tả
Probehttp_check gửi HTTP request đến endpoint và kiểm tra response. Hỗ trợ assertion trên status code, body content, và JSONPath. Đây là active check — emit metric và check result với latency.
Config fields
| Field | Type | Bắt buộc | Default | Mô tả |
|---|---|---|---|---|
type | string | Có | — | Phải là "http_check" |
url | string | Có | — | URL đầy đủ cần kiểm tra (bao gồm scheme) |
method | string | Không | "GET" | HTTP method: GET, POST, PUT, v.v. |
headers | map[string]string | Không | — | Header gửi kèm request |
bodyTemplate | string | Không | — | Body gửi kèm request (cho POST/PUT) |
expectedStatus | int[] | Không | bất kỳ < 400 | Danh sách status code được xem là pass. Nếu để trống, bất kỳ status < 400 đều pass |
expectedBodyContains | string | Không | — | Chuỗi cần có trong response body |
expectedJsonPath | string | Không | — | JSONPath expression cần kiểm tra (ví dụ $.status) |
expectedJsonValue | any | Không | — | Giá trị kỳ vọng tại JSONPath. Nếu để trống, chỉ kiểm tra path tồn tại |
Assertion logic
Các assertion được kiểm tra theo thứ tự:- Status code — nếu
expectedStatuscó giá trị, response status phải nằm trong danh sách. Nếu để trống, status ≥ 400 là fail. - Body contains — nếu
expectedBodyContainscó giá trị, response body phải chứa chuỗi đó. - JSONPath — nếu
expectedJsonPathcó giá trị:- Body phải là valid JSON
- Path phải resolve được
- Nếu
expectedJsonValuecó giá trị, giá trị tại path phải bằng (deep equal)
Metrics
| Metric | Type | Unit | Mô tả |
|---|---|---|---|
vms.http_check.status | status | — | up hoặc down |
vms.http_check.latency_ms | gauge | ms | Thời gian response |

