haproxy的stats管理和负载均衡mysql的实例

 cookie <name> [rewrite| insert | prefix]  使用场景:defaults   listen  backend

当我们的请求时动态站点是会哟cookie,就是当我们请求是动态页面数,会自动附在cookie信息,发送你感到动态服务器,还有session绑定,作用于一个域名或者一个域名下的url

例子:

    backend webserver

       balance  roundrobin

        cookie webservername  insert(插入的方式插入一个cookie  nocache(不缓存铭感数据) 

      server 172.16.249.10080

        server 172.16.249.20080

    

要是我们想要cookie绑定,只需要在各个server后面加上cookie

    server s1 172.16.249.10080 cookie  s1

server  s2 172.16.249.20080  cookie s2

注意:目的是session的绑定,就是第一次选定的server是谁,以后也不会变,所发的请求会发到同一个server

   haroxy的工作模式:mode

      httpd:调度httpd协议的服务器

            会对应用层数据作深入分析,支持7层过滤,处理,装换等机制  

      tcp:非http协议的服务器调度,包括https

mode{http|tcp|health(健康状态监测)}

 工作于: defaults frontend  listen backend

例子:

   frontend main

     bind *;80

     mode tcp| httpd

     default_backend  webserver

tcp模式:不会对应用层协议做任何检查     

指定服务器代理的日志:

  log global

2log <address>

 没一个代理都可以有一个log

 

    捕获请求报文首部

     capture rquest  hesder host len 15 捕获以       host首部的15个字符

    capture rquest  hesder X-forwarded-For len 15

hash-type

  hash-type <method>

推荐对cache servers负载均衡调度

       

   

服务器端:eth0:172.16.249.229

      Eth1:192.16.20.1

Server端:

Server1:192.168.20.2

Server1:192.168.20.3

定义显示stats页面:haproxy

   是在backend <name>中定义一个stats enable来显示状态页,

例子

 frontend main

  maxconn 6000:最大并发数

  bind :80:绑定端口

  default_backend  webserver :调用下面的backend

 

backend webserver

   balance     roundrobin

# cookie webserver insert nocache  定义一个cookiesession绑定

#server s1 192.168.20.2  cookies1 check port 80 maxconn 4000  weight 2;cookie定义案例

#server s2 192.168.20.3 cookie s2 check port 80 maxconn 4000  weight 1; cokie定义案例

   server s1 192.168.20.2check port 80 maxconn 4000  weight 2 :定义查看80的健康检查,最大并发数为4000 权重2

   server s2 192.168.20.3check port 80 maxconn 2000  weight 1定义查看80的健康检查,最大并发数为4000 权重1

 server b1 127.0.0.1:8080    backup check port 8080:做备份用,server不能工作时启用

   stats enable :启用stats状态页

    

挺掉任意一个sever时,会变成红色

  Active:后端服务器中的server

  Backuo:后端中的备用backupserver

Stats定义方式:

    backend public_www

    server websrv1172.16.100.11:80

    stats enable:启用stats状态页

    stats hide-version:可以隐藏其版本号

    stats scope . stats作用的路径’.’当前路径

    stats uri     /haproxyadmin?stats:自定义路径,登陆

    stats realm   Haproxy\ Statistics 定义当你以用户密码登陆时会显示出来

    stats auth    statsadmin:password :定义用户:密码

stats auth    statsmaster:password;定义用户:密码

  例子2

 

frontend main

 maxconn 6000

 bind :80

 default_backend  webserver

 

backend webserver

  balance     roundrobin

# cookie webserver insert nocache

  server s1 192.168.20.2 check port 80 maxconn 4000  weight 2

  server s2 192.168.20.3 check port 80 maxconn 2000  weight 1

  server b1 127.0.0.1:8080    backup

  stats enable

  stats hide-version

  stats uri /hap?stats

  stats scope .

  stats realm HAPprxy\ statistics

  stats auth han:han

这样我们会就可以测试了

显示:

在输入账号和密码显示:

 

这个页面也可以实现管理haproxy的功能:stats admin {if | unless}<cond>

   在指定的条件满足时启用统计报告页面的管理级别功能,它允许通过web接口启用或禁用服务器,不过,基于安全的角度考虑,统计报告页面应该尽可能为只读的。此外,如果启用了HAProxy的多进程模式,启用此管理级别将有可能导致异常行为。

 

目前来说,POST请求方法被限制于仅能使用缓冲区减去保留部分之外的空间,因此,服务器列表不能过长,否则,此请求将无法正常工作。因此,建议一次仅调整少数几个服务器。下面是两个案例,第一个限制了仅能在本机打开报告页面时启用管理级别功能,第二个定义了仅允许通过认证的用户使用管理级别功能。

 

backend stats_localhost:定义当你使用当前主机时,允许你可以管理

   stats enable

   stats admin if LOCALHOST

 

backend stats_auth:定义当你使用密码认证过后允许你管理haproxy

   stats enable

   stats auth  haproxyadmin:password

   stats admin if TRUE  

例子2最后加上   stats admin if TRUE(大写),在次登陆就可以管理haproxyle

我们也可以自己定义一个listen段,来定义其stats

 例子

   四、配置案例

 

4.1 http服务器配置示例

 

#---------------------------------------------------------------------

# Global settings

#---------------------------------------------------------------------

global

   # to have these messages end up in /var/log/haproxy.log you will

   # need to:

   #

   # 1) configure syslog to accept network log events.  This is done

   #    by adding the ‘-r‘ option tothe SYSLOGD_OPTIONS in

   #    /etc/sysconfig/syslog

   #

   # 2) configure local2 events to go to the /var/log/haproxy.log

   #   file. A line like thefollowing can be added to

   #   /etc/sysconfig/syslog

   #

   #    local2.*                       /var/log/haproxy.log

   #

   log         127.0.0.1 local2

 

   chroot      /var/lib/haproxy

   pidfile     /var/run/haproxy.pid

   maxconn     4000

   user        haproxy

   group       haproxy

   daemon

 

defaults

   mode                    http

   log                     global

   option                  httplog

   option                  dontlognull

   option http-server-close

   option forwardfor       except127.0.0.0/8

   option                  redispatch

   retries                 3

   timeout http-request    10s

   timeout queue           1m

   timeout connect         10s

    timeout client          1m

   timeout server          1m

   timeout http-keep-alive 10s

   timeout check           10s

   maxconn                 30000

 

listen stats

   mode http

   bind 0.0.0.0:1080

   stats enable

   stats hide-version

   stats uri     /haproxyadmin?stats

   stats realm   Haproxy\ Statistics

   stats auth    admin:admin

   stats admin if TRUE

 

 

frontend http-in

   bind *:80

   mode http

   log global

   option httpclose

   option logasap

   option dontlognull

    capture request  header Host len 20

   capture request  header Refererlen 60

   default_backend servers

 

frontend healthcheck

   bind :1099

   mode http

   option httpclose

   option forwardfor

   default_backend servers

 

backend servers

 balance roundrobin

   server websrv1 192.168.10.11:80 check maxconn 2000

   server websrv2 192.168.10.12:80 check maxconn 2000

   但是这样你登陆是会发现我们的权限也变小了

4.2 负载均衡MySQL服务的配置示例

#---------------------------------------------------------------------

# Global settings

#---------------------------------------------------------------------

global

# to have these messages end up in /var/log/haproxy.log you will

# need to:

#

# 1) configure syslog to accept network log events.  This is done

#    by adding the ‘-r‘ option to the SYSLOGD_OPTIONS in

#    /etc/sysconfig/syslog

#

# 2) configure local2 events to go to the /var/log/haproxy.log

#   file. A line like the following can be added to

#   /etc/sysconfig/syslog

#

#    local2.*                       /var/log/haproxy.log

#

log         127.0.0.1 local2

chroot      /var/lib/haproxy

pidfile     /var/run/haproxy.pid

maxconn     4000

user        haproxy

group       haproxy

daemon

defaults

mode                    tcp

log                     global

option                  httplog

option                  dontlognull

retries                 3

timeout http-request    10s

timeout queue           1m

timeout connect         10s

timeout client          1m

timeout server          1m

timeout http-keep-alive 10s

timeout check           10s

maxconn                 600

listen stats

mode http

bind 0.0.0.0:1080

stats enable

stats hide-version

stats uri     /haproxyadmin?stats

stats realm   Haproxy\ Statistics

stats auth    admin:admin

stats admin if TRUE

frontend mysql

bind *:3306

mode tcp

log global

default_backend mysqlservers

backend mysqlservers

balance leastconn

server dbsrv1 192.168.10.11:3306 check port 3306 intval 2 rise 1 fall 2 maxconn 300

server dbsrv2 192.168.10.12:3306 check port 3306 intval 2 rise 1 fall 2 maxconn 300

时间: 2024-10-21 07:22:13

haproxy的stats管理和负载均衡mysql的实例的相关文章

Keepalived+Haproxy双主高可用负载均衡web和mysql综合实验

日期及版本:2014.5.4v1.0 架构图 实验目的: 1.Haproxy+Keepalived双主双机高可用模型,keepalived为Haproxy主从提供高可用保证haproxy-master若挂掉haproxy-backup能无缝接管,haproxy为后端Web提供负载均衡,缓解并发压力,实现WEB站点负载均衡+高可用性: 2. Haproxy反代web做动静分离: 3. Haproxy反代mysql 算法leastconn和roundrobin的不同效果: 系统环境: OS:cent

haproxy+keepalived实现高可用负载均衡

软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HAProxy相比LVS的使用要简单很多,功能方面也很丰富.当 前,HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器.内部协议通信服务器等),和7层(HTTP).在4层模式 下,HAProxy仅在客户端和服务器之间转发双向流量.7层模式下,HAProxy会分析协议,

haproxy+keepalived实现高可用负载均衡(转)

haproxy+keepalived实现高可用负载均衡 软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HAProxy相比LVS的使用要简单很多,功能方面也很丰富.当 前,HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器.内部协议通信服务器等),和7层(HTTP).在4层模式 下,HAProxy仅在客户端和服务器

Haproxy+keepalived高可用、负载均衡安装部署方案

1     环境说明 前端两台haproxy+keepalived互为主从,提供高可用:另外基于不同域名访问不同的虚拟ip实现负载均衡 1.1     环境描述 服务器A(主.从):eth0:10.241.51.245   eth1:192.168.1.9 服务器B(从.主):eth2:10.241.51.246   eth1:192.168.1.10 服务器C(web01):eth0:10.241.51.247 服务器D(web02):eth0:10.241.51.248 VIP1:10.24

HaProxy + Keepalived 实现高可用负载均衡

软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HAProxy相比LVS的使用要简单很多,功能方面也很丰富.当前,HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器.内部协议通信服务器等),和7层(HTTP).在4层模式下,HAProxy仅在客户端和服务器之间转发双向流量.7层模式下,HAProxy会分析协议,并且

haproxy+keepalived实现高可用负载均衡web集群

haproxy+keepalived实现高可用负载均衡web集群 负载均衡集群的概念 负载均衡是设计分布式系统架构必须要考虑的因素之一,它指的是通过调度分发的方式尽可能将"请求"."访问"的压力负载平均分摊到集群中的各个节点,避免有些节点负载太高导致访问延迟,而有些节点负载很小导致资源浪费.这样,每个节点都可以承担一定的访问请求负载压力,并且可以实现访问请求在各节点之间的动态分配,以实现负载均衡,从而为企业提供更高性能,更加稳定的系统架构解决方案. 高可用集群的概念

HAProxy+Keepalived实现Web服务器负载均衡

2014年03月31日  HAProxy  暂无评论  被围观 12,941次+ 说明: 操作系统:CentOS 5.X 64位 Web服务器:192.168.21.127.192.168.21.128 站点:bbs.osyunwei.com和sns.osyunwei.com部署在两台Web服务器上 实现目的: 增加两台服务器(主主模式),通过HAProxy+Keepalived实现Web服务器负载均衡 架构规划: HAProxy服务器:192.168.21.129.192.168.21.130

Keepalived管理LVS负载均衡实战

众所周知,早期LVS软件,需要通过命令行或脚本实现管理,而且没有针对LVS节点的健康检查功能.为了解决LVS的这些使用不便问题,Keepalived便诞生.Keepalived服务的三大重要功能 管理VLS负载均衡 实现对LVS集群node健康检查 作为系统网络服务的高可用** 闲话不多说,直接上实例** LB端Keepalived配置 [[email protected] keepalived]# ip addr del 10.0.0.3/24 dev eth0 label eth0:0 [[

Nginx高可用负载均衡集群实例架设

Nginx高可用负载均衡集群实例架设一. Nginx高可用集群拓扑架构 node1:17216.100.67node2:170.16.100.68VIP:172.16.100.89RS1:172.16.100.6RS2:172.16.100.69 注意:nginx的高可用集群架构的所有RS的内核参数arp_ignore和arp_announce都为0. 二. Nginx的高可用集群架设步骤1. 在所有node节点(172.16.100.67,172.16.100.68)上安装nginx服务.[e