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"
}
}