linux企业实战 --HAProxy之负载均衡的实现+生成采集日志
1.什么是haproxy
HaProxy是一个特别适用于高可用性环境的TCP/HTTP开源的反向代理和负载均衡软件。在七层负载均衡方面的功能很强大(支持coρkie track, header rewrite等等) ,支持双机热备,支持虚拟主机,支持健康检查,同时还提供直观的监控页面,可以清晰的监控服务集群的运行状况。
2.负载均衡区别
- 二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;
- 三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;
- 四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器;例如lvs
- 七层通过虚拟的URL或主机名接收请求,然后再分配到真实的服务器。
3.HAProxy的配置含义
- Haproxy配置中分五大部分:
模块 | 含义 |
---|---|
global | 全局参数配置,进程级的,用来控制Haproxy启动前的一些进程及系统设置。 |
defaults | 配置-些默认的参数, 可以被frontend ,backend, listen段集成使用 |
frontend | 用来匹配接收客户所请求的域名,uri等,并针对不同的匹配,做不同的请求处理; |
backend | 定义后端服务器集群,以及对后端服务器集群的一些权重、队列、连接数等选项的设置t 。类似于nginx中的upstream模块; |
listen | 可以理解为frontend和backend的组合体 |
- Haproxy配文件的配置方法主要有两种,
- 一种是由前端(frontend )和后端( backend)配块组成,前端和后端都可以有多个。
- 另一种是只有一个 listen配块 来同时实现前端和后端。最常用也是推荐的方法为第一种,即frontend和backend的模式
4.实验环境
名称 | IP | 服务器 |
---|---|---|
server1 | 172.25.254.10 | haproxy,httpd,代理服务器 |
server2 | 172.25.254.20 | httpd,php,后端服务器 |
server3 | 172.25.254.30 | httpd,php,后端服务器 |
物理机 | 172.25.254.2 | 测试端 |
5.利用haproxy实现负载均衡
步骤一:server1中安装haproxy
redhat中集成了,也可以自行下载更高版本
步骤二:修改 haproxy.cfg 文件,并开启服务
注释掉fronted和backend的模块( 本次使用listen配置块)
步骤三:安装apache并配置发布页面(server2同server3)
步骤四:真机浏览器测试访问监控页面
步骤五:测试
测试一:查看是否正常轮询
可观察到 server2 和 server3 进行轮询
可观察到 server1 和 server2 正常运行测试二:关闭server2,查看轮询状态
显示只能访问到server3
此时监控页面,显示 server2 已经dowm
6.采集haproxy的日志
haproxy没有默认的采集日志,所有信息都在/var/log/messages中,如果想要专门采集haproxy的日志,需要生成日志文件
步骤一:编辑日志服务的配置文件
打开UDP接口,创建haproxy的日志文件
步骤二:重启日志服务,查看日志
单独生成haproxy的日志以便以后的检查!!!