> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vms.verolabs.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Cài đặt Probe đầu tiên

> Hướng dẫn cách cấu hình và quản lý probe giám sát trên VMS Agent

## Tổng quan cấu hình Probe

Sau khi cài đặt VMS Agent Collector thành công, bạn có thể bắt đầu cấu hình các Probe (bộ đo) để giám sát tài nguyên host, network port, container, logs, hoặc kiểm tra endpoint dịch vụ.

Giao diện quản lý của VMS Dashboard cho phép bạn theo dõi danh sách Agent đang hoạt động, xem chi tiết tình trạng sức khỏe của từng Agent, cũng như quản lý cấu hình các probe tương ứng:

<img src="https://mintcdn.com/vero-35a9bc05/YT70Sr2qWE1qMbL1/images/agent_setup_dashboard.png?fit=max&auto=format&n=YT70Sr2qWE1qMbL1&q=85&s=503367a3febd4c4accd7e59a9df40253" alt="VMS Agent & Probe Management Dashboard" width="1024" height="1024" data-path="images/agent_setup_dashboard.png" />

## Các bước cấu hình một Probe mới

Để thêm hoặc cập nhật một probe giám sát, bạn thực hiện qua giao diện VMS Dashboard; cấu hình sẽ được đồng bộ xuống Agent.

<Steps>
  <Step title="Xác định mục tiêu giám sát (Target)">
    Xác định host, service hoặc endpoint nào cần giám sát. Ví dụ: Cần kiểm tra HTTP endpoint của web service tại `https://api.verolabs.co/health`.
  </Step>

  <Step title="Chọn loại Probe phù hợp">
    Dựa vào mục tiêu để chọn loại probe thích hợp trong danh sách:

    * Sử dụng `host_resource` để đo CPU, RAM, Disk.
    * Sử dụng `http_check` để giám sát API endpoint.
    * Sử dụng `check_port` để kiểm tra cổng kết nối (như SSH port 22, database port).
  </Step>

  <Step title="Khai báo cấu hình (JSON / YAML)">
    Mỗi probe được khai báo với các thuộc tính cơ bản như mã nhận diện `code`, tên `name`, chu kỳ chạy `intervalSeconds`, và khối `config` riêng của probe đó.

    Ví dụ cấu hình probe giám sát HTTP Check:

    ```json theme={null}
    {
      "code": "api-health-check",
      "name": "HTTP check API Vero",
      "type": "http_check",
      "intervalSeconds": 60,
      "timeoutMs": 5000,
      "enabled": true,
      "config": {
        "url": "https://api.verolabs.co/health",
        "method": "GET",
        "expectedStatus": [200]
      }
    }
    ```
  </Step>

  <Step title="Áp dụng và tải lại cấu hình">
    * Trên VMS Dashboard, nhấn **Save / Apply** để gửi cấu hình xuống Agent.
    * Agent tự động kéo cấu hình mới sau chu kỳ đồng bộ (`VMS_CONFIG_REFRESH_SECONDS`, thông thường 30–60s) mà không cần restart service.
  </Step>
</Steps>

## Cách kiểm tra Probe hoạt động thành công hay thất bại

### 1. Kiểm tra trạng thái trên VMS Dashboard

* **Trạng thái Thành công (Success / Green):** Probe trả về kết quả hợp lệ, các assertion (nếu có) đều pass. Trên dashboard hiển thị dot xanh lá cây (`Green`).
* **Trạng thái Thất bại (Fail / Red):** Probe không kết nối được hoặc kết quả assertion bị fail (ví dụ: HTTP status trả về 500 thay vì 200). Hệ thống sẽ chuyển trạng thái sang `Red` hoặc cảnh báo `Critical` và gửi cảnh báo (Alert) đến kênh đã cấu hình.

### 2. Kiểm tra log trực tiếp trên Host chạy Agent

Bạn có thể xem journal/log của agent để verify hoạt động gửi nhận cấu hình và kết quả chạy probe:

```bash theme={null}
# Xem log thời gian thực của VMS Agent
journalctl --user -u vms-monitor-agent -f
```

Agent ghi log dạng JSON (slog). Khi khởi động và đồng bộ config, log sẽ tương tự:

```json theme={null}
{"level":"INFO","msg":"starting vms-monitor-agent","version":"v0.9.8"}
{"level":"INFO","msg":"agent started","agentKey":"web-01/appuser","configVersion":12,"probes":2}
{"level":"INFO","msg":"agent config applied","version":13,"probes":3}
```

Kết quả probe được gom buffer và gửi async tới ingress; chỉ khi gửi lỗi mới xuất hiện log `WARN`/`ERROR` (ví dụ `ingress send failed; will retry`).
