FableTech

“FableTech delivers the perfect mail solution for us, easy to implement in our cms and very fast mail delivery.”

newz.dk

Simple, Fast & Reliable newsletter delivery

  • Easy integration with your CMS
  • Very fast mail delivery
  • Increase customer satisfaction with user tracking
  • Save resources with bounce handling
  • Optimize user experience with embedded images
  • Deliver on time with scheduled delivery
  • Send your newsletters in any language

FableTech Server Status for Apache

Works with Apache 2.0.x and 2.2.x. Tested on Red Hat Enterprise Linux 4 and 5, Ubuntu 8.10 and 9.04, and Mac OS X 10.5.

Support and binary packages are available. Please contact us for more information.

Download the source code: ftss-0.9.3.tar.gz

1. Motivation

Apache's status module is an easy way to get information about what your webserver is doing - at any time, except when you need that information. Because this information is normally gathered via the server-status page, it will be unavailable when the webserver is not responding. The system administrator can restart the daemon and hope to get a glimpse of the server-status page, a tiny clue about what is causing the trouble, before the server gets overloaded again.

This project aims at helping the system administrator get his information in crisis situations.

2. Setting up Apache

2.1 You must enable mod_status with a line like this

 LoadModule status_module modules/mod_status.so

The module is most likely already loaded or compiled into Apache's main executable.

2.2 You must configure Apache to use a "name based" shared memory segment for the scoreboard with a line like this

 ScoreBoardFile /var/run/apache_status

If you have more than one instance of Apache running on the same host, each instance MUST have its own file.

2.3 You should enable extended status with a line like this

 ExtendedStatus On

This will make Apache's status module store information in the scoreboard about the client, the vhost and the request being made.

2.4 Sample configuration

LoadModule status_module modules/mod_status.so
<IfModule mod_status.c>
  ScoreBoardFile /var/run/apache_status
  ExtendedStatus On
  <Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from localhost ip6-localhost
#    Allow from .example.com
  </Location>
</IfModule>

3. Using ftss

3.1 Running the program

The program requires one argument; The path to the scoreboard file.

It will print out a line for each worker thread, and each line will contain five tab-seperated fields:

  • the process id
  • the status (see the server-status page for a key)
  • the client
  • the vhost
  • the request line

For example:

# ftss /var/run/apache_status
13762   K       127.0.0.1       127.0.0.1       GET / HTTP/1.1
13763   _
13764   _
13765   _
13766   _
13767   _