All Applications Analytics and Health¶
Overview¶
This API provides health and statistics information for each application. This information can then be used to analyze and describe the performance of each application.
REST Endpoint: /mgmt/ap/query/v1/tenants/default/reports/AllApplicationsList¶
Requests¶
Lists health and statistics for all applications.
GET /mgmt/ap/query/v1/tenants/default/reports/AllApplicationsList¶
Request Parameters¶
None
Query Parameters¶
Name | Type | Default | Description |
---|---|---|---|
orderby | query option | health desc | Append $orderby: <property name> <asc|desc> to the query url to get a response in ascending or descending order of the specified property. |
health | To request an ordering by application health, append $orderby: health <asc/desc> to the query url. Health order is defined as “Critical”/”Moderate”/”Good”/”Other”. Specify desc to list the applications in “Critical” health first. | ||
name | To request an ordering by application name, append $orderby: name <asc/desc> to the query url. Specify asc to list by names in alphabetical order. | ||
lastActivity | To request an ordering by the time of the last configuration update, append $orderby: lastActivity <asc/desc> to the query url. Time is represented as an integer (int64). Specify desc to list the most recent update first. | ||
activeAlerts | To request an ordering by the number of the alerts currently active for the application, append $orderby: activeAlerts <asc/desc> to the query url. Specify desc to list the application with the greatest number of active alerts first. | ||
transactionsPerSecond | To request an ordering by the average number of transactions per second, append $orderby: transactionsPerSecond <asc/desc> to the query url. Specify desc to list the application with the most transactions per second first. | ||
connections | To request an ordering by the number of currently opened connections, append $orderby: connections <asc/desc> to the query url. Specify desc to list the application with the greatest number of currently opened connections first. | ||
responseTime | To request an ordering by the application’s average response time, append $orderby: responseTime <asc/desc> to the query url. Specify desc to list the application with the longest average response time first. | ||
protectionMode | To request an ordering by the application’s protection mode, append $orderby: protectionMode <asc/desc> to the query url. Protection mode order is defined as “Not Protected”/”Blocking”/”Transparent”. Specify asc to list the “Not Protected” applications first. | ||
newConnections | To request an ordering by the average rate of new connections creation, append $orderby: newConnections <asc/desc> to the query url. Specify desc to list the application with the greatest average rate of new connections creation, first. | ||
filter | query option | None | Append $filter <property name> eq <value> to the query url to get a response that includes only the applications that match the specified filter. |
health | To query by application health, append $filter: health <value> to the query url. The allowed values for health are “Critical”/”Moderate”/”Good”/”Other”. | ||
name | To query by application name, append $filter: name <value> to the query url. Specify asc to list by names in alphabetical order. | ||
lastActivity | To query by the time of the last configuration update, append $filter: lastActivity <value> to the query url. The time value is an integer (int64). | ||
activeAlerts | To query by the number of the alerts currently active for the application, append $filter: activeAlerts <value> to the query url. The value is an integer (int64). | ||
transactionsPerSecond | To query by the average number of transactions per second, append $filter: transactionsPerSecond <asc/desc> to the query url. The value is a number. | ||
connections | To query by the number of currently opened connections, append $filter: connections <value> to the query url. The value is a number. | ||
responseTime | To query by the application’s average response time, append $filter: responseTime <value> to the query url. The value is a number. | ||
protectionMode | To query by the application’s protection mode, append $filter: protectionMode <value> to the query url. The valid values of protection mode are “Not Protected”/”Blocking”/”Transparent”. Specify value as a string. | ||
newConnections | To query by the average rate of new connections creation, append $filter: newConnections <value> to the query url. The value is a number. | ||
findings | To query by findings, append $filter: findings <value> to the query url. Valid values for findings are “None”/”Blocking Valid Traffic”/”Successful Attack”. | ||
badTrafficGrowth | To query by badTrafficGrowth, append $filter: badTrafficGrowth <value> to the query url. The badTrafficGrowth value is boolean. True means that amount of bad traffics grew. | ||
skip | query option | 0 | A paging option which specifies the number of results to skip. For example, append $skip=2 to skip two items in of the queried collection. |
top | query option | 10 | A paging option which specifies the maximum number of results per page. For example, append $top=2 two included no more than two items. |
Response¶
HTTP/1.1 200 OK
A properties_collection of applications’ health and metrics.
Name | Type | Description |
---|---|---|
items | < object > array | A collection of applications. Properties defining items. optional |
name | string | The application’s name optional |
id | string (UUID) | Application unique ID optional |
protectionMode | string | The application’s protection mode. Can be one of: “Not Protected”/”Blocking”/”Transparent” optional |
health | string | The application’s health. Can be one of: “Critical”/”Moderate”/”Good”/”Other”. optional |
findings | string | Security related findings. Possible findings: “None”/”Blocking Valid Traffic”/”Successful Attack” optional |
status | string | The current status of this application. Can be one of: “CREATED”/”DEPLOYING”/”FAILED_DEPLOY”/”DEPLOYED”/”DELETING”/”FAILED_DELETE”. optional |
lastActivity | integer(int64) | The time of the last configuration update for the application. optional |
transactionsPerSecond | number | The average number of transactions per second optional |
connections | number | The average number of currently opened connections optional |
newConnections | number | The average rate of new connections creation optional |
responseTime | number | The application’s average response time optional |
activeAlerts | integer | The number of the alerts that are currently active for the application optional |
badTraffic | number | The percentage of bad traffic optional |
badTrafficGrowth | boolean | Does the amount of bad traffics grow? optional |
isTroubleshooting | boolean | Is this application currently collecting enhanced analytics data? optional |
kind | string | Type information for this applications collection object - ap:compose:Report. optional, read-only |
lastUpdateMicros | integer(int64) | Update time (micros) for last change made to an virtual server collection object. time. optional, read-only |
totalItems | integer | The total number of items that match this query optional, read-only |
itemsPerPage | integer | Paging parameter: the maximal number of items per page optional, read-only |
startIndex | integer | Paging parameter: the index of the first item on the current page optional, read-only |
totalPages | integer | Paging parameter: the overall number of pages for this query optional, read-only |
pageIndex | integer | Paging parameter: the sequential number of the current page optional, read-only |
currentItemCount | integer | Paging parameter: the number of items on the current page optional, read-only |
Error Response¶
HTTP/1.1 400 Bad Request
This response status is related to an error during a GET method. A detailed error message displays in the response.
HTTP/1.1 404 Public URI path not registered.
This response occurs when access is denied due to invalid credentials or insufficient permissions.
Permissions¶
Role | Allow |
---|---|
Application_Editor | Yes |
Application_Manager | Yes |
Application_Viewer | Yes |
Examples¶
List health and statistics for all applications.
Response¶
{
"kind": "ap:compose:Report",
"lastUpdateMicros": 57274705077,
"result": {
"totalItems": 1,
"items": [{
"protectionMode": "Not Protected",
"findings": "None",
"id": "f92ea183-9dc1-3d73-96db-358365da7066",
"name": "app1",
"status": "DEPLOYED",
"lastActivity": 1524376417395,
"transactionsPerSecond": 66.07777777779987,
"connections": 0.0,
"newConnections": 0.0,
"responseTime": 0.16837621209574533,
"health": "Good",
"activeAlerts": 0,
"badTraffic": 0.0,
"badTrafficGrowth": false,
"isTroubleshooting": false
},
{
"protectionMode": "Not Protected",
"findings": "None",
"id": "f92ea183-9dc1-3d73-96db-358365da7098",
"name": "app2",
"status": "DEPLOYED",
"lastActivity": 1524394668908,
"transactionsPerSecond": 66.07777777777778,
"connections": 135.59244791666666,
"newConnections": 66.15555555555555,
"health": "Moderate",
"activeAlerts": 2,
"badTraffic": 0.0,
"badTrafficGrowth": false,
"isTroubleshooting": true
}
}
],
"itemsPerPage": 50,
"startIndex": 0,
"totalPages": 1,
"pageIndex": 0,
"currentItemCount": 1
},
"requestDurationInMillis": 39
}
Order the Response¶
Format:
$orderby: <property name> <asc|desc>
The available property names are:
$orderby: responseTime desc
$orderby: protectionMode asc
Filter the Response¶
Base expression format:
$filter <property name> eq <value>
Complex expression format:
$filter <expression> <and|or> <expression>
$filter: health eq 'Critical'
$filter: badTrafficGrowth eq 'true'
$filter: (health eq 'Critical') or (health eq 'Moderate') or (health eq 'Other')
$filter: (findings eq 'Successful Attack') or (findings eq 'Blocking Valid Traffic') or (badTrafficGrowth eq 'true') or (protectionMode eq 'Not Protected')
$filter: (allContent eq '*app*' or name eq '*app*' or health eq '*app*')
$filter: (allContent eq '*app*' or name eq '*app*' or health eq '*app*') and (name eq '*app*') and (name eq 'app')