PENCTL(1)

NAME
penctl

SYNOPSIS
penctl host:port command

EXAMPLE
penctl lbhost:8888 roundrobin

Turns off client tracking on the load balancer running on lbhost.

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 sourceip [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.

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
    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-2008 Ulric Eriksson, <ulric@siag.nu>.