Haproxy + keepalived 负载均衡日志定制

定制输出日志的好处

用户所有请求都通过负载均衡器,因此在此处收集日志,比在各后端真实服务器收集日志再汇总要有效得多。

工作目标

? 记录用户访问日志:haproxy产生。
? 记录keepalived日志:keepalived启动、运行状态,用于排错。

总体规划

  • ? 使用独立的分区存储日志。因keepalived日志内容较少,可与haproxy日志共用存储空间。比如我的项目里,用/data/logs作为日志的存储路径(/data最好用独立的分区或者磁盘),haproxy日志名称haproxy.log,keepalived日志名称keepalived.log。若果对日志保留又要求,需要归档及轮转。
  • ? 系统日志与haproxy日志分离,不重复记录--配置不佳的方案,会导致系统日志与haproxy日志重复记录,占用大量的磁盘空间,一旦与系统相关的分区被填满,整个负载均衡将失效。

定制日志所涉及的组件

? 系统日志服务rsyslog。
? 负载均衡haproxy。
? 高可用keepalived。

技术实现

从负载均衡器里选择备机先做配置,这样做的好处是不会对现有业务造成影响。接着创建好存储目录/data/logs,确保此目录能创建及写入文件。

  • ? 系统日志配置:针对/etc/rsyslog.conf文件进行修改,一个完整的内容如下(去掉了注释行及空行):

    $ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
    $ModLoad imjournal # provides access to the systemd journal
    $ModLoad imklog # reads kernel messages (the same are read from journald)
    $ModLoad immark  # provides --MARK-- message capability
    $ModLoad imudp
    $UDPServerRun 514
    $WorkDirectory /var/lib/rsyslog
    $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
    $IncludeConfig /etc/rsyslog.d/*.conf
    $OmitLocalLogging on
    $IMJournalStateFile imjournal.state
    mail.none;authpriv.none;cron.none                /var/log/messages
    authpriv.*                                              /var/log/secure
    mail.*                                                  -/var/log/maillog
    cron.*                                                  /var/log/cron
    *.emerg                                                 :omusrmsg:*
    uucp,news.crit                                          /var/log/spooler
    local7.*                                                /var/log/boot.log
    local3.* /data/logs/haproxy.log
    local4.* /data/logs/keepalived.log

重要说明
mail.none;authpriv.none;cron.none /var/log/messages 这一行删掉了字段“*.info;”,如果不删除,会在/var/log/messages文件及/data/logs/haproxy.log重复记录访问日志。

最后两行为手动添加进去的,特别是最后一行“local4.* /data/logs/keepalived.log”,是与keepalived日志要求相匹配,否则不能起作用。

  • ? 配置keepalived:无需修改配置文件keepalived.conf,只需要在启动服务时,加入选项“-S 4”就行。那么,我是怎样知道加这个选项的呢?执行指令keepalived --help,可看到输出项“-S, --log-facility=[0-7] Set syslog facility to LOG_LOCAL[0-7]”,前边配置rsyslog时,定义了”local4.”,因此启动keepalived服务添加的选项为“-S 4”。Keepalived启动命令如下.
    /usr/local/keepalived/sbin/keepalived -D -d -S 4
    为了简便及通用性(适用于各种
    nix),我把它直接写到文件/etc/rc.local。
  • ? 配置haproxy,设定日志输出。在主配置文件全局设定代码块加入一行“log 127.0.0.1 local3”。
  • ? 启动相关服务:
    ? 启动rsyslog:service rsyslog restart;
    ? 启动haproxy:又有keepalived处于运行状态,只要用指令 killall -9 haproxy杀掉进程,haproxy就会自动被keepalived重启。
    ? 启动keepalived:/usr/local/keepalived/sbin/keepalived -D -d -S 4

验证配置

切换到日志存储目录/data/logs/,查看是否有两个日志文件生成。

手动绑定负载均衡器的物理ip地址,然后用浏览器访问该负载均衡器设定的某个主机名,看日志文件/data/logs/haproxy.log是否产生新的记录行。如果真如所预期,则进行下一步操作。

重启或临时关闭主负载均衡器系统,使所有请求漂移到设定好keepalived及haproxy日志的系统上来,用指令 tail –f /data/logs/haproxy.log 查看日志生成情况,如果滚屏犹如电机飞转,目不暇接,则大功告成。

最后,再以同样的方式给主负载均衡设定好日志。

原文地址:https://blog.51cto.com/sery/2465991

时间: 2024-10-28 09:17:32

Haproxy + keepalived 负载均衡日志定制的相关文章

HAproxy+Keepalived负载均衡-高可用web站

haproxy+keepalived负载均衡高可用web站   OS IP 子网掩码 路由网关 Centos6.6 HAproxy Keepalived Eth0:192.168.26.210 255.255.252.0 192.168.25.3 VIP:192.168.27.210 Centos6.6 HAporxy Keepalived Eth0:192.168.26.211 255.255.252.0 192.168.25.3 VIP:192.168.27.210 Centos6.6(WE

HAproxy的负载均衡+日志独立+动静分离+读写分离的配置

主机环境   redhat6.5 64位 实验环境   服务端1 ip 172.25.29.2            服务端2 ip 172.25.29.3             管理端1 ip 172.25.29.1  防火墙状态:关闭 1.Haproxy的负载均衡及测试 A)负载均衡的配置 [[email protected] ~]# yum install haproxy -y            #安装haproxy [[email protected] ~]# vim /etc/h

实现基于Haproxy+Keepalived负载均衡高可用架构

一:环境准备 centos系统服务器4台,两台用于做haproxy主从架构, 两台作为后端server,服务器配置好yum源,防火墙关闭, 关闭selinux,各节点时钟服务同步,各节点之间可以通过主机名互相通信. 二:安装步骤 1.iptables –F &&setenforing 清空防火墙策略,关闭selinux. 2.拿两台服务器都使用yum方式安haproxy,keepalived 服务 3.后端服务器配置好基于LNMP架构的web服务 当准备工作做好之后,就可以修改配置文件啦,

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

基于LVS实现Keepalived的高可用见:http://amelie.blog.51cto.com/12850951/1979636 负载均衡为将用户并发请求转发到后台若干服务器,以分流方式均衡负载.均衡负载借用的软件,我们这里是Haproxy.而负责转发的服务器,我们称之为负载均衡服务器,也称反向代理服务器.这种情况下,如果负载均衡服务器挂掉,后台服务器再多也会导致服务无法访问.为提高负载均衡服务器的可用性,我们可以架设从服务器随时接管主负载均衡服务器的工作,而这种方式的实现,就要借助于相

Keepalived高可用服务器以及haproxy的负载均衡

Keepalived高可用服务器以及haproxy的负载均衡 Keepalive运行原理 Keepalived检测每个服务节点状态 当服务器节点异常或工作出现故障,keepalived将故障节点从集群从集群系统中踢除 故障节点恢复后,自动将其加入 使用keepalived软件配置HA集群 使用keepalived软件配置HA集群 1.提供服务的主机需要装keepalived和web服务 yum -y install httpd keepalived 2.修改提供服务的主机的keepalived的

Haproxy实现负载均衡和静动分离

在做过了haprxy负载均衡和动静分离后,haproxy在这两方面的确比nginx更专业一些,session保持,cookie引导,url监测后端,mysql负载均衡等都是nginx所不具备的:但这并不能就说haprox就能取代nginx,nginx的缓存就是proxy所不具备的. 下面就来用haproxy做些基础的配置吧. haproxy:192.168.3.124 node1:192.168.3.128 node2:192.168.3.129 一.基础配置: 1.安装proxy yum in

Haproxy 构建负载均衡集群

HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上. 官网:http://www.haproxy.com 2.HAProxy的特点是:1.HAProxy支持虚拟

基于Haproxy构建负载均衡集群

1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上. 官网:http://www.haproxy.com 2.HAProxy的特点是:1

lvs及lvs+keepalived负载均衡

################ lvs负载均衡 ####################实验环境:Redhat6.5ip:172.25.8.1,hostname:server1.example.com,lvs httpdip:172.25.8.3,hostname:server3.example.com,httpdip:172.25.8.4,hostname:server4.example.coms,httpd关闭所有主机防火墙iptables server1安装lvs作为调度器,后面的ser