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).

Lenz Dashboard Resource Stats

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.

Visionaire Resource Stats

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.

Media Server Resource Stat

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.

Fremis-N Resource Stats

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.

Database Resource Stat

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