From 81cd9d743d354e7ca44ccda7d64b8dc17a3f2a6c Mon Sep 17 00:00:00 2001 From: Sander Temme Date: Sat, 7 Jan 2012 19:10:28 +0000 Subject: [PATCH] Update heartbeat module documentation, add documentation for mod_watchdog git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1228700 13f79535-47bb-0310-9956-ffa450edef68 --- docs/STATUS | 6 +-- docs/manual/mod/mod_heartbeat.xml | 57 ++++++++++++++++++++++--- docs/manual/mod/mod_heartmonitor.xml | 24 ++++++++--- docs/manual/mod/mod_watchdog.xml | 60 +++++++++++++++++++++++++++ docs/manual/mod/mod_watchdog.xml.meta | 12 ++++++ 5 files changed, 142 insertions(+), 17 deletions(-) create mode 100644 docs/manual/mod/mod_watchdog.xml create mode 100644 docs/manual/mod/mod_watchdog.xml.meta diff --git a/docs/STATUS b/docs/STATUS index a69dd63433..0bd41cef9e 100644 --- a/docs/STATUS +++ b/docs/STATUS @@ -56,12 +56,8 @@ To Do List Start is in expr.xml, igalic is working on this - modules docs - - the follwing modules added since 2.2 lack documentation + - the following modules added since 2.2 lack documentation - mod_serf - - mod_watchdog - - mod_heartbeat - - mod_heartmonitor - - mod_lbmethod_heartbeat - mpm_simple the list may be incomplete maybe some of the modules will not be included in 2.4 diff --git a/docs/manual/mod/mod_heartbeat.xml b/docs/manual/mod/mod_heartbeat.xml index ca824e647d..690bc7d2e7 100644 --- a/docs/manual/mod/mod_heartbeat.xml +++ b/docs/manual/mod/mod_heartbeat.xml @@ -35,21 +35,66 @@ that advertises the servers current connection count. Usually, mod_hear will be running on a proxy server with mod_lbmethod_heartbeat loaded, which allows ProxyPass to use the "heartbeat" lbmethod inside of ProxyPass.

+

+ mod_heartbeat itself is loaded on the origin server(s) that serve requests + through the proxy server(s). +

+ + + To use mod_heartbeat, + mod_status and mod_watchdog + must be either a static modules or, if a dynamic module, it must + be loaded before mod_heartbeat. + + +
+ Consuming mod_heartbeat Output +

+ Every 1 second, this module generates a single multicast UDP + packet, containing the number of busy and idle workers. The + packet is a simple ASCII format, similiar to GET query parameters + in HTTP. +

+ +An Example Packet +v=1&ready=75&busy=0 + + +

+ Consumers should handle new variables besides busy and ready, + separated by '&', being added in the future. +

+ +
+ +
+Miscellaneous +

The interval of 1 seconds is controlled by the HEARTBEAT_INTERVAL +compile time define. This is not currently tunable at run time. To make +this module send the status packet more often, you must add to the +CFLAGS used to compile the module to include:

+-DHEARTBEAT_INTERVAL=3 +

Would cause the broadcasts to be sent every 3 seconds.

+
+ HeartbeatAddress -Address to send heartbeat requests +Multicast address for heartbeat packets HeartbeatAddress addr:port disabled server config -

The HeartbeatAddress directive specifies the - address mod_heartbeat will send status information to. This - address will usually corrspond to a configured HeartbeatListen on a frontend - proxy system.

+

The HeartbeatAddress directive specifies the +multicast address to which mod_heartbeat will send +status information. This address will usually correspond to a configured + HeartbeatListen on a +frontend proxy system.

+ +HeartbeatAddress 239.0.0.1:27999 +
diff --git a/docs/manual/mod/mod_heartmonitor.xml b/docs/manual/mod/mod_heartmonitor.xml index 9028040f56..1627c479ca 100644 --- a/docs/manual/mod/mod_heartmonitor.xml +++ b/docs/manual/mod/mod_heartmonitor.xml @@ -20,19 +20,19 @@ limitations under the License. --> - + mod_heartmonitor centralized monitor for mod_heartbeat origin servers Experimental -mod_heartmonitor +mod_heartmonitor.c heartmonitor_module Available in Apache 2.3 and later

mod_heartmonitor listens for server status messages generated -by mod_heartbeat enabled servers and makes their status +by mod_heartbeat enabled origin servers and makes their status available to mod_lbmethod_heartbeat. This allows ProxyPass to use the "heartbeat" lbmethod inside of ProxyPass. @@ -41,22 +41,34 @@ available to mod_lbmethod_heartbeat. This allows

This module uses the services of mod_slotmem_shm when available instead of flat-file storage. No configuration is required to use mod_slotmem_shm.

+ + + To use mod_heartmonitor, + mod_status and mod_watchdog + must be either a static modules or, if a dynamic module, it must + be loaded before mod_heartmonitor. + +
HeartbeatListen -address to listen for incoming heartbeat requests +multicast address to listen for incoming heartbeat requests HeartbeatListenaddr:port disabled server config

The HeartbeatListen directive specifies the - address the server will listen on for status information from + multicast address on which the server will listen for status information from mod_heartbeat-enabled servers. This address will usually corrspond to a configured HeartbeatAddress on an origin server.

+ + + HeartbeatListen 239.0.0.1:27999 +

This module is inactive until this directive is used.

@@ -88,7 +100,7 @@ heartbeat requests to this server

The HeartbeatMaxServers directive specifies the maximum number of servers that will be sending requests to this monitor server. It is used to control the size of the shared memory allocated - to store the heartbeat info.

+ to store the heartbeat info when mod_slotmem_shm is in use.

diff --git a/docs/manual/mod/mod_watchdog.xml b/docs/manual/mod/mod_watchdog.xml new file mode 100644 index 0000000000..14dcd5c975 --- /dev/null +++ b/docs/manual/mod/mod_watchdog.xml @@ -0,0 +1,60 @@ + + + + + + + +mod_watchdog +provides infrastructure for other modules to periodically run + tasks +Base +mod_watchdog.c +watchdog_module +Available in Apache 2.3 and later + + +

mod_watchdog defines programmatic hooks for other modules to +periodically run tasks. These modules can register handlers for +mod_watchdog hooks. Currently, the following modules in the +Apache distribution use this functionality:

+
    +
  • mod_heartbeat
  • +
  • mod_heartmonitor
  • +
+ +To allow a module to use mod_watchdog functionality, +mod_watchdog itself must be statically linked to the server +core or, if a dynamic module, be loaded before the calling module. + +
+ + +WatchdogInterval +Watchdog interval in seconds +WatchdogInterval number-of-seconds +WatchdogInterval 1 +server config + + +Sets the interval at which the watchdog_step hook runs. Default is to run every +second. + + +
+ diff --git a/docs/manual/mod/mod_watchdog.xml.meta b/docs/manual/mod/mod_watchdog.xml.meta new file mode 100644 index 0000000000..c6d93ae5b0 --- /dev/null +++ b/docs/manual/mod/mod_watchdog.xml.meta @@ -0,0 +1,12 @@ + + + + + mod_watchdog + /mod/ + .. + + + en + + -- 2.40.0