AE-2130: SSLVPN Service API's

Review Request #1070 — Created Sept. 22, 2025 and submitted

apoorva.sn
AMP
amp_4_0
AE-2130
pmurugaiyan, shuinvy, timsu

Problem

Create new API for Monitoring-SSLVPN Service for getting data from Timescale DB

Solution

Have created new endpoint /ssl_vpn for getting the data for Monitoring- SSL VPN data.
Also have added logic to query the Timscale DB for getting the respective information

SSLVPN Stats

[root@AN admin]# curl 'http://127.0.0.1:8000/ssl_vpn' \
-X POST \
-H 'Accept: application/json, text/plain, /' \
-H 'Content-Type: application/json' \
-H 'X-CSRFToken: uslN24161guxE7b8a3acMaRyKiyVeYLl' \
-b 'csrftoken= uslN24161guxE7b8a3acMaRyKiyVeYLl; hive_key=1; django_language=en; csrf_token= uslN24161guxE7b8a3acMaRyKiyVeYLl; current_user=array; hive_sess=52ec7acd-8614-4132-ae76-e470a7942a3a' \
--data-raw '{
"stat_name": "active_sessions",
"agent_host": "192.168.162.166",
"interval": "20s",
"from": "now-15m",
"to": "now"
}'
{"status": 200, "message": "success", "data": []}

Login Status:

[root@AN admin]# curl 'http://127.0.0.1:8000/ssl_vpn' \
-X POST \
-H 'Accept: application/json, text/plain, /' \
-H 'Content-Type: application/json' \
-H 'X-CSRFToken: nPiafxFWoxCJgBQI3sZ0kr71rDhdPL7K' \
-b 'csrftoken=nPiafxFWoxCJgBQI3sZ0kr71rDhdPL7K; hive_key=1; django_language=en; csrf_token=nPiafxFWoxCJgBQI3sZ0kr71rDhdPL7K; current_user=array; hive_sess=7acd122c-0e4c-47ba-8eb5-0c32ae38038a' \
--data-raw '{
"stat_name": "login_status",
"agent_host": "192.168.162.88",
"interval": "20s",
"from": "now-8h",
"to": "now",
"vsite_id": "vsite1"
}'
{"status": 1, "data": {"status": 200, "message": "success", "data": [{"ts": "2025-09-19T12:02:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:03:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:03:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:03:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:04:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:04:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:04:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:05:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:05:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:05:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:06:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"}, {"ts": "2025-09-19T12:06:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "success": "0", "failure": "0", "error": "0", "locked": "0", "rejected": "0"},

Client Throughput:

[root@AN admin]# curl 'http://127.0.0.1:8000/ssl_vpn' \
-X POST \
-H 'Accept: application/json, text/plain, /' \
-H 'Content-Type: application/json' \
-H 'X-CSRFToken: 0LSAo9uGLlN8MJefV1aLt6iUpThZyfoc' \
-b 'csrftoken=0LSAo9uGLlN8MJefV1aLt6iUpThZyfoc; hive_key=1; django_language=en; csrf_token=0LSAo9uGLlN8MJefV1aLt6iUpThZyfoc; current_user=array; hive_sess=b5f35246-5318-4ca6-aade-63cce088fb7a' \
--data-raw '{
"stat_name": "net_thoughput",
"agent_host": "192.168.162.88",
"interval": "20s",
"from": "now-15h",
"to": "now",
"vsite_id": "vsite1"
}'
{"status": 1, "data": {"status": 200, "message": "success", "data": [{"ts": "2025-09-22T05:17:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:18:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:18:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:18:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:19:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:19:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:19:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:20:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:20:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:20:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:21:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:21:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:21:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:22:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:22:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:22:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:23:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:23:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:23:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:24:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:24:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:24:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:25:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:25:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:25:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:26:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:26:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:26:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:27:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:27:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"}, {"ts": "2025-09-22T05:27:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0E-20", "nw_recv_bps": "0E-20"},
...
...
{"ts": "2025-09-22T20:16:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0", "nw_recv_bps": "0"}, {"ts": "2025-09-22T20:16:20+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0", "nw_recv_bps": "0"}, {"ts": "2025-09-22T20:16:40+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0", "nw_recv_bps": "0"}, {"ts": "2025-09-22T20:17:00+05:30", "agent_host": "192.168.162.88", "id": "vsite1", "nw_sent_bps": "0", "nw_recv_bps": "0"}, {"ts": "2025-09-22T20:17:20+05:30", "agent_host": "192.168.162

l3 Tunnel Status:

[root@AN admin]# curl 'http://127.0.0.1:8000/ssl_vpn' -X POST -H 'Accept: application/json, text/plain, /' -H 'Content-Type: application/json' -H 'X-CSRFToken: 5cK26xRHWaFUlNkNaD0vW10GQIpB4xTJ' -b 'csrftoken=5cK26xRHWaFUlNkNaD0vW10GQIpB4xTJ; hive_key=1; django_language=en; csrf_token=5cK26xRHWaFUlNkNaD0vW10GQIpB4xTJ; current_user=array; hive_sess=fb7032c8-878e-404c-95af-398d1e8347c9' --data-raw '{
"stat_name": "tunnel_status",
"agent_host": "192.168.162.88",
"from": "now-8h",
"to": "now",
"vsite_id": "vsite1"
}'
{"status": 1, "data": {"status": 200, "message": "success", "data": [{"agent_host": "192.168.162.88", "id": "vsite1", "open": "0", "est": "0", "rejected": "0", "terminated": "0"}]}}

L3 VPN Throughput:

[root@AN admin]# curl 'http://127.0.0.1:8000/ssl_vpn' \
-X POST \
-H 'Accept: application/json, text/plain, /' \
-H 'Content-Type: application/json' \
-H 'X-CSRFToken: sKdo3yYkJ146BRFkKUazjRYJPaQNFG5L' \
-b 'csrftoken=sKdo3yYkJ146BRFkKUazjRYJPaQNFG5L; hive_key=1; django_language=en; csrf_token=sKdo3yYkJ146BRFkKUazjRYJPaQNFG5L; current_user=array; hive_sess=5da88441-2cf3-4e2f-9d38-7226fb8e6007' \
--data-raw '{
"stat_name": "l3_vpn_throughput",
"agent_host": "192.168.162.88",
"from": "now-15h",
"to": "now",
"vsite_id": "vsite1"
}'
{"status": 1, "data": {"status": 200, "message": "success", "data": [{"ts": "2025-09-22T05:13:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:14:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:15:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:16:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:17:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:18:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:19:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:20:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:21:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:22:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:23:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:24:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:25:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:26:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:27:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:28:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:29:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:30:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:31:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:32:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:33:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:34:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:35:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:36:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:37:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:38:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:39:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:40:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:41:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:42:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:43:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:44:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:45:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:46:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:47:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:48:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T05:49:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"},
...
...
{"ts": "2025-09-22T14:39:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T14:40:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T14:41:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T14:42:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}, {"ts": "2025-09-22T14:43:00", "agent_host": "192.168.162.88", "id": "vsite1", "vpn_sent_bps": "0.00", "vpn_recv_bps": "0.00"}]}}

L3 Client APP Throughput:

[root@AN admin]# curl 'http://127.0.0.1:8000/ssl_vpn' \
-X POST \
-H 'Accept: application/json, text/plain, /' \
-H 'Content-Type: application/json' \
-H 'X-CSRFToken: bg7d2SsEVcKmoEB2yWc1V2eSMCdZFdAF' \
-b 'csrftoken=bg7d2SsEVcKmoEB2yWc1V2eSMCdZFdAF; hive_key=1; django_language=en; csrf_token=bg7d2SsEVcKmoEB2yWc1V2eSMCdZFdAF; current_user=array; hive_sess=d5a55e18-46ee-434b-ad86-7ae3cd45acae' \
--data-raw '{
"stat_name": "l3_client_app_throughput",
"agent_host": "192.168.162.88",
"from": "now-15h",
"to": "now",
"vsite_id": "vsite1"
}'
{"status": 1, "data": {"status": 200, "message": "success", "data": [{"ts": "2025-09-22T05:12:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:13:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:14:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:15:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:16:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:17:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:18:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:19:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:20:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:21:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:22:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:23:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:24:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:25:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:26:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:27:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:28:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:29:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:30:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:31:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:32:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:33:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:34:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:35:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:36:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:37:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:38:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:39:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:40:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:41:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:42:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:43:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:44:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T05:45:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"},
....
....

{"ts": "2025-09-22T14:38:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T14:39:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T14:40:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T14:41:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}, {"ts": "2025-09-22T14:42:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_app_sent_bps": "0.00", "client_app_recv_bps": "0.00"}]}}

L7 Request Status:

[root@AN admin]# curl 'http://127.0.0.1:8000/ssl_vpn' \
-X POST \
-H 'Accept: application/json, text/plain, /' \
-H 'Content-Type: application/json' \
-H 'X-CSRFToken: WWIBUZ8yxWAxmJA7mUr6zAnPuJURV27W' \
-b 'csrftoken=WWIBUZ8yxWAxmJA7mUr6zAnPuJURV27W; hive_key=1; django_language=en; csrf_token=WWIBUZ8yxWAxmJA7mUr6zAnPuJURV27W; current_user=array; hive_sess=fc86b30e-fdf6-4d33-89f4-ed94d58f864c' \
--data-raw '{
"stat_name": "l7_request_status",
"agent_host": "192.168.162.88",
"from": "now-15h",
"to": "now",
"vsite_id": "vsite1"
}'
{"status": 1, "data": {"status": 200, "message": "success", "data": [{"ts": "2025-09-22T05:10:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "237.60"}, {"ts": "2025-09-22T05:11:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:12:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:13:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:14:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:15:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:16:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:17:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:18:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:19:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:20:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:21:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:22:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:23:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:24:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:25:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:26:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:27:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:28:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:29:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:30:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:31:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:32:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:33:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:34:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:35:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:36:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:37:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:38:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:39:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:40:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:41:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:42:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:43:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:44:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"}, {"ts": "2025-09-22T05:45:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "95.04"},
...
...
{"ts": "2025-09-22T14:35:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "0.00"}, {"ts": "2025-09-22T14:36:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "0.00"}, {"ts": "2025-09-22T14:37:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "0.00"}, {"ts": "2025-09-22T14:38:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "0.00"}, {"ts": "2025-09-22T14:39:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "0.00"}, {"ts": "2025-09-22T14:40:00", "agent_host": "192.168.162.88", "id": "vsite1", "sent_bps": "0.00", "recv_bps": "0.00"}]}}

L7 Client Throughput:

[root@AN admin]# curl 'http://127.0.0.1:8000/ssl_vpn' \
-X POST \
-H 'Accept: application/json, text/plain, /' \
-H 'Content-Type: application/json' \
-H 'X-CSRFToken: D6Pcpelw8fPtwgBoZV94IQQYxvzAAtRp' \
-b 'csrftoken=D6Pcpelw8fPtwgBoZV94IQQYxvzAAtRp; hive_key=1; django_language=en; csrf_token=D6Pcpelw8fPtwgBoZV94IQQYxvzAAtRp; current_user=array; hive_sess=8e54bb58-bb21-48fe-a9e9-5c41700d51c5' \
--data-raw '{
"stat_name": "l7_client_throughput",
"agent_host": "192.168.162.88",
"from": "now-15h",
"to": "now",
"vsite_id": "vsite1"
}'
{"status": 1, "data": {"status": 200, "message": "success", "data": [{"ts": "2025-09-22T04:40:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "0.00"}, {"ts": "2025-09-22T04:41:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:42:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:43:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:44:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:45:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:46:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:47:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:48:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:49:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:50:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:51:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:52:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:53:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:54:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:55:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:56:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:57:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:58:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T04:59:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:00:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:01:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:02:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:03:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:04:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:05:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:06:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:07:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:08:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:09:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:10:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:11:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:12:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:13:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"}, {"ts": "2025-09-22T05:14:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "95.04"},
...
...
{"ts": "2025-09-22T14:07:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "0.00"}, {"ts": "2025-09-22T14:08:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "0.00"}, {"ts": "2025-09-22T14:09:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "0.00"}, {"ts": "2025-09-22T14:10:00", "agent_host": "192.168.162.88", "id": "vsite1", "client_sent_bps": "0.00", "client_recv_bps": "0.00"}]}}

L7 Server Throughput:

[root@AN admin]# curl 'http://127.0.0.1:8000/ssl_vpn' \
-X POST \
-H 'Accept: application/json, text/plain, /' \
-H 'Content-Type: application/json' \
-H 'X-CSRFToken: bYjQcVc1wOL005NINrzpgeGAxVs3ugtt' \
-b 'csrftoken=bYjQcVc1wOL005NINrzpgeGAxVs3ugtt; hive_key=1; django_language=en; csrf_token=bYjQcVc1wOL005NINrzpgeGAxVs3ugtt; current_user=array; hive_sess=98cbd6cc-bd61-472f-8a99-181a2a336ebb' \
--data-raw '{
"stat_name": "l7_server_throughput",
"agent_host": "192.168.162.88",
"from": "now-15h",
"to": "now",
"vsite_id": "vsite1"
}'
{"status": 1, "data": {"status": 200, "message": "success", "data": [{"ts": "2025-09-22T05:09:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:10:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:11:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:12:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:13:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:14:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:15:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:16:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:17:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:18:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:19:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:20:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:21:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:22:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:23:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:24:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:25:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:26:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:27:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:28:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:29:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:30:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:31:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:32:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:33:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:34:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:35:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:36:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:37:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:38:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T05:39:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"},
...
...
{"ts": "2025-09-22T14:34:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T14:35:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T14:36:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T14:37:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T14:38:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}, {"ts": "2025-09-22T14:39:00", "agent_host": "192.168.162.88", "id": "vsite1", "server_sent_bps": "0.00", "server_recv_bps": "0.00"}]}}

Description From Last Updated

Can we metrics/stats keys to the path, The 'ssl_vpn' endpoint gives an impression that we are actually performing operations on …

pmurugaiyanpmurugaiyan

Can you share the output for this return, I believe this returns 200 OK with error and message fields as …

pmurugaiyanpmurugaiyan

General comment - Please make sure the type casting done properly, I could see string type values for numeric columns.

pmurugaiyanpmurugaiyan

Can we reduce the interval to 10s to align with Telegraf and AMP3. 20s is on the higher side for …

pmurugaiyanpmurugaiyan

update the file naming convention - all small case.

pmurugaiyanpmurugaiyan

can we remove the repeated keys like status & data. While parsing we have to parase response.data.data -> instead can …

pmurugaiyanpmurugaiyan
shuinvy
  1. Ship It!
  2. 
      
pmurugaiyan
  1. 
      
  2. Can we metrics/stats keys to the path, The 'ssl_vpn' endpoint gives an impression that we are actually performing operations on SSLVPN functionality.

    1. this is not possible as it complains that the module is not present. for now we can continue with the current endpoint, later we can revisit the endpoints again as it will not be a major code change

    2. /ssl_vpn_metrics?

    3. have updated to ssl_vpn_stats

  3. Can you share the output for this return, I believe this returns 200 OK with error and message fields as provided. Instead, can we return the status code as 405 with the error message!

  4. General comment - Please make sure the type casting done properly, I could see string type values for numeric columns.

    1. yes have tested with the output response. As of now the values are coming properly.

    2. The attached CURL samples shows the numeric values in quotes - "0.00"

    3. ya even after converting to BIGINT or numeric it is showing same.. will have to cast this explicitly in response..
      will take care of this in next review with LLB

    4. Sure.

  5. Can we reduce the interval to 10s to align with Telegraf and AMP3. 20s is on the higher side for the SNMP metrics.

    1. this is just the default which is set if the interval is not provided. This value is not considered usually if we give the value. Also this interval time I considered as it was already present for some queries before.

    2. [agent]
      interval = "10s"
      round_interval = true
      metric_batch_size = 5000
      metric_buffer_limit = 50000
      collection_jitter = "0s"
      flush_interval = "10s"
      precision = ""
      hostname = "AN"
      omit_hostname = false
      skip_processors_after_aggregators = false

      Our telegraf service collects data at 10s interval, if query uses different we may have discrepancies with the outcome for default interval.

    3. No, it will not use 20s if the user provides a specific interval. The query will use the interval given by the user, so we can plot the graph according to what makes sense for our application. The 20s value is just the default when no interval is provided. Even if the default is used, it’s unlikely to make a significant difference in the graph, and using fewer points actually improves performance.

      Do you know what interval is currently used in APV?

    4. I dont think the user uses the interval much, better we give the optimal interval via default value. Make sure the values are affected for the smaller time interval(from-to). APV dont use the Telegraf, you can check on the ASF.

    5. But what is the interval they provide as our graphs have to be consistent with the APV graph data.
      Do you have info on this

    6. In APV, the interval is not part of request, you can check /tsdb/query endpoint.

    7. it is calculated with this logic
      def Interval(self):
      interval = (self.ParseTo() - self.ParseFrom()) / 50
      rounded = roundInterval(interval)
      if rounded < 10:
      return 10
      return rounded

      so for Eg now-15m the interval comes to 18 → 20 seconds which was what used earlier in AMP as default.
      So for now we can keep 20s as default. i,e if the user does not provide the interval.
      Later we can revisit this depending on feedback from QA

  6. update the file naming convention - all small case.

    1. it is updated properly in my local. some issue with svn diff. will make changes in next commit if it is not updated properly as part of this commit

  7. can we remove the repeated keys like status & data. While parsing we have to parase response.data.data -> instead can we simply use the response.data

    Also what does status 1/0 signify! can we introduce error code instaed. success/failure can be derived from http status code itself.

    1. Can you do the same for all monitoring APIs to align the structure!

  8. 
      
apoorva.sn
apoorva.sn
pmurugaiyan
  1. Ship It!
  2. 
      
apoorva.sn
Review request changed

Status: Closed (submitted)

Loading...