## Node monitor logs (`monitor-logs`)

Results of each probe round the control plane runs against monitored node IPs.

Authentication: Admin only · Docs: https://www-demo.kuxitong.com/en/docs/api/monitor-logs

### GET `/api/v2/monitor-logs`

List node monitor probe logs · Authentication: Admin only

Query parameters:

| Field | Type | Required | Description |
|---|---|---|---|
| `page` | integer |  | Page number, starting from 1 Default: 1 |
| `page_size` | integer |  | Items per page Default: 20 |
| `node_id` | integer |  | Filter by node. |
| `ip` | string |  | Filter by IP (exact match). |
| `result` | integer |  | Filter by result: 1 reachable, 0 unreachable, -1 undetermined. Values: [-1,0,1] |
| `type` | string |  | Filter by type: aval availability probe, bw bandwidth sample. Omitted = all. Values: ["aval","bw"] |
| `probe_group` | string |  | Filter by monitor group (as returned by the external probe service, exact match); empty string = rows from the master's built-in probe. Omitted = all. |
| `since` | string |  | Start time (inclusive), RFC 3339. |
| `until` | string |  | End time (exclusive), RFC 3339. |

```sh
curl "https://panel.example.com/api/v2/monitor-logs" \
  -H "X-API-Key: $GOCDN_API_KEY"
```

Node monitor logs object:

| Field | Type | Required | Description |
|---|---|---|---|
| `created_at` | string |  | Created at |
| `detail` | string |  | Why it was unreachable or undeterminable. |
| `id` | integer |  | Record ID |
| `ip` | string |  | Probed IP. |
| `node_id` | integer |  | Node ID |
| `result` | integer |  | 1: reachable; 0: unreachable; -1: undeterminable (http 5xx, whole round unreachable, etc.; not counted). Values: [-1,0,1] |
| `round_id` | integer |  | Probe round (same value within one round). |
| `type` | string |  | aval: availability probe (by the control plane or the external probe service); bw: bandwidth sample (one per minute, 0 when outbound is at or above the limit). Values: ["aval","bw"] |
