Outlines settings for APIs in NSX-T and logging details
VMware NSX
By default the rate limits for API calls to NSX-T manager are defined in the API guide:
In general they are split into 3 categories:
To confirm the API limits set on your environment, we can use the REST API or Cli (Command line).
Per node (the VIP rate will be determined by the cluster node it resides on):
GET /api/v1/cluster/{cluster-node-id}/node/services/http
To update values:
PUT /api/v1/cluster/{cluster-node-id}/node/services/httpPUT /api/v1/node/services/http
To restart the service:
POST /api/v1/cluster/{cluster-node-id}/node/services/http?action=startPOST /api/v1/node/services/http?action=start
As admin user on each manager type get service http:
Client API rate limit: 100 requests/sec
Client API concurrency limit: 40 connections
Global API concurrency limit: 199 connections
Note: these values should not be changed, unless requested by support and it is usually only a temporary measure. If the values are changed, the https service should be restarted for the new values to take effect restart service http/ui-service. The command used is set service http <rate to be changed>
The variables for these rates when using set service http are as below:
The UI http timeout session can be altered here also, using set service http session-timeout <timeout-value-in-seconds>
Then restarting the service restart service ui-service
More details on using the command line, please refer to NSX CLI Guide
In NSX-T 4.0.1, the tomcat reverse-proxy was changed to envoy reverse-proxy. All API's flowing to the NSX-T manager and Global manager will pass through the reverse-proxy, before being forwarded to the backend services.
These logs can be found on the manager appliance under:
Pre 4.0.1
localhost_access_log.txt
2024-10-08T10:32:31.507Z ###.162.1.### - "GET /api/v1/transport-nodes/########-43f1-4d61-914c-############/network/interfaces/vmnic2/stats HTTP/1.1" 200 196 2891 2891
Post 4.0.1
envoy_access_log.txt
[2024-10-08T10:32:31.507Z] ###.162.1.### 172.##.#.### "GET" "/api/v1/transport-nodes/########-43f1-4d61-914c-############/network/interfaces/vmnic2/stats" "HTTP/1.1" 200 - 0 541 7 6 "###.162.1.###" "Apache-HttpClient/4.5.9 (Java/11.0.16)" "########-259c-4c8c-a747-###########" "172.##.#.###:443" "###.0.0.1:7440"
From both log entries above, much of the information is the same, from them the following can be interpreted:
###.162.1.### - Remote IP address.172.##.#.### - receiving IP address.