OSDN Git Service

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