Nodeflux Central
Resource Monitoring

API Reference — Resource Monitoring

Endpoint untuk mengambil statistik sumber daya real-time dari Lenz Dashboard, Visionaire, Media Server, Fremis-N, dan Database.

Semua endpoint memerlukan header Authorization: Bearer <token>. Basis URL mengikuti variabel lingkungan VITE_API_URL yang dikonfigurasi pada instalasi Lenz. Jika Anda belum punya token, lihat halaman Otentikasi.


Lenz Dashboard

Statistik sumber daya server tempat Lenz Dashboard berjalan (CPU, RAM, disk, GPU).

GET
/api/resource-stat

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

curl -X GET "https://lenz.example.com/api/resource-stat"
{  "ok": true,  "message": "success",  "result": {    "service_name": "lenz-dashboard",    "cpu": {      "total_cores": 8,      "usage_percent": 23.5    },    "memory": {      "available_bytes": 4831838208,      "total_bytes": 8589934592,      "used_bytes": 3758096384    },    "disk": {      "mountpoint": "/",      "total_bytes": 107374182400,      "available_bytes": 64424509440,      "used_bytes": 42949672960,      "usage_percent": 40,      "disk_read_bytes_per_sec": 1048576,      "disk_write_bytes_per_sec": 524288    },    "gpu": []  }}
{  "ok": false,  "message": "invalid request"}

Visionaire

Statistik sumber daya seluruh node Visionaire yang terhubung ke deployment ini. Mendukung parameter instance untuk Federation Mode.

GET
/api/visionaire/v2/resource_stats

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

instance?string

Identifier instance federation. Gunakan parameter ini untuk mempersempit hasil ke node federation tertentu. Jika tidak diberikan, mengembalikan data dari instance utama.

Response Body

application/json

application/json

curl -X GET "https://lenz.example.com/api/visionaire/v2/resource_stats"
{  "ok": true,  "message": "success",  "result": [    {      "ip_address": "192.168.1.10",      "node_num": 1,      "data": {        "nvidia_driver_version": "535.104.05",        "cpu": {          "total_cores": 16,          "usage_percent": 42.3        },        "memory": {          "total_bytes": 34359738368,          "used_bytes": 17179869184,          "free_bytes": 17179869184,          "usage_percent": 50        },        "swap_memory": {          "total_bytes": 8589934592,          "used_bytes": 1073741824,          "free_bytes": 7516192768,          "usage_percent": 12.5        },        "disks": [          {            "mountpoint": "/",            "total_bytes": 214748364800,            "used_bytes": 107374182400,            "free_bytes": 107374182400,            "percent": 50          }        ],        "network": {          "rx_bps": 52428800,          "tx_bps": 10485760        },        "gpus": [          {            "gpu_id": 0,            "gpu_name": "NVIDIA RTX 4090",            "gpu_utilization": 67,            "gpu_memory_used": 8589934592,            "gpu_memory_total": 25769803776,            "gpu_memory_free": 17179869184,            "services": [              {                "service_name": "face-recognition",                "num_service": 3              }            ]          }        ],        "camera_stats": []      }    }  ]}
{  "ok": false,  "message": "invalid request"}

Media Server

Statistik sumber daya per media server (NVR/Lyodra), termasuk kapasitas disk rekaman dan VOD.

Endpoint ini hanya dapat digunakan jika feature flag Media Server diaktifkan di Preferences → Feature.

GET
/api/visionaire-media/{id}/resource-stat

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

ID media server yang terdaftar di Lenz.

Response Body

application/json

application/json

application/json

curl -X GET "https://lenz.example.com/api/visionaire-media/nvr-01/resource-stat"
{  "success": true,  "data": {    "service_name": "nvr-server-1",    "cpu": {      "total_cores": 8,      "usage_percent": 15    },    "memory": {      "available_bytes": 12884901888,      "total_bytes": 17179869184,      "used_bytes": 4294967296    },    "disk": {      "mountpoint": "/recordings",      "total_bytes": 4398046511104,      "available_bytes": 2199023255552,      "used_bytes": 2199023255552,      "usage_percent": 50,      "disk_read_bytes_per_sec": 10485760,      "disk_write_bytes_per_sec": 5242880,      "recordings_used_bytes": 1610612736000,      "vods_used_bytes": 536870912000    },    "gpu": []  }}
{  "ok": false,  "message": "invalid request"}
{  "ok": false,  "message": "invalid request"}

Fremis-N

Statistik sumber daya seluruh node Fremis-N beserta ringkasan database cluster-nya.

Endpoint ini hanya dapat digunakan jika feature flag Face Investigation diaktifkan di Preferences → Feature.

GET
/api/fremisn/v1/resource-stats

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

curl -X GET "https://lenz.example.com/api/fremisn/v1/resource-stats"
{  "message": "success",  "result": {    "data": [      {        "instance": "fremisn-core-1",        "node_num": "1",        "nvidia_driver_version": "535.104.05",        "cpu": {          "total_cores": 8,          "usage_percent": 35        },        "memory": {          "total_bytes": 17179869184,          "used_bytes": 6442450944,          "free_bytes": 10737418240,          "usage_percent": 37.5        },        "swap_memory": {          "total_bytes": 4294967296,          "used_bytes": 0,          "free_bytes": 4294967296,          "usage_percent": 0        },        "disks": [          {            "instance": "fremisn-core-1",            "mountpoint": "/",            "total_bytes": 107374182400,            "used_bytes": 53687091200,            "free_bytes": 53687091200,            "percent": 50          }        ],        "gpus": [          [            {              "gpu_id": 0,              "gpu_name": "NVIDIA RTX 3090",              "gpu_utilization_percent": 55,              "memory_used_bytes": 6442450944,              "memory_total_bytes": 25769803776,              "memory_free_bytes": 19327352832,              "instance": "fremisn-core-1"            }          ]        ],        "camera_stats": []      }    ],    "db": {      "host": "localhost:5432",      "retention_days": 30,      "total_disk_usage_bytes": 10737418240    }  }}
{  "ok": false,  "message": "invalid request"}

Database

Kondisi database TimescaleDB: kapasitas disk, kebijakan retensi, query aktif, dan daftar tabel beserta partisi-partisinya.

GET
/api/database/resource-stat

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

curl -X GET "https://lenz.example.com/api/database/resource-stat"
{  "ok": true,  "message": "success",  "result": {    "db_name": "visionaire",    "host": "localhost:5432",    "total_bytes": 107374182400,    "retention": [      {        "id": 1,        "retention_type": "time",        "retention_days": 30,        "retention_bytes": 0,        "schedule_hour": 0,        "schedule_minute": 0,        "is_active": true      }    ],    "active_query": [      {        "pid": "12345",        "instance": "visionaire",        "usename": "postgres",        "application_name": "lenz",        "client_addr": "127.0.0.1",        "state": "active",        "duration": 0.023,        "query": "SELECT * FROM events WHERE timestamp > NOW() - INTERVAL '1 hour'",        "wait_event": null,        "wait_event_type": null      }    ],    "table": [      {        "table_name": "events",        "total_bytes": 53687091200,        "partition": [          {            "table_name": "events_2024_01",            "total_bytes": 5368709120          }        ]      }    ]  }}
{  "ok": false,  "message": "invalid request"}

On this page