Configuring Cisco IOS IP SLAs HTTP Operations
First Published: August 14, 2006
Last Updated: January 6, 2011
This module describes how to configure a Cisco IOS IP Service Level Agreements (SLAs) HTTP operation to monitor the response time between a Cisco device and an HTTP server to retrieve a web page. The IP SLAs HTTP operation supports both the normal GET requests and customer RAW requests. This module also demonstrates how the results of the HTTP operation can be displayed and analyzed to determine how an HTTP server is performing.
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the "Feature Information for IP SLAs HTTP Operations" section.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Contents
•
Restrictions for IP SLAs HTTP Operations
•
Information About IP SLAs HTTP Operations
•
How to Configure IP SLAs HTTP Operations
•
Configuration Examples for IP SLAs HTTP Operations
•
Additional References
•
Feature Information for IP SLAs HTTP Operations
Restrictions for IP SLAs HTTP Operations
•
IP SLAs HTTP operations support only HTTP/1.0.
•
HTTP/1.1 is not supported for any IP SLAs HTTP operation, including HTTP RAW requests.
Information About IP SLAs HTTP Operations
•
HTTP Operation
HTTP Operation
The HTTP operation measures the round-trip time (RTT) between a Cisco device and an HTTP server to retrieve a web page. The HTTP server response time measurements consist of three types:
•
DNS lookup—RTT taken to perform domain name lookup.
•
TCP Connect—RTT taken to perform a TCP connection to the HTTP server.
•
HTTP transaction time—RTT taken to send a request and get a response from the HTTP server. The operation retrieves only the home HTML page.
The DNS operation is performed first and the DNS RTT is measured. Once the domain name is found, a TCP Connect operation to the appropriate HTTP server is performed and the RTT for this operation is measured. The final operation is an HTTP request and the RTT to retrieve the home HTML page from the HTTP server is measured. One other measurement is made and called the time to first byte which measures the time from the start of the TCP Connect operation to the first HTML byte retrieved by the HTTP operation. The total HTTP RTT is a sum of the DNS RTT, the TCP Connect RTT, and the HTTP RTT.
For GET requests, IP SLAs will format the request based on the specified URL. For RAW requests, IP SLAs requires the entire content of the HTTP request. When a RAW request is configured, the raw commands are specified in HTTP RAW configuration mode. A RAW request is flexible and allows you to control fields such as authentication. An HTTP request can be made through a proxy server.
The results of an HTTP operation can be useful in monitoring your web server performance levels by determining the RTT taken to retrieve a web page.
How to Configure IP SLAs HTTP Operations
•
Configuring an HTTP GET Operation on the Source Device (required)
•
Configuring an HTTP RAW Operation on the Source Device (required)
•
Scheduling IP SLAs Operations (required)
Configuring an HTTP GET Operation on the Source Device
Note
This operation does not require an IP SLAs Responder on the destination device.
Perform only one of the following tasks:
•
Configuring a Basic HTTP GET Operation on the Source Device
•
Configuring an HTTP GET Operation with Optional Parameters on the Source Device
Configuring a Basic HTTP GET Operation on the Source Device
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ip sla operation-number
4.
http {get | raw} url [name-server ip-address] [version version-number] [source-ip {ip-address | hostname}] [source-port port-number] [cache {enable | disable}] [proxy proxy-url]
5.
frequency seconds
6.
end
DETAILED STEPS
|
|
|
Step 1 |
enable
Router> enable |
Enables privileged EXEC mode. • Enter your password if prompted. |
Step 2 |
configure terminal
Router# configure terminal |
Enters global configuration mode. |
Step 3 |
ip sla operation-number
Router(config)# ip sla 10 |
Begins configuration for an IP SLAs operation and enters IP SLA configuration mode. |
Step 4 |
http {get | raw} url [name-server ip-address] [version version-number] [source-ip {ip-address | hostname}] [source-port port-number] [cache {enable | disable}] [proxy proxy-url]
Router(config-ip-sla)# http get http://198.133.219.25 |
Defines an HTTP operation and enters IP SLA configuration mode. |
Step 5 |
frequency seconds
Router(config-ip-sla-http)# frequency 90 |
(Optional) Sets the rate at which a specified IP SLAs HTTP operation repeats. The default and minimum frequency value for an IP SLAs HTTP operation is 60 seconds. |
Step 6 |
end
Router(config-ip-sla-http)# end |
Exits to privileged EXEC mode. |
Configuring an HTTP GET Operation with Optional Parameters on the Source Device
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ip sla operation-number
4.
http {get | raw} url [name-server ip-address] [version version-number] [source-ip {ip-address | hostname}] [source-port port-number] [cache {enable | disable}] [proxy proxy-url]
5.
history buckets-kept size
6.
history distributions-of-statistics-kept size
7.
history enhanced [interval seconds] [buckets number-of-buckets]
8.
history filter {none | all | overThreshold | failures}
9.
frequency seconds
10.
history hours-of-statistics-kept hours
11.
http-raw-request
12.
history lives-kept lives
13.
owner owner-id
14.
history statistics-distribution-interval milliseconds
15.
tag text
16.
threshold milliseconds
17.
timeout milliseconds
18.
tos number
19.
end
DETAILED STEPS
|
|
|
Step 1 |
enable
Router> enable |
Enables privileged EXEC mode. • Enter your password if prompted. |
Step 2 |
configure terminal
Router# configure terminal |
Enters global configuration mode. |
Step 3 |
ip sla operation-number
Router(config)# ip sla 10 |
Begins configuration for an IP SLAs operation and enters IP SLA configuration mode. |
Step 4 |
http {get | raw} url [name-server ip-address] [version version-number] [source-ip {ip-address | hostname}] [source-port port-number] [cache {enable | disable}] [proxy proxy-url]
Router(config-ip-sla)# http get http://198.133.219.25 |
Defines an HTTP operation and enters IP SLA configuration mode. |
Step 5 |
history buckets-kept size
Router(config-ip-sla-http)# history buckets-kept 25 |
(Optional) Sets the number of history buckets that are kept during the lifetime of an IP SLAs operation. |
Step 6 |
history distributions-of-statistics-kept size
Router(config-ip-sla-http)# history distributions-of-statistics-kept 5 |
(Optional) Sets the number of statistics distributions kept per hop during an IP SLAs operation. |
Step 7 |
history enhanced [interval seconds] [buckets number-of-buckets]
Router(config-ip-sla-http)# history enhanced interval 900 buckets 100 |
(Optional) Enables enhanced history gathering for an IP SLAs operation. |
Step 8 |
history filter {none | all | overThreshold | failures}
Router(config-ip-sla-http)# history filter failures |
(Optional) Defines the type of information kept in the history table for an IP SLAs operation. |
Step 9 |
frequency seconds
Router(config-ip-sla-http)# frequency 90 |
(Optional) Sets the rate at which a specified IP SLAs HTTP operation repeats. The default and minimum frequency value for an IP SLAs HTTP operation is 60 seconds. |
Step 10 |
history hours-of-statistics-kept hours
Router(config-ip-sla-http)# history hours-of-statistics-kept 4 |
(Optional) Sets the number of hours for which statistics are maintained for an IP SLAs operation. |
Step 11 |
http-raw-request
Router(config-ip-sla-http)# http-raw-request |
(Optional) Explicitly specifies the options for a GET request for an IP SLAs HTTP operation. |
Step 12 |
history lives-kept lives
Router(config-ip-sla-http)# history lives-kept 5 |
(Optional) Sets the number of lives maintained in the history table for an IP SLAs operation. |
Step 13 |
owner owner-id
Router(config-ip-sla-http)# owner admin |
(Optional) Configures the Simple Network Management Protocol (SNMP) owner of an IP SLAs operation. |
Step 14 |
history statistics-distribution-interval milliseconds
Router(config-ip-sla-http)# history statistics-distribution-interval 10 |
(Optional) Sets the time interval for each statistics distribution kept for an IP SLAs operation. |
Step 15 |
tag text
Router(config-ip-sla-http)# tag TelnetPollServer1 |
(Optional) Creates a user-specified identifier for an IP SLAs operation. |
Step 16 |
threshold milliseconds
Router(config-ip-sla-http)# threshold 10000 |
(Optional) Sets the upper threshold value for calculating network monitoring statistics created by an IP SLAs operation. |
Step 17 |
timeout milliseconds
Router(config-ip-sla-http)# timeout 10000 |
(Optional) Sets the amount of time an IP SLAs operation waits for a response from its request packet. |
Step 18 |
tos number
Router(config-ip-sla-http)# tos 160 |
(Optional) Defines a type of service (ToS) byte in the IP header of an IP SLAs operation. |
Step 19 |
end
Router(config-ip-sla-http)# end |
Exits to privileged EXEC mode. |
Configuring an HTTP RAW Operation on the Source Device
Note
This operation does not require an IP SLAs Responder on the destination device.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ip sla operation-number
4.
http {get | raw} url [name-server ip-address] [version version-number] [source-ip {ip-address | hostname}] [source-port port-number] [cache {enable | disable}] [proxy proxy-url]
5.
http-raw-request
6.
Enter the required HTTP 1.0 command syntax.
7.
end
DETAILED STEPS
|
|
|
Step 1 |
enable
Router> enable |
Enables privileged EXEC mode. • Enter your password if prompted. |
Step 2 |
configure terminal
Router# configure terminal |
Enters global configuration mode. |
Step 3 |
ip sla operation-number
Router(config)# ip sla 10 |
Begins configuration for an IP SLAs operation and enters IP SLA configuration mode. |
Step 4 |
http {get | raw} url [name-server ip-address] [version version-number] [source-ip {ip-address | hostname}] [source-port port-number] [cache {enable | disable}] [proxy proxy-url]
Router(config-ip-sla)# http raw http://198.133.219.25 |
Defines an HTTP operation. |
Step 5 |
http-raw-request
Router(config-ip-sla)# http-raw-request |
Enters HTTP RAW configuration mode. |
Step 6 |
Enter the required HTTP 1.0 command syntax.
Router(config-ip-sla-http)# GET /en/US/hmpgs/index.html HTTP/1.0\r\n\r\n |
Specifies all the required HTTP 1.0 commands. |
Step 7 |
end
Router(config-ip-sla-http)# end |
Exits to privileged EXEC mode. |
Scheduling IP SLAs Operations
Restrictions
•
The frequency of all operations scheduled in a multioperation group must be the same.
•
Operation ID numbers are limited to a maximum of 125 characters. Do not give large integer values as operation ID numbers.
SUMMARY STEPS
1.
enable
2.
configure terminal
For individual IP SLAs operations only:
3.
ip sla schedule operation-number [life {forever | seconds}] [start-time {hh:mm[:ss] [month day | day month] | pending | now | after hh:mm:ss}] [ageout seconds] [recurring]
For multioperation scheduler only:
4.
ip sla group schedule group-operation-number operation-id-numbers schedule-period schedule-period-range [ageout seconds] [frequency group-operation-frequency] [life {forever | seconds}] [start-time {hh:mm[:ss] [month day | day month] | pending | now | after hh:mm:ss}]
5.
exit
6.
show ip sla group schedule
7.
show ip sla configuration
DETAILED STEPS
|
|
|
Step 1 |
enable
Router> enable |
Enables privileged EXEC mode. • Enter your password if prompted. |
Step 2 |
configure terminal
Router# configure terminal |
Enters global configuration mode. |
Step 3 |
ip sla schedule operation-number [life {forever | seconds}] [start-time {hh:mm[:ss] [month day | day month] | pending | now | after hh:mm:ss}] [ageout seconds] [recurring]
Router(config)# ip sla schedule 8 start-time now life forever |
For individual IP SLAs operations only: Configures the scheduling parameters for an individual IP SLAs operation. |
Step 4 |
ip sla group schedule group-operation-number
operation-id-numbers
schedule-period schedule-period-range [ageout
seconds] [frequency group-operation-frequency]
[life {forever | seconds}]
[start-time {hh:mm[:ss]
[month day | day month] | pending | now |
after hh:mm:ss}]
Router(config)# ip sla group schedule 1 3,4,6-9 |
For multioperation scheduler only: Specifies an IP SLAs operation group number and the range of operation numbers to be scheduled in global configuration mode. • The frequency of all operations scheduled in the operation group should be the same. • The operation ID numbers are limited to a maximum of 125 characters. Do not use large integer values as operation ID numbers. |
Step 5 |
exit
Router(config)# exit |
Exits to privileged EXEC mode. |
Step 6 |
show ip sla group schedule
Router# show ip sla group schedule
|
(Optional) Displays the IP SLAs group schedule details. |
Step 7 |
show ip sla configuration
Router# show ip sla configuration
|
(Optional) Displays the IP SLAs configuration details. |
Examples
The following sample output shows the configuration of all the IP SLAs parameters (including defaults) for the HTTP RAW operation number 8.
Router# show ip sla configuration 8
Complete Configuration Table (includes defaults)
Type of Operation to Perform: http
Reaction and History Threshold (milliseconds): 5000
Operation Frequency (seconds): 90
Operation Timeout (milliseconds): 5000
Status of Entry (SNMP RowStatus): active
Request Size (ARR data portion): 1
Response Size (ARR data portion): 1
Loose Source Routing: disabled
Type of Service Parameters: 0x0
URL: http://198.133.219.25
GET /en/US/hmpgs/index.html HTTP/1.0\r\n\r\n
Life (seconds): infinite - runs forever
Next Scheduled Start Time: Start Time already passed
Entry Ageout (seconds): never
Connection Loss Reaction Enabled: FALSE
Timeout Reaction Enabled: FALSE
Threshold Reaction Type: never
Threshold Falling (milliseconds): 3000
Verify Error Reaction Enabled: FALSE
Number of Statistic Hours kept: 2
Number of Statistic Paths kept: 1
Number of Statistic Hops kept: 1
Number of Statistic Distribution Buckets kept: 1
Statistic Distribution Interval (milliseconds): 20
Number of History Lives kept: 0
Number of History Buckets kept: 15
Number of History Samples kept: 1
History Filter Type: none
The following sample output shows the configuration of all the IP SLAs parameters (including defaults) for the HTTP GET operation number 8.
Router# show ip sla configuration 8
Complete Configuration Table (includes defaults)
Type of Operation to Perform: http
Reaction and History Threshold (milliseconds): 5000
Operation Frequency (seconds): 90
Operation Timeout (milliseconds): 5000
Status of Entry (SNMP RowStatus): active
Request Size (ARR data portion): 1
Response Size (ARR data portion): 1
Loose Source Routing: disabled
Type of Service Parameters: 0x0
URL: http://198.133.219.25
Life (seconds): infinite - runs forever
Next Scheduled Start Time: Start Time already passed
Entry Ageout (seconds): never
Connection Loss Reaction Enabled: FALSE
Timeout Reaction Enabled: FALSE
Threshold Reaction Type: never
Threshold Falling (milliseconds): 3000
Verify Error Reaction Enabled: FALSE
Number of Statistic Hours kept: 2
Number of Statistic Paths kept: 1
Number of Statistic Hops kept: 1
Number of Statistic Distribution Buckets kept: 1
Statistic Distribution Interval (milliseconds): 20
Number of History Lives kept: 0
Number of History Buckets kept: 15
Number of History Samples kept: 1
History Filter Type: none
Troubleshooting Tips
Use the debug ip sla trace and debug ip sla error commands to help troubleshoot issues with an IP SLAs operation.
What to Do Next
To add proactive threshold conditions and reactive triggering for generating traps, or for starting another operation, to an IP SLAs operation, see Configuring Proactive Threshold Monitoring.
To view and interpret the results of an IP SLAs operation use the show ip sla statistics command. Checking the output for fields that correspond to criteria in your service level agreement will help you determine whether the service metrics are acceptable.
Configuration Examples for IP SLAs HTTP Operations
•
Example: Configuring an HTTP GET Operation
•
Example: Configuring an HTTP RAW Operation
•
Example: Configuring an HTTP RAW Operation Through a Proxy Server
•
Example: Configuring an HTTP RAW Operation with Authentication
Example: Configuring an HTTP GET Operation
The following example show how to create and configure operation number 8 as an HTTP GET operation. The destination URL IP address represents the www.cisco.com website. Figure 1 depicts the HTTP GET operation.
Figure 1 HTTP Operation
Router B Configuration
http get url http://198.133.219.25
ip sla schedule 8 start-time now
Example: Configuring an HTTP RAW Operation
The following example shows how to configure an HTTP RAW operation. To use the RAW commands, enter HTTP RAW configuration mode by using the http-raw-request command in IP SLA configuration mode. The IP SLA HTTP RAW configuration mode is indicated by the (config-ip-sla-http) router prompt.
http raw url http://198.133.219.25
GET /en/US/hmpgs/index.html HTTP/1.0\r\n
ip sla schedule 8 life forever start-time now
Example: Configuring an HTTP RAW Operation Through a Proxy Server
The following example shows how to configure an HTTP RAW operation through a proxy server. The proxy server is www.proxy.cisco.com and the HTTP server is www.yahoo.com.
http raw url http://www.proxy.cisco.com
GET http://www.yahoo.com HTTP/1.0\r\n
ip sla schedule 8 life forever start-time now
Example: Configuring an HTTP RAW Operation with Authentication
The following example shows how to configure an HTTP RAW operation with authentication.
http raw url http://site-test.cisco.com
GET /lab/index.html HTTP/1.0\r\n
Authorization: Basic btNpdGT4biNvoZe=\r\n
ip sla schedule 8 life forever start-time now
Additional References
Related Documents
Standards
|
|
No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature. |
— |
MIBs
|
|
CISCO-RTTMON-MIB |
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL: http://www.cisco.com/go/mibs |
RFCs
|
|
No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature. |
— |
Technical Assistance
|
|
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password. |
http://www.cisco.com/cisco/web/support/index.html |
Feature Information for IP SLAs HTTP Operations
Table 1 lists the features in this module and provides links to specific configuration information.
Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Note
Table 1 lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Table 1 Feature Information for IP SLAs HTTP Operations
|
|
|
IP SLAs HTTP Operation |
12.2(31)SB2 12.2(33)SRB1 12.2(33)SXH 12.3(14)T 15.0(1)S Cisco IOS XE 3.1.0SG |
The Cisco IOS IP SLAs Hypertext Transfer Protocol (HTTP) operation allows you to measure the network response time between a Cisco device and an HTTP server to retrieve a web page. |
Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at www.cisco.com/go/trademarks. Third party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1005R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.
© 2006-2010 Cisco Systems, Inc. All rights reserved.