Application Acceleration and Optimization Guide vA1(7), Cisco ACE 4700 Series Application Control Engine Appliance
Configuring Global Optimization Settings
Downloads: This chapterpdf (PDF - 169.0KB) The complete bookPDF (PDF - 4.83MB) | Feedback

Configuring Global Optimization Settings

Table Of Contents

Configuring Global Optimization Settings

Configuring the Transfer of Statistical Log Information to the Cisco AVS 3180A

Specifying the HTTP Optimization Logging Level

Where to Go Next


Configuring Global Optimization Settings


This chapter describes how to configure the global optimization settings on the Cisco 4700 Series Application Control Engine (ACE) appliance.

This chapter contains the following major sections:

Configuring the Transfer of Statistical Log Information to the Cisco AVS 3180A

Specifying the HTTP Optimization Logging Level

Where to Go Next

Configuring the Transfer of Statistical Log Information to the Cisco AVS 3180A

To configure the ACE to upload the application acceleration and optimization statistical log information to the optional Cisco AVS 3180A Management Station, use the appscope-log command in optimize mode. The statistical log is the log file that contains an entry for every ACE optimization request to the server and is used for statistical analysis by the Management Station. Statistical log data is collected on the ACE and is then sent to the Management Station for loading into the management station database.

To control the AppScope features that measure application acceleration and optimization performance, use the appscope command in parameter map optimization configuration mode. See Chapter 3, Configuring an Optimization HTTP Parameter Map, for details.

For details on AppScope running on an optional Cisco AVS 3180A Management Station, see Appendix A, Using the Optional Cisco AVS 3180A Management Station for Reporting.


Note Statistical log information from active ACE nodes is carried by the syslog-ng daemon to the Cisco AVS 3180A Management Console and is written to a file under the avs-log/syslog/ directory. The filename <optm-id>_<virtual-context-id> is unique across all ACE nodes.


The syntax of this command is as follows:

appscope-log

To specify the host (the syslog server on the Cisco AVS 3180A Management Station) that receives the syslog messages sent by the ACE, use the logging host command in configuration mode. This command identifies the IP address of the Cisco AVS 3180A Management Station to be used as the syslog server.You can specify to use either UDP or TCP to send messages to the syslog server. See the Cisco 4700 Series Application Control Engine Appliance System Message Guide for configuration details on logging and the logging host command.

For example, to specify that the ACE sends the statistical log information to a Cisco AVS 3180A Management Station at 192.168.10.1 using TCP, enter:

host1/Admin(config)# optimize

host1/Admin(config-optimize)# appscope-log
host1/Admin(config-optimize)# exit
host1/Admin(config)# logging host 192.168.10.1 tcp

For each ACE request, statistical log information is written to the statlog.nnn file, where nnn is a three-digit number. Each entry in the statlog file is written in an XML-like syntax, where each element is opened with an angle-bracketed tag, closed with a similar tag, and can contain several fields with nested elements.

To stop sending statistical log information to the Cisco AVS 3180A Management Station, enter:

host1/Admin(config-optimize)# no appscope-log

The following examples show the structure of a log record:

%ACE-6-456093 56789444-ctx1 685g-1-1
<TRN> 5aksk4mrz4pd1nah35kghufqpg 1605 1138813753 DefaultClass 6 0 14409 0 171.69.49.99 0 172.23\
.118.12 28981 1581 HTTP-LOCAL GET 
http://172.23.118.12/vyqakxplpw5i2a220yrd2tyfjb/1138749138/ausr/_acc_http_//172.23.118.12/\
testfolder/http_param_test/sowquery.asp//m 200 DIRECT -1
<DBG> [Wed Feb  1 09:09:13 2006] (28633) {1605} {inb=0}</DBG>
<DLF> 0100000000000000 </DLF>
<CLI> 5aksk4mrz4pd1nah35kghufqpg1587 - </CLI>
<XSLMRG> 0000000000000000 </XSLMRG>
<UAS> 
Mozilla%2F4.0%20(compatible%3B%20MSIE%206.0%3B%20Windows%20NT%205.1%3B%20SV1%3B%20(R1%201.5)%3B%
20.NET%20CLR%201.1.432\
</UAS>
<REF> http://172.23.118.12/testfolder/http_param_test/showquery.asp?a&x=m </REF>
<VER> 3 </VER>
</TRN>

The following information provides a general summary to a log record:

In the first line:

The %ACE-6-456093 system message is an ACE-generated syslog message and 56789444-ctx1 is the unique OptimizationID-ContextName.

The 685g-1-1 value is a fragmentation header. Syslog limits the ACE to logs smaller than 1024 bytes. The fragmentation header allows for re-assembly of large log lines by the Cisco AVS 3180A Management Station. The structure of fragmentation header is as follows: <transaction ID>-<total number of chunks>-<current chunk>.

The next two lines, <TRN>... and <DBG>..., and the last line, </TRN>, are mandatory for every record.

<VER> 3 </VER> shows the current software configuration version.

All other lines are optional and will appear based on the applicable policies.

The following example shows a sample record that includes many of the tags described above:

<TRN> ooqj0hxohrnt3lf3ye33kbyqdb 549 1044581243 WellKnownCondense
171 74098 14116 5 10.0.2.19 1 www.yahoo.com 8080 191 HTTP GET
http://www.yahoo.com/ycn/r.asp 200 DIRECT 161
<DBG> [Thu May 31 17:27:23 2007] (20485) {549} {inb=15264} </DBG>
<DLO> 76983 74098 13807 </DLO>
<FCO> 3 0 0 0  </FCO>
<CLO><CIP> 10.0.2.13 </CIP></CLO>
<PRF> ooqj0hxohrnt3lf3ye33kbyqdb549 1044581243124 <PMC> 1 </PMC> </PRF>
<APS> <AST> 0 </AST> <ASC> Root </ASC> <ASP> script </ASP> <ASL> 1 </ASL> </APS>
</TRN>

Each entry contains several elements as described in Table 5-1.

Table 5-1 Statlog Log Entry Elements 

Data Element
Description

<TRN> line

Line that includes basic information about the transaction.

instanceID

Instance ID of the ACE instance that handled the URL request. This is a hash of the process id and the process start time.

trnNum

Transaction request number.

recTime

Time stamp when the request was received (the number of seconds since 00:00 January 1, 1970).

appClass

Application class that handled the request. This field is not applicable for the ACE.

totTime

Elapsed time from the arrival of the request until the response is sent back, in milliseconds.

inSize

Size of the response obtained from the origin server, in bytes. This field is defined if the request is for a base file because there is no trip to the origin server in that case.

outSize

Size of the final response sent to the client, in bytes.

clientConNum

Number of the connection that the ACE child process opened to serve the client request. The number starts with 0 and increments by 1 as each new connection opens to serve requests.

ip

IP address of the client requesting the web page. This may not be the actual client IP address. See the <CLO> line entry for more information.

repUser

Boolean flag. 1 indicates a repeat client visit; 0 indicates a new client.

hostName

Domain name portion of the request URL.

port

Server port number that the ACE uses for connecting to the client.

serverConNum

Number of the connection that the ACE child process opened to make a request to the origin server. The number starts with 0 and increments by 1 as each new connection to the origin server is opened.

protocol

Protocol used for the request; either HTTP or HTTPS.

method

HTTP method used for the request; either GET or POST.

url+params

URL requested by the client, including all query parameters.

respCode

HTTP response code obtained from the origin server.

DIRECT | DETAG

Either DIRECT or DETAG appears in this field. DIRECT means that the request was for an uncacheable object and it was fetched from the origin server. DETAG means that the request contains a dynamic ETag header and Just-In-Time Object Acceleration was applied.

time

Elapsed time since the origin server took to respond, in milliseconds.

CACHE status

Value that indicates the content origin. See Table 5-2 for an explanation of the possible values for the status field.

<DBG> line

Additional request information that is useful for debugging.

datetime

Date and time that the request was made, in human-readable form.

procNum

Operating system process number associated with this request.

reqNum

Request number.

inSize

Size of the response that was received from the origin server, in bytes.

fastRedirect

Line that contains one of the following strings:

Fast Redirect Container—Indicates that this request is for a container page for which FastRedirect is applied.

Fast Redirect Target—Indicates that this request is for the redirected URL that is the result of the redirection.

<PSM> line

Line that contains information about query parameters.

query parameter string

Query parameter string.

<DLO> | <DLF> line

Line that is included only if delta optimization is enabled. If delta optimization succeeded, then the <DLO> tag appears; if it failed, then the <DLF> tag appears.

bfSize

Size of the base file as obtained from the ACE, in bytes, in the case of a condensable response or base file response; otherwise this field is undefined.

inSize

Size of the content before delta optimization, in bytes. This field is undefined if the request is for a base file.

deltaSize

Size of the delta response, in bytes, in the case of a delta optimized response; otherwise undefined.

CACHE

Indication that dynamic caching was applied to the request.

failures

Value consisting of 16 Boolean flags, indicating the reason for delta optimization failing on a response. See Table 5-3 for an explanation of the bit fields in this value.

<FCO> line

Line that contains FlashForward information for pages that are FlashForward containers.

total

Number of embedded objects contained in a FlashForward container page.

eligible

Number of embedded objects contained in a FlashForward container page that were eligible for FlashForwarding by the ACE.

xformed

Number of embedded objects contained in a FlashForward container page that were actually FlashForwarded.

refreshed

Number of embedded objects contained in a FlashForward container page that had to be refreshed from the origin server.

<CLO> line

Line that contains information resulting from custom log options.

<CIP> entry

True client IP address. If the IP address returned by the LogClientView element is invalid, the string "invalid" appears in this entry.

<RGS> line

Line that contains an encoded string that is made based on the specified RequestGroupingString definition.

<CAF> line

Line that provides reason codes for not caching a given response. See Table 5-4 for an explanation of the bit fields in this value.

<LRH> line

Location header from the 302 redirect response from the ACE to the client.

<CLI> line

Line that records a unique identifier for a given client.

clientID

Unique ID for a client recorded by dropping a cookie that does not expire for 2 years.

sessionID

Unique session ID for a client recorded by dropping a session cookie.

<UUA> line

When the ACE encounters a user agent that is not on the list of supported user agents for delta optimization, this item is set to 1. See also the UAS line entry.

<XSLMRG> line

Line that provides XSLMerge status flags. See Table 5-5 for an explanation of the bit fields in this value.

<MIT> line

MIME type of the response from the origin server.

<UAS> line

User-Agent header from the client that is making the request.

<REF> line

Referer header from the client that is making the request.

<VER> line

Version of the status log (fgnstatlog).

<PRF> line

Performance monitoring information, if this request was selected for measurement.

perfID

Unique ID of the request.

reqTime

Time stamp when the request was made.

<PMC> entry

Entry that appears only if the page triggered performance monitoring; that is, it is the container page.

appMode

AppScope mode:

0 indicates unknown mode.

1 indicates an accelerated (optimized) measured request.

2 indicates a pass-through (unoptimized) measured request.

3 indicates a request that was not measured by AppScope.

<PMR> entry

Entry that appears when the performance measurement is finished for the page.

contTime

Reserved for internal use.

compTime

Reserved for internal use.


Table 5-2 describes the possible values for the CACHE status field from Table 5-1.

Table 5-2 CACHE Status Values

Value
Description

CACHE_HIT

Object that came from the ACE cache

CACHE_MISS

Object that was not in the cache and came from the origin server

CACHE_REFRESH_HIT

Expired copy of the requested object that was in the cache. The ACE made an If-Modified-Since request and the response was "NOT Modified."

CACHE_REFRESH_MISS

Expired copy of the requested object that was in the cache. The ACE made an If-Modified-Since request and received a new, different object.

CACHE_CLIENT_REFRESH

Client that issued a request with the "no-cache" pragma.

Note A "reload" is handled as a CACHE_MISS.

CACHE_IMS_HIT

If-Modified-Since GET request that was received from the client. A valid copy of the object was in the cache (fresh).

CACHE_IMS_MISS

If-Modified-Since GET request that was received from the client. The requested object was not in the cache (stale).

CACHE_FF_IMS

If-Modified-Since GET request that was received for a FlashForward locked embedded object.

FORWARD_CACHE_HIT

Object that came from the delta optimization cache as a result of cacheforward processing through the cache forward command in action list optimization mode. For more information, see Chapter 2, Configuring an Optimization HTTP Action List.


Table 5-3 describes the bit fields in the failures flag byte from Table 5-1.

Table 5-3 Delta Optimization Failure Bit Flags 

Byte value
Description

1000000000000000 (1st)

URL that cannot be delta optimized because of a policy preventing it, such as a gif image.

0100000000000000 (2nd)

Request that is for a base file so there is no delta optimization by definition.

0010000000000000 (3rd)

MIME type of the response sent by the origin server that cannot be delta optimized because it is excluded by the mimetypes.conf configuration file.

0001000000000000 (4th)

Client user agent string that is not listed in the useragent.conf configuration file.

0000100000000000 (5th)

Base file that has been frozen for rebasing and so cannot be used to generate a delta response.

0000010000000000 (6th)

Response from the origin server that is either too big (>250000 bytes) or too small (<1024 bytes) for delta optimization. The minimum and maximum sizes are user-configurable.

0000001000000000 (7th)

Generated delta response size that exceeds the permissible percentage of the original response for delta optimization. Rebasing is triggered.

0000000100000000 (8th)

Response from the origin server that contains characters, tags, or encodings that cannot be delta optimized.

0000000010000000 (9th)

Page that is not delta optimized because of a cookie drop.

0000000001000000 (10th)

Content that is cacheable.

0000000000100000 (11th)

Client disabled JavaScript support.

0000000000010000 (12th)

Base file that is rebasing too fast.

0000000000001000 (13th)

Base file that is rebasing too fast due to large delta.

0000000000000100 (14th)

Base file that is rebasing too fast due to large difference between the percentages of the FlashForward URLs in the delta response and the base file.

0000000000000010 (15th)

15th bit flag (reserved for future use).

0000000000000001 (16th)

One of the following actions has occurred: base file deletion, base file creation failed, rebasing failed, ongoing anonymization process.


Table 5-4 describes the bit fields in the CAF value from Table 5-1.

Table 5-4 Cache Failure Bit Flags

Byte value
Description

1000000000000000 (1st)

Not cacheable due to request method.

0100000000000000 (2nd)

Not cacheable due to request headers.

0010000000000000 (3rd)

Not cacheable due to response headers.

0001000000000000 (4th)

Container that is not cacheable because it expired.

0000100000000000 (5th)

Container that is not cacheable. Cacheability validators do not exist, or this is a 401 response.

0000010000000000 (6th)

Not cacheable by policy.

0000001000000000 (7th)

Negatively cached resulting in a pass-through request.

0000000100000000 (8th)

Pass-through request as determined by AppScope.

0000000010000000 (9th)

Unable to read from cache. Switch to pass-through mode.

0000000001000000 (10th)

Response that is outside cacheable bounds.

0000000000100000 (11th)

Response that is already stale.

0000000000011111

12th through the 16th bit flags (reserved for future use).


Specifying the HTTP Optimization Logging Level

To enable HTTP optimization logging and control the maximum level for system log messages sent to the host (the syslog server on the Cisco AVS 3180A Management Station), use the debug-level command in optimization mode. The debug-level command limits the HTTP optimization logging messages sent to a syslog server based on severity.

To specify the host (the syslog server on the Cisco AVS 3180A Management Station) that receives the syslog messages sent by the ACE, use the logging host configuration command. You can specify to use either UDP or TCP to send messages to the syslog server. See the Cisco 4700 Series Application Control Engine Appliance System Message Guide for configuration details.

The syntax of this command is as follows:

debug-level severity_level

The severity_level argument specifies the maximum level for system log messages sent to a syslog server. The severity level that you specify indicates that you want syslog messages at that level and messages lower than the level. For example, if the specified level is 3, the syslog displays level 3, 2, 1, and 0 messages.

Allowable entries are as follows:

0emergencies (System unusable messages)

1alerts (Take immediate action)

2critical (Critical condition)

3errors (Error message)

4warnings (Warning message)

5notifications (Normal but significant condition)

6informational (Information message)

7debugging (Debug messages)

For example, to enable HTTP optimization logging and send informational system message logs to the syslog server, enter:

host1/Admin(config)# optimize

host1/Admin(config-optimize)# debug-level 6

To disable the debug function for HTTP optimization, enter:

host1/Admin(config-optimize)# no debug-level 6

Where to Go Next

Proceed to Chapter 6, Displaying Configuration Information and Statistics for Application Acceleration and Optimization, to display application acceleration and optimization-related information and statistics for the ACE.