| name | type | description |
mode | String | Specifies the mode of operation and a way to use the named session cookie for session identification. Valid values are: passive - the cookie is not modified. It is expected that a given cookie value is always unique and the same value is never used by another server. synch - the cookie string in the HTTP response from a server is modified to make it unique to the terminal from which the response came (by adding a 4-character terminal ID into the cookie value). The 'terminal ID' is stripped before a request is forwarded to a server on one of the outX terminals. Other than inserting the terminal ID, the mapping between cookie values and output terminals is the same as for passive - i.e., the entire cookie value is compared. insert - the load balancer itself inserts a cookie into responses sent back to the client on in , so when the client sends subsequent requests with that cookie, they are directed to the same server as the first request from that client. The cookie inserted by HALB is without an expiration date, meaning that it is not to be permanently saved by the client software. source - The source IP address of the request is used to bind the session to a particular backend web server. The cookie property is ignored. Default: passive. |
cookie_name | String | The name of the cookie used to identify a session. For the passive modes ( passive and synch - see the mode property below), this is the name of the cookie used by the back-end servers connected to out1 - out8 to identify client sessions. For the insert mode, this is the name of the cookie that HALB should insert into HTTP responses in order to make each client 'stick' with a single server. If this property is set to the empty value, no session tracking is done and all requests are distributed in a simple round-robin fashion. Ignored for the source mode. Default: (empty). |
cookie_check_length | Int | Defines how many bytes from the value of cookie are used as unique key in passive mode of operation to match session to backend web server. Default value of 10 is usually sufficient for all common php and java applications. This value must always be equal or less than the length of the cookie value. Default: 10. |
max_connections | integer | The maximum number of concurrently active connections that the load balancer handles. When this number is reached, new connections are still accepted, but their processing is delayed until another connection is closed. Upon start, HALB automatically determines the maximum number of connections based upon available memory, compares it to the value of this property and uses the lowest value. If this property equals 0 then the computed value is used. Note that neither the available memory nor an explicit setting of this property have a direct effect on the balancer's throughput or its maximum request rate - setting a low number (or having little memory) affects response only if the back-end servers are performing lenghty operations for each request (e.g., database searches), causing many requests to remain open at the same time. Default: 0 |
backup_outputs | String | A space or comma delimited list of outputs ( out1 - out8 ) that are considered backups. Traffic is directed to the backup servers only if all backend servers are unavailable. The purpose of these backup servers is to notify clients that something is wrong or redirect them, instead of throwing errors from unavailable backend or timing out. Default: (empty). |
| name | type | description |
healthcheck_url | String | The URL used to perform the health check of the backend web servers in http_get and http_head health check methods. May be specified as a complete URL (http://host.name/file/to/check/for.php) or as a relative path (/file/to/check/for.php). If specified as a URL, HALB uses the HTTP/1.1 protocol while performing the health checks using the hostname extracted from UR, in a "Host:" header. This allows usage of virtual hosts. If specified as a relative path, HALB uses the HTTP/1.0 protocol and checks for the document specified by this property. If this property is empty, HALB checks for the default root '/' using the HTTP/1.0 protocol. Default: (empty). |
healthcheck_agent | String | The string used as an agent identifier for http_get and http_head health check methods. If empty, "HALB-health-check" is used. Default: (empty). |
healthcheck_method | String | The method used for the health check of the backend web servers. tcp_connect - HALB connects to port 80 of the web server. If the connection is successfully established, HALB assumes that the web server is functional. This is the fastest method and requires the least resources. http_head - HALB uses the HEAD method to request the document specified by the healthcheck_url property. This is slower than tcp_connect, requires more resources on both HALB and web server, but is more reliable. A status code of 2xx or 3xx, received from a web server, validates the server as operational. http_get - HALB uses the GET method to request the document specified by the healthcheck_url property. This is the slowest method that requires most resources but is most reliable.A status code of 2xx or 3xx, received from a web server, validates the server as operational. If the healthcheck_regexp property is defined, then HALB downloads the document including all HTTP headers and server status code, and check for matches with the healthcheck_regexp value. If match is found, then the backend server is considered functional, or is disabled if no matches were found. Default: tcp_connect. |
healthcheck_regexp | String | A test string used with the http_get health check mode. Short or common values (eg. "OK") will likely cause false positive matches. This string is a perl regular expression, more details about perl regular expressions are available here. Default: (empty). |
healthcheck_interval | Int | Interval between health checks of the backend web servers (specified in seconds). Default: 20 seconds. |
| name | type | description |
timeout | integer | Timeout in seconds to expire inactive sessions. If set to zero, inactive sessions do not expire. If set to a non-zero value, inactive sessions resumed after timeout seconds are considered stale, and requests bearing the 'forgotten' cookie are treated as if they have no cookie at all and are directed to a random server, using the usual round-robin method. This property is only valid for passive mode and ignored for all other modes. Default: 0 |
client_timeout | Int | Timeout in seconds for waiting for a request from a client after establishing the connection. Default: 150. |
server_timeout | Int | Timeout in seconds for waiting for a reply from a backend web server after establishing the connection. Default: 150. |
conn_timeout | Int | Timeout in seconds for establishing any tcp connection. This includes the health checks. Extra attention must be paid to this setting, because if under high load the health checks time out because of unsufficiently small value, HALB starts to disable outputs. It is not recommended to set it lower than 20 seconds. Default: 20. |
| Counter name | Description |
outX_status | State of output terminal outX: 0 - enabled and up, 1 - enabled and down, 100 - disconnected. |
outX_queue | Number of queued requests for terminal outX. |
outX_queue_max | Historical maximum of simultaneously queued requests for terminal outX. |
outX_sessions_active | Number of active sessions for terminal outX. |
outX_sessions_max | Maximal number of active simultaneous sessions for terminal outX. |
outX_sessions_total | Number of completed sessions for terminal outX. |
outX_errors | Number of failed health checks for terminal outX. |
queue | Current queue length, cumulative for out1 - out8. |
queue_max | Historical maximum of simultaneously queued requests, cumulative for out1 - out8. |
sessions_active | Number of active sessions, cumulative for out1 - out8. |
sessions_max | Historical maximal number of active sessions, cumulative for out1 - out8. |
sessions_total | Number of completed sessions, cumulative for out1 - out8. |
errors | Total number of health check failures, cumulative for out1 - out8. |
| Error message | Description |
Error: unable to determine appliance memory configuration, please contact 3Tera support. | HALB failed to detect amount of available memory, please contact 3Tera support. |
Error: failed to create the HAProxy config file, please contact 3Tera support. | HALB failed to create the HAProxy config file, please contact 3Tera support (possibly due to low diskspace). |
Error: failed to determine number of available CPUs, please contact 3Tera support. | HALB failed to detect amount of available CPUs, please contact 3Tera support. |
Error: the healthcheck_url, when specified as an URL, must begin with 'http://' and contain a full path to the document ( ex: http://host.name.domain/file/to/check/for.html ). | healthcheck_url property value is incorrect, it should begin with 'http://' and contain a full path, ex.: http://host.name.domain/file/to/check/for.html |
Error: unknown health check method 'healthcheck_method' specified. | healthcheck_method property value is incorrect, it should be one of tcp_connect, http_head or http_get |
Error: invalid operation mode specified | Invalid mode specified, it should be one of passive, synch, insert or source |
Error: ui_port value must be between 1 and 65535. | ui_port value must be more than 1 and less than 65535. |
Error: ctl_port value must be between 1 and 65535. | ctl_port value must be more than 1 and less than 65535. |
Error: failed to start HALB, please see '/var/log/appliance/log' log file for details. | A system error occured while starting HALB, please contact 3Tera support. |
Error: failed to initialize the control web service interface, please contact 3Tera support. | A system error occured while initializing the control web service interface exposed on the ctl terminal, please contact 3Tera support. |
Error: failed to initialize statistics reporting, please contact 3Tera support. | A system error occured while initializing statistics reporting, please contact 3Tera support. |
Error: failed to initialize the user interface terminal, please contact 3Tera support. | A system error occured while initializing the graphical user interface exposed on the ui terminal, please contact 3Tera support. |
Error: failed to initialize external health checker, please contact 3Tera support. | An eror occured while starting external health checker with support for regular expressions, please contact 3Tera technical support. |
| Parameter | Description |
| nbcproc | Number of CPUs available for HALB. |
| uptime | HALB uptime. |
| system limits | Resource limits imposed on HALB by the operating system. |
| memmax | Maximum available memory for HALB. |
| ulimit-n | Maximum amount of simultaneously open files. Network sockets are considered files. |
| maxsock | Maximum amount of simultaneously open sockets. |
| maxconn | Maximum amount of simultaneous connections. Once reaching this number, all new connections are placed in wait queue. |
| current conns | Current number of active connections. |
| Server Status | State of a backend server. UP - server is functional, DOWN - server is not functional. |
| Queue Curr. | Current request queue length of the backend server. |
| Queue Max. | Maximum reached queue length of the backend server since HALB startup. |
| Sessions Curr. | Number of currently active sessions. |
| Sessions Max. | Maximum reached number of simultaneously active sessions. |
| Sessions Cumul. | Total number of completed sessions. |
| Errors Conn. | Number of errors occured while connecting to backend server. |
| Errors Resp. | Number of 5xx errors reported by backend server. |
| Errors Check | Number of failed health checks for a backend server. |
| Errors Down | Number of times the backend server went from UP to DOWN state. |
| Property | HALB | HLB |
ctl input terminal | Used to enable/disable out1=-=out8 output terminals and access terminal state | Not supported |
ui input terminal | Used to access the runtime statistics GUI | Not supported |
source mode of operation | Additional mode that uses the request source IP address for load balancing | Not supported |
timeout property | Used only in the active mode of operation | Used in all modes of operation |
timeout_xxx properties | Additional timeout control | Not supported |
max_connections property | Automatically calculated during startup based on available resources | Configured by user |
cookie_path property | Not supported | Used |
cookie_domain property | Not supported | Used |
healthcheck_xxx properties | Health check configuration | Not supported |