Application Services Analytics and Health

Overview

A list of application services grouped under a specified application, managed by the BIG-IP devices that are connected to BIG-IQ centralized management. This information can then be used to analyze and describe the performance of each application service.

REST Endpoint: /mgmt/ap/query/v1/tenants/default/reports/ApplicationServicesList

Requests

GET /mgmt/ap/query/v1/tenants/default/reports/ApplicationServicesList

Query Parameters

Name Type Required Description
$appId string True Specifies the id of the application for an application services group.
$filter string False Specifies a string or integer used to filter the results. You can filter based on one or more parameters.
$from string False Specifies time to start results. The default uses the values of “-5m” for from and “now” for to, which starts from 5 minutes before the current time and ends at the current time.
$orderby string False Specifies the sorting parameter and order to apply to results. The sort order can be ascending (asc) or descending (desc). The default value is “health desc”, which sorts by health in descending order.
$securityFrom string False Specifies the earliest application service security data shown over the elapsed time period. The default uses the values of “-1d” for securityFrom and “now” for to, which starts from 1 day before the current time and ends at the current time.
$skip number False Specifies the number of results in the ordered list to skip. The default value of skip is 0, meaning none are skipped and the results range from 1 to the top value.
$to string False Specifies time to end results. The default uses the values of “-5m” for from and “now” for to, which starts from 5 minutes before the current time and ends at the current time.
$top number False Specify the maximum number of results in the ordered list. The default value is 10.

Response

HTTP/1.1 200 OK

Name Type Description
items object The items that appear in the query.
     id string The application service’s unique identifier.
     globalAppId string The grouping application’s unique identifier.
     name string The application service’s readable name.
     type string The application service’s type. Possible values: “HTTP”, “TCP”, and “DNS”.
     status string The application service’s current status. Possible values: “CREATED”, “DEPLOYING”, “FAILED_DEPLOY”, “DEPLOYED”, “DELETING” and “FAILED_DELETE”.
     health HealthEnum The application service’s health. Possible values “Critical”, “Moderate”, “Good” or “Other”.
     protectionMode string The application service’s protection mode. Possible values: “notProtected”, “transparent”, “blocking” or “NA”.
     fqdn string WideIP domain name for “DNS” application services.
     activeAlerts number Number of active alerts that are currently opened for this application service.
     lastActivity number The last time the configuration of this application service changed
     enhancedAnalytics boolean A flag for enhanced analytics collection and presentation
     findings string The application service’s security findings. “blockingValidTraffic” means traffic that was blocked due to false positives by blocking protection status. “successfulAttack” means traffic that was allowed, even though identified as an attack, due to transparent protection status. “blockedAttacks” means an identified attack value increased significantly over the past day, in relation to the past week. “dosSuccessfulAttack” means traffic that was allowed, even though identified as an DoS attack, due to transparent protection status. “dosBlockedAttacks” means traffic that was blocked due to false positives by blocking protection status. “none” - No attacks to the application were detected.
     badTraffic number Application service’s bad traffic rate
     isBadTrafficGrowth boolean Is the application service’s bad traffic grows over time?
     responseTime number The HTTP application service’s response time.
     transactionsPerSecond number Number of HTTP transactions per second
     throughputIn number The average throughput in to the service over the defined time period.
     throughputOut number The average throughput out to the service over the defined time period.
     packetsIn number The average number of packets received by BIG-IPs from the remote hosts over the defined time period.
     packetsOut number The average number of packets sent by BIG-IPs to the remote hosts over the defined time period.
     goodputIn number The current average number Amount of application-level (Goodput) bytes received by BIG-IPs from the remote hosts.
     goodputOut number The current average number Amount of application-level (Goodput) bytes sent from BIG-IPs to the remote hosts.
     rtt number The current average number of round-trip time statistics.
     connectionsLength number The current average number of connections length statistics.
     newConnections number New connection creation rate.
connections number The number of opened connections.
dnsTotalRps number Number of DNS requests per second.
itemsPerPage number The number of items per page.
pageIndex number The chronological page number as of which to display query results.
startIndex number The chronological item number as of which to display query results.
total number The total number of items queried.
totalPages number The total number of pages in the query result.

Permissions

Role Allow
Application Viewer Yes
Application Manager Yes
Application Creator Yes
Application Editor Yes
Global Application Viewer Yes
Global Application Manager Yes

Examples

GET to retrieve a list of the existing applications service grouped under a specific application

The following example returns the top 50 items ordered by the health in ascending order.

GET https://<BIG-IQ>/mgmt/ap/query/v1/tenants/default/reports/ApplicationServicesList?$appId=69cf49ad-de27-3540-b38f-9773d06ca1c4&$orderby=health asc&$skip=0&$top=50

Response

{
    "kind": "ap:compose:Report",
    "lastUpdateMicros": 365049094989,
    "result": {
        "totalItems": 2,
        "items": [
            {
                "protectionMode": "Not Protected",
                "findings": "None",
                "id": "3e8e412e-c60b-3e4c-b4f9-3464fc8c87d7",
                "globalAppId": "69cf49ad-de27-3540-b38f-9773d06ca1c4",
                "name": "partitionOnBIGIP_appHttp",
                "type": "HTTP",
                "lastActivity": 1567072868221,
                "status": "DEPLOYED",
                "connections": 0.0,
                "throughputIn": 0.0,
                "throughputOut": 0.0,
                "health": "Critical",
                "activeAlerts": 2,
                "badTraffic": 0.0,
                "enhancedAnalytics": false,
                "badTrafficGrowth": false
            },
            {
                "protectionMode": "Not Protected",
                "findings": "None",
                "id": "3e7eb86b-efe5-3994-8659-1b962d22b975",
                "globalAppId": "69cf49ad-de27-3540-b38f-9773d06ca1c4",
                "name": "partitionOnBIGIP_tcpTestApp1",
                "type": "TCP",
                "lastActivity": 1567072834394,
                "status": "DEPLOYED",
                "connections": 0.015625,
                "throughputIn": 6899.725,
                "throughputOut": 4663.441666666667,
                "packetsIn": 3.225,
                "packetsOut": 3.225,
                "goodputIn": 328.95,
                "goodputOut": 1315.8,
                "rtt": 1.516795865633075,
                "connectionsLength": 5.0090439276485785,
                "newConnections": 3.225,
                "health": "Good",
                "activeAlerts": 0,
                "badTraffic": 0.0,
                "enhancedAnalytics": false,
                "badTrafficGrowth": false
            }
        ],
        "itemsPerPage": 50,
        "startIndex": 0,
        "totalPages": 1,
        "pageIndex": 0,
        "currentItemCount": 2
    },
    "requestDurationInMillis": 776
}

To order the response using orderby

Base expression format of orderby:

$orderby: <property name> <asc|desc>

For example:

$orderby: responseTime desc
$orderby: protectionMode asc

To filter the response using filter

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')