无法理解,它是如何记录的?现在我的日志是空的,haproxy 没有将任何内容写入文件。有时它会记录一些信息,日志记录与 syslog-ng 一起工作,如果我在 haproxy conf 超时客户端中设置大约 1 秒,则日志记录有时会起作用。日志记录会影响记录日志吗?抱歉。忘记配置了。我正在尝试平衡 sybase jdbc 的负载。
- 默认值
- 模式 tcp
- 超时连接5秒
- 客户端超时 50000
- 超时服务器 50000
- 选项 dontlognull
- 选项重新分派
- 重试 3
- 最大连接数 4096
- 前端 Sybase
- 绑定 *:2638
- 模式 tcp
- 选项 tcplog
- 记录全局
- 日志格式 [%t]\ 从\ %ci:%cp\ 到\ %fi:%fp\ %si:%sp\ %s\ %ts\ 请求大小=%U\ 响应大小=%B
- default_backend Sybase
- 后端 Sybase
- 模式 tcp
- 记录全局
- 选项 tcplog
- 平衡最小连接数
- 服务器 base_1 sybase:2638 检查
- 服务器 base_2 sybase:2638 检查
答案1
为了使这些消息最终出现在 - 例如 - /var/log/haproxy.log 中,您需要做两件事:
- 配置你的系统日志以接受网络日志 - 至少在本地主机上
- 配置 haproxy 将事件发送到 local2/local3 上的 127.0.0.1 或任何此类设施
因此,您的 haproxy.cfgs 全局部分将如下所示:
global
log 127.0.0.1 local2 notice
log 127.0.0.1 local3
你的 syslog.conf 看起来应该是这样的:
local2.* /var/log/haproxy
local3.* /var/log/haproxy-access_log
如果你使用带有 rsyslog 的现代发行版,那么只需创建一个名为
/etc/rsyslog.d/haproxy.conf
内容如下:
$ModLoad imudp
$UDPServerAddress 127.0.0.1
$UDPServerRun 514
local2.* /var/log/haproxy
local3.* /var/log/haproxy-access_log
然后重新启动 rsyslogd 和 haproxy。