Printer FriendlyEmail Article Link

How to monitor the amount of Rest API calls coming to Velocity?

Objective/Summary
The API Utilization page allows you to configure settings for API Utilization. This sets up visibility into Velocity API usage to monitor performance of Velocity, mitigate any bottlenecks, and identify additional resource requirement.
 
Environment/Versions
Spirent Velocity & VDS 
Procedure
If you want to use the API Utilization Dashboard within Velocity 8.1, it is required to make the following changes:
In Velocity configuration page:
  • under Advanced Options > Additional startup commands, add this line:
perl -pi -e 's/\[\$time_iso8601/\[\$time_local/go' /local/nginx/etc/nginx.conf.tt
  • Save Changes and Reboot
Of course, after this setting is applied you will need to follow normal workflow to access the Kibana dashboard:
  • Go to Velocity Configuration page-> API Utilization and make sure "Enable API Utilization Tracking" is checked 
  • From Kibana Management page ->Select filebeat-read index
  • Try to access Example API Utilization Dashboard
Notes
How this works:
  • Nginx-access logs contain all REST requests.
Example:
60: 10.34.180.38 - - [2020-02-06T02:00:10+00:00] 200 “GET /velocity/api/reservation/v9/reservation/0c751a29-a8ba-47e0-b093-1afceb349bc7 HTTP/1.1” “-” 811 “-” “python-requests/2.7.0 CPython/2.7.17 Linux/4.19.0-6-amd64" “-” “0.356" “4FwkLaBJ” “Spirent, spirent” 10.140.68.3 
  • Starting with 8.0 Velocity admin has visibility into Velocity API usage through some utilization dashboards in Kibana:
  • This is done by Filebeat , which is deployed on Velocity and configured to use the Nginx module to tail the nginx-access.log
  • Below is an example of API Utilization by Service, of course it can be customized it as desired:

 

Product : Velocity Core,Velocity Portfolio