JKL Toy Company monitors Web server activity with logs on HTTP Server (powered by Apache)

This scenario discusses how to monitor Web server activity with logs.

Important: Information for this topic supports the latest PTF levels for HTTP Server for i5/OS . It is recommended that you install the latest PTFs to upgrade to the latest level of the HTTP Server for i5/OS. Some of the topics documented here are not available prior to this update. See http://www.ibm.com/servers/eserver/iseries/software/http/services/service.htm Link outside Information Center for more information.

Scenario

The JKL Toy Company (a fictitious company) wants to know who is visiting their Web site. The JKLTEST server is already using a combined access log, but the JKL Web administrator wants to create a new access log that can be altered without affecting the data in the default access log file. By using this method, the JKL Web administrator will have two logs that can be formatted to log specific information.

The JKL Web administrator found that enabling the logging function has some advantages and some disadvantages. Enabling the logging function does cause a small performance hit on the server, but a wide range of information about who is visiting the Web site can be obtained. After reading the information on log formats, the JKL Web administrator has decided to use the Combined, or NCSA Extended, log format.

See Module mod_log_config for HTTP Server (powered by Apache) for advanced information.

Prerequisites

Start the IBM® Web Administration for i5/OS™ interface

Note: Enter your Webmaster user profile username and password when prompted.
  1. Start a Web browser.
  2. Enter http://[iSeries_hostname]:2001 in the location or URL field .

    Example: http://jkl_server:2001

    Note: If you have changed your port number for the IBM Web Administration for i5/OS interface, replace port 2001 with your port number.
  3. Click IBM HTTP Server for iSeries.
Note: If the IBM Web Administration for i5/OS interface does not start, see Install and test the HTTP Server.

Set up a log file

  1. Click the Manage tab.
  2. Click the HTTP Servers subtab.
  3. Select your HTTP Server (powered by Apache) instance from the Server list.

    Example: JKLTEST

  4. Select Global configuration from the Server area list.
  5. Expand Server Properties.
  6. Click Logging.
  7. Click the Custom Logs tab in the form.
  8. Click Add under the Custom logs table.
  9. Enter a name for the new log in the Log column.

    Example: logs/server_monitor

    Note: The above example creates a log file named server_monitor in the /logs directory.
  10. Select combined from the Log format list in the Attributes column.
  11. Optional: Accept the default Environment variable condition or enter a new value.
  12. Optional: Accept the default expiration of the log or enter a new value.
  13. Optional: Accept the default maximum cumulative seize or enter a new value.
  14. Click Continue.
  15. Optional: Click Log identity of client. This may significantly degrade performance of the web server. under Client identity logging.
    Note: The option to Log identity of client will impact server performance by requiring a Domain Name Server (DNS) lookup every time a new client is logged. If you do not log the identity of the client the IP address of the client will be logged instead of the domain name. Some log analysis tools can perform DNS lookup, allowing identity of clients without impacting your performance.
  16. Click OK.

Restart your HTTP Server (powered by Apache)

Select one of the following methods below:

Manage one server

  1. Click the Manage tab.
  2. Click the HTTP Servers subtab.
  3. Select your HTTP Server from the Server list.
  4. Click the Stop icon if the server is running.
  5. Click the Start icon.

Manage all servers

  1. Click the Manage tab.
  2. Click the HTTP Servers subtab.
  3. Select All Servers from the Server list.
  4. Click the All HTTP Servers tab.
  5. Select your HTTP Server name in the table.

    Example: JKLTEST

  6. Click Stop if the server is running.
  7. Click Start.
Note: If your HTTP Server (powered by Apache) does not start, see Troubleshoot.

Logging will begin when the HTTP Server (powered by Apache) instance has started. The JKL Web administrator has decided to use the IBM Tivoli--Web site Analyzer to generate usage reports. This product can read the log file and generate detailed reports that contain information such as the following:


Log analyzer example.

Test your HTTP Server (powered by Apache)

  1. Open a new Web browser.
  2. Enter http://[iSeries_hostname]:[port] in the location or URL field.

    Example: http://jkl_server:1975

Review your log for HTTP Server (powered by Apache) activity.

View your HTTP Server (powered by Apache) configuration

Your configuration will look similar if you used the given example in this and previous examples.

  1. Click the Manage tab.
  2. Click the HTTP Servers subtab.
  3. Select your HTTP Server (powered by Apache) from the Server list.

    Example: JKLTEST

  4. Expand Tools.
  5. Click Display Configuration File.
Listen *:1975
DocumentRoot /www/jkltest/htdocs
ServerRoot /www/jkltest
Options -ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch -Includes -IncludesNoExec -Indexes
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{Cookie}n \"%r\" %t" cookie
LogFormat "%{User-agent}i" agent
LogFormat "%{Referer}i -> %U" referer
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log combined
CustomLog logs/server_monitor combined
SetEnvIf "User-Agent" "Mozilla/2" nokeepalive
SetEnvIf "User-Agent" "JDK/1\.0" force-response-1.0
SetEnvIf "User-Agent" "Java/1\.0" force-response-1.0
SetEnvIf "User-Agent" "RealPlayer 4\.0" force-response-1.0
SetEnvIf "User-Agent" "MSIE 4\.0b2;" nokeepalive
SetEnvIf "User-Agent" "MSIE 4\.0b2;" force-response-1.0
<Directory />
	Order Deny,Allow
	Deny From all
</Directory>
<Directory /www/jkltest/htdocs>
	Order Allow,Deny
	Allow From all
</Directory>