<--目录-->

1)HAproxy安装

2)HAproxy配置文件解析

3)HAproxy监测页面参数简释



【HAproxy安装】

yum -y install gcc gcc-c++ pcre pcre-devel

tar xf haproxy-1.5.3.tar.gz;cd haproxy-1.5.3

make TARGET=linux26 USE_PCRE=1 PREFIX=/usr/local/haproxy install

ln -s /usr/local/haproxy/sbin/haproxy /usr/local/sbin

mkdir /usr/local/haproxy/conf;mkdir /usr/local/haproxy/run

mv haproxy.cfg /usr/local/haproxy/conf/

mv haproxy /etc/init.d/

chmod +x /etc/init.d/haproxy

service haproxy start

chkconfig haproxy on

#killall haproxy  #关闭服务

#haproxy –f /usr/local/haproxy/conf/haproxy.cfg  #开启服务

#haproxy -f /usr/local/haproxy/conf/haproxy.cfg -st `cat /usr/local/haproxy/run/haproxy.pid`  #重启服务

#cd haproxy-1.5.3;less README    #查看怎么安装

#Web访问HAproxy监控

#

http://HAproxy服务器IP/haproxy



【HAproxy配置文件解析】

# this config needs haproxy-1.1.28 or haproxy-1.2.1


global #全局配置

log 127.0.0.1 local0           #[日志输出配置,所有日志都记录在本机,通过local0输出] 

log 127.0.0.1 local1 notice    #定义haproxy 日志级别[error warringinfo debug]

#log loghost local0 info

maxconn 4096                     #默认最大连接数,需考虑ulimit-n限制  

chroot /usr/local/haproxy        #chroot运行路径  

uid 99 #运行haproxy 用户 UID  

gid 99 #运行haproxy 用户组gid  

daemon #以后台形式运行harpoxy 

#debug

#quiet

pidfile /usr/local/haproxy/run/haproxy.pid      #haproxy 进程PID文件  


defaults #默认配置

log global          

mode http            #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health健康检查

option httplog         #日志类别,采用httplog

option dontlognull     #不记录健康检查日志信息 

retries 3               #三次连接失败就认为是服务器不可用,也可以通过后面设置

#option forwardfor      #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip 

option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器,以后将不支持    

maxconn 8000 #默认的最大连接数

timeout connect 5000    #连接超时时间

timeout client 50000   #客户端连接超时间

timeout server 50000   #服务器端连接超时时间


listen Server_Mysql 0.0.0.0:3306  #服务器本机IP和访问端口,或用*:3306表示,或下面增加一行bind *:3306

cookie SERVERID rewrite  #允许插入serverid到cookie中,serverid后面可以定义 

balance roundrobin        #负载均衡的方式,roundrobin平均方式 

server MariaDB1 192.168.8.50:3306 cookie MariaDB1 check inter 2000 rise 2 fall 5

server MariaDB2 192.168.8.69:3306 cookie MariaDB2 check inter 2000 rise 2 fall 5  

    server MariaDB3 192.168.8.70:3306 cookie MariaDB3 check inter 2000 rise 2 fall 5  #服务器定义:cookie 3表示serverid为MariaDB3;check 默认是检查端口;inter 2000检查间隔2秒,rise 2是2次正确认为服务器可用,fall 5是5次失败认为服务器不可用,weight代表权重

  

listen stats #监控

    bind *:80     #服务器本机IP和访问端口

stats uri /haproxy #统计页面url  

stats realm Global\ statistics  #统计页面密码框上提示文本 

stats auth admin:admin #设置监控页面的用户和密码:admin,可以设置多个用户名

stats refresh 5s                #统计页面自动刷新时间  

maxconn 10                      #默认的最大连接数

stats hide-version              #隐藏统计页面上HAProxy的版本信息  

  stats  admin if TRUE            #设置手工启动/禁用,后端服务器(haproxy-1.4.9以后版本)



【HAproxy监测页面参数简释】

Queue

Cur: current queued requests //当前的队列请求数量

Max:max queued requests     //最大的队列请求数量

Limit:           //队列限制数量

Session rate(每秒的连接回话)列表:

scur: current sessions        //每秒的当前回话的限制数量

smax: max sessions           //每秒的新的最大的回话量

slim: sessions limit           //每秒的新回话的限制数量



Sessions 

Total:            //总共回话量 


Cur:             //当前的回话

Max: //最大回话 

Limit: //回话限制

Lbtot: total number of times a server was selected //选中一台服务器所用的总时间 


Bytes

In: //网络的字节数输入总量  

Out: //网络的字节数输出总量


Denied

Req: denied requests//拒绝请求量


Resp:denied responses //拒绝回应 


Errors

Req:request errors             //错误请求 

Conn:connection errors          //错误的连接

Resp: response errors (among which srv_abrt)  ///错误的回应



Warnings

Retr: retries (warning)                      //重新尝试

Redis:redispatches (warning)               //再次发送

Server列表:

Status:状态,包括up(后端机活动)和down(后端机挂掉)两种状态

LastChk:    持续检查后端服务器的时间

Wght: (weight) : 权重

Act: server is active (server), number of active servers (backend) //活动链接数量

Bck: server is backup (server), number of backup servers (backend) //backup:备份的服务器数量

Down:          //后端服务器连接后都是down的数量

Downtime: downtime: total downtime (in seconds)    //总的downtime 时间

Throttle: warm up status                          //设备变热状态