Analytics
No subtopics in thissection
API Gateway provides monitoring capabilities to monitor API Gateway and API usage by collecting and analyzing data about the availability and performance of an API. This helps in identifying problems that impact users. In addition to monitoring the performance of APIs, you may also want to get an insight into how developers are using the published APIs. This data provides a better understanding of any improvements that might be required to enhance the API usage or performance.
The analytics dashboard in the API Gateway UI displays a variety of charts to provide an overview of API Gateway performance and its API usage. The data for these dashboards come from the API Gateway destination store. The dashboard has various filters that you can apply depending on what you want to monitor. API Gateway also provides the capability to create a custom dashboard.
API Gateway dashboard. Displays API Gateway-wide analytics such as Summary of APIs, API usage, API trends, the top performing API and the non-performing API analytics, audit logs, applications and package related event information. Click to access API Gateway-wide analytics. For details about the API Gateway dashboard, see API Gateway dashboard.
API-specific dashboard. Displays API specific analytics such as API invocation trends by response time, success and failure rates, API performance, consumer or application traffic for a specific API. This can be accessed from the API details page.
Custom dashboard. Displays API Gateway-wide analytics or API specific analytics as configured. Click > Analytics to access API Gateway-wide analytics. A custom dashboard is a collection of visualizations. You can add the visualizations as per your requirement and compile the visualizations as a custom dashboard.
The dashboard view depends on the events and metrics generated in API Gateway and their types. An event is a kind of notification or alert generated by the API Gateway Metrics and Event Notification module. Various types of event are generated based on the behavior of the transactions in the system. Events generated by API Gateway are real time events made persistent in the store and sent to configured destinations.
These are the types of events generated in API Gateway:
Transactional event: Provides a summary of each runtime transaction in the system. It is generated when a Log Invocation policy is included for the API. For example, if an API has the policy attached to it, then for every invoke the system generates a transaction event. API Gateway provides a system global policy, Transaction logging, which are pre-configured in the product. This policy is, by default, deactivated. The transaction logging policy has standard filters and a log invocation policy that logs request or response payloads to a specified destination.
Error event: Provides details of an error that occurred during an API invoke. This event is generated whenever there is an error in the system during a runtime service invocation. This is configured as part of destination configuration.
Monitoring event: Provides a summary of event details along with the breach information when there is a threshold breach in any of the configured parameters. Monitoring could be done based on various parameters such as Total Request Count, Total Success Count, Response Time, and Availability. Monitoring can be done at the consumer application level too so that each consumer can be tracked individually. These events are generated when a Monitor performance and Monitor SLA Policy is included for the API. In addition, the Traffic Optimization policy generates these events for every API invocation only when there is a breach in the parameters configured in the policy or once per alert interval based on the alert frequency configured in the policy.
Policy violation event: Provides a summary of the policy violations that occurred in the system. When a policy attached to an API is violated, the system generates the policy violation event for alerting the provider. The Identity and Access, Authorization, and Schema Validation policies generate these events. This is configured as part of destination configuration. In addition, the Traffic Optimization policy generates these events for every API invocation only when there is a breach in the parameters configured in the policy.
Lifecycle event: Provides a summary of the life cycle of the API Gateway instance. Whenever the instance is started or stopped, a life cycle notification is generated. This is configured as part of destination configuration.
Threat protection event: Provides a summary of the threat protection filter and rule violations. When a filter or rule is violated, the system generates the threat protection violation event. This is configured a part of destination configuration.
For details on Run time events and Metrics data model, see Run time events and Metrics data model.
API Gateway Dashboard
No subtopics in thissection
The dashboard displays the API Gateway-wide analytics based on the metrics monitored. Click > Analytics to access API Gateway-wide analytics.
To filter the API Gateway-wide-specific analytics, select the time interval using the options:
- Quick select. Specify the time interval. Click Apply to filter the analytics based on the time interval.
- Commonly used. Select a commonly used time interval, and the filter is applied automatically. To view the API-specific analytics between a time interval, click Custom range > From Date > To Date > Apply.
- Recently used. Select a recently used time interval, and the filter is applied automatically.
- SUCCESS
- FAILURE
- ACCESS_PROFILE_MANAGEMENT
- ALIAS_MANAGEMENT
- ANALYTICS_MANAGEMENT
- API_MANAGEMENT
- APPLICATION_MANAGEMENT
- APPROVALS_MANAGEMENT
- GROUPS_MANAGEMENT
- PACKAGE_MANAGEMENT
- PLAN_MANAGEMENT
- PROMOTION_MANAGEMENT
- POLICY_MANAGEMENT
- USER_MANAGEMENT
- LOGIN
- LOGOUT
- CREATE
- UPDATE
- DELETE
- ACTIVATE
- DEACTIVATE
When you log in and view the analytics, the last used time interval is saved for each dashboard. When you view the dashboard again, the last used time interval for that dashboard is applied. The last used time interval is valid for the current session only.
You can click on the specific event in the list under Legend to view the specific event in any of the widgets. You can view additional details for an event by hovering the cursor over a particular color in the graphical representations.
In the Applications dashboard, you can filter the data using the filter for Applications in the specified time interval. The Applications drop-down list displays all the applications. When you select an application, its data is displayed. By default, the data displayed is for all the applications.
In the Packages dashboard, you can filter the data using the filter for Packages in the specified time interval. The Packages drop-down list displays all the packages. When you select a package, its data are displayed. By default, the data displayed is for all the packages.
In the Audit logs dashboard, you can filter the data using the filter for Audit logs in the specified time interval. It displays the data of all the auditable events.
In the Cache statistics dashboard, you can filter the cache statistics data depending on the Node name and Application type specified in the specified time interval.
In the Application logs dashboard, you can filter the application logs depending on the node, origin of log and so on in the specified time interval. Click Download to download the aggregated logs, the logs collected from different sources such as API Gateway server logs, API Gateway UI logs, API Data Store logs, dashboard logs and platform logs. The downloaded logs would contain the logs filtered as per the time interval filter applied.
Category | Metric | Description |
---|---|---|
Summary | Overall events | Displays a pie chart that lists different events being monitored and each of these event categories is depicted with different colors. |
Application activity | Displays the application activity in API Gateway during the specified time. | |
Runtime events | Displays the run time event details such as time when the event was generated, API Name, the application that generated the event, event type, description of the alert generated due to the event, status, and the source of event. | |
Payload size | Displays the payload size of the request and responses during data transfer in the specified time.
This data is picked up from the transactional event that is triggered when a log invocation policy is applied to the API. |
|
Package performance | Displays a pie chart depicting package performance during the specified time. The different colours in the pie chart depict different packages this API belongs to. | |
Trends | Events over time | Displays the trending of events generated by the APIs across API Gateway over time. |
API trend by success | Displays the trending of APIs based on their success rate in the performance metrics. | |
API trend by failure | Displays the trending of APIs based on their failure rate in the performance metrics. | |
Overall error trends | Displays a graph depicting the performance of all the APIs in the system based on the error event generated. Each of these event categories is depicted with different colors. | |
Applications | Events per application | Displays a pie chart that depicts the activity of events per application being monitored and each of these categories is depicted with different colors. |
Violations per application | Displays the number of violations per application based on the events generated such as monitoring, SLA violation, and policy violations. | |
Activity rate of consumed packages | This bar chart displays the package that the selected application has consumed (when an application is chosen in the filter).
Hover the cursor over the bar chart to see the number of invocations to the package using the specified application. |
|
Activity rate for consumed APIs | Displays the activity rate for all the APIs that are consumed by the application during the specified time. | |
Runtime events | Displays the run time event details such as API Name, event type, date when the event was created, the agent on which the event was generated, description of the alert generated due to the event, the source of event, and the application that generated the event. | |
Packages | Package invocations | Displays the number of package invocations during the specified time. |
Trending subscription for package | Displays the trending subscriptions for the package based on the number of invocations.
The different colours in the donut pie chart depict the trending behavior of the different applications in the package. |
|
Trending APIs in the package | Displays the number of invocations for an API for an application for the selected package over the specified time interval. | |
Threat protection | Threat protection filters | Displays the graphical representation of the events based on the filter violations during the specified time. |
Threat protection rules | Displays the graphical representation of the events based on the rule violations during the specified time. | |
Threat protection events | Displays the threat protection event details such as Time, filter name, rule name, resource path, server host, and request time. | |
Audit logs | Time | Displays the time the event occurred. |
User | Displays the name of the user who caused the event. | |
Status | Displays the current status of the transaction. The available values are:
|
|
Source machine | Displays the host name of the machine on which the event occurred. | |
Object type | Displays the type of API Gateway object on which the event occurred. The available values are:
|
|
Object | Displays the UUID that uniquely identifies the object in the database. | |
Message | Displays the success message or error message as a result of the event. | |
Client IP address | Displays the IP address of the machine on which the event occurred. | |
Action | Displays the type of action for the event. The available values are:
|
|
Payload | Displays the content of data payload for the event. | |
Custom dashboards | You can only view the created and compiled visualizations.
You can export and import the assets (visualizations and dashboards) from external Kibana to API Gateway custom dashboard, and API Gateway custom dashboard to external Kibana. The export and import are possible between API Gateway instances running on the same tenant. API Gateway does not support importing the assets across different tenants. Note:You can import the assets created in Kibana 7.7.1 in to API Gateway. |
API-specific Dashboard
No subtopics in thissection
You can view the API-specific dashboard by navigating to the API details page and clicking the Analytics icon for the specific API. The dashboard displays the following analytics based on the metrics monitored.
To filter the API-specific analytics, select the time interval using the options:
Quick select. Specify the time interval. Click Apply to filter the analytics based on the time interval.
Commonly used. Select a commonly used time interval, and the filter is applied automatically. To view the API-specific analytics between a time interval, click Custom range > From Date > To Date > Apply.
Recently used. Select a recently used time interval, and the filter is applied automatically.
When you log in and view the analytics, the last used time interval is saved for each dashboard. When you view the dashboard again, the last used time interval for that dashboard is applied. The last used time interval is valid for the current session only.
For the specified time interval you can also filter based on an API. The API drop-down list displays all the APIs. On selecting an API, the data displayed is for the selected API.
You can click on the specific event in the list under Legend to view the specific event in any of the widgets. You can view additional details for an event by hovering the cursor over a particular color in the graphical representations.
Metric | Description |
---|---|
Events over time | Displays the trending of events generated by the selected API over time. |
API invocations | Displays the number of time the API was invoked during the specified time. |
API invocations -Status wise | Displays the number of successful API invocations and failed API invocations during the specified time. API invocations - Status wise API invocations is the sum of successful API invocations and failed API invocations |
API invocation pattern | Displays API invocation over period of time during the specified time interval in the form of a line graph. |
Gateway vs Provider time | Displays the comparison between gatewayTime performance and providerTime performance. |
Native service performance | Displays information on how fast the native service responds to the request received in the specified time based on the data in the transactional event. |
Response code trend | Displays the trend based on the response codes received from various events for the API during the specified time. |
API trend by response | Displays the trending of the selected API based on the response time from the performance metrics for that API. |
Success vs Failure | Displays the trending of API based on its success rate as compared to its failure rate in the performance metrics for the specified time. |
Runtime events | Displays the run time event details for the selected API. Displays information on the event type, date when the event was created, the agent on which the event was generated, description of the alert generated, the source of event, and the application that generated the event. |
Service result cache | Displays a bar graph showing the number of responses served from cache and the number of responses fetched from the native service at the operation level for the selected API during the specified time. The Service result cache metric graphical representation is not supported for GraphQL API. |
Method level invocations | Displays the method level invocations per operation for the API during the specified time. You can hover the cursor over the stacked bar chart to view the various methods invoked per operation or resource and also the operations or resources for the selected API during the specified time. The Service result cache metric graphical representation is not supported for GraphQL API. |