haproxy开启日志功能

haproxy在默认情况不会记录日志,除了在haproxy.conf中的global段指定日志的输出外,还需要配置系统日志的配置文件。下面以centos6.4为例,haproxy使用系统自带的rpm报1.4版本

1、vim /etc/haproxy/haproxy.conf

global
 log 127.0.0.1 local3     #local3是设备,对应于 /etc/rsyslog.conf中的配置,默认回收info的日志级别
 maxconn 1024
 user haproxy
 group haproxy
 daemon
 pidfile /var/run/haproxy.pid
defaults mode http log global option httplog option dontlognull option http
-server-close option forwardfor except 127.0.0.0/8 retries 2 option redispatch maxconn 1024

2、编辑系统日志配置

vim /etc/rsyslog.conf
默认有下面的设置,会读取 /etc/rsyslog.d/*.conf目录下的配置文件
$IncludeConfig /etc/rsyslog.d/*.conf
为haproxy创建一个独立的配置文件

# vim  /etc/rsyslog.d/haproxy.conf
$ModLoad imudp
$UDPServerRun 514
local3.*     /var/log/haproxy.log     #如果不加下面的的配置则除了在/var/log/haproxy.log中写入日志外,也会写入message文件

3、配置rsyslog的主配置文件,开启远程日志

# vim /etc/sysconfig/rsyslog
SYSLOGD_OPTIONS=”-c 2 -r -m 0
#
-c 2 使用兼容模式,默认是 -c 5 #-r 开启远程日志 #-m 0 标记时间戳。单位是分钟,为0时,表示禁用该功能

配置完成后重启haproxy和rsyslog服务

# /etc/init.d/rsyslog restart
# /etc/init.d/haproxy restart

4、在红帽5上配置系统日志与红帽6不同,红帽5的/etc/rsyslog.conf 不包含/etc/rsyslog.d/*.conf,配置如下 

#加入haproxy.none表示不把haproxy日志写入message
$ModLoad imudp
$UDPServerRun 514
*.info;mail.none;authpriv.none;cron.none;local3.none               /var/log/messages
local3.*        /var/log/haproxy.log

 

 

转载于:https://www.cnblogs.com/reachos/p/8616578.html

### HAProxy 配置与使用指南 HAProxy 是一款高性能的负载均衡器,广泛应用于企业级应用中的负载均衡和高可用性配置。以下是关于其安装、基本配置以及高级使用的详细介绍。 #### 1. 安装 HAProxy 在 CentOS 上安装 HAProxy 可以通过以下命令完成: ```bash sudo yum install -y epel-release sudo yum install -y haproxy ``` 此步骤会自动下载并安装最新稳定版的 HAProxy[^1]。 对于 Kubernetes 环境下的用户,可以利用官方维护的 Helm 图表来快速部署 HAProxy 实例。Helm Chart 提供了灵活的配置选项,能够满足不同环境的需求[^3]。 --- #### 2. 基础配置文件说明 默认情况下,HAProxy 的配置文件位于 `/etc/haproxy/haproxy.cfg`。以下是一个简单的基础配置示例: ```plaintext global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners stats timeout 30s user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull retries 3 timeout connect 5000ms timeout client 50000ms timeout server 50000ms frontend http-in bind *:80 default_backend servers backend servers balance roundrobin server web1 192.168.1.101:80 check server web2 192.168.1.102:80 check ``` 上述配置定义了一个 HTTP 前端监听器 `http-in` 和一个后端服务器池 `servers`,采用轮询算法分配流量。 --- #### 3. 动静分离配置 为了提高网站性能,通常需要将动态请求和静态资源分开处理。可以通过如下方式实现动静分离: ```plaintext frontend main bind *:80 acl is_static path_beg -i /static /images /css /js use_backend static if is_static default_backend dynamic backend static balance roundrobin server s1 192.168.1.103:80 check backend dynamic balance leastconn server d1 192.168.1.104:80 check ``` 在此配置中,路径以 `/static`, `/images`, `/css`, 或 `/js` 开头的请求会被转发至专门负责静态资源的服务节点;其他请求则被发送到动态服务节点[^4]。 --- #### 4. SSL/TLS 支持 如果需要启用 HTTPS 协议支持,则需创建 PEM 文件并将证书绑定到前端监听器上。例如: ```bash cat /etc/haproxy/certs/hao.org.key /etc/haproxy/certs/hao.org.crt > /etc/haproxy/certs/hao.pem ``` 随后更新配置文件以加载该证书: ```plaintext frontend https-in bind *:443 ssl crt /etc/haproxy/certs/hao.pem default_backend servers ``` 这一步骤实现了对客户端连接的安全加密保护。 --- #### 5. 性能监控与日志记录 为了更好地管理和调试系统运行状态,建议开启统计页面功能,并设置访问权限控制: ```plaintext listen stats :1936 mode http stats enable stats uri / stats auth admin:password ``` 此外,还可以集成 Prometheus 和 Grafana 进行更深入的性能分析。此时可借助 **HAProxy Exporter** 工具采集指标数据[^5]。 --- ### 注意事项 - 根据实际业务需求调整超时时间 (`timeout`) 参数。 - 对于大规模集群场景,请考虑引入健康检查机制以提升稳定性。 - 如果涉及敏感信息传输,请务必启用 TLS 加密措施。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值