Manual Chapter :
Configuring Request Logging
Applies To:
Show Versions
BIG-IP APM
- 17.5.0, 17.1.2, 17.1.1, 17.1.0, 17.0.0, 16.1.5, 16.1.3, 16.1.2, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0, 15.0.1, 15.0.0
BIG-IP Link Controller
- 17.5.0, 17.1.2, 17.1.1, 17.1.0, 17.0.0, 16.1.5, 16.1.3, 16.1.2, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0, 15.0.1, 15.0.0
BIG-IP Analytics
- 17.5.0, 17.1.2, 17.1.1, 17.1.0, 17.0.0, 16.1.5, 16.1.3, 16.1.2, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0, 15.0.1, 15.0.0
BIG-IP LTM
- 17.5.0, 17.1.2, 17.1.1, 17.1.0, 17.0.0, 16.1.5, 16.1.3, 16.1.2, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0, 15.0.1, 15.0.0
BIG-IP PEM
- 17.5.0, 17.1.2, 17.1.1, 17.1.0, 17.0.0, 16.1.5, 16.1.3, 16.1.2, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0, 15.0.1, 15.0.0
BIG-IP AFM
- 17.5.0, 17.1.2, 17.1.1, 17.1.0, 17.0.0, 16.1.5, 16.1.3, 16.1.2, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0, 15.0.1, 15.0.0
BIG-IP DNS
- 17.5.0, 17.1.2, 17.1.1, 17.1.0, 17.0.0, 16.1.5, 16.1.3, 16.1.2, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0, 15.0.1, 15.0.0
BIG-IP ASM
- 17.5.0, 17.1.2, 17.1.1, 17.1.0, 17.0.0, 16.1.5, 16.1.3, 16.1.2, 16.1.1, 16.1.0, 16.0.1, 16.0.0, 15.1.8, 15.1.7, 15.1.6, 15.1.5, 15.1.4, 15.1.3, 15.1.2, 15.1.1, 15.1.0, 15.0.1, 15.0.0
Configuring Request Logging
Overview: Configuring a Request Logging profile
The Request Logging profile gives you the ability to configure data within a log file for HTTP
requests and responses, in accordance with specified parameters.
Task summary
Perform these tasks to log HTTP request and response data.Creating a pool with request logging to manage HTTP traffic
For a basic configuration, you need to create a pool to manage HTTP connections.
- On the Main tab, click.The Pool List screen opens.
- ClickCreate.The New Pool screen opens.
- In theNamefield, type a unique name for the pool.
- For theHealth Monitorssetting, from theAvailablelist, select thehttpmonitor and move the monitor to theActivelist.
- From theLoad Balancing Methodlist, select how the system distributes traffic to members of this pool.The default isRound Robin.
- For thePriority Group Activationsetting, specify how to handle priority groups:
- SelectDisabledto disable priority groups. This is the default option.
- SelectLess than, and in theAvailable Membersfield type the minimum number of members that must remain available in each priority group in order for traffic to remain confined to that group.
- Add the IP address for each logging server that you want to include in the pool, using theNew Memberssetting:
- Type an IP address in theAddressfield, or select a node address from theNode List.
- Type the port number for the logging server in theService Portfield.
- (Optional) Type a priority number in thePriorityfield.
- ClickAdd.
- ClickFinished.
The new pool appears in the Pools list.
Creating a request logging profile
You must have already created a pool that includes logging servers as pool members
before you can create a request logging profile.
With a request logging profile, you can log specified data for HTTP requests and
responses, and then use that information for analysis and troubleshooting.
- On the Main tab, click.The Request Logging profile list screen opens.
- ClickCreate.The New Request Logging Profile screen opens.
- From theParent Profilelist, select a profile from which the new profile inherits properties.
- Select theCustomcheck box for the Request Settings area.
- Configure the request settings, as necessary.
- Select theCustomcheck box for the Response Settings area.
- Configure the response settings, as necessary.
- ClickFinished.
This makes a request logging profile available to log specified data for HTTP
requests and responses.
You must configure a virtual server for request logging.
Configuring a
request logging profile for requests
Ensure that the configuration includes a pool that includes logging servers as pool
members.
You can use a request logging profile to log
specified data for HTTP requests, and then use that information for analysis and
troubleshooting.
- On the Main tab, click.The Request Logging profile list screen opens.
- ClickCreate.The New Request Logging Profile screen opens.
- From theParent Profilelist, select a profile from which the new profile inherits properties.
- Select theCustomcheck box for the Request Settings area.
- From theRequest Logginglist, selectEnabled.
- In theTemplatefield, type the request logging parameters for the entries that you want to include in the log file.
- From theHSL Protocollist, select a high-speed logging protocol.
- From thePool Namelist, select the pool that includes the log server as a pool member.
- You can also configure the error response settings.
- From theRespond On Errorlist, selectEnabled.
- In theError Responsefield, type the error response strings that you want to include in the log file.These strings must be well-formed for the protocol serving the strings.
- Select theClose On Errorcheck box to drop the request and close the connection if logging fails.
- You can also configure the logging request errors settings.
- From theLog Logging Errorslist, selectEnabled.
- In theError Templatefield, type the request logging parameters for the entries that you want to include in the log file.
- From theHSL Error Protocollist, select a high-speed logging error protocol.
- From theError Pool Namelist, select a pool that includes the node for the error logging server as a pool member.
- ClickUpdate.
This configures a request logging profile to log specified data for HTTP
requests.
Configuring a
request logging profile for responses
You must have already created a pool that includes logging servers as pool members
before you can configure a request logging profile for responses.
With a request logging profile, you can log
specified data for HTTP requests and responses, and then use that information for
analysis and troubleshooting.
- On the Main tab, click.The Request Logging profile list screen opens.
- ClickCreate.The New Request Logging Profile screen opens.
- From theParent Profilelist, select a profile from which the new profile inherits properties.
- Select theCustomcheck box for the Response Settings area.
- In the Response Settings area, from theResponse Logginglist, selectEnabled.
- Select theLog By Defaultcheck box.TheLog By Defaultcheck box is selected by default.
- In theTemplatefield, type the response logging parameters for the entries that you want to include in the log file.
- From theHSL Protocollist, select a high-speed logging protocol.
- From thePool Namelist, select the pool that includes the node log server as a pool member.
- Configure the logging request error settings.
- From theLog Logging Errorslist, selectEnabled.
- In theError Templatefield, type the response logging parameters for the entries that you want to include in the log file.
- From theHSL Error Protocollist, select a high-speed logging error protocol.
- From theError Pool Namelist, select a pool that includes the node for the error log server as a pool member.
- ClickUpdateto save the changes.
This configures a request logging profile to log specified data for HTTP
responses.
Configuring a virtual server for request logging
You can configure a virtual server to pass traffic
to logging servers.
- On the Main tab, click.The Virtual Server List screen opens.
- Click the name of the virtual server you want to modify.
- On the menu bar, clickResources.
- From theDefault Poollist, select a pool name that is configured with pool members for request logging.
- Click thePropertiestab.
- From theConfigurationlist, selectAdvanced.
- From theRequest Logging Profilelist, select the profile you want to assign to the virtual server.
- ClickUpdate.
This virtual server can now pass traffic to the configured logging servers.
Deleting a request logging profile
You can delete a user-defined request logging profile that is obsolete or no
longer needed.
- On the Main tab, click.The Request Logging profile list screen opens.
- Select the check box for the applicable profile.
- ClickDelete.
- ClickDelete.
The profile is deleted.
Request Logging profile settings
With the Request Logging profile, you can specify the data and the format for HTTP
requests and responses that you want to include in a log file.
General Properties
Setting |
Value |
Description |
---|---|---|
Name | No default | Specifies the name of the profile. |
Parent Profile | Selected predefined or user-defined profile | Specifies the selected predefined or user-defined profile. |
Request Settings
Setting |
Value |
Description |
---|---|---|
Request Logging | Disabled | Enables logging for requests. |
Template | Specifies the directives and entries to be logged. | |
HSL Protocol | UDP | Specifies the protocol to be used for high-speed logging of requests. |
Pool Name | None | Defines the pool associated with the virtual server that is logged. |
Respond On Error | Disabled | Enables the ability to respond when an error occurs. |
Error Response | None | Specifies the response text to be used when an error occurs.
For example, the following response text provides content for a 503 error.
|
Close On Error | Disabled | When enabled, and logging fails, drops the request and closes
the connection. |
Log Logging Errors | Disabled | Enables the ability to log any errors when logging requests. |
Error Template | None | Defines the format for requests in an error log. |
HSL Error Protocol | UDP | Defines the protocol to be used for high-speed logging of request errors.
|
Error Pool Name | None | Specifies the name of the error logging pool for requests. |
Response Settings
Setting |
Value |
Description |
---|---|---|
Response Logging | Disabled | Enables logging for responses. |
Log By Default | Enabled | Defines whether to log the specified settings for responses by default. |
Template | None | Specifies the directives and entries to be logged. |
HSL Protocol | UDP | Specifies the protocol to be used for high-speed logging of responses. |
Pool Name | None | Defines the pool name associated with the virtual server that is
logged. |
Log Logging Errors | Disabled | Enables the ability to log any errors when logging responses. |
Error Template | None | Defines the format for responses in an error log. |
HSL Error Protocol | UDP | Defines the protocol to be used for high-speed logging of response
errors. |
Error Pool Name | None | Specifies the name of the error logging pool for responses. |
Request Logging parameters
This table lists all available parameters from which you can create a custom HTTP
Request Logging profile. These are used to specify entries for the
Template
and Error Template
settings For each
parameter, the system writes to the log the information described in the right column. Parameter |
Communication method |
Log file entry description |
---|---|---|
BIGIP_BLADE_ID
|
Request and Response |
An entry for the slot number of the blade that handled the request. |
BIGIP_CACHED
|
Response |
An entry of Cached status: true , if the response
came from BIG-IP cache, or Cached status:
false , if the response came from the server. |
BIGIP_HOSTNAME
|
Request and Response |
An entry for the configured host name of the unit or chassis. |
CLIENT_IP
|
Request and Response |
An entry for the IP address of a client, for example,
192.168.74.164 . |
CLIENT_PORT
|
Request and Response |
An entry for the port of a client, for example,
80 . |
DATE_D
|
Request and Response |
A two-character entry for the day of the month, ranging from
1 (note the leading space) through
31 . |
DATE_DAY
|
Request and Response |
An entry that spells out the name of the day. |
DATE_DD
|
Request and Response |
A two-digit entry for the day of the month, ranging from
01 through 31 . |
DATE_DY
|
Request and Response |
A three-letter entry for the day, for example,
Mon . |
DATE_HTTP
|
Request and Response |
A date and time entry in an HTTP format, for example, Tue, 5 Apr
2011 02:15:31 GMT . |
DATE_MM
|
Request and Response |
A two-digit month entry, ranging from 01 through
12 . |
DATE_MON
|
Request and Response |
A three-letter abbreviation for a month entry, for example,
APR . |
DATE_MONTH
|
Request and Response |
An entry that spells out the name of the month. |
DATE_NCSA
|
Request and Response |
A date and time entry in an NCSA format, for example,
dd/mm/yy:hh:mm:ss ZNE . |
DATE_YY
|
Request and Response |
A two-digit year entry, ranging from 00 through
99 . |
DATE_YYYY
|
Request and Response |
A four-digit year entry. |
HTTP_CLASS |
Neither Request nor Response: Deprecated |
The name of the httpclass profile that matched the
request, or an empty entry if a profile name is not associated with the
request. |
HTTP_KEEPALIVE
|
Request and Response |
A flag summarizing the HTTP1.1 keep-alive status for
the request:: aY if the HTTP1.1
keep-alive header was sent, or an empty entry if
not. |
HTTP_METHOD
|
Request and Response |
An entry that defines the HTTP method, for example,
GET , PUT ,
HEAD , POST ,
DELETE , TRACE , or
CONNECT . |
HTTP_PATH
|
Request and Response |
An entry that defines the HTTP path. |
HTTP_QUERY
|
Request and Response |
The text following the first ? in the URI. |
HTTP_REQUEST
|
Request and Response |
The complete text of the request, for example, $METHOD $URI
$VERSION . |
HTTP_STATCODE
|
Response |
The numerical response status code, that is, the status response code excluding
subsequent text. |
HTTP_STATUS
|
Response |
The complete status response, that is, the number appended with any subsequent
text. |
HTTP_URI
|
Request and Response |
An entry for the URI of the request. |
HTTP_VERSION
|
Request and Response |
An entry that defines the HTTP version. |
NCSA_COMBINED
|
Response |
An NCSA Combined formatted log string, for example, $NCSA_COMMON
$Referer ${User-agent} $Cookie . |
NCSA_COMMON
|
Response |
An NCSA Common formatted log string, for example, $CLIENT_IP - -
$DATE_NCSA $HTTP_REQUEST $HTTP_STATCODE $RESPONSE_SIZE . |
RESPONSE_MSECS
|
Response |
The elapsed time in milliseconds (ms) between receiving the request and sending
the response. |
RESPONSE_SIZE
|
Response |
An entry for the size of response in bytes. |
RESPONSE_USECS
|
Response |
The elapsed time in microseconds (µs) between receiving the request and sending
the response. |
SERVER_IP
|
Response |
The IP address of the pool member to which the HTTP request was sent, for
example, 10.10.0.1 . |
SERVER_PORT
|
Response |
The port of the pool member to which the HTTP request was sent, for example,
80 . |
SNAT_IP
|
Response |
An entry for the self IP address of the BIG-IP-originated connection to the
server when SNAT is enabled, or an entry for the client IP address when SNAT is not
enabled. |
SNAT_PORT
|
Response |
An entry for the port of the BIG-IP-originated connection to the server when SNAT
is enabled, or an entry for the client port when SNAT is not enabled. |
TIME_AMPM
|
Request and Response |
A twelve-hour request-time qualifier, for example,
AM or PM . |
TIME_H12
|
Request and Response |
A compact twelve-hour time entry for request-time hours, ranging from
1 through 12 . |
TIME_HRS
|
Request and Response |
A twelve-hour time entry for hours, for example, 12
AM . |
TIME_HH12
|
Request and Response |
A twelve hour entry for request-time hours, ranging from
01 through 12 . |
TIME_HMS
|
Request and Response |
An entry for a compact request time of H:M:S , for
example, 12:10:49 . |
TIME_HH24
|
Request and Response |
A twenty-four hour entry for request-time hours, ranging from
00 through 23 . |
TIME_MM
|
Request and Response |
A two-digit entry for minutes, ranging from 00
through 59 . |
TIME_MSECS
|
Request and Response |
An entry for the request-time fraction in milliseconds (ms). |
TIME_OFFSET
|
Request and Response |
An entry for the time zone, offset in hours from GMT, for example,
-11 . |
TIME_SS
|
Request and Response |
A two-digit entry for seconds, ranging from 00
through 59 . |
TIME_UNIX
|
Request and Response |
A UNIX time entry for the number of seconds since the UNIX epoch, for example,
00:00:00 UTC, January 1st, 1970 . |
TIME_USECS
|
Request and Response |
An entry for the request-time fraction in microseconds (µs). |
TIME_ZONE
|
Request and Response |
An entry for the current Olson database or tz database three-character time zone,
for example, PDT . |
VIRTUAL_IP
|
Request and Response |
An entry for the IP address of a virtual server, for example,
192.168.10.1 . |
VIRTUAL_NAME
|
Request and Response |
An entry for the name of a virtual server. |
VIRTUAL_POOL_NAME
|
Request and Response |
An entry for the name of the pool containing the responding server. |
VIRTUAL_PORT
|
Request and Response |
An entry for the port of a virtual server, for example,
80 . |
VIRTUAL_SNATPOOL_NAME
|
Request and Response |
The name of the Secure Network Address Translation pool associated with the
virtual server. |
NULL
|
Undelineated strings return the value of the respective header. |