====== haproxy ====== ===== Install ===== * Download haproxy and change directory to download directory * Run make and make install as root ==== Make ==== To choose TARGET run uname -a Output: Linux somehost 2.6.32-358.11.1.el6.x86_64 #1 SMP Wed May 15 10:48:38 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux Considering the above was kernel 2.6, using TARGET as below. make TARGET=linux2628 USE_PCRE=1 USE_LIBCRYPT=1 USE_LINUX_SPLICE=1 USE_LINUX_TPROXY=1 Some options listed may not work - feel free to remove them such as ''USE_PCRE=1'' ==== Make Install ==== make install haproxy typically gets installed at ''/usr/local/sbin/haproxy'' ===== Configuration ===== To configure, create a configuration file at chosen location. Preferred: /etc/haproxy/haproxy.cfg * Load balance on port 8000 * Sticky sessions between multiple servers (someserver1 & someserver2) * Add administration (port 7999) global daemon maxconn 4096 defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms frontend http-in bind *:8000 default_backend servers backend servers retries 2 fullconn 4096 balance roundrobin cookie SERVERID insert indirect nocache server server01 someserver1:8080 check cookie s01 server server02 someserver1:8081 check cookie s02 server server03 someserver1:8082 check cookie s03 server server04 someserver2:8090 check cookie s04 server server05 someserver2:8091 check cookie s05 server server06 someserver2:8092 check cookie s06 listen stats :7999 mode http stats enable stats hide-version stats realm Haproxy\ Statistics stats uri / ===== Start ===== Simple way to start is as below. This runs as a daemon, since daemon is specified in the configuration. If not, add option -D. haproxy -f /etc/haproxy/haproxy.cfg ===== Logging ===== ==== Update /etc/rsyslog.conf and related ==== Edit /etc/rsyslog.conf and uncomment: $ModLoad imudp $UDPServerRun 514 Edit /etc/rsyslog.d/haproxy.conf and append line: local2.* /var/log/haproxy.log Restart rsyslog: service rsyslog restart Change permissions on log file: chmod o+r /var/log/haproxy.log chmod g+r /var/log/haproxy.log ==== Update /etc/haproxy/haproxy.cfg ==== Edit /etc/haproxy/haproxy.cfg:\\ Add line in ''global section'': log 127.0.0.1 local2 Add lines to ''frontend http-in'' section: option httplog log global Restart haproxy ==== Logging Resources ==== * https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/3/html/Installation_and_Configuration_Guide/Configuring_the_rsyslog_Server.html * https://transloadit.com/blog/2010/08/haproxy-logging/ * http://www.percona.com/blog/2014/10/03/haproxy-give-me-some-logs-on-centos-6-5/ * http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#8