NAME¶
penctl - control a running pen load balancer
SYNOPSIS¶
penctl host:port|/path/to/socket command
EXAMPLE¶
penctl lbhost:8888 roundrobin
Turns off client tracking on the load balancer running on lbhost.
penctl /var/run/pen/tmp/ctrl status
Prints status information in html format.
DESCRIPTION¶
Penctl connects to the optional control socket on a pen load balancer. It
reads commands from the command line, performs minimal syntax checking and
sends them to pen. Replies, if any, are printed on stdout.
The program can also be used through the cgi script penctl.cgi, which allows pen
to be controlled from any web browser.
OPTIONS¶
- host:port
- Specifies a control port where the load balancer listens for commands.
COMMANDS¶
- acl N permit|deny sourceip4 [mask]
- Adds an entry to access list N, where N is a number from 0 to 9. The
source and mask addresses are in the usual dotted quad notation. If mask
is omitted, it defaults to 255.255.255.255.
- acl N permit|deny sourceip6[/length]
- If the source address contains the character ':', the address is
interpreted as IPv6. Unlike IPv4 access entries, a length is used to
indicate the mask. If length is omitted, it defaults to 128.
- acl N permit|deny country NN
- If the source address is the special word "country", a
two-letter country code can be used to restrict access to the load
balancer. For this to work, pen must be built with geoip support.
- no acl N
- Deletes all entries from access list N. The resulting access list permits
all traffic.
- ascii
- Communication dumps in ascii format (cf option -a).
- no ascii
- Communication dumps in hex format.
- blacklist
- Return current blacklist time in seconds.
- blacklist T
- Set the blacklist time in seconds.
- block
- Do not make sockets nonblocking.
- no block
- Make sockets nonblocking.
- client_acl N
- Check connecting clients against access list N (default 0).
- clients_max
- Return max number of clients.
- conn_max
- Return max number of simultaneous connections.
- control
- Return address and port where pen listens for control connections.
- control_acl N
- Check accesses to the control port against access list N (default 0).
- debug
- Return current debug level.
- debug N
- Set debug level to N.
- delayed_forward
- Always wait for the next round of the main loop before forwarding data.
Normally pen tries to do that immediately.
- no delayed_forward
- Try to forward data immediately, to avoid the overhead of copying it to a
temporary buffer and waiting for the next main loop round.
- exit
- Exit. Only available if pen was started with the -X option.
- hash
- Use a hash on the client IP address for initial server selection.
- no hash
- Do not use a hash.
- http
- Add X-Forwarded-For headers to http requests.
- no http
- Do not add X-Forwarded-For headers.
- include FILE
- Read commands from file.
- listen
- Return local address and port pen listens to for incoming client
connections.
- log
- Show where pen is logging, if anywhere.
- log FILE
- Log to FILE.
- mode
- Write a summary of the current mode of operation. The listed modes are
block, delayed_forward, hash, roundrobin, stubborn.
- no log
- Turn off logging.
- pid
- Return the process id of the running daemon
- prio
- Use the priority based algorithm.
- no prio
- Do not use the priority based algorithm.
- recent [N]
- Shows which clients have connected in the last N seconds (default
300).
- roundrobin
- Use round-robin server selection without client tracking
- no roundrobin
-
- server N [ acl A | address A | port P | max M | hard H |
blacklist T | weight W | prio P ]
- Change acl, address, port, weight, priority and/or max connections for
server N, or blacklist it for T seconds.
- servers
- List address, port, weight, priority and max number of simultaneous
connections for each remote server.
- status
- Print status information in html format.
- stubborn
- If the initial server selection is unavailable, close the client
connection without trying another
- no stubborn
- timeout
- Return current connect timeout in seconds.
- timeout N
- Set connect timeout to N seconds.
- tracking N
- Set tracking time, i.e. how long clients will be remembered. The default 0
will never expire clients based on time.
- web_stats
- Return file name of html status reports, if any.
- web_stats FILE
- Set the name of html status reports.
- no web_stats
- Do not generate html status reports.
- weight
- Use weight for server selection.
- no weight
- Do not use weight for server selection.
- write [FILE]
- Write the current configuration into a file which can be used to start
pen. If FILE is omitted, the configuration is written into pen's original
configuration file.
SEE ALSO¶
pen(1)
AUTHOR¶
Copyright (C) 2002-2014 Ulric Eriksson, <ulric@siag.nu>.