As organizations rely more on APIs to drive business growth, the role of analytics becomes equally important. Analytics provide a way for different actors in an API ecosystem to learn about the adoption of APIs, consumption of applications, and other different metrics that show the direction of the API strategy and health status of the APIs underneath.
WSO2 API Manager analytics show different perspectives of the APIs deployed in WSO2 API Manager by providing dashboards to view operational, API, and application related statistics. Different stakeholders like DevOps, API creators, application developers, and API program managers can use these dashboards to see short-term and long-term traffic patterns, isolate errors, generate reports, and get notified about suspicious activities.
This slide deck explores different analytics capabilities and how to combine different views to derive useful insights about your business.
On-demand webinar: https://wso2.com/library/webinars/nurturing-api-platforms-with-api-analytics/
3. ● What and Why?
● Stakeholders
● Architecture
● Introduction to Analytics Dashboards
⦿ Analytics Dashboards
⦿ Dashboard Access Control
⦿ Dashboard Customization and Deployment
⦿ Custom Widget Generation
● Analytics Reporting Capabilities
● Discussion on Analytics Scenarios
● Demo
● Q&A
Agenda
3
4. ● Multiple nodes in the API ecosystem
● Thousands of applications, API calls, users
● Numerous information passthrough
⦿ User locations
⦿ Devices
⦿ Applications and API
⦿ Multiple DC/Regions
⦿ Endpoints
What is API Analytics?
4
8. Analytics Architecture
8
● Gateway publishes an event when
⦿ A successful request happens
⦾ org.wso2.apimgt.statistics.request
⦿ A fault happens
⦾ org.wso2.apimgt.statistics.fault
⦿ Throttled out
⦾ org.wso2.apimgt.statistics.throttle
● WSO2 Siddhi engine is used for
⦿ Siddhi aggregation
⦿ Purging
⦿ Multiple sink and sources
● Analyzing in real time
● Siddhi aggregations support granularity level summarization
9. ● Traffic analysis
● API error analysis
⦿ Response code
⦿ Runtime errors
⦿ Throttling
● Performance analysis
● End user analytics
⦿ Device/browser/platforms
⦿ Geo location
● Developer analytics
⦿ API/Application/Subscription creation
⦿ Signup
Available Analytics
9
12. ● Focus on business insights of APIs
⦿ Popular devices and regions
⦾ Localizations
⦾ Development
⦾ Promotions/Marketings
⦿ Monetization plans
⦿ Identify external systems and partnership
● Business growth
⦿ API usage
⦿ Increase of APIs/applications
⦿ Subscription creations
⦿ User signup
Business Analytics
12
13. ● Support long term data
● Multiple analytics data
⦿ Top summary widgets
⦿ Both API and application analytics
⦿ Usage, traffic, performance, faults analysis
⦿ Geo location and user device
⦿ Drill down scenarios
● Targets admin users and managers
⦿ Admin users and users of internal/analytics role can view by default
● Ability to see analytics of any APIs, apps
Business Analytics
13
14. ● Focus on operational aspects of the
system
● Error analyzing and actions
⦿ Response code analysis
⦾ Predict application level errors
⦾ Predict API or backend level errors
⦿ Faulty (runtime errors)
⦾ Identify the faulty APIs and backends
⦿ Throttled out request
⦾ Identify the requirement of throttle
policy levels
⦾ Identify the misbehaving applications
Monitoring
14
15. ● API performance analysis
⦿ Latency breakdown of resources
⦿ Identify the performance degradation points
⦿ Take actions to mitigate performance issues
⦾ Inform developers about higher latencies
⦾ Identify performance pattern and take actions
⧁ TPS
⦾ Improve performance by
⧁ Introducing cache, regions
⧁ Vertical scaling(TPS, complexity)
⦿ Compare improvements across API versions
Monitoring
15
16. ● Traffic analysis
⦿ Identify the pattern and take action
⦾ Sudden increase
⦾ Sudden decrease
⦿ Predict capacity requirement
⦾ Scaling API Manager system
⦾ Scaling backend system
⦾ Ensure limits with throttling policies
Monitoring
16
17. ● Targets to admin users and managers
⦿ Admin users and users of internal/analytics role can view by default
● Displays short term data to take an action
● By default time ranged is fixed to per day and week
● Able to see analytics of any APIs, apps
Monitoring
17
18. ● Focus on API analytics
● Targets to API developers
● By default API developers and admin
users can view
⦿ Internal/creator
⦿ Internal/publisher
⦿ Admin
● Sub set of business analytics
● Publisher access control is applied on
APIs
● Displays long term data
API Analytics
18
19. ● Analyze traffic pattern
⦿ Popular APIs
⦿ Identify APIs to deprecate
⦿ Identify required subscription policies
● Identify the performance issues of APIs
⦿ Mediation path
⦿ Backend services
● Resource usage pattern
⦿ Create products with popular resources
API Analytics
19
20. ● Focus on application-related analytics
● Useful to application developers
● By default subscribers and admin users
can view
● Analytics of logged in user’s
applications will be shown
Application Analytics
20
21. ● Analyze traffic pattern
⦿ Popularity of the application
⦿ Identify required subscription policy
● Usage patterns of end user
⦿ Identify the application users, type of users (login platforms)
⦿ Identify the application throttling policies
● Fault analysis
⦿ Identify the faulty APIs of an application
⦿ Contact API developer/support team
Application Analytics
21
22. ● Dashboard supports scope based access control
● Each dashboard supports the following permissions
⦿ View - view the dashboard and cannot edit or change the
settings of a dashboard
⦿ Edit - can either edit the dashboard or view the dashboard.
Editing the dashboard includes adding/removing widgets,
adding/removing pages to/from the dashboard, changing the
layout of the dashboard
⦿ Owner - have access to the Dashboard Settings page to
change the dashboard access control
● Logged in user should have required scopes to
view/edit/own the dashboard
Dashboard Access Control
22
23. ● Customizations are not allowed in default dashboards
⦿ Permission changes are allowed
⦿ Dashboard name and URL are not allowed
⦿ Changes in dashboard design are not allowed
● Supports creating copies of dashboards
⦿ Duplicate options supports creating copies to
perform desired customizations
⦿ Deploy the exported dashboard with the
customization in required environments
Dashboard Customization and Deployment
23
24. ● Required when
⦿ Creating new widgets
⦿ Customizing existing widgets
● Widget is a react component inherited from a parent widget
● Yeoman script to generate a widget skeleton
● OOTB support for UI charting libraries
⦿ VizGrammer and Victory
● Ability to use any desired charting libraries
● Easy deployment mechanism
⦿ Copy to
<Analytics_home>/wso2/dashboard/deployment/web-ui-apps/analytics-dashboard
/extensions/widgets
Custom Widget Generation
24
26. ● Monetizations and billing requirements
● Share and analyze later
● Feed to different analytics systems
Why Do You Need Reporting Capabilities?
26
27. ● Report dashboard
⦿ Per tenant data for the selected period
⦿ Data in PDF format
⦿ Content is customizable
● Export data in tabular widgets
⦿ Table data can be exported to CSV or PDF
⦿ Ability to select a custom dataset for the
report
● Export current view
⦿ Supported in every widget
⦿ Screenshot of the current view to a PDF
Analytics Reporting Capabilities
27