HTTP Statistics

Overview

HTTP activity detailed information

Module Name in API

http

Product Name in API

local-traffic

Dimensions

Dimension Name in API Description
Country country Client Country
Subnet subnet Client IP subnet
Virtual Server virtual  
BIG-IP Blade Number slot-id Used for BIG-IP Chassis with multiple blades. A value of 0 means this is a non chassis BIG-IP, any other value tells the serial number of the blade in the chassis
Attack Mitigation attack-mitigation The current method of mitigation taken by the BIG-IP to handle the attack
Bot Signature Name bot-signature  
Transaction Outcome transaction-outcome Tells how the transaction was resulted, whether it was succeeded, blocked, got terminated due to connection reset, etc.
Internal Activity indication is-internal-activity Internal activity stands for transactions that are generated by BIG-IP own activity, such as injected JS, in conjunction with transactions generated by the user activity
Client OS operating-system The Operating System of the client, as detected from the user-agent header
Attack Trigger attack-trigger Tells what triggered the BIG-IP to declare this attack
Client Device ID device-id  
Mobile App Version client-mobile-app-version The version of the mobile application
Response Code response-code The HTTP response code
BIG-IP Host Name hostname The hostname given to the BIG-IP
Application Service applicationService  
Bot Signature Category bot-signature-category  
Mobile App Name client-mobile-app-name The name of the mobile application
Behavioral Signature Category behavioral-signature  
Bot Defense Reason bot-defense-reason Explains the reason a bot defense action took place
Client Browser browser The Browser of the client, as detected from the user-agent header
Mobile App Emulation Mode client-mobile-app-emulation-mode The emulation mode of a mobile application
Attacking IP Indication attacking-ip-indication Indicates whether the reported Client IPs are considered as part of the IPs causing an attack
DOS Profile dos-profile-name Name of the DoS profile used in the BIG-IP
Mobile App Human Behavior client-mobile-app-human-behavior Human behavior of mobile application
Method method The HTTP method used in the request
Mobile App Jail Break client-mobile-app-jailbreak Security Jail Break of mobile application
Pool Member Address pool-member The IP address and port of the pool member
Attack Vector attack-vector  
Client IP client-ip  
URL url  
Attack ID attack-id A code provided by BIG-IP to this attack, the ID is per BIG-IP and should not be confused with combined attack ID of multiple BIG-IPs
Mobile App Type client-mobile-app-type The type of the mobile application
Response Code Family response-code-families The HTTP response code, categorized to 1xx, 2xx, 3xx, 4xx, 5xx
Virtual Server Unique Name unique-virtual-name Virtual server full name connected to a device or cluster name
BIG-IP Service Cluster dsc-name Clusters of BIG-IPs grouped together to have the same config
Application Pool Member app-pool-member  
User Agent user-agent The user-agent as it appears in the HTTP request header, this is not collect for metrics by default
Application applications  

MetricSets

Requests Volume

Description

Size of the HTTP transaction request header and body

Name In API

transaction-request-size

Metrics in the metricSet

Metric Name in API Unit Description
Total Requests Volume sum bytes The total number of bytes sent in all requests
Average Transaction Request Size avg-value-per-event bytes The average size of transactions request
Average Requests Throughput avg-value-per-sec Bps The average rate of Bytes per second sent in requests

Response Duration

Description

The time it takes to pass the entire HTTP response, from the server to the client

Name In API

response-duration

Metrics in the metricSet

Metric Name in API Unit Description
Response Duration Relevant Transactions Count count trans  
Average Response Duration avg-value-per-event ms The Average value of Response Duration among all connections
Response Duration Relevant TPS avg-count-per-sec tps  
Response Duration Standard Deviation stddev ms The Standard Deviation of Response Duration value among all transactions

Request Duration

Description

The time it takes to pass the entire HTTP request, from the client to the server

Name In API

request-duration

Metrics in the metricSet

Metric Name in API Unit Description
Request Duration Relevant Transactions Count count trans  
Average Request Duration avg-value-per-event ms The Average value of Request Duration among all connections
Request Duration Relevant TPS avg-count-per-sec tps  
Request Duration Standard Deviation stddev ms The Standard Deviation of Request Duration value among all transactions

Responses Volume

Description

Size of the HTTP transaction response header and body

Name In API

transaction-response-size

Metrics in the metricSet

Metric Name in API Unit Description
Total Responses Volume sum bytes The total number of bytes sent in all responses
Average Transaction Response Size avg-value-per-event bytes The average size of transactions response
Average Responses Throughput avg-value-per-sec Bps The average rate of Bytes per second replied in responses

Server Side RTT

Description

The Round Trip Time (ping time) between the server and BIG-IP, as detected by TCP layer

Name In API

server-side-rtt

Metrics in the metricSet

Metric Name in API Unit Description
Average Server Side RTT avg-value-per-event ms The Average value of Server Side RTT among all connections
Server Side RTT Standard Deviation stddev ms The Standard Deviation of Server Side RTT value among all transactions

Application Response Time

Description

The time it took the application to provide a response, i.e. since getting last byte till sending back the first byte, not including network time

Name In API

application-response-time

Metrics in the metricSet

Metric Name in API Unit Description
App Response Time, Relevant Transactions Count count trans The number of transactions that got responses from the server, hence have relevant information of Application response time
Average Application Response Time avg-value-per-event ms The Average value of Application Response among all transactions
App Response Time, Relevant TPS avg-count-per-sec tps The average number of transactions per second that got responses from the server, hence have relevant information of Application response time
Application Response Time Standard Deviation stddev ms The standard deviation of the application response time value for all transactions

E2E time

Description

The time from when the client sends the first packet of a request until the client receives the last packet of the response.

Name In API

transaction-e2e-time

Metrics in the metricSet

Metric Name in API Unit Description
E2E time Relevant Transactions Count count trans  
E2E time avg-value-per-event ms The average time it takes a transaction to do a full cycle, from the moment a request started to be sent till the last packet of response arrives back to the client
E2E time Relevant TPS avg-count-per-sec tps  

Client Side RTT

Description

The Round Trip Time (ping time) between the client and BIG-IP, as detected by TCP layer

Name In API

client-side-rtt

Metrics in the metricSet

Metric Name in API Unit Description
Average Client Side RTT avg-value-per-event ms The Average value of Client Side RTT among all connections
Client Side RTT Standard Deviation stddev ms The Standard Deviation of Client Side RTT value among all transactions

Transactions

Description

Number of transactions

Name In API

transactions

Metrics in the metricSet

Metric Name in API Unit Description
Total Transactions Count count trans Total number of transactions that passed through the system
Avg TPS avg-count-per-sec tps Average number of transactions that passed through the system per second

Server Latency

Description

Time passed since the last packet was sent to the server until first packet received from server

Name In API

server-latency

Metrics in the metricSet

Metric Name in API Unit Description
Server Latency Relevant Transactions Count count trans The number of transactions that reached the server and got response, hence have relevant information of server latency
Average Server Latency avg-value-per-event ms The average value of server latency among all transactions
Server Latency Relevant TPS avg-count-per-sec tps The average number of transactions per second that reached the server and got response, hence have relevant information of server latency

Page Load Time

Description

Time passed from the moment a user entered a new html page until that page is completely loaded, this can include multiple HTTP transactions and requires a JS injection in order to be detected

Name In API

client-latency

Metrics in the metricSet

Metric Name in API Unit Description
Page Load Time Relevant Transactions Count count trans The number of pages that replied with their load time information, hence have relevant information of page load time
Average Page Load Time avg-value-per-event ms The average value of Page Load Time among all transactions
Page Load Time Relevant TPS avg-count-per-sec tps The average number of pages per second that replied with their load time information, hence have relevant information of page load time

Examples

By Time Query

A query by time returns a series of data points in time, based on optional filters, time range, and time granularity. This query kind is identified by the keyword: “ap:query:stats:byTime”

POST https://<address>/mgmt/ap/query/v1/tenants/default/products/local-traffic/metric-query

This example for JSON body in the post, filters by dimension country and get the sum of transaction-request-size

{
    "kind": "ap:query:stats:byTime",
    "module": "http",
    "timeRange": {
            "from": "-1h",
            "to": "now"
    },
    "timeGranularity": {
            "duration": 30,
            "unit": "SECONDS"
    },
    "aggregations": {
            "transaction-request-size$sum": {
                    "metricSet": "transaction-request-size",
                    "metric": "sum"
            }
    },
    "dimensionFilter": {
            "type": "eq",
            "dimension": "country",
            "value": "value to filter by"
    }
}

By Entities Query

A query by entities returns a sort set of entities, based on optional filters, time range, and choosen metric to sort by. This query kind is identified by the keyword: “ap:query:stats:byEntities”

POST https://<address>/mgmt/ap/query/v1/tenants/default/products/local-traffic/metric-query

This example for JSON body in the post, gets top entities of type country, sorted by sum of transaction-request-size

{
    "kind": "ap:query:stats:byEntities",
    "module": "http",
    "timeRange": {
            "from": "-1H",
            "to": "now"
    },
    "dimension": "country",
    "sortMetric": "transaction-request-size$sum",
    "sortOrder": "desc",
    "aggregations": {
            "transaction-request-size$sum": {
                    "metricSet": "transaction-request-size",
                    "metric": "sum"
            }
    },
    "limit": 5
}

Entities Count Query

An entities count query returns the distinct count of entities, based on optional filters, time range, and choosen entity type. This query kind is identified by the keyword: “ap:query:stats:entitiesCount”

POST https://<address>/mgmt/ap/query/v1/tenants/default/products/local-traffic/metric-query

This example for JSON body in the post, gets the distinct count of entities of type country

{
    "kind": "ap:query:stats:entitiesCount",
    "module": "http",
    "dimension": "country",
    "timeRange": {
            "from": "-1h",
            "to": "now"
    }
}