You can configure the API Manager to track runtime statistics of API invocations through Google Analytics (http://www.google.com/analytics). Google Analytics is a service that allows you to track visits to a website and generate detailed statistics on them.
This guide explains how to setup API Manager in order to feed runtime statistics to Google analytics for summarization and display.
- Setup a Google Analytics account if not subscribed already and receive a Tracking ID, which is of the format "UA-XXXXXXXX-X". A Tracking ID is issued at the time an account is created with Google Analytics.
- Log in to the API Manager management console (
https://localhost:9443/carbon) using admin/admin credentials and go to Main -> Resources -> Browse menu.
Navigate to /_system/governance/apimgt/statistics/ga-config.xml file.
Change the <Enabled> element to
true, set your tracking ID in <TrackingID> element and Save.
- If you want to enable tracking for tenants, log in to the management console with a tenant's credentials, click Source View, and then add the following parameter to the
org.wso2.carbon.mediation.registry.WSO2Registryregistry definition near the top (repeat this step for each tenant):
The following screen shot illustrates this change:
- API Manager is now integrated with Google Analytics. A user who has subscribed to a published API through the API Store should see an icon as
Real-Timeafter logging into their Google Analytics account. Click on this icon and select Overview.
- Invoke the above API using the embedded WSO2 REST Client (or any third-part rest client such as cURL).
- This is one invocation of the API. Accordingly, Google Analytics graphs and statistics will be displayed at runtime. This example displays the PageViews per second graph and 1 user as active.
Google analytics reporting statistics take more than 24 hours from the time of invocation to populate. Shown below is a sample Dashboard with populated statistics.
There are widgets with statistics related to Audience, Traffic, Page Content, Visit Duration etc. You can add any widget of your preference to dashboard.