OSDN Git Service

5e2543b19ade43193f8d4aad603dcbef9bb7fd35
[ultramonkey-l7/ultramonkey-l7-v2.git] / man / l7directord.8
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
29 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
30 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
31 .\" nothing in troff, for use with C<>.
32 .tr \(*W-
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
58 ..
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .if n .na
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101 .\}
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
117 \{\
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
127 .\}
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
130 .\"
131 .IX Title "L7DIRECTORD 8"
132 .TH L7DIRECTORD 8 "2009-05-21" "perl v5.8.8" "User Contributed Perl Documentation"
133 .SH "NAME"
134 l7directord \- UltraMonkey\-L7 Director Daemon
135 .PP
136 Daemon to monitor remote services and control UltraMonkey\-L7
137 .SH "SYNOPSIS"
138 .IX Header "SYNOPSIS"
139 \&\fBl7directord\fR [\fB\-d\fR] [\fIconfiguration\fR] {\fBstart\fR|\fBstop\fR|\fBrestart\fR|\fBtry-restart\fR|\fBreload\fR|\fBstatus\fR|\fBconfigtest\fR}
140 .PP
141 \&\fBl7directord\fR \fB\-t\fR [\fIconfiguration\fR]
142 .PP
143 \&\fBl7directord\fR \fB\-h|\-\-help\fR
144 .PP
145 \&\fBl7directord\fR \fB\-v|\-\-version\fR
146 .SH "DESCRIPTION"
147 .IX Header "DESCRIPTION"
148 \&\fBl7directord\fR is a daemon to monitor and administer real servers in a
149 cluster of load balanced virtual servers. \fBl7directord\fR is similar to \fBldirectord\fR
150 in terms of functionality except that it triggers \fBl7vsadm\fR.
151 \&\fBl7directord\fR typically is started from command line but can be included
152 to start from heartbeat. On startup \fBl7directord\fR reads the file
153 \&\fB/etc/ha.d/conf/\fR\fIconfiguration\fR.
154 After parsing the file, entries for virtual servers are created on the UltraMonkey\-L7.
155 Now at regular intervals the specified real servers are monitored and if
156 they are considered alive, added to a list for each virtual server. If a
157 real server fails, it is removed from that list. Only one instance of
158 \&\fBl7directord\fR can be started for each configuration, but more instances of
159 \&\fBl7directord\fR may be started for different configurations. This helps to
160 group clusters of services.  This can be done by putting an entry inside
161 \&\fB/etc/ha.d/haresources\fR
162 .PP
163 \&\fInodename virtual-ip-address l7directord::configuration\fR
164 .PP
165 to start l7directord from heartbeat.
166 .SH "OPTIONS"
167 .IX Header "OPTIONS"
168 .IP "\fIconfiguration\fR:" 4
169 .IX Item "configuration:"
170 This is the name for the configuration as specified in the file
171 \&\fB/etc/ha.d/conf/\fR\fIconfiguration\fR
172 .IP "\fB\-d\fR" 4
173 .IX Item "-d"
174 Don't start as daemon. Useful for debugging.
175 .IP "\fB\-h\fR" 4
176 .IX Item "-h"
177 Help. Print user manual of l7directord.
178 .IP "\fB\-v\fR" 4
179 .IX Item "-v"
180 Version. Print version of l7directord.
181 .IP "\fB\-t\fR" 4
182 .IX Item "-t"
183 Run syntax tests for configuration files only. The program immediately exits after these syntax parsing tests
184 with either a return code of 0 (Syntax \s-1OK\s0) or return code not equal to 0 (Syntax Error).
185 .IP "\fBstart\fR" 4
186 .IX Item "start"
187 Start the daemon for the specified configuration.
188 .IP "\fBstop\fR" 4
189 .IX Item "stop"
190 Stop the daemon for the specified configuration. This is the same as sending
191 a \s-1TERM\s0 signal to the running daemon.
192 .IP "\fBrestart\fR" 4
193 .IX Item "restart"
194 Restart the daemon for the specified configuration. The same as stopping and starting.
195 .IP "\fBtry-restart\fR" 4
196 .IX Item "try-restart"
197 Try to restart the daemon for the specified configuration. If l7directord is already running for the
198 specified configuration, then the same is stopped and started (Similar to restart).
199 However, if l7directord is not already running for the specified configuration, then an error message
200 is thrown and the program exits.
201 .IP "\fBreload\fR" 4
202 .IX Item "reload"
203 Reload the configuration file. This is only useful for modifications
204 inside a virtual server entry. It will have no effect on adding or
205 removing a virtual server block. This is the same as sending a \s-1HUP\s0 signal to
206 the running daemon.
207 .IP "\fBstatus\fR" 4
208 .IX Item "status"
209 Show status of the running daemon for the specified configuration.
210 .IP "\fBconfigtest\fR" 4
211 .IX Item "configtest"
212 This is the same as \fB\-t\fR.
213 .SH "SYNTAX"
214 .IX Header "SYNTAX"
215 .Sh "Description how to write configuration files"
216 .IX Subsection "Description how to write configuration files"
217 .IP "\fBvirtual = \fR\fI(ip_address|hostname:portnumber|servicename)\fR" 4
218 .IX Item "virtual = (ip_address|hostname:portnumber|servicename)"
219 Defines a virtual service by IP-address (or hostname) and port (or
220 servicename). All real services and flags for a virtual
221 service must follow this line immediately and be indented.
222 For ldirectord, Firewall-mark settings could be set. But for l7directord
223 Firewall-mark settings cannot be set.
224 .IP "\fBchecktimeout = \fR\fIn\fR" 4
225 .IX Item "checktimeout = n"
226 Timeout in seconds for connect checks. If the timeout is exceeded then the
227 real server is declared dead.  Default is 5 seconds. If defined in virtual
228 server section then the global value is overridden.
229 .IP "\fBnegotiatetimeout = \fR\fIn\fR" 4
230 .IX Item "negotiatetimeout = n"
231 Timeout in seconds for negotiate checks. Default is 5 seconds.
232 If defined in virtual server section then the global value is overridden.
233 .IP "\fBcheckinterval = \fR\fIn\fR" 4
234 .IX Item "checkinterval = n"
235 Defines the number of second between server checks. Default is 10 seconds.
236 If defined in virtual server section then the global value is overridden.
237 .IP "\fBretryinterval = \fR\fIn\fR" 4
238 .IX Item "retryinterval = n"
239 Defines the number of second between server checks when server status is \s-1NG\s0.
240 Default is 10 seconds. If defined in virtual server section then the global
241 value is overridden.
242 .IP "\fBcheckcount = \fR\fIn\fR" 4
243 .IX Item "checkcount = n"
244 The number of times a check will be attempted before it is considered
245 to have failed. Note that the checktimeout is additive, so if checkcount
246 is 3 and checktimeout is 2 seconds and retryinterval is 1 second,
247 then a total of 8 seconds (2 + 1 + 2 + 1 + 2) worth of timeout will occur
248 before the check fails. Default is 1. If defined in virtual server section
249 then the global value is overridden.
250 .IP "\fBconfiginterval = \fR\fIn\fR" 4
251 .IX Item "configinterval = n"
252 Defines the number of second between configuration checks.
253 Default is 5 seconds.
254 .IP "\fBautoreload = \fR[\fByes\fR|\fBno\fR]" 4
255 .IX Item "autoreload = [yes|no]"
256 Defines if <l7directord> should continuously check the configuration file
257 for modification each \fBconfiginterval\fR seconds. If this is set to \fByes\fR
258 and the configuration file changed on disk and its modification time (mtime)
259 is newer than the previous version, the configuration is automatically reloaded.
260 Default is \fBno\fR.
261 .ie n .IP "\fBcallback = ""\fR\fI/path/to/callback\fR\fB""\fR" 4
262 .el .IP "\fBcallback = ``\fR\fI/path/to/callback\fR\fB''\fR" 4
263 .IX Item "callback = ""/path/to/callback"""
264 If this directive is defined, \fBl7directord\fR automatically calls
265 the executable \fI/path/to/callback\fR after the configuration
266 file has changed on disk. This is useful to update the configuration
267 file through \fBscp\fR on the other heartbeated host. The first argument
268 to the callback is the name of the configuration.
269 .Sp
270 This directive might also be used to restart \fBl7directord\fR automatically
271 after the configuration file changed on disk. However, if \fBautoreload\fR
272 is set to \fByes\fR, the configuration is reloaded anyway.
273 .IP "\fBfallback = \fR\fIip_address|hostname[:portnumber|servicename]\fR [\fBmasq\fR]" 4
274 .IX Item "fallback = ip_address|hostname[:portnumber|servicename] [masq]"
275 the server onto which a web service is redirected if all real
276 servers are down. Typically this would be 127.0.0.1 with
277 an emergency page.
278 .Sp
279 This directive may also appear within a virtual server, in which
280 case it will override the global fallback server, if set.
281 Only a value of \fBmasq\fR can be specified here. The default is \fImasq\fR.
282 .ie n .IP "\fBlogfile = ""\fR\fI/path/to/logfile\fR\fB""\fR|syslog_facility" 4
283 .el .IP "\fBlogfile = ``\fR\fI/path/to/logfile\fR\fB''\fR|syslog_facility" 4
284 .IX Item "logfile = ""/path/to/logfile""|syslog_facility"
285 An alternative logfile might be specified with this directive. If the logfile
286 does not have a leading '/', it is assumed to be a \fIsyslog\fR\|(3) facility name.
287 .Sp
288 The default is to log directly to the file \fI/var/log/l7vs/l7directord.log\fR.
289 .ie n .IP "\fBexecute = ""\fR\fIconfiguration\fR\fB""\fR" 4
290 .el .IP "\fBexecute = ``\fR\fIconfiguration\fR\fB''\fR" 4
291 .IX Item "execute = ""configuration"""
292 Use this directive to start an instance of l7directord for
293 the named \fIconfiguration\fR.
294 .IP "\fBsupervised\fR" 4
295 .IX Item "supervised"
296 If this directive is specified, the daemon does not go into background mode.
297 All log-messages are redirected to stdout instead of a logfile.
298 This is useful to run \fBl7directord\fR supervised from daemontools.
299 See http://untroubled.org/rpms/daemontools/ or http://cr.yp.to/daemontools.html
300 for details.
301 .IP "\fBquiescent = \fR[\fByes\fR|\fBno\fR]" 4
302 .IX Item "quiescent = [yes|no]"
303 If \fByes\fR, then when real or fallback servers are determined
304 to be down, they are not actually removed from the UltraMonkey\-L7,
305 but set weight to zero.
306 If \fBno\fR, then the real or fallback servers will be removed
307 from the UltraMonkey\-L7. The default is \fByes\fR.
308 .Sp
309 This directive may also appear within a virtual server, in which
310 case it will override the global fallback server, if set.
311 .Sh "Section virtual"
312 .IX Subsection "Section virtual"
313 The following commands must follow a \fBvirtual\fR entry and must be indented
314 with a minimum of 4 spaces or one tab.
315 .ie n .IP "\fBreal =\fR \fIip_address|hostname[\->ip_address|hostname][:portnumber|servicename\fR] [\fBmasq\fR] [\fIn\fR] [\fB""\fR\fIrequest\fR\fB"", ""\fR\fIreceive\fR\fB""\fR]" 4
316 .el .IP "\fBreal =\fR \fIip_address|hostname[\->ip_address|hostname][:portnumber|servicename\fR] [\fBmasq\fR] [\fIn\fR] [\fB``\fR\fIrequest\fR\fB'', ``\fR\fIreceive\fR\fB''\fR]" 4
317 .IX Item "real = ip_address|hostname[->ip_address|hostname][:portnumber|servicename] [masq] [n] [""request, receive""]"
318 Defines a real service by IP-address (or hostname) and port (or
319 servicename). If the port is omitted then a 0 will be used.
320 Optionally a range of \s-1IP\s0 addresses (or two hostnames) may be
321 given, in which case each \s-1IP\s0 address in the range will be treated as a real
322 server using the given port. The second argument defines the forwarding
323 method, it must be \fBmasq\fR only.  The third argument defines the weight of
324 each real service. This argument is optional. Default is 1. The last two
325 arguments are optional too. They define a request-receive pair to be used to
326 check if a server is alive. They override the request-receive pair in the
327 virtual server section. These two strings must be quoted. If the request
328 string starts with \fIhttp://...\fR the IP-address and port of the real server
329 is overridden, otherwise the IP-address and port of the real server is used.
330 .IP "\fBmodule =\fR \fIproto-module module-args [opt\-module\-args]\fR" 4
331 .IX Item "module = proto-module module-args [opt-module-args]"
332 Indicates the module parameter of \fBl7directord\fR. Here \fBproto-module\fR
333 denotes the protocol module name (For example, pfilter). \fBmodule-args\fR denotes the
334 arguments for the protocol module (For example, \-\-pattern\-match '*.html*').
335 \&\fBmodule-args\fR is optional only when set \fBsessionless\fR, \fBip\fR and \fBsslid\fR module to \fBproto-module\fR.
336 The last argument is optional (For example, \-\-reschedule).
337 .Sh "More than one of these entries may be inside a virtual section:"
338 .IX Subsection "More than one of these entries may be inside a virtual section:"
339 .IP "\fBmaxconn =\fR \fIn\fR" 4
340 .IX Item "maxconn = n"
341 Defines the maximum connection that the virtual service can handle. If the number of
342 requests cross the maxconn limit, the requests would be redirected to the
343 sorry server.
344 .IP "\fBqosup =\fR \fIn\fR[\fBK\fR|\fBM\fR|\fBG\fR]" 4
345 .IX Item "qosup = n[K|M|G]"
346 Defines the bandwidth quota size in bps for up stream. If the number of the
347 bandwidth is over the qosup limit, a packet to the virtual service will be delayed
348 until the number of bandwidth become below the qosup limit.
349 \&\fBK\fR(kilo), \fBM\fR(mega) and \fBG\fR(giga) unit are available.
350 .IP "\fBqosdown =\fR \fIn\fR[\fBK\fR|\fBM\fR|\fBG\fR]" 4
351 .IX Item "qosdown = n[K|M|G]"
352 Defines the bandwidth quota size in bps for down stream. If the number of the
353 bandwidth is over the qosdown limit, a packet to the client will be delayed
354 until the number of bandwidth become below the qosdown limit.
355 \&\fBK\fR(kilo), \fBM\fR(mega) and \fBG\fR(giga) unit are available.
356 .IP "\fBsorryserver =\fR\fIip_address|hostname[:portnumber|servicename]\fR" 4
357 .IX Item "sorryserver =ip_address|hostname[:portnumber|servicename]"
358 Defines a sorry server by IP-address (or hostname) and port (or
359 servicename). Firewall-mark settings cannot be set.
360 If the number of requests to the virtual service cross the maxconn limit, the requests would be
361 redirected to the sorry server.
362 .IP "\fBchecktype = negotiate\fR|\fBconnect\fR|\fIN\fR|\fBping\fR|\fBcustom\fR|\fBoff\fR|\fBon\fR" 4
363 .IX Item "checktype = negotiate|connect|N|ping|custom|off|on"
364 Type of check to perform. Negotiate sends a request and matches a receive
365 string. Connect only attempts to make a \s-1TCP/IP\s0 connection, thus the
366 request and receive strings may be omitted.  If checktype is a number then
367 negotiate and connect is combined so that after each N connect attempts one
368 negotiate attempt is performed. This is useful to check often if a service
369 answers and in much longer intervals a negotiating check is done. Ping
370 means that \s-1ICMP\s0 ping will be used to test the availability of real servers.
371 Ping is also used as the connect check for \s-1UDP\s0 services. Custom means that
372 custom command will be used to test the availability of real servers.
373 Off means no checking will take place and no real or fallback servers will
374 be activated.  On means no checking will take place and real servers will
375 always be activated. Default is \fInegotiate\fR.
376 .IP "\fBservice = ftp\fR|\fBsmtp\fR|\fBhttp\fR|\fBpop\fR|\fBnntp\fR|\fBimap\fR|\fBldap\fR|\fBhttps\fR|\fBdns\fR|\fBmysql\fR|\fBpgsql\fR|\fBsip\fR|\fBnone\fR" 4
377 .IX Item "service = ftp|smtp|http|pop|nntp|imap|ldap|https|dns|mysql|pgsql|sip|none"
378 The type of service to monitor when using checktype=negotiate. None denotes
379 a service that will not be monitored. If the port specified for the virtual
380 server is 21, 25, 53, 80, 110, 119, 143, 389, 443, 3306, 5432 or 5060 then
381 the default is \fBftp\fR, \fBsmtp\fR, \fBdns\fR, \fBhttp\fR, \fBpop\fR, \fBnntp\fR, \fBimap\fR,
382 \&\fBldap\fR, \fBhttps\fR, \fBmysql\fR, \fBpgsql\fR or \fBsip\fR respectively.  Otherwise the
383 default service is \fBnone\fR.
384 .IP "\fBcheckport = \fR\fIn\fR" 4
385 .IX Item "checkport = n"
386 Number of port to monitor. Sometimes check port differs from service port.
387 Default is port specified for the real server.
388 .ie n .IP "\fBrequest = ""\fR\fIuri to requested object\fR\fB""\fR" 4
389 .el .IP "\fBrequest = ``\fR\fIuri to requested object\fR\fB''\fR" 4
390 .IX Item "request = ""uri to requested object"""
391 This object will be requested each checkinterval seconds on each real
392 server.  The string must be inside quotes. Note that this string may be
393 overridden by an optional per real-server based request\-string.
394 .Sp
395 For a \s-1DNS\s0 check this should the name of an A record, or the address
396 of a \s-1PTR\s0 record to look up.
397 .Sp
398 For a MySQL or PostgreSQL checks, this should be a \s-1SQL\s0 query.
399 The data returned is not checked, only that the
400 answer is one or more rows.  This is a required setting.
401 .ie n .IP "\fBreceive = ""\fR\fIregexp to compare\fR\fB""\fR" 4
402 .el .IP "\fBreceive = ``\fR\fIregexp to compare\fR\fB''\fR" 4
403 .IX Item "receive = ""regexp to compare"""
404 If the requested result contains this \fIregexp to compare\fR, the real server
405 is declared alive. The regexp must be inside quotes. Keep in mind that
406 regexps are not plain strings and that you need to escape the special
407 characters if they should as literals. Note that this regexp may be
408 overridden by an optional per real-server based receive regexp.
409 .Sp
410 For a \s-1DNS\s0 check this should be any one the A record's addresses or
411 any one of the \s-1PTR\s0 record's names.
412 .Sp
413 For a MySQL check, the receive setting is not used.
414 .IP "\fBhttpmethod = \s-1GET\s0\fR|\fB\s-1HEAD\s0\fR" 4
415 .IX Item "httpmethod = GET|HEAD"
416 Sets the \s-1HTTP\s0 method, which should be used to fetch the \s-1URI\s0 specified in
417 the request\-string. \s-1GET\s0 is the method used by default if the parameter is
418 not set. If \s-1HEAD\s0 is used, the receive-string should be unset.
419 .ie n .IP "\fBvirtualhost = ""\fR\fIhostname\fR\fB""\fR" 4
420 .el .IP "\fBvirtualhost = ``\fR\fIhostname\fR\fB''\fR" 4
421 .IX Item "virtualhost = ""hostname"""
422 Used when using a negotiate check with \s-1HTTP\s0 or \s-1HTTPS\s0. Sets the host header
423 used in the \s-1HTTP\s0 request.  In the case of \s-1HTTPS\s0 this generally needs to
424 match the common name of the \s-1SSL\s0 certificate. If not set then the host
425 header will be derived from the request url for the real server if present.
426 As a last resort the \s-1IP\s0 address of the real server will be used.
427 .ie n .IP "\fBlogin = ""\fR\fIusername\fR\fB""\fR" 4
428 .el .IP "\fBlogin = ``\fR\fIusername\fR\fB''\fR" 4
429 .IX Item "login = ""username"""
430 Username to use to login to \s-1FTP\s0, \s-1POP\s0, \s-1IMAP\s0, MySQL and PostgreSQL servers.
431 For \s-1FTP\s0, the default is anonymous. For \s-1POP\s0 and \s-1IMAP\s0, the default is the
432 empty string, in which case authentication will not be attempted.
433 For a MySQL and PostgreSQL, the username must be provided.
434 .Sp
435 For \s-1SIP\s0 the username is used as both the to and from address
436 for an \s-1OPTIONS\s0 query. If unset it defaults to l7directord\e@<hostname>,
437 hostname is derived as per the passwd option below.
438 .ie n .IP "\fBpasswd = ""\fR\fIpassword\fR\fB""\fR" 4
439 .el .IP "\fBpasswd = ``\fR\fIpassword\fR\fB''\fR" 4
440 .IX Item "passwd = ""password"""
441 Password to use to login to \s-1FTP\s0, \s-1POP\s0, \s-1IMAP\s0, MySQL and PostgreSQL servers.
442 Default is for \s-1FTP\s0 is l7directord\e@<hostname>, where hostname is the
443 environment variable \s-1HOSTNAME\s0 evaluated at run time, or sourced from uname
444 if unset. The default for all other services is an empty password, in the
445 case of MySQL and PostgreSQL this means authentication will not be
446 performed.
447 .ie n .IP "\fBdatabase = ""\fR\fIdatabasename\fR\fB""\fR" 4
448 .el .IP "\fBdatabase = ``\fR\fIdatabasename\fR\fB''\fR" 4
449 .IX Item "database = ""databasename"""
450 Database to use for MySQL and PostgreSQL servers, this is the database that
451 the query (set by \fBreceive\fR above) will be performed against.  This is a
452 required setting.
453 .IP "\fBscheduler =\fR \fIscheduler_name\fR" 4
454 .IX Item "scheduler = scheduler_name"
455 Scheduler to be used by UltraMonkey\-L7 for load balancing.
456 The available schedulers are only \fBlc\fR and \fBrr\fR. The default is \fIrr\fR.
457 .IP "\fBprotocol = tcp\fR" 4
458 .IX Item "protocol = tcp"
459 Protocol to be used. \fBl7vsadm\fR supports only \fBtcp\fR.
460 Since the virtual is specified as an \s-1IP\s0 address and port, it would be tcp
461 and will default to tcp.
462 .ie n .IP "\fBrealdowncallback = ""\fR\fI/path/to/realdowncallback\fR\fB""\fR" 4
463 .el .IP "\fBrealdowncallback = ``\fR\fI/path/to/realdowncallback\fR\fB''\fR" 4
464 .IX Item "realdowncallback = ""/path/to/realdowncallback"""
465 If this directive is defined, \fBl7directord\fR automatically calls
466 the executable \fI/path/to/realdowncallback\fR after a real server's status
467 changes to down. The first argument to the realdowncallback is the real 
468 server's IP-address and port (ip_address:portnumber).
469 .ie n .IP "\fBrealrecovercallback = ""\fR\fI/path/to/realrecovercallback\fR\fB""\fR" 4
470 .el .IP "\fBrealrecovercallback = ``\fR\fI/path/to/realrecovercallback\fR\fB''\fR" 4
471 .IX Item "realrecovercallback = ""/path/to/realrecovercallback"""
472 If this directive is defined, \fBl7directord\fR automatically calls
473 the executable \fI/path/to/realrecovercallback\fR after a real server's status
474 changes to up. The first argument to the realrecovercallback is the real 
475 server's IP-address and port (ip_address:portnumber).
476 .ie n .IP "\fBcustomcheck = ""\fR\fIcustom check command\fR\fB""\fR" 4
477 .el .IP "\fBcustomcheck = ``\fR\fIcustom check command\fR\fB''\fR" 4
478 .IX Item "customcheck = ""custom check command"""
479 If this directive is defined and set \fBchecktype\fR to custom, \fBl7directord\fR
480 exec custom command for real servers health checking. Only if custom command
481 returns 0, real servers will change to up. Otherwise real servers will change
482 to down. Custom check command has some macro string. See below.
483 .RS 4
484 .IP "\fB_IP_\fR" 4
485 .IX Item "_IP_"
486 Change to real server \s-1IP\s0 address.
487 .IP "\fB_PORT_\fR" 4
488 .IX Item "_PORT_"
489 Change to real server port number.
490 .RE
491 .RS 4
492 .RE
493 .SH "FILES"
494 .IX Header "FILES"
495 \&\fB/etc/ha.d/conf/l7directord.cf\fR
496 .PP
497 \&\fB/var/log/l7vs/l7directord.log\fR
498 .PP
499 \&\fB/var/run/l7directord.\fR\fIconfiguration\fR\fB.pid\fR
500 .PP
501 \&\fB/etc/services\fR
502 .SH "SEE ALSO"
503 .IX Header "SEE ALSO"
504 l7vsadm, heartbeat
505 .SH "AUTHORS"
506 .IX Header "AUTHORS"
507 \&\s-1NTT\s0 \s-1COMWARE\s0