ePages Application Server Monitor 6.15.4
Created: 6.0.0; Updated: 6.11.0

This program monitors the activity of the ePages Request Routers and Application Servers.

The server monitor is a CGI application, therefore it requires a web server. The program is installed in the directory %EPAGES_SHARED%\Monitor.

Table of Contents

1 Installation on Windows Server 2008 (IIS 7.5)

Actually the monitor should be set up by the web server configuration during the setup program. But using IIS with SSL requires an own IIS web site per shop because each web site can use just one SSL certificate. In these cases the IIS has to be changed manually. But the monitor doesn't need to be configured for each web site.

1. Create a new application "Monitor" in the Default Web Site.

Select the application pool "ePagesApplicationPool". Map this application to the physical directory C:\epages\Shared\Monitor. Select the pass-through authentication type.

2. Select the application directory "Monitor".

Double click the "Handler Mappings" icon. Add the following Application Extension Mapping:

  Request Path: *.pl
  Executable: C:\epages\Perl\bin\perl.exe "%s" "%s"
  Name: Perl

Click "yes" when asked to enable this ISAPI extension.

3. Edit the configuration file C:\epages\Shared\Config\WebInterface.conf and add this line to all sections containing a REQUESTROUTER entry:

  MONITOR=10041

4. Edit the configuration file C:\epages\Shared\Config\WebInterface.conf

Add the web server name used for the monitor in ExceptionHost key of the URLRewrite section. You can also specify an IP address here.

  [URLRewrite]
  ...
  ExceptionHost=<host name>

Note: This <host name> can not be used as shop domain any longer.

Restart the World Wide Web Publishing service for this change to take effect.

5. Change the CGI settings for "Monitor":

Double click the "CGI" icon.

Change the entry "Impersonate User" from "true" to "false".

6. Optionally specify access restrictions to the "Monitor" application in IIS Manager.

7. The installation is now complete. To run the monitor server, point your web browser to:

  http://<your web server>/Monitor/spy.pl

9. Add the host name in %EPAGES_CONFIG%\WebInterface.conf.

2 Installation on Linux

1. The monitor script is already configured in the httpd.conf file (located in $HTTPD_ROOT/conf), but access is denied for everyone:

  ScriptAlias /Monitor/spy.pl "$EPAGES_SHARED/Monitor/spy.pl"

  <Location /Monitor/*>
      Order Deny,Allow
      Deny from all
      # Allow from $HOST
  </Location>

Make the directory "Monitor" accessible from the local machine by uncommenting the line "Allow from $HOST" or specify other access rules.

2. Edit the configuration file $EPAGES_CONFIG/WebInterface.conf and add this line to all sections containing a REQUESTROUTER entry:

  MONITOR=10041

3. The installation is now complete. To run the monitor server, point your web browser to:

  http://<your web server>/Monitor/spy.pl

3 Page: Cache Statistics

Pool
application server pool
ServerIP:Port
application server IP address and port number
PID
application server process id
Prio
application server priority (default=0)
Status
application server status
idle
application server is ready to process requests
down
application server is not connected to the request router
assigned
application server has been assigned to a request, but is not yet processing it
working
application server is processing a request
monitor
application server is processing a length request, such as export or import. The processing time will not be included in performance statistics.
LastContact
seconds since the last request or heartbeat
Overflow
the number of pending cache items has exceeded the parameter MAXCACHEITEMS in WebInterface.conf. The application server will therefore discard all locally cached data.
CacheItemCount
number of pending cache items
CacheItems
actual cache item data

4 Page: Server

Pool
name of the application server pool
ServerIP:Port
application server IP address and port number
PID
application server process id
Prio
application server priority (default=0)
Status
application server status (see above)
LastContact
seconds since the last request or heartbeat
Hits
number of requests that have been processed so far
LongReq
number of requests with a processing time of more than 5 seconds
MeanReq
number of requests with a processing time of less than 5 seconds and also excluding requests that are marked as 'monitor'
MeanTime
average processing time per request in milliseconds (counting only requests that fall into the MeanReq category)
IdleTime
idle time since since processing the last request or startup
Store
store name of the most recently processed request
Site
GUID of the site (e.g. shop) of the most recently processed request
ClientIP
client IP address
Ext
script name extension of the most recently processed request
URL
URL of the most recently processed request

5 Page: Pools

Name
name of the application server pool
CountServer
number of application servers
Idle
number of application servers in state 'idle'
Assigned
number of application servers in state 'assigned'
Working
number of application servers in state 'working'
Monitor
number of application servers in state 'monitor'
Down
number of application servers in state 'down'
Hits
total number of sucessfully routed request
UniqueMisses
number of request that were delayed, because all application servers were already in use, multiple tries of the same request where count at one
Misses
number of request that were delayed, because all application servers were already in use
Timeouts
number of requests running in time out (heavy traffic)
The following columns provide statistics about which strategy was uses to assign application servers to requests:

ClientIP
application server was assigned based on the IP addess of the client
Site
application server was assigned based on the URL of the shop
LastUse
the application server with maximum idle time was used
The following columns provide statistics about rejected requests:

LimitExt
too many concurrent request for a script name extension
LimitSite
too many concurrent request for a site by pool-wide limit
LimitSpecial
too many concurrent request for a site with an individual limit
LimitClient
too many concurrent request from the same client ip address

6 Page: Request Routers

ServerIP:Port
request router IP address and port number (Message Center)
Status - request router status:
new
request router was just started, no message has been sent yet
down
last message was sent successfully
up
last message exchange failed
Last Ping
seconds since the last successful message exchange

Copyright ePages GmbH 2013